ru: Translation updates
authorAlexander Lakhin <exclusion@gmail.com>
Sat, 7 Sep 2024 11:16:04 +0000 (14:16 +0300)
committerAlexander Lakhin <exclusion@gmail.com>
Sat, 7 Sep 2024 11:16:04 +0000 (14:16 +0300)
26 files changed:
ru/ecpg.po
ru/ecpglib.po
ru/initdb.po
ru/libpq.po
ru/pg_amcheck.po
ru/pg_archivecleanup.po
ru/pg_basebackup.po
ru/pg_checksums.po
ru/pg_config.po
ru/pg_controldata.po
ru/pg_ctl.po
ru/pg_dump.po
ru/pg_resetwal.po
ru/pg_rewind.po
ru/pg_test_fsync.po
ru/pg_test_timing.po
ru/pg_upgrade.po
ru/pg_verifybackup.po
ru/pg_waldump.po
ru/pgscripts.po
ru/plperl.po
ru/plpgsql.po
ru/plpython.po
ru/pltcl.po
ru/postgres.po
ru/psql.po

index b72b5cd79eadc79758224e218cdfbc9db8c0e105..68a11246a7743e6c8b25ca6dc9d10cd3c4ec660d 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for ecpg
 # Copyright (C) 2012-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: ecpg (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2022-09-05 13:32+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 07:22+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -203,8 +203,8 @@ msgstr "%s: отладочные сообщения при разборе (-d) 
 
 #: ecpg.c:230 ecpg.c:345 ecpg.c:356
 #, c-format
-msgid "%s: could not open file \"%s\": %s\n"
-msgstr "%s: не удалось открыть файл \"%s\": %s\n"
+msgid "%s: could not open file \"%s\": %m\n"
+msgstr "%s: не удалось открыть файл \"%s\": %m\n"
 
 #: ecpg.c:274
 #, c-format
@@ -236,131 +236,131 @@ msgstr "курсор \"%s\" был объявлен, но не открыт"
 msgid "could not remove output file \"%s\"\n"
 msgstr "ошибка при удалении выходного файла \"%s\"\n"
 
-#: pgc.l:527
+#: pgc.l:528
 #, c-format
 msgid "unterminated /* comment"
 msgstr "незавершённый комментарий /*"
 
-#: pgc.l:544
+#: pgc.l:545
 #, c-format
 msgid "unterminated bit string literal"
 msgstr "оборванная битовая строка"
 
-#: pgc.l:552
+#: pgc.l:553
 #, c-format
 msgid "unterminated hexadecimal string literal"
 msgstr "оборванная шестнадцатеричная строка"
 
-#: pgc.l:627
+#: pgc.l:628
 #, c-format
 msgid "invalid bit string literal"
 msgstr "неверная битовая строка"
 
-#: pgc.l:632
+#: pgc.l:633
 #, c-format
 msgid "invalid hexadecimal string literal"
 msgstr "неверная шестнадцатеричная строка"
 
-#: pgc.l:650
+#: pgc.l:651
 #, c-format
 msgid "unhandled previous state in xqs\n"
 msgstr ""
 "необрабатываемое предыдущее состояние при обнаружении закрывающего "
 "апострофа\n"
 
-#: pgc.l:676 pgc.l:785
+#: pgc.l:677 pgc.l:786
 #, c-format
 msgid "unterminated quoted string"
 msgstr "незавершённая строка в кавычках"
 
-#: pgc.l:727
+#: pgc.l:728
 #, c-format
 msgid "unterminated dollar-quoted string"
 msgstr "незавершённая строка с $"
 
-#: pgc.l:745 pgc.l:765
+#: pgc.l:746 pgc.l:766
 #, c-format
 msgid "zero-length delimited identifier"
 msgstr "пустой идентификатор в кавычках"
 
-#: pgc.l:776
+#: pgc.l:777
 #, c-format
 msgid "unterminated quoted identifier"
 msgstr "незавершённый идентификатор в кавычках"
 
-#: pgc.l:945
+#: pgc.l:946
 #, c-format
 msgid "trailing junk after parameter"
 msgstr "мусорное содержимое после параметра"
 
-#: pgc.l:997 pgc.l:1000 pgc.l:1003 pgc.l:1006 pgc.l:1009 pgc.l:1012
+#: pgc.l:998 pgc.l:1001 pgc.l:1004 pgc.l:1007 pgc.l:1010 pgc.l:1013
 #, c-format
 msgid "trailing junk after numeric literal"
 msgstr "мусорное содержимое после числовой константы"
 
-#: pgc.l:1135
+#: pgc.l:1136
 #, c-format
 msgid "nested /* ... */ comments"
 msgstr "вложенные комментарии /* ... */"
 
-#: pgc.l:1234
+#: pgc.l:1235
 #, c-format
 msgid "missing identifier in EXEC SQL UNDEF command"
 msgstr "в команде EXEC SQL UNDEF отсутствует идентификатор"
 
-#: pgc.l:1252 pgc.l:1265 pgc.l:1281 pgc.l:1294
+#: pgc.l:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295
 #, c-format
 msgid "too many nested EXEC SQL IFDEF conditions"
 msgstr "слишком много вложенных условий EXEC SQL IFDEF"
 
-#: pgc.l:1310 pgc.l:1321 pgc.l:1336 pgc.l:1358
+#: pgc.l:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359
 #, c-format
 msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""
 msgstr "нет соответствующего \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""
 
-#: pgc.l:1312 pgc.l:1323 pgc.l:1516
+#: pgc.l:1313 pgc.l:1324 pgc.l:1517
 #, c-format
 msgid "missing \"EXEC SQL ENDIF;\""
 msgstr "отсутствует \"EXEC SQL ENDIF;\""
 
-#: pgc.l:1338 pgc.l:1360
+#: pgc.l:1339 pgc.l:1361
 #, c-format
 msgid "more than one EXEC SQL ELSE"
 msgstr "неоднократная команда EXEC SQL ELSE"
 
-#: pgc.l:1383 pgc.l:1397
+#: pgc.l:1384 pgc.l:1398
 #, c-format
 msgid "unmatched EXEC SQL ENDIF"
 msgstr "непарная команда EXEC SQL ENDIF"
 
-#: pgc.l:1458
+#: pgc.l:1459
 #, c-format
 msgid "missing identifier in EXEC SQL IFDEF command"
 msgstr "в команде EXEC SQL IFDEF отсутствует идентификатор"
 
-#: pgc.l:1467
+#: pgc.l:1468
 #, c-format
 msgid "missing identifier in EXEC SQL DEFINE command"
 msgstr "в команде EXEC SQL DEFINE отсутствует идентификатор"
 
-#: pgc.l:1505
+#: pgc.l:1506
 #, c-format
 msgid "syntax error in EXEC SQL INCLUDE command"
 msgstr "ошибка синтаксиса в команде EXEC SQL INCLUDE"
 
-#: pgc.l:1560
+#: pgc.l:1561
 #, c-format
 msgid "internal error: unreachable state; please report this to <%s>"
 msgstr "внутренняя ошибка: недостижимое состояние; пожалуйста, сообщите в <%s>"
 
-#: pgc.l:1712
+#: pgc.l:1713
 #, c-format
 msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n"
 msgstr ""
 "Ошибка: путь включаемых файлов \"%s/%s\" в строке %d слишком длинный, "
 "пропускается\n"
 
-#: pgc.l:1735
+#: pgc.l:1736
 #, c-format
 msgid "could not open include file \"%s\" on line %d"
 msgstr "не удалось открыть включаемый файл \"%s\" (строка %d)"
@@ -394,12 +394,12 @@ msgstr "определение типа не может включать ини
 msgid "type name \"string\" is reserved in Informix mode"
 msgstr "имя типа \"string\" в режиме Informix зарезервировано"
 
-#: preproc.y:552 preproc.y:18385
+#: preproc.y:552 preproc.y:19026
 #, c-format
 msgid "type \"%s\" is already defined"
 msgstr "тип \"%s\" уже определён"
 
-#: preproc.y:577 preproc.y:19020 preproc.y:19342 variable.c:625
+#: preproc.y:577 preproc.y:19661 preproc.y:19983 variable.c:625
 #, c-format
 msgid "multidimensional arrays for simple data types are not supported"
 msgstr "многомерные массивы с простыми типами данных не поддерживаются"
@@ -409,90 +409,90 @@ msgstr "многомерные массивы с простыми типами 
 msgid "connection %s is overwritten with %s by DECLARE statement %s"
 msgstr "подключение %s заменяется на %s оператором DECLARE %s"
 
-#: preproc.y:1792
+#: preproc.y:1831
 #, c-format
 msgid "AT option not allowed in CLOSE DATABASE statement"
 msgstr "оператор CLOSE DATABASE с параметром AT не поддерживается"
 
-#: preproc.y:2042
+#: preproc.y:2081
 #, c-format
 msgid "AT option not allowed in CONNECT statement"
 msgstr "оператор CONNECT с параметром AT не поддерживается"
 
-#: preproc.y:2082
+#: preproc.y:2121
 #, c-format
 msgid "AT option not allowed in DISCONNECT statement"
 msgstr "оператор DISCONNECT с параметром AT не поддерживается"
 
-#: preproc.y:2137
+#: preproc.y:2176
 #, c-format
 msgid "AT option not allowed in SET CONNECTION statement"
 msgstr "оператор SET CONNECTION с параметром AT не поддерживается"
 
-#: preproc.y:2159
+#: preproc.y:2198
 #, c-format
 msgid "AT option not allowed in TYPE statement"
 msgstr "оператор TYPE с параметром AT не поддерживается"
 
-#: preproc.y:2168
+#: preproc.y:2207
 #, c-format
 msgid "AT option not allowed in VAR statement"
 msgstr "оператор VAR с параметром AT не поддерживается"
 
-#: preproc.y:2175
+#: preproc.y:2214
 #, c-format
 msgid "AT option not allowed in WHENEVER statement"
 msgstr "оператор WHENEVER с параметром AT не поддерживается"
 
-#: preproc.y:2300 preproc.y:2587 preproc.y:4246 preproc.y:4910 preproc.y:5780
-#: preproc.y:6080 preproc.y:12199
+#: preproc.y:2339 preproc.y:2626 preproc.y:4349 preproc.y:5013 preproc.y:5883
+#: preproc.y:6087 preproc.y:6188 preproc.y:12452
 #, c-format
 msgid "unsupported feature will be passed to server"
 msgstr "неподдерживаемая функция будет передана серверу"
 
-#: preproc.y:2845
+#: preproc.y:2884
 #, c-format
 msgid "SHOW ALL is not implemented"
 msgstr "SHOW ALL не реализовано"
 
-#: preproc.y:3529
+#: preproc.y:3596
 #, c-format
 msgid "COPY FROM STDIN is not implemented"
 msgstr "операция COPY FROM STDIN не реализована"
 
-#: preproc.y:10296 preproc.y:17882
+#: preproc.y:10436 preproc.y:18495
 #, c-format
 msgid "\"database\" cannot be used as cursor name in INFORMIX mode"
 msgstr ""
 "в режиме INFORMIX нельзя использовать \"database\" в качестве имени курсора"
 
-#: preproc.y:10303 preproc.y:17892
+#: preproc.y:10443 preproc.y:18505
 #, c-format
 msgid "using variable \"%s\" in different declare statements is not supported"
 msgstr ""
 "использование переменной \"%s\" в разных операторах DECLARE не поддерживается"
 
-#: preproc.y:10305 preproc.y:17894
+#: preproc.y:10445 preproc.y:18507
 #, c-format
 msgid "cursor \"%s\" is already defined"
 msgstr "курсор \"%s\" уже определён"
 
-#: preproc.y:10779
+#: preproc.y:10919
 #, c-format
 msgid "no longer supported LIMIT #,# syntax passed to server"
 msgstr "не поддерживаемое более предложение LIMIT #,# передано на сервер"
 
-#: preproc.y:17574 preproc.y:17581
+#: preproc.y:18187 preproc.y:18194
 #, c-format
 msgid "CREATE TABLE AS cannot specify INTO"
 msgstr "в CREATE TABLE AS нельзя указать INTO"
 
-#: preproc.y:17617
+#: preproc.y:18230
 #, c-format
 msgid "expected \"@\", found \"%s\""
 msgstr "ожидался знак \"@\", но на этом месте \"%s\""
 
-#: preproc.y:17629
+#: preproc.y:18242
 #, c-format
 msgid ""
 "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are "
@@ -501,89 +501,89 @@ msgstr ""
 "поддерживаются только протоколы \"tcp\" и \"unix\", а тип базы данных - "
 "\"postgresql\""
 
-#: preproc.y:17632
+#: preproc.y:18245
 #, c-format
 msgid "expected \"://\", found \"%s\""
 msgstr "ожидалось \"://\", но на этом месте \"%s\""
 
-#: preproc.y:17637
+#: preproc.y:18250
 #, c-format
 msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\""
 msgstr "Unix-сокеты работают только с \"localhost\", но не с адресом \"%s\""
 
-#: preproc.y:17663
+#: preproc.y:18276
 #, c-format
 msgid "expected \"postgresql\", found \"%s\""
 msgstr "ожидался тип \"postgresql\", но на этом месте \"%s\""
 
-#: preproc.y:17666
+#: preproc.y:18279
 #, c-format
 msgid "invalid connection type: %s"
 msgstr "неверный тип подключения: %s"
 
-#: preproc.y:17675
+#: preproc.y:18288
 #, c-format
 msgid "expected \"@\" or \"://\", found \"%s\""
 msgstr "ожидалось \"@\" или \"://\", но на этом месте \"%s\""
 
-#: preproc.y:17750 preproc.y:17768
+#: preproc.y:18363 preproc.y:18381
 #, c-format
 msgid "invalid data type"
 msgstr "неверный тип данных"
 
-#: preproc.y:17779 preproc.y:17796
+#: preproc.y:18392 preproc.y:18409
 #, c-format
 msgid "incomplete statement"
 msgstr "неполный оператор"
 
-#: preproc.y:17782 preproc.y:17799
+#: preproc.y:18395 preproc.y:18412
 #, c-format
 msgid "unrecognized token \"%s\""
 msgstr "нераспознанное ключевое слово \"%s\""
 
-#: preproc.y:17844
+#: preproc.y:18457
 #, c-format
 msgid "name \"%s\" is already declared"
 msgstr "имя \"%s\" уже объявлено"
 
-#: preproc.y:18133
+#: preproc.y:18746
 #, c-format
 msgid "only data types numeric and decimal have precision/scale argument"
 msgstr ""
 "точность/масштаб можно указать только для типов данных numeric и decimal"
 
-#: preproc.y:18204
+#: preproc.y:18845
 #, c-format
 msgid "interval specification not allowed here"
 msgstr "определение интервала здесь не допускается"
 
-#: preproc.y:18360 preproc.y:18412
+#: preproc.y:19001 preproc.y:19053
 #, c-format
 msgid "too many levels in nested structure/union definition"
 msgstr "слишком много уровней в определении вложенной структуры/объединения"
 
-#: preproc.y:18535
+#: preproc.y:19176
 #, c-format
 msgid "pointers to varchar are not implemented"
 msgstr "указатели на varchar не реализованы"
 
-#: preproc.y:18986
+#: preproc.y:19627
 #, c-format
 msgid "initializer not allowed in EXEC SQL VAR command"
 msgstr "команда EXEC SQL VAR не может включать инициализатор"
 
-#: preproc.y:19300
+#: preproc.y:19941
 #, c-format
 msgid "arrays of indicators are not allowed on input"
 msgstr "массивы индикаторов на входе недопустимы"
 
-#: preproc.y:19487
+#: preproc.y:20128
 #, c-format
 msgid "operator not allowed in variable definition"
 msgstr "недопустимый оператор в определении переменной"
 
 #. translator: %s is typically the translation of "syntax error"
-#: preproc.y:19528
+#: preproc.y:20169
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s (примерное положение: \"%s\")"
index 16560ed8d3b6cba031a00e3e1565f56d699f7a12..91b23dbc9fc073eb42b442db15b2a64f35bf53d1 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecpglib (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
 "PO-Revision-Date: 2019-09-09 13:30+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@@ -17,15 +17,15 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: connect.c:243
+#: connect.c:221
 msgid "empty message text"
 msgstr "пустое сообщение"
 
-#: connect.c:410 connect.c:675
+#: connect.c:386 connect.c:645
 msgid "<DEFAULT>"
 msgstr "<ПО_УМОЛЧАНИЮ>"
 
-#: descriptor.c:876 misc.c:119
+#: descriptor.c:866 misc.c:88
 msgid "NULL"
 msgstr "NULL"
 
@@ -196,7 +196,7 @@ msgstr "подключение к серверу потеряно"
 msgid "SQL error: %s\n"
 msgstr "ошибка SQL: %s\n"
 
-#: execute.c:2188 execute.c:2195
+#: execute.c:2186 execute.c:2193
 msgid "<empty>"
 msgstr "<>"
 
index f601e6220f033022005b97c6f991b1265007b2df..2fd935e1857be4e2e2e187362c37c25251497649 100644 (file)
@@ -6,13 +6,13 @@
 # Sergey Burladyan <eshkinkot@gmail.com>, 2009.
 # Andrey Sudnik <sudnikand@yandex.ru>, 2010.
 # Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: initdb (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2023-09-11 16:13+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 06:49+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -42,33 +42,48 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
-#: ../../common/exec.c:172
+#: ../../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:215
+#: ../../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:223
+#: ../../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../common/exec.c:250
+#: ../../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../../common/exec.c:412
+#: ../../common/exec.c:382 initdb.c:695
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
-#: initdb.c:349
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
+#: initdb.c:353
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
@@ -84,35 +99,46 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: ../../common/file_utils.c:87 ../../common/file_utils.c:447
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48
-#: ../../common/rmtree.c:63
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69
-#: ../../common/rmtree.c:104
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "не удалось прочитать каталог \"%s\": %m"
 
-#: ../../common/file_utils.c:228 ../../common/file_utils.c:287
-#: ../../common/file_utils.c:361
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
-
-#: ../../common/file_utils.c:299 ../../common/file_utils.c:369
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
 
-#: ../../common/file_utils.c:379
+#: ../../common/file_utils.c:498
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
@@ -152,12 +178,12 @@ msgstr "не удалось перезапуститься с ограничен
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
 
-#: ../../common/rmtree.c:95
+#: ../../common/rmtree.c:97
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
-#: ../../common/rmtree.c:122
+#: ../../common/rmtree.c:124
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "ошибка при удалении каталога \"%s\": %m"
@@ -204,7 +230,35 @@ msgstr "дочерний процесс завершён по сигналу %d:
 #: ../../common/wait_error.c:82
 #, c-format
 msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d"
+
+#: ../../fe_utils/option_utils.c:69
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "неверное значение \"%s\" для параметра %s"
+
+#: ../../fe_utils/option_utils.c:76
+#, c-format
+msgid "%s must be in range %d..%d"
+msgstr "значение %s должно быть в диапазоне %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
 
 #: ../../port/dirmod.c:287
 #, c-format
@@ -216,87 +270,82 @@ msgstr "не удалось создать связь для каталога \"
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "не удалось получить связь для каталога \"%s\": %s\n"
 
-#: initdb.c:623 initdb.c:1610
+#: initdb.c:627 initdb.c:1619
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: initdb.c:667 initdb.c:971 initdb.c:991
+#: initdb.c:671 initdb.c:975 initdb.c:995
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "не удалось открыть файл \"%s\" для записи: %m"
 
-#: initdb.c:671 initdb.c:974 initdb.c:993
+#: initdb.c:675 initdb.c:978 initdb.c:997
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: initdb.c:675
+#: initdb.c:679
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
 
-#: initdb.c:691
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "не удалось выполнить команду \"%s\": %m"
-
-#: initdb.c:709
+#: initdb.c:713
 #, c-format
 msgid "removing data directory \"%s\""
 msgstr "удаление каталога данных \"%s\""
 
-#: initdb.c:711
+#: initdb.c:715
 #, c-format
 msgid "failed to remove data directory"
 msgstr "ошибка при удалении каталога данных"
 
-#: initdb.c:715
+#: initdb.c:719
 #, c-format
 msgid "removing contents of data directory \"%s\""
 msgstr "удаление содержимого каталога данных \"%s\""
 
-#: initdb.c:718
+#: initdb.c:722
 #, c-format
 msgid "failed to remove contents of data directory"
 msgstr "ошибка при удалении содержимого каталога данных"
 
-#: initdb.c:723
+#: initdb.c:727
 #, c-format
 msgid "removing WAL directory \"%s\""
 msgstr "удаление каталога WAL \"%s\""
 
-#: initdb.c:725
+#: initdb.c:729
 #, c-format
 msgid "failed to remove WAL directory"
 msgstr "ошибка при удалении каталога WAL"
 
-#: initdb.c:729
+#: initdb.c:733
 #, c-format
 msgid "removing contents of WAL directory \"%s\""
 msgstr "удаление содержимого каталога WAL \"%s\""
 
-#: initdb.c:731
+#: initdb.c:735
 #, c-format
 msgid "failed to remove contents of WAL directory"
 msgstr "ошибка при удалении содержимого каталога WAL"
 
-#: initdb.c:738
+#: initdb.c:742
 #, c-format
 msgid "data directory \"%s\" not removed at user's request"
 msgstr "каталог данных \"%s\" не был удалён по запросу пользователя"
 
-#: initdb.c:742
+#: initdb.c:746
 #, c-format
 msgid "WAL directory \"%s\" not removed at user's request"
 msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя"
 
-#: initdb.c:760
+#: initdb.c:764
 #, c-format
 msgid "cannot be run as root"
 msgstr "программу не должен запускать root"
 
-#: initdb.c:761
+#: initdb.c:765
 #, c-format
 msgid ""
 "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own "
@@ -305,17 +354,17 @@ msgstr ""
 "Пожалуйста, переключитесь на обычного пользователя (например, используя "
 "\"su\"), которому будет принадлежать серверный процесс."
 
-#: initdb.c:793
+#: initdb.c:797
 #, c-format
 msgid "\"%s\" is not a valid server encoding name"
 msgstr "\"%s\" — некорректное имя серверной кодировки"
 
-#: initdb.c:937
+#: initdb.c:941
 #, c-format
 msgid "file \"%s\" does not exist"
 msgstr "файл \"%s\" не существует"
 
-#: initdb.c:938 initdb.c:943 initdb.c:950
+#: initdb.c:942 initdb.c:947 initdb.c:954
 #, c-format
 msgid ""
 "This might mean you have a corrupted installation or identified the wrong "
@@ -324,129 +373,129 @@ msgstr ""
 "Это означает, что ваша установка PostgreSQL испорчена или в параметре -L "
 "задан неправильный каталог."
 
-#: initdb.c:942
+#: initdb.c:946
 #, c-format
 msgid "could not access file \"%s\": %m"
-msgstr "неÑ\82 Ð´Ð¾Ñ\81Ñ\82Ñ\83па к файлу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к файлу \"%s\": %m"
 
-#: initdb.c:949
+#: initdb.c:953
 #, c-format
 msgid "file \"%s\" is not a regular file"
 msgstr "\"%s\" — не обычный файл"
 
-#: initdb.c:1082
+#: initdb.c:1086
 #, c-format
 msgid "selecting dynamic shared memory implementation ... "
 msgstr "выбирается реализация динамической разделяемой памяти... "
 
-#: initdb.c:1091
+#: initdb.c:1095
 #, c-format
-msgid "selecting default max_connections ... "
-msgstr "выбирается значение max_connections по умолчанию... "
+msgid "selecting default \"max_connections\" ... "
+msgstr "выбирается значение \"max_connections\" по умолчанию... "
 
-#: initdb.c:1111
+#: initdb.c:1115
 #, c-format
-msgid "selecting default shared_buffers ... "
-msgstr "выбирается значение shared_buffers по умолчанию... "
+msgid "selecting default \"shared_buffers\" ... "
+msgstr "выбирается значение \"shared_buffers\" по умолчанию... "
 
-#: initdb.c:1134
+#: initdb.c:1138
 #, c-format
 msgid "selecting default time zone ... "
 msgstr "выбирается часовой пояс по умолчанию... "
 
-#: initdb.c:1211
+#: initdb.c:1217
 msgid "creating configuration files ... "
 msgstr "создание конфигурационных файлов... "
 
-#: initdb.c:1364 initdb.c:1378 initdb.c:1445 initdb.c:1456
+#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462
 #, c-format
 msgid "could not change permissions of \"%s\": %m"
 msgstr "не удалось поменять права для \"%s\": %m"
 
-#: initdb.c:1474
+#: initdb.c:1481
 #, c-format
 msgid "running bootstrap script ... "
 msgstr "выполняется подготовительный скрипт... "
 
-#: initdb.c:1486
+#: initdb.c:1493
 #, c-format
 msgid "input file \"%s\" does not belong to PostgreSQL %s"
 msgstr "входной файл \"%s\" не принадлежит PostgreSQL %s"
 
-#: initdb.c:1488
+#: initdb.c:1495
 #, c-format
 msgid "Specify the correct path using the option -L."
 msgstr "Укажите корректный путь в параметре -L."
 
-#: initdb.c:1588
+#: initdb.c:1597
 msgid "Enter new superuser password: "
 msgstr "Введите новый пароль суперпользователя: "
 
-#: initdb.c:1589
+#: initdb.c:1598
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: initdb.c:1592
+#: initdb.c:1601
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
-#: initdb.c:1616
+#: initdb.c:1625
 #, c-format
 msgid "could not read password from file \"%s\": %m"
 msgstr "не удалось прочитать пароль из файла \"%s\": %m"
 
-#: initdb.c:1619
+#: initdb.c:1628
 #, c-format
 msgid "password file \"%s\" is empty"
 msgstr "файл пароля \"%s\" пуст"
 
-#: initdb.c:2031
+#: initdb.c:2040
 #, c-format
 msgid "caught signal\n"
 msgstr "получен сигнал\n"
 
-#: initdb.c:2037
+#: initdb.c:2046
 #, c-format
 msgid "could not write to child process: %s\n"
 msgstr "не удалось записать в поток дочернего процесса: %s\n"
 
-#: initdb.c:2045
+#: initdb.c:2054
 #, c-format
 msgid "ok\n"
 msgstr "ок\n"
 
-#: initdb.c:2134
+#: initdb.c:2143
 #, c-format
 msgid "setlocale() failed"
 msgstr "ошибка в setlocale()"
 
-#: initdb.c:2152
+#: initdb.c:2161
 #, c-format
 msgid "failed to restore old locale \"%s\""
 msgstr "не удалось восстановить старую локаль \"%s\""
 
-#: initdb.c:2160
+#: initdb.c:2169
 #, c-format
 msgid "invalid locale name \"%s\""
 msgstr "ошибочное имя локали \"%s\""
 
-#: initdb.c:2161
+#: initdb.c:2170
 #, c-format
 msgid "If the locale name is specific to ICU, use --icu-locale."
 msgstr "Если эта локаль свойственна ICU, укажите --icu-locale."
 
-#: initdb.c:2174
+#: initdb.c:2183
 #, c-format
 msgid "invalid locale settings; check LANG and LC_* environment variables"
 msgstr "неверные установки локали; проверьте переменные окружения LANG и LC_*"
 
-#: initdb.c:2200 initdb.c:2224
+#: initdb.c:2209 initdb.c:2233
 #, c-format
 msgid "encoding mismatch"
 msgstr "несоответствие кодировки"
 
-#: initdb.c:2201
+#: initdb.c:2210
 #, c-format
 msgid ""
 "The encoding you selected (%s) and the encoding that the selected locale "
@@ -457,7 +506,7 @@ msgstr ""
 "может привести к неправильной работе различных функций обработки текстовых "
 "строк."
 
-#: initdb.c:2206 initdb.c:2227
+#: initdb.c:2215 initdb.c:2236
 #, c-format
 msgid ""
 "Rerun %s and either do not specify an encoding explicitly, or choose a "
@@ -466,42 +515,47 @@ msgstr ""
 "Для исправления перезапустите %s, не указывая кодировку явно, либо выберите "
 "подходящее сочетание параметров локализации."
 
-#: initdb.c:2225
+#: initdb.c:2234
 #, c-format
 msgid "The encoding you selected (%s) is not supported with the ICU provider."
 msgstr "Выбранная вами кодировка (%s) не поддерживается провайдером ICU."
 
-#: initdb.c:2276
+#: initdb.c:2285
 #, c-format
 msgid "could not convert locale name \"%s\" to language tag: %s"
 msgstr "не удалось получить из названия локали \"%s\" метку языка: %s"
 
-#: initdb.c:2282 initdb.c:2334 initdb.c:2413
+#: initdb.c:2291 initdb.c:2343 initdb.c:2435
 #, c-format
 msgid "ICU is not supported in this build"
 msgstr "ICU не поддерживается в данной сборке"
 
-#: initdb.c:2305
+#: initdb.c:2314
 #, c-format
 msgid "could not get language from locale \"%s\": %s"
 msgstr "не удалось определить язык для локали \"%s\": %s"
 
-#: initdb.c:2331
+#: initdb.c:2340
 #, c-format
 msgid "locale \"%s\" has unknown language \"%s\""
 msgstr "для локали \"%s\" получен неизвестный язык \"%s\""
 
-#: initdb.c:2397
+#: initdb.c:2401
 #, c-format
-msgid "ICU locale must be specified"
-msgstr "необÑ\85одимо Ð·Ð°Ð´Ð°Ñ\82Ñ\8c Ð»Ð¾ÐºÐ°Ð»Ñ\8c ICU"
+msgid "locale must be specified if provider is %s"
+msgstr "еÑ\81ли Ð²Ñ\8bбÑ\80ан Ð¿Ñ\80овайдеÑ\80 %s, Ð½ÐµÐ¾Ð±Ñ\85одимо Ð·Ð°Ð´Ð°Ñ\82Ñ\8c Ð»Ð¾ÐºÐ°Ð»Ñ\8c"
 
-#: initdb.c:2401
+#: initdb.c:2412
+#, c-format
+msgid "invalid locale name \"%s\" for builtin provider"
+msgstr "неверное имя локали \"%s\" для встроенного провайдера"
+
+#: initdb.c:2423
 #, c-format
 msgid "Using language tag \"%s\" for ICU locale \"%s\".\n"
 msgstr "Для локали ICU \"%s\" используется метка языка \"%s\".\n"
 
-#: initdb.c:2424
+#: initdb.c:2446
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -510,17 +564,17 @@ msgstr ""
 "%s инициализирует кластер PostgreSQL.\n"
 "\n"
 
-#: initdb.c:2425
+#: initdb.c:2447
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: initdb.c:2426
+#: initdb.c:2448
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [ПАРАМЕТР]... [КАТАЛОГ]\n"
 
-#: initdb.c:2427
+#: initdb.c:2449
 #, c-format
 msgid ""
 "\n"
@@ -529,7 +583,7 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: initdb.c:2428
+#: initdb.c:2450
 #, c-format
 msgid ""
 "  -A, --auth=METHOD         default authentication method for local "
@@ -538,7 +592,7 @@ msgstr ""
 "  -A, --auth=МЕТОД          метод проверки подлинности по умолчанию\n"
 "                            для локальных подключений\n"
 
-#: initdb.c:2429
+#: initdb.c:2451
 #, c-format
 msgid ""
 "      --auth-host=METHOD    default authentication method for local TCP/IP "
@@ -547,7 +601,7 @@ msgstr ""
 "      --auth-host=МЕТОД     метод проверки подлинности по умолчанию\n"
 "                            для локальных TCP/IP-подключений\n"
 
-#: initdb.c:2430
+#: initdb.c:2452
 #, c-format
 msgid ""
 "      --auth-local=METHOD   default authentication method for local-socket "
@@ -556,17 +610,17 @@ msgstr ""
 "      --auth-local=МЕТОД    метод проверки подлинности по умолчанию\n"
 "                            для локальных подключений через сокет\n"
 
-#: initdb.c:2431
+#: initdb.c:2453
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr " [-D, --pgdata=]КАТАЛОГ     расположение данных этого кластера БД\n"
 
-#: initdb.c:2432
+#: initdb.c:2454
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=КОДИРОВКА  кодировка по умолчанию для новых баз\n"
 
-#: initdb.c:2433
+#: initdb.c:2455
 #, c-format
 msgid ""
 "  -g, --allow-group-access  allow group read/execute on data directory\n"
@@ -575,12 +629,12 @@ msgstr ""
 "для\n"
 "                            группы\n"
 
-#: initdb.c:2434
+#: initdb.c:2456
 #, c-format
 msgid "      --icu-locale=LOCALE   set ICU locale ID for new databases\n"
 msgstr "      --icu-locale=ЛОКАЛЬ   идентификатор локали ICU для новых баз\n"
 
-#: initdb.c:2435
+#: initdb.c:2457
 #, c-format
 msgid ""
 "      --icu-rules=RULES     set additional ICU collation rules for new "
@@ -589,17 +643,17 @@ msgstr ""
 "      --icu-rules=ПРАВИЛА   дополнительные правила сортировки ICU для новых "
 "баз\n"
 
-#: initdb.c:2436
+#: initdb.c:2458
 #, c-format
 msgid "  -k, --data-checksums      use data page checksums\n"
 msgstr "  -k, --data-checksums      включить контроль целостности страниц\n"
 
-#: initdb.c:2437
+#: initdb.c:2459
 #, c-format
 msgid "      --locale=LOCALE       set default locale for new databases\n"
 msgstr "      --locale=ЛОКАЛЬ       локаль по умолчанию для новых баз\n"
 
-#: initdb.c:2438
+#: initdb.c:2460
 #, c-format
 msgid ""
 "      --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
@@ -613,28 +667,37 @@ msgstr ""
 "                            установить соответствующий параметр локали\n"
 "                            для новых баз (вместо значения из окружения)\n"
 
-#: initdb.c:2442
+#: initdb.c:2464
 #, c-format
 msgid "      --no-locale           equivalent to --locale=C\n"
 msgstr "      --no-locale           эквивалентно --locale=C\n"
 
-#: initdb.c:2443
+#: initdb.c:2465
+#, c-format
+msgid ""
+"      --builtin-locale=LOCALE\n"
+"                            set builtin locale name for new databases\n"
+msgstr ""
+"      --builtin-locale=ЛОКАЛЬ\n"
+"                            имя встроенной локали для новых баз\n"
+
+#: initdb.c:2467
 #, c-format
 msgid ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                            set default locale provider for new databases\n"
 msgstr ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                            провайдер основной локали для новых баз\n"
 
-#: initdb.c:2445
+#: initdb.c:2469
 #, c-format
 msgid ""
 "      --pwfile=FILE         read password for the new superuser from file\n"
 msgstr ""
 "      --pwfile=ФАЙЛ         прочитать пароль суперпользователя из файла\n"
 
-#: initdb.c:2446
+#: initdb.c:2470
 #, c-format
 msgid ""
 "  -T, --text-search-config=CFG\n"
@@ -643,29 +706,29 @@ msgstr ""
 "  -T, --text-search-config=КОНФИГУРАЦИЯ\n"
 "                            конфигурация текстового поиска по умолчанию\n"
 
-#: initdb.c:2448
+#: initdb.c:2472
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=ИМЯ        имя суперпользователя БД\n"
 
-#: initdb.c:2449
+#: initdb.c:2473
 #, c-format
 msgid ""
 "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            запросить пароль суперпользователя\n"
 
-#: initdb.c:2450
+#: initdb.c:2474
 #, c-format
 msgid ""
 "  -X, --waldir=WALDIR       location for the write-ahead log directory\n"
 msgstr "  -X, --waldir=КАТАЛОГ      расположение журнала предзаписи\n"
 
-#: initdb.c:2451
+#: initdb.c:2475
 #, c-format
 msgid "      --wal-segsize=SIZE    size of WAL segments, in megabytes\n"
 msgstr "      --wal-segsize=РАЗМЕР  размер сегментов WAL (в мегабайтах)\n"
 
-#: initdb.c:2452
+#: initdb.c:2476
 #, c-format
 msgid ""
 "\n"
@@ -674,7 +737,7 @@ msgstr ""
 "\n"
 "Редко используемые параметры:\n"
 
-#: initdb.c:2453
+#: initdb.c:2477
 #, c-format
 msgid ""
 "  -c, --set NAME=VALUE      override default setting for server parameter\n"
@@ -682,27 +745,27 @@ msgstr ""
 "  -c, --set ИМЯ=ЗНАЧЕНИЕ    переопределить значение серверного параметра по\n"
 "                            умолчанию\n"
 
-#: initdb.c:2454
+#: initdb.c:2478
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               выдавать много отладочных сообщений\n"
 
-#: initdb.c:2455
+#: initdb.c:2479
 #, c-format
 msgid "      --discard-caches      set debug_discard_caches=1\n"
 msgstr "      --discard-caches      установить debug_discard_caches=1\n"
 
-#: initdb.c:2456
+#: initdb.c:2480
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L КАТАЛОГ                расположение входных файлов\n"
 
-#: initdb.c:2457
+#: initdb.c:2481
 #, c-format
 msgid "  -n, --no-clean            do not clean up after errors\n"
 msgstr "  -n, --no-clean            не очищать после ошибок\n"
 
-#: initdb.c:2458
+#: initdb.c:2482
 #, c-format
 msgid ""
 "  -N, --no-sync             do not wait for changes to be written safely to "
@@ -710,18 +773,23 @@ msgid ""
 msgstr ""
 "  -N, --no-sync             не ждать завершения сохранения данных на диске\n"
 
-#: initdb.c:2459
+#: initdb.c:2483
 #, c-format
 msgid "      --no-instructions     do not print instructions for next steps\n"
 msgstr ""
 "      --no-instructions     не выводить инструкции для дальнейших действий\n"
 
-#: initdb.c:2460
+#: initdb.c:2484
+#, c-format
+msgid "  -s, --show                show internal settings, then exit\n"
+msgstr "  -s, --show                показать внутренние установки и выйти\n"
+
+#: initdb.c:2485
 #, c-format
-msgid "  -s, --show                show internal settings\n"
-msgstr "  -s, --show                показать внутренние установки\n"
+msgid "      --sync-method=METHOD  set method for syncing files to disk\n"
+msgstr "      --sync-method=МЕТОД   метод синхронизации файлов с ФС\n"
 
-#: initdb.c:2461
+#: initdb.c:2486
 #, c-format
 msgid ""
 "  -S, --sync-only           only sync database files to disk, then exit\n"
@@ -729,7 +797,7 @@ msgstr ""
 "  -S, --sync-only           только синхронизировать с ФС файлы базы и "
 "завершиться\n"
 
-#: initdb.c:2462
+#: initdb.c:2487
 #, c-format
 msgid ""
 "\n"
@@ -738,17 +806,17 @@ msgstr ""
 "\n"
 "Другие параметры:\n"
 
-#: initdb.c:2463
+#: initdb.c:2488
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             показать версию и выйти\n"
 
-#: initdb.c:2464
+#: initdb.c:2489
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                показать эту справку и выйти\n"
 
-#: initdb.c:2465
+#: initdb.c:2490
 #, c-format
 msgid ""
 "\n"
@@ -758,7 +826,7 @@ msgstr ""
 "\n"
 "Если каталог данных не указан, используется переменная окружения PGDATA.\n"
 
-#: initdb.c:2467
+#: initdb.c:2492
 #, c-format
 msgid ""
 "\n"
@@ -767,18 +835,18 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: initdb.c:2468
+#: initdb.c:2493
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: initdb.c:2496
+#: initdb.c:2517
 #, c-format
 msgid "invalid authentication method \"%s\" for \"%s\" connections"
 msgstr ""
 "нераспознанный метод проверки подлинности \"%s\" для подключений \"%s\""
 
-#: initdb.c:2510
+#: initdb.c:2531
 #, c-format
 msgid ""
 "must specify a password for the superuser to enable password authentication"
@@ -786,12 +854,12 @@ msgstr ""
 "для включения аутентификации по паролю необходимо указать пароль "
 "суперпользователя"
 
-#: initdb.c:2529
+#: initdb.c:2550
 #, c-format
 msgid "no data directory specified"
 msgstr "каталог данных не указан"
 
-#: initdb.c:2530
+#: initdb.c:2551
 #, c-format
 msgid ""
 "You must identify the directory where the data for this database system will "
@@ -801,53 +869,55 @@ msgstr ""
 "Вы должны указать каталог, в котором будут располагаться данные этой СУБД. "
 "Это можно сделать, добавив ключ -D или установив переменную окружения PGDATA."
 
-#: initdb.c:2547
+#: initdb.c:2568
 #, c-format
 msgid "could not set environment"
 msgstr "не удалось задать переменную окружения"
 
-#: initdb.c:2565
+#: initdb.c:2586
 #, c-format
 msgid ""
 "program \"%s\" is needed by %s but was not found in the same directory as "
 "\"%s\""
 msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\""
 
-#: initdb.c:2568
+#: initdb.c:2589
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr ""
 "программа \"%s\" найдена программой \"%s\", но её версия отличается от "
 "версии %s"
 
-#: initdb.c:2583
+#: initdb.c:2604
 #, c-format
 msgid "input file location must be an absolute path"
 msgstr "расположение входных файлов должно задаваться абсолютным путём"
 
-#: initdb.c:2600
+#: initdb.c:2621
 #, c-format
 msgid "The database cluster will be initialized with locale \"%s\".\n"
 msgstr "Кластер баз данных будет инициализирован с локалью \"%s\".\n"
 
-#: initdb.c:2603
+#: initdb.c:2624
 #, c-format
 msgid ""
 "The database cluster will be initialized with this locale configuration:\n"
 msgstr ""
 "Кластер баз данных будет инициализирован со следующими параметрами локали:\n"
 
-#: initdb.c:2604
+#: initdb.c:2625
 #, c-format
-msgid "  provider:    %s\n"
-msgstr "  провайдер:   %s\n"
+msgid "  locale provider:   %s\n"
+msgstr "  провайдер локалей: %s\n"
 
-#: initdb.c:2606
+#: initdb.c:2627
 #, c-format
-msgid "  ICU locale:  %s\n"
-msgstr "  локаль ICU:  %s\n"
+msgid "  default collation: %s\n"
+msgstr ""
+"  правило сортировки\n"
+"       по умолчанию: %s\n"
 
-#: initdb.c:2607
+#: initdb.c:2628
 #, c-format
 msgid ""
 "  LC_COLLATE:  %s\n"
@@ -864,22 +934,22 @@ msgstr ""
 "  LC_NUMERIC:  %s\n"
 "  LC_TIME:     %s\n"
 
-#: initdb.c:2637
+#: initdb.c:2658
 #, c-format
 msgid "could not find suitable encoding for locale \"%s\""
 msgstr "не удалось найти подходящую кодировку для локали \"%s\""
 
-#: initdb.c:2639
+#: initdb.c:2660
 #, c-format
 msgid "Rerun %s with the -E option."
 msgstr "Перезапустите %s с параметром -E."
 
-#: initdb.c:2640 initdb.c:3173 initdb.c:3281 initdb.c:3301
+#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: initdb.c:2652
+#: initdb.c:2673
 #, c-format
 msgid ""
 "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n"
@@ -888,40 +958,45 @@ msgstr ""
 "Кодировка \"%s\", подразумеваемая локалью, не годится для сервера.\n"
 "Вместо неё в качестве кодировки БД по умолчанию будет выбрана \"%s\".\n"
 
-#: initdb.c:2657
+#: initdb.c:2678
 #, c-format
 msgid "locale \"%s\" requires unsupported encoding \"%s\""
 msgstr "для локали \"%s\" требуется неподдерживаемая кодировка \"%s\""
 
-#: initdb.c:2659
+#: initdb.c:2680
 #, c-format
 msgid "Encoding \"%s\" is not allowed as a server-side encoding."
 msgstr "Кодировка \"%s\" недопустима в качестве серверной кодировки."
 
-#: initdb.c:2661
+#: initdb.c:2682
 #, c-format
 msgid "Rerun %s with a different locale selection."
 msgstr "Перезапустите %s, выбрав другую локаль."
 
-#: initdb.c:2669
+#: initdb.c:2690
 #, c-format
 msgid "The default database encoding has accordingly been set to \"%s\".\n"
 msgstr ""
 "Кодировка БД по умолчанию, выбранная в соответствии с настройками: \"%s\".\n"
 
-#: initdb.c:2738
+#: initdb.c:2704
+#, c-format
+msgid "builtin provider locale \"%s\" requires encoding \"%s\""
+msgstr "для локали \"%s\" встроенного провайдера требуется кодировка \"%s\""
+
+#: initdb.c:2766
 #, c-format
 msgid "could not find suitable text search configuration for locale \"%s\""
 msgstr ""
 "не удалось найти подходящую конфигурацию текстового поиска для локали \"%s\""
 
-#: initdb.c:2749
+#: initdb.c:2777
 #, c-format
 msgid "suitable text search configuration for locale \"%s\" is unknown"
 msgstr ""
 "внимание: для локали \"%s\" нет известной конфигурации текстового поиска"
 
-#: initdb.c:2754
+#: initdb.c:2782
 #, c-format
 msgid ""
 "specified text search configuration \"%s\" might not match locale \"%s\""
@@ -929,37 +1004,37 @@ msgstr ""
 "указанная конфигурация текстового поиска \"%s\" может не соответствовать "
 "локали \"%s\""
 
-#: initdb.c:2759
+#: initdb.c:2787
 #, c-format
 msgid "The default text search configuration will be set to \"%s\".\n"
 msgstr "Выбрана конфигурация текстового поиска по умолчанию \"%s\".\n"
 
-#: initdb.c:2802 initdb.c:2873
+#: initdb.c:2830 initdb.c:2901
 #, c-format
 msgid "creating directory %s ... "
 msgstr "создание каталога %s... "
 
-#: initdb.c:2807 initdb.c:2878 initdb.c:2926 initdb.c:2982
+#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: initdb.c:2816 initdb.c:2888
+#: initdb.c:2844 initdb.c:2916
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "исправление прав для существующего каталога %s... "
 
-#: initdb.c:2821 initdb.c:2893
+#: initdb.c:2849 initdb.c:2921
 #, c-format
 msgid "could not change permissions of directory \"%s\": %m"
 msgstr "не удалось поменять права для каталога \"%s\": %m"
 
-#: initdb.c:2833 initdb.c:2905
+#: initdb.c:2861 initdb.c:2933
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "каталог \"%s\" существует, но он не пуст"
 
-#: initdb.c:2837
+#: initdb.c:2865
 #, c-format
 msgid ""
 "If you want to create a new database system, either remove or empty the "
@@ -968,29 +1043,29 @@ msgstr ""
 "Если вы хотите создать новую систему баз данных, удалите или очистите "
 "каталог \"%s\", либо при запуске %s в качестве пути укажите не \"%s\"."
 
-#: initdb.c:2845 initdb.c:2915 initdb.c:3322
+#: initdb.c:2873 initdb.c:2943 initdb.c:3369
 #, c-format
 msgid "could not access directory \"%s\": %m"
-msgstr "оÑ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па к каталогу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к каталогу \"%s\": %m"
 
-#: initdb.c:2866
+#: initdb.c:2894
 #, c-format
 msgid "WAL directory location must be an absolute path"
 msgstr "расположение каталога WAL должно определяться абсолютным путём"
 
-#: initdb.c:2909
+#: initdb.c:2937
 #, c-format
 msgid ""
 "If you want to store the WAL there, either remove or empty the directory "
 "\"%s\"."
 msgstr "Если вы хотите хранить WAL здесь, удалите или очистите каталог \"%s\"."
 
-#: initdb.c:2919
+#: initdb.c:2947
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\": %m"
 
-#: initdb.c:2938
+#: initdb.c:2966
 #, c-format
 msgid ""
 "It contains a dot-prefixed/invisible file, perhaps due to it being a mount "
@@ -998,13 +1073,13 @@ msgid ""
 msgstr ""
 "Он содержит файл с точкой (невидимый), возможно, это точка монтирования."
 
-#: initdb.c:2940
+#: initdb.c:2968
 #, c-format
 msgid ""
 "It contains a lost+found directory, perhaps due to it being a mount point."
 msgstr "Он содержит подкаталог lost+found, возможно, это точка монтирования."
 
-#: initdb.c:2942
+#: initdb.c:2970
 #, c-format
 msgid ""
 "Using a mount point directly as the data directory is not recommended.\n"
@@ -1014,67 +1089,62 @@ msgstr ""
 "рекомендуется.\n"
 "Создайте в монтируемом ресурсе подкаталог и используйте его."
 
-#: initdb.c:2968
+#: initdb.c:2997
 #, c-format
 msgid "creating subdirectories ... "
 msgstr "создание подкаталогов... "
 
-#: initdb.c:3011
+#: initdb.c:3040
 msgid "performing post-bootstrap initialization ... "
 msgstr "выполняется заключительная инициализация... "
 
-#: initdb.c:3172
+#: initdb.c:3203
 #, c-format
 msgid "-c %s requires a value"
 msgstr "для -c %s требуется значение"
 
-#: initdb.c:3197
+#: initdb.c:3228
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "Программа запущена в режиме отладки.\n"
 
-#: initdb.c:3201
+#: initdb.c:3232
 #, c-format
 msgid "Running in no-clean mode.  Mistakes will not be cleaned up.\n"
 msgstr ""
 "Программа запущена в режиме 'no-clean' - очистки и исправления ошибок не "
 "будет.\n"
 
-#: initdb.c:3271
+#: initdb.c:3305
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "нераспознанный провайдер локали: %s"
 
-#: initdb.c:3299
+#: initdb.c:3342
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: initdb.c:3306 initdb.c:3310
+#: initdb.c:3349 initdb.c:3353 initdb.c:3357
 #, c-format
 msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
 msgstr "%s можно указать, только если выбран провайдер локали \"%s\""
 
-#: initdb.c:3324 initdb.c:3401
+#: initdb.c:3371 initdb.c:3434
 msgid "syncing data to disk ... "
 msgstr "сохранение данных на диске... "
 
-#: initdb.c:3332
+#: initdb.c:3379
 #, c-format
 msgid "password prompt and password file cannot be specified together"
 msgstr "нельзя одновременно запросить пароль и прочитать пароль из файла"
 
-#: initdb.c:3354
-#, c-format
-msgid "argument of --wal-segsize must be a number"
-msgstr "аргументом --wal-segsize должно быть число"
-
-#: initdb.c:3356
+#: initdb.c:3390
 #, c-format
-msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
-msgstr "аргументом --wal-segsize должна быть степень двух от 1 до 1024"
+msgid "argument of %s must be a power of two between 1 and 1024"
+msgstr "аргументом %s должна быть степень двух от 1 до 1024"
 
-#: initdb.c:3370
+#: initdb.c:3403
 #, c-format
 msgid ""
 "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\""
@@ -1082,7 +1152,7 @@ msgstr ""
 "имя \"%s\" для суперпользователя не допускается; имена ролей не могут "
 "начинаться с \"pg_\""
 
-#: initdb.c:3372
+#: initdb.c:3405
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -1093,17 +1163,17 @@ msgstr ""
 "От его имени также будет запускаться процесс сервера.\n"
 "\n"
 
-#: initdb.c:3388
+#: initdb.c:3421
 #, c-format
 msgid "Data page checksums are enabled.\n"
 msgstr "Контроль целостности страниц данных включён.\n"
 
-#: initdb.c:3390
+#: initdb.c:3423
 #, c-format
 msgid "Data page checksums are disabled.\n"
 msgstr "Контроль целостности страниц данных отключён.\n"
 
-#: initdb.c:3407
+#: initdb.c:3440
 #, c-format
 msgid ""
 "\n"
@@ -1114,12 +1184,12 @@ msgstr ""
 "Сохранение данных на диск пропускается.\n"
 "Каталог данных может повредиться при сбое операционной системы.\n"
 
-#: initdb.c:3412
+#: initdb.c:3445
 #, c-format
 msgid "enabling \"trust\" authentication for local connections"
 msgstr "включение метода аутентификации \"trust\" для локальных подключений"
 
-#: initdb.c:3413
+#: initdb.c:3446
 #, c-format
 msgid ""
 "You can change this by editing pg_hba.conf or using the option -A, or --auth-"
@@ -1129,11 +1199,11 @@ msgstr ""
 "initdb с ключом -A, --auth-local или --auth-host."
 
 #. translator: This is a placeholder in a shell command.
-#: initdb.c:3443
+#: initdb.c:3476
 msgid "logfile"
 msgstr "файл_журнала"
 
-#: initdb.c:3445
+#: initdb.c:3478
 #, c-format
 msgid ""
 "\n"
@@ -1148,6 +1218,14 @@ msgstr ""
 "    %s\n"
 "\n"
 
+#, c-format
+#~ msgid "  ICU locale:  %s\n"
+#~ msgstr "  локаль ICU:  %s\n"
+
+#, c-format
+#~ msgid "argument of --wal-segsize must be a number"
+#~ msgstr "аргументом --wal-segsize должно быть число"
+
 #, c-format
 #~ msgid "could not identify current directory: %m"
 #~ msgstr "не удалось определить текущий каталог: %m"
@@ -1172,10 +1250,6 @@ msgstr ""
 #~ msgid "could not stat file or directory \"%s\": %m"
 #~ msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m"
 
-#, c-format
-#~ msgid "could not remove file or directory \"%s\": %m"
-#~ msgstr "ошибка при удалении файла или каталога \"%s\": %m"
-
 #, c-format
 #~ msgid "The default database encoding has been set to \"%s\".\n"
 #~ msgstr "В качестве кодировки БД по умолчанию установлена \"%s\".\n"
index d1032596ecae823338b618b37fb1998a297c036a..731fda17e4be83764ecc577ba171f007aff24770 100644 (file)
@@ -4,14 +4,14 @@
 # Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2001-2004.
 # Oleg Bartunov <oleg@sai.msu.su>, 2005.
 # Andrey Sudnik <sudnikand@yandex.ru>, 2010.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 # Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021.
 msgid ""
 msgstr ""
 "Project-Id-Version: libpq (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2023-08-30 15:09+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 13:49+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -21,128 +21,129 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../../port/thread.c:50 ../../port/thread.c:86
+#: ../../port/user.c:43 ../../port/user.c:79
 #, c-format
 msgid "could not look up local user ID %d: %s"
 msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s"
 
-#: ../../port/thread.c:55 ../../port/thread.c:91
+#: ../../port/user.c:48 ../../port/user.c:84
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "локальный пользователь с ID %d не существует"
 
-#: fe-auth-scram.c:227
+#: fe-auth-scram.c:223
 #, c-format
 msgid "malformed SCRAM message (empty message)"
 msgstr "неправильное сообщение SCRAM (пустое содержимое)"
 
-#: fe-auth-scram.c:232
+#: fe-auth-scram.c:228
 #, c-format
 msgid "malformed SCRAM message (length mismatch)"
 msgstr "неправильное сообщение SCRAM (некорректная длина)"
 
-#: fe-auth-scram.c:275
+#: fe-auth-scram.c:272
 #, c-format
 msgid "could not verify server signature: %s"
 msgstr "не удалось проверить сигнатуру сервера: %s"
 
-#: fe-auth-scram.c:281
+#: fe-auth-scram.c:278
 #, c-format
 msgid "incorrect server signature"
 msgstr "некорректная сигнатура сервера"
 
-#: fe-auth-scram.c:290
+#: fe-auth-scram.c:287
 #, c-format
 msgid "invalid SCRAM exchange state"
 msgstr "ошибочное состояние обмена SCRAM"
 
-#: fe-auth-scram.c:317
+#: fe-auth-scram.c:311
 #, c-format
 msgid "malformed SCRAM message (attribute \"%c\" expected)"
 msgstr "неправильное сообщение SCRAM (ожидался атрибут \"%c\")"
 
-#: fe-auth-scram.c:326
+#: fe-auth-scram.c:320
 #, c-format
 msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")"
 msgstr ""
 "неправильное сообщение SCRAM (для атрибута \"%c\" ожидался символ \"=\")"
 
-#: fe-auth-scram.c:366
+#: fe-auth-scram.c:360
 #, c-format
 msgid "could not generate nonce"
 msgstr "не удалось сгенерировать разовый код"
 
-#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600
-#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658
-#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296
-#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210
-#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921
-#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416
-#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959
-#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336
-#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489
-#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1323
-#: fe-exec.c:3132 fe-exec.c:4100 fe-exec.c:4264 fe-gssapi-common.c:109
-#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:251
-#: fe-protocol3.c:268 fe-protocol3.c:348 fe-protocol3.c:715 fe-protocol3.c:954
-#: fe-protocol3.c:1765 fe-protocol3.c:2165 fe-secure-common.c:110
-#: fe-secure-gssapi.c:496 fe-secure-openssl.c:435 fe-secure-openssl.c:1271
+#: fe-auth-scram.c:369 fe-auth-scram.c:442 fe-auth-scram.c:594
+#: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652
+#: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296
+#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200
+#: fe-auth.c:1363 fe-cancel.c:159 fe-connect.c:936 fe-connect.c:976
+#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4775
+#: fe-connect.c:5087 fe-connect.c:5342 fe-connect.c:5460 fe-connect.c:5707
+#: fe-connect.c:5787 fe-connect.c:5885 fe-connect.c:6136 fe-connect.c:6163
+#: fe-connect.c:6239 fe-connect.c:6262 fe-connect.c:6286 fe-connect.c:6321
+#: fe-connect.c:6407 fe-connect.c:6415 fe-connect.c:6772 fe-connect.c:6922
+#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398
+#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232
+#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369
+#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787
+#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:496
+#: fe-secure-openssl.c:427 fe-secure-openssl.c:1277
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
-#: fe-auth-scram.c:382
+#: fe-auth-scram.c:376
 #, c-format
 msgid "could not encode nonce"
 msgstr "не удалось оформить разовый код"
 
-#: fe-auth-scram.c:570
+#: fe-auth-scram.c:564
 #, c-format
 msgid "could not calculate client proof: %s"
 msgstr "не удалось вычислить подтверждение клиента: %s"
 
-#: fe-auth-scram.c:585
+#: fe-auth-scram.c:579
 #, c-format
 msgid "could not encode client proof"
 msgstr "не удалось закодировать подтверждение клиента"
 
-#: fe-auth-scram.c:637
+#: fe-auth-scram.c:631
 #, c-format
 msgid "invalid SCRAM response (nonce mismatch)"
 msgstr "неверный ответ SCRAM (несовпадение разового кода)"
 
-#: fe-auth-scram.c:667
+#: fe-auth-scram.c:661
 #, c-format
 msgid "malformed SCRAM message (invalid salt)"
 msgstr "неправильное сообщение SCRAM (некорректная соль)"
 
-#: fe-auth-scram.c:680
+#: fe-auth-scram.c:674
 #, c-format
 msgid "malformed SCRAM message (invalid iteration count)"
 msgstr "неправильное сообщение SCRAM (некорректное число итераций)"
 
-#: fe-auth-scram.c:685
+#: fe-auth-scram.c:679
 #, c-format
 msgid "malformed SCRAM message (garbage at end of server-first-message)"
 msgstr "неправильное сообщение SCRAM (мусор в конце первого сообщения сервера)"
 
-#: fe-auth-scram.c:719
+#: fe-auth-scram.c:713
 #, c-format
 msgid "error received from server in SCRAM exchange: %s"
 msgstr "в ходе обмена SCRAM от сервера получена ошибка: %s"
 
-#: fe-auth-scram.c:734
+#: fe-auth-scram.c:728
 #, c-format
 msgid "malformed SCRAM message (garbage at end of server-final-message)"
 msgstr ""
 "неправильное сообщение SCRAM (мусор в конце последнего сообщения сервера)"
 
-#: fe-auth-scram.c:751
+#: fe-auth-scram.c:745
 #, c-format
 msgid "malformed SCRAM message (invalid server signature)"
 msgstr "неправильное сообщение SCRAM (неверная сигнатура сервера)"
 
-#: fe-auth-scram.c:923
+#: fe-auth-scram.c:917
 msgid "could not generate random salt"
 msgstr "не удалось сгенерировать случайную соль"
 
@@ -184,22 +185,22 @@ msgstr "повторный запрос аутентификации SSPI"
 msgid "could not acquire SSPI credentials"
 msgstr "не удалось получить удостоверение SSPI"
 
-#: fe-auth.c:437
+#: fe-auth.c:436
 #, c-format
 msgid "channel binding required, but SSL not in use"
 msgstr "требуется привязка каналов, но SSL не используется"
 
-#: fe-auth.c:443
+#: fe-auth.c:442
 #, c-format
 msgid "duplicate SASL authentication request"
 msgstr "повторный запрос аутентификации SASL"
 
-#: fe-auth.c:501
+#: fe-auth.c:500
 #, c-format
 msgid "channel binding is required, but client does not support it"
 msgstr "требуется привязка каналов, но клиент её не поддерживает"
 
-#: fe-auth.c:517
+#: fe-auth.c:516
 #, c-format
 msgid ""
 "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection"
@@ -221,12 +222,12 @@ msgstr ""
 "требуется привязка каналов, но сервер не предложил поддерживающий её метод "
 "аутентификации"
 
-#: fe-auth.c:641
+#: fe-auth.c:640
 #, c-format
 msgid "out of memory allocating SASL buffer (%d)"
 msgstr "недостаточно памяти для буфера SASL (%d)"
 
-#: fe-auth.c:665
+#: fe-auth.c:663
 #, c-format
 msgid ""
 "AuthenticationSASLFinal received from server, but SASL authentication was "
@@ -235,60 +236,60 @@ msgstr ""
 "c сервера получено сообщение AuthenticationSASLFinal, но аутентификация SASL "
 "ещё не завершена"
 
-#: fe-auth.c:675
+#: fe-auth.c:673
 #, c-format
 msgid "no client response found after SASL exchange success"
 msgstr "после успешного обмена по протоколу SASL не получен ответ клиента"
 
-#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369
+#: fe-auth.c:736 fe-auth.c:743 fe-auth.c:1346 fe-auth.c:1357
 #, c-format
 msgid "could not encrypt password: %s"
 msgstr "не удалось зашифровать пароль: %s"
 
-#: fe-auth.c:773
+#: fe-auth.c:772
 msgid "server requested a cleartext password"
 msgstr "сервер запросил незашифрованный пароль"
 
-#: fe-auth.c:775
+#: fe-auth.c:774
 msgid "server requested a hashed password"
 msgstr "сервер запросил хешированный пароль"
 
-#: fe-auth.c:778
+#: fe-auth.c:777
 msgid "server requested GSSAPI authentication"
 msgstr "сервер запросил аутентификацию GSSAPI"
 
-#: fe-auth.c:780
+#: fe-auth.c:779
 msgid "server requested SSPI authentication"
 msgstr "сервер запросил аутентификацию SSPI"
 
-#: fe-auth.c:784
+#: fe-auth.c:783
 msgid "server requested SASL authentication"
 msgstr "сервер запросил аутентификацию SASL"
 
-#: fe-auth.c:787
+#: fe-auth.c:786
 msgid "server requested an unknown authentication type"
 msgstr "сервер запросил аутентификацию неизвестного типа"
 
-#: fe-auth.c:820
+#: fe-auth.c:819
 #, c-format
 msgid "server did not request an SSL certificate"
 msgstr "сервер не запросил сертификат SSL"
 
-#: fe-auth.c:825
+#: fe-auth.c:824
 #, c-format
 msgid "server accepted connection without a valid SSL certificate"
 msgstr "сервер принял подключение, не проверив сертификат SSL"
 
-#: fe-auth.c:879
+#: fe-auth.c:878
 msgid "server did not complete authentication"
 msgstr "сервер не завершил аутентификацию"
 
-#: fe-auth.c:913
+#: fe-auth.c:912
 #, c-format
 msgid "authentication method requirement \"%s\" failed: %s"
 msgstr "требование метода аутентификации \"%s\" не выполнено: %s"
 
-#: fe-auth.c:936
+#: fe-auth.c:935
 #, c-format
 msgid ""
 "channel binding required, but server authenticated client without channel "
@@ -296,7 +297,7 @@ msgid ""
 msgstr ""
 "требуется привязка каналов, но сервер аутентифицировал клиента без привязки"
 
-#: fe-auth.c:941
+#: fe-auth.c:940
 #, c-format
 msgid ""
 "channel binding required but not supported by server's authentication request"
@@ -304,67 +305,87 @@ msgstr ""
 "требуется привязка каналов, но она не поддерживается при том запросе "
 "аутентификации, который передал сервер"
 
-#: fe-auth.c:975
+#: fe-auth.c:974
 #, c-format
 msgid "Kerberos 4 authentication not supported"
 msgstr "аутентификация Kerberos 4 не поддерживается"
 
-#: fe-auth.c:979
+#: fe-auth.c:978
 #, c-format
 msgid "Kerberos 5 authentication not supported"
 msgstr "аутентификация Kerberos 5 не поддерживается"
 
-#: fe-auth.c:1049
+#: fe-auth.c:1048
 #, c-format
 msgid "GSSAPI authentication not supported"
 msgstr "аутентификация через GSSAPI не поддерживается"
 
-#: fe-auth.c:1080
+#: fe-auth.c:1079
 #, c-format
 msgid "SSPI authentication not supported"
 msgstr "аутентификация через SSPI не поддерживается"
 
-#: fe-auth.c:1087
+#: fe-auth.c:1086
 #, c-format
 msgid "Crypt authentication not supported"
 msgstr "аутентификация Crypt не поддерживается"
 
-#: fe-auth.c:1151
+#: fe-auth.c:1150
 #, c-format
 msgid "authentication method %u not supported"
 msgstr "метод аутентификации %u не поддерживается"
 
-#: fe-auth.c:1197
+#: fe-auth.c:1187
 #, c-format
 msgid "user name lookup failure: error code %lu"
 msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
 
-#: fe-auth.c:1321
+#: fe-auth.c:1309
 #, c-format
 msgid "unexpected shape of result set returned for SHOW"
 msgstr "неожиданная форма набора результатов, возвращённого для SHOW"
 
-#: fe-auth.c:1329
+#: fe-auth.c:1317
 #, c-format
-msgid "password_encryption value too long"
-msgstr "слишком длинное значение password_encryption"
+msgid "\"password_encryption\" value too long"
+msgstr "слишком длинное значение \"password_encryption\""
 
-#: fe-auth.c:1379
+#: fe-auth.c:1367
 #, c-format
 msgid "unrecognized password encryption algorithm \"%s\""
 msgstr "нераспознанный алгоритм шифрования пароля \"%s\""
 
-#: fe-connect.c:1132
+#: fe-cancel.c:76
+#, c-format
+msgid "connection pointer is NULL"
+msgstr "нулевой указатель соединения"
+
+#: fe-cancel.c:82 fe-misc.c:572
+#, c-format
+msgid "connection not open"
+msgstr "соединение не открыто"
+
+#: fe-cancel.c:193
+#, c-format
+msgid "cancel request is already being sent on this connection"
+msgstr "через это соединение уже передаётся запрос отмены"
+
+#: fe-cancel.c:263
+#, c-format
+msgid "unexpected response from server"
+msgstr "неожиданный ответ сервера"
+
+#: fe-connect.c:1182
 #, c-format
 msgid "could not match %d host names to %d hostaddr values"
 msgstr "не удалось сопоставить имена узлов (%d) со значениями hostaddr (%d)"
 
-#: fe-connect.c:1212
+#: fe-connect.c:1262
 #, c-format
 msgid "could not match %d port numbers to %d hosts"
 msgstr "не удалось сопоставить номера портов (%d) с узлами (%d)"
 
-#: fe-connect.c:1337
+#: fe-connect.c:1387
 #, c-format
 msgid ""
 "negative require_auth method \"%s\" cannot be mixed with non-negative methods"
@@ -372,30 +393,38 @@ msgstr ""
 "отрицательный метод require_auth \"%s\" не может совмещаться с "
 "неотрицательными методами"
 
-#: fe-connect.c:1350
+#: fe-connect.c:1400
 #, c-format
 msgid "require_auth method \"%s\" cannot be mixed with negative methods"
 msgstr ""
 "метод require_auth \"%s\" не может совмещаться с отрицательными методами"
 
-#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559
-#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684
-#: fe-connect.c:1705
+#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596
+#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806
 #, c-format
 msgid "invalid %s value: \"%s\""
 msgstr "неверное значение %s: \"%s\""
 
-#: fe-connect.c:1443
+#: fe-connect.c:1493
 #, c-format
 msgid "require_auth method \"%s\" is specified more than once"
 msgstr "метод require_auth \"%s\" указан неоднократно"
 
-#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606
+#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707
 #, c-format
 msgid "%s value \"%s\" invalid when SSL support is not compiled in"
 msgstr "значение %s \"%s\" недопустимо для сборки без поддержки SSL"
 
-#: fe-connect.c:1546
+#: fe-connect.c:1625
+#, c-format
+msgid ""
+"weak sslmode \"%s\" may not be used with sslnegotiation=direct (use "
+"\"require\", \"verify-ca\", or \"verify-full\")"
+msgstr ""
+"слабый режим sslmode \"%s\" не может использоваться с sslnegotiation=direct "
+"(используйте режим \"require\", \"verify-ca\" или \"verify-full\")"
+
+#: fe-connect.c:1647
 #, c-format
 msgid ""
 "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-"
@@ -404,42 +433,47 @@ msgstr ""
 "слабый режим sslmode \"%s\" не может использоваться с sslrootcert=system "
 "(используйте режим \"verify-full\")"
 
-#: fe-connect.c:1584
+#: fe-connect.c:1660 fe-connect.c:1668
+#, c-format
+msgid "invalid \"%s\" value: \"%s\""
+msgstr "неверное значение \"%s\": \"%s\""
+
+#: fe-connect.c:1685
 #, c-format
 msgid "invalid SSL protocol version range"
 msgstr "неверный диапазон версий протокола SSL"
 
-#: fe-connect.c:1621
+#: fe-connect.c:1722
 #, c-format
 msgid "%s value \"%s\" is not supported (check OpenSSL version)"
 msgstr "значение %s \"%s\" не поддерживается (проверьте версию OpenSSL)"
 
-#: fe-connect.c:1651
+#: fe-connect.c:1752
 #, c-format
 msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in"
 msgstr "значение gssencmode \"%s\" недопустимо для сборки без поддержки GSSAPI"
 
-#: fe-connect.c:1944
+#: fe-connect.c:2045
 #, c-format
 msgid "could not set socket to TCP no delay mode: %s"
 msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s"
 
-#: fe-connect.c:2003
+#: fe-connect.c:2104
 #, c-format
 msgid "connection to server on socket \"%s\" failed: "
 msgstr "подключиться к серверу через сокет \"%s\" не удалось: "
 
-#: fe-connect.c:2029
+#: fe-connect.c:2130
 #, c-format
 msgid "connection to server at \"%s\" (%s), port %s failed: "
 msgstr "подключиться к серверу \"%s\" (%s), порту %s не удалось: "
 
-#: fe-connect.c:2034
+#: fe-connect.c:2135
 #, c-format
 msgid "connection to server at \"%s\", port %s failed: "
 msgstr "подключиться к серверу \"%s\", порту %s не удалось: "
 
-#: fe-connect.c:2057
+#: fe-connect.c:2158
 #, c-format
 msgid ""
 "\tIs the server running locally and accepting connections on that socket?"
@@ -447,310 +481,309 @@ msgstr ""
 "\tСервер действительно работает локально и принимает подключения через этот "
 "сокет?"
 
-#: fe-connect.c:2059
+#: fe-connect.c:2160
 #, c-format
 msgid "\tIs the server running on that host and accepting TCP/IP connections?"
 msgstr ""
 "\tСервер действительно работает по данному адресу и принимает TCP-соединения?"
 
-#: fe-connect.c:2122
-#, c-format
-msgid "invalid integer value \"%s\" for connection option \"%s\""
-msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\""
-
-#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318
-#: fe-connect.c:2973
+#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373
+#: fe-connect.c:3098
 #, c-format
 msgid "%s(%s) failed: %s"
 msgstr "ошибка в %s(%s): %s"
 
-#: fe-connect.c:2284
+#: fe-connect.c:2339
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "ошибка в %s(%s): код ошибки %d"
 
-#: fe-connect.c:2597
+#: fe-connect.c:2650
 #, c-format
 msgid "invalid connection state, probably indicative of memory corruption"
 msgstr "неверное состояние соединения - возможно разрушение памяти"
 
-#: fe-connect.c:2676
+#: fe-connect.c:2733
 #, c-format
 msgid "invalid port number: \"%s\""
 msgstr "неверный номер порта: \"%s\""
 
-#: fe-connect.c:2690
+#: fe-connect.c:2747
 #, c-format
 msgid "could not translate host name \"%s\" to address: %s"
 msgstr "преобразовать имя \"%s\" в адрес не удалось: %s"
 
-#: fe-connect.c:2702
+#: fe-connect.c:2759
 #, c-format
 msgid "could not parse network address \"%s\": %s"
 msgstr "не удалось разобрать сетевой адрес \"%s\": %s"
 
-#: fe-connect.c:2713
+#: fe-connect.c:2770
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)"
 
-#: fe-connect.c:2727
+#: fe-connect.c:2784
 #, c-format
 msgid "could not translate Unix-domain socket path \"%s\" to address: %s"
 msgstr "преобразовать путь Unix-сокета \"%s\" в адрес не удалось: %s"
 
-#: fe-connect.c:2901
+#: fe-connect.c:2950 fe-connect.c:4319
+#, c-format
+msgid "GSSAPI encryption required but it is not supported over a local socket"
+msgstr ""
+"затребовано шифрование GSSAPI, но оно не поддерживается для локального сокета"
+
+#: fe-connect.c:2958 fe-connect.c:4448
+#, c-format
+msgid "GSSAPI encryption required but no credential cache"
+msgstr "шифрование GSSAPI затребовано в отсутствие кеша учётных данных"
+
+#: fe-connect.c:3026
 #, c-format
 msgid "could not create socket: %s"
 msgstr "не удалось создать сокет: %s"
 
-#: fe-connect.c:2932
+#: fe-connect.c:3057
 #, c-format
 msgid "could not set socket to nonblocking mode: %s"
 msgstr "не удалось перевести сокет в неблокирующий режим: %s"
 
-#: fe-connect.c:2943
+#: fe-connect.c:3068
 #, c-format
 msgid "could not set socket to close-on-exec mode: %s"
 msgstr ""
 "не удалось перевести сокет в режим закрытия при выполнении (close-on-exec): "
 "%s"
 
-#: fe-connect.c:2961
+#: fe-connect.c:3086
 #, c-format
 msgid "keepalives parameter must be an integer"
 msgstr "параметр keepalives должен быть целым числом"
 
-#: fe-connect.c:3100
+#: fe-connect.c:3225
 #, c-format
 msgid "could not get socket error status: %s"
 msgstr "не удалось получить статус ошибки сокета: %s"
 
-#: fe-connect.c:3127
+#: fe-connect.c:3252
 #, c-format
 msgid "could not get client address from socket: %s"
 msgstr "не удалось получить адрес клиента из сокета: %s"
 
-#: fe-connect.c:3165
+#: fe-connect.c:3278
 #, c-format
 msgid "requirepeer parameter is not supported on this platform"
 msgstr "параметр requirepeer не поддерживается в этой ОС"
 
-#: fe-connect.c:3167
+#: fe-connect.c:3280
 #, c-format
 msgid "could not get peer credentials: %s"
 msgstr "не удалось получить учётные данные сервера: %s"
 
-#: fe-connect.c:3180
+#: fe-connect.c:3293
 #, c-format
 msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\""
 msgstr ""
 "requirepeer допускает подключение только к \"%s\", но сервер работает под "
 "именем \"%s\""
 
-#: fe-connect.c:3221
+#: fe-connect.c:3331
 #, c-format
 msgid "could not send GSSAPI negotiation packet: %s"
 msgstr "не удалось отправить пакет согласования GSSAPI: %s"
 
-#: fe-connect.c:3233
-#, c-format
-msgid ""
-"GSSAPI encryption required but was impossible (possibly no credential cache, "
-"no server support, or using a local socket)"
-msgstr ""
-"затребовано шифрование GSSAPI, но это требование невыполнимо (возможно, "
-"отсутствует кеш учётных данных, нет поддержки на сервере или используется "
-"локальный сокет)"
-
-#: fe-connect.c:3274
+#: fe-connect.c:3380
 #, c-format
 msgid "could not send SSL negotiation packet: %s"
 msgstr "не удалось отправить пакет согласования SSL: %s"
 
-#: fe-connect.c:3303
+#: fe-connect.c:3412
+#, c-format
+msgid "could not send cancel packet: %s"
+msgstr "не удалось отправить пакет отмены: %s"
+
+#: fe-connect.c:3442
 #, c-format
 msgid "could not send startup packet: %s"
 msgstr "не удалось отправить стартовый пакет: %s"
 
-#: fe-connect.c:3378
-#, c-format
+#: fe-connect.c:3509
 msgid "server does not support SSL, but SSL was required"
 msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL"
 
-#: fe-connect.c:3404
+#: fe-connect.c:3534
 #, c-format
 msgid "received invalid response to SSL negotiation: %c"
 msgstr "получен неверный ответ при согласовании SSL: %c"
 
-#: fe-connect.c:3424
+#: fe-connect.c:3562
 #, c-format
 msgid "received unencrypted data after SSL response"
 msgstr "после ответа SSL получены незашифрованные данные"
 
-#: fe-connect.c:3504
-#, c-format
+#: fe-connect.c:3643
 msgid "server doesn't support GSSAPI encryption, but it was required"
 msgstr "затребовано шифрование GSSAPI, но сервер его не поддерживает"
 
-#: fe-connect.c:3515
+#: fe-connect.c:3647
 #, c-format
 msgid "received invalid response to GSSAPI negotiation: %c"
 msgstr "получен неверный ответ при согласовании GSSAPI: %c"
 
-#: fe-connect.c:3533
+#: fe-connect.c:3665
 #, c-format
 msgid "received unencrypted data after GSSAPI encryption response"
 msgstr ""
 "после ответа на запрос шифрования GSSAPI получены незашифрованные данные"
 
-#: fe-connect.c:3598
+#: fe-connect.c:3725
 #, c-format
 msgid "expected authentication request from server, but received %c"
 msgstr "ожидался запрос аутентификации от сервера, но получено: %c"
 
-#: fe-connect.c:3625 fe-connect.c:3794
+#: fe-connect.c:3753 fe-connect.c:3876
 #, c-format
 msgid "received invalid authentication request"
 msgstr "получен некорректный запрос аутентификации"
 
-#: fe-connect.c:3630 fe-connect.c:3779
+#: fe-connect.c:3759 fe-connect.c:3861
 #, c-format
 msgid "received invalid protocol negotiation message"
 msgstr "получено некорректное сообщение согласования протокола"
 
-#: fe-connect.c:3648 fe-connect.c:3702
+#: fe-connect.c:3778 fe-connect.c:3832
 #, c-format
 msgid "received invalid error message"
 msgstr "получено некорректное сообщение об ошибке"
 
-#: fe-connect.c:3865
+#: fe-connect.c:3947
 #, c-format
 msgid "unexpected message from server during startup"
 msgstr "неожиданное сообщение от сервера в начале работы"
 
-#: fe-connect.c:3956
+#: fe-connect.c:4038
 #, c-format
 msgid "session is read-only"
 msgstr "сеанс не допускает запись"
 
-#: fe-connect.c:3958
+#: fe-connect.c:4040
 #, c-format
 msgid "session is not read-only"
 msgstr "сеанс допускает запись"
 
-#: fe-connect.c:4011
+#: fe-connect.c:4093
 #, c-format
 msgid "server is in hot standby mode"
 msgstr "сервер работает в режиме горячего резерва"
 
-#: fe-connect.c:4013
+#: fe-connect.c:4095
 #, c-format
 msgid "server is not in hot standby mode"
 msgstr "сервер работает не в режиме горячего резерва"
 
-#: fe-connect.c:4129 fe-connect.c:4179
+#: fe-connect.c:4217 fe-connect.c:4267
 #, c-format
 msgid "\"%s\" failed"
 msgstr "выполнить \"%s\" не удалось"
 
-#: fe-connect.c:4193
+#: fe-connect.c:4281
 #, c-format
 msgid "invalid connection state %d, probably indicative of memory corruption"
 msgstr "неверное состояние соединения %d - возможно разрушение памяти"
 
-#: fe-connect.c:5174
+#: fe-connect.c:5100
 #, c-format
 msgid "invalid LDAP URL \"%s\": scheme must be ldap://"
 msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://"
 
-#: fe-connect.c:5189
+#: fe-connect.c:5115
 #, c-format
 msgid "invalid LDAP URL \"%s\": missing distinguished name"
 msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя"
 
-#: fe-connect.c:5201 fe-connect.c:5259
+#: fe-connect.c:5127 fe-connect.c:5185
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have exactly one attribute"
 msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут"
 
-#: fe-connect.c:5213 fe-connect.c:5275
+#: fe-connect.c:5139 fe-connect.c:5201
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)"
 msgstr ""
 "некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)"
 
-#: fe-connect.c:5225
+#: fe-connect.c:5151
 #, c-format
 msgid "invalid LDAP URL \"%s\": no filter"
 msgstr "некорректный адрес LDAP \"%s\": нет фильтра"
 
-#: fe-connect.c:5247
+#: fe-connect.c:5173
 #, c-format
 msgid "invalid LDAP URL \"%s\": invalid port number"
 msgstr "некорректный адрес LDAP \"%s\": неверный номер порта"
 
-#: fe-connect.c:5284
+#: fe-connect.c:5210
 #, c-format
 msgid "could not create LDAP structure"
 msgstr "не удалось создать структуру LDAP"
 
-#: fe-connect.c:5359
+#: fe-connect.c:5285
 #, c-format
 msgid "lookup on LDAP server failed: %s"
 msgstr "ошибка поиска на сервере LDAP: %s"
 
-#: fe-connect.c:5369
+#: fe-connect.c:5295
 #, c-format
 msgid "more than one entry found on LDAP lookup"
 msgstr "при поиске LDAP найдено более одного вхождения"
 
-#: fe-connect.c:5371 fe-connect.c:5382
+#: fe-connect.c:5297 fe-connect.c:5308
 #, c-format
 msgid "no entry found on LDAP lookup"
 msgstr "при поиске LDAP ничего не найдено"
 
-#: fe-connect.c:5392 fe-connect.c:5404
+#: fe-connect.c:5318 fe-connect.c:5330
 #, c-format
 msgid "attribute has no values on LDAP lookup"
 msgstr "атрибут не содержит значений при поиске LDAP"
 
-#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998
+#: fe-connect.c:5381 fe-connect.c:5400 fe-connect.c:5924
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string"
 msgstr "в строке соединения нет \"=\" после \"%s\""
 
-#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979
+#: fe-connect.c:5471 fe-connect.c:6107 fe-connect.c:6905
 #, c-format
 msgid "invalid connection option \"%s\""
 msgstr "неверный параметр соединения \"%s\""
 
-#: fe-connect.c:5560 fe-connect.c:6046
+#: fe-connect.c:5486 fe-connect.c:5972
 #, c-format
 msgid "unterminated quoted string in connection info string"
 msgstr "в строке соединения не хватает закрывающей кавычки"
 
-#: fe-connect.c:5640
+#: fe-connect.c:5566
 #, c-format
 msgid "definition of service \"%s\" not found"
 msgstr "определение службы \"%s\" не найдено"
 
-#: fe-connect.c:5666
+#: fe-connect.c:5592
 #, c-format
 msgid "service file \"%s\" not found"
 msgstr "файл определений служб \"%s\" не найден"
 
-#: fe-connect.c:5679
+#: fe-connect.c:5605
 #, c-format
 msgid "line %d too long in service file \"%s\""
 msgstr "слишком длинная строка (%d) в файле определений служб \"%s\""
 
-#: fe-connect.c:5750 fe-connect.c:5793
+#: fe-connect.c:5676 fe-connect.c:5719
 #, c-format
 msgid "syntax error in service file \"%s\", line %d"
 msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)"
 
-#: fe-connect.c:5761
+#: fe-connect.c:5687
 #, c-format
 msgid ""
 "nested service specifications not supported in service file \"%s\", line %d"
@@ -758,24 +791,24 @@ msgstr ""
 "рекурсивные определения служб не поддерживаются (файл определения служб "
 "\"%s\", строка %d)"
 
-#: fe-connect.c:6500
+#: fe-connect.c:6426
 #, c-format
 msgid "invalid URI propagated to internal parser routine: \"%s\""
 msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\""
 
-#: fe-connect.c:6577
+#: fe-connect.c:6503
 #, c-format
 msgid ""
 "end of string reached when looking for matching \"]\" in IPv6 host address "
 "in URI: \"%s\""
 msgstr "URI не содержит символ \"]\" после адреса IPv6: \"%s\""
 
-#: fe-connect.c:6584
+#: fe-connect.c:6510
 #, c-format
 msgid "IPv6 host address may not be empty in URI: \"%s\""
 msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\""
 
-#: fe-connect.c:6599
+#: fe-connect.c:6525
 #, c-format
 msgid ""
 "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): "
@@ -784,46 +817,46 @@ msgstr ""
 "неожиданный символ \"%c\" в позиции %d в URI (ожидалось \":\" или \"/\"): "
 "\"%s\""
 
-#: fe-connect.c:6728
+#: fe-connect.c:6654
 #, c-format
 msgid "extra key/value separator \"=\" in URI query parameter: \"%s\""
 msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\""
 
-#: fe-connect.c:6748
+#: fe-connect.c:6674
 #, c-format
 msgid "missing key/value separator \"=\" in URI query parameter: \"%s\""
 msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\""
 
-#: fe-connect.c:6800
+#: fe-connect.c:6726
 #, c-format
 msgid "invalid URI query parameter: \"%s\""
 msgstr "неверный параметр в URI: \"%s\""
 
-#: fe-connect.c:6874
+#: fe-connect.c:6800
 #, c-format
 msgid "invalid percent-encoded token: \"%s\""
 msgstr "неверный символ, закодированный с %%: \"%s\""
 
-#: fe-connect.c:6884
+#: fe-connect.c:6810
 #, c-format
 msgid "forbidden value %%00 in percent-encoded value: \"%s\""
 msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\""
 
-#: fe-connect.c:7248
+#: fe-connect.c:7174
 msgid "connection pointer is NULL\n"
 msgstr "нулевой указатель соединения\n"
 
-#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:972 fe-exec.c:3321
-#: fe-protocol3.c:969 fe-protocol3.c:1002
+#: fe-connect.c:7182 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459
+#: fe-protocol3.c:991 fe-protocol3.c:1024
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
 
-#: fe-connect.c:7547
+#: fe-connect.c:7473
 #, c-format
 msgid "WARNING: password file \"%s\" is not a plain file\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: файл паролей \"%s\" - не обычный файл\n"
 
-#: fe-connect.c:7556
+#: fe-connect.c:7482
 #, c-format
 msgid ""
 "WARNING: password file \"%s\" has group or world access; permissions should "
@@ -832,163 +865,173 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: к файлу паролей \"%s\" имеют доступ все или группа; права "
 "должны быть u=rw (0600) или более ограниченные\n"
 
-#: fe-connect.c:7663
+#: fe-connect.c:7589
 #, c-format
 msgid "password retrieved from file \"%s\""
 msgstr "пароль получен из файла \"%s\""
 
-#: fe-exec.c:466 fe-exec.c:3395
+#: fe-connect.c:7741
+#, c-format
+msgid "invalid integer value \"%s\" for connection option \"%s\""
+msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\""
+
+#: fe-exec.c:469 fe-exec.c:3533
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "номер записи %d вне диапазона 0..%d"
 
-#: fe-exec.c:528 fe-protocol3.c:1971
+#: fe-exec.c:531 fe-protocol3.c:1993
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: fe-exec.c:831
+#: fe-exec.c:834
 #, c-format
 msgid "write to server failed"
 msgstr "ошибка при передаче данных серверу"
 
-#: fe-exec.c:871
+#: fe-exec.c:874
 #, c-format
 msgid "no error text available"
 msgstr "текст ошибки отсутствует"
 
-#: fe-exec.c:960
+#: fe-exec.c:963
 msgid "NOTICE"
 msgstr "ЗАМЕЧАНИЕ"
 
-#: fe-exec.c:1018
+#: fe-exec.c:1021
 msgid "PGresult cannot support more than INT_MAX tuples"
 msgstr "PGresult не может вместить больше чем INT_MAX кортежей"
 
-#: fe-exec.c:1030
+#: fe-exec.c:1033
 msgid "size_t overflow"
 msgstr "переполнение size_t"
 
-#: fe-exec.c:1446 fe-exec.c:1515 fe-exec.c:1561
+#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553
 #, c-format
 msgid "command string is a null pointer"
 msgstr "указатель на командную строку нулевой"
 
-#: fe-exec.c:1452 fe-exec.c:2883
+#: fe-exec.c:1444 fe-exec.c:3003
 #, c-format
 msgid "%s not allowed in pipeline mode"
 msgstr "%s не допускается в конвейерном режиме"
 
-#: fe-exec.c:1520 fe-exec.c:1566 fe-exec.c:1660
+#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652
 #, c-format
 msgid "number of parameters must be between 0 and %d"
 msgstr "число параметров должно быть от 0 до %d"
 
-#: fe-exec.c:1556 fe-exec.c:1655
+#: fe-exec.c:1548 fe-exec.c:1647
 #, c-format
 msgid "statement name is a null pointer"
 msgstr "указатель на имя оператора нулевой"
 
-#: fe-exec.c:1697 fe-exec.c:3241
+#: fe-exec.c:1689 fe-exec.c:3379
 #, c-format
 msgid "no connection to the server"
 msgstr "нет соединения с сервером"
 
-#: fe-exec.c:1705 fe-exec.c:3249
+#: fe-exec.c:1697 fe-exec.c:3387
 #, c-format
 msgid "another command is already in progress"
 msgstr "уже выполняется другая команда"
 
-#: fe-exec.c:1735
+#: fe-exec.c:1727
 #, c-format
 msgid "cannot queue commands during COPY"
 msgstr "во время COPY нельзя добавлять команды в очередь"
 
-#: fe-exec.c:1852
+#: fe-exec.c:1846
 #, c-format
 msgid "length must be given for binary parameter"
 msgstr "для двоичного параметра должна быть указана длина"
 
-#: fe-exec.c:2166
+#: fe-exec.c:2205
 #, c-format
 msgid "unexpected asyncStatus: %d"
 msgstr "неожиданный asyncStatus: %d"
 
-#: fe-exec.c:2322
+#: fe-exec.c:2361
 #, c-format
 msgid ""
 "synchronous command execution functions are not allowed in pipeline mode"
 msgstr ""
 "функции синхронного выполнения команд не допускаются в конвейерном режиме"
 
-#: fe-exec.c:2339
+#: fe-exec.c:2378
 msgid "COPY terminated by new PQexec"
 msgstr "операция COPY прервана вызовом PQexec"
 
-#: fe-exec.c:2355
+#: fe-exec.c:2394
 #, c-format
 msgid "PQexec not allowed during COPY BOTH"
 msgstr "вызов PQexec не допускается в процессе COPY BOTH"
 
-#: fe-exec.c:2581 fe-exec.c:2636 fe-exec.c:2704 fe-protocol3.c:1902
+#: fe-exec.c:2630
+#, c-format
+msgid "unrecognized message type \"%c\""
+msgstr "нераспознанный тип сообщения \"%c\""
+
+#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924
 #, c-format
 msgid "no COPY in progress"
 msgstr "операция COPY не выполняется"
 
-#: fe-exec.c:2890
+#: fe-exec.c:3010
 #, c-format
 msgid "connection in wrong state"
 msgstr "соединение в неправильном состоянии"
 
-#: fe-exec.c:2933
+#: fe-exec.c:3053
 #, c-format
 msgid "cannot enter pipeline mode, connection not idle"
 msgstr "перейти в конвейерный режиме нельзя, соединение не простаивает"
 
-#: fe-exec.c:2969 fe-exec.c:2990
+#: fe-exec.c:3089 fe-exec.c:3110
 #, c-format
 msgid "cannot exit pipeline mode with uncollected results"
 msgstr "выйти из конвейерного режима нельзя, не собрав все результаты"
 
-#: fe-exec.c:2973
+#: fe-exec.c:3093
 #, c-format
 msgid "cannot exit pipeline mode while busy"
 msgstr "выйти из конвейерного режима в занятом состоянии нельзя"
 
-#: fe-exec.c:2984
+#: fe-exec.c:3104
 #, c-format
 msgid "cannot exit pipeline mode while in COPY"
 msgstr "выйти из конвейерного режима во время COPY нельзя"
 
-#: fe-exec.c:3175
+#: fe-exec.c:3303
 #, c-format
 msgid "cannot send pipeline when not in pipeline mode"
 msgstr "отправить конвейер, не перейдя в конвейерный режим, нельзя"
 
-#: fe-exec.c:3284
+#: fe-exec.c:3422
 msgid "invalid ExecStatusType code"
 msgstr "неверный код ExecStatusType"
 
-#: fe-exec.c:3311
+#: fe-exec.c:3449
 msgid "PGresult is not an error result\n"
 msgstr "В PGresult не передан результат ошибки\n"
 
-#: fe-exec.c:3379 fe-exec.c:3402
+#: fe-exec.c:3517 fe-exec.c:3540
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "номер столбца %d вне диапазона 0..%d"
 
-#: fe-exec.c:3417
+#: fe-exec.c:3555
 #, c-format
 msgid "parameter number %d is out of range 0..%d"
 msgstr "номер параметра %d вне диапазона 0..%d"
 
-#: fe-exec.c:3728
+#: fe-exec.c:3866
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "не удалось интерпретировать ответ сервера: %s"
 
-#: fe-exec.c:3993 fe-exec.c:4083
+#: fe-exec.c:4127 fe-exec.c:4217
 #, c-format
 msgid "incomplete multibyte character"
 msgstr "неполный многобайтный символ"
@@ -1039,23 +1082,18 @@ msgstr "не удалось записать файл \"%s\": %s"
 msgid "query to initialize large object functions did not return data"
 msgstr "запрос инициализации функций для больших объектов не вернул данные"
 
-#: fe-misc.c:240
+#: fe-misc.c:239
 #, c-format
 msgid "integer of size %lu not supported by pqGetInt"
 msgstr "функция pqGetInt не поддерживает integer размером %lu байт"
 
-#: fe-misc.c:273
+#: fe-misc.c:272
 #, c-format
 msgid "integer of size %lu not supported by pqPutInt"
 msgstr "функция pqPutInt не поддерживает integer размером %lu байт"
 
-#: fe-misc.c:573
-#, c-format
-msgid "connection not open"
-msgstr "соединение не открыто"
-
-#: fe-misc.c:751 fe-secure-openssl.c:210 fe-secure-openssl.c:316
-#: fe-secure.c:259 fe-secure.c:426
+#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309
+#: fe-secure.c:237 fe-secure.c:404
 #, c-format
 msgid ""
 "server closed the connection unexpectedly\n"
@@ -1066,31 +1104,31 @@ msgstr ""
 "\tСкорее всего сервер прекратил работу из-за сбоя\n"
 "\tдо или в процессе выполнения запроса."
 
-#: fe-misc.c:818
+#: fe-misc.c:817
 msgid "connection not open\n"
 msgstr "соединение не открыто\n"
 
-#: fe-misc.c:1003
+#: fe-misc.c:1005
 #, c-format
 msgid "timeout expired"
 msgstr "тайм-аут"
 
-#: fe-misc.c:1047
+#: fe-misc.c:1049
 #, c-format
 msgid "invalid socket"
 msgstr "неверный сокет"
 
-#: fe-misc.c:1069
+#: fe-misc.c:1071
 #, c-format
 msgid "%s() failed: %s"
 msgstr "ошибка в %s(): %s"
 
-#: fe-protocol3.c:182
+#: fe-protocol3.c:187
 #, c-format
 msgid "message type 0x%02x arrived from server while idle"
 msgstr "от сервера во время простоя получено сообщение типа 0x%02x"
 
-#: fe-protocol3.c:380
+#: fe-protocol3.c:402
 #, c-format
 msgid ""
 "server sent data (\"D\" message) without prior row description (\"T\" "
@@ -1099,117 +1137,117 @@ msgstr ""
 "сервер отправил данные (сообщение \"D\") без предварительного описания "
 "строки (сообщение \"T\")"
 
-#: fe-protocol3.c:422
+#: fe-protocol3.c:444
 #, c-format
 msgid "unexpected response from server; first received character was \"%c\""
 msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\""
 
-#: fe-protocol3.c:445
+#: fe-protocol3.c:467
 #, c-format
 msgid "message contents do not agree with length in message type \"%c\""
 msgstr "содержимое не соответствует длине в сообщении типа \"%c\""
 
-#: fe-protocol3.c:463
+#: fe-protocol3.c:485
 #, c-format
 msgid "lost synchronization with server: got message type \"%c\", length %d"
 msgstr ""
 "потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d"
 
-#: fe-protocol3.c:515 fe-protocol3.c:555
+#: fe-protocol3.c:537 fe-protocol3.c:577
 msgid "insufficient data in \"T\" message"
 msgstr "недостаточно данных в сообщении \"T\""
 
-#: fe-protocol3.c:626 fe-protocol3.c:832
+#: fe-protocol3.c:648 fe-protocol3.c:854
 msgid "out of memory for query result"
 msgstr "недостаточно памяти для результата запроса"
 
-#: fe-protocol3.c:695
+#: fe-protocol3.c:717
 msgid "insufficient data in \"t\" message"
 msgstr "недостаточно данных в сообщении \"t\""
 
-#: fe-protocol3.c:754 fe-protocol3.c:786 fe-protocol3.c:804
+#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826
 msgid "insufficient data in \"D\" message"
 msgstr "недостаточно данных в сообщении \"D\""
 
-#: fe-protocol3.c:760
+#: fe-protocol3.c:782
 msgid "unexpected field count in \"D\" message"
 msgstr "неверное число полей в сообщении \"D\""
 
-#: fe-protocol3.c:1015
+#: fe-protocol3.c:1037
 msgid "no error message available\n"
 msgstr "нет сообщения об ошибке\n"
 
 #. translator: %s represents a digit string
-#: fe-protocol3.c:1063 fe-protocol3.c:1082
+#: fe-protocol3.c:1085 fe-protocol3.c:1104
 #, c-format
 msgid " at character %s"
 msgstr " символ %s"
 
-#: fe-protocol3.c:1095
+#: fe-protocol3.c:1117
 #, c-format
 msgid "DETAIL:  %s\n"
 msgstr "ПОДРОБНОСТИ:  %s\n"
 
-#: fe-protocol3.c:1098
+#: fe-protocol3.c:1120
 #, c-format
 msgid "HINT:  %s\n"
 msgstr "ПОДСКАЗКА:  %s\n"
 
-#: fe-protocol3.c:1101
+#: fe-protocol3.c:1123
 #, c-format
 msgid "QUERY:  %s\n"
 msgstr "ЗАПРОС:  %s\n"
 
-#: fe-protocol3.c:1108
+#: fe-protocol3.c:1130
 #, c-format
 msgid "CONTEXT:  %s\n"
 msgstr "КОНТЕКСТ:  %s\n"
 
-#: fe-protocol3.c:1117
+#: fe-protocol3.c:1139
 #, c-format
 msgid "SCHEMA NAME:  %s\n"
 msgstr "СХЕМА:  %s\n"
 
-#: fe-protocol3.c:1121
+#: fe-protocol3.c:1143
 #, c-format
 msgid "TABLE NAME:  %s\n"
 msgstr "ТАБЛИЦА:  %s\n"
 
-#: fe-protocol3.c:1125
+#: fe-protocol3.c:1147
 #, c-format
 msgid "COLUMN NAME:  %s\n"
 msgstr "СТОЛБЕЦ:  %s\n"
 
-#: fe-protocol3.c:1129
+#: fe-protocol3.c:1151
 #, c-format
 msgid "DATATYPE NAME:  %s\n"
 msgstr "ТИП ДАННЫХ:  %s\n"
 
-#: fe-protocol3.c:1133
+#: fe-protocol3.c:1155
 #, c-format
 msgid "CONSTRAINT NAME:  %s\n"
 msgstr "ОГРАНИЧЕНИЕ:  %s\n"
 
-#: fe-protocol3.c:1145
+#: fe-protocol3.c:1167
 msgid "LOCATION:  "
 msgstr "ПОЛОЖЕНИЕ:  "
 
-#: fe-protocol3.c:1147
+#: fe-protocol3.c:1169
 #, c-format
 msgid "%s, "
 msgstr "%s, "
 
-#: fe-protocol3.c:1149
+#: fe-protocol3.c:1171
 #, c-format
 msgid "%s:%s"
 msgstr "%s:%s"
 
-#: fe-protocol3.c:1344
+#: fe-protocol3.c:1366
 #, c-format
 msgid "LINE %d: "
 msgstr "СТРОКА %d: "
 
-#: fe-protocol3.c:1418
+#: fe-protocol3.c:1440
 #, c-format
 msgid ""
 "protocol version not supported by server: client uses %u.%u, server supports "
@@ -1218,7 +1256,7 @@ msgstr ""
 "сервер не поддерживает нужную версию протокола: клиент использует %u.%u, "
 "сервер поддерживает версии до %u.%u"
 
-#: fe-protocol3.c:1424
+#: fe-protocol3.c:1446
 #, c-format
 msgid "protocol extension not supported by server: %s"
 msgid_plural "protocol extensions not supported by server: %s"
@@ -1226,22 +1264,22 @@ msgstr[0] "сервер не поддерживает это расширени
 msgstr[1] "сервер не поддерживает эти расширения протокола: %s"
 msgstr[2] "сервер не поддерживает эти расширения протокола: %s"
 
-#: fe-protocol3.c:1432
+#: fe-protocol3.c:1454
 #, c-format
 msgid "invalid %s message"
 msgstr "неверное сообщение %s"
 
-#: fe-protocol3.c:1797
+#: fe-protocol3.c:1819
 #, c-format
 msgid "PQgetline: not doing text COPY OUT"
 msgstr "PQgetline можно вызывать только во время COPY OUT с текстом"
 
-#: fe-protocol3.c:2171
+#: fe-protocol3.c:2193
 #, c-format
 msgid "protocol error: no function result"
 msgstr "ошибка протокола: нет результата функции"
 
-#: fe-protocol3.c:2182
+#: fe-protocol3.c:2204
 #, c-format
 msgid "protocol error: id=0x%x"
 msgstr "ошибка протокола: id=0x%x"
@@ -1334,92 +1372,92 @@ msgstr "ошибка проверки размера в GSSAPI"
 msgid "GSSAPI context establishment error"
 msgstr "ошибка установления контекста в GSSAPI"
 
-#: fe-secure-openssl.c:214 fe-secure-openssl.c:320 fe-secure-openssl.c:1518
+#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524
 #, c-format
 msgid "SSL SYSCALL error: %s"
 msgstr "ошибка SSL SYSCALL: %s"
 
-#: fe-secure-openssl.c:220 fe-secure-openssl.c:326 fe-secure-openssl.c:1521
+#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527
 #, c-format
 msgid "SSL SYSCALL error: EOF detected"
 msgstr "ошибка SSL SYSCALL: конец файла (EOF)"
 
-#: fe-secure-openssl.c:230 fe-secure-openssl.c:336 fe-secure-openssl.c:1529
+#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535
 #, c-format
 msgid "SSL error: %s"
 msgstr "ошибка SSL: %s"
 
-#: fe-secure-openssl.c:244 fe-secure-openssl.c:350
+#: fe-secure-openssl.c:237 fe-secure-openssl.c:343
 #, c-format
 msgid "SSL connection has been closed unexpectedly"
 msgstr "SSL-соединение было неожиданно закрыто"
 
-#: fe-secure-openssl.c:249 fe-secure-openssl.c:355 fe-secure-openssl.c:1576
+#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "нераспознанный код ошибки SSL: %d"
 
-#: fe-secure-openssl.c:398
+#: fe-secure-openssl.c:390
 #, c-format
 msgid "could not determine server certificate signature algorithm"
 msgstr "не удалось определить алгоритм подписи сертификата сервера"
 
-#: fe-secure-openssl.c:418
+#: fe-secure-openssl.c:410
 #, c-format
 msgid "could not find digest for NID %s"
 msgstr "не удалось найти алгоритм хеширования по NID %s"
 
-#: fe-secure-openssl.c:427
+#: fe-secure-openssl.c:419
 #, c-format
 msgid "could not generate peer certificate hash"
 msgstr "не удалось сгенерировать хеш сертификата сервера"
 
-#: fe-secure-openssl.c:510
+#: fe-secure-openssl.c:501
 #, c-format
 msgid "SSL certificate's name entry is missing"
 msgstr "в SSL-сертификате отсутствует запись имени"
 
-#: fe-secure-openssl.c:544
+#: fe-secure-openssl.c:535
 #, c-format
 msgid "SSL certificate's address entry is missing"
 msgstr "в SSL-сертификате отсутствует запись адреса"
 
-#: fe-secure-openssl.c:945
+#: fe-secure-openssl.c:935
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "не удалось создать контекст SSL: %s"
 
-#: fe-secure-openssl.c:987
+#: fe-secure-openssl.c:977
 #, c-format
 msgid "invalid value \"%s\" for minimum SSL protocol version"
 msgstr "неверное значение \"%s\" для минимальной версии протокола SSL"
 
-#: fe-secure-openssl.c:997
+#: fe-secure-openssl.c:987
 #, c-format
 msgid "could not set minimum SSL protocol version: %s"
 msgstr "не удалось задать минимальную версию протокола SSL: %s"
 
-#: fe-secure-openssl.c:1013
+#: fe-secure-openssl.c:1003
 #, c-format
 msgid "invalid value \"%s\" for maximum SSL protocol version"
 msgstr "неверное значение \"%s\" для максимальной версии протокола SSL"
 
-#: fe-secure-openssl.c:1023
+#: fe-secure-openssl.c:1013
 #, c-format
 msgid "could not set maximum SSL protocol version: %s"
 msgstr "не удалось задать максимальную версию протокола SSL: %s"
 
-#: fe-secure-openssl.c:1061
+#: fe-secure-openssl.c:1051
 #, c-format
 msgid "could not load system root certificate paths: %s"
 msgstr "не удалось выбрать системные пути для корневых сертификатов: %s"
 
-#: fe-secure-openssl.c:1078
+#: fe-secure-openssl.c:1068
 #, c-format
 msgid "could not read root certificate file \"%s\": %s"
 msgstr "не удалось прочитать файл корневых сертификатов \"%s\": %s"
 
-#: fe-secure-openssl.c:1130
+#: fe-secure-openssl.c:1120
 #, c-format
 msgid ""
 "could not get home directory to locate root certificate file\n"
@@ -1432,7 +1470,7 @@ msgstr ""
 "(sslrootcert=system) или отключите проверку сертификата сервера, изменив "
 "sslmode."
 
-#: fe-secure-openssl.c:1133
+#: fe-secure-openssl.c:1123
 #, c-format
 msgid ""
 "root certificate file \"%s\" does not exist\n"
@@ -1445,62 +1483,67 @@ msgstr ""
 "(sslrootcert=system) или отключите проверку сертификата сервера, изменив "
 "sslmode."
 
-#: fe-secure-openssl.c:1168
+#: fe-secure-openssl.c:1158
 #, c-format
 msgid "could not open certificate file \"%s\": %s"
 msgstr "не удалось открыть файл сертификата \"%s\": %s"
 
-#: fe-secure-openssl.c:1186
+#: fe-secure-openssl.c:1176
 #, c-format
 msgid "could not read certificate file \"%s\": %s"
 msgstr "не удалось прочитать файл сертификата \"%s\": %s"
 
-#: fe-secure-openssl.c:1210
+#: fe-secure-openssl.c:1200
 #, c-format
 msgid "could not establish SSL connection: %s"
 msgstr "не удалось установить SSL-соединение: %s"
 
-#: fe-secure-openssl.c:1242
+#: fe-secure-openssl.c:1232
 #, c-format
 msgid "could not set SSL Server Name Indication (SNI): %s"
 msgstr "не удалось задать SNI (Server Name Indication) для SSL-подключения: %s"
 
-#: fe-secure-openssl.c:1286
+#: fe-secure-openssl.c:1249
+#, c-format
+msgid "could not set SSL ALPN extension: %s"
+msgstr "не удалось установить расширение SSL ALPN: %s"
+
+#: fe-secure-openssl.c:1292
 #, c-format
 msgid "could not load SSL engine \"%s\": %s"
 msgstr "не удалось загрузить модуль SSL ENGINE \"%s\": %s"
 
-#: fe-secure-openssl.c:1297
+#: fe-secure-openssl.c:1303
 #, c-format
 msgid "could not initialize SSL engine \"%s\": %s"
 msgstr "не удалось инициализировать модуль SSL ENGINE \"%s\": %s"
 
-#: fe-secure-openssl.c:1312
+#: fe-secure-openssl.c:1318
 #, c-format
 msgid "could not read private SSL key \"%s\" from engine \"%s\": %s"
 msgstr "не удалось прочитать закрытый ключ SSL \"%s\" из модуля \"%s\": %s"
 
-#: fe-secure-openssl.c:1325
+#: fe-secure-openssl.c:1331
 #, c-format
 msgid "could not load private SSL key \"%s\" from engine \"%s\": %s"
 msgstr "не удалось загрузить закрытый ключ SSL \"%s\" из модуля \"%s\": %s"
 
-#: fe-secure-openssl.c:1362
+#: fe-secure-openssl.c:1368
 #, c-format
 msgid "certificate present, but not private key file \"%s\""
 msgstr "при наличии сертификата отсутствует файл закрытого ключа \"%s\""
 
-#: fe-secure-openssl.c:1365
+#: fe-secure-openssl.c:1371
 #, c-format
 msgid "could not stat private key file \"%s\": %m"
 msgstr "не удалось получить информацию о файле закрытого ключа \"%s\": %m"
 
-#: fe-secure-openssl.c:1373
+#: fe-secure-openssl.c:1379
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "файл закрытого ключа \"%s\" - не обычный файл"
 
-#: fe-secure-openssl.c:1406
+#: fe-secure-openssl.c:1412
 #, c-format
 msgid ""
 "private key file \"%s\" has group or world access; file must have "
@@ -1512,22 +1555,22 @@ msgstr ""
 "текущему пользователю, либо u=rw,g=r (0640) или более строгие, если он "
 "принадлежит root"
 
-#: fe-secure-openssl.c:1430
+#: fe-secure-openssl.c:1436
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s"
 
-#: fe-secure-openssl.c:1446
+#: fe-secure-openssl.c:1452
 #, c-format
 msgid "certificate does not match private key file \"%s\": %s"
 msgstr "сертификат не соответствует файлу закрытого ключа \"%s\": %s"
 
-#: fe-secure-openssl.c:1515
+#: fe-secure-openssl.c:1521
 #, c-format
 msgid "SSL error: certificate verify failed: %s"
 msgstr "ошибка SSL: не удалось проверить сертификат: %s"
 
-#: fe-secure-openssl.c:1560
+#: fe-secure-openssl.c:1566
 #, c-format
 msgid ""
 "This may indicate that the server does not support any SSL protocol version "
@@ -1536,32 +1579,44 @@ msgstr ""
 "Это может указывать на то, что сервер не поддерживает ни одну версию "
 "протокола SSL между %s и %s."
 
-#: fe-secure-openssl.c:1593
+#: fe-secure-openssl.c:1598
+#, c-format
+msgid ""
+"direct SSL connection was established without ALPN protocol negotiation "
+"extension"
+msgstr "прямое SSL-соединение было установлено без расширения ALPN"
+
+#: fe-secure-openssl.c:1610
+#, c-format
+msgid "SSL connection was established with unexpected ALPN protocol"
+msgstr "SSL-соединение было установлено с неподдерживаемым протоколом ALPN"
+
+#: fe-secure-openssl.c:1627
 #, c-format
 msgid "certificate could not be obtained: %s"
 msgstr "не удалось получить сертификат: %s"
 
-#: fe-secure-openssl.c:1699
+#: fe-secure-openssl.c:1734
 #, c-format
 msgid "no SSL error reported"
 msgstr "нет сообщения об ошибке SSL"
 
-#: fe-secure-openssl.c:1724
+#: fe-secure-openssl.c:1777
 #, c-format
 msgid "SSL error code %lu"
 msgstr "код ошибки SSL: %lu"
 
-#: fe-secure-openssl.c:2014
+#: fe-secure-openssl.c:2076
 #, c-format
 msgid "WARNING: sslpassword truncated\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: значение sslpassword усечено\n"
 
-#: fe-secure.c:270
+#: fe-secure.c:248
 #, c-format
 msgid "could not receive data from server: %s"
 msgstr "не удалось получить данные с сервера: %s"
 
-#: fe-secure.c:441
+#: fe-secure.c:419
 #, c-format
 msgid "could not send data to server: %s"
 msgstr "не удалось передать данные серверу: %s"
index c6be3badc0d35e4c7e565f78b7d1235985c84502..0889dfb2f8ebc8365b7de475df163ecd35ccef09 100644 (file)
@@ -1,10 +1,10 @@
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2021, 2022.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_amcheck (PostgreSQL) 14\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2022-09-05 13:33+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-05 08:23+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -32,11 +32,78 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
+#: ../../common/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
+
+#: ../../common/username.c:45
+msgid "user does not exist"
+msgstr "пользователь не существует"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
+
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Сигнал отмены отправлен\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "Отправить сигнал отмены не удалось: "
 
@@ -60,160 +127,203 @@ msgstr "неверное значение \"%s\" для параметра %s"
 msgid "%s must be in range %d..%d"
 msgstr "значение %s должно быть в диапазоне %d..%d"
 
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: ../../fe_utils/parallel_slot.c:317
+#, c-format
+msgid "too many jobs for this platform: %d"
+msgstr "слишком много заданий для этой платформы: %d"
+
+#: ../../fe_utils/parallel_slot.c:326
+#, c-format
+msgid "socket file descriptor out of range for select(): %d"
+msgstr "дескриптор файла сокета вне диапазона, допустимого для select(): %d"
+
+#: ../../fe_utils/parallel_slot.c:328
+#, c-format
+msgid "Try fewer jobs."
+msgstr "Попробуйте уменьшить количество заданий."
+
+#: ../../fe_utils/parallel_slot.c:553
+#, c-format
+msgid "processing of database \"%s\" failed: %s"
+msgstr "ошибка при обработке базы \"%s\": %s"
+
 #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58
-#: pg_amcheck.c:1647 pg_amcheck.c:2092
+#: pg_amcheck.c:1693 pg_amcheck.c:2138
 #, c-format
 msgid "query failed: %s"
 msgstr "ошибка при выполнении запроса: %s"
 
 #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59
-#: pg_amcheck.c:571 pg_amcheck.c:1102 pg_amcheck.c:1648 pg_amcheck.c:2093
+#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139
 #, c-format
 msgid "Query was: %s"
 msgstr "Выполнялся запрос: %s"
 
-#: pg_amcheck.c:399
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
+#: pg_amcheck.c:403
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "недопустимый аргумент параметра %s"
 
-#: pg_amcheck.c:405
+#: pg_amcheck.c:409
 #, c-format
 msgid "invalid start block"
 msgstr "неверный начальный блок"
 
-#: pg_amcheck.c:407
+#: pg_amcheck.c:411
 #, c-format
 msgid "start block out of bounds"
 msgstr "начальный блок вне допустимых пределов"
 
-#: pg_amcheck.c:414
+#: pg_amcheck.c:418
 #, c-format
 msgid "invalid end block"
 msgstr "неверный конечный блок"
 
-#: pg_amcheck.c:416
+#: pg_amcheck.c:420
 #, c-format
 msgid "end block out of bounds"
 msgstr "конечный блок вне допустимых пределов"
 
-#: pg_amcheck.c:439 pg_amcheck.c:461
+#: pg_amcheck.c:446 pg_amcheck.c:468
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_amcheck.c:445
+#: pg_amcheck.c:452
 #, c-format
 msgid "end block precedes start block"
 msgstr "конечный блок предшествует начальному"
 
-#: pg_amcheck.c:459
+#: pg_amcheck.c:466
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_amcheck.c:479
+#: pg_amcheck.c:486
 #, c-format
 msgid "cannot specify a database name with --all"
 msgstr "имя базы данных нельзя задавать с --all"
 
-#: pg_amcheck.c:485
+#: pg_amcheck.c:492
 #, c-format
 msgid "cannot specify both a database name and database patterns"
 msgstr "нельзя задавать одновременно имя базы данных и шаблоны имён"
 
-#: pg_amcheck.c:513
+#: pg_amcheck.c:520
 #, c-format
 msgid "no databases to check"
 msgstr "не указаны базы для проверки"
 
-#: pg_amcheck.c:569
+#: pg_amcheck.c:576
 #, c-format
 msgid "database \"%s\": %s"
 msgstr "база данных \"%s\": %s"
 
-#: pg_amcheck.c:580
+#: pg_amcheck.c:587
 #, c-format
 msgid "skipping database \"%s\": amcheck is not installed"
 msgstr "база \"%s\" пропускается: расширение amcheck не установлено"
 
-#: pg_amcheck.c:588
+#: pg_amcheck.c:595
 #, c-format
 msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\""
 msgstr "база \"%s\": используется amcheck версии \"%s\" в схеме \"%s\""
 
-#: pg_amcheck.c:610
+#: pg_amcheck.c:624
+#, c-format
+msgid "option %s is not supported by amcheck version %s"
+msgstr "параметр %s не поддерживается версией amcheck %s"
+
+#: pg_amcheck.c:650
 #, c-format
 msgid "no heap tables to check matching \"%s\""
 msgstr "не найдены подлежащие проверке базовые таблицы, соответствующие \"%s\""
 
-#: pg_amcheck.c:613
+#: pg_amcheck.c:653
 #, c-format
 msgid "no btree indexes to check matching \"%s\""
 msgstr "не найдены подлежащие проверке индексы btree, соответствующие \"%s\""
 
-#: pg_amcheck.c:616
+#: pg_amcheck.c:656
 #, c-format
 msgid "no relations to check in schemas matching \"%s\""
 msgstr ""
 "не найдены подлежащие проверке отношения в схемах, соответствующих \"%s\""
 
-#: pg_amcheck.c:619
+#: pg_amcheck.c:659
 #, c-format
 msgid "no relations to check matching \"%s\""
 msgstr "не найдены подлежащие проверке отношения, соответствующие \"%s\""
 
-#: pg_amcheck.c:647
+#: pg_amcheck.c:687
 #, c-format
 msgid "no relations to check"
 msgstr "не найдены отношения для проверки"
 
-#: pg_amcheck.c:730
+#: pg_amcheck.c:770
 #, c-format
 msgid "checking heap table \"%s.%s.%s\""
 msgstr "проверка базовой таблицы \"%s.%s.%s\""
 
-#: pg_amcheck.c:746
+#: pg_amcheck.c:786
 #, c-format
 msgid "checking btree index \"%s.%s.%s\""
 msgstr "проверка индекса btree \"%s.%s.%s\""
 
-#: pg_amcheck.c:893
+#: pg_amcheck.c:937
 #, c-format
 msgid "error sending command to database \"%s\": %s"
 msgstr "ошибка передачи команды базе \"%s\": %s"
 
-#: pg_amcheck.c:896
+#: pg_amcheck.c:940
 #, c-format
 msgid "Command was: %s"
 msgstr "Выполнялась команда: %s"
 
-#: pg_amcheck.c:1015
+#: pg_amcheck.c:1060
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n"
 msgstr "базовая таблица \"%s.%s.%s\", блок %s, смещение %s, атрибут %s:\n"
 
-#: pg_amcheck.c:1022
+#: pg_amcheck.c:1067
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n"
 msgstr "базовая таблица \"%s.%s.%s\", блок %s, смещение %s:\n"
 
-#: pg_amcheck.c:1028
+#: pg_amcheck.c:1073
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s:\n"
 msgstr "базовая таблица \"%s.%s.%s\", блок %s:\n"
 
-#: pg_amcheck.c:1033 pg_amcheck.c:1044
+#: pg_amcheck.c:1078 pg_amcheck.c:1089
 #, c-format
 msgid "heap table \"%s.%s.%s\":\n"
 msgstr "базовая таблица \"%s.%s.%s\":\n"
 
-#: pg_amcheck.c:1048 pg_amcheck.c:1117
+#: pg_amcheck.c:1093 pg_amcheck.c:1162
 #, c-format
 msgid "query was: %s\n"
 msgstr "запрос: %s\n"
 
-#: pg_amcheck.c:1099
+#: pg_amcheck.c:1144
 #, c-format
 msgid ""
 "btree index \"%s.%s.%s\": btree checking function returned unexpected number "
@@ -222,17 +332,17 @@ msgstr ""
 "индекс btree \"%s.%s.%s\": функция проверки btree выдала неожиданное "
 "количество строк: %d"
 
-#: pg_amcheck.c:1103
+#: pg_amcheck.c:1148
 #, c-format
 msgid "Are %s's and amcheck's versions compatible?"
 msgstr "Совместимы ли версии %s и amcheck?"
 
-#: pg_amcheck.c:1113
+#: pg_amcheck.c:1158
 #, c-format
 msgid "btree index \"%s.%s.%s\":\n"
 msgstr "индекс btree \"%s.%s.%s\":\n"
 
-#: pg_amcheck.c:1138
+#: pg_amcheck.c:1183
 #, c-format
 msgid ""
 "%s checks objects in a PostgreSQL database for corruption.\n"
@@ -241,17 +351,17 @@ msgstr ""
 "%s проверяет объекты в базе данных PostgreSQL на предмет повреждений.\n"
 "\n"
 
-#: pg_amcheck.c:1139
+#: pg_amcheck.c:1184
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_amcheck.c:1140
+#: pg_amcheck.c:1185
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: pg_amcheck.c:1141
+#: pg_amcheck.c:1186
 #, c-format
 msgid ""
 "\n"
@@ -260,77 +370,77 @@ msgstr ""
 "\n"
 "Параметры выбора объектов:\n"
 
-#: pg_amcheck.c:1142
+#: pg_amcheck.c:1187
 #, c-format
 msgid "  -a, --all                       check all databases\n"
 msgstr "  -a, --all                       проверить все базы\n"
 
-#: pg_amcheck.c:1143
+#: pg_amcheck.c:1188
 #, c-format
 msgid "  -d, --database=PATTERN          check matching database(s)\n"
 msgstr ""
 "  -d, --database=ШАБЛОН           проверить соответствующие шаблону базы\n"
 
-#: pg_amcheck.c:1144
+#: pg_amcheck.c:1189
 #, c-format
 msgid "  -D, --exclude-database=PATTERN  do NOT check matching database(s)\n"
 msgstr ""
 "  -D, --exclude-database=ШАБЛОН   не проверять соответствующие шаблону базы\n"
 
-#: pg_amcheck.c:1145
+#: pg_amcheck.c:1190
 #, c-format
 msgid "  -i, --index=PATTERN             check matching index(es)\n"
 msgstr ""
 "  -i, --index=ШАБЛОН              проверить соответствующие шаблону индексы\n"
 
-#: pg_amcheck.c:1146
+#: pg_amcheck.c:1191
 #, c-format
 msgid "  -I, --exclude-index=PATTERN     do NOT check matching index(es)\n"
 msgstr ""
 "  -I, --exclude-index=ШАБЛОН      не проверять соответствующие шаблону "
 "индексы\n"
 
-#: pg_amcheck.c:1147
+#: pg_amcheck.c:1192
 #, c-format
 msgid "  -r, --relation=PATTERN          check matching relation(s)\n"
 msgstr ""
 "  -r, --relation=ШАБЛОН           проверить соответствующие шаблону "
 "отношения\n"
 
-#: pg_amcheck.c:1148
+#: pg_amcheck.c:1193
 #, c-format
 msgid "  -R, --exclude-relation=PATTERN  do NOT check matching relation(s)\n"
 msgstr ""
 "  -R, --exclude-relation=ШАБЛОН   не проверять соответствующие шаблону "
 "отношения\n"
 
-#: pg_amcheck.c:1149
+#: pg_amcheck.c:1194
 #, c-format
 msgid "  -s, --schema=PATTERN            check matching schema(s)\n"
 msgstr ""
 "  -s, --schema=ШАБЛОН             проверить соответствующие шаблону схемы\n"
 
-#: pg_amcheck.c:1150
+#: pg_amcheck.c:1195
 #, c-format
 msgid "  -S, --exclude-schema=PATTERN    do NOT check matching schema(s)\n"
 msgstr ""
 "  -S, --exclude-schema=ШАБЛОН     не проверять соответствующие шаблону "
 "схемы\n"
 
-#: pg_amcheck.c:1151
+#: pg_amcheck.c:1196
 #, c-format
 msgid "  -t, --table=PATTERN             check matching table(s)\n"
 msgstr ""
 "  -t, --table=ШАБЛОН              проверить соответствующие шаблону таблицы\n"
 
-#: pg_amcheck.c:1152
+#: pg_amcheck.c:1197
 #, c-format
 msgid "  -T, --exclude-table=PATTERN     do NOT check matching table(s)\n"
 msgstr ""
 "  -T, --exclude-table=ШАБЛОН      не проверять соответствующие шаблону "
 "таблицы\n"
 
-#: pg_amcheck.c:1153
+#: pg_amcheck.c:1198
 #, c-format
 msgid ""
 "      --no-dependent-indexes      do NOT expand list of relations to include "
@@ -339,7 +449,7 @@ msgstr ""
 "      --no-dependent-indexes      не включать в список проверяемых отношений "
 "индексы\n"
 
-#: pg_amcheck.c:1154
+#: pg_amcheck.c:1199
 #, c-format
 msgid ""
 "      --no-dependent-toast        do NOT expand list of relations to include "
@@ -348,7 +458,7 @@ msgstr ""
 "      --no-dependent-toast        не включать в список проверяемых отношений "
 "TOAST-таблицы\n"
 
-#: pg_amcheck.c:1155
+#: pg_amcheck.c:1200
 #, c-format
 msgid ""
 "      --no-strict-names           do NOT require patterns to match objects\n"
@@ -356,7 +466,7 @@ msgstr ""
 "      --no-strict-names           не требовать наличия объектов, "
 "соответствующих шаблонам\n"
 
-#: pg_amcheck.c:1156
+#: pg_amcheck.c:1201
 #, c-format
 msgid ""
 "\n"
@@ -365,14 +475,14 @@ msgstr ""
 "\n"
 "Параметры проверки таблиц:\n"
 
-#: pg_amcheck.c:1157
+#: pg_amcheck.c:1202
 #, c-format
 msgid ""
 "      --exclude-toast-pointers    do NOT follow relation TOAST pointers\n"
 msgstr ""
 "      --exclude-toast-pointers    не переходить по указателям в TOAST\n"
 
-#: pg_amcheck.c:1158
+#: pg_amcheck.c:1203
 #, c-format
 msgid ""
 "      --on-error-stop             stop checking at end of first corrupt "
@@ -381,7 +491,7 @@ msgstr ""
 "      --on-error-stop             прекратить проверку по достижении конца "
 "первой повреждённой страницы\n"
 
-#: pg_amcheck.c:1159
+#: pg_amcheck.c:1204
 #, c-format
 msgid ""
 "      --skip=OPTION               do NOT check \"all-frozen\" or \"all-"
@@ -390,7 +500,7 @@ msgstr ""
 "      --skip=ТИП_БЛОКА            не проверять блоки типа \"all-frozen\" или "
 "\"all-visible\"\n"
 
-#: pg_amcheck.c:1160
+#: pg_amcheck.c:1205
 #, c-format
 msgid ""
 "      --startblock=BLOCK          begin checking table(s) at the given block "
@@ -400,7 +510,7 @@ msgstr ""
 "заданным номером\n"
 
 # skip-rule: no-space-before-parentheses
-#: pg_amcheck.c:1161
+#: pg_amcheck.c:1206
 #, c-format
 msgid ""
 "      --endblock=BLOCK            check table(s) only up to the given block "
@@ -409,7 +519,7 @@ msgstr ""
 "      --endblock=БЛОК             проверить таблицы(у) до блока с заданным "
 "номером\n"
 
-#: pg_amcheck.c:1162
+#: pg_amcheck.c:1207
 #, c-format
 msgid ""
 "\n"
@@ -418,7 +528,16 @@ msgstr ""
 "\n"
 "Параметры проверки индексов-B-деревьев:\n"
 
-#: pg_amcheck.c:1163
+#: pg_amcheck.c:1208
+#, c-format
+msgid ""
+"      --checkunique               check unique constraint if index is "
+"unique\n"
+msgstr ""
+"      --checkunique               проверить ограничение уникальности для "
+"уникальных индексов\n"
+
+#: pg_amcheck.c:1209
 #, c-format
 msgid ""
 "      --heapallindexed            check that all heap tuples are found "
@@ -427,7 +546,7 @@ msgstr ""
 "      --heapallindexed            проверить, что всем кортежам кучи "
 "находится соответствие в индексах\n"
 
-#: pg_amcheck.c:1164
+#: pg_amcheck.c:1210
 #, c-format
 msgid ""
 "      --parent-check              check index parent/child relationships\n"
@@ -435,7 +554,7 @@ msgstr ""
 "      --parent-check              проверить связи родитель/потомок в "
 "индексах\n"
 
-#: pg_amcheck.c:1165
+#: pg_amcheck.c:1211
 #, c-format
 msgid ""
 "      --rootdescend               search from root page to refind tuples\n"
@@ -443,7 +562,7 @@ msgstr ""
 "      --rootdescend               перепроверять поиск кортежей от корневой "
 "страницы\n"
 
-#: pg_amcheck.c:1166
+#: pg_amcheck.c:1212
 #, c-format
 msgid ""
 "\n"
@@ -452,42 +571,42 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_amcheck.c:1167
+#: pg_amcheck.c:1213
 #, c-format
 msgid ""
 "  -h, --host=HOSTNAME             database server host or socket directory\n"
 msgstr ""
-"  -h, --host=Ð\98Ð\9cЯ                  Ð¸Ð¼Ñ\8f Ñ\81еÑ\80веÑ\80а Ð±Ð°Ð· Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð»Ð¸ ÐºÐ°Ñ\82алог "
-"сокетов\n"
+"  -h, --host=Ð\98Ð\9cЯ                  ÐºÐ¾Ð¼Ð¿Ñ\8cÑ\8eÑ\82еÑ\80 Ñ\81 Ñ\81еÑ\80веÑ\80ом Ð±Ð°Ð· Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð»Ð¸ "
+"каталог сокетов\n"
 
-#: pg_amcheck.c:1168
+#: pg_amcheck.c:1214
 #, c-format
 msgid "  -p, --port=PORT                 database server port\n"
 msgstr "  -p, --port=ПОРТ                 порт сервера баз данных\n"
 
-#: pg_amcheck.c:1169
+#: pg_amcheck.c:1215
 #, c-format
 msgid "  -U, --username=USERNAME         user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ              имя пользователя для подключения к "
 "серверу\n"
 
-#: pg_amcheck.c:1170
+#: pg_amcheck.c:1216
 #, c-format
 msgid "  -w, --no-password               never prompt for password\n"
 msgstr "  -w, --no-password               не запрашивать пароль\n"
 
-#: pg_amcheck.c:1171
+#: pg_amcheck.c:1217
 #, c-format
 msgid "  -W, --password                  force password prompt\n"
 msgstr "  -W, --password                  запросить пароль\n"
 
-#: pg_amcheck.c:1172
+#: pg_amcheck.c:1218
 #, c-format
 msgid "      --maintenance-db=DBNAME     alternate maintenance database\n"
 msgstr "      --maintenance-db=ИМЯ_БД     другая опорная база данных\n"
 
-#: pg_amcheck.c:1173
+#: pg_amcheck.c:1219
 #, c-format
 msgid ""
 "\n"
@@ -496,7 +615,7 @@ msgstr ""
 "\n"
 "Другие параметры:\n"
 
-#: pg_amcheck.c:1174
+#: pg_amcheck.c:1220
 #, c-format
 msgid ""
 "  -e, --echo                      show the commands being sent to the "
@@ -504,7 +623,7 @@ msgid ""
 msgstr ""
 "  -e, --echo                      отображать команды, отправляемые серверу\n"
 
-#: pg_amcheck.c:1175
+#: pg_amcheck.c:1221
 #, c-format
 msgid ""
 "  -j, --jobs=NUM                  use this many concurrent connections to "
@@ -513,33 +632,33 @@ msgstr ""
 "  -j, --jobs=ЧИСЛО                устанавливать заданное число подключений к "
 "серверу\n"
 
-#: pg_amcheck.c:1176
+#: pg_amcheck.c:1222
 #, c-format
 msgid "  -P, --progress                  show progress information\n"
 msgstr "  -P, --progress                  показывать прогресс операции\n"
 
-#: pg_amcheck.c:1177
+#: pg_amcheck.c:1223
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   выводить исчерпывающие сообщения\n"
 
-#: pg_amcheck.c:1178
+#: pg_amcheck.c:1224
 #, c-format
 msgid ""
 "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   показать версию и выйти\n"
 
-#: pg_amcheck.c:1179
+#: pg_amcheck.c:1225
 #, c-format
 msgid "      --install-missing           install missing extensions\n"
 msgstr "      --install-missing           установить недостающие расширения\n"
 
-#: pg_amcheck.c:1180
+#: pg_amcheck.c:1226
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      показать эту справку и выйти\n"
 
-#: pg_amcheck.c:1182
+#: pg_amcheck.c:1228
 #, c-format
 msgid ""
 "\n"
@@ -548,53 +667,53 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_amcheck.c:1183
+#: pg_amcheck.c:1229
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_amcheck.c:1236
+#: pg_amcheck.c:1282
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s"
 msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%) %*s"
 
-#: pg_amcheck.c:1247
+#: pg_amcheck.c:1293
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)"
 msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%) (%s%-*.*s)"
 
-#: pg_amcheck.c:1262
+#: pg_amcheck.c:1308
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)"
 msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%)"
 
-#: pg_amcheck.c:1321 pg_amcheck.c:1354
+#: pg_amcheck.c:1367 pg_amcheck.c:1400
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: pg_amcheck.c:1399
+#: pg_amcheck.c:1445
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: pg_amcheck.c:1552 pg_amcheck.c:1691
+#: pg_amcheck.c:1598 pg_amcheck.c:1737
 #, c-format
 msgid "including database \"%s\""
 msgstr "выбирается база \"%s\""
 
-#: pg_amcheck.c:1673
+#: pg_amcheck.c:1719
 #, c-format
 msgid "internal error: received unexpected database pattern_id %d"
 msgstr "внутренняя ошибка: получен неожиданный идентификатор шаблона базы %d"
 
-#: pg_amcheck.c:1675
+#: pg_amcheck.c:1721
 #, c-format
 msgid "no connectable databases to check matching \"%s\""
 msgstr ""
 "не найдены подлежащие проверке доступные базы, соответствующие шаблону \"%s\""
 
-#: pg_amcheck.c:2133
+#: pg_amcheck.c:2179
 #, c-format
 msgid "internal error: received unexpected relation pattern_id %d"
 msgstr ""
index c28de42aa18db5b9a841344352594ed76e24a07e..e04456d67d36507f9f8ea62f7327809a6841836f 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_archivecleanup
 # Copyright (C) 2017 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2019, 2020, 2022.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2019, 2020, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_archivecleanup (PostgreSQL) 10\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2022-08-27 14:52+0300\n"
-"PO-Revision-Date: 2022-09-05 13:34+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 06:17+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -37,43 +37,54 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
-#: pg_archivecleanup.c:66
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: pg_archivecleanup.c:68
 #, c-format
 msgid "archive location \"%s\" does not exist"
 msgstr "расположение архива \"%s\" не существует"
 
-#: pg_archivecleanup.c:151
+#: pg_archivecleanup.c:100
+#, c-format
+msgid "could not open archive location \"%s\": %m"
+msgstr "не удалось открыть расположение архива \"%s\": %m"
+
+#: pg_archivecleanup.c:164
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
-#: pg_archivecleanup.c:157
+#: pg_archivecleanup.c:169
 #, c-format
 msgid "could not read archive location \"%s\": %m"
 msgstr "не удалось прочитать расположение архива \"%s\": %m"
 
-#: pg_archivecleanup.c:160
+#: pg_archivecleanup.c:172
 #, c-format
 msgid "could not close archive location \"%s\": %m"
 msgstr "не удалось закрыть расположение архива \"%s\": %m"
 
-#: pg_archivecleanup.c:164
-#, c-format
-msgid "could not open archive location \"%s\": %m"
-msgstr "не удалось открыть расположение архива \"%s\": %m"
-
-#: pg_archivecleanup.c:237
+#: pg_archivecleanup.c:245
 #, c-format
 msgid "invalid file name argument"
 msgstr "неверный аргумент с именем файла"
 
-#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333
-#: pg_archivecleanup.c:345 pg_archivecleanup.c:352
+#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354
+#: pg_archivecleanup.c:366 pg_archivecleanup.c:373
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_archivecleanup.c:251
+#: pg_archivecleanup.c:259
 #, c-format
 msgid ""
 "%s removes older WAL files from PostgreSQL archives.\n"
@@ -82,18 +93,18 @@ msgstr ""
 "%s удаляет старые файлы WAL из архивов PostgreSQL.\n"
 "\n"
 
-#: pg_archivecleanup.c:252
+#: pg_archivecleanup.c:260
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_archivecleanup.c:253
+#: pg_archivecleanup.c:261
 #, c-format
 msgid "  %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n"
 msgstr ""
 "  %s [ПАРАМЕТР]... РАСПОЛОЖЕНИЕ_АРХИВА СТАРЕЙШИЙ_СОХРАНЯЕМЫЙ_ФАЙЛ_WAL\n"
 
-#: pg_archivecleanup.c:254
+#: pg_archivecleanup.c:262
 #, c-format
 msgid ""
 "\n"
@@ -102,36 +113,54 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: pg_archivecleanup.c:255
+#: pg_archivecleanup.c:263
 #, c-format
-msgid "  -d             generate debug output (verbose mode)\n"
-msgstr "  -d             генерировать подробные сообщения (отладочный режим)\n"
+msgid ""
+"  -b, --clean-backup-history  clean up files including backup history files\n"
+msgstr ""
+"  -b, --clean-backup-history  удалить также файлы истории копирования\n"
+
+#: pg_archivecleanup.c:264
+#, c-format
+msgid "  -d, --debug                 generate debug output (verbose mode)\n"
+msgstr ""
+"  -d, --debug                 генерировать подробные сообщения (режим "
+"отладки)\n"
 
-#: pg_archivecleanup.c:256
+#: pg_archivecleanup.c:265
 #, c-format
 msgid ""
-"  -n             dry run, show the names of the files that would be removed\n"
+"  -n, --dry-run               dry run, show the names of the files that "
+"would be\n"
+"                              removed\n"
 msgstr ""
-"  -n             холостой запуск, только показать имена файлов, которые "
-"будут удалены\n"
+"  -n, --dry-run               холостой запуск, только показать имена "
+"файлов,\n"
+"                              которые будут удалены\n"
 
-#: pg_archivecleanup.c:257
+#: pg_archivecleanup.c:267
 #, c-format
-msgid "  -V, --version  output version information, then exit\n"
-msgstr "  -V, --version  показать версию и выйти\n"
+msgid "  -V, --version               output version information, then exit\n"
+msgstr "  -V, --version               показать версию и выйти\n"
 
 # well-spelled: РСШ
-#: pg_archivecleanup.c:258
+#: pg_archivecleanup.c:268
 #, c-format
-msgid "  -x EXT         clean up files if they have this extension\n"
-msgstr "  -x РСШ         убрать файлы с заданным расширением\n"
+msgid ""
+"  -x, --strip-extension=EXT   strip this extension before identifying files "
+"for\n"
+"                              clean up\n"
+msgstr ""
+"  -x, --strip-extension=РСШ   убрать это расширение прежде чем определять "
+"файлы,\n"
+"                              подлежащие удалению\n"
 
-#: pg_archivecleanup.c:259
+#: pg_archivecleanup.c:270
 #, c-format
-msgid "  -?, --help     show this help, then exit\n"
-msgstr "  -?, --help     показать эту справку и выйти\n"
+msgid "  -?, --help                  show this help, then exit\n"
+msgstr "  -?, --help                  показать эту справку и выйти\n"
 
-#: pg_archivecleanup.c:260
+#: pg_archivecleanup.c:271
 #, c-format
 msgid ""
 "\n"
@@ -148,7 +177,7 @@ msgstr ""
 "например:\n"
 "  archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n"
 
-#: pg_archivecleanup.c:265
+#: pg_archivecleanup.c:276
 #, c-format
 msgid ""
 "\n"
@@ -163,7 +192,7 @@ msgstr ""
 "  pg_archivecleanup /mnt/server/archiverdir "
 "000000010000000000000010.00000020.backup\n"
 
-#: pg_archivecleanup.c:269
+#: pg_archivecleanup.c:280
 #, c-format
 msgid ""
 "\n"
@@ -172,26 +201,31 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_archivecleanup.c:270
+#: pg_archivecleanup.c:281
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_archivecleanup.c:332
+#: pg_archivecleanup.c:353
 #, c-format
 msgid "must specify archive location"
 msgstr "необходимо задать расположение архива"
 
-#: pg_archivecleanup.c:344
+#: pg_archivecleanup.c:365
 #, c-format
 msgid "must specify oldest kept WAL file"
 msgstr "необходимо задать имя старейшего сохраняемого файла WAL"
 
-#: pg_archivecleanup.c:351
+#: pg_archivecleanup.c:372
 #, c-format
 msgid "too many command-line arguments"
 msgstr "слишком много аргументов командной строки"
 
+# well-spelled: РСШ
+#, c-format
+#~ msgid "  -x EXT         clean up files if they have this extension\n"
+#~ msgstr "  -x РСШ         убрать файлы с заданным расширением\n"
+
 #~ msgid "fatal: "
 #~ msgstr "важно: "
 
index 8057d72d2512b87dfabc2be696fe6a84e73195a0..493197d7d3a179a6f7f0d7cff4301f3bdd6a5b7b 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_basebackup
 # Copyright (C) 2012-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_basebackup (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-09-11 15:31+0300\n"
-"PO-Revision-Date: 2023-08-29 09:42+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 11:12+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -93,6 +93,65 @@ msgstr "для алгоритма сжатия \"%s\" нельзя задать
 msgid "compression algorithm \"%s\" does not support long-distance mode"
 msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции"
 
+#: ../../common/controldata_utils.c:97
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../../common/controldata_utils.c:110 pg_basebackup.c:1873
+#: pg_receivewal.c:402
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:119
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#: bbstreamer_file.c:138 pg_recvlogical.c:650
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных."
+
+#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70
+#: ../../common/file_utils.c:347 ../../common/file_utils.c:406
+#: ../../common/file_utils.c:480 ../../fe_utils/recovery_gen.c:140
+#: pg_basebackup.c:1846 pg_receivewal.c:386
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488 pg_recvlogical.c:204
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -104,39 +163,69 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: ../../common/file_utils.c:87 ../../common/file_utils.c:447
-#: pg_receivewal.c:319 pg_recvlogical.c:339
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#: pg_receivewal.c:319 pg_recvlogical.c:352
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: ../../common/file_utils.c:162 pg_receivewal.c:242
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_receivewal.c:242
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: ../../common/file_utils.c:196 pg_receivewal.c:471
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_receivewal.c:471
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "не удалось прочитать каталог \"%s\": %m"
 
-#: ../../common/file_utils.c:228 ../../common/file_utils.c:287
-#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121
-#: pg_receivewal.c:386
+#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8c Ñ\84айл \"%s\": %m"
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿ÐµÑ\80еименоваÑ\82Ñ\8c Ñ\84айл \"%s\" Ð² \"%s\": %m"
 
-#: ../../common/file_utils.c:299 ../../common/file_utils.c:369
-#: pg_recvlogical.c:194
+#: ../../common/restricted_token.c:60
 #, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+msgid "could not open process token: error code %lu"
+msgstr "не удалось открыть маркер процесса (код ошибки: %lu)"
 
-#: ../../common/file_utils.c:379 pg_basebackup.c:2238 walmethods.c:462
+#: ../../common/restricted_token.c:74
 #, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+msgid "could not allocate SIDs: error code %lu"
+msgstr "не удалось подготовить структуры SID (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:94
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:115
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:153
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)"
+
+#: ../../common/restricted_token.c:168
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
 
 #: ../../fe_utils/option_utils.c:69
 #, c-format
@@ -148,51 +237,65 @@ msgstr "неверное значение \"%s\" для параметра %s"
 msgid "%s must be in range %d..%d"
 msgstr "значение %s должно быть в диапазоне %d..%d"
 
-#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45
-#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90
-#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1610
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50
+#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109
+#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:331
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
-#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121
-#: bbstreamer_file.c:258 pg_basebackup.c:1407 pg_basebackup.c:1701
+#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121
+#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "не удалось записать в файл \"%s\": %m"
 
-#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360
-#: pg_basebackup.c:1471 pg_basebackup.c:1680
+#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361
+#: pg_basebackup.c:1497 pg_basebackup.c:1706
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
-#: bbstreamer_file.c:138 pg_recvlogical.c:633
+#: ../../fe_utils/string_utils.c:434
 #, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "не удалось закрыть файл \"%s\": %m"
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
 
 #: bbstreamer_file.c:275
 #, c-format
 msgid "unexpected state while extracting archive"
 msgstr "неожиданное состояние при извлечении архива"
 
-#: bbstreamer_file.c:320 pg_basebackup.c:687 pg_basebackup.c:731
+#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712
+#: pg_basebackup.c:757
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: bbstreamer_file.c:325
+#: bbstreamer_file.c:326
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "не удалось установить права для каталога \"%s\": %m"
 
-#: bbstreamer_file.c:344
+#: bbstreamer_file.c:345
 #, c-format
 msgid "could not create symbolic link from \"%s\" to \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\" в \"%s\": %m"
 
-#: bbstreamer_file.c:364
+#: bbstreamer_file.c:365
 #, c-format
 msgid "could not set permissions on file \"%s\": %m"
 msgstr "не удалось установить права доступа для файла \"%s\": %m"
@@ -227,7 +330,7 @@ msgstr "не удалось записать сжатый файл \"%s\": %s"
 msgid "could not close compressed file \"%s\": %m"
 msgstr "не удалось закрыть сжатый файл \"%s\": %m"
 
-#: bbstreamer_gzip.c:245 walmethods.c:876
+#: bbstreamer_gzip.c:245 walmethods.c:880
 #, c-format
 msgid "could not initialize compression library"
 msgstr "не удалось инициализировать библиотеку сжатия"
@@ -277,12 +380,12 @@ msgstr "окончание файла tar занимает больше 2 бло
 msgid "unexpected state while parsing tar archive"
 msgstr "неожиданное состояние при разборе архива tar"
 
-#: bbstreamer_tar.c:296
+#: bbstreamer_tar.c:292
 #, c-format
 msgid "tar member has empty name"
 msgstr "пустое имя у компонента tar"
 
-#: bbstreamer_tar.c:328
+#: bbstreamer_tar.c:326
 #, c-format
 msgid "COPY stream ended before last file was finished"
 msgstr "поток COPY закончился до завершения последнего файла"
@@ -312,93 +415,93 @@ msgstr "не удалось включить режим большой дист
 msgid "could not create zstd decompression context"
 msgstr "не удалось создать контекст распаковки zstd"
 
-#: pg_basebackup.c:238
+#: pg_basebackup.c:245
 #, c-format
 msgid "removing data directory \"%s\""
 msgstr "удаление каталога данных \"%s\""
 
-#: pg_basebackup.c:240
+#: pg_basebackup.c:247
 #, c-format
 msgid "failed to remove data directory"
 msgstr "ошибка при удалении каталога данных"
 
-#: pg_basebackup.c:244
+#: pg_basebackup.c:251
 #, c-format
 msgid "removing contents of data directory \"%s\""
 msgstr "удаление содержимого каталога данных \"%s\""
 
-#: pg_basebackup.c:246
+#: pg_basebackup.c:253
 #, c-format
 msgid "failed to remove contents of data directory"
 msgstr "ошибка при удалении содержимого каталога данных"
 
-#: pg_basebackup.c:251
+#: pg_basebackup.c:258
 #, c-format
 msgid "removing WAL directory \"%s\""
 msgstr "удаление каталога WAL \"%s\""
 
-#: pg_basebackup.c:253
+#: pg_basebackup.c:260
 #, c-format
 msgid "failed to remove WAL directory"
 msgstr "ошибка при удалении каталога WAL"
 
-#: pg_basebackup.c:257
+#: pg_basebackup.c:264
 #, c-format
 msgid "removing contents of WAL directory \"%s\""
 msgstr "удаление содержимого каталога WAL \"%s\""
 
-#: pg_basebackup.c:259
+#: pg_basebackup.c:266
 #, c-format
 msgid "failed to remove contents of WAL directory"
 msgstr "ошибка при удалении содержимого каталога WAL"
 
-#: pg_basebackup.c:265
+#: pg_basebackup.c:272
 #, c-format
 msgid "data directory \"%s\" not removed at user's request"
 msgstr "каталог данных \"%s\" не был удалён по запросу пользователя"
 
-#: pg_basebackup.c:268
+#: pg_basebackup.c:275
 #, c-format
 msgid "WAL directory \"%s\" not removed at user's request"
 msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя"
 
-#: pg_basebackup.c:272
+#: pg_basebackup.c:279
 #, c-format
 msgid "changes to tablespace directories will not be undone"
 msgstr "изменения в каталогах табличных пространств не будут отменены"
 
-#: pg_basebackup.c:324
+#: pg_basebackup.c:331
 #, c-format
 msgid "directory name too long"
 msgstr "слишком длинное имя каталога"
 
-#: pg_basebackup.c:331
+#: pg_basebackup.c:338
 #, c-format
 msgid "multiple \"=\" signs in tablespace mapping"
 msgstr "несколько знаков \"=\" в сопоставлении табличного пространства"
 
-#: pg_basebackup.c:340
+#: pg_basebackup.c:347
 #, c-format
 msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\""
 msgstr ""
 "сопоставление табл. пространства записано неверно: \"%s\"; должно быть "
 "\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\""
 
-#: pg_basebackup.c:359
+#: pg_basebackup.c:366
 #, c-format
 msgid "old directory is not an absolute path in tablespace mapping: %s"
 msgstr ""
 "старый каталог в сопоставлении табл. пространства задан не абсолютным путём: "
 "%s"
 
-#: pg_basebackup.c:363
+#: pg_basebackup.c:370
 #, c-format
 msgid "new directory is not an absolute path in tablespace mapping: %s"
 msgstr ""
 "новый каталог в сопоставлении табл. пространства задан не абсолютным путём: "
 "%s"
 
-#: pg_basebackup.c:385
+#: pg_basebackup.c:392
 #, c-format
 msgid ""
 "%s takes a base backup of a running PostgreSQL server.\n"
@@ -407,17 +510,19 @@ msgstr ""
 "%s делает базовую резервную копию работающего сервера PostgreSQL.\n"
 "\n"
 
-#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76
+#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79
+#: pg_recvlogical.c:86
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77
+#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80
+#: pg_recvlogical.c:87
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_basebackup.c:389
+#: pg_basebackup.c:396
 #, c-format
 msgid ""
 "\n"
@@ -426,19 +531,28 @@ msgstr ""
 "\n"
 "Параметры, управляющие выводом:\n"
 
-#: pg_basebackup.c:390
+#: pg_basebackup.c:397
 #, c-format
 msgid "  -D, --pgdata=DIRECTORY receive base backup into directory\n"
 msgstr "  -D, --pgdata=КАТАЛОГ   сохранить базовую копию в указанный каталог\n"
 
-#: pg_basebackup.c:391
+#: pg_basebackup.c:398
 #, c-format
 msgid "  -F, --format=p|t       output format (plain (default), tar)\n"
 msgstr ""
 "  -F, --format=p|t       формат вывода (p (по умолчанию) - простой, t - "
 "tar)\n"
 
-#: pg_basebackup.c:392
+#: pg_basebackup.c:399
+#, c-format
+msgid ""
+"  -i, --incremental=OLDMANIFEST\n"
+"                         take incremental backup\n"
+msgstr ""
+"  -i, --incremental=СТАРЫЙ_МАНИФЕСТ\n"
+"                         создать инкрементальную копию\n"
+
+#: pg_basebackup.c:401
 #, c-format
 msgid ""
 "  -r, --max-rate=RATE    maximum transfer rate to transfer data directory\n"
@@ -447,7 +561,7 @@ msgstr ""
 "  -r, --max-rate=СКОРОСТЬ макс. скорость передачи данных в целевой каталог\n"
 "                         (в КБ/с, либо добавьте суффикс \"k\" или \"M\")\n"
 
-#: pg_basebackup.c:394
+#: pg_basebackup.c:403
 #, c-format
 msgid ""
 "  -R, --write-recovery-conf\n"
@@ -457,7 +571,7 @@ msgstr ""
 "                         записать конфигурацию для репликации\n"
 
 # well-spelled: ИНФО
-#: pg_basebackup.c:396
+#: pg_basebackup.c:405
 #, c-format
 msgid ""
 "  -t, --target=TARGET[:DETAIL]\n"
@@ -466,7 +580,7 @@ msgstr ""
 "  -t, --target=ПОЛУЧАТЕЛЬ[:ДОП_ИНФО]\n"
 "                         получатель копии (если отличается от client)\n"
 
-#: pg_basebackup.c:398
+#: pg_basebackup.c:407
 #, c-format
 msgid ""
 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
@@ -477,14 +591,14 @@ msgstr ""
 "каталога\n"
 "                         в новый\n"
 
-#: pg_basebackup.c:400
+#: pg_basebackup.c:409
 #, c-format
 msgid "      --waldir=WALDIR    location for the write-ahead log directory\n"
 msgstr ""
 "      --waldir=КАТАЛОГ_WAL\n"
 "                         расположение каталога с журналом предзаписи\n"
 
-#: pg_basebackup.c:401
+#: pg_basebackup.c:410
 #, c-format
 msgid ""
 "  -X, --wal-method=none|fetch|stream\n"
@@ -494,13 +608,13 @@ msgstr ""
 "                         включить в копию требуемые файлы WAL, используя\n"
 "                         заданный метод\n"
 
-#: pg_basebackup.c:403
+#: pg_basebackup.c:412
 #, c-format
 msgid "  -z, --gzip             compress tar output\n"
 msgstr "  -z, --gzip             сжать выходной tar\n"
 
 # well-spelled: ИНФО
-#: pg_basebackup.c:404
+#: pg_basebackup.c:413
 #, c-format
 msgid ""
 "  -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n"
@@ -510,12 +624,12 @@ msgstr ""
 "                         выполнять сжатие на клиенте или сервере как "
 "указано\n"
 
-#: pg_basebackup.c:406
+#: pg_basebackup.c:415
 #, c-format
 msgid "  -Z, --compress=none    do not compress tar output\n"
 msgstr "  -Z, --compress=none    не сжимать вывод tar\n"
 
-#: pg_basebackup.c:407
+#: pg_basebackup.c:416
 #, c-format
 msgid ""
 "\n"
@@ -524,31 +638,32 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_basebackup.c:408
+#: pg_basebackup.c:417
 #, c-format
 msgid ""
 "  -c, --checkpoint=fast|spread\n"
-"                         set fast or spread checkpointing\n"
+"                         set fast or spread (default) checkpointing\n"
 msgstr ""
 "  -c, --checkpoint=fast|spread\n"
-"                         режим быстрых или распределённых контрольных точек\n"
+"                         режим быстрых или распределённых (по умолчанию)\n"
+"                         контрольных точек\n"
 
-#: pg_basebackup.c:410
+#: pg_basebackup.c:419
 #, c-format
 msgid "  -C, --create-slot      create replication slot\n"
 msgstr "  -C, --create-slot      создать слот репликации\n"
 
-#: pg_basebackup.c:411
+#: pg_basebackup.c:420
 #, c-format
 msgid "  -l, --label=LABEL      set backup label\n"
 msgstr "  -l, --label=МЕТКА      установить метку резервной копии\n"
 
-#: pg_basebackup.c:412
+#: pg_basebackup.c:421
 #, c-format
 msgid "  -n, --no-clean         do not clean up after errors\n"
 msgstr "  -n, --no-clean         не очищать после ошибок\n"
 
-#: pg_basebackup.c:413
+#: pg_basebackup.c:422
 #, c-format
 msgid ""
 "  -N, --no-sync          do not wait for changes to be written safely to "
@@ -556,27 +671,27 @@ msgid ""
 msgstr ""
 "  -N, --no-sync          не ждать завершения сохранения данных на диске\n"
 
-#: pg_basebackup.c:414
+#: pg_basebackup.c:423
 #, c-format
 msgid "  -P, --progress         show progress information\n"
 msgstr "  -P, --progress         показывать прогресс операции\n"
 
-#: pg_basebackup.c:415 pg_receivewal.c:89
+#: pg_basebackup.c:424 pg_receivewal.c:89
 #, c-format
 msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
 msgstr "  -S, --slot=ИМЯ_СЛОТА   использовать заданный слот репликации\n"
 
-#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98
+#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108
 #, c-format
 msgid "  -v, --verbose          output verbose messages\n"
 msgstr "  -v, --verbose          выводить подробные сообщения\n"
 
-#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99
+#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          показать версию и выйти\n"
 
-#: pg_basebackup.c:418
+#: pg_basebackup.c:427
 #, c-format
 msgid ""
 "      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
@@ -587,7 +702,7 @@ msgstr ""
 
 # skip-rule: capital-letter-first
 # well-spelled: шестнадц
-#: pg_basebackup.c:420
+#: pg_basebackup.c:429
 #, c-format
 msgid ""
 "      --manifest-force-encode\n"
@@ -597,25 +712,25 @@ msgstr ""
 "                         записывать все имена файлов в манифесте в шестнадц. "
 "виде\n"
 
-#: pg_basebackup.c:422
+#: pg_basebackup.c:431
 #, c-format
 msgid "      --no-estimate-size do not estimate backup size in server side\n"
 msgstr ""
 "      --no-estimate-size не рассчитывать размер копии на стороне сервера\n"
 
-#: pg_basebackup.c:423
+#: pg_basebackup.c:432
 #, c-format
 msgid "      --no-manifest      suppress generation of backup manifest\n"
 msgstr "      --no-manifest      отключить создание манифеста копии\n"
 
-#: pg_basebackup.c:424
+#: pg_basebackup.c:433
 #, c-format
 msgid ""
 "      --no-slot          prevent creation of temporary replication slot\n"
 msgstr ""
 "      --no-slot          предотвратить создание временного слота репликации\n"
 
-#: pg_basebackup.c:425
+#: pg_basebackup.c:434
 #, c-format
 msgid ""
 "      --no-verify-checksums\n"
@@ -624,12 +739,22 @@ msgstr ""
 "      --no-verify-checksums\n"
 "                         не проверять контрольные суммы\n"
 
-#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100
+# well-spelled: ИНФО
+#: pg_basebackup.c:436
+#, c-format
+msgid ""
+"      --sync-method=METHOD\n"
+"                         set method for syncing files to disk\n"
+msgstr ""
+"      --sync-method=МЕТОД\n"
+"                         метод синхронизации файлов с ФС\n"
+
+#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             показать эту справку и выйти\n"
 
-#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101
+#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111
 #, c-format
 msgid ""
 "\n"
@@ -638,22 +763,24 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_basebackup.c:429 pg_receivewal.c:97
+#: pg_basebackup.c:440 pg_receivewal.c:97
 #, c-format
 msgid "  -d, --dbname=CONNSTR   connection string\n"
 msgstr "  -d, --dbname=СТРОКА    строка подключения\n"
 
-#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103
+#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113
 #, c-format
 msgid "  -h, --host=HOSTNAME    database server host or socket directory\n"
-msgstr "  -h, --host=ИМЯ         имя сервера баз данных или каталог сокетов\n"
+msgstr ""
+"  -h, --host=ИМЯ         компьютер с сервером баз данных или каталог "
+"сокетов\n"
 
-#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104
+#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114
 #, c-format
 msgid "  -p, --port=PORT        database server port number\n"
 msgstr "  -p, --port=ПОРТ        номер порта сервера БД\n"
 
-#: pg_basebackup.c:432
+#: pg_basebackup.c:443
 #, c-format
 msgid ""
 "  -s, --status-interval=INTERVAL\n"
@@ -664,19 +791,19 @@ msgstr ""
 "                         интервал между передаваемыми серверу\n"
 "                         пакетами состояния (в секундах)\n"
 
-#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105
+#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115
 #, c-format
 msgid "  -U, --username=NAME    connect as specified database user\n"
 msgstr ""
 "  -U, --username=NAME    connect as specified database user\n"
 "  -U, --username=ИМЯ     имя пользователя баз данных\n"
 
-#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106
+#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116
 #, c-format
 msgid "  -w, --no-password      never prompt for password\n"
 msgstr "  -w, --no-password      не запрашивать пароль\n"
 
-#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107
+#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117
 #, c-format
 msgid ""
 "  -W, --password         force password prompt (should happen "
@@ -684,7 +811,8 @@ msgid ""
 msgstr ""
 "  -W, --password         запрашивать пароль всегда (обычно не требуется)\n"
 
-#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108
+#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106
+#: pg_recvlogical.c:118
 #, c-format
 msgid ""
 "\n"
@@ -693,63 +821,64 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109
+#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107
+#: pg_recvlogical.c:119
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_basebackup.c:477
+#: pg_basebackup.c:488
 #, c-format
 msgid "could not read from ready pipe: %m"
 msgstr "не удалось прочитать из готового канала: %m"
 
-#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2152
-#: streamutil.c:441
+#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258
+#: streamutil.c:518
 #, c-format
 msgid "could not parse write-ahead log location \"%s\""
 msgstr "не удалось разобрать положение в журнале предзаписи \"%s\""
 
-#: pg_basebackup.c:585 pg_receivewal.c:600
+#: pg_basebackup.c:596 pg_receivewal.c:600
 #, c-format
 msgid "could not finish writing WAL files: %m"
 msgstr "не удалось завершить запись файлов WAL: %m"
 
-#: pg_basebackup.c:631
+#: pg_basebackup.c:642
 #, c-format
 msgid "could not create pipe for background process: %m"
 msgstr "не удалось создать канал для фонового процесса: %m"
 
-#: pg_basebackup.c:665
+#: pg_basebackup.c:676
 #, c-format
 msgid "created temporary replication slot \"%s\""
 msgstr "создан временный слот репликации \"%s\""
 
-#: pg_basebackup.c:668
+#: pg_basebackup.c:679
 #, c-format
 msgid "created replication slot \"%s\""
 msgstr "создан слот репликации \"%s\""
 
-#: pg_basebackup.c:702
+#: pg_basebackup.c:728
 #, c-format
 msgid "could not create background process: %m"
 msgstr "не удалось создать фоновый процесс: %m"
 
-#: pg_basebackup.c:711
+#: pg_basebackup.c:737
 #, c-format
 msgid "could not create background thread: %m"
 msgstr "не удалось создать фоновый поток выполнения: %m"
 
-#: pg_basebackup.c:750
+#: pg_basebackup.c:776
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "каталог \"%s\" существует, но он не пуст"
 
-#: pg_basebackup.c:756
+#: pg_basebackup.c:782 pg_createsubscriber.c:390
 #, c-format
 msgid "could not access directory \"%s\": %m"
-msgstr "оÑ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па к каталогу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к каталогу \"%s\": %m"
 
-#: pg_basebackup.c:832
+#: pg_basebackup.c:858
 #, c-format
 msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
@@ -757,7 +886,7 @@ msgstr[0] "%*s/%s КБ (100%%), табличное пространство %d/%
 msgstr[1] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s"
 msgstr[2] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s"
 
-#: pg_basebackup.c:844
+#: pg_basebackup.c:870
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
@@ -765,7 +894,7 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d
 msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)"
 msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)"
 
-#: pg_basebackup.c:860
+#: pg_basebackup.c:886
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
@@ -773,58 +902,58 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d
 msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 
-#: pg_basebackup.c:884
+#: pg_basebackup.c:910
 #, c-format
 msgid "transfer rate \"%s\" is not a valid value"
 msgstr "неверное значение (\"%s\") для скорости передачи данных"
 
-#: pg_basebackup.c:886
+#: pg_basebackup.c:912
 #, c-format
 msgid "invalid transfer rate \"%s\": %m"
 msgstr "неверная скорость передачи данных \"%s\": %m"
 
-#: pg_basebackup.c:893
+#: pg_basebackup.c:919
 #, c-format
 msgid "transfer rate must be greater than zero"
 msgstr "скорость передачи должна быть больше 0"
 
-#: pg_basebackup.c:923
+#: pg_basebackup.c:949
 #, c-format
 msgid "invalid --max-rate unit: \"%s\""
 msgstr "неверная единица измерения в --max-rate: \"%s\""
 
-#: pg_basebackup.c:927
+#: pg_basebackup.c:953
 #, c-format
 msgid "transfer rate \"%s\" exceeds integer range"
 msgstr "скорость передачи \"%s\" вне целочисленного диапазона"
 
-#: pg_basebackup.c:934
+#: pg_basebackup.c:960
 #, c-format
 msgid "transfer rate \"%s\" is out of range"
 msgstr "скорость передачи \"%s\" вне диапазона"
 
-#: pg_basebackup.c:996
+#: pg_basebackup.c:1022
 #, c-format
 msgid "could not get COPY data stream: %s"
 msgstr "не удалось получить поток данных COPY: %s"
 
-#: pg_basebackup.c:1013 pg_recvlogical.c:436 pg_recvlogical.c:608
+#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625
 #: receivelog.c:973
 #, c-format
 msgid "could not read COPY data: %s"
 msgstr "не удалось прочитать данные COPY: %s"
 
-#: pg_basebackup.c:1017
+#: pg_basebackup.c:1043
 #, c-format
 msgid "background process terminated unexpectedly"
 msgstr "фоновый процесс завершился неожиданно"
 
-#: pg_basebackup.c:1088
+#: pg_basebackup.c:1114
 #, c-format
 msgid "cannot inject manifest into a compressed tar file"
 msgstr "манифест нельзя внедрить в сжатый архив tar"
 
-#: pg_basebackup.c:1089
+#: pg_basebackup.c:1115
 #, c-format
 msgid ""
 "Use client-side compression, send the output to a directory rather than "
@@ -833,24 +962,24 @@ msgstr ""
 "Примените сжатие на стороне клиента, передайте вывод в каталог, а не в "
 "стандартный вывод, или используйте %s."
 
-#: pg_basebackup.c:1105
+#: pg_basebackup.c:1131
 #, c-format
 msgid "cannot parse archive \"%s\""
 msgstr "обработать архив \"%s\" невозможно"
 
-#: pg_basebackup.c:1106
+#: pg_basebackup.c:1132
 #, c-format
 msgid "Only tar archives can be parsed."
 msgstr "Возможна обработка только архивов tar."
 
-#: pg_basebackup.c:1108
+#: pg_basebackup.c:1134
 #, c-format
 msgid "Plain format requires pg_basebackup to parse the archive."
 msgstr ""
 "Когда используется простой формат, программа pg_basebackup должна обработать "
 "архив."
 
-#: pg_basebackup.c:1110
+#: pg_basebackup.c:1136
 #, c-format
 msgid ""
 "Using - as the output directory requires pg_basebackup to parse the archive."
@@ -858,89 +987,119 @@ msgstr ""
 "Когда в качестве выходного каталога используется \"-\", программа "
 "pg_basebackup должна обработать архив."
 
-#: pg_basebackup.c:1112
+#: pg_basebackup.c:1138
 #, c-format
 msgid "The -R option requires pg_basebackup to parse the archive."
 msgstr ""
 "Когда используется ключ -R, программа pg_basebackup должна обработать архив."
 
-#: pg_basebackup.c:1331
+#: pg_basebackup.c:1357
 #, c-format
 msgid "archives must precede manifest"
 msgstr "архивы должны предшествовать манифесту"
 
-#: pg_basebackup.c:1346
+#: pg_basebackup.c:1372
 #, c-format
 msgid "invalid archive name: \"%s\""
 msgstr "неверное имя архива: \"%s\""
 
-#: pg_basebackup.c:1418
+#: pg_basebackup.c:1444
 #, c-format
 msgid "unexpected payload data"
 msgstr "неожиданно получены данные"
 
-#: pg_basebackup.c:1561
+#: pg_basebackup.c:1587
 #, c-format
 msgid "empty COPY message"
 msgstr "пустое сообщение COPY"
 
-#: pg_basebackup.c:1563
+#: pg_basebackup.c:1589
 #, c-format
 msgid "malformed COPY message of type %d, length %zu"
 msgstr "неправильное сообщение COPY типа %d, длины %zu"
 
-#: pg_basebackup.c:1761
+#: pg_basebackup.c:1789
 #, c-format
 msgid "incompatible server version %s"
 msgstr "несовместимая версия сервера %s"
 
-#: pg_basebackup.c:1777
+#: pg_basebackup.c:1805
 #, c-format
 msgid "Use -X none or -X fetch to disable log streaming."
 msgstr "Укажите -X none или -X fetch для отключения трансляции журнала."
 
-#: pg_basebackup.c:1845
+#: pg_basebackup.c:1841
+#, c-format
+msgid "server does not support incremental backup"
+msgstr "сервер не поддерживает инкрементальное копирование"
+
+#: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272
+#: receivelog.c:543 receivelog.c:582 streamutil.c:364 streamutil.c:438
+#: streamutil.c:490 streamutil.c:578 streamutil.c:730 streamutil.c:775
+#, c-format
+msgid "could not send replication command \"%s\": %s"
+msgstr "не удалось передать команду репликации \"%s\": %s"
+
+#: pg_basebackup.c:1856 pg_basebackup.c:1883
+#, c-format
+msgid "could not upload manifest: %s"
+msgstr "не удалось загрузить манифест на сервер: %s"
+
+#: pg_basebackup.c:1859 pg_basebackup.c:1886
+#, c-format
+msgid "could not upload manifest: unexpected status %s"
+msgstr "не удалось загрузить манифест на сервер: неожиданное состояние %s"
+
+#: pg_basebackup.c:1867
+#, c-format
+msgid "could not send COPY data: %s"
+msgstr "не удалось отправить данные COPY: %s"
+
+#: pg_basebackup.c:1877
+#, c-format
+msgid "could not send end-of-COPY: %s"
+msgstr "не удалось отправить сообщение \"конец COPY\": %s"
+
+#: pg_basebackup.c:1892
+#, c-format
+msgid "unexpected extra result while sending manifest"
+msgstr "неожиданный лишний результат при передаче манифеста"
+
+#: pg_basebackup.c:1950
 #, c-format
 msgid "backup targets are not supported by this server version"
 msgstr "получатели копий не поддерживаются данной версией сервера"
 
-#: pg_basebackup.c:1848
+#: pg_basebackup.c:1953
 #, c-format
 msgid "recovery configuration cannot be written when a backup target is used"
 msgstr ""
 "при использовании получателя копии записать конфигурацию восстановления "
 "нельзя"
 
-#: pg_basebackup.c:1875
+#: pg_basebackup.c:1980
 #, c-format
 msgid "server does not support server-side compression"
 msgstr "сервер не поддерживает сжатие на стороне сервера"
 
-#: pg_basebackup.c:1885
+#: pg_basebackup.c:1990
 #, c-format
 msgid "initiating base backup, waiting for checkpoint to complete"
 msgstr ""
 "начинается базовое резервное копирование, ожидается завершение контрольной "
 "точки"
 
-#: pg_basebackup.c:1889
+#: pg_basebackup.c:1994
 #, c-format
 msgid "waiting for checkpoint"
 msgstr "ожидание контрольной точки"
 
-#: pg_basebackup.c:1902 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582
-#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501
-#: streamutil.c:653 streamutil.c:698
-#, c-format
-msgid "could not send replication command \"%s\": %s"
-msgstr "не удалось передать команду репликации \"%s\": %s"
-
-#: pg_basebackup.c:1910
+#: pg_basebackup.c:2016
 #, c-format
 msgid "could not initiate base backup: %s"
 msgstr "не удалось инициализировать базовое резервное копирование: %s"
 
-#: pg_basebackup.c:1913
+#: pg_basebackup.c:2019
 #, c-format
 msgid ""
 "server returned unexpected response to BASE_BACKUP command; got %d rows and "
@@ -949,130 +1108,130 @@ msgstr ""
 "сервер вернул неожиданный ответ на команду BASE_BACKUP; получено строк: %d, "
 "полей: %d, а ожидалось строк: %d, полей: %d"
 
-#: pg_basebackup.c:1919
+#: pg_basebackup.c:2025
 #, c-format
 msgid "checkpoint completed"
 msgstr "контрольная точка завершена"
 
-#: pg_basebackup.c:1933
+#: pg_basebackup.c:2039
 #, c-format
 msgid "write-ahead log start point: %s on timeline %u"
 msgstr "стартовая точка в журнале предзаписи: %s на линии времени %u"
 
-#: pg_basebackup.c:1941
+#: pg_basebackup.c:2047
 #, c-format
 msgid "could not get backup header: %s"
 msgstr "не удалось получить заголовок резервной копии: %s"
 
-#: pg_basebackup.c:1944
+#: pg_basebackup.c:2050
 #, c-format
 msgid "no data returned from server"
 msgstr "сервер не вернул данные"
 
-#: pg_basebackup.c:1987
+#: pg_basebackup.c:2093
 #, c-format
 msgid "can only write single tablespace to stdout, database has %d"
 msgstr ""
 "в stdout можно вывести только одно табличное пространство, всего в СУБД их %d"
 
-#: pg_basebackup.c:2000
+#: pg_basebackup.c:2106
 #, c-format
 msgid "starting background WAL receiver"
 msgstr "запуск фонового процесса считывания WAL"
 
-#: pg_basebackup.c:2083
+#: pg_basebackup.c:2189
 #, c-format
 msgid "backup failed: %s"
 msgstr "ошибка при создании копии: %s"
 
-#: pg_basebackup.c:2086
+#: pg_basebackup.c:2192
 #, c-format
 msgid "no write-ahead log end position returned from server"
 msgstr "сервер не передал конечную позицию в журнале предзаписи"
 
-#: pg_basebackup.c:2089
+#: pg_basebackup.c:2195
 #, c-format
 msgid "write-ahead log end point: %s"
 msgstr "конечная точка в журнале предзаписи: %s"
 
-#: pg_basebackup.c:2100
+#: pg_basebackup.c:2206
 #, c-format
 msgid "checksum error occurred"
 msgstr "выявлена ошибка контрольной суммы"
 
-#: pg_basebackup.c:2105
+#: pg_basebackup.c:2211
 #, c-format
 msgid "final receive failed: %s"
 msgstr "ошибка в конце передачи: %s"
 
-#: pg_basebackup.c:2129
+#: pg_basebackup.c:2235
 #, c-format
 msgid "waiting for background process to finish streaming ..."
 msgstr "ожидание завершения потоковой передачи фоновым процессом..."
 
-#: pg_basebackup.c:2133
+#: pg_basebackup.c:2239
 #, c-format
 msgid "could not send command to background pipe: %m"
 msgstr "не удалось отправить команду в канал фонового процесса: %m"
 
-#: pg_basebackup.c:2138
+#: pg_basebackup.c:2244
 #, c-format
 msgid "could not wait for child process: %m"
 msgstr "сбой при ожидании дочернего процесса: %m"
 
-#: pg_basebackup.c:2140
+#: pg_basebackup.c:2246
 #, c-format
 msgid "child %d died, expected %d"
 msgstr "завершился дочерний процесс %d вместо ожидаемого %d"
 
-#: pg_basebackup.c:2142 streamutil.c:91 streamutil.c:196
+#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_basebackup.c:2162
+#: pg_basebackup.c:2268
 #, c-format
 msgid "could not wait for child thread: %m"
 msgstr "сбой при ожидании дочернего потока: %m"
 
-#: pg_basebackup.c:2167
+#: pg_basebackup.c:2273
 #, c-format
 msgid "could not get child thread exit status: %m"
 msgstr "не удалось получить состояние завершения дочернего потока: %m"
 
-#: pg_basebackup.c:2170
+#: pg_basebackup.c:2276
 #, c-format
 msgid "child thread exited with error %u"
 msgstr "дочерний поток завершился с ошибкой %u"
 
-#: pg_basebackup.c:2199
+#: pg_basebackup.c:2305
 #, c-format
 msgid "syncing data to disk ..."
 msgstr "сохранение данных на диске..."
 
-#: pg_basebackup.c:2224
+#: pg_basebackup.c:2330
 #, c-format
 msgid "renaming backup_manifest.tmp to backup_manifest"
 msgstr "переименование backup_manifest.tmp в backup_manifest"
 
-#: pg_basebackup.c:2244
+#: pg_basebackup.c:2350
 #, c-format
 msgid "base backup completed"
 msgstr "базовое резервное копирование завершено"
 
-#: pg_basebackup.c:2327
+#: pg_basebackup.c:2436
 #, c-format
 msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\""
 msgstr ""
 "неверный аргумент режима контрольных точек \"%s\"; должен быть \"fast\" или "
 "\"spread\""
 
-#: pg_basebackup.c:2345
+#: pg_basebackup.c:2454
 #, c-format
 msgid "invalid output format \"%s\", must be \"plain\" or \"tar\""
 msgstr "неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\""
 
-#: pg_basebackup.c:2423
+#: pg_basebackup.c:2535
 #, c-format
 msgid ""
 "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\""
@@ -1080,125 +1239,167 @@ msgstr ""
 "неверный аргумент для wal-method — \"%s\", допускается только \"fetch\", "
 "\"stream\" или \"none\""
 
-#: pg_basebackup.c:2458 pg_basebackup.c:2470 pg_basebackup.c:2492
-#: pg_basebackup.c:2504 pg_basebackup.c:2510 pg_basebackup.c:2562
-#: pg_basebackup.c:2573 pg_basebackup.c:2583 pg_basebackup.c:2589
-#: pg_basebackup.c:2596 pg_basebackup.c:2608 pg_basebackup.c:2620
-#: pg_basebackup.c:2628 pg_basebackup.c:2641 pg_basebackup.c:2647
-#: pg_basebackup.c:2656 pg_basebackup.c:2668 pg_basebackup.c:2679
-#: pg_basebackup.c:2687 pg_receivewal.c:748 pg_receivewal.c:760
+#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608
+#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678
+#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705
+#: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736
+#: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763
+#: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795
+#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047
+#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083
+#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760
 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783
-#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847
-#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871
-#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892
-#: pg_recvlogical.c:899 pg_recvlogical.c:906
+#: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865
+#: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889
+#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910
+#: pg_recvlogical.c:917 pg_recvlogical.c:924
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_basebackup.c:2468 pg_receivewal.c:758 pg_recvlogical.c:845
+#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758
+#: pg_recvlogical.c:863
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_basebackup.c:2491
+#: pg_basebackup.c:2607
 #, c-format
 msgid "cannot specify both format and backup target"
 msgstr "указать и формат, и получателя копии одновременно нельзя"
 
-#: pg_basebackup.c:2503
+#: pg_basebackup.c:2619
 #, c-format
 msgid "must specify output directory or backup target"
 msgstr "необходимо указать выходной каталог или получателя копии"
 
-#: pg_basebackup.c:2509
+#: pg_basebackup.c:2625
 #, c-format
 msgid "cannot specify both output directory and backup target"
 msgstr "указать и выходной каталог, и получателя копии одновременно нельзя"
 
-#: pg_basebackup.c:2539 pg_receivewal.c:802
+#: pg_basebackup.c:2655 pg_receivewal.c:802
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "нераспознанный алгоритм сжатия: \"%s\""
 
-#: pg_basebackup.c:2545 pg_receivewal.c:809
+#: pg_basebackup.c:2661 pg_receivewal.c:809
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "неправильное указание сжатия: %s"
 
-#: pg_basebackup.c:2561
+#: pg_basebackup.c:2677
 #, c-format
 msgid ""
 "client-side compression is not possible when a backup target is specified"
 msgstr "сжатие на стороне клиента невозможно при указании получателя копии"
 
-#: pg_basebackup.c:2572
+#: pg_basebackup.c:2688
 #, c-format
 msgid "only tar mode backups can be compressed"
 msgstr "сжиматься могут только резервные копии в архиве tar"
 
-#: pg_basebackup.c:2582
+#: pg_basebackup.c:2698
 #, c-format
 msgid "WAL cannot be streamed when a backup target is specified"
 msgstr "потоковая передача WAL невозможна при указании получателя копии"
 
-#: pg_basebackup.c:2588
+#: pg_basebackup.c:2704
 #, c-format
 msgid "cannot stream write-ahead logs in tar mode to stdout"
 msgstr "транслировать журналы предзаписи в режиме tar в поток stdout нельзя"
 
-#: pg_basebackup.c:2595
+#: pg_basebackup.c:2711
 #, c-format
 msgid "replication slots can only be used with WAL streaming"
 msgstr "слоты репликации можно использовать только при потоковой передаче WAL"
 
-#: pg_basebackup.c:2607
+#: pg_basebackup.c:2723
 #, c-format
 msgid "--no-slot cannot be used with slot name"
 msgstr "--no-slot нельзя использовать с именем слота"
 
 #. translator: second %s is an option name
-#: pg_basebackup.c:2618 pg_receivewal.c:774
+#: pg_basebackup.c:2734 pg_receivewal.c:774
 #, c-format
 msgid "%s needs a slot to be specified using --slot"
 msgstr "для %s необходимо задать слот с помощью параметра --slot"
 
-#: pg_basebackup.c:2626 pg_basebackup.c:2666 pg_basebackup.c:2677
-#: pg_basebackup.c:2685
+#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793
+#: pg_basebackup.c:2801
 #, c-format
 msgid "%s and %s are incompatible options"
 msgstr "параметры %s и %s несовместимы"
 
-#: pg_basebackup.c:2640
+#: pg_basebackup.c:2756
 #, c-format
 msgid "WAL directory location cannot be specified along with a backup target"
 msgstr "расположение каталога WAL нельзя указать вместе с получателем копии"
 
-#: pg_basebackup.c:2646
+#: pg_basebackup.c:2762
 #, c-format
 msgid "WAL directory location can only be specified in plain mode"
 msgstr "расположение каталога WAL можно указать только в режиме plain"
 
-#: pg_basebackup.c:2655
+#: pg_basebackup.c:2771
 #, c-format
 msgid "WAL directory location must be an absolute path"
 msgstr "расположение каталога WAL должно определяться абсолютным путём"
 
-#: pg_basebackup.c:2755
+#: pg_basebackup.c:2871
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\": %m"
 
-#: pg_receivewal.c:77
+#: pg_createsubscriber.c:169
+#, c-format
+msgid "failed after the end of recovery"
+msgstr "ошибка после окончания восстановления"
+
+#: pg_createsubscriber.c:170
 #, c-format
 msgid ""
-"%s receives PostgreSQL streaming write-ahead logs.\n"
+"The target server cannot be used as a physical replica anymore.  You must "
+"recreate the physical replica before continuing."
+msgstr ""
+"Целевой сервер больше не может использоваться как физическая реплика. Чтобы "
+"продолжить, физическую реплику необходимо пересоздать."
+
+#: pg_createsubscriber.c:198
+#, c-format
+msgid ""
+"publication \"%s\" created in database \"%s\" on primary was left behind"
+msgstr "на главном сервере осталась публикация \"%s\", созданная в базе \"%s\""
+
+#: pg_createsubscriber.c:200
+#, c-format
+msgid "Drop this publication before trying again."
+msgstr "Удалите эту публикацию и попробуйте повторить операцию."
+
+#: pg_createsubscriber.c:204
+#, c-format
+msgid ""
+"replication slot \"%s\" created in database \"%s\" on primary was left behind"
+msgstr ""
+"на главном сервере остался слот репликации \"%s\", созданный в базе \"%s\""
+
+#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260
+#, c-format
+msgid "Drop this replication slot soon to avoid retention of WAL files."
+msgstr ""
+"Удалите этот слот репликации незамедлительно во избежание накопления файлов "
+"WAL."
+
+#: pg_createsubscriber.c:219
+#, c-format
+msgid ""
+"%s creates a new logical replica from a standby server.\n"
 "\n"
 msgstr ""
-"%s получает транслируемые журналы предзаписи PostgreSQL.\n"
+"%s превращает резервный сервер в логическую реплику.\n"
 "\n"
 
-#: pg_receivewal.c:81 pg_recvlogical.c:82
+#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92
 #, c-format
 msgid ""
 "\n"
@@ -1207,6 +1408,680 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
+#: pg_createsubscriber.c:224
+#, c-format
+msgid ""
+"  -d, --database=DBNAME           database in which to create a "
+"subscription\n"
+msgstr ""
+"  -d, --database=ИМЯ_БД           база, в которой будет создана подписка\n"
+
+#: pg_createsubscriber.c:225
+#, c-format
+msgid ""
+"  -D, --pgdata=DATADIR            location for the subscriber data "
+"directory\n"
+msgstr ""
+"  -D, --pgdata=КАТ_ДАННЫХ         расположение каталога данных подписчика\n"
+
+#: pg_createsubscriber.c:226
+#, c-format
+msgid ""
+"  -n, --dry-run                   dry run, just show what would be done\n"
+msgstr ""
+"  -n, --dry-run                   показать, какие действия будут выполнены,\n"
+"                                  но не выполнять их\n"
+
+#: pg_createsubscriber.c:227
+#, c-format
+msgid "  -p, --subscriber-port=PORT      subscriber port number (default %s)\n"
+msgstr ""
+"  -p, --subscriber-port=ПОРТ      номер порта подписчика (по умолчанию: %s)\n"
+
+#: pg_createsubscriber.c:228
+#, c-format
+msgid "  -P, --publisher-server=CONNSTR  publisher connection string\n"
+msgstr ""
+"  -P, --publisher-server=СТРОКА   строка подключения к серверу публикации\n"
+
+#: pg_createsubscriber.c:229
+#, c-format
+msgid ""
+"  -s, --socketdir=DIR             socket directory to use (default current "
+"dir.)\n"
+msgstr ""
+"  -s, --socketdir=КАТАЛОГ         каталог сокетов (по умолчанию текущий)\n"
+
+#: pg_createsubscriber.c:230
+#, c-format
+msgid "  -t, --recovery-timeout=SECS     seconds to wait for recovery to end\n"
+msgstr ""
+"  -t, --recovery-timeout=СЕК      время ожидания окончания восстановления\n"
+
+#: pg_createsubscriber.c:231
+#, c-format
+msgid "  -U, --subscriber-username=NAME  user name for subscriber connection\n"
+msgstr ""
+"  -U, --subscriber-username=ИМЯ   имя пользователя для подключения "
+"подписчика\n"
+
+#: pg_createsubscriber.c:232
+#, c-format
+msgid "  -v, --verbose                   output verbose messages\n"
+msgstr "  -v, --verbose                   выводить подробные сообщения\n"
+
+#: pg_createsubscriber.c:233
+#, c-format
+msgid ""
+"      --config-file=FILENAME      use specified main server configuration\n"
+"                                  file when running target cluster\n"
+msgstr ""
+"      --config-file=ИМЯ_ФАЙЛА     использовать указанный основной файл\n"
+"                                  конфигурации сервера при запуске целевого\n"
+"                                  кластера\n"
+
+#: pg_createsubscriber.c:235
+#, c-format
+msgid "      --publication=NAME          publication name\n"
+msgstr "      --publication=ИМЯ           имя публикации\n"
+
+#: pg_createsubscriber.c:236
+#, c-format
+msgid "      --replication-slot=NAME     replication slot name\n"
+msgstr "      --replication-slot=ИМЯ      имя слота репликации\n"
+
+#: pg_createsubscriber.c:237
+#, c-format
+msgid "      --subscription=NAME         subscription name\n"
+msgstr "      --subscription=ИМЯ          имя подписки\n"
+
+#: pg_createsubscriber.c:238
+#, c-format
+msgid ""
+"  -V, --version                   output version information, then exit\n"
+msgstr "  -V, --version                   показать версию и выйти\n"
+
+#: pg_createsubscriber.c:239
+#, c-format
+msgid "  -?, --help                      show this help, then exit\n"
+msgstr "  -?, --help                      показать эту справку и выйти\n"
+
+#: pg_createsubscriber.c:282
+#, c-format
+msgid "could not parse connection string: %s"
+msgstr "не удалось разобрать строку подключения: %s"
+
+#: pg_createsubscriber.c:359
+#, c-format
+msgid ""
+"program \"%s\" is needed by %s but was not found in the same directory as "
+"\"%s\""
+msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\""
+
+#: pg_createsubscriber.c:362
+#, c-format
+msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
+msgstr ""
+"программа \"%s\" найдена программой \"%s\", но её версия отличается от "
+"версии %s"
+
+#: pg_createsubscriber.c:382
+#, c-format
+msgid "checking if directory \"%s\" is a cluster data directory"
+msgstr "проверяется, является ли каталог \"%s\" каталогом данных кластера"
+
+#: pg_createsubscriber.c:388
+#, c-format
+msgid "data directory \"%s\" does not exist"
+msgstr "каталог данных \"%s\" не существует"
+
+#: pg_createsubscriber.c:396
+#, c-format
+msgid "directory \"%s\" is not a database cluster directory"
+msgstr "каталог \"%s\" не является каталогом кластера баз данных"
+
+#: pg_createsubscriber.c:513
+#, c-format
+msgid "connection to database failed: %s"
+msgstr "не удалось подключиться к базе: %s"
+
+#: pg_createsubscriber.c:526
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "не удалось очистить search_path: %s"
+
+#: pg_createsubscriber.c:566
+#, c-format
+msgid "getting system identifier from publisher"
+msgstr "получение идентификатора системы с сервера публикации"
+
+#: pg_createsubscriber.c:573
+#, c-format
+msgid "could not get system identifier: %s"
+msgstr "не удалось получить идентификатор системы: %s"
+
+#: pg_createsubscriber.c:579
+#, c-format
+msgid "could not get system identifier: got %d rows, expected %d row"
+msgstr ""
+"не удалось получить идентификатор системы; получено строк: %d, ожидалось: %d"
+
+#: pg_createsubscriber.c:586
+#, c-format
+msgid "system identifier is %llu on publisher"
+msgstr "идентификатор системы на стороне публикации: %llu"
+
+#: pg_createsubscriber.c:607
+#, c-format
+msgid "getting system identifier from subscriber"
+msgstr "получение идентификатора системы с подписчика"
+
+#: pg_createsubscriber.c:611 pg_createsubscriber.c:641
+#, c-format
+msgid "control file appears to be corrupt"
+msgstr "управляющий файл, по-видимому, испорчен"
+
+#: pg_createsubscriber.c:615 pg_createsubscriber.c:656
+#, c-format
+msgid "system identifier is %llu on subscriber"
+msgstr "идентификатор системы на подписчике: %llu"
+
+#: pg_createsubscriber.c:637
+#, c-format
+msgid "modifying system identifier of subscriber"
+msgstr "изменение идентификатора системы на подписчике"
+
+#: pg_createsubscriber.c:659
+#, c-format
+msgid "running pg_resetwal on the subscriber"
+msgstr "запуск pg_resetwal на подписчике"
+
+#: pg_createsubscriber.c:671
+#, c-format
+msgid "subscriber successfully changed the system identifier"
+msgstr "идентификатор системы на подписчике успешно изменён"
+
+#: pg_createsubscriber.c:673
+#, c-format
+msgid "could not change system identifier of subscriber: %s"
+msgstr "изменить идентификатор системы на подписчике не удалось: %s"
+
+#: pg_createsubscriber.c:697
+#, c-format
+msgid "could not obtain database OID: %s"
+msgstr "получить OID базы данных не удалось: %s"
+
+#: pg_createsubscriber.c:704
+#, c-format
+msgid "could not obtain database OID: got %d rows, expected %d row"
+msgstr "получить OID базы данных не удалось; получено строк: %d, ожидалось: %d"
+
+#: pg_createsubscriber.c:776
+#, c-format
+msgid "create replication slot \"%s\" on publisher"
+msgstr "создаётся слот репликации \"%s\" на подписчике"
+
+#: pg_createsubscriber.c:796
+#, c-format
+msgid "could not write an additional WAL record: %s"
+msgstr "не удалось записать дополнительную запись WAL: %s"
+
+#: pg_createsubscriber.c:822
+#, c-format
+msgid "could not obtain recovery progress: %s"
+msgstr "не удалось получить состояние восстановления: %s"
+
+#: pg_createsubscriber.c:854
+#, c-format
+msgid "checking settings on publisher"
+msgstr "проверка параметров на стороне публикации"
+
+#: pg_createsubscriber.c:864
+#, c-format
+msgid "primary server cannot be in recovery"
+msgstr "главный сервер не должен быть в состоянии восстановления"
+
+#: pg_createsubscriber.c:888
+#, c-format
+msgid "could not obtain publisher settings: %s"
+msgstr "не удалось получить параметры с сервера публикации: %s"
+
+#: pg_createsubscriber.c:914
+#, c-format
+msgid "publisher requires wal_level >= \"logical\""
+msgstr "на стороне публикации требуется значение wal_level >= \"logical\""
+
+#: pg_createsubscriber.c:920
+#, c-format
+msgid "publisher requires %d replication slots, but only %d remain"
+msgstr ""
+"на стороне публикации требуется слотов репликации: %d, но доступно всего %d"
+
+#: pg_createsubscriber.c:922 pg_createsubscriber.c:931
+#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037
+#: pg_createsubscriber.c:1046
+#, c-format
+msgid "Increase the configuration parameter \"%s\" to at least %d."
+msgstr "Увеличьте значение параметра конфигурации \"%s\" как минимум до %d."
+
+#: pg_createsubscriber.c:929
+#, c-format
+msgid "publisher requires %d WAL sender processes, but only %d remain"
+msgstr ""
+"на стороне публикации требуется процессов-передатчиков WAL: %d, но доступно "
+"всего %d"
+
+#: pg_createsubscriber.c:938
+#, c-format
+msgid "two_phase option will not be enabled for replication slots"
+msgstr "параметр two_phase для слотов репликации не будет включён"
+
+#: pg_createsubscriber.c:939
+#, c-format
+msgid ""
+"Subscriptions will be created with the two_phase option disabled.  Prepared "
+"transactions will be replicated at COMMIT PREPARED."
+msgstr ""
+"Подписки будут созданы с отключённым параметром two_phase. Подготовленные "
+"транзакции будут реплицироваться в момент выполнения COMMIT PREPARED."
+
+#: pg_createsubscriber.c:971
+#, c-format
+msgid "checking settings on subscriber"
+msgstr "проверка параметров на подписчике"
+
+#: pg_createsubscriber.c:978
+#, c-format
+msgid "target server must be a standby"
+msgstr "целевой сервер должен быть резервным"
+
+#: pg_createsubscriber.c:1002
+#, c-format
+msgid "could not obtain subscriber settings: %s"
+msgstr "получить параметры подписчика не удалось: %s"
+
+#: pg_createsubscriber.c:1026
+#, c-format
+msgid "subscriber requires %d replication slots, but only %d remain"
+msgstr "подписчику требуется слотов репликации: %d, но доступно всего %d"
+
+#: pg_createsubscriber.c:1035
+#, c-format
+msgid "subscriber requires %d logical replication workers, but only %d remain"
+msgstr ""
+"подписчику требуется процессов логической репликации: %d, но доступно всего "
+"%d"
+
+#: pg_createsubscriber.c:1044
+#, c-format
+msgid "subscriber requires %d worker processes, but only %d remain"
+msgstr "подписчику требуется рабочих процессов: %d, но доступно всего %d"
+
+#: pg_createsubscriber.c:1079
+#, c-format
+msgid "dropping subscription \"%s\" in database \"%s\""
+msgstr "удаление подписки \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1088
+#, c-format
+msgid "could not drop subscription \"%s\": %s"
+msgstr "удалить подписку \"%s\" не получилось: %s"
+
+#: pg_createsubscriber.c:1123
+#, c-format
+msgid "could not obtain pre-existing subscriptions: %s"
+msgstr "получить уже существующие подписки не удалось: %s"
+
+#: pg_createsubscriber.c:1258
+#, c-format
+msgid "could not drop replication slot \"%s\" on primary"
+msgstr "удалить слот репликации \"%s\" на главном сервере не получилось"
+
+#: pg_createsubscriber.c:1292
+#, c-format
+msgid "could not obtain failover replication slot information: %s"
+msgstr "получить информацию о переносимом слоте репликации не удалось: %s"
+
+#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303
+#, c-format
+msgid ""
+"Drop the failover replication slots on subscriber soon to avoid retention of "
+"WAL files."
+msgstr ""
+"Удалите переносимые слоты репликации на подписчике незамедлительно во "
+"избежание накопления файлов WAL."
+
+#: pg_createsubscriber.c:1302
+#, c-format
+msgid "could not drop failover replication slot"
+msgstr "удалить переносимый слот репликации не получилось"
+
+#: pg_createsubscriber.c:1324
+#, c-format
+msgid "creating the replication slot \"%s\" in database \"%s\""
+msgstr "создание слота репликации \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1342
+#, c-format
+msgid "could not create replication slot \"%s\" in database \"%s\": %s"
+msgstr "создать слот репликации \"%s\" в базе \"%s\" не удалось: %s"
+
+#: pg_createsubscriber.c:1372
+#, c-format
+msgid "dropping the replication slot \"%s\" in database \"%s\""
+msgstr "удаление слота репликации \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1388
+#, c-format
+msgid "could not drop replication slot \"%s\" in database \"%s\": %s"
+msgstr "удалить слот репликации \"%s\" в базе \"%s\" не получилось: %s"
+
+#: pg_createsubscriber.c:1409
+#, c-format
+msgid "pg_ctl failed with exit code %d"
+msgstr "команда pg_ctl завершилась с кодом ошибки %d"
+
+#: pg_createsubscriber.c:1414
+#, c-format
+msgid "pg_ctl was terminated by exception 0x%X"
+msgstr "команда pg_ctl была прервана исключением 0x%X"
+
+#: pg_createsubscriber.c:1416
+#, c-format
+msgid ""
+"See C include file \"ntstatus.h\" for a description of the hexadecimal value."
+msgstr ""
+"Описание этого шестнадцатеричного значения ищите во включаемом C-файле "
+"\"ntstatus.h\""
+
+#: pg_createsubscriber.c:1418
+#, c-format
+msgid "pg_ctl was terminated by signal %d: %s"
+msgstr "команда pg_ctl была завершена сигналом %d: %s"
+
+#: pg_createsubscriber.c:1424
+#, c-format
+msgid "pg_ctl exited with unrecognized status %d"
+msgstr "команда pg_ctl завершилась с нераспознанным кодом состояния %d"
+
+#: pg_createsubscriber.c:1427
+#, c-format
+msgid "The failed command was: %s"
+msgstr "Ошибку вызвала команда: %s"
+
+#: pg_createsubscriber.c:1473
+#, c-format
+msgid "server was started"
+msgstr "сервер был запущен"
+
+#: pg_createsubscriber.c:1488
+#, c-format
+msgid "server was stopped"
+msgstr "сервер был остановлен"
+
+#: pg_createsubscriber.c:1507
+#, c-format
+msgid "waiting for the target server to reach the consistent state"
+msgstr "ожидание достижения целевым сервером согласованного состояния"
+
+#: pg_createsubscriber.c:1530
+#, c-format
+msgid "recovery timed out"
+msgstr "тайм-аут при восстановлении"
+
+#: pg_createsubscriber.c:1543
+#, c-format
+msgid "server did not end recovery"
+msgstr "сервер не завершил восстановление"
+
+#: pg_createsubscriber.c:1545
+#, c-format
+msgid "target server reached the consistent state"
+msgstr "целевой сервер достиг согласованного состояния"
+
+#: pg_createsubscriber.c:1546
+#, c-format
+msgid ""
+"If pg_createsubscriber fails after this point, you must recreate the "
+"physical replica before continuing."
+msgstr ""
+"Если в работе pg_createsubscriber произойдёт сбой после этого момента, "
+"продолжение возможно только после пересоздания физической реплики."
+
+#: pg_createsubscriber.c:1573
+#, c-format
+msgid "could not obtain publication information: %s"
+msgstr "получить информацию о публикации не удалось: %s"
+
+#: pg_createsubscriber.c:1587
+#, c-format
+msgid "publication \"%s\" already exists"
+msgstr "публикация \"%s\" уже существует"
+
+#: pg_createsubscriber.c:1588
+#, c-format
+msgid "Consider renaming this publication before continuing."
+msgstr "Чтобы продолжить, её можно переименовать."
+
+#: pg_createsubscriber.c:1595
+#, c-format
+msgid "creating publication \"%s\" in database \"%s\""
+msgstr "создаётся публикация \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1608
+#, c-format
+msgid "could not create publication \"%s\" in database \"%s\": %s"
+msgstr "создать публикацию \"%s\" в базе \"%s\" не удалось: %s"
+
+#: pg_createsubscriber.c:1637
+#, c-format
+msgid "dropping publication \"%s\" in database \"%s\""
+msgstr "удаляется публикация \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1651
+#, c-format
+msgid "could not drop publication \"%s\" in database \"%s\": %s"
+msgstr "удалить публикацию \"%s\" в базе \"%s\" не получилось: %s"
+
+#: pg_createsubscriber.c:1697
+#, c-format
+msgid "creating subscription \"%s\" in database \"%s\""
+msgstr "создаётся подписка \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1718
+#, c-format
+msgid "could not create subscription \"%s\" in database \"%s\": %s"
+msgstr "создать подписку \"%s\" в базе \"%s\" не удалось: %s"
+
+#: pg_createsubscriber.c:1763
+#, c-format
+msgid "could not obtain subscription OID: %s"
+msgstr "получить OID подписки не удалось: %s"
+
+#: pg_createsubscriber.c:1770
+#, c-format
+msgid "could not obtain subscription OID: got %d rows, expected %d row"
+msgstr "получить OID подписки не удалось; получено строк: %d, ожидалось: %d"
+
+#: pg_createsubscriber.c:1794
+#, c-format
+msgid ""
+"setting the replication progress (node name \"%s\", LSN %s) in database "
+"\"%s\""
+msgstr "отражение состояния репликации (имя узла \"%s\", LSN %s) в базе \"%s\""
+
+#: pg_createsubscriber.c:1809
+#, c-format
+msgid "could not set replication progress for subscription \"%s\": %s"
+msgstr "не удалось передать состояние репликации для подписки \"%s\": %s"
+
+#: pg_createsubscriber.c:1840
+#, c-format
+msgid "enabling subscription \"%s\" in database \"%s\""
+msgstr "включение подписки \"%s\" в базе \"%s\""
+
+#: pg_createsubscriber.c:1852
+#, c-format
+msgid "could not enable subscription \"%s\": %s"
+msgstr "включить подписку \"%s\" не удалось: %s"
+
+#: pg_createsubscriber.c:1944
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "программу не должен запускать root"
+
+#: pg_createsubscriber.c:1945
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser."
+msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL."
+
+#: pg_createsubscriber.c:1966
+#, c-format
+msgid "database \"%s\" specified more than once"
+msgstr "база \"%s\" указана неоднократно"
+
+#: pg_createsubscriber.c:2007
+#, c-format
+msgid "publication \"%s\" specified more than once"
+msgstr "публикация \"%s\" указана неоднократно"
+
+#: pg_createsubscriber.c:2019
+#, c-format
+msgid "replication slot \"%s\" specified more than once"
+msgstr "слот репликации \"%s\" указан неоднократно"
+
+#: pg_createsubscriber.c:2031
+#, c-format
+msgid "subscription \"%s\" specified more than once"
+msgstr "подписка \"%s\" указана неоднократно"
+
+#: pg_createsubscriber.c:2054
+#, c-format
+msgid "no subscriber data directory specified"
+msgstr "каталог данных подписчика не указан"
+
+#: pg_createsubscriber.c:2065
+#, c-format
+msgid "could not determine current directory"
+msgstr "не удалось определить текущий каталог"
+
+#: pg_createsubscriber.c:2082
+#, c-format
+msgid "no publisher connection string specified"
+msgstr "строка подключения к серверу публикации не указана"
+
+#: pg_createsubscriber.c:2086
+#, c-format
+msgid "validating publisher connection string"
+msgstr "проверяется строка подключения к серверу публикации"
+
+#: pg_createsubscriber.c:2092
+#, c-format
+msgid "validating subscriber connection string"
+msgstr "проверяется строка подключения к подписчику"
+
+#: pg_createsubscriber.c:2097
+#, c-format
+msgid "no database was specified"
+msgstr "база данных не указана"
+
+#: pg_createsubscriber.c:2109
+#, c-format
+msgid "database name \"%s\" was extracted from the publisher connection string"
+msgstr "имя базы \"%s\" извлечено из строки подключения к серверу публикации"
+
+#: pg_createsubscriber.c:2114
+#, c-format
+msgid "no database name specified"
+msgstr "имя базы данных не указано"
+
+#: pg_createsubscriber.c:2124
+#, c-format
+msgid "wrong number of publication names specified"
+msgstr "указано неверное количество имён публикаций"
+
+#: pg_createsubscriber.c:2125
+#, c-format
+msgid ""
+"The number of specified publication names (%d) must match the number of "
+"specified database names (%d)."
+msgstr ""
+"Количество указанных имён публикаций (%d) должно совпадать с количеством "
+"указанных имён баз (%d)."
+
+#: pg_createsubscriber.c:2131
+#, c-format
+msgid "wrong number of subscription names specified"
+msgstr "указано неверное количество имён подписок"
+
+#: pg_createsubscriber.c:2132
+#, c-format
+msgid ""
+"The number of specified subscription names (%d) must match the number of "
+"specified database names (%d)."
+msgstr ""
+"Количество указанных имён подписок (%d) должно совпадать с количеством "
+"указанных имён баз (%d)."
+
+#: pg_createsubscriber.c:2138
+#, c-format
+msgid "wrong number of replication slot names specified"
+msgstr "указано неверное количество имён слотов репликации"
+
+#: pg_createsubscriber.c:2139
+#, c-format
+msgid ""
+"The number of specified replication slot names (%d) must match the number of "
+"specified database names (%d)."
+msgstr ""
+"Количество указанных имён слотов репликации (%d) должно совпадать с "
+"количеством указанных имён баз (%d)."
+
+#: pg_createsubscriber.c:2168
+#, c-format
+msgid "subscriber data directory is not a copy of the source database cluster"
+msgstr ""
+"каталог данных подписчика не является копией исходного кластера баз данных"
+
+#: pg_createsubscriber.c:2181
+#, c-format
+msgid "standby server is running"
+msgstr "резервный сервер запущен"
+
+#: pg_createsubscriber.c:2182
+#, c-format
+msgid "Stop the standby server and try again."
+msgstr "Остановите резервный сервер и повторите попытку."
+
+#: pg_createsubscriber.c:2191
+#, c-format
+msgid "starting the standby server with command-line options"
+msgstr "резервный сервер запускается с параметрами командной строки"
+
+#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242
+#, c-format
+msgid "stopping the subscriber"
+msgstr "подписчик останавливается"
+
+#: pg_createsubscriber.c:2221
+#, c-format
+msgid "starting the subscriber"
+msgstr "подписчик запускается"
+
+#: pg_createsubscriber.c:2250
+#, c-format
+msgid "Done!"
+msgstr "Готово!"
+
+#: pg_receivewal.c:77
+#, c-format
+msgid ""
+"%s receives PostgreSQL streaming write-ahead logs.\n"
+"\n"
+msgstr ""
+"%s получает транслируемые журналы предзаписи PostgreSQL.\n"
+"\n"
+
 #: pg_receivewal.c:82
 #, c-format
 msgid ""
@@ -1215,14 +2090,14 @@ msgstr ""
 "  -D, --directory=ПУТЬ   сохранять файлы журнала предзаписи в данный "
 "каталог\n"
 
-#: pg_receivewal.c:83 pg_recvlogical.c:83
+#: pg_receivewal.c:83 pg_recvlogical.c:93
 #, c-format
 msgid "  -E, --endpos=LSN       exit after receiving the specified LSN\n"
 msgstr ""
 "  -E, --endpos=LSN       определяет позицию, после которой нужно "
 "остановиться\n"
 
-#: pg_receivewal.c:84 pg_recvlogical.c:87
+#: pg_receivewal.c:84 pg_recvlogical.c:97
 #, c-format
 msgid ""
 "      --if-not-exists    do not error if slot already exists when creating a "
@@ -1231,7 +2106,7 @@ msgstr ""
 "      --if-not-exists    не выдавать ошибку при попытке создать уже "
 "существующий слот\n"
 
-#: pg_receivewal.c:85 pg_recvlogical.c:89
+#: pg_receivewal.c:85 pg_recvlogical.c:99
 #, c-format
 msgid "  -n, --no-loop          do not loop on connection lost\n"
 msgstr "  -n, --no-loop          прерывать работу при потере соединения\n"
@@ -1244,7 +2119,7 @@ msgid ""
 msgstr ""
 "      --no-sync          не ждать надёжного сохранения изменений на диске\n"
 
-#: pg_receivewal.c:87 pg_recvlogical.c:94
+#: pg_receivewal.c:87 pg_recvlogical.c:104
 #, c-format
 msgid ""
 "  -s, --status-interval=SECS\n"
@@ -1281,7 +2156,7 @@ msgstr ""
 "\n"
 "Дополнительные действия:\n"
 
-#: pg_receivewal.c:104 pg_recvlogical.c:79
+#: pg_receivewal.c:104 pg_recvlogical.c:89
 #, c-format
 msgid ""
 "      --create-slot      create a new replication slot (for the slot's name "
@@ -1290,7 +2165,7 @@ msgstr ""
 "      --create-slot      создать новый слот репликации (имя слота задаёт "
 "параметр --slot)\n"
 
-#: pg_receivewal.c:105 pg_recvlogical.c:80
+#: pg_receivewal.c:105 pg_recvlogical.c:90
 #, c-format
 msgid ""
 "      --drop-slot        drop the replication slot (for the slot's name see "
@@ -1314,7 +2189,7 @@ msgstr "завершена передача журнала с позиции %X/
 msgid "switched to timeline %u at %X/%X"
 msgstr "переключение на линию времени %u (позиция %X/%X)"
 
-#: pg_receivewal.c:224
+#: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
 msgid "received interrupt signal, exiting"
 msgstr "получен сигнал прерывания, работа завершается"
@@ -1362,11 +2237,6 @@ msgstr ""
 msgid "could not create LZ4 decompression context: %s"
 msgstr "не удалось создать контекст распаковки LZ4: %s"
 
-#: pg_receivewal.c:402
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "не удалось прочитать файл \"%s\": %m"
-
 #: pg_receivewal.c:420
 #, c-format
 msgid "could not decompress file \"%s\": %s"
@@ -1398,7 +2268,7 @@ msgstr ""
 msgid "starting log streaming at %X/%X (timeline %u)"
 msgstr "начало передачи журнала с позиции %X/%X (линия времени %u)"
 
-#: pg_receivewal.c:693 pg_recvlogical.c:783
+#: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
 msgid "could not parse end position \"%s\""
 msgstr "не удалось разобрать конечную позицию \"%s\""
@@ -1431,28 +2301,28 @@ msgstr ""
 "подключение для репликации через слот \"%s\" оказалось привязано к базе "
 "данных"
 
-#: pg_receivewal.c:878 pg_recvlogical.c:954
+#: pg_receivewal.c:878 pg_recvlogical.c:972
 #, c-format
 msgid "dropping replication slot \"%s\""
 msgstr "удаление слота репликации \"%s\""
 
-#: pg_receivewal.c:889 pg_recvlogical.c:964
+#: pg_receivewal.c:889 pg_recvlogical.c:982
 #, c-format
 msgid "creating replication slot \"%s\""
 msgstr "создание слота репликации \"%s\""
 
-#: pg_receivewal.c:918 pg_recvlogical.c:988
+#: pg_receivewal.c:918 pg_recvlogical.c:1006
 #, c-format
 msgid "disconnected"
 msgstr "отключение"
 
 #. translator: check source for value for %d
-#: pg_receivewal.c:922 pg_recvlogical.c:992
+#: pg_receivewal.c:922 pg_recvlogical.c:1010
 #, c-format
 msgid "disconnected; waiting %d seconds to try again"
 msgstr "отключение; через %d сек. последует повторное подключение"
 
-#: pg_recvlogical.c:74
+#: pg_recvlogical.c:84
 #, c-format
 msgid ""
 "%s controls PostgreSQL logical decoding streams.\n"
@@ -1461,7 +2331,7 @@ msgstr ""
 "%s управляет потоками логического декодирования PostgreSQL.\n"
 "\n"
 
-#: pg_recvlogical.c:78
+#: pg_recvlogical.c:88
 #, c-format
 msgid ""
 "\n"
@@ -1470,7 +2340,7 @@ msgstr ""
 "\n"
 "Действие, которое будет выполнено:\n"
 
-#: pg_recvlogical.c:81
+#: pg_recvlogical.c:91
 #, c-format
 msgid ""
 "      --start            start streaming in a replication slot (for the "
@@ -1479,13 +2349,13 @@ msgstr ""
 "      --start            начать передачу в слоте репликации (имя слота "
 "задаёт параметр --slot)\n"
 
-#: pg_recvlogical.c:84
+#: pg_recvlogical.c:94
 #, c-format
 msgid "  -f, --file=FILE        receive log into this file, - for stdout\n"
 msgstr ""
 "  -f, --file=ФАЙЛ        сохранять журнал в этот файл, - обозначает stdout\n"
 
-#: pg_recvlogical.c:85
+#: pg_recvlogical.c:95
 #, c-format
 msgid ""
 "  -F  --fsync-interval=SECS\n"
@@ -1496,7 +2366,7 @@ msgstr ""
 "                         периодичность сброса на диск выходного файла (по "
 "умолчанию: %d)\n"
 
-#: pg_recvlogical.c:88
+#: pg_recvlogical.c:98
 #, c-format
 msgid ""
 "  -I, --startpos=LSN     where in an existing slot should the streaming "
@@ -1505,7 +2375,7 @@ msgstr ""
 "  -I, --startpos=LSN     определяет, с какой позиции в существующем слоте "
 "начнётся передача\n"
 
-#: pg_recvlogical.c:90
+#: pg_recvlogical.c:100
 #, c-format
 msgid ""
 "  -o, --option=NAME[=VALUE]\n"
@@ -1517,19 +2387,19 @@ msgstr ""
 "необязательным\n"
 "                         значением модулю вывода\n"
 
-#: pg_recvlogical.c:93
+#: pg_recvlogical.c:103
 #, c-format
 msgid "  -P, --plugin=PLUGIN    use output plugin PLUGIN (default: %s)\n"
 msgstr ""
 "  -P, --plugin=МОДУЛЬ    использовать заданный модуль вывода (по умолчанию: "
 "%s)\n"
 
-#: pg_recvlogical.c:96
+#: pg_recvlogical.c:106
 #, c-format
 msgid "  -S, --slot=SLOTNAME    name of the logical replication slot\n"
 msgstr "  -S, --slot=ИМЯ_СЛОТА   имя слота логической репликации\n"
 
-#: pg_recvlogical.c:97
+#: pg_recvlogical.c:107
 #, c-format
 msgid ""
 "  -t, --two-phase        enable decoding of prepared transactions when "
@@ -1538,129 +2408,129 @@ msgstr ""
 "  -t, --two-phase        включить декодирование подготовленных транзакций "
 "при создании слота\n"
 
-#: pg_recvlogical.c:102
+#: pg_recvlogical.c:112
 #, c-format
 msgid "  -d, --dbname=DBNAME    database to connect to\n"
 msgstr "  -d, --dbname=ИМЯ_БД    целевая база данных\n"
 
-#: pg_recvlogical.c:135
+#: pg_recvlogical.c:145
 #, c-format
 msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
 msgstr "подтверждается запись до %X/%X, синхронизация с ФС до %X/%X (слот %s)"
 
-#: pg_recvlogical.c:159 receivelog.c:360
+#: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
 msgid "could not send feedback packet: %s"
 msgstr "не удалось отправить пакет ответа: %s"
 
-#: pg_recvlogical.c:227
+#: pg_recvlogical.c:239
 #, c-format
 msgid "starting log streaming at %X/%X (slot %s)"
 msgstr "начало передачи журнала с позиции %X/%X (слот %s)"
 
-#: pg_recvlogical.c:269
+#: pg_recvlogical.c:281
 #, c-format
 msgid "streaming initiated"
 msgstr "передача запущена"
 
-#: pg_recvlogical.c:333
+#: pg_recvlogical.c:346
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "не удалось открыть файл протокола \"%s\": %m"
 
-#: pg_recvlogical.c:362 receivelog.c:882
+#: pg_recvlogical.c:375 receivelog.c:882
 #, c-format
 msgid "invalid socket: %s"
 msgstr "неверный сокет: %s"
 
-#: pg_recvlogical.c:415 receivelog.c:910
+#: pg_recvlogical.c:428 receivelog.c:910
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: pg_recvlogical.c:422 receivelog.c:959
+#: pg_recvlogical.c:435 receivelog.c:959
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "не удалось получить данные из потока WAL: %s"
 
-#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003
+#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003
 #: receivelog.c:1066
 #, c-format
 msgid "streaming header too small: %d"
 msgstr "заголовок потока слишком мал: %d"
 
-#: pg_recvlogical.c:499 receivelog.c:843
+#: pg_recvlogical.c:512 receivelog.c:843
 #, c-format
 msgid "unrecognized streaming header: \"%c\""
 msgstr "нераспознанный заголовок потока: \"%c\""
 
-#: pg_recvlogical.c:553 pg_recvlogical.c:565
+#: pg_recvlogical.c:566 pg_recvlogical.c:578
 #, c-format
 msgid "could not write %d bytes to log file \"%s\": %m"
 msgstr "не удалось записать %d Б в файл журнала \"%s\": %m"
 
-#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679
+#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679
 #, c-format
 msgid "unexpected termination of replication stream: %s"
 msgstr "неожиданный конец потока репликации: %s"
 
-#: pg_recvlogical.c:778
+#: pg_recvlogical.c:796
 #, c-format
 msgid "could not parse start position \"%s\""
 msgstr "не удалось разобрать начальную позицию \"%s\""
 
-#: pg_recvlogical.c:856
+#: pg_recvlogical.c:874
 #, c-format
 msgid "no slot specified"
 msgstr "слот не указан"
 
-#: pg_recvlogical.c:863
+#: pg_recvlogical.c:881
 #, c-format
 msgid "no target file specified"
 msgstr "целевой файл не задан"
 
-#: pg_recvlogical.c:870
+#: pg_recvlogical.c:888
 #, c-format
 msgid "no database specified"
 msgstr "база данных не задана"
 
-#: pg_recvlogical.c:877
+#: pg_recvlogical.c:895
 #, c-format
 msgid "at least one action needs to be specified"
 msgstr "необходимо задать минимум одно действие"
 
-#: pg_recvlogical.c:884
+#: pg_recvlogical.c:902
 #, c-format
 msgid "cannot use --create-slot or --start together with --drop-slot"
 msgstr "--create-slot или --start нельзя применять вместе с --drop-slot"
 
-#: pg_recvlogical.c:891
+#: pg_recvlogical.c:909
 #, c-format
 msgid "cannot use --create-slot or --drop-slot together with --startpos"
 msgstr "--create-slot или --drop-slot нельзя применять вместе с --startpos"
 
-#: pg_recvlogical.c:898
+#: pg_recvlogical.c:916
 #, c-format
 msgid "--endpos may only be specified with --start"
 msgstr "--endpos можно задать только вместе с --start"
 
-#: pg_recvlogical.c:905
+#: pg_recvlogical.c:923
 #, c-format
 msgid "--two-phase may only be specified with --create-slot"
 msgstr "--two-phase можно задать только вместе с --create-slot"
 
-#: pg_recvlogical.c:938
+#: pg_recvlogical.c:956
 #, c-format
 msgid "could not establish database-specific replication connection"
 msgstr ""
 "не удалось установить подключение для репликации к определённой базе данных"
 
-#: pg_recvlogical.c:1032
+#: pg_recvlogical.c:1056
 #, c-format
 msgid "end position %X/%X reached by keepalive"
 msgstr "конечная позиция %X/%X достигнута при обработке keepalive"
 
-#: pg_recvlogical.c:1035
+#: pg_recvlogical.c:1061
 #, c-format
 msgid "end position %X/%X reached by WAL record at %X/%X"
 msgstr "конечная позиция %X/%X достигнута при обработке записи WAL %X/%X"
@@ -1805,7 +2675,7 @@ msgstr ""
 msgid "could not parse next timeline's starting point \"%s\""
 msgstr "не удалось разобрать начальную точку следующей линии времени \"%s\""
 
-#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201
+#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206
 #, c-format
 msgid "could not fsync file \"%s\": %s"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %s"
@@ -1830,31 +2700,32 @@ msgstr "не удалось записать %d Б в файл WAL \"%s\": %s"
 msgid "could not send copy-end packet: %s"
 msgstr "не удалось отправить пакет \"конец COPY\": %s"
 
-#: streamutil.c:158
+#: streamutil.c:162
 msgid "Password: "
 msgstr "Пароль: "
 
-#: streamutil.c:181
+#: streamutil.c:189
 #, c-format
 msgid "could not connect to server"
 msgstr "не удалось подключиться к серверу"
 
-#: streamutil.c:222
+#: streamutil.c:230
 #, c-format
-msgid "could not clear search_path: %s"
-msgstr "не удалось очистить search_path: %s"
+msgid "could not clear \"search_path\": %s"
+msgstr "не удалось очистить \"search_path\": %s"
 
-#: streamutil.c:238
+#: streamutil.c:246
 #, c-format
-msgid "could not determine server setting for integer_datetimes"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ð½Ð°Ñ\81Ñ\82Ñ\80ойкÑ\83 Ñ\81еÑ\80веÑ\80а integer_datetimes"
+msgid "could not determine server setting for \"integer_datetimes\""
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ð¿Ð°Ñ\80амеÑ\82Ñ\80 Ñ\81еÑ\80веÑ\80а \"integer_datetimes\""
 
-#: streamutil.c:245
+#: streamutil.c:253
 #, c-format
-msgid "integer_datetimes compile flag does not match server"
-msgstr "флаг компиляции integer_datetimes не соответствует настройке сервера"
+msgid "\"integer_datetimes\" compile flag does not match server"
+msgstr ""
+"флаг компиляции \"integer_datetimes\" не соответствует настройке сервера"
 
-#: streamutil.c:296
+#: streamutil.c:372
 #, c-format
 msgid ""
 "could not fetch WAL segment size: got %d rows and %d fields, expected %d "
@@ -1863,30 +2734,26 @@ msgstr ""
 "не удалось извлечь размер сегмента WAL; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d (или более))"
 
-#: streamutil.c:306
+#: streamutil.c:382
 #, c-format
 msgid "WAL segment size could not be parsed"
 msgstr "разобрать размер сегмента WAL не удалось"
 
-#: streamutil.c:324
+#: streamutil.c:400
 #, c-format
-msgid ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"remote server reported a value of %d byte"
-msgid_plural ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"remote server reported a value of %d bytes"
-msgstr[0] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но удалённый сервер сообщил значение: %d"
-msgstr[1] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но удалённый сервер сообщил значение: %d"
-msgstr[2] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но удалённый сервер сообщил значение: %d"
+msgid "remote server reported invalid WAL segment size (%d byte)"
+msgid_plural "remote server reported invalid WAL segment size (%d bytes)"
+msgstr[0] "удалённый сервер выдал неверный размер сегмента WAL: %d Б"
+msgstr[1] "удалённый сервер выдал неверный размер сегмента WAL: %d Б"
+msgstr[2] "удалённый сервер выдал неверный размер сегмента WAL: %d Б"
+
+#: streamutil.c:404
+#, c-format
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ."
 
-#: streamutil.c:369
+#: streamutil.c:446
 #, c-format
 msgid ""
 "could not fetch group access flag: got %d rows and %d fields, expected %d "
@@ -1895,12 +2762,12 @@ msgstr ""
 "не удалось извлечь флаг доступа группы; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d (или более))"
 
-#: streamutil.c:378
+#: streamutil.c:455
 #, c-format
 msgid "group access flag could not be parsed: %s"
 msgstr "не удалось разобрать флаг доступа группы: %s"
 
-#: streamutil.c:421 streamutil.c:458
+#: streamutil.c:498 streamutil.c:535
 #, c-format
 msgid ""
 "could not identify system: got %d rows and %d fields, expected %d rows and "
@@ -1909,7 +2776,7 @@ msgstr ""
 "не удалось идентифицировать систему; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d (или более))"
 
-#: streamutil.c:510
+#: streamutil.c:587
 #, c-format
 msgid ""
 "could not read replication slot \"%s\": got %d rows and %d fields, expected "
@@ -1918,23 +2785,23 @@ msgstr ""
 "прочитать из слота репликации \"%s\" не удалось; получено строк: %d, полей: "
 "%d (ожидалось: %d и %d)"
 
-#: streamutil.c:522
+#: streamutil.c:599
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "слот репликации \"%s\" не существует"
 
-#: streamutil.c:533
+#: streamutil.c:610
 #, c-format
 msgid "expected a physical replication slot, got type \"%s\" instead"
 msgstr "ожидался слот физической репликации, вместо этого получен тип \"%s\""
 
-#: streamutil.c:547
+#: streamutil.c:624
 #, c-format
 msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\""
 msgstr ""
 "не удалось разобрать позицию restart_lsn \"%s\" для слота репликации \"%s\""
 
-#: streamutil.c:664
+#: streamutil.c:741
 #, c-format
 msgid ""
 "could not create replication slot \"%s\": got %d rows and %d fields, "
@@ -1943,7 +2810,7 @@ msgstr ""
 "создать слот репликации \"%s\" не удалось; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d)"
 
-#: streamutil.c:708
+#: streamutil.c:785
 #, c-format
 msgid ""
 "could not drop replication slot \"%s\": got %d rows and %d fields, expected "
@@ -1952,32 +2819,32 @@ msgstr ""
 "удалить слот репликации \"%s\" не получилось; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d)"
 
-#: walmethods.c:721 walmethods.c:1264
+#: walmethods.c:726 walmethods.c:1269
 msgid "could not compress data"
 msgstr "не удалось сжать данные"
 
-#: walmethods.c:750
+#: walmethods.c:755
 msgid "could not reset compression stream"
 msgstr "не удалось сбросить поток сжатых данных"
 
-#: walmethods.c:888
+#: walmethods.c:892
 msgid "implementation error: tar files can't have more than one open file"
 msgstr ""
 "ошибка реализации: в файлах tar не может быть больше одно открытого файла"
 
-#: walmethods.c:903
+#: walmethods.c:907
 msgid "could not create tar header"
 msgstr "не удалось создать заголовок tar"
 
-#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179
+#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184
 msgid "could not change compression parameters"
 msgstr "не удалось изменить параметры сжатия"
 
-#: walmethods.c:1052
+#: walmethods.c:1056
 msgid "unlink not supported with compression"
 msgstr "со сжатием закрытие файла с удалением не поддерживается"
 
-#: walmethods.c:1288
+#: walmethods.c:1293
 msgid "could not close compression stream"
 msgstr "не удалось закрыть поток сжатых данных"
 
@@ -2015,9 +2882,6 @@ msgstr "не удалось закрыть поток сжатых данных"
 #~ "для параметра --compress не задано значение, используется значение по "
 #~ "умолчанию"
 
-#~ msgid "could not find replication slot \"%s\""
-#~ msgstr "не удалось найти слот репликации \"%s\""
-
 #~ msgid "fatal: "
 #~ msgstr "важно: "
 
@@ -2056,9 +2920,6 @@ msgstr "не удалось закрыть поток сжатых данных"
 #~ msgid "--no-manifest and --manifest-force-encode are incompatible options"
 #~ msgstr "параметры --no-manifest и --manifest-force-encode несовместимы"
 
-#~ msgid "could not connect to server: %s"
-#~ msgstr "не удалось подключиться к серверу: %s"
-
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
@@ -2142,13 +3003,6 @@ msgstr "не удалось закрыть поток сжатых данных"
 #~ msgid "%s: initializing replication slot \"%s\"\n"
 #~ msgstr "%s: инициализируется слот репликации \"%s\"\n"
 
-#~ msgid ""
-#~ "%s: could not init logical replication: got %d rows and %d fields, "
-#~ "expected %d rows and %d fields\n"
-#~ msgstr ""
-#~ "%s: не удалось инициализировать логическую репликацию; получено строк: "
-#~ "%d, полей: %d (ожидалось: %d и %d)\n"
-
 #~ msgid "%s: no start point returned from server\n"
 #~ msgstr "%s: сервер не вернул стартовую точку\n"
 
@@ -2167,9 +3021,6 @@ msgstr "не удалось закрыть поток сжатых данных"
 #~ msgid "%s: invalid format of xlog location: %s\n"
 #~ msgstr "%s: неверный формат позиции в xlog: %s\n"
 
-#~ msgid "%s: could not identify system: %s"
-#~ msgstr "%s: не удалось идентифицировать систему: %s"
-
 #~ msgid "%s: could not send base backup command: %s"
 #~ msgstr ""
 #~ "%s: не удалось отправить команду базового резервного копирования: %s"
index ebe46366573215cef5eaee441fa0b3e54348495f..30f9791b0460ac667d9af142386b45520ea761af 100644 (file)
@@ -1,10 +1,10 @@
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2019, 2020, 2021, 2022.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2019, 2020, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_verify_checksums (PostgreSQL) 11\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2022-09-05 13:34+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 13:35+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -32,6 +32,106 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/controldata_utils.c:97
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../../common/controldata_utils.c:110
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:119
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных."
+
+#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70
+#: ../../common/file_utils.c:347 ../../common/file_utils.c:406
+#: ../../common/file_utils.c:480 pg_checksums.c:192
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#: pg_checksums.c:338 pg_checksums.c:407
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_checksums.c:310
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: ../../fe_utils/option_utils.c:69
 #, c-format
 msgid "invalid value \"%s\" for option %s"
@@ -42,7 +142,12 @@ msgstr "неверное значение \"%s\" для параметра %s"
 msgid "%s must be in range %d..%d"
 msgstr "значение %s должно быть в диапазоне %d..%d"
 
-#: pg_checksums.c:79
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: pg_checksums.c:70
 #, c-format
 msgid ""
 "%s enables, disables, or verifies data checksums in a PostgreSQL database "
@@ -53,17 +158,17 @@ msgstr ""
 "PostgreSQL.\n"
 "\n"
 
-#: pg_checksums.c:80
+#: pg_checksums.c:71
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_checksums.c:81
+#: pg_checksums.c:72
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [ПАРАМЕТР]... [КАТАЛОГ]\n"
 
-#: pg_checksums.c:82
+#: pg_checksums.c:73
 #, c-format
 msgid ""
 "\n"
@@ -72,29 +177,29 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: pg_checksums.c:83
+#: pg_checksums.c:74
 #, c-format
 msgid " [-D, --pgdata=]DATADIR    data directory\n"
 msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n"
 
-#: pg_checksums.c:84
+#: pg_checksums.c:75
 #, c-format
 msgid "  -c, --check              check data checksums (default)\n"
 msgstr ""
 "  -c, --check              проверить контрольные суммы данных (по "
 "умолчанию)\n"
 
-#: pg_checksums.c:85
+#: pg_checksums.c:76
 #, c-format
 msgid "  -d, --disable            disable data checksums\n"
 msgstr "  -d, --disable            отключить контрольные суммы\n"
 
-#: pg_checksums.c:86
+#: pg_checksums.c:77
 #, c-format
 msgid "  -e, --enable             enable data checksums\n"
 msgstr "  -e, --enable             включить контрольные суммы\n"
 
-#: pg_checksums.c:87
+#: pg_checksums.c:78
 #, c-format
 msgid ""
 "  -f, --filenode=FILENODE  check only relation with specified filenode\n"
@@ -102,7 +207,7 @@ msgstr ""
 "  -f, --filenode=ФАЙЛ_УЗЕЛ проверить только отношение с заданным файловым "
 "узлом\n"
 
-#: pg_checksums.c:88
+#: pg_checksums.c:79
 #, c-format
 msgid ""
 "  -N, --no-sync            do not wait for changes to be written safely to "
@@ -110,27 +215,32 @@ msgid ""
 msgstr ""
 "  -N, --no-sync            не ждать завершения сохранения данных на диске\n"
 
-#: pg_checksums.c:89
+#: pg_checksums.c:80
 #, c-format
 msgid "  -P, --progress           show progress information\n"
 msgstr "  -P, --progress           показывать прогресс операции\n"
 
-#: pg_checksums.c:90
+#: pg_checksums.c:81
+#, c-format
+msgid "      --sync-method=METHOD set method for syncing files to disk\n"
+msgstr "      --sync-method=МЕТОД  метод синхронизации файлов с ФС\n"
+
+#: pg_checksums.c:82
 #, c-format
 msgid "  -v, --verbose            output verbose messages\n"
 msgstr "  -v, --verbose            выводить подробные сообщения\n"
 
-#: pg_checksums.c:91
+#: pg_checksums.c:83
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: pg_checksums.c:92
+#: pg_checksums.c:84
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               показать эту справку и выйти\n"
 
-#: pg_checksums.c:93
+#: pg_checksums.c:85
 #, c-format
 msgid ""
 "\n"
@@ -144,37 +254,32 @@ msgstr ""
 "переменной окружения PGDATA.\n"
 "\n"
 
-#: pg_checksums.c:95
+#: pg_checksums.c:87
 #, c-format
 msgid "Report bugs to <%s>.\n"
 msgstr "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_checksums.c:96
+#: pg_checksums.c:88
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_checksums.c:153
+#: pg_checksums.c:145
 #, c-format
 msgid "%lld/%lld MB (%d%%) computed"
 msgstr "%lld/%lld МБ (%d%%) обработано"
 
-#: pg_checksums.c:200
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
-
-#: pg_checksums.c:214
+#: pg_checksums.c:206
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "не удалось прочитать блок %u в файле \"%s\": %m"
 
-#: pg_checksums.c:217
+#: pg_checksums.c:209
 #, c-format
 msgid "could not read block %u in file \"%s\": read %d of %d"
 msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)"
 
-#: pg_checksums.c:240
+#: pg_checksums.c:232
 #, c-format
 msgid ""
 "checksum verification failed in file \"%s\", block %u: calculated checksum "
@@ -183,82 +288,72 @@ msgstr ""
 "ошибка контрольных сумм в файле \"%s\", блоке %u: вычислена контрольная "
 "сумма %X, но блок содержит %X"
 
-#: pg_checksums.c:263
+#: pg_checksums.c:255
 #, c-format
 msgid "seek failed for block %u in file \"%s\": %m"
 msgstr "ошибка при переходе к блоку %u в файле \"%s\": %m"
 
-#: pg_checksums.c:270
+#: pg_checksums.c:262
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "не удалось записать блок %u в файл \"%s\": %m"
 
-#: pg_checksums.c:273
+#: pg_checksums.c:265
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote %d of %d"
 msgstr "не удалось записать блок %u в файле \"%s\" (записано байт: %d из %d)"
 
-#: pg_checksums.c:285
+#: pg_checksums.c:277
 #, c-format
 msgid "checksums verified in file \"%s\""
 msgstr "контрольные суммы в файле \"%s\" проверены"
 
-#: pg_checksums.c:287
+#: pg_checksums.c:279
 #, c-format
 msgid "checksums enabled in file \"%s\""
 msgstr "контрольные суммы в файле \"%s\" включены"
 
-#: pg_checksums.c:318
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "не удалось открыть каталог \"%s\": %m"
-
-#: pg_checksums.c:346 pg_checksums.c:415
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "не удалось получить информацию о файле \"%s\": %m"
-
-#: pg_checksums.c:370
+#: pg_checksums.c:362
 #, c-format
 msgid "invalid segment number %d in file name \"%s\""
 msgstr "неверный номер сегмента %d в имени файла \"%s\""
 
-#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546
+#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_checksums.c:527
+#: pg_checksums.c:524
 #, c-format
 msgid "no data directory specified"
 msgstr "каталог данных не указан"
 
-#: pg_checksums.c:536
+#: pg_checksums.c:533
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_checksums.c:545
+#: pg_checksums.c:542
 #, c-format
 msgid "option -f/--filenode can only be used with --check"
 msgstr "параметр -f/--filenode можно использовать только с --check"
 
-#: pg_checksums.c:553
+#: pg_checksums.c:550
 #, c-format
 msgid "pg_control CRC value is incorrect"
 msgstr "ошибка контрольного значения в pg_control"
 
-#: pg_checksums.c:556
+#: pg_checksums.c:553
 #, c-format
 msgid "cluster is not compatible with this version of pg_checksums"
 msgstr "кластер несовместим с этой версией pg_checksums"
 
-#: pg_checksums.c:560
+#: pg_checksums.c:557
 #, c-format
 msgid "database cluster is not compatible"
 msgstr "несовместимый кластер баз данных"
 
-#: pg_checksums.c:561
+#: pg_checksums.c:558
 #, c-format
 msgid ""
 "The database cluster was initialized with block size %u, but pg_checksums "
@@ -267,77 +362,77 @@ msgstr ""
 "Кластер баз данных был инициализирован с размером блока %u, а утилита "
 "pg_checksums скомпилирована для размера блока %u."
 
-#: pg_checksums.c:573
+#: pg_checksums.c:570
 #, c-format
 msgid "cluster must be shut down"
 msgstr "кластер должен быть отключён"
 
-#: pg_checksums.c:577
+#: pg_checksums.c:574
 #, c-format
 msgid "data checksums are not enabled in cluster"
 msgstr "контрольные суммы в кластере не включены"
 
-#: pg_checksums.c:581
+#: pg_checksums.c:578
 #, c-format
 msgid "data checksums are already disabled in cluster"
 msgstr "контрольные суммы в кластере уже отключены"
 
-#: pg_checksums.c:585
+#: pg_checksums.c:582
 #, c-format
 msgid "data checksums are already enabled in cluster"
 msgstr "контрольные суммы в кластере уже включены"
 
-#: pg_checksums.c:609
+#: pg_checksums.c:606
 #, c-format
 msgid "Checksum operation completed\n"
 msgstr "Обработка контрольных сумм завершена\n"
 
-#: pg_checksums.c:610
+#: pg_checksums.c:607
 #, c-format
 msgid "Files scanned:   %lld\n"
 msgstr "Просканировано файлов: %lld\n"
 
-#: pg_checksums.c:611
+#: pg_checksums.c:608
 #, c-format
 msgid "Blocks scanned:  %lld\n"
 msgstr "Просканировано блоков: %lld\n"
 
-#: pg_checksums.c:614
+#: pg_checksums.c:611
 #, c-format
 msgid "Bad checksums:  %lld\n"
 msgstr "Неверные контрольные суммы: %lld\n"
 
-#: pg_checksums.c:615 pg_checksums.c:647
+#: pg_checksums.c:612 pg_checksums.c:644
 #, c-format
 msgid "Data checksum version: %u\n"
 msgstr "Версия контрольных сумм данных: %u\n"
 
-#: pg_checksums.c:622
+#: pg_checksums.c:619
 #, c-format
 msgid "Files written:  %lld\n"
 msgstr "Записано файлов: %lld\n"
 
-#: pg_checksums.c:623
+#: pg_checksums.c:620
 #, c-format
 msgid "Blocks written: %lld\n"
 msgstr "Записано блоков: %lld\n"
 
-#: pg_checksums.c:639
+#: pg_checksums.c:636
 #, c-format
 msgid "syncing data directory"
 msgstr "синхронизация каталога данных"
 
-#: pg_checksums.c:643
+#: pg_checksums.c:640
 #, c-format
 msgid "updating control file"
 msgstr "модификация управляющего файла"
 
-#: pg_checksums.c:649
+#: pg_checksums.c:646
 #, c-format
 msgid "Checksums enabled in cluster\n"
 msgstr "Контрольные суммы в кластере включены\n"
 
-#: pg_checksums.c:651
+#: pg_checksums.c:648
 #, c-format
 msgid "Checksums disabled in cluster\n"
 msgstr "Контрольные суммы в кластере отключены\n"
index 34e80c83c632dccc12d89ae6ca60b853f9200011..0a86bbb455c6d6320140a2f0fae097595b329ea1 100644 (file)
@@ -5,13 +5,13 @@
 # Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2004-2005.
 # Sergey Burladyan <eshkinkot@gmail.com>, 2009, 2012.
 # Andrey Sudnik <sudnikand@gmail.com>, 2010.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2016, 2017, 2019, 2020, 2021, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2016, 2017, 2019, 2020, 2021, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_config (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2023-08-29 10:19+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 13:45+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -28,35 +28,61 @@ msgstr ""
 msgid "not recorded"
 msgstr "не записано"
 
-#: ../../common/exec.c:172
+#: ../../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:215
+#: ../../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:223
+#: ../../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../common/exec.c:250
+#: ../../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../../common/exec.c:412
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "нехватка памяти"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
 #: pg_config.c:74
 #, c-format
 msgid ""
@@ -295,10 +321,6 @@ msgstr "%s: неверный аргумент: %s\n"
 #~ msgid "could not identify current directory: %m"
 #~ msgstr "не удалось определить текущий каталог: %m"
 
-#, c-format
-#~ msgid "could not change directory to \"%s\": %m"
-#~ msgstr "не удалось перейти в каталог \"%s\": %m"
-
 #, c-format
 #~ msgid "could not read symbolic link \"%s\": %m"
 #~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
index 430ec929eed2c66a221cd1b782356ca0f7724ff5..81f0fa0e9b1c5d5cf8266a739e9633522e298666 100644 (file)
@@ -4,13 +4,13 @@
 # Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2002-2004.
 # Oleg Bartunov <oleg@sai.msu.su>, 2004.
 # Andrey Sudnik <sudnikand@gmail.com>, 2011.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_controldata (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-11-03 09:08+0300\n"
-"PO-Revision-Date: 2022-09-05 13:34+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 17:08+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -20,31 +20,31 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../../common/controldata_utils.c:83
+#: ../../common/controldata_utils.c:97
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: ../../common/controldata_utils.c:96
+#: ../../common/controldata_utils.c:110
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: ../../common/controldata_utils.c:105
+#: ../../common/controldata_utils.c:119
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
 
-#: ../../common/controldata_utils.c:118 ../../common/controldata_utils.c:266
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
 
-#: ../../common/controldata_utils.c:154
+#: ../../common/controldata_utils.c:168
 msgid "byte ordering mismatch"
 msgstr "несоответствие порядка байт"
 
-#: ../../common/controldata_utils.c:156
+#: ../../common/controldata_utils.c:170
 #, c-format
 msgid ""
 "possible byte ordering mismatch\n"
@@ -58,21 +58,32 @@ msgstr ""
 "этой программой. В этом случае результаты будут неверными и\n"
 "установленный PostgreSQL будет несовместим с этим каталогом данных."
 
-#: ../../common/controldata_utils.c:216
+#: ../../common/controldata_utils.c:230
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: ../../common/controldata_utils.c:235
+#: ../../common/controldata_utils.c:249
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: ../../common/controldata_utils.c:254
+#: ../../common/controldata_utils.c:268
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
 #: pg_controldata.c:35
 #, c-format
 msgid ""
@@ -173,8 +184,8 @@ msgid "unrecognized status code"
 msgstr "нераспознанный код состояния"
 
 #: pg_controldata.c:84
-msgid "unrecognized wal_level"
-msgstr "нераспознанный уровень WAL"
+msgid "unrecognized \"wal_level\""
+msgstr "нераспознанное значение \"wal_level\""
 
 #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163
 #, c-format
@@ -191,360 +202,379 @@ msgstr "слишком много аргументов командной стр
 msgid "no data directory specified"
 msgstr "каталог данных не указан"
 
-#: pg_controldata.c:170
+#: pg_controldata.c:171
+#, c-format
+msgid "calculated CRC checksum does not match value stored in control file"
+msgstr ""
+"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому "
+"в управляющем файле"
+
+#: pg_controldata.c:172
 #, c-format
 msgid ""
-"WARNING: Calculated CRC checksum does not match value stored in file.\n"
-"Either the file is corrupt, or it has a different layout than this program\n"
-"is expecting.  The results below are untrustworthy.\n"
-"\n"
+"Either the control file is corrupt, or it has a different layout than this "
+"program is expecting.  The results below are untrustworthy."
 msgstr ""
-"ПРЕДУПРЕЖДЕНИЕ: Вычисленная контрольная сумма не совпадает со значением в "
-"файле.\n"
-"Либо файл повреждён, либо его формат отличается от ожидаемого.\n"
-"Следующая информация может быть недостоверной.\n"
-"\n"
+"Либо управляющий файл повреждён, либо его структура отличается от ожидаемой. "
+"Следующая информация может быть недостоверной."
 
-#: pg_controldata.c:179
+#: pg_controldata.c:181
 #, c-format
-msgid "WARNING: invalid WAL segment size\n"
-msgstr "ПРЕДУПРЕЖДЕНИЕ: неверный размер сегмента WAL\n"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
 
-#: pg_controldata.c:180
+#: pg_controldata.c:185
 #, c-format
-msgid ""
-"The WAL segment size stored in the file, %d byte, is not a power of two\n"
-"between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
-"untrustworthy.\n"
-"\n"
-msgid_plural ""
-"The WAL segment size stored in the file, %d bytes, is not a power of two\n"
-"between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
-"untrustworthy.\n"
-"\n"
-msgstr[0] ""
-"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
-"степенью\n"
-"двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
-"подлежит сомнению.\n"
-"\n"
-msgstr[1] ""
-"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
-"степенью\n"
-"двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
-"подлежит сомнению.\n"
-"\n"
-msgstr[2] ""
-"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
-"степенью\n"
-"двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
-"подлежит сомнению.\n"
-"\n"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ."
+
+#: pg_controldata.c:186
+#, c-format
+msgid "The file is corrupt and the results below are untrustworthy."
+msgstr "Файл испорчен, поэтому следующая информация не является достоверной."
 
-#: pg_controldata.c:222
+#: pg_controldata.c:221
 msgid "???"
 msgstr "???"
 
-#: pg_controldata.c:228
+#: pg_controldata.c:227
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "Номер версии pg_control:              %u\n"
 
-#: pg_controldata.c:230
+#: pg_controldata.c:229
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Номер версии каталога:                %u\n"
 
-#: pg_controldata.c:232
+#: pg_controldata.c:231
 #, c-format
 msgid "Database system identifier:           %llu\n"
 msgstr "Идентификатор системы баз данных:     %llu\n"
 
-#: pg_controldata.c:234
+#: pg_controldata.c:233
 #, c-format
 msgid "Database cluster state:               %s\n"
 msgstr "Состояние кластера БД:                %s\n"
 
-#: pg_controldata.c:236
+#: pg_controldata.c:235
 #, c-format
 msgid "pg_control last modified:             %s\n"
 msgstr "Последнее обновление pg_control:      %s\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:238
+#: pg_controldata.c:237
 #, c-format
 msgid "Latest checkpoint location:           %X/%X\n"
 msgstr "Положение последней конт. точки:      %X/%X\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:240
+#: pg_controldata.c:239
 #, c-format
 msgid "Latest checkpoint's REDO location:    %X/%X\n"
 msgstr "Положение REDO последней конт. точки: %X/%X\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:242
+#: pg_controldata.c:241
 #, c-format
 msgid "Latest checkpoint's REDO WAL file:    %s\n"
 msgstr "Файл WAL c REDO последней к. т.:      %s\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:244
+#: pg_controldata.c:243
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "Линия времени последней конт. точки:  %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:246
+#: pg_controldata.c:245
 #, c-format
 msgid "Latest checkpoint's PrevTimeLineID:   %u\n"
 msgstr "Пред. линия времени последней к. т.:  %u\n"
 
 # skip-rule: no-space-after-period
-#: pg_controldata.c:248
+#: pg_controldata.c:247
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "Режим full_page_writes последней к.т: %s\n"
 
-#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302
+#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301
 msgid "off"
 msgstr "выкл."
 
-#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302
+#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301
 msgid "on"
 msgstr "вкл."
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:250
+#: pg_controldata.c:249
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
 msgstr "NextXID последней конт. точки:        %u:%u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:253
+#: pg_controldata.c:252
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "NextOID последней конт. точки:        %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:255
+#: pg_controldata.c:254
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "NextMultiXactId послед. конт. точки:  %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:257
+#: pg_controldata.c:256
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "NextMultiOffset послед. конт. точки:  %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:259
+#: pg_controldata.c:258
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "oldestXID последней конт. точки:      %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:261
+#: pg_controldata.c:260
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "БД с oldestXID последней конт. точки: %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:263
+#: pg_controldata.c:262
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
 msgstr "oldestActiveXID последней к. т.:      %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:265
+#: pg_controldata.c:264
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
 msgstr "oldestMultiXid последней конт. точки: %u\n"
 
 # skip-rule: double-space, capital-letter-first
-#: pg_controldata.c:267
+#: pg_controldata.c:266
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "БД с oldestMulti последней к. т.:     %u\n"
 
 # skip-rule: double-space, capital-letter-first
-#: pg_controldata.c:269
+#: pg_controldata.c:268
 #, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
 msgstr "oldestCommitTsXid последней к. т.:    %u\n"
 
 # skip-rule: capital-letter-first, double-space
-#: pg_controldata.c:271
+#: pg_controldata.c:270
 #, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
 msgstr "newestCommitTsXid последней к. т.:    %u\n"
 
-#: pg_controldata.c:273
+#: pg_controldata.c:272
 #, c-format
 msgid "Time of latest checkpoint:            %s\n"
 msgstr "Время последней контрольной точки:    %s\n"
 
 # skip-rule: capital-letter-first
 # well-spelled: нежурналир
-#: pg_controldata.c:275
+#: pg_controldata.c:274
 #, c-format
 msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
 msgstr "Фиктивный LSN для нежурналир. таблиц: %X/%X\n"
 
-#: pg_controldata.c:277
+#: pg_controldata.c:276
 #, c-format
 msgid "Minimum recovery ending location:     %X/%X\n"
 msgstr "Мин. положение конца восстановления:  %X/%X\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:279
+#: pg_controldata.c:278
 #, c-format
 msgid "Min recovery ending loc's timeline:   %u\n"
 msgstr "Линия времени мин. положения к. в.:   %u\n"
 
-#: pg_controldata.c:281
+#: pg_controldata.c:280
 #, c-format
 msgid "Backup start location:                %X/%X\n"
 msgstr "Положение начала копии:               %X/%X\n"
 
-#: pg_controldata.c:283
+#: pg_controldata.c:282
 #, c-format
 msgid "Backup end location:                  %X/%X\n"
 msgstr "Положение конца копии:                %X/%X\n"
 
-#: pg_controldata.c:285
+#: pg_controldata.c:284
 #, c-format
 msgid "End-of-backup record required:        %s\n"
 msgstr "Требуется запись конец-копии:         %s\n"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:285
 msgid "no"
 msgstr "нет"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:285
 msgid "yes"
 msgstr "да"
 
-#: pg_controldata.c:287
+#: pg_controldata.c:286
 #, c-format
 msgid "wal_level setting:                    %s\n"
 msgstr "Значение wal_level:                   %s\n"
 
-#: pg_controldata.c:289
+#: pg_controldata.c:288
 #, c-format
 msgid "wal_log_hints setting:                %s\n"
 msgstr "Значение wal_log_hints:               %s\n"
 
-#: pg_controldata.c:291
+#: pg_controldata.c:290
 #, c-format
 msgid "max_connections setting:              %d\n"
 msgstr "Значение max_connections:             %d\n"
 
-#: pg_controldata.c:293
+#: pg_controldata.c:292
 #, c-format
 msgid "max_worker_processes setting:         %d\n"
 msgstr "Значение max_worker_processes:        %d\n"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:294
 #, c-format
 msgid "max_wal_senders setting:              %d\n"
 msgstr "Значение max_wal_senders:             %d\n"
 
-#: pg_controldata.c:297
+#: pg_controldata.c:296
 #, c-format
 msgid "max_prepared_xacts setting:           %d\n"
 msgstr "Значение max_prepared_xacts:          %d\n"
 
-#: pg_controldata.c:299
+#: pg_controldata.c:298
 #, c-format
 msgid "max_locks_per_xact setting:           %d\n"
 msgstr "Значение max_locks_per_xact:          %d\n"
 
-#: pg_controldata.c:301
+#: pg_controldata.c:300
 #, c-format
 msgid "track_commit_timestamp setting:       %s\n"
 msgstr "Значение track_commit_timestamp:      %s\n"
 
-#: pg_controldata.c:303
+#: pg_controldata.c:302
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "Макс. предел выравнивания данных:     %u\n"
 
-#: pg_controldata.c:306
+#: pg_controldata.c:305
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "Размер блока БД:                      %u\n"
 
 # skip-rule: double-space
-#: pg_controldata.c:308
+#: pg_controldata.c:307
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "Блоков в макс. сегменте отношений:    %u\n"
 
-#: pg_controldata.c:310
+#: pg_controldata.c:309
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "Размер блока WAL:                     %u\n"
 
-#: pg_controldata.c:312
+#: pg_controldata.c:311
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "Байт в сегменте WAL:                  %u\n"
 
-#: pg_controldata.c:314
+#: pg_controldata.c:313
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "Максимальная длина идентификаторов:   %u\n"
 
-#: pg_controldata.c:316
+#: pg_controldata.c:315
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "Макс. число столбцов в индексе:       %u\n"
 
-#: pg_controldata.c:318
+#: pg_controldata.c:317
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "Максимальный размер порции TOAST:     %u\n"
 
-#: pg_controldata.c:320
+#: pg_controldata.c:319
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "Размер порции большого объекта:       %u\n"
 
-#: pg_controldata.c:323
+#: pg_controldata.c:322
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "Формат хранения даты/времени:         %s\n"
 
-#: pg_controldata.c:324
+#: pg_controldata.c:323
 msgid "64-bit integers"
 msgstr "64-битные целые"
 
-#: pg_controldata.c:325
+#: pg_controldata.c:324
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "Передача аргумента float8:            %s\n"
 
-#: pg_controldata.c:326
+#: pg_controldata.c:325
 msgid "by reference"
 msgstr "по ссылке"
 
-#: pg_controldata.c:326
+#: pg_controldata.c:325
 msgid "by value"
 msgstr "по значению"
 
-#: pg_controldata.c:327
+#: pg_controldata.c:326
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "Версия контрольных сумм страниц:      %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_controldata.c:329
+#: pg_controldata.c:328
 #, c-format
 msgid "Mock authentication nonce:            %s\n"
 msgstr "Случ. число для псевдоаутентификации: %s\n"
 
+#, c-format
+#~ msgid "WARNING: invalid WAL segment size\n"
+#~ msgstr "ПРЕДУПРЕЖДЕНИЕ: неверный размер сегмента WAL\n"
+
+#, c-format
+#~ msgid ""
+#~ "The WAL segment size stored in the file, %d byte, is not a power of two\n"
+#~ "between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
+#~ "untrustworthy.\n"
+#~ "\n"
+#~ msgid_plural ""
+#~ "The WAL segment size stored in the file, %d bytes, is not a power of two\n"
+#~ "between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
+#~ "untrustworthy.\n"
+#~ "\n"
+#~ msgstr[0] ""
+#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
+#~ "степенью\n"
+#~ "двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
+#~ "подлежит сомнению.\n"
+#~ "\n"
+#~ msgstr[1] ""
+#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
+#~ "степенью\n"
+#~ "двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
+#~ "подлежит сомнению.\n"
+#~ "\n"
+#~ msgstr[2] ""
+#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является "
+#~ "степенью\n"
+#~ "двух между 1 МБ и 1 ГБ.  Файл испорчен, выводимая ниже информация\n"
+#~ "подлежит сомнению.\n"
+#~ "\n"
+
 #~ msgid "Report bugs to <pgsql-bugs@lists.postgresql.org>.\n"
 #~ msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@lists.postgresql.org>.\n"
 
@@ -555,11 +585,6 @@ msgstr "Случ. число для псевдоаутентификации: %s
 #~ msgid "Prior checkpoint location:            %X/%X\n"
 #~ msgstr "Положение предыдущей конт. точки:     %X/%X\n"
 
-#~ msgid "calculated CRC checksum does not match value stored in file"
-#~ msgstr ""
-#~ "вычисленная контрольная сумма (CRC) не соответствует значению, "
-#~ "сохранённому в файле"
-
 #~ msgid "floating-point numbers"
 #~ msgstr "числа с плавающей точкой"
 
index a5d7ee2b7481566edd2216f2022de31008db20a4..d773a3373d06548934863d85fbecb128bde2a6f2 100644 (file)
@@ -6,13 +6,13 @@
 # Sergey Burladyan <eshkinkot@gmail.com>, 2009, 2012.
 # Andrey Sudnik <sudnikand@gmail.com>, 2010.
 # Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_ctl (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2023-08-29 10:20+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 06:47+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -22,38 +22,57 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../../common/exec.c:172
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:215
+#: ../../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:223
+#: ../../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../common/exec.c:250
+#: ../../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../../common/exec.c:412
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "нехватка памяти"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
-#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808
+#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -91,133 +110,133 @@ msgstr "дочерний процесс завершён по сигналу %d:
 #: ../../common/wait_error.c:82
 #, c-format
 msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d"
 
 #: ../../port/path.c:775
 #, c-format
-msgid "could not get current working directory: %s\n"
-msgstr "не удалось определить текущий рабочий каталог: %s\n"
+msgid "could not get current working directory: %m\n"
+msgstr "не удалось определить текущий рабочий каталог: %m\n"
 
-#: pg_ctl.c:255
+#: pg_ctl.c:254
 #, c-format
 msgid "%s: directory \"%s\" does not exist\n"
 msgstr "%s: каталог \"%s\" не существует\n"
 
-#: pg_ctl.c:258
+#: pg_ctl.c:257
 #, c-format
-msgid "%s: could not access directory \"%s\": %s\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па Ðº ÐºÐ°Ñ\82алогÑ\83 \"%s\": %s\n"
+msgid "%s: could not access directory \"%s\": %m\n"
+msgstr "%s: Ð¾Ñ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении Ðº ÐºÐ°Ñ\82алогÑ\83 \"%s\": %m\n"
 
-#: pg_ctl.c:271
+#: pg_ctl.c:270
 #, c-format
 msgid "%s: directory \"%s\" is not a database cluster directory\n"
 msgstr "%s: каталог \"%s\" не содержит структуры кластера баз данных\n"
 
-#: pg_ctl.c:284
+#: pg_ctl.c:283
 #, c-format
-msgid "%s: could not open PID file \"%s\": %s\n"
-msgstr "%s: не удалось открыть файл PID \"%s\": %s\n"
+msgid "%s: could not open PID file \"%s\": %m\n"
+msgstr "%s: не удалось открыть файл PID \"%s\": %m\n"
 
-#: pg_ctl.c:293
+#: pg_ctl.c:292
 #, c-format
 msgid "%s: the PID file \"%s\" is empty\n"
 msgstr "%s: файл PID \"%s\" пуст\n"
 
-#: pg_ctl.c:296
+#: pg_ctl.c:295
 #, c-format
 msgid "%s: invalid data in PID file \"%s\"\n"
 msgstr "%s: неверные данные в файле PID \"%s\"\n"
 
-#: pg_ctl.c:458 pg_ctl.c:500
+#: pg_ctl.c:457 pg_ctl.c:499
 #, c-format
-msgid "%s: could not start server: %s\n"
-msgstr "%s: не удалось запустить сервер: %s\n"
+msgid "%s: could not start server: %m\n"
+msgstr "%s: не удалось запустить сервер: %m\n"
 
-#: pg_ctl.c:478
+#: pg_ctl.c:477
 #, c-format
-msgid "%s: could not start server due to setsid() failure: %s\n"
-msgstr "%s: не удалось запустить сервер из-за ошибки в setsid(): %s\n"
+msgid "%s: could not start server due to setsid() failure: %m\n"
+msgstr "%s: не удалось запустить сервер из-за ошибки в setsid(): %m\n"
 
-#: pg_ctl.c:548
+#: pg_ctl.c:547
 #, c-format
-msgid "%s: could not open log file \"%s\": %s\n"
-msgstr "%s: не удалось открыть файл протокола \"%s\": %s\n"
+msgid "%s: could not open log file \"%s\": %m\n"
+msgstr "%s: не удалось открыть файл протокола \"%s\": %m\n"
 
-#: pg_ctl.c:565
+#: pg_ctl.c:564
 #, c-format
 msgid "%s: could not start server: error code %lu\n"
 msgstr "%s: не удалось запустить сервер (код ошибки: %lu)\n"
 
-#: pg_ctl.c:782
+#: pg_ctl.c:781
 #, c-format
 msgid "%s: cannot set core file size limit; disallowed by hard limit\n"
 msgstr ""
 "%s: не удалось ограничить размер дампа памяти; запрещено жёстким "
 "ограничением\n"
 
-#: pg_ctl.c:808
+#: pg_ctl.c:807
 #, c-format
 msgid "%s: could not read file \"%s\"\n"
 msgstr "%s: не удалось прочитать файл \"%s\"\n"
 
-#: pg_ctl.c:813
+#: pg_ctl.c:812
 #, c-format
 msgid "%s: option file \"%s\" must have exactly one line\n"
 msgstr "%s: в файле параметров \"%s\" должна быть ровно одна строка\n"
 
-#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107
+#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105
 #, c-format
-msgid "%s: could not send stop signal (PID: %d): %s\n"
-msgstr "%s: не удалось отправить сигнал остановки (PID: %d): %s\n"
+msgid "%s: could not send stop signal (PID: %d): %m\n"
+msgstr "%s: не удалось отправить сигнал остановки (PID: %d): %m\n"
 
-#: pg_ctl.c:883
+#: pg_ctl.c:882
 #, c-format
 msgid ""
 "program \"%s\" is needed by %s but was not found in the same directory as "
 "\"%s\"\n"
 msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"\n"
 
-#: pg_ctl.c:886
+#: pg_ctl.c:885
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n"
 msgstr ""
 "программа \"%s\" найдена программой \"%s\", но её версия отличается от "
 "версии %s\n"
 
-#: pg_ctl.c:918
+#: pg_ctl.c:917
 #, c-format
 msgid "%s: database system initialization failed\n"
 msgstr "%s: сбой при инициализации системы баз данных\n"
 
-#: pg_ctl.c:933
+#: pg_ctl.c:932
 #, c-format
 msgid "%s: another server might be running; trying to start server anyway\n"
 msgstr ""
 "%s: возможно, уже работает другой сервер; всё же пробуем запустить этот "
 "сервер\n"
 
-#: pg_ctl.c:981
+#: pg_ctl.c:980
 msgid "waiting for server to start..."
 msgstr "ожидание запуска сервера..."
 
-#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238
+#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235
 msgid " done\n"
 msgstr " готово\n"
 
-#: pg_ctl.c:987
+#: pg_ctl.c:986
 msgid "server started\n"
 msgstr "сервер запущен\n"
 
-#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243
+#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240
 msgid " stopped waiting\n"
 msgstr " прекращение ожидания\n"
 
-#: pg_ctl.c:991
+#: pg_ctl.c:990
 #, c-format
 msgid "%s: server did not start in time\n"
 msgstr "%s: сервер не запустился за отведённое время\n"
 
-#: pg_ctl.c:997
+#: pg_ctl.c:996
 #, c-format
 msgid ""
 "%s: could not start server\n"
@@ -226,43 +245,43 @@ msgstr ""
 "%s: не удалось запустить сервер\n"
 "Изучите протокол выполнения.\n"
 
-#: pg_ctl.c:1005
+#: pg_ctl.c:1004
 msgid "server starting\n"
 msgstr "сервер запускается\n"
 
-#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267
+#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264
 #, c-format
 msgid "%s: PID file \"%s\" does not exist\n"
 msgstr "%s: файл PID \"%s\" не существует\n"
 
-#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268
+#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265
 msgid "Is server running?\n"
 msgstr "Запущен ли сервер?\n"
 
-#: pg_ctl.c:1031
+#: pg_ctl.c:1030
 #, c-format
 msgid "%s: cannot stop server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: остановить сервер с PID %d нельзя - он запущен в монопольном режиме\n"
 
-#: pg_ctl.c:1046
+#: pg_ctl.c:1044
 msgid "server shutting down\n"
 msgstr "сервер останавливается\n"
 
-#: pg_ctl.c:1051 pg_ctl.c:1112
+#: pg_ctl.c:1049 pg_ctl.c:1109
 msgid "waiting for server to shut down..."
 msgstr "ожидание завершения работы сервера..."
 
-#: pg_ctl.c:1055 pg_ctl.c:1117
+#: pg_ctl.c:1053 pg_ctl.c:1114
 msgid " failed\n"
 msgstr " ошибка\n"
 
-#: pg_ctl.c:1057 pg_ctl.c:1119
+#: pg_ctl.c:1055 pg_ctl.c:1116
 #, c-format
 msgid "%s: server does not shut down\n"
 msgstr "%s: сервер не останавливается\n"
 
-#: pg_ctl.c:1059 pg_ctl.c:1121
+#: pg_ctl.c:1057 pg_ctl.c:1118
 msgid ""
 "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n"
 "waiting for session-initiated disconnection.\n"
@@ -270,243 +289,243 @@ msgstr ""
 "ПОДСКАЗКА: Параметр \"-m fast\" может сбросить сеансы принудительно,\n"
 "не дожидаясь, пока они завершатся сами.\n"
 
-#: pg_ctl.c:1065 pg_ctl.c:1127
+#: pg_ctl.c:1063 pg_ctl.c:1124
 msgid "server stopped\n"
 msgstr "сервер остановлен\n"
 
-#: pg_ctl.c:1086
+#: pg_ctl.c:1084
 msgid "trying to start server anyway\n"
 msgstr "производится попытка запуска сервера в любом случае\n"
 
-#: pg_ctl.c:1095
+#: pg_ctl.c:1093
 #, c-format
 msgid "%s: cannot restart server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: перезапустить сервер с PID %d нельзя - он запущен в монопольном режиме\n"
 
-#: pg_ctl.c:1098 pg_ctl.c:1157
+#: pg_ctl.c:1096 pg_ctl.c:1154
 msgid "Please terminate the single-user server and try again.\n"
 msgstr "Пожалуйста, остановите его и повторите попытку.\n"
 
-#: pg_ctl.c:1131
+#: pg_ctl.c:1128
 #, c-format
 msgid "%s: old server process (PID: %d) seems to be gone\n"
 msgstr "%s: похоже, что старый серверный процесс (PID: %d) исчез\n"
 
-#: pg_ctl.c:1133
+#: pg_ctl.c:1130
 msgid "starting server anyway\n"
 msgstr "сервер запускается, несмотря на это\n"
 
-#: pg_ctl.c:1154
+#: pg_ctl.c:1151
 #, c-format
 msgid "%s: cannot reload server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: перезагрузить сервер с PID %d нельзя - он запущен в монопольном режиме\n"
 
-#: pg_ctl.c:1163
+#: pg_ctl.c:1160
 #, c-format
-msgid "%s: could not send reload signal (PID: %d): %s\n"
-msgstr "%s: не удалось отправить сигнал перезагрузки (PID: %d): %s\n"
+msgid "%s: could not send reload signal (PID: %d): %m\n"
+msgstr "%s: не удалось отправить сигнал перезагрузки (PID: %d): %m\n"
 
-#: pg_ctl.c:1168
+#: pg_ctl.c:1165
 msgid "server signaled\n"
 msgstr "сигнал отправлен серверу\n"
 
-#: pg_ctl.c:1193
+#: pg_ctl.c:1190
 #, c-format
 msgid "%s: cannot promote server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: повысить сервер с PID %d нельзя - он выполняется в монопольном режиме\n"
 
-#: pg_ctl.c:1201
+#: pg_ctl.c:1198
 #, c-format
 msgid "%s: cannot promote server; server is not in standby mode\n"
 msgstr "%s: повысить сервер нельзя - он работает не в режиме резерва\n"
 
-#: pg_ctl.c:1211
+#: pg_ctl.c:1208
 #, c-format
-msgid "%s: could not create promote signal file \"%s\": %s\n"
-msgstr "%s: не удалось создать файл \"%s\" с сигналом к повышению: %s\n"
+msgid "%s: could not create promote signal file \"%s\": %m\n"
+msgstr "%s: не удалось создать файл \"%s\" с сигналом к повышению: %m\n"
 
-#: pg_ctl.c:1217
+#: pg_ctl.c:1214
 #, c-format
-msgid "%s: could not write promote signal file \"%s\": %s\n"
-msgstr "%s: не удалось записать файл \"%s\" с сигналом к повышению: %s\n"
+msgid "%s: could not write promote signal file \"%s\": %m\n"
+msgstr "%s: не удалось записать файл \"%s\" с сигналом к повышению: %m\n"
 
-#: pg_ctl.c:1225
+#: pg_ctl.c:1222
 #, c-format
-msgid "%s: could not send promote signal (PID: %d): %s\n"
-msgstr "%s: не удалось отправить сигнал к повышению (PID: %d): %s\n"
+msgid "%s: could not send promote signal (PID: %d): %m\n"
+msgstr "%s: не удалось отправить сигнал к повышению (PID: %d): %m\n"
 
-#: pg_ctl.c:1228
+#: pg_ctl.c:1225
 #, c-format
-msgid "%s: could not remove promote signal file \"%s\": %s\n"
-msgstr "%s: ошибка при удалении файла \"%s\" с сигналом к повышению: %s\n"
+msgid "%s: could not remove promote signal file \"%s\": %m\n"
+msgstr "%s: ошибка при удалении файла \"%s\" с сигналом к повышению: %m\n"
 
-#: pg_ctl.c:1235
+#: pg_ctl.c:1232
 msgid "waiting for server to promote..."
 msgstr "ожидание повышения сервера..."
 
-#: pg_ctl.c:1239
+#: pg_ctl.c:1236
 msgid "server promoted\n"
 msgstr "сервер повышен\n"
 
-#: pg_ctl.c:1244
+#: pg_ctl.c:1241
 #, c-format
 msgid "%s: server did not promote in time\n"
 msgstr "%s: повышение сервера не завершилось за отведённое время\n"
 
-#: pg_ctl.c:1250
+#: pg_ctl.c:1247
 msgid "server promoting\n"
 msgstr "сервер повышается\n"
 
-#: pg_ctl.c:1274
+#: pg_ctl.c:1271
 #, c-format
 msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: не удалось прокрутить файл журнала; сервер работает в монопольном режиме "
 "(PID: %d)\n"
 
-#: pg_ctl.c:1284
+#: pg_ctl.c:1281
 #, c-format
-msgid "%s: could not create log rotation signal file \"%s\": %s\n"
+msgid "%s: could not create log rotation signal file \"%s\": %m\n"
 msgstr ""
-"%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %s\n"
+"%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %m\n"
 
-#: pg_ctl.c:1290
+#: pg_ctl.c:1287
 #, c-format
-msgid "%s: could not write log rotation signal file \"%s\": %s\n"
+msgid "%s: could not write log rotation signal file \"%s\": %m\n"
 msgstr ""
-"%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %s\n"
+"%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %m\n"
 
-#: pg_ctl.c:1298
+#: pg_ctl.c:1295
 #, c-format
-msgid "%s: could not send log rotation signal (PID: %d): %s\n"
-msgstr "%s: не удалось отправить сигнал к прокрутке журнала (PID: %d): %s\n"
+msgid "%s: could not send log rotation signal (PID: %d): %m\n"
+msgstr "%s: не удалось отправить сигнал к прокрутке журнала (PID: %d): %m\n"
 
-#: pg_ctl.c:1301
+#: pg_ctl.c:1298
 #, c-format
-msgid "%s: could not remove log rotation signal file \"%s\": %s\n"
+msgid "%s: could not remove log rotation signal file \"%s\": %m\n"
 msgstr ""
-"%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %s\n"
+"%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %m\n"
 
-#: pg_ctl.c:1306
+#: pg_ctl.c:1303
 msgid "server signaled to rotate log file\n"
 msgstr "сигнал для прокрутки файла журнала отправлен серверу\n"
 
-#: pg_ctl.c:1353
+#: pg_ctl.c:1350
 #, c-format
 msgid "%s: single-user server is running (PID: %d)\n"
 msgstr "%s: сервер работает в монопольном режиме (PID: %d)\n"
 
-#: pg_ctl.c:1367
+#: pg_ctl.c:1364
 #, c-format
 msgid "%s: server is running (PID: %d)\n"
 msgstr "%s: сервер работает (PID: %d)\n"
 
-#: pg_ctl.c:1383
+#: pg_ctl.c:1380
 #, c-format
 msgid "%s: no server running\n"
 msgstr "%s: сервер не работает\n"
 
-#: pg_ctl.c:1400
+#: pg_ctl.c:1397
 #, c-format
-msgid "%s: could not send signal %d (PID: %d): %s\n"
-msgstr "%s: не удалось отправить сигнал %d (PID: %d): %s\n"
+msgid "%s: could not send signal %d (PID: %d): %m\n"
+msgstr "%s: не удалось отправить сигнал %d (PID: %d): %m\n"
 
-#: pg_ctl.c:1431
+#: pg_ctl.c:1428
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s: не удалось найти свой исполняемый файл\n"
 
-#: pg_ctl.c:1441
+#: pg_ctl.c:1438
 #, c-format
 msgid "%s: could not find postgres program executable\n"
 msgstr "%s: не удалось найти исполняемый файл postgres\n"
 
-#: pg_ctl.c:1511 pg_ctl.c:1545
+#: pg_ctl.c:1508 pg_ctl.c:1542
 #, c-format
 msgid "%s: could not open service manager\n"
 msgstr "%s: не удалось открыть менеджер служб\n"
 
-#: pg_ctl.c:1517
+#: pg_ctl.c:1514
 #, c-format
 msgid "%s: service \"%s\" already registered\n"
 msgstr "%s: служба \"%s\" уже зарегистрирована\n"
 
-#: pg_ctl.c:1528
+#: pg_ctl.c:1525
 #, c-format
 msgid "%s: could not register service \"%s\": error code %lu\n"
 msgstr "%s: не удалось зарегистрировать службу \"%s\" (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1551
+#: pg_ctl.c:1548
 #, c-format
 msgid "%s: service \"%s\" not registered\n"
 msgstr "%s: служба \"%s\" не зарегистрирована\n"
 
-#: pg_ctl.c:1558
+#: pg_ctl.c:1555
 #, c-format
 msgid "%s: could not open service \"%s\": error code %lu\n"
 msgstr "%s: не удалось открыть службу \"%s\" (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1567
+#: pg_ctl.c:1564
 #, c-format
 msgid "%s: could not unregister service \"%s\": error code %lu\n"
 msgstr "%s: ошибка при удалении службы \"%s\" (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1654
+#: pg_ctl.c:1651
 msgid "Waiting for server startup...\n"
 msgstr "Ожидание запуска сервера...\n"
 
-#: pg_ctl.c:1657
+#: pg_ctl.c:1654
 msgid "Timed out waiting for server startup\n"
 msgstr "Превышено время ожидания запуска сервера\n"
 
-#: pg_ctl.c:1661
+#: pg_ctl.c:1658
 msgid "Server started and accepting connections\n"
 msgstr "Сервер запущен и принимает подключения\n"
 
-#: pg_ctl.c:1716
+#: pg_ctl.c:1713
 #, c-format
 msgid "%s: could not start service \"%s\": error code %lu\n"
 msgstr "%s: не удалось запустить службу \"%s\" (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1789
+#: pg_ctl.c:1786
 #, c-format
 msgid "%s: could not open process token: error code %lu\n"
 msgstr "%s: не удалось открыть маркер процесса (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1803
+#: pg_ctl.c:1800
 #, c-format
 msgid "%s: could not allocate SIDs: error code %lu\n"
 msgstr "%s: не удалось подготовить структуры SID (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1829
+#: pg_ctl.c:1826
 #, c-format
 msgid "%s: could not create restricted token: error code %lu\n"
 msgstr "%s: не удалось создать ограниченный маркер (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1911
+#: pg_ctl.c:1908
 #, c-format
 msgid "%s: could not get LUIDs for privileges: error code %lu\n"
 msgstr "%s: не удалось получить LUID для привилегий (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1919 pg_ctl.c:1934
+#: pg_ctl.c:1916 pg_ctl.c:1931
 #, c-format
 msgid "%s: could not get token information: error code %lu\n"
 msgstr "%s: не удалось получить информацию о маркере (код ошибки: %lu)\n"
 
-#: pg_ctl.c:1928
+#: pg_ctl.c:1925
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: нехватка памяти\n"
 
-#: pg_ctl.c:1958
+#: pg_ctl.c:1955
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_ctl.c:1966
+#: pg_ctl.c:1963
 #, c-format
 msgid ""
 "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n"
@@ -516,17 +535,17 @@ msgstr ""
 "PostgreSQL.\n"
 "\n"
 
-#: pg_ctl.c:1967
+#: pg_ctl.c:1964
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_ctl.c:1968
+#: pg_ctl.c:1965
 #, c-format
 msgid "  %s init[db]   [-D DATADIR] [-s] [-o OPTIONS]\n"
 msgstr "  %s init[db]   [-D КАТАЛОГ-ДАННЫХ] [-s] [-o ПАРАМЕТРЫ]\n"
 
-#: pg_ctl.c:1969
+#: pg_ctl.c:1966
 #, c-format
 msgid ""
 "  %s start      [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n"
@@ -535,13 +554,13 @@ msgstr ""
 "  %s start      [-D КАТАЛОГ-ДАННЫХ] [-l ИМЯ-ФАЙЛА] [-W] [-t СЕК] [-s]\n"
 "                    [-o ПАРАМЕТРЫ] [-p ПУТЬ] [-c]\n"
 
-#: pg_ctl.c:1971
+#: pg_ctl.c:1968
 #, c-format
 msgid "  %s stop       [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n"
 msgstr ""
 "  %s stop       [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n"
 
-#: pg_ctl.c:1972
+#: pg_ctl.c:1969
 #, c-format
 msgid ""
 "  %s restart    [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n"
@@ -550,32 +569,32 @@ msgstr ""
 "  %s restart    [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n"
 "                    [-o ПАРАМЕТРЫ] [-c]\n"
 
-#: pg_ctl.c:1974
+#: pg_ctl.c:1971
 #, c-format
 msgid "  %s reload     [-D DATADIR] [-s]\n"
 msgstr "  %s reload     [-D КАТАЛОГ-ДАННЫХ] [-s]\n"
 
-#: pg_ctl.c:1975
+#: pg_ctl.c:1972
 #, c-format
 msgid "  %s status     [-D DATADIR]\n"
 msgstr "  %s status     [-D КАТАЛОГ-ДАННЫХ]\n"
 
-#: pg_ctl.c:1976
+#: pg_ctl.c:1973
 #, c-format
 msgid "  %s promote    [-D DATADIR] [-W] [-t SECS] [-s]\n"
 msgstr "  %s promote    [-D КАТАЛОГ-ДАННЫХ] [-W] [-t СЕК] [-s]\n"
 
-#: pg_ctl.c:1977
+#: pg_ctl.c:1974
 #, c-format
 msgid "  %s logrotate  [-D DATADIR] [-s]\n"
 msgstr "  %s logrotate  [-D КАТАЛОГ-ДАННЫХ] [-s]\n"
 
-#: pg_ctl.c:1978
+#: pg_ctl.c:1975
 #, c-format
 msgid "  %s kill       SIGNALNAME PID\n"
 msgstr "  %s kill       СИГНАЛ PID\n"
 
-#: pg_ctl.c:1980
+#: pg_ctl.c:1977
 #, c-format
 msgid ""
 "  %s register   [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n"
@@ -587,12 +606,12 @@ msgstr ""
 "                    [-S ТИП-ЗАПУСКА] [-e ИСТОЧНИК] [-W] [-t СЕК] [-s] [-o "
 "ПАРАМЕТРЫ]\n"
 
-#: pg_ctl.c:1982
+#: pg_ctl.c:1979
 #, c-format
 msgid "  %s unregister [-N SERVICENAME]\n"
 msgstr "  %s unregister [-N ИМЯ-СЛУЖБЫ]\n"
 
-#: pg_ctl.c:1985
+#: pg_ctl.c:1982
 #, c-format
 msgid ""
 "\n"
@@ -601,12 +620,12 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_ctl.c:1986
+#: pg_ctl.c:1983
 #, c-format
 msgid "  -D, --pgdata=DATADIR   location of the database storage area\n"
 msgstr "  -D, --pgdata=КАТАЛОГ   расположение хранилища баз данных\n"
 
-#: pg_ctl.c:1988
+#: pg_ctl.c:1985
 #, c-format
 msgid ""
 "  -e SOURCE              event source for logging when running as a service\n"
@@ -615,45 +634,45 @@ msgstr ""
 "журнал,\n"
 "                         когда сервер работает в виде службы\n"
 
-#: pg_ctl.c:1990
+#: pg_ctl.c:1987
 #, c-format
 msgid "  -s, --silent           only print errors, no informational messages\n"
 msgstr ""
 "  -s, --silent           выводить только ошибки, без информационных "
 "сообщений\n"
 
-#: pg_ctl.c:1991
+#: pg_ctl.c:1988
 #, c-format
 msgid "  -t, --timeout=SECS     seconds to wait when using -w option\n"
 msgstr ""
 "  -t, --timeout=СЕК      время ожидания при использовании параметра -w\n"
 
-#: pg_ctl.c:1992
+#: pg_ctl.c:1989
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          показать версию и выйти\n"
 
-#: pg_ctl.c:1993
+#: pg_ctl.c:1990
 #, c-format
 msgid "  -w, --wait             wait until operation completes (default)\n"
 msgstr "  -w, --wait             ждать завершения операции (по умолчанию)\n"
 
-#: pg_ctl.c:1994
+#: pg_ctl.c:1991
 #, c-format
 msgid "  -W, --no-wait          do not wait until operation completes\n"
 msgstr "  -W, --no-wait          не ждать завершения операции\n"
 
-#: pg_ctl.c:1995
+#: pg_ctl.c:1992
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             показать эту справку и выйти\n"
 
-#: pg_ctl.c:1996
+#: pg_ctl.c:1993
 #, c-format
 msgid "If the -D option is omitted, the environment variable PGDATA is used.\n"
 msgstr "Если параметр -D опущен, используется переменная окружения PGDATA.\n"
 
-#: pg_ctl.c:1998
+#: pg_ctl.c:1995
 #, c-format
 msgid ""
 "\n"
@@ -662,24 +681,24 @@ msgstr ""
 "\n"
 "Параметры запуска и перезапуска:\n"
 
-#: pg_ctl.c:2000
+#: pg_ctl.c:1997
 #, c-format
 msgid "  -c, --core-files       allow postgres to produce core files\n"
 msgstr "  -c, --core-files       указать postgres создавать дампы памяти\n"
 
-#: pg_ctl.c:2002
+#: pg_ctl.c:1999
 #, c-format
 msgid "  -c, --core-files       not applicable on this platform\n"
 msgstr "  -c, --core-files       неприменимо на этой платформе\n"
 
-#: pg_ctl.c:2004
+#: pg_ctl.c:2001
 #, c-format
 msgid "  -l, --log=FILENAME     write (or append) server log to FILENAME\n"
 msgstr ""
 "  -l, --log=ФАЙЛ         записывать (или добавлять) протокол сервера в "
 "ФАЙЛ.\n"
 
-#: pg_ctl.c:2005
+#: pg_ctl.c:2002
 #, c-format
 msgid ""
 "  -o, --options=OPTIONS  command line options to pass to postgres\n"
@@ -689,12 +708,12 @@ msgstr ""
 "PostgreSQL)\n"
 "                         или initdb параметры командной строки\n"
 
-#: pg_ctl.c:2007
+#: pg_ctl.c:2004
 #, c-format
 msgid "  -p PATH-TO-POSTGRES    normally not necessary\n"
 msgstr "  -p ПУТЬ-К-POSTGRES     обычно не требуется\n"
 
-#: pg_ctl.c:2008
+#: pg_ctl.c:2005
 #, c-format
 msgid ""
 "\n"
@@ -703,14 +722,14 @@ msgstr ""
 "\n"
 "Параметры остановки и перезапуска:\n"
 
-#: pg_ctl.c:2009
+#: pg_ctl.c:2006
 #, c-format
 msgid ""
 "  -m, --mode=MODE        MODE can be \"smart\", \"fast\", or \"immediate\"\n"
 msgstr ""
 "  -m, --mode=РЕЖИМ       может быть \"smart\", \"fast\" или \"immediate\"\n"
 
-#: pg_ctl.c:2011
+#: pg_ctl.c:2008
 #, c-format
 msgid ""
 "\n"
@@ -719,17 +738,17 @@ msgstr ""
 "\n"
 "Режимы остановки:\n"
 
-#: pg_ctl.c:2012
+#: pg_ctl.c:2009
 #, c-format
 msgid "  smart       quit after all clients have disconnected\n"
 msgstr "  smart       закончить работу после отключения всех клиентов\n"
 
-#: pg_ctl.c:2013
+#: pg_ctl.c:2010
 #, c-format
 msgid "  fast        quit directly, with proper shutdown (default)\n"
 msgstr "  fast        закончить сразу, в штатном режиме (по умолчанию)\n"
 
-#: pg_ctl.c:2014
+#: pg_ctl.c:2011
 #, c-format
 msgid ""
 "  immediate   quit without complete shutdown; will lead to recovery on "
@@ -738,7 +757,7 @@ msgstr ""
 "  immediate   закончить немедленно, в экстренном режиме; влечёт за собой\n"
 "              восстановление при перезапуске\n"
 
-#: pg_ctl.c:2016
+#: pg_ctl.c:2013
 #, c-format
 msgid ""
 "\n"
@@ -747,7 +766,7 @@ msgstr ""
 "\n"
 "Разрешённые сигналы для команды kill:\n"
 
-#: pg_ctl.c:2020
+#: pg_ctl.c:2017
 #, c-format
 msgid ""
 "\n"
@@ -756,30 +775,30 @@ msgstr ""
 "\n"
 "Параметры для регистрации и удаления:\n"
 
-#: pg_ctl.c:2021
+#: pg_ctl.c:2018
 #, c-format
 msgid ""
 "  -N SERVICENAME  service name with which to register PostgreSQL server\n"
 msgstr "  -N ИМЯ-СЛУЖБЫ   имя службы для регистрации сервера PostgreSQL\n"
 
-#: pg_ctl.c:2022
+#: pg_ctl.c:2019
 #, c-format
 msgid "  -P PASSWORD     password of account to register PostgreSQL server\n"
 msgstr ""
 "  -P ПАРОЛЬ       пароль учётной записи для регистрации сервера PostgreSQL\n"
 
-#: pg_ctl.c:2023
+#: pg_ctl.c:2020
 #, c-format
 msgid "  -U USERNAME     user name of account to register PostgreSQL server\n"
 msgstr ""
 "  -U ПОЛЬЗОВАТЕЛЬ имя пользователя для регистрации сервера PostgreSQL\n"
 
-#: pg_ctl.c:2024
+#: pg_ctl.c:2021
 #, c-format
 msgid "  -S START-TYPE   service start type to register PostgreSQL server\n"
 msgstr "  -S ТИП-ЗАПУСКА  тип запуска службы сервера PostgreSQL\n"
 
-#: pg_ctl.c:2026
+#: pg_ctl.c:2023
 #, c-format
 msgid ""
 "\n"
@@ -788,7 +807,7 @@ msgstr ""
 "\n"
 "Типы запуска:\n"
 
-#: pg_ctl.c:2027
+#: pg_ctl.c:2024
 #, c-format
 msgid ""
 "  auto       start service automatically during system startup (default)\n"
@@ -796,12 +815,12 @@ msgstr ""
 "  auto       запускать службу автоматически при старте системы (по "
 "умолчанию)\n"
 
-#: pg_ctl.c:2028
+#: pg_ctl.c:2025
 #, c-format
 msgid "  demand     start service on demand\n"
 msgstr "  demand     запускать службу по требованию\n"
 
-#: pg_ctl.c:2031
+#: pg_ctl.c:2028
 #, c-format
 msgid ""
 "\n"
@@ -810,37 +829,37 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_ctl.c:2032
+#: pg_ctl.c:2029
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_ctl.c:2057
+#: pg_ctl.c:2054
 #, c-format
 msgid "%s: unrecognized shutdown mode \"%s\"\n"
 msgstr "%s: неизвестный режим остановки \"%s\"\n"
 
-#: pg_ctl.c:2086
+#: pg_ctl.c:2083
 #, c-format
 msgid "%s: unrecognized signal name \"%s\"\n"
 msgstr "%s: нераспознанное имя сигнала \"%s\"\n"
 
-#: pg_ctl.c:2103
+#: pg_ctl.c:2100
 #, c-format
 msgid "%s: unrecognized start type \"%s\"\n"
 msgstr "%s: нераспознанный тип запуска \"%s\"\n"
 
-#: pg_ctl.c:2159
+#: pg_ctl.c:2156
 #, c-format
 msgid "%s: could not determine the data directory using command \"%s\"\n"
 msgstr "%s: не удалось определить каталог данных с помощью команды \"%s\"\n"
 
-#: pg_ctl.c:2182
+#: pg_ctl.c:2179
 #, c-format
 msgid "%s: control file appears to be corrupt\n"
 msgstr "%s: управляющий файл, по-видимому, испорчен\n"
 
-#: pg_ctl.c:2250
+#: pg_ctl.c:2247
 #, c-format
 msgid ""
 "%s: cannot be run as root\n"
@@ -851,32 +870,32 @@ msgstr ""
 "Пожалуйста, переключитесь на обычного пользователя (например,\n"
 "используя \"su\"), который будет запускать серверный процесс.\n"
 
-#: pg_ctl.c:2333
+#: pg_ctl.c:2319
 #, c-format
 msgid "%s: -S option not supported on this platform\n"
 msgstr "%s: параметр -S не поддерживается в этой ОС\n"
 
-#: pg_ctl.c:2370
-#, c-format
-msgid "%s: too many command-line arguments (first is \"%s\")\n"
-msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
-
-#: pg_ctl.c:2396
+#: pg_ctl.c:2375
 #, c-format
 msgid "%s: missing arguments for kill mode\n"
 msgstr "%s: отсутствуют аргументы для режима kill\n"
 
-#: pg_ctl.c:2414
+#: pg_ctl.c:2393
 #, c-format
 msgid "%s: unrecognized operation mode \"%s\"\n"
 msgstr "%s: нераспознанный режим работы \"%s\"\n"
 
-#: pg_ctl.c:2424
+#: pg_ctl.c:2402
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
+
+#: pg_ctl.c:2409
 #, c-format
 msgid "%s: no operation specified\n"
 msgstr "%s: команда не указана\n"
 
-#: pg_ctl.c:2445
+#: pg_ctl.c:2430
 #, c-format
 msgid ""
 "%s: no database directory specified and environment variable PGDATA unset\n"
@@ -1009,10 +1028,6 @@ msgstr ""
 #~ msgid "child process was terminated by signal %s"
 #~ msgstr "дочерний процесс завершён по сигналу %s"
 
-#, c-format
-#~ msgid "could not change directory to \"%s\": %m"
-#~ msgstr "не удалось перейти в каталог \"%s\": %m"
-
 #, c-format
 #~ msgid "could not identify current directory: %m"
 #~ msgstr "не удалось определить текущий каталог: %m"
index a0a5496656cd82982ee524aad0a7f474a51609ca..513dd9593e4b8f4be8a6ce08703375d00a9d3144 100644 (file)
@@ -5,13 +5,13 @@
 # Oleg Bartunov <oleg@sai.msu.su>, 2004.
 # Sergey Burladyan <eshkinkot@gmail.com>, 2012.
 # Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_dump (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2023-08-30 14:18+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 07:35+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -97,32 +97,47 @@ msgstr "для алгоритма сжатия \"%s\" нельзя задать
 msgid "compression algorithm \"%s\" does not support long-distance mode"
 msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции"
 
-#: ../../common/exec.c:172
+#: ../../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:215
+#: ../../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:223
+#: ../../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../common/exec.c:250
+#: ../../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../../common/exec.c:412 parallel.c:1609
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../../common/exec.c:424 parallel.c:1609
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "нехватка памяти"
 
@@ -137,6 +152,49 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_backup_directory.c:182
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: ../../common/wait_error.c:55
 #, c-format
 msgid "command not executable"
@@ -165,7 +223,7 @@ msgstr "дочерний процесс завершён по сигналу %d:
 #: ../../common/wait_error.c:82
 #, c-format
 msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d"
 
 #: ../../fe_utils/option_utils.c:69
 #, c-format
@@ -177,229 +235,252 @@ msgstr "неверное значение \"%s\" для параметра %s"
 msgid "%s must be in range %d..%d"
 msgstr "значение %s должно быть в диапазоне %d..%d"
 
-#: common.c:132
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
+#: common.c:135
 #, c-format
 msgid "reading extensions"
 msgstr "чтение расширений"
 
-#: common.c:135
+#: common.c:138
 #, c-format
 msgid "identifying extension members"
 msgstr "выявление членов расширений"
 
-#: common.c:138
+#: common.c:141
 #, c-format
 msgid "reading schemas"
 msgstr "чтение схем"
 
-#: common.c:147
+#: common.c:150
 #, c-format
 msgid "reading user-defined tables"
 msgstr "чтение пользовательских таблиц"
 
-#: common.c:152
+#: common.c:155
 #, c-format
 msgid "reading user-defined functions"
 msgstr "чтение пользовательских функций"
 
-#: common.c:156
+#: common.c:159
 #, c-format
 msgid "reading user-defined types"
 msgstr "чтение пользовательских типов"
 
-#: common.c:160
+#: common.c:163
 #, c-format
 msgid "reading procedural languages"
 msgstr "чтение процедурных языков"
 
-#: common.c:163
+#: common.c:166
 #, c-format
 msgid "reading user-defined aggregate functions"
 msgstr "чтение пользовательских агрегатных функций"
 
-#: common.c:166
+#: common.c:169
 #, c-format
 msgid "reading user-defined operators"
 msgstr "чтение пользовательских операторов"
 
-#: common.c:169
+#: common.c:172
 #, c-format
 msgid "reading user-defined access methods"
 msgstr "чтение пользовательских методов доступа"
 
-#: common.c:172
+#: common.c:175
 #, c-format
 msgid "reading user-defined operator classes"
 msgstr "чтение пользовательских классов операторов"
 
-#: common.c:175
+#: common.c:178
 #, c-format
 msgid "reading user-defined operator families"
 msgstr "чтение пользовательских семейств операторов"
 
-#: common.c:178
+#: common.c:181
 #, c-format
 msgid "reading user-defined text search parsers"
 msgstr "чтение пользовательских анализаторов текстового поиска"
 
-#: common.c:181
+#: common.c:184
 #, c-format
 msgid "reading user-defined text search templates"
 msgstr "чтение пользовательских шаблонов текстового поиска"
 
-#: common.c:184
+#: common.c:187
 #, c-format
 msgid "reading user-defined text search dictionaries"
 msgstr "чтение пользовательских словарей текстового поиска"
 
-#: common.c:187
+#: common.c:190
 #, c-format
 msgid "reading user-defined text search configurations"
 msgstr "чтение пользовательских конфигураций текстового поиска"
 
-#: common.c:190
+#: common.c:193
 #, c-format
 msgid "reading user-defined foreign-data wrappers"
 msgstr "чтение пользовательских оболочек сторонних данных"
 
-#: common.c:193
+#: common.c:196
 #, c-format
 msgid "reading user-defined foreign servers"
 msgstr "чтение пользовательских сторонних серверов"
 
-#: common.c:196
+#: common.c:199
 #, c-format
 msgid "reading default privileges"
 msgstr "чтение прав по умолчанию"
 
-#: common.c:199
+#: common.c:202
 #, c-format
 msgid "reading user-defined collations"
 msgstr "чтение пользовательских правил сортировки"
 
-#: common.c:202
+#: common.c:205
 #, c-format
 msgid "reading user-defined conversions"
 msgstr "чтение пользовательских преобразований"
 
-#: common.c:205
+#: common.c:208
 #, c-format
 msgid "reading type casts"
 msgstr "чтение приведений типов"
 
-#: common.c:208
+#: common.c:211
 #, c-format
 msgid "reading transforms"
 msgstr "чтение преобразований"
 
-#: common.c:211
+#: common.c:214
 #, c-format
 msgid "reading table inheritance information"
 msgstr "чтение информации о наследовании таблиц"
 
-#: common.c:214
+#: common.c:217
 #, c-format
 msgid "reading event triggers"
 msgstr "чтение событийных триггеров"
 
-#: common.c:218
+#: common.c:221
 #, c-format
 msgid "finding extension tables"
 msgstr "поиск таблиц расширений"
 
-#: common.c:222
+#: common.c:225
 #, c-format
 msgid "finding inheritance relationships"
 msgstr "поиск связей наследования"
 
-#: common.c:225
+#: common.c:228
 #, c-format
 msgid "reading column info for interesting tables"
 msgstr "чтение информации о столбцах интересующих таблиц"
 
-#: common.c:228
+#: common.c:231
 #, c-format
 msgid "flagging inherited columns in subtables"
 msgstr "пометка наследованных столбцов в подтаблицах"
 
-#: common.c:231
+#: common.c:234
 #, c-format
 msgid "reading partitioning data"
 msgstr "чтение информации о секционировании"
 
-#: common.c:234
+#: common.c:237
 #, c-format
 msgid "reading indexes"
 msgstr "чтение индексов"
 
-#: common.c:237
+#: common.c:240
 #, c-format
 msgid "flagging indexes in partitioned tables"
 msgstr "пометка индексов в секционированных таблицах"
 
-#: common.c:240
+#: common.c:243
 #, c-format
 msgid "reading extended statistics"
 msgstr "чтение расширенной статистики"
 
-#: common.c:243
+#: common.c:246
 #, c-format
 msgid "reading constraints"
 msgstr "чтение ограничений"
 
-#: common.c:246
+#: common.c:249
 #, c-format
 msgid "reading triggers"
 msgstr "чтение триггеров"
 
-#: common.c:249
+#: common.c:252
 #, c-format
 msgid "reading rewrite rules"
 msgstr "чтение правил перезаписи"
 
-#: common.c:252
+#: common.c:255
 #, c-format
 msgid "reading policies"
 msgstr "чтение политик"
 
-#: common.c:255
+#: common.c:258
 #, c-format
 msgid "reading publications"
 msgstr "чтение публикаций"
 
-#: common.c:258
+#: common.c:261
 #, c-format
 msgid "reading publication membership of tables"
 msgstr "чтение информации о таблицах, включённых в публикации"
 
-#: common.c:261
+#: common.c:264
 #, c-format
 msgid "reading publication membership of schemas"
 msgstr "чтение информации о схемах, включённых в публикации"
 
-#: common.c:264
+#: common.c:267
 #, c-format
 msgid "reading subscriptions"
 msgstr "чтение подписок"
 
-#: common.c:327
+#: common.c:270
+#, c-format
+msgid "reading subscription membership of tables"
+msgstr "чтение информации о таблицах, включённых в подписки"
+
+#: common.c:333
 #, c-format
 msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found"
 msgstr ""
 "нарушение целостности: родительская таблица с OID %u для таблицы \"%s\" (OID "
 "%u) не найдена"
 
-#: common.c:369
+#: common.c:375
 #, c-format
 msgid "invalid number of parents %d for table \"%s\""
 msgstr "неверное число родителей (%d) для таблицы \"%s\""
 
-#: common.c:1049
+#: common.c:1098
 #, c-format
 msgid "could not parse numeric array \"%s\": too many numbers"
 msgstr "не удалось разобрать числовой массив \"%s\": слишком много чисел"
 
-#: common.c:1061
+#: common.c:1110
 #, c-format
 msgid "could not parse numeric array \"%s\": invalid character in number"
 msgstr "не удалось разобрать числовой массив \"%s\": неверный символ в числе"
@@ -429,15 +510,20 @@ msgstr "не удалось распаковать данные: %s"
 msgid "could not close compression library: %s"
 msgstr "не удалось закрыть библиотеку сжатия: %s"
 
-#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608
-#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140
+#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647
 #, c-format
 msgid "could not read from input file: %s"
 msgstr "не удалось прочитать входной файл: %s"
 
-#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142
-#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558
-#: pg_backup_tar.c:725 pg_backup_tar.c:748
+#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139
+#: compress_zstd.c:373 pg_backup_custom.c:651
+#, c-format
+msgid "could not read from input file: %m"
+msgstr "не удалось прочитать входной файл: %m"
+
+#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141
+#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565
+#: pg_backup_tar.c:740 pg_backup_tar.c:763
 #, c-format
 msgid "could not read from input file: end of file"
 msgstr "не удалось прочитать входной файл: конец файла"
@@ -488,16 +574,63 @@ msgstr "не удалось инициализировать библиотек
 msgid "could not decompress data: %s"
 msgstr "не удалось распаковать данные: %s"
 
-#: compress_zstd.c:373 pg_backup_custom.c:655
-#, c-format
-msgid "could not read from input file: %m"
-msgstr "не удалось прочитать входной файл: %m"
-
 #: compress_zstd.c:501
 #, c-format
 msgid "unhandled mode \"%s\""
 msgstr "необрабатываемый режим \"%s\""
 
+#: filter.c:49
+#, c-format
+msgid "could not open filter file \"%s\": %m"
+msgstr "не удалось открыть файл фильтра \"%s\": %m"
+
+#: filter.c:72
+#, c-format
+msgid "could not close filter file \"%s\": %m"
+msgstr "не удалось закрыть файл фильтра \"%s\": %m"
+
+#: filter.c:165
+#, c-format
+msgid "invalid format in filter read from standard input on line %d: %s"
+msgstr ""
+"неверный формат в фильтре, прочитанном из стандартного ввода, в строке %d: %s"
+
+#: filter.c:168
+#, c-format
+msgid "invalid format in filter read from file \"%s\" on line %d: %s"
+msgstr ""
+"неверный формат в фильтре, прочитанном из файла \"%s\", в строке %d: %s"
+
+#: filter.c:241 filter.c:468
+#, c-format
+msgid "could not read from filter file \"%s\": %m"
+msgstr "не удалось прочитать файл фильтра \"%s\": %m"
+
+#: filter.c:244
+msgid "unexpected end of file"
+msgstr "неожиданный конец файла"
+
+#: filter.c:311
+msgid "missing object name pattern"
+msgstr "отсутствует шаблон имени объекта"
+
+#: filter.c:422
+msgid "no filter command found (expected \"include\" or \"exclude\")"
+msgstr "отсутствует команда фильтра (ожидалась \"include\" или \"exclude\")"
+
+#: filter.c:433
+msgid "invalid filter command (expected \"include\" or \"exclude\")"
+msgstr "неверная команда фильтра (ожидалась \"include\" или \"exclude\")"
+
+#: filter.c:440
+msgid "missing filter object type"
+msgstr "отсутствует тип объекта фильтра"
+
+#: filter.c:447
+#, c-format
+msgid "unsupported filter object type: \"%.*s\""
+msgstr "неподдерживаемый тип объекта фильтра: \"%.*s\""
+
 #: parallel.c:251
 #, c-format
 msgid "%s() failed: error code %d"
@@ -581,112 +714,112 @@ msgstr "pgpipe: не удалось подключить сокет (код ош
 msgid "pgpipe: could not accept connection: error code %d"
 msgstr "pgpipe: не удалось принять соединение (код ошибки: %d)"
 
-#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603
+#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706
 #, c-format
 msgid "could not close output file: %m"
 msgstr "не удалось закрыть выходной файл: %m"
 
-#: pg_backup_archiver.c:320 pg_backup_archiver.c:324
+#: pg_backup_archiver.c:305 pg_backup_archiver.c:309
 #, c-format
 msgid "archive items not in correct section order"
 msgstr "в последовательности элементов архива нарушен порядок разделов"
 
-#: pg_backup_archiver.c:330
+#: pg_backup_archiver.c:315
 #, c-format
 msgid "unexpected section code %d"
 msgstr "неожиданный код раздела %d"
 
-#: pg_backup_archiver.c:367
+#: pg_backup_archiver.c:352
 #, c-format
 msgid "parallel restore is not supported with this archive file format"
 msgstr ""
 "параллельное восстановление не поддерживается с выбранным форматом архивного "
 "файла"
 
-#: pg_backup_archiver.c:371
+#: pg_backup_archiver.c:356
 #, c-format
 msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump"
 msgstr ""
 "параллельное восстановление возможно только для архивов, созданных pg_dump "
 "версии 8.0 и новее"
 
-#: pg_backup_archiver.c:392
+#: pg_backup_archiver.c:377
 #, c-format
 msgid "cannot restore from compressed archive (%s)"
 msgstr "восстановить данные из сжатого архива нельзя (%s)"
 
-#: pg_backup_archiver.c:412
+#: pg_backup_archiver.c:397
 #, c-format
 msgid "connecting to database for restore"
 msgstr "подключение к базе данных для восстановления"
 
-#: pg_backup_archiver.c:414
+#: pg_backup_archiver.c:399
 #, c-format
 msgid "direct database connections are not supported in pre-1.3 archives"
 msgstr ""
 "прямые подключения к базе данных не поддерживаются в архивах до версии 1.3"
 
-#: pg_backup_archiver.c:457
+#: pg_backup_archiver.c:442
 #, c-format
 msgid "implied data-only restore"
 msgstr "подразумевается восстановление только данных"
 
-#: pg_backup_archiver.c:523
+#: pg_backup_archiver.c:510
 #, c-format
 msgid "dropping %s %s"
 msgstr "удаляется %s %s"
 
-#: pg_backup_archiver.c:623
+#: pg_backup_archiver.c:642
 #, c-format
 msgid "could not find where to insert IF EXISTS in statement \"%s\""
 msgstr "не удалось определить, куда добавить IF EXISTS в оператор \"%s\""
 
-#: pg_backup_archiver.c:778 pg_backup_archiver.c:780
+#: pg_backup_archiver.c:828 pg_backup_archiver.c:830
 #, c-format
 msgid "warning from original dump file: %s"
 msgstr "предупреждение из исходного файла: %s"
 
-#: pg_backup_archiver.c:795
+#: pg_backup_archiver.c:864
 #, c-format
 msgid "creating %s \"%s.%s\""
 msgstr "создаётся %s \"%s.%s\""
 
-#: pg_backup_archiver.c:798
+#: pg_backup_archiver.c:867
 #, c-format
 msgid "creating %s \"%s\""
 msgstr "создаётся %s \"%s\""
 
-#: pg_backup_archiver.c:848
+#: pg_backup_archiver.c:917
 #, c-format
 msgid "connecting to new database \"%s\""
 msgstr "подключение к новой базе данных \"%s\""
 
-#: pg_backup_archiver.c:875
+#: pg_backup_archiver.c:944
 #, c-format
 msgid "processing %s"
 msgstr "обрабатывается %s"
 
-#: pg_backup_archiver.c:897
+#: pg_backup_archiver.c:966
 #, c-format
 msgid "processing data for table \"%s.%s\""
 msgstr "обрабатываются данные таблицы \"%s.%s\""
 
-#: pg_backup_archiver.c:967
+#: pg_backup_archiver.c:1036
 #, c-format
 msgid "executing %s %s"
 msgstr "выполняется %s %s"
 
-#: pg_backup_archiver.c:1008
+#: pg_backup_archiver.c:1096
 #, c-format
 msgid "disabling triggers for %s"
 msgstr "отключаются триггеры таблицы %s"
 
-#: pg_backup_archiver.c:1034
+#: pg_backup_archiver.c:1122
 #, c-format
 msgid "enabling triggers for %s"
 msgstr "включаются триггеры таблицы %s"
 
-#: pg_backup_archiver.c:1099
+#: pg_backup_archiver.c:1187
 #, c-format
 msgid ""
 "internal error -- WriteData cannot be called outside the context of a "
@@ -695,12 +828,12 @@ msgstr ""
 "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры "
 "DataDumper"
 
-#: pg_backup_archiver.c:1287
+#: pg_backup_archiver.c:1379
 #, c-format
 msgid "large-object output not supported in chosen format"
 msgstr "выбранный формат не поддерживает выгрузку больших объектов"
 
-#: pg_backup_archiver.c:1345
+#: pg_backup_archiver.c:1442
 #, c-format
 msgid "restored %d large object"
 msgid_plural "restored %d large objects"
@@ -708,55 +841,55 @@ msgstr[0] "восстановлен %d большой объект"
 msgstr[1] "восстановлено %d больших объекта"
 msgstr[2] "восстановлено %d больших объектов"
 
-#: pg_backup_archiver.c:1366 pg_backup_tar.c:668
+#: pg_backup_archiver.c:1469 pg_backup_tar.c:683
 #, c-format
 msgid "restoring large object with OID %u"
 msgstr "восстановление большого объекта с OID %u"
 
-#: pg_backup_archiver.c:1378
+#: pg_backup_archiver.c:1481
 #, c-format
 msgid "could not create large object %u: %s"
 msgstr "не удалось создать большой объект %u: %s"
 
-#: pg_backup_archiver.c:1383 pg_dump.c:3740
+#: pg_backup_archiver.c:1486 pg_dump.c:3888
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "не удалось открыть большой объект %u: %s"
 
-#: pg_backup_archiver.c:1439
+#: pg_backup_archiver.c:1542
 #, c-format
 msgid "could not open TOC file \"%s\": %m"
 msgstr "не удалось открыть файл оглавления \"%s\": %m"
 
-#: pg_backup_archiver.c:1467
+#: pg_backup_archiver.c:1570
 #, c-format
 msgid "line ignored: %s"
 msgstr "строка проигнорирована: %s"
 
-#: pg_backup_archiver.c:1474
+#: pg_backup_archiver.c:1577 pg_backup_db.c:609
 #, c-format
 msgid "could not find entry for ID %d"
 msgstr "не найдена запись для ID %d"
 
-#: pg_backup_archiver.c:1497 pg_backup_directory.c:221
-#: pg_backup_directory.c:606
+#: pg_backup_archiver.c:1600 pg_backup_directory.c:219
+#: pg_backup_directory.c:613
 #, c-format
 msgid "could not close TOC file: %m"
 msgstr "не удалось закрыть файл оглавления: %m"
 
-#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332
-#: pg_backup_directory.c:593 pg_backup_directory.c:658
-#: pg_backup_directory.c:676 pg_dumpall.c:501
+#: pg_backup_archiver.c:1687 pg_backup_custom.c:152 pg_backup_directory.c:333
+#: pg_backup_directory.c:600 pg_backup_directory.c:666
+#: pg_backup_directory.c:684 pg_dumpall.c:506
 #, c-format
 msgid "could not open output file \"%s\": %m"
 msgstr "не удалось открыть выходной файл \"%s\": %m"
 
-#: pg_backup_archiver.c:1586 pg_backup_custom.c:162
+#: pg_backup_archiver.c:1689 pg_backup_custom.c:158
 #, c-format
 msgid "could not open output file: %m"
 msgstr "не удалось открыть выходной файл: %m"
 
-#: pg_backup_archiver.c:1669
+#: pg_backup_archiver.c:1772
 #, c-format
 msgid "wrote %zu byte of large object data (result = %d)"
 msgid_plural "wrote %zu bytes of large object data (result = %d)"
@@ -764,216 +897,221 @@ msgstr[0] "записан %zu байт данных большого объек
 msgstr[1] "записано %zu байта данных большого объекта (результат = %d)"
 msgstr[2] "записано %zu байт данных большого объекта (результат = %d)"
 
-#: pg_backup_archiver.c:1675
+#: pg_backup_archiver.c:1778
 #, c-format
 msgid "could not write to large object: %s"
 msgstr "не удалось записать данные в большой объект: %s"
 
-#: pg_backup_archiver.c:1765
+#: pg_backup_archiver.c:1868
 #, c-format
 msgid "while INITIALIZING:"
 msgstr "при инициализации:"
 
-#: pg_backup_archiver.c:1770
+#: pg_backup_archiver.c:1873
 #, c-format
 msgid "while PROCESSING TOC:"
 msgstr "при обработке оглавления:"
 
-#: pg_backup_archiver.c:1775
+#: pg_backup_archiver.c:1878
 #, c-format
 msgid "while FINALIZING:"
 msgstr "при завершении:"
 
-#: pg_backup_archiver.c:1780
+#: pg_backup_archiver.c:1883
 #, c-format
 msgid "from TOC entry %d; %u %u %s %s %s"
 msgstr "из записи оглавления %d; %u %u %s %s %s"
 
-#: pg_backup_archiver.c:1856
+#: pg_backup_archiver.c:1959
 #, c-format
 msgid "bad dumpId"
 msgstr "неверный dumpId"
 
-#: pg_backup_archiver.c:1877
+#: pg_backup_archiver.c:1980
 #, c-format
 msgid "bad table dumpId for TABLE DATA item"
 msgstr "неверный dumpId таблицы в элементе TABLE DATA"
 
-#: pg_backup_archiver.c:1969
+#: pg_backup_archiver.c:2072
 #, c-format
 msgid "unexpected data offset flag %d"
 msgstr "неожиданный флаг смещения данных: %d"
 
-#: pg_backup_archiver.c:1982
+#: pg_backup_archiver.c:2085
 #, c-format
 msgid "file offset in dump file is too large"
 msgstr "слишком большое смещение в файле выгрузки"
 
-#: pg_backup_archiver.c:2093
+#: pg_backup_archiver.c:2196
 #, c-format
 msgid "directory name too long: \"%s\""
 msgstr "слишком длинное имя каталога: \"%s\""
 
-#: pg_backup_archiver.c:2143
+#: pg_backup_archiver.c:2246
 #, c-format
 msgid ""
 "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not "
 "exist)"
 msgstr "каталог \"%s\" не похож на архивный (в нём отсутствует \"toc.dat\")"
 
-#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816
-#: pg_backup_directory.c:206 pg_backup_directory.c:395
+#: pg_backup_archiver.c:2254 pg_backup_custom.c:169 pg_backup_custom.c:812
+#: pg_backup_directory.c:204 pg_backup_directory.c:396
 #, c-format
 msgid "could not open input file \"%s\": %m"
 msgstr "не удалось открыть входной файл \"%s\": %m"
 
-#: pg_backup_archiver.c:2158 pg_backup_custom.c:179
+#: pg_backup_archiver.c:2261 pg_backup_custom.c:175
 #, c-format
 msgid "could not open input file: %m"
 msgstr "не удалось открыть входной файл: %m"
 
-#: pg_backup_archiver.c:2164
+#: pg_backup_archiver.c:2267
 #, c-format
 msgid "could not read input file: %m"
 msgstr "не удалось прочитать входной файл: %m"
 
-#: pg_backup_archiver.c:2166
+#: pg_backup_archiver.c:2269
 #, c-format
 msgid "input file is too short (read %lu, expected 5)"
 msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)"
 
-#: pg_backup_archiver.c:2198
+#: pg_backup_archiver.c:2301
 #, c-format
 msgid "input file appears to be a text format dump. Please use psql."
 msgstr ""
 "входной файл, видимо, имеет текстовый формат. Загрузите его с помощью psql."
 
-#: pg_backup_archiver.c:2204
+#: pg_backup_archiver.c:2307
 #, c-format
 msgid "input file does not appear to be a valid archive (too short?)"
 msgstr "входной файл не похож на архив (возможно, слишком мал?)"
 
-#: pg_backup_archiver.c:2210
+#: pg_backup_archiver.c:2313
 #, c-format
 msgid "input file does not appear to be a valid archive"
 msgstr "входной файл не похож на архив"
 
-#: pg_backup_archiver.c:2219
+#: pg_backup_archiver.c:2322
 #, c-format
 msgid "could not close input file: %m"
 msgstr "не удалось закрыть входной файл: %m"
 
-#: pg_backup_archiver.c:2297
+#: pg_backup_archiver.c:2401
 #, c-format
 msgid "could not open stdout for appending: %m"
 msgstr "не удалось открыть stdout для добавления вывода: %m"
 
-#: pg_backup_archiver.c:2342
+#: pg_backup_archiver.c:2446
 #, c-format
 msgid "unrecognized file format \"%d\""
 msgstr "неопознанный формат файла: \"%d\""
 
-#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466
+#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647
 #, c-format
 msgid "finished item %d %s %s"
 msgstr "закончен объект %d %s %s"
 
-#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4479
+#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660
 #, c-format
 msgid "worker process failed: exit code %d"
 msgstr "рабочий процесс завершился с кодом возврата %d"
 
-#: pg_backup_archiver.c:2548
+#: pg_backup_archiver.c:2653
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC"
 msgstr "ID записи %d вне диапазона - возможно повреждено оглавление"
 
-#: pg_backup_archiver.c:2628
+#: pg_backup_archiver.c:2736
 #, c-format
 msgid "restoring tables WITH OIDS is not supported anymore"
 msgstr "восстановление таблиц со свойством WITH OIDS больше не поддерживается"
 
-#: pg_backup_archiver.c:2710
+#: pg_backup_archiver.c:2818
 #, c-format
 msgid "unrecognized encoding \"%s\""
 msgstr "нераспознанная кодировка \"%s\""
 
-#: pg_backup_archiver.c:2715
+#: pg_backup_archiver.c:2823
 #, c-format
 msgid "invalid ENCODING item: %s"
 msgstr "неверный элемент ENCODING: %s"
 
-#: pg_backup_archiver.c:2733
+#: pg_backup_archiver.c:2841
 #, c-format
 msgid "invalid STDSTRINGS item: %s"
 msgstr "неверный элемент STDSTRINGS: %s"
 
-#: pg_backup_archiver.c:2758
+#: pg_backup_archiver.c:2866
 #, c-format
 msgid "schema \"%s\" not found"
 msgstr "схема \"%s\" не найдена"
 
-#: pg_backup_archiver.c:2765
+#: pg_backup_archiver.c:2873
 #, c-format
 msgid "table \"%s\" not found"
 msgstr "таблица \"%s\" не найдена"
 
-#: pg_backup_archiver.c:2772
+#: pg_backup_archiver.c:2880
 #, c-format
 msgid "index \"%s\" not found"
 msgstr "индекс \"%s\" не найден"
 
-#: pg_backup_archiver.c:2779
+#: pg_backup_archiver.c:2887
 #, c-format
 msgid "function \"%s\" not found"
 msgstr "функция \"%s\" не найдена"
 
-#: pg_backup_archiver.c:2786
+#: pg_backup_archiver.c:2894
 #, c-format
 msgid "trigger \"%s\" not found"
 msgstr "триггер \"%s\" не найден"
 
-#: pg_backup_archiver.c:3201
+#: pg_backup_archiver.c:3325
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "не удалось переключить пользователя сеанса на \"%s\": %s"
 
-#: pg_backup_archiver.c:3333
+#: pg_backup_archiver.c:3457
 #, c-format
-msgid "could not set search_path to \"%s\": %s"
-msgstr "не удалось присвоить search_path значение \"%s\": %s"
+msgid "could not set \"search_path\" to \"%s\": %s"
+msgstr "не удалось присвоить \"search_path\" значение \"%s\": %s"
 
-#: pg_backup_archiver.c:3394
+#: pg_backup_archiver.c:3518
 #, c-format
-msgid "could not set default_tablespace to %s: %s"
-msgstr "не удалось задать для default_tablespace значение %s: %s"
+msgid "could not set \"default_tablespace\" to %s: %s"
+msgstr "не удалось задать для \"default_tablespace\" значение %s: %s"
 
-#: pg_backup_archiver.c:3443
+#: pg_backup_archiver.c:3567
 #, c-format
-msgid "could not set default_table_access_method: %s"
-msgstr "не удалось задать default_table_access_method: %s"
+msgid "could not set \"default_table_access_method\": %s"
+msgstr "не удалось задать \"default_table_access_method\": %s"
 
-#: pg_backup_archiver.c:3548
+#: pg_backup_archiver.c:3616
+#, c-format
+msgid "could not alter table access method: %s"
+msgstr "не удалось изменить табличный метод доступа: %s"
+
+#: pg_backup_archiver.c:3717
 #, c-format
 msgid "don't know how to set owner for object type \"%s\""
 msgstr "неизвестно, как назначить владельца для объекта типа \"%s\""
 
-#: pg_backup_archiver.c:3770
+#: pg_backup_archiver.c:4004
 #, c-format
 msgid "did not find magic string in file header"
 msgstr "в заголовке файла не найдена нужная сигнатура"
 
-#: pg_backup_archiver.c:3784
+#: pg_backup_archiver.c:4018
 #, c-format
 msgid "unsupported version (%d.%d) in file header"
 msgstr "неподдерживаемая версия (%d.%d) в заголовке файла"
 
-#: pg_backup_archiver.c:3789
+#: pg_backup_archiver.c:4023
 #, c-format
 msgid "sanity check on integer size (%lu) failed"
 msgstr "несоответствие размера integer (%lu)"
 
-#: pg_backup_archiver.c:3793
+#: pg_backup_archiver.c:4027
 #, c-format
 msgid ""
 "archive was made on a machine with larger integers, some operations might "
@@ -982,12 +1120,12 @@ msgstr ""
 "архив был сделан на компьютере большей разрядности -- возможен сбой "
 "некоторых операций"
 
-#: pg_backup_archiver.c:3803
+#: pg_backup_archiver.c:4037
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)"
 msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)"
 
-#: pg_backup_archiver.c:3825
+#: pg_backup_archiver.c:4059
 #, c-format
 msgid ""
 "archive is compressed, but this installation does not support compression "
@@ -996,68 +1134,68 @@ msgstr ""
 "архив сжат, но установленная версия не поддерживает сжатие (%s) -- данные "
 "будут недоступны"
 
-#: pg_backup_archiver.c:3861
+#: pg_backup_archiver.c:4095
 #, c-format
 msgid "invalid creation date in header"
 msgstr "неверная дата создания в заголовке"
 
-#: pg_backup_archiver.c:3995
+#: pg_backup_archiver.c:4229
 #, c-format
 msgid "processing item %d %s %s"
 msgstr "обработка объекта %d %s %s"
 
-#: pg_backup_archiver.c:4070
+#: pg_backup_archiver.c:4314
 #, c-format
 msgid "entering main parallel loop"
 msgstr "вход в основной параллельный цикл"
 
-#: pg_backup_archiver.c:4081
+#: pg_backup_archiver.c:4325
 #, c-format
 msgid "skipping item %d %s %s"
 msgstr "объект %d %s %s пропускается"
 
-#: pg_backup_archiver.c:4090
+#: pg_backup_archiver.c:4334
 #, c-format
 msgid "launching item %d %s %s"
 msgstr "объект %d %s %s запускается"
 
-#: pg_backup_archiver.c:4144
+#: pg_backup_archiver.c:4388
 #, c-format
 msgid "finished main parallel loop"
 msgstr "основной параллельный цикл закончен"
 
-#: pg_backup_archiver.c:4180
+#: pg_backup_archiver.c:4424
 #, c-format
 msgid "processing missed item %d %s %s"
 msgstr "обработка пропущенного объекта %d %s %s"
 
-#: pg_backup_archiver.c:4785
+#: pg_backup_archiver.c:4966
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data"
 msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены"
 
-#: pg_backup_custom.c:380 pg_backup_null.c:147
+#: pg_backup_custom.c:376 pg_backup_null.c:143
 #, c-format
 msgid "invalid OID for large object"
 msgstr "неверный OID большого объекта"
 
-#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640
-#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019
+#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636
+#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034
 #, c-format
 msgid "error during file seek: %m"
 msgstr "ошибка при перемещении в файле: %m"
 
-#: pg_backup_custom.c:484
+#: pg_backup_custom.c:480
 #, c-format
 msgid "data block %d has wrong seek position"
 msgstr "в блоке данных %d задана неверная позиция"
 
-#: pg_backup_custom.c:501
+#: pg_backup_custom.c:497
 #, c-format
 msgid "unrecognized data block type (%d) while searching archive"
 msgstr "нераспознанный тип блока данных (%d) при поиске архива"
 
-#: pg_backup_custom.c:523
+#: pg_backup_custom.c:519
 #, c-format
 msgid ""
 "could not find block ID %d in archive -- possibly due to out-of-order "
@@ -1067,54 +1205,54 @@ msgstr ""
 "последовательного запроса восстановления, который нельзя обработать с "
 "файлом, не допускающим произвольный доступ"
 
-#: pg_backup_custom.c:528
+#: pg_backup_custom.c:524
 #, c-format
 msgid "could not find block ID %d in archive -- possibly corrupt archive"
 msgstr "не удалось найти в архиве блок с ID %d -- возможно, архив испорчен"
 
-#: pg_backup_custom.c:535
+#: pg_backup_custom.c:531
 #, c-format
 msgid "found unexpected block ID (%d) when reading data -- expected %d"
 msgstr "при чтении данных получен неожиданный ID блока (%d) -- ожидался: %d"
 
-#: pg_backup_custom.c:549
+#: pg_backup_custom.c:545
 #, c-format
 msgid "unrecognized data block type %d while restoring archive"
 msgstr "нераспознанный тип блока данных %d при восстановлении архива"
 
-#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952
-#: pg_backup_tar.c:1017
+#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945
+#: pg_backup_tar.c:1032
 #, c-format
 msgid "could not determine seek position in archive file: %m"
 msgstr "не удалось определить позицию в файле архива: %m"
 
-#: pg_backup_custom.c:771 pg_backup_custom.c:811
+#: pg_backup_custom.c:767 pg_backup_custom.c:807
 #, c-format
 msgid "could not close archive file: %m"
 msgstr "не удалось закрыть файл архива: %m"
 
-#: pg_backup_custom.c:794
+#: pg_backup_custom.c:790
 #, c-format
 msgid "can only reopen input archives"
 msgstr "повторно открыть можно только входные файлы"
 
-#: pg_backup_custom.c:801
+#: pg_backup_custom.c:797
 #, c-format
 msgid "parallel restore from standard input is not supported"
 msgstr "параллельное восстановление из стандартного ввода не поддерживается"
 
-#: pg_backup_custom.c:803
+#: pg_backup_custom.c:799
 #, c-format
 msgid "parallel restore from non-seekable file is not supported"
 msgstr ""
 "параллельное восстановление возможно только с файлом произвольного доступа"
 
-#: pg_backup_custom.c:819
+#: pg_backup_custom.c:815
 #, c-format
 msgid "could not set seek position in archive file: %m"
 msgstr "не удалось задать текущую позицию в файле архива: %m"
 
-#: pg_backup_custom.c:898
+#: pg_backup_custom.c:894
 #, c-format
 msgid "compressor active"
 msgstr "сжатие активно"
@@ -1124,12 +1262,12 @@ msgstr "сжатие активно"
 msgid "could not get server_version from libpq"
 msgstr "не удалось получить версию сервера из libpq"
 
-#: pg_backup_db.c:53 pg_dumpall.c:1812
+#: pg_backup_db.c:53 pg_dumpall.c:1830
 #, c-format
 msgid "aborting because of server version mismatch"
 msgstr "продолжение работы с другой версией сервера невозможно"
 
-#: pg_backup_db.c:54 pg_dumpall.c:1813
+#: pg_backup_db.c:54 pg_dumpall.c:1831
 #, c-format
 msgid "server version: %s; %s version: %s"
 msgstr "версия сервера: %s; версия %s: %s"
@@ -1139,7 +1277,7 @@ msgstr "версия сервера: %s; версия %s: %s"
 msgid "already connected to a database"
 msgstr "подключение к базе данных уже установлено"
 
-#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1659 pg_dumpall.c:1761
+#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779
 msgid "Password: "
 msgstr "Пароль: "
 
@@ -1153,18 +1291,18 @@ msgstr "не удалось переподключиться к базе"
 msgid "reconnection failed: %s"
 msgstr "переподключиться не удалось: %s"
 
-#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280
-#: pg_dump_sort.c:1300 pg_dumpall.c:1686 pg_dumpall.c:1770
+#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213
+#: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_backup_db.c:271 pg_dumpall.c:1875 pg_dumpall.c:1898
+#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916
 #, c-format
 msgid "query failed: %s"
 msgstr "ошибка при выполнении запроса: %s"
 
-#: pg_backup_db.c:273 pg_dumpall.c:1876 pg_dumpall.c:1899
+#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917
 #, c-format
 msgid "Query was: %s"
 msgstr "Выполнялся запрос: %s"
@@ -1202,7 +1340,7 @@ msgstr "ошибка в PQputCopyEnd: %s"
 msgid "COPY failed for table \"%s\": %s"
 msgstr "сбой команды COPY для таблицы \"%s\": %s"
 
-#: pg_backup_db.c:521 pg_dump.c:2224
+#: pg_backup_db.c:521 pg_dump.c:2283
 #, c-format
 msgid "unexpected extra results during COPY of table \"%s\""
 msgstr "неожиданные лишние результаты получены при COPY для таблицы \"%s\""
@@ -1215,150 +1353,145 @@ msgstr "не удаётся начать транзакцию"
 msgid "could not commit database transaction"
 msgstr "не удалось зафиксировать транзакцию"
 
-#: pg_backup_directory.c:155
+#: pg_backup_directory.c:153
 #, c-format
 msgid "no output directory specified"
 msgstr "выходной каталог не указан"
 
-#: pg_backup_directory.c:184
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "не удалось прочитать каталог \"%s\": %m"
-
-#: pg_backup_directory.c:188
+#: pg_backup_directory.c:186
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "не удалось закрыть каталог \"%s\": %m"
 
-#: pg_backup_directory.c:194
+#: pg_backup_directory.c:192
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: pg_backup_directory.c:356 pg_backup_directory.c:499
-#: pg_backup_directory.c:537
+#: pg_backup_directory.c:357 pg_backup_directory.c:506
+#: pg_backup_directory.c:544
 #, c-format
 msgid "could not write to output file: %s"
 msgstr "не удалось записать в выходной файл: %s"
 
-#: pg_backup_directory.c:374
+#: pg_backup_directory.c:375
 #, c-format
 msgid "could not close data file: %m"
 msgstr "не удалось закрыть файл данных: %m"
 
-#: pg_backup_directory.c:407
+#: pg_backup_directory.c:408
 #, c-format
 msgid "could not close data file \"%s\": %m"
 msgstr "не удалось закрыть файл данных \"%s\": %m"
 
-#: pg_backup_directory.c:448
+#: pg_backup_directory.c:455
 #, c-format
 msgid "could not open large object TOC file \"%s\" for input: %m"
 msgstr ""
 "не удалось открыть для чтения файл оглавления больших объектов \"%s\": %m"
 
-#: pg_backup_directory.c:459
+#: pg_backup_directory.c:466
 #, c-format
 msgid "invalid line in large object TOC file \"%s\": \"%s\""
 msgstr "неверная строка в файле оглавления больших объектов \"%s\": \"%s\""
 
-#: pg_backup_directory.c:468
+#: pg_backup_directory.c:475
 #, c-format
 msgid "error reading large object TOC file \"%s\""
 msgstr "ошибка чтения файла оглавления больших объектов \"%s\""
 
-#: pg_backup_directory.c:472
+#: pg_backup_directory.c:479
 #, c-format
 msgid "could not close large object TOC file \"%s\": %m"
 msgstr "не удалось закрыть файл оглавления больших объектов \"%s\": %m"
 
-#: pg_backup_directory.c:694
+#: pg_backup_directory.c:702
 #, c-format
 msgid "could not close LO data file: %m"
 msgstr "не удалось закрыть файл данных LO: %m"
 
-#: pg_backup_directory.c:704
+#: pg_backup_directory.c:712
 #, c-format
 msgid "could not write to LOs TOC file: %s"
 msgstr "не удалось записать в файл оглавления LO: %s"
 
-#: pg_backup_directory.c:720
+#: pg_backup_directory.c:728
 #, c-format
 msgid "could not close LOs TOC file: %m"
 msgstr "не удалось закрыть файл оглавления LO: %m"
 
-#: pg_backup_directory.c:739
+#: pg_backup_directory.c:747
 #, c-format
 msgid "file name too long: \"%s\""
 msgstr "слишком длинное имя файла: \"%s\""
 
-#: pg_backup_null.c:74
+#: pg_backup_null.c:70
 #, c-format
 msgid "this format cannot be read"
 msgstr "этот формат нельзя прочитать"
 
-#: pg_backup_tar.c:172
+#: pg_backup_tar.c:168
 #, c-format
 msgid "could not open TOC file \"%s\" for output: %m"
 msgstr "не удалось открыть для записи файл оглавления \"%s\": %m"
 
-#: pg_backup_tar.c:179
+#: pg_backup_tar.c:175
 #, c-format
 msgid "could not open TOC file for output: %m"
 msgstr "не удалось открыть для записи файл оглавления: %m"
 
-#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389
-#: pg_backup_tar.c:405 pg_backup_tar.c:891
+#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385
+#: pg_backup_tar.c:401 pg_backup_tar.c:906
 #, c-format
 msgid "compression is not supported by tar archive format"
 msgstr "формат архива tar не поддерживает сжатие"
 
-#: pg_backup_tar.c:206
+#: pg_backup_tar.c:202
 #, c-format
 msgid "could not open TOC file \"%s\" for input: %m"
 msgstr "не удалось открыть для чтения файл оглавления \"%s\": %m"
 
-#: pg_backup_tar.c:213
+#: pg_backup_tar.c:209
 #, c-format
 msgid "could not open TOC file for input: %m"
 msgstr "не удалось открыть для чтения файл оглавления: %m"
 
-#: pg_backup_tar.c:322
+#: pg_backup_tar.c:318
 #, c-format
 msgid "could not find file \"%s\" in archive"
 msgstr "не удалось найти файл \"%s\" в архиве"
 
-#: pg_backup_tar.c:382
+#: pg_backup_tar.c:378
 #, c-format
 msgid "could not generate temporary file name: %m"
 msgstr "не удалось получить имя для временного файла: %m"
 
-#: pg_backup_tar.c:623
+#: pg_backup_tar.c:619
 #, c-format
 msgid "unexpected COPY statement syntax: \"%s\""
 msgstr "недопустимый синтаксис оператора COPY: \"%s\""
 
-#: pg_backup_tar.c:888
+#: pg_backup_tar.c:903
 #, c-format
 msgid "invalid OID for large object (%u)"
 msgstr "неверный OID для большого объекта (%u)"
 
-#: pg_backup_tar.c:1033
+#: pg_backup_tar.c:1048
 #, c-format
 msgid "could not close temporary file: %m"
 msgstr "не удалось закрыть временный файл: %m"
 
-#: pg_backup_tar.c:1036
+#: pg_backup_tar.c:1051
 #, c-format
 msgid "actual file length (%lld) does not match expected (%lld)"
 msgstr "действительная длина файла (%lld) не равна ожидаемой (%lld)"
 
-#: pg_backup_tar.c:1082 pg_backup_tar.c:1113
+#: pg_backup_tar.c:1097 pg_backup_tar.c:1128
 #, c-format
 msgid "could not find header for file \"%s\" in tar archive"
 msgstr "в архиве tar не найден заголовок для файла \"%s\""
 
-#: pg_backup_tar.c:1100
+#: pg_backup_tar.c:1115
 #, c-format
 msgid ""
 "restoring data out of order is not supported in this archive format: \"%s\" "
@@ -1368,7 +1501,7 @@ msgstr ""
 "поддерживается: требуется компонент \"%s\", но в файле архива прежде идёт "
 "\"%s\"."
 
-#: pg_backup_tar.c:1147
+#: pg_backup_tar.c:1162
 #, c-format
 msgid "incomplete tar header found (%lu byte)"
 msgid_plural "incomplete tar header found (%lu bytes)"
@@ -1376,7 +1509,7 @@ msgstr[0] "найден неполный заголовок tar (размер %l
 msgstr[1] "найден неполный заголовок tar (размер %lu байта)"
 msgstr[2] "найден неполный заголовок tar (размер %lu байт)"
 
-#: pg_backup_tar.c:1186
+#: pg_backup_tar.c:1201
 #, c-format
 msgid ""
 "corrupt tar header found in %s (expected %d, computed %d) file position %llu"
@@ -1389,10 +1522,10 @@ msgstr ""
 msgid "unrecognized section name: \"%s\""
 msgstr "нераспознанное имя раздела: \"%s\""
 
-#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365
-#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398
-#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307
-#: pg_restore.c:321
+#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370
+#: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403
+#: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323
+#: pg_restore.c:337
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
@@ -1402,41 +1535,41 @@ msgstr "Для дополнительной информации попробу
 msgid "out of on_exit_nicely slots"
 msgstr "превышен предел обработчиков штатного выхода"
 
-#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305
+#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_dump.c:696 pg_restore.c:328
+#: pg_dump.c:728 pg_restore.c:344
 #, c-format
 msgid "options -s/--schema-only and -a/--data-only cannot be used together"
 msgstr "параметры -s/--schema-only и -a/--data-only исключают друг друга"
 
-#: pg_dump.c:699
+#: pg_dump.c:731
 #, c-format
 msgid ""
 "options -s/--schema-only and --include-foreign-data cannot be used together"
 msgstr ""
 "параметры -s/--schema-only и --include-foreign-data исключают друг друга"
 
-#: pg_dump.c:702
+#: pg_dump.c:734
 #, c-format
 msgid "option --include-foreign-data is not supported with parallel backup"
 msgstr ""
 "параметр --include-foreign-data не поддерживается при копировании в "
 "параллельном режиме"
 
-#: pg_dump.c:705 pg_restore.c:331
+#: pg_dump.c:737 pg_restore.c:347
 #, c-format
 msgid "options -c/--clean and -a/--data-only cannot be used together"
 msgstr "параметры -c/--clean и -a/--data-only исключают друг друга"
 
-#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356
+#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375
 #, c-format
 msgid "option --if-exists requires option -c/--clean"
 msgstr "параметр --if-exists требует указания -c/--clean"
 
-#: pg_dump.c:715
+#: pg_dump.c:747
 #, c-format
 msgid ""
 "option --on-conflict-do-nothing requires option --inserts, --rows-per-"
@@ -1445,49 +1578,49 @@ msgstr ""
 "параметр --on-conflict-do-nothing требует указания --inserts, --rows-per-"
 "insert или --column-inserts"
 
-#: pg_dump.c:744
+#: pg_dump.c:776
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "нераспознанный алгоритм сжатия: \"%s\""
 
-#: pg_dump.c:751
+#: pg_dump.c:783
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "неправильное указание сжатия: %s"
 
-#: pg_dump.c:764
+#: pg_dump.c:796
 #, c-format
 msgid "compression option \"%s\" is not currently supported by pg_dump"
 msgstr "pg_dump в настоящее время не поддерживает параметр сжатия \"%s\""
 
-#: pg_dump.c:776
+#: pg_dump.c:808
 #, c-format
 msgid "parallel backup only supported by the directory format"
 msgstr ""
 "параллельное резервное копирование поддерживается только с форматом "
 "\"каталог\""
 
-#: pg_dump.c:822
+#: pg_dump.c:854
 #, c-format
 msgid "last built-in OID is %u"
 msgstr "последний системный OID: %u"
 
-#: pg_dump.c:831
+#: pg_dump.c:863
 #, c-format
 msgid "no matching schemas were found"
 msgstr "соответствующие схемы не найдены"
 
-#: pg_dump.c:848
+#: pg_dump.c:880
 #, c-format
 msgid "no matching tables were found"
 msgstr "соответствующие таблицы не найдены"
 
-#: pg_dump.c:876
+#: pg_dump.c:908
 #, c-format
 msgid "no matching extensions were found"
 msgstr "соответствующие расширения не найдены"
 
-#: pg_dump.c:1056
+#: pg_dump.c:1092
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1496,17 +1629,17 @@ msgstr ""
 "%s сохраняет резервную копию БД в текстовом файле или другом виде.\n"
 "\n"
 
-#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433
+#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_dump.c:1058
+#: pg_dump.c:1094
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436
+#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455
 #, c-format
 msgid ""
 "\n"
@@ -1515,12 +1648,12 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_dump.c:1061
+#: pg_dump.c:1097
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=ИМЯ               имя выходного файла или каталога\n"
 
-#: pg_dump.c:1062
+#: pg_dump.c:1098
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1530,7 +1663,7 @@ msgstr ""
 "                               (пользовательский | каталог | tar |\n"
 "                               текстовый (по умолчанию))\n"
 
-#: pg_dump.c:1064
+#: pg_dump.c:1100
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr ""
@@ -1538,18 +1671,18 @@ msgstr ""
 "число\n"
 "                               заданий\n"
 
-#: pg_dump.c:1065 pg_dumpall.c:635
+#: pg_dump.c:1101 pg_dumpall.c:640
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose                режим подробных сообщений\n"
 
-#: pg_dump.c:1066 pg_dumpall.c:636
+#: pg_dump.c:1102 pg_dumpall.c:641
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                показать версию и выйти\n"
 
 # well-spelled: ИНФО
-#: pg_dump.c:1067
+#: pg_dump.c:1103
 #, c-format
 msgid ""
 "  -Z, --compress=METHOD[:DETAIL]\n"
@@ -1558,7 +1691,7 @@ msgstr ""
 "  -Z, --compress=МЕТОД[:ДОП_ИНФО]\n"
 "                               выполнять сжатие как указано\n"
 
-#: pg_dump.c:1069 pg_dumpall.c:637
+#: pg_dump.c:1105 pg_dumpall.c:642
 #, c-format
 msgid ""
 "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
@@ -1566,7 +1699,7 @@ msgstr ""
 "  --lock-wait-timeout=ТАЙМ-АУТ прервать операцию при тайм-ауте блокировки "
 "таблицы\n"
 
-#: pg_dump.c:1070 pg_dumpall.c:664
+#: pg_dump.c:1106 pg_dumpall.c:670
 #, c-format
 msgid ""
 "  --no-sync                    do not wait for changes to be written safely "
@@ -1575,12 +1708,17 @@ msgstr ""
 "  --no-sync                    не ждать надёжного сохранения изменений на "
 "диске\n"
 
-#: pg_dump.c:1071 pg_dumpall.c:638
+#: pg_dump.c:1107
+#, c-format
+msgid "  --sync-method=METHOD         set method for syncing files to disk\n"
+msgstr "  --sync-method=МЕТОД          метод синхронизации файлов с ФС\n"
+
+#: pg_dump.c:1108 pg_dumpall.c:643
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   показать эту справку и выйти\n"
 
-#: pg_dump.c:1073 pg_dumpall.c:639
+#: pg_dump.c:1110 pg_dumpall.c:644
 #, c-format
 msgid ""
 "\n"
@@ -1589,35 +1727,35 @@ msgstr ""
 "\n"
 "Параметры, управляющие выводом:\n"
 
-#: pg_dump.c:1074 pg_dumpall.c:640
+#: pg_dump.c:1111 pg_dumpall.c:645
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              выгрузить только данные, без схемы\n"
 
-#: pg_dump.c:1075
+#: pg_dump.c:1112
 #, c-format
 msgid "  -b, --large-objects          include large objects in dump\n"
 msgstr "  -b, --large-objects          выгрузить большие объекты\n"
 
-#: pg_dump.c:1076
+#: pg_dump.c:1113
 #, c-format
 msgid "  --blobs                      (same as --large-objects, deprecated)\n"
 msgstr ""
 "  --blobs                      (устаревшая альтернатива --large-objects)\n"
 
-#: pg_dump.c:1077
+#: pg_dump.c:1114
 #, c-format
 msgid "  -B, --no-large-objects       exclude large objects in dump\n"
 msgstr "  -B, --no-large-objects       исключить из выгрузки большие объекты\n"
 
-#: pg_dump.c:1078
+#: pg_dump.c:1115
 #, c-format
 msgid ""
 "  --no-blobs                   (same as --no-large-objects, deprecated)\n"
 msgstr ""
 "  --no-blobs                   (устаревшая альтернатива --no-large-objects)\n"
 
-#: pg_dump.c:1079 pg_restore.c:447
+#: pg_dump.c:1116 pg_restore.c:466
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) database objects before "
@@ -1626,7 +1764,7 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) объекты БД при "
 "восстановлении\n"
 
-#: pg_dump.c:1080
+#: pg_dump.c:1117
 #, c-format
 msgid ""
 "  -C, --create                 include commands to create database in dump\n"
@@ -1634,28 +1772,28 @@ msgstr ""
 "  -C, --create                 добавить в копию команды создания базы "
 "данных\n"
 
-#: pg_dump.c:1081
+#: pg_dump.c:1118
 #, c-format
 msgid "  -e, --extension=PATTERN      dump the specified extension(s) only\n"
 msgstr ""
 "  -e, --extension=ШАБЛОН       выгрузить только указанное расширение(я)\n"
 
-#: pg_dump.c:1082 pg_dumpall.c:642
+#: pg_dump.c:1119 pg_dumpall.c:647
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=КОДИРОВКА     выгружать данные в заданной кодировке\n"
 
-#: pg_dump.c:1083
+#: pg_dump.c:1120
 #, c-format
 msgid "  -n, --schema=PATTERN         dump the specified schema(s) only\n"
 msgstr "  -n, --schema=ШАБЛОН          выгрузить только указанную схему(ы)\n"
 
-#: pg_dump.c:1084
+#: pg_dump.c:1121
 #, c-format
 msgid "  -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n"
 msgstr "  -N, --exclude-schema=ШАБЛОН  НЕ выгружать указанную схему(ы)\n"
 
-#: pg_dump.c:1085
+#: pg_dump.c:1122
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1664,12 +1802,12 @@ msgstr ""
 "  -O, --no-owner               не восстанавливать владение объектами\n"
 "                               при использовании текстового формата\n"
 
-#: pg_dump.c:1087 pg_dumpall.c:646
+#: pg_dump.c:1124 pg_dumpall.c:651
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            выгрузить только схему, без данных\n"
 
-#: pg_dump.c:1088
+#: pg_dump.c:1125
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use in plain-text "
@@ -1678,27 +1816,27 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя, который будет задействован\n"
 "                               при восстановлении из текстового формата\n"
 
-#: pg_dump.c:1089
+#: pg_dump.c:1126
 #, c-format
 msgid "  -t, --table=PATTERN          dump only the specified table(s)\n"
 msgstr "  -t, --table=ШАБЛОН           выгрузить только указанную таблицу(ы)\n"
 
-#: pg_dump.c:1090
+#: pg_dump.c:1127
 #, c-format
 msgid "  -T, --exclude-table=PATTERN  do NOT dump the specified table(s)\n"
 msgstr "  -T, --exclude-table=ШАБЛОН   НЕ выгружать указанную таблицу(ы)\n"
 
-#: pg_dump.c:1091 pg_dumpall.c:649
+#: pg_dump.c:1128 pg_dumpall.c:654
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          не выгружать права (назначение/отзыв)\n"
 
-#: pg_dump.c:1092 pg_dumpall.c:650
+#: pg_dump.c:1129 pg_dumpall.c:655
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             только для утилит обновления БД\n"
 
-#: pg_dump.c:1093 pg_dumpall.c:651
+#: pg_dump.c:1130 pg_dumpall.c:656
 #, c-format
 msgid ""
 "  --column-inserts             dump data as INSERT commands with column "
@@ -1707,7 +1845,7 @@ msgstr ""
 "  --column-inserts             выгружать данные в виде INSERT с именами "
 "столбцов\n"
 
-#: pg_dump.c:1094 pg_dumpall.c:652
+#: pg_dump.c:1131 pg_dumpall.c:657
 #, c-format
 msgid ""
 "  --disable-dollar-quoting     disable dollar quoting, use SQL standard "
@@ -1716,7 +1854,7 @@ msgstr ""
 "  --disable-dollar-quoting     отключить спецстроки с $, выводить строки\n"
 "                               по стандарту SQL\n"
 
-#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464
+#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483
 #, c-format
 msgid ""
 "  --disable-triggers           disable triggers during data-only restore\n"
@@ -1724,7 +1862,7 @@ msgstr ""
 "  --disable-triggers           отключить триггеры при восстановлении\n"
 "                               только данных, без схемы\n"
 
-#: pg_dump.c:1096
+#: pg_dump.c:1133
 #, c-format
 msgid ""
 "  --enable-row-security        enable row security (dump only content user "
@@ -1735,7 +1873,12 @@ msgstr ""
 "только\n"
 "                               те данные, которые доступны пользователю)\n"
 
-#: pg_dump.c:1098
+#: pg_dump.c:1135
+#, c-format
+msgid "  --exclude-extension=PATTERN  do NOT dump the specified extension(s)\n"
+msgstr "  --exclude-extension=ШАБЛОН   НЕ выгружать указанное расширение(я)\n"
+
+#: pg_dump.c:1136
 #, c-format
 msgid ""
 "  --exclude-table-and-children=PATTERN\n"
@@ -1747,7 +1890,7 @@ msgstr ""
 "                               НЕ выгружать указанную таблицу(ы), а также\n"
 "                               её секции и дочерние таблицы\n"
 
-#: pg_dump.c:1101
+#: pg_dump.c:1139
 #, c-format
 msgid ""
 "  --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n"
@@ -1755,7 +1898,7 @@ msgstr ""
 "  --exclude-table-data=ШАБЛОН  НЕ выгружать данные указанной таблицы "
 "(таблиц)\n"
 
-#: pg_dump.c:1102
+#: pg_dump.c:1140
 #, c-format
 msgid ""
 "  --exclude-table-data-and-children=PATTERN\n"
@@ -1767,7 +1910,7 @@ msgstr ""
 "(таблиц),\n"
 "                               а также её секций и дочерних таблиц\n"
 
-#: pg_dump.c:1105 pg_dumpall.c:655
+#: pg_dump.c:1143 pg_dumpall.c:660
 #, c-format
 msgid ""
 "  --extra-float-digits=NUM     override default setting for "
@@ -1775,13 +1918,24 @@ msgid ""
 msgstr ""
 "  --extra-float-digits=ЧИСЛО   переопределить значение extra_float_digits\n"
 
-#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466
+#: pg_dump.c:1144
+#, c-format
+msgid ""
+"  --filter=FILENAME            include or exclude objects and data from "
+"dump\n"
+"                               based on expressions in FILENAME\n"
+msgstr ""
+"  --filter=ИМЯ_ФАЙЛА           включать или исключать объекты и данные из\n"
+"                               дампа в соответствии с выражениями в этом "
+"файле\n"
+
+#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487
 #, c-format
 msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
 msgstr ""
 "  --if-exists                  применять IF EXISTS при удалении объектов\n"
 
-#: pg_dump.c:1107
+#: pg_dump.c:1147
 #, c-format
 msgid ""
 "  --include-foreign-data=PATTERN\n"
@@ -1792,7 +1946,7 @@ msgstr ""
 "                               включать в копию данные сторонних таблиц с\n"
 "                               серверов с именами, подпадающими под ШАБЛОН\n"
 
-#: pg_dump.c:1110 pg_dumpall.c:657
+#: pg_dump.c:1150 pg_dumpall.c:663
 #, c-format
 msgid ""
 "  --inserts                    dump data as INSERT commands, rather than "
@@ -1801,57 +1955,57 @@ msgstr ""
 "  --inserts                    выгрузить данные в виде команд INSERT, не "
 "COPY\n"
 
-#: pg_dump.c:1111 pg_dumpall.c:658
+#: pg_dump.c:1151 pg_dumpall.c:664
 #, c-format
 msgid "  --load-via-partition-root    load partitions via the root table\n"
 msgstr ""
 "  --load-via-partition-root    загружать секции через главную таблицу\n"
 
-#: pg_dump.c:1112 pg_dumpall.c:659
+#: pg_dump.c:1152 pg_dumpall.c:665
 #, c-format
 msgid "  --no-comments                do not dump comments\n"
 msgstr "  --no-comments                не выгружать комментарии\n"
 
-#: pg_dump.c:1113 pg_dumpall.c:660
+#: pg_dump.c:1153 pg_dumpall.c:666
 #, c-format
 msgid "  --no-publications            do not dump publications\n"
 msgstr "  --no-publications            не выгружать публикации\n"
 
-#: pg_dump.c:1114 pg_dumpall.c:662
+#: pg_dump.c:1154 pg_dumpall.c:668
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr ""
 "  --no-security-labels         не выгружать назначения меток безопасности\n"
 
-#: pg_dump.c:1115 pg_dumpall.c:663
+#: pg_dump.c:1155 pg_dumpall.c:669
 #, c-format
 msgid "  --no-subscriptions           do not dump subscriptions\n"
 msgstr "  --no-subscriptions           не выгружать подписки\n"
 
-#: pg_dump.c:1116 pg_dumpall.c:665
+#: pg_dump.c:1156 pg_dumpall.c:671
 #, c-format
 msgid "  --no-table-access-method     do not dump table access methods\n"
 msgstr "  --no-table-access-method     не выгружать табличные методы доступа\n"
 
-#: pg_dump.c:1117 pg_dumpall.c:666
+#: pg_dump.c:1157 pg_dumpall.c:672
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не выгружать назначения табличных "
 "пространств\n"
 
-#: pg_dump.c:1118 pg_dumpall.c:667
+#: pg_dump.c:1158 pg_dumpall.c:673
 #, c-format
 msgid "  --no-toast-compression       do not dump TOAST compression methods\n"
 msgstr "  --no-toast-compression       не выгружать методы сжатия TOAST\n"
 
-#: pg_dump.c:1119 pg_dumpall.c:668
+#: pg_dump.c:1159 pg_dumpall.c:674
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr ""
 "  --no-unlogged-table-data     не выгружать данные нежурналируемых таблиц\n"
 
-#: pg_dump.c:1120 pg_dumpall.c:669
+#: pg_dump.c:1160 pg_dumpall.c:675
 #, c-format
 msgid ""
 "  --on-conflict-do-nothing     add ON CONFLICT DO NOTHING to INSERT "
@@ -1860,7 +2014,7 @@ msgstr ""
 "  --on-conflict-do-nothing     добавлять ON CONFLICT DO NOTHING в команды "
 "INSERT\n"
 
-#: pg_dump.c:1121 pg_dumpall.c:670
+#: pg_dump.c:1161 pg_dumpall.c:676
 #, c-format
 msgid ""
 "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
@@ -1868,7 +2022,7 @@ msgstr ""
 "  --quote-all-identifiers      заключать в кавычки все идентификаторы,\n"
 "                               а не только ключевые слова\n"
 
-#: pg_dump.c:1122 pg_dumpall.c:671
+#: pg_dump.c:1162 pg_dumpall.c:677
 #, c-format
 msgid ""
 "  --rows-per-insert=NROWS      number of rows per INSERT; implies --inserts\n"
@@ -1876,7 +2030,7 @@ msgstr ""
 "  --rows-per-insert=ЧИСЛО      число строк в одном INSERT; подразумевает --"
 "inserts\n"
 
-#: pg_dump.c:1123
+#: pg_dump.c:1163
 #, c-format
 msgid ""
 "  --section=SECTION            dump named section (pre-data, data, or post-"
@@ -1885,7 +2039,7 @@ msgstr ""
 "  --section=РАЗДЕЛ             выгрузить заданный раздел\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_dump.c:1124
+#: pg_dump.c:1164
 #, c-format
 msgid ""
 "  --serializable-deferrable    wait until the dump can run without "
@@ -1894,13 +2048,13 @@ msgstr ""
 "  --serializable-deferrable    дождаться момента для выгрузки данных без "
 "аномалий\n"
 
-#: pg_dump.c:1125
+#: pg_dump.c:1165
 #, c-format
 msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr ""
 "  --snapshot=СНИМОК            использовать при выгрузке заданный снимок\n"
 
-#: pg_dump.c:1126 pg_restore.c:476
+#: pg_dump.c:1166 pg_restore.c:497
 #, c-format
 msgid ""
 "  --strict-names               require table and/or schema include patterns "
@@ -1913,7 +2067,7 @@ msgstr ""
 "минимум\n"
 "                               один объект\n"
 
-#: pg_dump.c:1128
+#: pg_dump.c:1168
 #, c-format
 msgid ""
 "  --table-and-children=PATTERN dump only the specified table(s), including\n"
@@ -1923,7 +2077,7 @@ msgstr ""
 "также\n"
 "                               её секции и дочерние таблицы\n"
 
-#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478
+#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1935,7 +2089,7 @@ msgstr ""
 "                               устанавливать владельца, используя команды\n"
 "                               SET SESSION AUTHORIZATION вместо ALTER OWNER\n"
 
-#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482
+#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504
 #, c-format
 msgid ""
 "\n"
@@ -1944,33 +2098,34 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_dump.c:1135
+#: pg_dump.c:1175
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=БД          имя базы данных для выгрузки\n"
 
-#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483
+#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
-"  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
+"  -h, --host=ИМЯ           компьютер с сервером баз данных или каталог "
+"сокетов\n"
 
-#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484
+#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=ПОРТ          номер порта сервера БД\n"
 
-#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485
+#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=ИМЯ       имя пользователя баз данных\n"
 
-#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486
+#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        не запрашивать пароль\n"
 
-#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487
+#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -1978,12 +2133,12 @@ msgid ""
 msgstr ""
 "  -W, --password           запрашивать пароль всегда (обычно не требуется)\n"
 
-#: pg_dump.c:1141 pg_dumpall.c:684
+#: pg_dump.c:1181 pg_dumpall.c:690
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед выгрузкой\n"
 
-#: pg_dump.c:1143
+#: pg_dump.c:1183
 #, c-format
 msgid ""
 "\n"
@@ -1996,22 +2151,22 @@ msgstr ""
 "PGDATABASE.\n"
 "\n"
 
-#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494
+#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516
 #, c-format
 msgid "Report bugs to <%s>.\n"
 msgstr "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495
+#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_dump.c:1165 pg_dumpall.c:513
+#: pg_dump.c:1205 pg_dumpall.c:518
 #, c-format
 msgid "invalid client encoding \"%s\" specified"
 msgstr "указана неверная клиентская кодировка \"%s\""
 
-#: pg_dump.c:1303
+#: pg_dump.c:1352
 #, c-format
 msgid ""
 "parallel dumps from standby servers are not supported by this server version"
@@ -2019,160 +2174,170 @@ msgstr ""
 "выгрузка дампа в параллельном режиме с ведомых серверов не поддерживается "
 "данной версией сервера"
 
-#: pg_dump.c:1368
+#: pg_dump.c:1417
 #, c-format
 msgid "invalid output format \"%s\" specified"
 msgstr "указан неверный формат вывода: \"%s\""
 
-#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1452
+#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: pg_dump.c:1417
+#: pg_dump.c:1466
 #, c-format
 msgid "no matching schemas were found for pattern \"%s\""
 msgstr "схемы, соответствующие шаблону \"%s\", не найдены"
 
-#: pg_dump.c:1470
+#: pg_dump.c:1519
 #, c-format
 msgid "no matching extensions were found for pattern \"%s\""
 msgstr "расширения, соответствующие шаблону \"%s\", не найдены"
 
-#: pg_dump.c:1523
+#: pg_dump.c:1572
 #, c-format
 msgid "no matching foreign servers were found for pattern \"%s\""
 msgstr "сторонние серверы, соответствующие шаблону \"%s\", не найдены"
 
-#: pg_dump.c:1594
+#: pg_dump.c:1643
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: pg_dump.c:1616
+#: pg_dump.c:1665
 #, c-format
 msgid "no matching tables were found for pattern \"%s\""
 msgstr "таблицы, соответствующие шаблону \"%s\", не найдены"
 
-#: pg_dump.c:1643
+#: pg_dump.c:1692
 #, c-format
 msgid "You are currently not connected to a database."
 msgstr "В данный момент вы не подключены к базе данных."
 
-#: pg_dump.c:1646
+#: pg_dump.c:1695
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
-#: pg_dump.c:2099
+#: pg_dump.c:2154
 #, c-format
 msgid "dumping contents of table \"%s.%s\""
 msgstr "выгрузка содержимого таблицы \"%s.%s\""
 
-#: pg_dump.c:2205
+#: pg_dump.c:2264
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed."
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetCopyData()."
 
-#: pg_dump.c:2206 pg_dump.c:2216
+#: pg_dump.c:2265 pg_dump.c:2275
 #, c-format
 msgid "Error message from server: %s"
 msgstr "Сообщение об ошибке с сервера: %s"
 
 # skip-rule: language-mix
-#: pg_dump.c:2207 pg_dump.c:2217
+#: pg_dump.c:2266 pg_dump.c:2276
 #, c-format
 msgid "Command was: %s"
 msgstr "Выполнялась команда: %s"
 
-#: pg_dump.c:2215
+#: pg_dump.c:2274
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed."
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult()."
 
-#: pg_dump.c:2297
+#: pg_dump.c:2365
 #, c-format
 msgid "wrong number of fields retrieved from table \"%s\""
 msgstr "из таблицы \"%s\" получено неверное количество полей"
 
-#: pg_dump.c:2995
+#: pg_dump.c:3067
 #, c-format
 msgid "saving database definition"
 msgstr "сохранение определения базы данных"
 
-#: pg_dump.c:3100
+#: pg_dump.c:3176
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "нераспознанный провайдер локали: %s"
 
-#: pg_dump.c:3451
+#: pg_dump.c:3537
 #, c-format
 msgid "saving encoding = %s"
 msgstr "сохранение кодировки (%s)"
 
-#: pg_dump.c:3476
+#: pg_dump.c:3562
 #, c-format
-msgid "saving standard_conforming_strings = %s"
-msgstr "сохранение standard_conforming_strings (%s)"
+msgid "saving \"standard_conforming_strings = %s\""
+msgstr "сохранение \"standard_conforming_strings = %s\""
 
-#: pg_dump.c:3515
+#: pg_dump.c:3601
 #, c-format
 msgid "could not parse result of current_schemas()"
 msgstr "не удалось разобрать результат current_schemas()"
 
-#: pg_dump.c:3534
+#: pg_dump.c:3620
 #, c-format
-msgid "saving search_path = %s"
-msgstr "сохранение search_path = %s"
+msgid "saving \"search_path = %s\""
+msgstr "сохранение \"search_path = %s\""
 
-#: pg_dump.c:3571
+#: pg_dump.c:3656
 #, c-format
 msgid "reading large objects"
 msgstr "чтение больших объектов"
 
-#: pg_dump.c:3709
+#: pg_dump.c:3877
 #, c-format
-msgid "saving large objects"
-msgstr "сохранение больших объектов"
+msgid "saving large objects \"%s\""
+msgstr "сохранение больших объектов \"%s\""
 
-#: pg_dump.c:3750
+#: pg_dump.c:3898
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "ошибка чтения большого объекта %u: %s"
 
-#: pg_dump.c:3856
+#: pg_dump.c:4001
 #, c-format
 msgid "reading row-level security policies"
 msgstr "чтение политик защиты на уровне строк"
 
-#: pg_dump.c:3997
+#: pg_dump.c:4142
 #, c-format
 msgid "unexpected policy command type: %c"
 msgstr "нераспознанный тип команды в политике: %c"
 
-#: pg_dump.c:4447 pg_dump.c:4791 pg_dump.c:12022 pg_dump.c:17932
-#: pg_dump.c:17934 pg_dump.c:18555
+#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246
+#: pg_dump.c:18248 pg_dump.c:18870
 #, c-format
 msgid "could not parse %s array"
 msgstr "не удалось разобрать массив %s"
 
-#: pg_dump.c:4636
+#: pg_dump.c:4806
 #, c-format
 msgid "subscriptions not dumped because current user is not a superuser"
 msgstr ""
 "подписки не выгружены, так как текущий пользователь не суперпользователь"
 
-#: pg_dump.c:5183
+#: pg_dump.c:5012
+#, c-format
+msgid "subscription with OID %u does not exist"
+msgstr "подписка с OID %u не существует"
+
+#: pg_dump.c:5019
+#, c-format
+msgid "failed sanity check, table with OID %u not found"
+msgstr "нарушение целостности: таблица с OID %u не найдена"
+
+#: pg_dump.c:5582
 #, c-format
 msgid "could not find parent extension for %s %s"
 msgstr "не удалось найти родительское расширение для %s %s"
 
-#: pg_dump.c:5328
+#: pg_dump.c:5727
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "схема с OID %u не существует"
 
-#: pg_dump.c:6810 pg_dump.c:17196
+#: pg_dump.c:7209 pg_dump.c:17617
 #, c-format
 msgid ""
 "failed sanity check, parent table with OID %u of sequence with OID %u not "
@@ -2181,7 +2346,7 @@ msgstr ""
 "нарушение целостности: по OID %u не удалось найти родительскую таблицу "
 "последовательности с OID %u"
 
-#: pg_dump.c:6953
+#: pg_dump.c:7352
 #, c-format
 msgid ""
 "failed sanity check, table OID %u appearing in pg_partitioned_table not found"
@@ -2189,18 +2354,18 @@ msgstr ""
 "нарушение целостности: таблица с OID %u, фигурирующим в "
 "pg_partitioned_table, не найдена"
 
-#: pg_dump.c:7184 pg_dump.c:7455 pg_dump.c:7926 pg_dump.c:8590 pg_dump.c:8709
-#: pg_dump.c:8857
+#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040
+#: pg_dump.c:9188
 #, c-format
 msgid "unrecognized table OID %u"
 msgstr "нераспознанный OID таблицы %u"
 
-#: pg_dump.c:7188
+#: pg_dump.c:7587
 #, c-format
 msgid "unexpected index data for table \"%s\""
 msgstr "неожиданно получены данные индекса для таблицы \"%s\""
 
-#: pg_dump.c:7687
+#: pg_dump.c:8089
 #, c-format
 msgid ""
 "failed sanity check, parent table with OID %u of pg_rewrite entry with OID "
@@ -2209,41 +2374,32 @@ msgstr ""
 "нарушение целостности: по OID %u не удалось найти родительскую таблицу для "
 "записи pg_rewrite с OID %u"
 
-#: pg_dump.c:7978
-#, c-format
-msgid ""
-"query produced null referenced table name for foreign key trigger \"%s\" on "
-"table \"%s\" (OID of table: %u)"
-msgstr ""
-"запрос выдал NULL вместо имени целевой таблицы для триггера внешнего ключа "
-"\"%s\" в таблице \"%s\" (OID целевой таблицы: %u)"
-
-#: pg_dump.c:8594
+#: pg_dump.c:8922
 #, c-format
 msgid "unexpected column data for table \"%s\""
 msgstr "неожиданно получены данные столбцов для таблицы \"%s\""
 
-#: pg_dump.c:8623
+#: pg_dump.c:8951
 #, c-format
 msgid "invalid column numbering in table \"%s\""
 msgstr "неверная нумерация столбцов в таблице \"%s\""
 
-#: pg_dump.c:8671
+#: pg_dump.c:9002
 #, c-format
 msgid "finding table default expressions"
 msgstr "поиск выражений по умолчанию для таблиц"
 
-#: pg_dump.c:8713
+#: pg_dump.c:9044
 #, c-format
 msgid "invalid adnum value %d for table \"%s\""
 msgstr "неверное значение adnum (%d) в таблице \"%s\""
 
-#: pg_dump.c:8807
+#: pg_dump.c:9138
 #, c-format
 msgid "finding table check constraints"
 msgstr "поиск ограничений-проверок для таблиц"
 
-#: pg_dump.c:8861
+#: pg_dump.c:9192
 #, c-format
 msgid "expected %d check constraint on table \"%s\" but found %d"
 msgid_plural "expected %d check constraints on table \"%s\" but found %d"
@@ -2254,54 +2410,59 @@ msgstr[1] ""
 msgstr[2] ""
 "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d"
 
-#: pg_dump.c:8865
+#: pg_dump.c:9196
 #, c-format
 msgid "The system catalogs might be corrupted."
 msgstr "Возможно, повреждены системные каталоги."
 
-#: pg_dump.c:9555
+#: pg_dump.c:9886
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "роль с OID %u не существует"
 
-#: pg_dump.c:9667 pg_dump.c:9696
+#: pg_dump.c:9998 pg_dump.c:10027
 #, c-format
 msgid "unsupported pg_init_privs entry: %u %u %d"
 msgstr "неподдерживаемая запись в pg_init_privs: %u %u %d"
 
-#: pg_dump.c:10517
+#: pg_dump.c:10574
+#, c-format
+msgid "missing metadata for large objects \"%s\""
+msgstr "отсутствуют метаданные о больших объектах \"%s\""
+
+#: pg_dump.c:10857
 #, c-format
 msgid "typtype of data type \"%s\" appears to be invalid"
 msgstr "у типа данных \"%s\" по-видимому неправильный тип типа"
 
 # TO REVEIW
-#: pg_dump.c:12091
+#: pg_dump.c:12431
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\""
 msgstr "недопустимое значение provolatile для функции \"%s\""
 
 # TO REVEIW
-#: pg_dump.c:12141 pg_dump.c:14023
+#: pg_dump.c:12481 pg_dump.c:14377
 #, c-format
 msgid "unrecognized proparallel value for function \"%s\""
 msgstr "недопустимое значение proparallel для функции \"%s\""
 
-#: pg_dump.c:12271 pg_dump.c:12377 pg_dump.c:12384
+#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724
 #, c-format
 msgid "could not find function definition for function with OID %u"
 msgstr "не удалось найти определение функции для функции с OID %u"
 
-#: pg_dump.c:12310
+#: pg_dump.c:12650
 #, c-format
 msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field"
 msgstr "неприемлемое значение в поле pg_cast.castfunc или pg_cast.castmethod"
 
-#: pg_dump.c:12313
+#: pg_dump.c:12653
 #, c-format
 msgid "bogus value in pg_cast.castmethod field"
 msgstr "неприемлемое значение в поле pg_cast.castmethod"
 
-#: pg_dump.c:12403
+#: pg_dump.c:12743
 #, c-format
 msgid ""
 "bogus transform definition, at least one of trffromsql and trftosql should "
@@ -2310,62 +2471,63 @@ msgstr ""
 "неприемлемое определение преобразования (trffromsql или trftosql должно быть "
 "ненулевым)"
 
-#: pg_dump.c:12420
+#: pg_dump.c:12760
 #, c-format
 msgid "bogus value in pg_transform.trffromsql field"
 msgstr "неприемлемое значение в поле pg_transform.trffromsql"
 
-#: pg_dump.c:12441
+#: pg_dump.c:12781
 #, c-format
 msgid "bogus value in pg_transform.trftosql field"
 msgstr "неприемлемое значение в поле pg_transform.trftosql"
 
-#: pg_dump.c:12586
+#: pg_dump.c:12926
 #, c-format
 msgid "postfix operators are not supported anymore (operator \"%s\")"
 msgstr "постфиксные операторы больше не поддерживаются (оператор \"%s\")"
 
-#: pg_dump.c:12756
+#: pg_dump.c:13096
 #, c-format
 msgid "could not find operator with OID %s"
 msgstr "оператор с OID %s не найден"
 
-#: pg_dump.c:12824
+#: pg_dump.c:13164
 #, c-format
 msgid "invalid type \"%c\" of access method \"%s\""
 msgstr "неверный тип \"%c\" метода доступа \"%s\""
 
-#: pg_dump.c:13493 pg_dump.c:13552
+#: pg_dump.c:13838 pg_dump.c:13906
 #, c-format
 msgid "unrecognized collation provider: %s"
 msgstr "нераспознанный провайдер правил сортировки: %s"
 
-#: pg_dump.c:13502 pg_dump.c:13511 pg_dump.c:13521 pg_dump.c:13536
+#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875
+#: pg_dump.c:13890
 #, c-format
 msgid "invalid collation \"%s\""
 msgstr "неверное правило сортировки \"%s\""
 
-#: pg_dump.c:13942
+#: pg_dump.c:14296
 #, c-format
 msgid "unrecognized aggfinalmodify value for aggregate \"%s\""
 msgstr "нераспознанное значение aggfinalmodify для агрегата \"%s\""
 
-#: pg_dump.c:13998
+#: pg_dump.c:14352
 #, c-format
 msgid "unrecognized aggmfinalmodify value for aggregate \"%s\""
 msgstr "нераспознанное значение aggmfinalmodify для агрегата \"%s\""
 
-#: pg_dump.c:14715
+#: pg_dump.c:15069
 #, c-format
 msgid "unrecognized object type in default privileges: %d"
 msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d"
 
-#: pg_dump.c:14731
+#: pg_dump.c:15085
 #, c-format
 msgid "could not parse default ACL list (%s)"
 msgstr "не удалось разобрать список прав по умолчанию (%s)"
 
-#: pg_dump.c:14813
+#: pg_dump.c:15169
 #, c-format
 msgid ""
 "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)"
@@ -2373,20 +2535,20 @@ msgstr ""
 "не удалось разобрать изначальный список ACL (%s) или ACL по умолчанию (%s) "
 "для объекта \"%s\" (%s)"
 
-#: pg_dump.c:14838
+#: pg_dump.c:15194
 #, c-format
 msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)"
 msgstr ""
 "не удалось разобрать список ACL (%s) или ACL по умолчанию (%s) для объекта "
 "\"%s\" (%s)"
 
-#: pg_dump.c:15379
+#: pg_dump.c:15737
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data"
 msgstr ""
 "запрос на получение определения представления \"%s\" не возвратил данные"
 
-#: pg_dump.c:15382
+#: pg_dump.c:15740
 #, c-format
 msgid ""
 "query to obtain definition of view \"%s\" returned more than one definition"
@@ -2394,49 +2556,49 @@ msgstr ""
 "запрос на получение определения представления \"%s\" возвратил несколько "
 "определений"
 
-#: pg_dump.c:15389
+#: pg_dump.c:15747
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)"
 msgstr "определение представления \"%s\" пустое (длина равна нулю)"
 
-#: pg_dump.c:15473
+#: pg_dump.c:15832
 #, c-format
 msgid "WITH OIDS is not supported anymore (table \"%s\")"
 msgstr "свойство WITH OIDS больше не поддерживается (таблица \"%s\")"
 
-#: pg_dump.c:16397
+#: pg_dump.c:16819
 #, c-format
 msgid "invalid column number %d for table \"%s\""
 msgstr "неверный номер столбца %d для таблицы \"%s\""
 
-#: pg_dump.c:16475
+#: pg_dump.c:16897
 #, c-format
 msgid "could not parse index statistic columns"
 msgstr "не удалось разобрать столбцы статистики в индексе"
 
-#: pg_dump.c:16477
+#: pg_dump.c:16899
 #, c-format
 msgid "could not parse index statistic values"
 msgstr "не удалось разобрать значения статистики в индексе"
 
-#: pg_dump.c:16479
+#: pg_dump.c:16901
 #, c-format
 msgid "mismatched number of columns and values for index statistics"
 msgstr ""
 "столбцы, задающие статистику индекса, не соответствуют значениям по "
 "количеству"
 
-#: pg_dump.c:16695
+#: pg_dump.c:17116
 #, c-format
 msgid "missing index for constraint \"%s\""
 msgstr "отсутствует индекс для ограничения \"%s\""
 
-#: pg_dump.c:16930
+#: pg_dump.c:17351
 #, c-format
 msgid "unrecognized constraint type: %c"
 msgstr "нераспознанный тип ограничения: %c"
 
-#: pg_dump.c:17031 pg_dump.c:17260
+#: pg_dump.c:17452 pg_dump.c:17681
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)"
 msgid_plural ""
@@ -2451,22 +2613,12 @@ msgstr[2] ""
 "запрос на получение данных последовательности \"%s\" вернул %d строк "
 "(ожидалась 1)"
 
-#: pg_dump.c:17063
+#: pg_dump.c:17484
 #, c-format
 msgid "unrecognized sequence type: %s"
 msgstr "нераспознанный тип последовательности: %s"
 
-#: pg_dump.c:17352
-#, c-format
-msgid "unexpected tgtype value: %d"
-msgstr "неожиданное значение tgtype: %d"
-
-#: pg_dump.c:17424
-#, c-format
-msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\""
-msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\""
-
-#: pg_dump.c:17693
+#: pg_dump.c:17998
 #, c-format
 msgid ""
 "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows "
@@ -2475,47 +2627,53 @@ msgstr ""
 "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное "
 "число строк"
 
-#: pg_dump.c:17846
+#: pg_dump.c:18151
 #, c-format
 msgid "could not find referenced extension %u"
 msgstr "не удалось найти упомянутое расширение %u"
 
-#: pg_dump.c:17936
+#: pg_dump.c:18250
 #, c-format
 msgid "mismatched number of configurations and conditions for extension"
 msgstr "конфигурации расширения не соответствуют условиям по количеству"
 
-#: pg_dump.c:18068
+#: pg_dump.c:18382
 #, c-format
 msgid "reading dependency data"
 msgstr "чтение информации о зависимостях"
 
-#: pg_dump.c:18154
+#: pg_dump.c:18468
 #, c-format
 msgid "no referencing object %u %u"
 msgstr "нет подчинённого объекта %u %u"
 
-#: pg_dump.c:18165
+#: pg_dump.c:18479
 #, c-format
 msgid "no referenced object %u %u"
 msgstr "нет вышестоящего объекта %u %u"
 
-#: pg_dump_sort.c:422
+#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551
+#: pg_restore.c:597
+#, c-format
+msgid "%s filter for \"%s\" is not allowed"
+msgstr "фильтр %s для \"%s\" не допускается"
+
+#: pg_dump_sort.c:424
 #, c-format
 msgid "invalid dumpId %d"
 msgstr "неверный dumpId %d"
 
-#: pg_dump_sort.c:428
+#: pg_dump_sort.c:430
 #, c-format
 msgid "invalid dependency %d"
 msgstr "неверная зависимость %d"
 
-#: pg_dump_sort.c:661
+#: pg_dump_sort.c:594
 #, c-format
 msgid "could not identify dependency loop"
 msgstr "не удалось определить цикл зависимостей"
 
-#: pg_dump_sort.c:1276
+#: pg_dump_sort.c:1209
 #, c-format
 msgid "there are circular foreign-key constraints on this table:"
 msgid_plural "there are circular foreign-key constraints among these tables:"
@@ -2523,7 +2681,7 @@ msgstr[0] "в следующей таблице зациклены ограни
 msgstr[1] "в следующих таблицах зациклены ограничения внешних ключей:"
 msgstr[2] "в следующих таблицах зациклены ограничения внешних ключей:"
 
-#: pg_dump_sort.c:1281
+#: pg_dump_sort.c:1214
 #, c-format
 msgid ""
 "You might not be able to restore the dump without using --disable-triggers "
@@ -2532,7 +2690,7 @@ msgstr ""
 "Возможно, для восстановления базы потребуется использовать --disable-"
 "triggers или временно удалить ограничения."
 
-#: pg_dump_sort.c:1282
+#: pg_dump_sort.c:1215
 #, c-format
 msgid ""
 "Consider using a full dump instead of a --data-only dump to avoid this "
@@ -2541,26 +2699,26 @@ msgstr ""
 "Во избежание этой проблемы, вероятно, стоит выгружать всю базу данных, а не "
 "только данные (--data-only)."
 
-#: pg_dump_sort.c:1294
+#: pg_dump_sort.c:1227
 #, c-format
 msgid "could not resolve dependency loop among these items:"
 msgstr "не удалось разрешить цикл зависимостей для следующих объектов:"
 
-#: pg_dumpall.c:230
+#: pg_dumpall.c:231
 #, c-format
 msgid ""
 "program \"%s\" is needed by %s but was not found in the same directory as "
 "\"%s\""
 msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\""
 
-#: pg_dumpall.c:233
+#: pg_dumpall.c:234
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr ""
 "программа \"%s\" найдена программой \"%s\", но её версия отличается от "
 "версии %s"
 
-#: pg_dumpall.c:382
+#: pg_dumpall.c:387
 #, c-format
 msgid ""
 "option --exclude-database cannot be used together with -g/--globals-only, -"
@@ -2569,30 +2727,30 @@ msgstr ""
 "параметр --exclude-database несовместим с -g/--globals-only, -r/--roles-only "
 "и -t/--tablespaces-only"
 
-#: pg_dumpall.c:390
+#: pg_dumpall.c:395
 #, c-format
 msgid "options -g/--globals-only and -r/--roles-only cannot be used together"
 msgstr "параметры -g/--globals-only и -r/--roles-only исключают друг друга"
 
-#: pg_dumpall.c:397
+#: pg_dumpall.c:402
 #, c-format
 msgid ""
 "options -g/--globals-only and -t/--tablespaces-only cannot be used together"
 msgstr ""
 "параметры -g/--globals-only и -t/--tablespaces-only исключают друг друга"
 
-#: pg_dumpall.c:407
+#: pg_dumpall.c:412
 #, c-format
 msgid ""
 "options -r/--roles-only and -t/--tablespaces-only cannot be used together"
 msgstr "параметры -r/--roles-only и -t/--tablespaces-only исключают друг друга"
 
-#: pg_dumpall.c:469 pg_dumpall.c:1753
+#: pg_dumpall.c:474 pg_dumpall.c:1771
 #, c-format
 msgid "could not connect to database \"%s\""
 msgstr "не удалось подключиться к базе данных: \"%s\""
 
-#: pg_dumpall.c:481
+#: pg_dumpall.c:486
 #, c-format
 msgid ""
 "could not connect to databases \"postgres\" or \"template1\"\n"
@@ -2601,7 +2759,7 @@ msgstr ""
 "не удалось подключиться к базе данных \"postgres\" или \"template1\"\n"
 "Укажите другую базу данных."
 
-#: pg_dumpall.c:629
+#: pg_dumpall.c:634
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -2610,17 +2768,17 @@ msgstr ""
 "%s экспортирует всё содержимое кластера баз данных PostgreSQL в SQL-скрипт.\n"
 "\n"
 
-#: pg_dumpall.c:631
+#: pg_dumpall.c:636
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_dumpall.c:634
+#: pg_dumpall.c:639
 #, c-format
 msgid "  -f, --file=FILENAME          output file name\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА         имя выходного файла\n"
 
-#: pg_dumpall.c:641
+#: pg_dumpall.c:646
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) databases before recreating\n"
@@ -2628,18 +2786,18 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) базы данных перед\n"
 "                               восстановлением\n"
 
-#: pg_dumpall.c:643
+#: pg_dumpall.c:648
 #, c-format
 msgid "  -g, --globals-only           dump only global objects, no databases\n"
 msgstr ""
 "  -g, --globals-only           выгрузить только глобальные объекты, без баз\n"
 
-#: pg_dumpall.c:644 pg_restore.c:456
+#: pg_dumpall.c:649 pg_restore.c:475
 #, c-format
 msgid "  -O, --no-owner               skip restoration of object ownership\n"
 msgstr "  -O, --no-owner               не восстанавливать владение объектами\n"
 
-#: pg_dumpall.c:645
+#: pg_dumpall.c:650
 #, c-format
 msgid ""
 "  -r, --roles-only             dump only roles, no databases or tablespaces\n"
@@ -2647,13 +2805,13 @@ msgstr ""
 "  -r, --roles-only             выгрузить только роли, без баз данных\n"
 "                               и табличных пространств\n"
 
-#: pg_dumpall.c:647
+#: pg_dumpall.c:652
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in the dump\n"
 msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя для выполнения выгрузки\n"
 
-#: pg_dumpall.c:648
+#: pg_dumpall.c:653
 #, c-format
 msgid ""
 "  -t, --tablespaces-only       dump only tablespaces, no databases or roles\n"
@@ -2661,7 +2819,7 @@ msgstr ""
 "  -t, --tablespaces-only       выгружать только табличные пространства,\n"
 "                               без баз данных и ролей\n"
 
-#: pg_dumpall.c:654
+#: pg_dumpall.c:659
 #, c-format
 msgid ""
 "  --exclude-database=PATTERN   exclude databases whose name matches PATTERN\n"
@@ -2671,20 +2829,29 @@ msgstr ""
 
 #: pg_dumpall.c:661
 #, c-format
+msgid ""
+"  --filter=FILENAME            exclude databases based on expressions in "
+"FILENAME\n"
+msgstr ""
+"  --filter=ИМЯ_ФАЙЛА           исключать базы данных в соответствии с\n"
+"                               выражениями в этом файле\n"
+
+#: pg_dumpall.c:667
+#, c-format
 msgid "  --no-role-passwords          do not dump passwords for roles\n"
 msgstr "  --no-role-passwords          не выгружать пароли ролей\n"
 
-#: pg_dumpall.c:677
+#: pg_dumpall.c:683
 #, c-format
 msgid "  -d, --dbname=CONNSTR     connect using connection string\n"
 msgstr "  -d, --dbname=СТРОКА      подключиться с данной строкой подключения\n"
 
-#: pg_dumpall.c:679
+#: pg_dumpall.c:685
 #, c-format
 msgid "  -l, --database=DBNAME    alternative default database\n"
 msgstr "  -l, --database=ИМЯ_БД    выбор другой базы данных по умолчанию\n"
 
-#: pg_dumpall.c:686
+#: pg_dumpall.c:692
 #, c-format
 msgid ""
 "\n"
@@ -2698,102 +2865,114 @@ msgstr ""
 "вывод.\n"
 "\n"
 
-#: pg_dumpall.c:831
+#: pg_dumpall.c:837
 #, c-format
 msgid "role name starting with \"pg_\" skipped (%s)"
 msgstr "имя роли, начинающееся с \"pg_\", пропущено (%s)"
 
-#: pg_dumpall.c:1053
+#: pg_dumpall.c:1059
 #, c-format
 msgid "could not find a legal dump ordering for memberships in role \"%s\""
 msgstr "не удалось найти подходящий порядок выгрузки для членов роли \"%s\""
 
-#: pg_dumpall.c:1188
+#: pg_dumpall.c:1194
 #, c-format
 msgid "could not parse ACL list (%s) for parameter \"%s\""
 msgstr "не удалось разобрать список ACL (%s) для параметра \"%s\""
 
-#: pg_dumpall.c:1306
+#: pg_dumpall.c:1321
 #, c-format
 msgid "could not parse ACL list (%s) for tablespace \"%s\""
 msgstr ""
 "не удалось разобрать список управления доступом (%s) для табл. пространства "
 "\"%s\""
 
-#: pg_dumpall.c:1513
+#: pg_dumpall.c:1528
 #, c-format
 msgid "excluding database \"%s\""
 msgstr "база данных \"%s\" исключается"
 
-#: pg_dumpall.c:1517
+#: pg_dumpall.c:1532
 #, c-format
 msgid "dumping database \"%s\""
 msgstr "выгрузка базы данных \"%s\""
 
-#: pg_dumpall.c:1548
+#: pg_dumpall.c:1563
 #, c-format
 msgid "pg_dump failed on database \"%s\", exiting"
 msgstr "ошибка при обработке базы \"%s\", pg_dump завершается"
 
-#: pg_dumpall.c:1554
+#: pg_dumpall.c:1569
 #, c-format
 msgid "could not re-open the output file \"%s\": %m"
 msgstr "не удалось повторно открыть выходной файл \"%s\": %m"
 
-#: pg_dumpall.c:1595
+#: pg_dumpall.c:1613
 #, c-format
 msgid "running \"%s\""
 msgstr "выполняется \"%s\""
 
-#: pg_dumpall.c:1796
+#: pg_dumpall.c:1814
 #, c-format
 msgid "could not get server version"
 msgstr "не удалось узнать версию сервера"
 
-#: pg_dumpall.c:1799
+#: pg_dumpall.c:1817
 #, c-format
 msgid "could not parse server version \"%s\""
 msgstr "не удалось разобрать строку версии сервера \"%s\""
 
-#: pg_dumpall.c:1869 pg_dumpall.c:1892
+#: pg_dumpall.c:1887 pg_dumpall.c:1910
 #, c-format
 msgid "executing %s"
 msgstr "выполняется %s"
 
+#: pg_dumpall.c:1982
+msgid "unsupported filter object"
+msgstr "неподдерживаемый объект фильтра"
+
 # TO REVEIW
-#: pg_restore.c:313
+#: pg_restore.c:329
 #, c-format
 msgid "one of -d/--dbname and -f/--file must be specified"
 msgstr "необходимо указать -d/--dbname или -f/--file"
 
 # TO REVEIW
-#: pg_restore.c:320
+#: pg_restore.c:336
 #, c-format
 msgid "options -d/--dbname and -f/--file cannot be used together"
 msgstr "параметры -d/--dbname и -f/--file исключают друг друга"
 
-#: pg_restore.c:338
+#: pg_restore.c:350
+#, c-format
+msgid ""
+"options -1/--single-transaction and --transaction-size cannot be used "
+"together"
+msgstr ""
+"параметры -1/--single-transaction и --transaction-size исключают друг друга"
+
+#: pg_restore.c:357
 #, c-format
 msgid "options -C/--create and -1/--single-transaction cannot be used together"
 msgstr "параметры -C/--create и -1/--single-transaction исключают друг друга"
 
-#: pg_restore.c:342
+#: pg_restore.c:361
 #, c-format
 msgid "cannot specify both --single-transaction and multiple jobs"
 msgstr "параметр --single-transaction допускается только с одним заданием"
 
-#: pg_restore.c:380
+#: pg_restore.c:399
 #, c-format
 msgid ""
 "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\""
 msgstr "нераспознанный формат архива \"%s\"; укажите \"c\", \"d\" или \"t\""
 
-#: pg_restore.c:419
+#: pg_restore.c:438
 #, c-format
 msgid "errors ignored on restore: %d"
 msgstr "при восстановлении проигнорировано ошибок: %d"
 
-#: pg_restore.c:432
+#: pg_restore.c:451
 #, c-format
 msgid ""
 "%s restores a PostgreSQL database from an archive created by pg_dump.\n"
@@ -2803,49 +2982,49 @@ msgstr ""
 "pg_dump.\n"
 "\n"
 
-#: pg_restore.c:434
+#: pg_restore.c:453
 #, c-format
 msgid "  %s [OPTION]... [FILE]\n"
 msgstr "  %s [ПАРАМЕТР]... [ФАЙЛ]\n"
 
-#: pg_restore.c:437
+#: pg_restore.c:456
 #, c-format
 msgid "  -d, --dbname=NAME        connect to database name\n"
 msgstr "  -d, --dbname=БД          подключиться к указанной базе данных\n"
 
-#: pg_restore.c:438
+#: pg_restore.c:457
 #, c-format
 msgid "  -f, --file=FILENAME      output file name (- for stdout)\n"
 msgstr ""
 "  -f, --file=ИМЯ_ФАЙЛА     имя выходного файла (или - для вывода в stdout)\n"
 
-#: pg_restore.c:439
+#: pg_restore.c:458
 #, c-format
 msgid "  -F, --format=c|d|t       backup file format (should be automatic)\n"
 msgstr ""
 "  -F, --format=c|d|t       формат файла (должен определяться автоматически)\n"
 
-#: pg_restore.c:440
+#: pg_restore.c:459
 #, c-format
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr "  -l, --list               вывести краткое оглавление архива\n"
 
-#: pg_restore.c:441
+#: pg_restore.c:460
 #, c-format
 msgid "  -v, --verbose            verbose mode\n"
 msgstr "  -v, --verbose            выводить подробные сообщения\n"
 
-#: pg_restore.c:442
+#: pg_restore.c:461
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: pg_restore.c:443
+#: pg_restore.c:462
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               показать эту справку и выйти\n"
 
-#: pg_restore.c:445
+#: pg_restore.c:464
 #, c-format
 msgid ""
 "\n"
@@ -2854,35 +3033,35 @@ msgstr ""
 "\n"
 "Параметры, управляющие восстановлением:\n"
 
-#: pg_restore.c:446
+#: pg_restore.c:465
 #, c-format
 msgid "  -a, --data-only              restore only the data, no schema\n"
 msgstr "  -a, --data-only              восстановить только данные, без схемы\n"
 
-#: pg_restore.c:448
+#: pg_restore.c:467
 #, c-format
 msgid "  -C, --create                 create the target database\n"
 msgstr "  -C, --create                 создать целевую базу данных\n"
 
-#: pg_restore.c:449
+#: pg_restore.c:468
 #, c-format
 msgid "  -e, --exit-on-error          exit on error, default is to continue\n"
 msgstr ""
 "  -e, --exit-on-error          выйти при ошибке (по умолчанию - продолжать)\n"
 
-#: pg_restore.c:450
+#: pg_restore.c:469
 #, c-format
 msgid "  -I, --index=NAME             restore named index\n"
 msgstr "  -I, --index=ИМЯ              восстановить указанный индекс\n"
 
-#: pg_restore.c:451
+#: pg_restore.c:470
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to restore\n"
 msgstr ""
 "  -j, --jobs=ЧИСЛО             распараллелить восстановление на указанное "
 "число заданий\n"
 
-#: pg_restore.c:452
+#: pg_restore.c:471
 #, c-format
 msgid ""
 "  -L, --use-list=FILENAME      use table of contents from this file for\n"
@@ -2891,13 +3070,13 @@ msgstr ""
 "  -L, --use-list=ИМЯ_ФАЙЛА     использовать оглавление из этого файла для\n"
 "                               чтения/упорядочивания данных\n"
 
-#: pg_restore.c:454
+#: pg_restore.c:473
 #, c-format
 msgid "  -n, --schema=NAME            restore only objects in this schema\n"
 msgstr ""
 "  -n, --schema=ИМЯ             восстановить объекты только в этой схеме\n"
 
-#: pg_restore.c:455
+#: pg_restore.c:474
 #, c-format
 msgid "  -N, --exclude-schema=NAME    do not restore objects in this schema\n"
 msgstr ""
@@ -2905,17 +3084,17 @@ msgstr ""
 
 # skip-rule: no-space-before-parentheses
 # well-spelled: арг
-#: pg_restore.c:457
+#: pg_restore.c:476
 #, c-format
 msgid "  -P, --function=NAME(args)    restore named function\n"
 msgstr "  -P, --function=ИМЯ(арг-ты)   восстановить заданную функцию\n"
 
-#: pg_restore.c:458
+#: pg_restore.c:477
 #, c-format
 msgid "  -s, --schema-only            restore only the schema, no data\n"
 msgstr "  -s, --schema-only            восстановить только схему, без данных\n"
 
-#: pg_restore.c:459
+#: pg_restore.c:478
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use for disabling "
@@ -2924,7 +3103,7 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя суперпользователя для отключения "
 "триггеров\n"
 
-#: pg_restore.c:460
+#: pg_restore.c:479
 #, c-format
 msgid ""
 "  -t, --table=NAME             restore named relation (table, view, etc.)\n"
@@ -2932,12 +3111,12 @@ msgstr ""
 "  -t, --table=ИМЯ              восстановить заданное отношение (таблицу, "
 "представление и т. п.)\n"
 
-#: pg_restore.c:461
+#: pg_restore.c:480
 #, c-format
 msgid "  -T, --trigger=NAME           restore named trigger\n"
 msgstr "  -T, --trigger=ИМЯ            восстановить заданный триггер\n"
 
-#: pg_restore.c:462
+#: pg_restore.c:481
 #, c-format
 msgid ""
 "  -x, --no-privileges          skip restoration of access privileges (grant/"
@@ -2946,23 +3125,32 @@ msgstr ""
 "  -x, --no-privileges          не восстанавливать права доступа\n"
 "                               (назначение/отзыв)\n"
 
-#: pg_restore.c:463
+#: pg_restore.c:482
 #, c-format
 msgid "  -1, --single-transaction     restore as a single transaction\n"
 msgstr ""
 "  -1, --single-transaction     выполнить восстановление в одной транзакции\n"
 
-#: pg_restore.c:465
+#: pg_restore.c:484
 #, c-format
 msgid "  --enable-row-security        enable row security\n"
 msgstr "  --enable-row-security        включить защиту на уровне строк\n"
 
-#: pg_restore.c:467
+#: pg_restore.c:485
+#, c-format
+msgid ""
+"  --filter=FILENAME            restore or skip objects based on expressions\n"
+"                               in FILENAME\n"
+msgstr ""
+"  --filter=ИМЯ_ФАЙЛА           восстанавливать или пропускать объекты\n"
+"                               в соответствии с выражениями в этом файле\n"
+
+#: pg_restore.c:488
 #, c-format
 msgid "  --no-comments                do not restore comments\n"
 msgstr "  --no-comments                не восстанавливать комментарии\n"
 
-#: pg_restore.c:468
+#: pg_restore.c:489
 #, c-format
 msgid ""
 "  --no-data-for-failed-tables  do not restore data of tables that could not "
@@ -2972,35 +3160,35 @@ msgstr ""
 "  --no-data-for-failed-tables  не восстанавливать данные таблиц, которые\n"
 "                               не удалось создать\n"
 
-#: pg_restore.c:470
+#: pg_restore.c:491
 #, c-format
 msgid "  --no-publications            do not restore publications\n"
 msgstr "  --no-publications            не восстанавливать публикации\n"
 
-#: pg_restore.c:471
+#: pg_restore.c:492
 #, c-format
 msgid "  --no-security-labels         do not restore security labels\n"
 msgstr "  --no-security-labels         не восстанавливать метки безопасности\n"
 
-#: pg_restore.c:472
+#: pg_restore.c:493
 #, c-format
 msgid "  --no-subscriptions           do not restore subscriptions\n"
 msgstr "  --no-subscriptions           не восстанавливать подписки\n"
 
-#: pg_restore.c:473
+#: pg_restore.c:494
 #, c-format
 msgid "  --no-table-access-method     do not restore table access methods\n"
 msgstr ""
 "  --no-table-access-method     не восстанавливать табличные методы доступа\n"
 
-#: pg_restore.c:474
+#: pg_restore.c:495
 #, c-format
 msgid "  --no-tablespaces             do not restore tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не восстанавливать назначения табл. "
 "пространств\n"
 
-#: pg_restore.c:475
+#: pg_restore.c:496
 #, c-format
 msgid ""
 "  --section=SECTION            restore named section (pre-data, data, or "
@@ -3009,12 +3197,18 @@ msgstr ""
 "  --section=РАЗДЕЛ             восстановить заданный раздел\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_restore.c:488
+#: pg_restore.c:499
+#, c-format
+msgid "  --transaction-size=N         commit after every N objects\n"
+msgstr ""
+"  --transaction-size=N         выполнять COMMIT после каждых N объектов\n"
+
+#: pg_restore.c:510
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before restore\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед восстановлением\n"
 
-#: pg_restore.c:490
+#: pg_restore.c:512
 #, c-format
 msgid ""
 "\n"
@@ -3027,7 +3221,7 @@ msgstr ""
 "указывать\n"
 "несколько раз для выбора нескольких объектов.\n"
 
-#: pg_restore.c:493
+#: pg_restore.c:515
 #, c-format
 msgid ""
 "\n"
@@ -3039,6 +3233,22 @@ msgstr ""
 "ввода.\n"
 "\n"
 
+#, c-format
+#~ msgid ""
+#~ "query produced null referenced table name for foreign key trigger \"%s\" "
+#~ "on table \"%s\" (OID of table: %u)"
+#~ msgstr ""
+#~ "запрос выдал NULL вместо имени целевой таблицы для триггера внешнего "
+#~ "ключа \"%s\" в таблице \"%s\" (OID целевой таблицы: %u)"
+
+#, c-format
+#~ msgid "unexpected tgtype value: %d"
+#~ msgstr "неожиданное значение tgtype: %d"
+
+#, c-format
+#~ msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\""
+#~ msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\""
+
 #, c-format
 #~ msgid "unrecognized collation provider '%c'"
 #~ msgstr "нераспознанный провайдер правил сортировки '%c'"
@@ -3463,9 +3673,6 @@ msgstr ""
 #~ msgid "could not write to custom output routine\n"
 #~ msgstr "не удалось вывести данную в пользовательскую процедуру\n"
 
-#~ msgid "unexpected end of file\n"
-#~ msgstr "неожиданный конец файла\n"
-
 #~ msgid "could not write byte: %s\n"
 #~ msgstr "не удалось записать байт: %s\n"
 
index 5f012f91f91b10d4dd3ec6507bb02c510c975c1a..c26776baad267e24056f57688d7a19cc0e5ed9ff 100644 (file)
@@ -5,13 +5,13 @@
 # Oleg Bartunov <oleg@sai.msu.su>, 2004.
 # Sergey Burladyan <eshkinkot@gmail.com>, 2009.
 # Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_resetxlog (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-09-11 15:31+0300\n"
-"PO-Revision-Date: 2023-09-11 16:14+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-05 12:19+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -41,6 +41,107 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525
+#: pg_resetwal.c:573
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:119
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных."
+
+#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70
+#: ../../common/file_utils.c:347 ../../common/file_utils.c:406
+#: ../../common/file_utils.c:480 pg_resetwal.c:1134
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: ../../common/restricted_token.c:60
 #, c-format
 msgid "could not open process token: error code %lu"
@@ -71,160 +172,170 @@ msgstr "не удалось перезапуститься с ограничен
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
 
+#: ../../fe_utils/option_utils.c:69
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "неверное значение \"%s\" для параметра %s"
+
+#: ../../fe_utils/option_utils.c:76
+#, c-format
+msgid "%s must be in range %d..%d"
+msgstr "значение %s должно быть в диапазоне %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
 #. translator: the second %s is a command line argument (-e, etc)
-#: pg_resetwal.c:163 pg_resetwal.c:176 pg_resetwal.c:189 pg_resetwal.c:202
-#: pg_resetwal.c:209 pg_resetwal.c:228 pg_resetwal.c:241 pg_resetwal.c:249
-#: pg_resetwal.c:269 pg_resetwal.c:280
+#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203
+#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250
+#: pg_resetwal.c:270 pg_resetwal.c:281
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "недопустимый аргумент параметра %s"
 
-#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203
-#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250
-#: pg_resetwal.c:270 pg_resetwal.c:281 pg_resetwal.c:303 pg_resetwal.c:316
-#: pg_resetwal.c:323
+#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204
+#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251
+#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320
+#: pg_resetwal.c:327
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_resetwal.c:168
+#: pg_resetwal.c:169
 #, c-format
 msgid "transaction ID epoch (-e) must not be -1"
 msgstr "эпоха ID транзакции (-e) не должна быть равна -1"
 
-#: pg_resetwal.c:181
+#: pg_resetwal.c:182
 #, c-format
 msgid "oldest transaction ID (-u) must be greater than or equal to %u"
 msgstr "ID старейшей транзакции (-u) должен быть больше или равен %u"
 
-#: pg_resetwal.c:194
+#: pg_resetwal.c:195
 #, c-format
 msgid "transaction ID (-x) must be greater than or equal to %u"
 msgstr "ID транзакции (-x) должен быть больше или равен %u"
 
-#: pg_resetwal.c:216 pg_resetwal.c:220
+#: pg_resetwal.c:217 pg_resetwal.c:221
 #, c-format
-msgid "transaction ID (-c) must be either 0 or greater than or equal to 2"
-msgstr "ID транзакции (-c) должен быть равен 0, либо больше или равен 2"
+msgid "transaction ID (-c) must be either %u or greater than or equal to %u"
+msgstr "ID транзакции (-c) должен быть равен %u, либо больше или равен %u"
 
-#: pg_resetwal.c:233
+#: pg_resetwal.c:234
 #, c-format
 msgid "OID (-o) must not be 0"
 msgstr "OID (-o) не должен быть равен 0"
 
-#: pg_resetwal.c:254
+#: pg_resetwal.c:255
 #, c-format
 msgid "multitransaction ID (-m) must not be 0"
 msgstr "ID мультитранзакции (-m) не должен быть равен 0"
 
-#: pg_resetwal.c:261
+#: pg_resetwal.c:262
 #, c-format
 msgid "oldest multitransaction ID (-m) must not be 0"
 msgstr "ID старейшей мультитранзакции (-m) не должен быть равен 0"
 
-#: pg_resetwal.c:274
+#: pg_resetwal.c:275
 #, c-format
 msgid "multitransaction offset (-O) must not be -1"
 msgstr "смещение мультитранзакции (-O) не должно быть равно -1"
 
-#: pg_resetwal.c:296
+#: pg_resetwal.c:301
 #, c-format
-msgid "argument of --wal-segsize must be a number"
-msgstr "аргументом --wal-segsize должно быть число"
+msgid "argument of %s must be a power of two between 1 and 1024"
+msgstr "аргументом %s должна быть степень двух от 1 до 1024"
 
-#: pg_resetwal.c:298
-#, c-format
-msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
-msgstr "аргументом --wal-segsize должна быть степень двух от 1 до 1024"
-
-#: pg_resetwal.c:314
+#: pg_resetwal.c:318
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_resetwal.c:322
+#: pg_resetwal.c:326
 #, c-format
 msgid "no data directory specified"
 msgstr "каталог данных не указан"
 
-#: pg_resetwal.c:336
+#: pg_resetwal.c:340
 #, c-format
 msgid "cannot be executed by \"root\""
 msgstr "программу не должен запускать root"
 
-#: pg_resetwal.c:337
+#: pg_resetwal.c:341
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser."
 msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL."
 
-#: pg_resetwal.c:347
+#: pg_resetwal.c:351
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
-msgstr "не удалось считать права на каталог \"%s\": %m"
+msgstr "не удалось прочитать права на каталог \"%s\": %m"
 
-#: pg_resetwal.c:353
+#: pg_resetwal.c:357
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "не удалось перейти в каталог \"%s\": %m"
 
-#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "не удалось открыть файл \"%s\" для чтения: %m"
-
-#: pg_resetwal.c:371
+#: pg_resetwal.c:375
 #, c-format
 msgid "lock file \"%s\" exists"
 msgstr "файл блокировки \"%s\" существует"
 
-#: pg_resetwal.c:372
+#: pg_resetwal.c:376
 #, c-format
 msgid "Is a server running?  If not, delete the lock file and try again."
 msgstr ""
 "Возможно, сервер запущен? Если нет, удалите этот файл и попробуйте снова."
 
-#: pg_resetwal.c:467
+#: pg_resetwal.c:475
 #, c-format
-msgid ""
-"\n"
-"If these values seem acceptable, use -f to force reset.\n"
+msgid "not proceeding because control file values were guessed"
 msgstr ""
-"\n"
-"Если эти значения приемлемы, выполните сброс принудительно, добавив ключ -"
-"f.\n"
+"выполнение прервано, так как значения из контрольного файла являются "
+"предполагаемыми"
 
-#: pg_resetwal.c:479
+#: pg_resetwal.c:476
 #, c-format
-msgid ""
-"The database server was not shut down cleanly.\n"
-"Resetting the write-ahead log might cause data to be lost.\n"
-"If you want to proceed anyway, use -f to force reset.\n"
+msgid "If these values seem acceptable, use -f to force reset."
+msgstr ""
+"Если эти значения всё же приемлемы, выполните сброс принудительно, добавив "
+"ключ -f."
+
+#: pg_resetwal.c:485
+#, c-format
+msgid "database server was not shut down cleanly"
+msgstr "сервер баз данных не был остановлен штатно"
+
+#: pg_resetwal.c:486
+#, c-format
+msgid "Resetting the write-ahead log might cause data to be lost."
+msgstr "Сброс журнала предзаписи может привести к потере данных."
+
+#: pg_resetwal.c:487
+#, c-format
+msgid "If you want to proceed anyway, use -f to force reset."
 msgstr ""
-"Сервер баз данных был остановлен некорректно.\n"
-"Сброс журнала предзаписи может привести к потере данных.\n"
-"Если вы хотите сбросить его, несмотря на это, добавьте ключ -f.\n"
+"Если вы всё же хотите продолжить, выполните сброс принудительно, добавив "
+"ключ -f."
 
-#: pg_resetwal.c:493
+#: pg_resetwal.c:500
 #, c-format
 msgid "Write-ahead log reset\n"
 msgstr "Журнал предзаписи сброшен\n"
 
-#: pg_resetwal.c:525
+#: pg_resetwal.c:532
 #, c-format
 msgid "unexpected empty file \"%s\""
 msgstr "файл \"%s\" оказался пустым"
 
-#: pg_resetwal.c:527 pg_resetwal.c:581
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "не удалось прочитать файл \"%s\": %m"
-
-#: pg_resetwal.c:535
+#: pg_resetwal.c:542
 #, c-format
 msgid "data directory is of wrong version"
 msgstr "каталог данных имеет неверную версию"
 
-#: pg_resetwal.c:536
+#: pg_resetwal.c:543
 #, c-format
 msgid ""
 "File \"%s\" contains \"%s\", which is not compatible with this program's "
@@ -232,7 +343,7 @@ msgid ""
 msgstr ""
 "Файл \"%s\" содержит строку \"%s\", а ожидается версия программы \"%s\"."
 
-#: pg_resetwal.c:569
+#: pg_resetwal.c:576
 #, c-format
 msgid ""
 "If you are sure the data directory path is correct, execute\n"
@@ -243,14 +354,14 @@ msgstr ""
 "  touch %s\n"
 "и повторите попытку."
 
-#: pg_resetwal.c:597
+#: pg_resetwal.c:604
 #, c-format
 msgid "pg_control exists but has invalid CRC; proceed with caution"
 msgstr ""
 "pg_control существует, но его контрольная сумма неверна; продолжайте с "
 "осторожностью"
 
-#: pg_resetwal.c:606
+#: pg_resetwal.c:613
 #, c-format
 msgid ""
 "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
@@ -267,14 +378,14 @@ msgstr[2] ""
 "в pg_control указан некорректный размер сегмента WAL (%d Б); продолжайте с "
 "осторожностью"
 
-#: pg_resetwal.c:617
+#: pg_resetwal.c:624
 #, c-format
 msgid "pg_control exists but is broken or wrong version; ignoring it"
 msgstr ""
 "pg_control испорчен или имеет неизвестную либо недопустимую версию; "
 "игнорируется..."
 
-#: pg_resetwal.c:712
+#: pg_resetwal.c:719
 #, c-format
 msgid ""
 "Guessed pg_control values:\n"
@@ -283,7 +394,7 @@ msgstr ""
 "Предполагаемые значения pg_control:\n"
 "\n"
 
-#: pg_resetwal.c:714
+#: pg_resetwal.c:721
 #, c-format
 msgid ""
 "Current pg_control values:\n"
@@ -292,181 +403,181 @@ msgstr ""
 "Текущие значения pg_control:\n"
 "\n"
 
-#: pg_resetwal.c:716
+#: pg_resetwal.c:723
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "Номер версии pg_control:              %u\n"
 
-#: pg_resetwal.c:718
+#: pg_resetwal.c:725
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Номер версии каталога:                %u\n"
 
-#: pg_resetwal.c:720
+#: pg_resetwal.c:727
 #, c-format
 msgid "Database system identifier:           %llu\n"
 msgstr "Идентификатор системы баз данных:     %llu\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:722
+#: pg_resetwal.c:729
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "Линия времени последней конт. точки:  %u\n"
 
 # skip-rule: no-space-after-period
-#: pg_resetwal.c:724
+#: pg_resetwal.c:731
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "Режим full_page_writes последней к.т: %s\n"
 
-#: pg_resetwal.c:725
+#: pg_resetwal.c:732
 msgid "off"
 msgstr "выкл."
 
-#: pg_resetwal.c:725
+#: pg_resetwal.c:732
 msgid "on"
 msgstr "вкл."
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:726
+#: pg_resetwal.c:733
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
 msgstr "NextXID последней конт. точки:        %u:%u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:729
+#: pg_resetwal.c:736
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "NextOID последней конт. точки:        %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:731
+#: pg_resetwal.c:738
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "NextMultiXactId послед. конт. точки:  %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:733
+#: pg_resetwal.c:740
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "NextMultiOffset послед. конт. точки:  %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:735
+#: pg_resetwal.c:742
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "oldestXID последней конт. точки:      %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:737
+#: pg_resetwal.c:744
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "БД с oldestXID последней конт. точки: %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:739
+#: pg_resetwal.c:746
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
 msgstr "oldestActiveXID последней к. т.:      %u\n"
 
 # skip-rule: capital-letter-first
-#: pg_resetwal.c:741
+#: pg_resetwal.c:748
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
 msgstr "oldestMultiXid последней конт. точки: %u\n"
 
 # skip-rule: capital-letter-first, double-space
-#: pg_resetwal.c:743
+#: pg_resetwal.c:750
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "БД с oldestMulti последней к. т.:     %u\n"
 
 # skip-rule: capital-letter-first, double-space
-#: pg_resetwal.c:745
+#: pg_resetwal.c:752
 #, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
 msgstr "oldestCommitTsXid последней к. т.:    %u\n"
 
 # skip-rule: capital-letter-first, double-space
-#: pg_resetwal.c:747
+#: pg_resetwal.c:754
 #, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
 msgstr "newestCommitTsXid последней к. т.:    %u\n"
 
-#: pg_resetwal.c:749
+#: pg_resetwal.c:756
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "Макс. предел выравнивания данных:     %u\n"
 
-#: pg_resetwal.c:752
+#: pg_resetwal.c:759
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "Размер блока БД:                      %u\n"
 
 # skip-rule: double-space
-#: pg_resetwal.c:754
+#: pg_resetwal.c:761
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "Блоков в макс. сегменте отношений:    %u\n"
 
-#: pg_resetwal.c:756
+#: pg_resetwal.c:763
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "Размер блока WAL:                     %u\n"
 
-#: pg_resetwal.c:758 pg_resetwal.c:844
+#: pg_resetwal.c:765 pg_resetwal.c:851
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "Байт в сегменте WAL:                  %u\n"
 
-#: pg_resetwal.c:760
+#: pg_resetwal.c:767
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "Максимальная длина идентификаторов:   %u\n"
 
-#: pg_resetwal.c:762
+#: pg_resetwal.c:769
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "Макс. число столбцов в индексе:       %u\n"
 
-#: pg_resetwal.c:764
+#: pg_resetwal.c:771
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "Максимальный размер порции TOAST:     %u\n"
 
-#: pg_resetwal.c:766
+#: pg_resetwal.c:773
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "Размер порции большого объекта:       %u\n"
 
-#: pg_resetwal.c:769
+#: pg_resetwal.c:776
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "Формат хранения даты/времени:         %s\n"
 
-#: pg_resetwal.c:770
+#: pg_resetwal.c:777
 msgid "64-bit integers"
 msgstr "64-битные целые"
 
-#: pg_resetwal.c:771
+#: pg_resetwal.c:778
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "Передача аргумента float8:            %s\n"
 
-#: pg_resetwal.c:772
+#: pg_resetwal.c:779
 msgid "by reference"
 msgstr "по ссылке"
 
-#: pg_resetwal.c:772
+#: pg_resetwal.c:779
 msgid "by value"
 msgstr "по значению"
 
-#: pg_resetwal.c:773
+#: pg_resetwal.c:780
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "Версия контрольных сумм страниц:      %u\n"
 
-#: pg_resetwal.c:787
+#: pg_resetwal.c:794
 #, c-format
 msgid ""
 "\n"
@@ -479,102 +590,82 @@ msgstr ""
 "Значения, которые будут изменены:\n"
 "\n"
 
-#: pg_resetwal.c:791
+#: pg_resetwal.c:798
 #, c-format
 msgid "First log segment after reset:        %s\n"
 msgstr "Первый сегмент журнала после сброса:  %s\n"
 
-#: pg_resetwal.c:795
+#: pg_resetwal.c:802
 #, c-format
 msgid "NextMultiXactId:                      %u\n"
 msgstr "NextMultiXactId:                      %u\n"
 
-#: pg_resetwal.c:797
+#: pg_resetwal.c:804
 #, c-format
 msgid "OldestMultiXid:                       %u\n"
 msgstr "OldestMultiXid:                       %u\n"
 
-#: pg_resetwal.c:799
+#: pg_resetwal.c:806
 #, c-format
 msgid "OldestMulti's DB:                     %u\n"
 msgstr "БД с oldestMultiXid:                  %u\n"
 
-#: pg_resetwal.c:805
+#: pg_resetwal.c:812
 #, c-format
 msgid "NextMultiOffset:                      %u\n"
 msgstr "NextMultiOffset:                      %u\n"
 
-#: pg_resetwal.c:811
+#: pg_resetwal.c:818
 #, c-format
 msgid "NextOID:                              %u\n"
 msgstr "NextOID:                              %u\n"
 
-#: pg_resetwal.c:817
+#: pg_resetwal.c:824
 #, c-format
 msgid "NextXID:                              %u\n"
 msgstr "NextXID:                              %u\n"
 
-#: pg_resetwal.c:819
+#: pg_resetwal.c:826
 #, c-format
 msgid "OldestXID:                            %u\n"
 msgstr "OldestXID:                            %u\n"
 
-#: pg_resetwal.c:821
+#: pg_resetwal.c:828
 #, c-format
 msgid "OldestXID's DB:                       %u\n"
 msgstr "БД с oldestXID:                       %u\n"
 
-#: pg_resetwal.c:827
+#: pg_resetwal.c:834
 #, c-format
 msgid "NextXID epoch:                        %u\n"
 msgstr "Эпоха NextXID:                        %u\n"
 
-#: pg_resetwal.c:833
+#: pg_resetwal.c:840
 #, c-format
 msgid "oldestCommitTsXid:                    %u\n"
 msgstr "oldestCommitTsXid:                    %u\n"
 
-#: pg_resetwal.c:838
+#: pg_resetwal.c:845
 #, c-format
 msgid "newestCommitTsXid:                    %u\n"
 msgstr "newestCommitTsXid:                    %u\n"
 
-#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "не удалось открыть каталог \"%s\": %m"
-
-#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "не удалось прочитать каталог \"%s\": %m"
-
-#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029
+#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "не удалось закрыть каталог \"%s\": %m"
 
-#: pg_resetwal.c:983 pg_resetwal.c:1021
+#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063
 #, c-format
 msgid "could not delete file \"%s\": %m"
 msgstr "ошибка удаления файла \"%s\": %m"
 
-#: pg_resetwal.c:1093
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
-
-#: pg_resetwal.c:1101 pg_resetwal.c:1113
-#, c-format
-msgid "could not write file \"%s\": %m"
-msgstr "не удалось записать файл \"%s\": %m"
-
-#: pg_resetwal.c:1118
+#: pg_resetwal.c:1159
 #, c-format
 msgid "fsync error: %m"
 msgstr "ошибка синхронизации с ФС: %m"
 
-#: pg_resetwal.c:1127
+#: pg_resetwal.c:1168
 #, c-format
 msgid ""
 "%s resets the PostgreSQL write-ahead log.\n"
@@ -583,23 +674,69 @@ msgstr ""
 "%s сбрасывает журнал предзаписи PostgreSQL.\n"
 "\n"
 
-#: pg_resetwal.c:1128
+#: pg_resetwal.c:1169
+#, c-format
+msgid "Usage:\n"
+msgstr "Использование:\n"
+
+#: pg_resetwal.c:1170
+#, c-format
+msgid "  %s [OPTION]... DATADIR\n"
+msgstr "  %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n"
+
+#: pg_resetwal.c:1172
 #, c-format
 msgid ""
-"Usage:\n"
-"  %s [OPTION]... DATADIR\n"
 "\n"
+"Options:\n"
 msgstr ""
-"Использование:\n"
-"  %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n"
 "\n"
+"Параметры:\n"
 
-#: pg_resetwal.c:1129
+#: pg_resetwal.c:1173
 #, c-format
-msgid "Options:\n"
-msgstr "Параметры:\n"
+msgid " [-D, --pgdata=]DATADIR  data directory\n"
+msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n"
 
-#: pg_resetwal.c:1130
+#: pg_resetwal.c:1174
+#, c-format
+msgid ""
+"  -f, --force            force update to be done even after unclean shutdown "
+"or\n"
+"                         if pg_control values had to be guessed\n"
+msgstr ""
+"  -f, --force            принудительно произвести изменения, даже в случае\n"
+"                         недостоверных значений pg_control или после "
+"нештатного\n"
+"                         отключения сервера\n"
+
+#: pg_resetwal.c:1176
+#, c-format
+msgid "  -n, --dry-run          no update, just show what would be done\n"
+msgstr ""
+"  -n, --dry-run          показать, какие действия будут выполнены, но не\n"
+"                         выполнять их\n"
+
+#: pg_resetwal.c:1177
+#, c-format
+msgid "  -V, --version          output version information, then exit\n"
+msgstr "  -V, --version          показать версию и выйти\n"
+
+#: pg_resetwal.c:1178
+#, c-format
+msgid "  -?, --help             show this help, then exit\n"
+msgstr "  -?, --help             показать эту справку и выйти\n"
+
+#: pg_resetwal.c:1180
+#, c-format
+msgid ""
+"\n"
+"Options to override control file values:\n"
+msgstr ""
+"\n"
+"Параметры, переопределяющие значения из контрольного файла:\n"
+
+#: pg_resetwal.c:1181
 #, c-format
 msgid ""
 "  -c, --commit-timestamp-ids=XID,XID\n"
@@ -611,24 +748,13 @@ msgstr ""
 "                                   задать старейшую и новейшую транзакции,\n"
 "                                   несущие метки времени (0 — не менять)\n"
 
-#: pg_resetwal.c:1133
-#, c-format
-msgid " [-D, --pgdata=]DATADIR            data directory\n"
-msgstr " [-D, --pgdata=]КАТ_ДАННЫХ         каталог данных\n"
-
-#: pg_resetwal.c:1134
+#: pg_resetwal.c:1184
 #, c-format
 msgid "  -e, --epoch=XIDEPOCH             set next transaction ID epoch\n"
 msgstr ""
 "  -e, --epoch=XIDEPOCH             задать эпоху для ID следующей транзакции\n"
 
-#: pg_resetwal.c:1135
-#, c-format
-msgid "  -f, --force                      force update to be done\n"
-msgstr ""
-"  -f, --force                      принудительное выполнение операции\n"
-
-#: pg_resetwal.c:1136
+#: pg_resetwal.c:1185
 #, c-format
 msgid ""
 "  -l, --next-wal-file=WALFILE      set minimum starting location for new "
@@ -637,7 +763,7 @@ msgstr ""
 "  -l, --next-wal-file=ФАЙЛ_WAL     задать минимальное начальное положение\n"
 "                                   для нового WAL\n"
 
-#: pg_resetwal.c:1137
+#: pg_resetwal.c:1186
 #, c-format
 msgid ""
 "  -m, --multixact-ids=MXID,MXID    set next and oldest multitransaction ID\n"
@@ -645,55 +771,35 @@ msgstr ""
 "  -m, --multixact-ids=MXID,MXID    задать ID следующей и старейшей\n"
 "                                   мультитранзакции\n"
 
-#: pg_resetwal.c:1138
-#, c-format
-msgid ""
-"  -n, --dry-run                    no update, just show what would be done\n"
-msgstr ""
-"  -n, --dry-run                    показать, какие действия будут "
-"выполнены,\n"
-"                                   но не выполнять их\n"
-
-#: pg_resetwal.c:1139
+#: pg_resetwal.c:1187
 #, c-format
 msgid "  -o, --next-oid=OID               set next OID\n"
 msgstr "  -o, --next-oid=OID               задать следующий OID\n"
 
-#: pg_resetwal.c:1140
+#: pg_resetwal.c:1188
 #, c-format
 msgid "  -O, --multixact-offset=OFFSET    set next multitransaction offset\n"
 msgstr ""
 "  -O, --multixact-offset=СМЕЩЕНИЕ  задать смещение следующей "
 "мультитранзакции\n"
 
-#: pg_resetwal.c:1141
+#: pg_resetwal.c:1189
 #, c-format
 msgid "  -u, --oldest-transaction-id=XID  set oldest transaction ID\n"
 msgstr "  -u, --oldest-transaction-id=XID  задать ID старейшей ID\n"
 
-#: pg_resetwal.c:1142
-#, c-format
-msgid ""
-"  -V, --version                    output version information, then exit\n"
-msgstr "  -V, --version                    показать версию и выйти\n"
-
-#: pg_resetwal.c:1143
+#: pg_resetwal.c:1190
 #, c-format
 msgid "  -x, --next-transaction-id=XID    set next transaction ID\n"
 msgstr "  -x, --next-transaction-id=XID    задать ID следующей транзакции\n"
 
-#: pg_resetwal.c:1144
+#: pg_resetwal.c:1191
 #, c-format
 msgid "      --wal-segsize=SIZE           size of WAL segments, in megabytes\n"
 msgstr ""
 "      --wal-segsize=РАЗМЕР         размер сегментов WAL (в мегабайтах)\n"
 
-#: pg_resetwal.c:1145
-#, c-format
-msgid "  -?, --help                       show this help, then exit\n"
-msgstr "  -?, --help                       показать эту справку и выйти\n"
-
-#: pg_resetwal.c:1146
+#: pg_resetwal.c:1193
 #, c-format
 msgid ""
 "\n"
@@ -702,11 +808,30 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_resetwal.c:1147
+#: pg_resetwal.c:1194
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
+#, c-format
+#~ msgid "argument of --wal-segsize must be a number"
+#~ msgstr "аргументом --wal-segsize должно быть число"
+
+#, c-format
+#~ msgid ""
+#~ "The database server was not shut down cleanly.\n"
+#~ "Resetting the write-ahead log might cause data to be lost.\n"
+#~ "If you want to proceed anyway, use -f to force reset.\n"
+#~ msgstr ""
+#~ "Сервер баз данных был остановлен некорректно.\n"
+#~ "Сброс журнала предзаписи может привести к потере данных.\n"
+#~ "Если вы хотите сбросить его, несмотря на это, добавьте ключ -f.\n"
+
+#, c-format
+#~ msgid "  -f, --force                      force update to be done\n"
+#~ msgstr ""
+#~ "  -f, --force                      принудительное выполнение операции\n"
+
 #, c-format
 #~ msgid "could not load library \"%s\": error code %lu"
 #~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)"
index 8a705d2d1f07661d987184ea9a64353e1e1eb600..7b2df3140d178710f6532a7897637c5b9bdabc39 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_rewind
 # Copyright (C) 2015-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2023-08-30 15:22+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 13:07+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -37,6 +37,65 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104
+#: local_source.c:163 parsexlog.c:350
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#: local_source.c:121 local_source.c:172
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных."
+
+#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70
+#: ../../common/file_utils.c:347 ../../common/file_utils.c:406
+#: ../../common/file_utils.c:480 ../../fe_utils/recovery_gen.c:140
+#: parsexlog.c:312
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:249 file_ops.c:117
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -48,6 +107,38 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#: ../../fe_utils/archive.c:86 file_ops.c:417
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
@@ -103,43 +194,61 @@ msgstr "неподходящий размер файла \"%s\": %lld вмест
 msgid "could not open file \"%s\" restored from archive: %m"
 msgstr "не удалось открыть файл \"%s\", восстановленный из архива: %m"
 
-#: ../../fe_utils/archive.c:86 file_ops.c:417
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "не удалось получить информацию о файле \"%s\": %m"
-
 #: ../../fe_utils/archive.c:98
 #, c-format
-msgid "restore_command failed: %s"
-msgstr "ошибка при выполнении restore_command: %s"
+msgid "\"restore_command\" failed: %s"
+msgstr "ошибка при выполнении \"restore_command\": %s"
 
 #: ../../fe_utils/archive.c:105
 #, c-format
 msgid "could not restore file \"%s\" from archive"
 msgstr "восстановить файл \"%s\" из архива не удалось"
 
-#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45
-#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90
-#: ../../fe_utils/recovery_gen.c:149
+#: ../../fe_utils/option_utils.c:69
 #, c-format
-msgid "out of memory"
-msgstr "нехватка памяти"
+msgid "invalid value \"%s\" for option %s"
+msgstr "неверное значение \"%s\" для параметра %s"
 
-#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312
+#: ../../fe_utils/option_utils.c:76
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
+msgid "%s must be in range %d..%d"
+msgstr "значение %s должно быть в диапазоне %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
+#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50
+#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109
+#: ../../fe_utils/recovery_gen.c:168
+#, c-format
+msgid "out of memory"
+msgstr "нехватка памяти"
 
-#: ../../fe_utils/recovery_gen.c:124
+#: ../../fe_utils/recovery_gen.c:143
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "не удалось записать в файл \"%s\": %m"
 
-#: ../../fe_utils/recovery_gen.c:133
+#: ../../fe_utils/recovery_gen.c:152
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
 #: file_ops.c:67
 #, c-format
 msgid "could not open target file \"%s\": %m"
@@ -155,11 +264,6 @@ msgstr "не удалось закрыть целевой файл \"%s\": %m"
 msgid "could not seek in target file \"%s\": %m"
 msgstr "не удалось переместиться в целевом файле \"%s\": %m"
 
-#: file_ops.c:117
-#, c-format
-msgid "could not write file \"%s\": %m"
-msgstr "не удалось записать файл \"%s\": %m"
-
 #: file_ops.c:150 file_ops.c:177
 #, c-format
 msgid "undefined file type for \"%s\""
@@ -205,26 +309,6 @@ msgstr "не удалось создать символическую ссылк
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "ошибка при удалении символической ссылки \"%s\": %m"
 
-#: file_ops.c:326 file_ops.c:330
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "не удалось открыть файл \"%s\" для чтения: %m"
-
-#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "не удалось прочитать файл \"%s\": %m"
-
-#: file_ops.c:344 parsexlog.c:352
-#, c-format
-msgid "could not read file \"%s\": read %d of %zu"
-msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
-
-#: file_ops.c:388
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "не удалось открыть каталог \"%s\": %m"
-
 #: file_ops.c:441
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
@@ -235,118 +319,113 @@ msgstr "не удалось прочитать символическую ссы
 msgid "symbolic link \"%s\" target is too long"
 msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
 
-#: file_ops.c:462
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "не удалось прочитать каталог \"%s\": %m"
-
 #: file_ops.c:466
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "не удалось закрыть каталог \"%s\": %m"
 
-#: filemap.c:236
+#: filemap.c:235
 #, c-format
 msgid "data file \"%s\" in source is not a regular file"
 msgstr "файл данных \"%s\" в источнике не является обычным файлом"
 
-#: filemap.c:241 filemap.c:274
+#: filemap.c:240 filemap.c:273
 #, c-format
 msgid "duplicate source file \"%s\""
 msgstr "повторный исходный файл \"%s\""
 
-#: filemap.c:329
+#: filemap.c:328
 #, c-format
 msgid "unexpected page modification for non-regular file \"%s\""
 msgstr "неожиданная модификация страницы для файла особого вида \"%s\""
 
-#: filemap.c:683 filemap.c:777
+#: filemap.c:682 filemap.c:776
 #, c-format
 msgid "unknown file type for \"%s\""
 msgstr "неизвестный тип файла \"%s\""
 
-#: filemap.c:710
+#: filemap.c:709
 #, c-format
 msgid "file \"%s\" is of different type in source and target"
 msgstr "файл \"%s\" имеет разный тип в исходном и целевом кластере"
 
-#: filemap.c:782
+#: filemap.c:781
 #, c-format
 msgid "could not decide what to do with file \"%s\""
 msgstr "не удалось определить, что делать с файлом \"%s\""
 
-#: libpq_source.c:130
+#: libpq_source.c:131
 #, c-format
-msgid "could not clear search_path: %s"
-msgstr "не удалось очистить search_path: %s"
+msgid "could not clear \"search_path\": %s"
+msgstr "не удалось очистить \"search_path\": %s"
 
-#: libpq_source.c:141
+#: libpq_source.c:142
 #, c-format
-msgid "full_page_writes must be enabled in the source server"
-msgstr "на исходном сервере должен быть включён режим full_page_writes"
+msgid "\"full_page_writes\" must be enabled in the source server"
+msgstr "на исходном сервере должен быть включён режим \"full_page_writes\""
 
-#: libpq_source.c:152
+#: libpq_source.c:153
 #, c-format
 msgid "could not prepare statement to fetch file contents: %s"
 msgstr "не удалось подготовить оператор для извлечения содержимого файла: %s"
 
-#: libpq_source.c:171
+#: libpq_source.c:172
 #, c-format
 msgid "error running query (%s) on source server: %s"
 msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s"
 
-#: libpq_source.c:176
+#: libpq_source.c:177
 #, c-format
 msgid "unexpected result set from query"
 msgstr "неожиданный результат запроса"
 
-#: libpq_source.c:198
+#: libpq_source.c:199
 #, c-format
 msgid "error running query (%s) in source server: %s"
 msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s"
 
-#: libpq_source.c:219
+#: libpq_source.c:220
 #, c-format
 msgid "unrecognized result \"%s\" for current WAL insert location"
 msgstr ""
 "нераспознанный результат \"%s\" вместо текущей позиции добавления в WAL"
 
-#: libpq_source.c:270
+#: libpq_source.c:271
 #, c-format
 msgid "could not fetch file list: %s"
 msgstr "не удалось получить список файлов: %s"
 
-#: libpq_source.c:275
+#: libpq_source.c:276
 #, c-format
 msgid "unexpected result set while fetching file list"
 msgstr "неожиданный результат при получении списка файлов"
 
-#: libpq_source.c:467
+#: libpq_source.c:477
 #, c-format
 msgid "could not send query: %s"
 msgstr "не удалось отправить запрос: %s"
 
-#: libpq_source.c:470
+#: libpq_source.c:480
 #, c-format
 msgid "could not set libpq connection to single row mode"
 msgstr "не удалось перевести подключение libpq в однострочный режим"
 
-#: libpq_source.c:500
+#: libpq_source.c:510
 #, c-format
 msgid "unexpected result while fetching remote files: %s"
 msgstr "неожиданный результат при получении файлов с сервера: %s"
 
-#: libpq_source.c:505
+#: libpq_source.c:515
 #, c-format
 msgid "received more data chunks than requested"
 msgstr "получено больше сегментов данных, чем запрошено"
 
-#: libpq_source.c:509
+#: libpq_source.c:519
 #, c-format
 msgid "unexpected result set size while fetching remote files"
 msgstr "неожиданный размер набора результатов при получении файлов с сервера"
 
-#: libpq_source.c:515
+#: libpq_source.c:525
 #, c-format
 msgid ""
 "unexpected data types in result set while fetching remote files: %u %u %u"
@@ -354,27 +433,27 @@ msgstr ""
 "неожиданные типы данных в наборе результатов при получении файлов с сервера: "
 "%u %u %u"
 
-#: libpq_source.c:523
+#: libpq_source.c:533
 #, c-format
 msgid "unexpected result format while fetching remote files"
 msgstr "неожиданный формат результата при получении файлов с сервера"
 
-#: libpq_source.c:529
+#: libpq_source.c:539
 #, c-format
 msgid "unexpected null values in result while fetching remote files"
 msgstr "неожиданные значения NULL в результате при получении файлов с сервера"
 
-#: libpq_source.c:533
+#: libpq_source.c:543
 #, c-format
 msgid "unexpected result length while fetching remote files"
 msgstr "неожиданная длина результата при получении файлов с сервера"
 
-#: libpq_source.c:566
+#: libpq_source.c:576
 #, c-format
 msgid "received data for file \"%s\", when requested for \"%s\""
 msgstr "получены данные для файла \"%s\", а запрашивались данные для \"%s\""
 
-#: libpq_source.c:570
+#: libpq_source.c:580
 #, c-format
 msgid ""
 "received data at offset %lld of file \"%s\", when requested for offset %lld"
@@ -382,22 +461,22 @@ msgstr ""
 "получены данные по смещению %lld в файле \"%s\", а запрашивались по смещению "
 "%lld"
 
-#: libpq_source.c:582
+#: libpq_source.c:592
 #, c-format
 msgid "received more than requested for file \"%s\""
 msgstr "получено больше данных, чем запрошено для файла \"%s\""
 
-#: libpq_source.c:595
+#: libpq_source.c:605
 #, c-format
 msgid "unexpected number of data chunks received"
 msgstr "получено неожиданное количество сегментов данных"
 
-#: libpq_source.c:638
+#: libpq_source.c:648
 #, c-format
 msgid "could not fetch remote file \"%s\": %s"
 msgstr "не удалось получить с сервера файл \"%s\": %s"
 
-#: libpq_source.c:643
+#: libpq_source.c:653
 #, c-format
 msgid "unexpected result set while fetching remote file \"%s\""
 msgstr "неожиданный набор результатов при получении файла \"%s\" с сервера"
@@ -414,11 +493,6 @@ msgid ""
 msgstr ""
 "размер исходного файла \"%s\" изменился, ожидалось байт: %d, скопировано: %d"
 
-#: local_source.c:121 local_source.c:172
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "не удалось закрыть файл \"%s\": %m"
-
 #: local_source.c:146
 #, c-format
 msgid "could not seek in source file: %m"
@@ -474,7 +548,7 @@ msgstr ""
 "Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%X, "
 "rmid: %d, rmgr: %s, info: %02X"
 
-#: pg_rewind.c:92
+#: pg_rewind.c:94
 #, c-format
 msgid ""
 "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
@@ -483,7 +557,7 @@ msgstr ""
 "%s синхронизирует кластер PostgreSQL с другой копией кластера.\n"
 "\n"
 
-#: pg_rewind.c:93
+#: pg_rewind.c:95
 #, c-format
 msgid ""
 "Usage:\n"
@@ -494,30 +568,31 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: pg_rewind.c:94
+#: pg_rewind.c:96
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: pg_rewind.c:95
+#: pg_rewind.c:97
 #, c-format
 msgid ""
-"  -c, --restore-target-wal       use restore_command in target configuration "
-"to\n"
+"  -c, --restore-target-wal       use \"restore_command\" in target "
+"configuration to\n"
 "                                 retrieve WAL files from archives\n"
 msgstr ""
 "  -c, --restore-target-wal       использовать для получения файлов WAL из\n"
-"                                 архива команду restore_command из целевой\n"
+"                                 архивов команду \"restore_command\" из "
+"целевой\n"
 "                                 конфигурации\n"
 
-#: pg_rewind.c:97
+#: pg_rewind.c:99
 #, c-format
 msgid "  -D, --target-pgdata=DIRECTORY  existing data directory to modify\n"
 msgstr ""
 "  -D, --target-pgdata=КАТАЛОГ    существующий каталог, куда будут записаны "
 "данные\n"
 
-#: pg_rewind.c:98
+#: pg_rewind.c:100
 #, c-format
 msgid ""
 "      --source-pgdata=DIRECTORY  source data directory to synchronize with\n"
@@ -526,21 +601,21 @@ msgstr ""
 "синхронизация\n"
 
 # well-spelled: ПОДКЛ
-#: pg_rewind.c:99
+#: pg_rewind.c:101
 #, c-format
 msgid "      --source-server=CONNSTR    source server to synchronize with\n"
 msgstr ""
 "      --source-server=СТР_ПОДКЛ  сервер, с которым будет проведена "
 "синхронизация\n"
 
-#: pg_rewind.c:100
+#: pg_rewind.c:102
 #, c-format
 msgid "  -n, --dry-run                  stop before modifying anything\n"
 msgstr ""
 "  -n, --dry-run                  остановиться до внесения каких-либо "
 "изменений\n"
 
-#: pg_rewind.c:101
+#: pg_rewind.c:103
 #, c-format
 msgid ""
 "  -N, --no-sync                  do not wait for changes to be written\n"
@@ -549,12 +624,12 @@ msgstr ""
 "  -N, --no-sync                  не ждать завершения сохранения данных на "
 "диске\n"
 
-#: pg_rewind.c:103
+#: pg_rewind.c:105
 #, c-format
 msgid "  -P, --progress                 write progress messages\n"
 msgstr "  -P, --progress                 выводить сообщения о ходе процесса\n"
 
-#: pg_rewind.c:104
+#: pg_rewind.c:106
 #, c-format
 msgid ""
 "  -R, --write-recovery-conf      write configuration for replication\n"
@@ -563,7 +638,7 @@ msgstr ""
 "  -R, --write-recovery-conf      записать конфигурацию для репликации\n"
 "                                 (требуется указание --source-server)\n"
 
-#: pg_rewind.c:106
+#: pg_rewind.c:108
 #, c-format
 msgid ""
 "      --config-file=FILENAME     use specified main server configuration\n"
@@ -573,13 +648,13 @@ msgstr ""
 "                                 конфигурации сервера при запуске целевого\n"
 "                                 кластера\n"
 
-#: pg_rewind.c:108
+#: pg_rewind.c:110
 #, c-format
 msgid "      --debug                    write a lot of debug messages\n"
 msgstr ""
 "      --debug                    выдавать множество отладочных сообщений\n"
 
-#: pg_rewind.c:109
+#: pg_rewind.c:111
 #, c-format
 msgid ""
 "      --no-ensure-shutdown       do not automatically fix unclean shutdown\n"
@@ -587,18 +662,23 @@ msgstr ""
 "      --no-ensure-shutdown       не исправлять автоматически состояние,\n"
 "                                 возникающее при нештатном отключении\n"
 
-#: pg_rewind.c:110
+#: pg_rewind.c:112
+#, c-format
+msgid "      --sync-method=METHOD       set method for syncing files to disk\n"
+msgstr "      --sync-method=МЕТОД        метод синхронизации файлов с ФС\n"
+
+#: pg_rewind.c:113
 #, c-format
 msgid ""
 "  -V, --version                  output version information, then exit\n"
 msgstr "  -V, --version                  показать версию и выйти\n"
 
-#: pg_rewind.c:111
+#: pg_rewind.c:114
 #, c-format
 msgid "  -?, --help                     show this help, then exit\n"
 msgstr "  -?, --help                     показать эту справку и выйти\n"
 
-#: pg_rewind.c:112
+#: pg_rewind.c:115
 #, c-format
 msgid ""
 "\n"
@@ -607,33 +687,33 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_rewind.c:113
+#: pg_rewind.c:116
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245
-#: pg_rewind.c:252 pg_rewind.c:260
+#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254
+#: pg_rewind.c:261 pg_rewind.c:269
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_rewind.c:230
+#: pg_rewind.c:239
 #, c-format
 msgid "no source specified (--source-pgdata or --source-server)"
 msgstr "источник не указан (требуется --source-pgdata или --source-server)"
 
-#: pg_rewind.c:237
+#: pg_rewind.c:246
 #, c-format
 msgid "only one of --source-pgdata or --source-server can be specified"
 msgstr "указать можно только --source-pgdata либо --source-server"
 
-#: pg_rewind.c:244
+#: pg_rewind.c:253
 #, c-format
 msgid "no target data directory specified (--target-pgdata)"
 msgstr "целевой каталог данных не указан (--target-pgdata)"
 
-#: pg_rewind.c:251
+#: pg_rewind.c:260
 #, c-format
 msgid ""
 "no source server information (--source-server) specified for --write-"
@@ -642,119 +722,119 @@ msgstr ""
 "отсутствует информация об исходном сервере (--source-server) для --write-"
 "recovery-conf"
 
-#: pg_rewind.c:258
+#: pg_rewind.c:267
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_rewind.c:273
+#: pg_rewind.c:282
 #, c-format
 msgid "cannot be executed by \"root\""
 msgstr "программу не должен запускать root"
 
-#: pg_rewind.c:274
+#: pg_rewind.c:283
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser."
 msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL."
 
-#: pg_rewind.c:284
+#: pg_rewind.c:293
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
-msgstr "не удалось считать права на каталог \"%s\": %m"
+msgstr "не удалось прочитать права на каталог \"%s\": %m"
 
-#: pg_rewind.c:302
+#: pg_rewind.c:311
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_rewind.c:305
+#: pg_rewind.c:314
 #, c-format
 msgid "connected to server"
 msgstr "подключение к серверу установлено"
 
-#: pg_rewind.c:366
+#: pg_rewind.c:375
 #, c-format
 msgid "source and target cluster are on the same timeline"
 msgstr "исходный и целевой кластер уже на одной линии времени"
 
-#: pg_rewind.c:387
+#: pg_rewind.c:396
 #, c-format
 msgid "servers diverged at WAL location %X/%X on timeline %u"
 msgstr "серверы разошлись в позиции WAL %X/%X на линии времени %u"
 
-#: pg_rewind.c:442
+#: pg_rewind.c:451
 #, c-format
 msgid "no rewind required"
 msgstr "перемотка не требуется"
 
-#: pg_rewind.c:451
+#: pg_rewind.c:460
 #, c-format
 msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
 msgstr ""
 "перемотка от последней общей контрольной точки в позиции %X/%X на линии "
 "времени %u"
 
-#: pg_rewind.c:461
+#: pg_rewind.c:470
 #, c-format
 msgid "reading source file list"
 msgstr "чтение списка исходных файлов"
 
-#: pg_rewind.c:465
+#: pg_rewind.c:474
 #, c-format
 msgid "reading target file list"
 msgstr "чтение списка целевых файлов"
 
-#: pg_rewind.c:474
+#: pg_rewind.c:483
 #, c-format
 msgid "reading WAL in target"
 msgstr "чтение WAL в целевом кластере"
 
-#: pg_rewind.c:495
+#: pg_rewind.c:504
 #, c-format
 msgid "need to copy %lu MB (total source directory size is %lu MB)"
 msgstr "требуется скопировать %lu МБ (общий размер исходного каталога: %lu МБ)"
 
-#: pg_rewind.c:513
+#: pg_rewind.c:522
 #, c-format
 msgid "syncing target data directory"
 msgstr "синхронизация целевого каталога данных"
 
-#: pg_rewind.c:529
+#: pg_rewind.c:538
 #, c-format
 msgid "Done!"
 msgstr "Готово!"
 
-#: pg_rewind.c:609
+#: pg_rewind.c:618
 #, c-format
 msgid "no action decided for file \"%s\""
 msgstr "действие не определено для файла \"%s\""
 
-#: pg_rewind.c:641
+#: pg_rewind.c:650
 #, c-format
 msgid "source system was modified while pg_rewind was running"
 msgstr "в исходной системе произошли изменения в процессе работы pg_rewind"
 
-#: pg_rewind.c:645
+#: pg_rewind.c:654
 #, c-format
 msgid "creating backup label and updating control file"
 msgstr "создание метки копии и модификация управляющего файла"
 
-#: pg_rewind.c:695
+#: pg_rewind.c:704
 #, c-format
 msgid "source system was in unexpected state at end of rewind"
 msgstr "исходная система оказалась в неожиданном состоянии после перемотки"
 
-#: pg_rewind.c:727
+#: pg_rewind.c:736
 #, c-format
 msgid "source and target clusters are from different systems"
 msgstr "исходный и целевой кластеры относятся к разным системам"
 
-#: pg_rewind.c:735
+#: pg_rewind.c:744
 #, c-format
 msgid "clusters are not compatible with this version of pg_rewind"
 msgstr "кластеры несовместимы с этой версией pg_rewind"
 
-#: pg_rewind.c:745
+#: pg_rewind.c:754
 #, c-format
 msgid ""
 "target server needs to use either data checksums or \"wal_log_hints = on\""
@@ -762,191 +842,192 @@ msgstr ""
 "на целевом сервере должны быть контрольные суммы данных или \"wal_log_hints "
 "= on\""
 
-#: pg_rewind.c:756
+#: pg_rewind.c:765
 #, c-format
 msgid "target server must be shut down cleanly"
 msgstr "целевой сервер должен быть выключен штатно"
 
-#: pg_rewind.c:766
+#: pg_rewind.c:775
 #, c-format
 msgid "source data directory must be shut down cleanly"
 msgstr "работа с исходным каталогом данных должна быть завершена штатно"
 
-#: pg_rewind.c:813
+#: pg_rewind.c:822
 #, c-format
 msgid "%*s/%s kB (%d%%) copied"
 msgstr "%*s/%s КБ (%d%%) скопировано"
 
-#: pg_rewind.c:941
+#: pg_rewind.c:948
 #, c-format
 msgid ""
 "could not find common ancestor of the source and target cluster's timelines"
 msgstr ""
 "не удалось найти общего предка линий времени исходного и целевого кластеров"
 
-#: pg_rewind.c:982
+#: pg_rewind.c:989
 #, c-format
 msgid "backup label buffer too small"
 msgstr "буфер для метки копии слишком мал"
 
-#: pg_rewind.c:1005
+#: pg_rewind.c:1012
 #, c-format
 msgid "unexpected control file CRC"
 msgstr "неверная контрольная сумма управляющего файла"
 
-#: pg_rewind.c:1017
+#: pg_rewind.c:1024
 #, c-format
 msgid "unexpected control file size %d, expected %d"
 msgstr "неверный размер управляющего файла (%d), ожидалось: %d"
 
-#: pg_rewind.c:1026
+#: pg_rewind.c:1034
 #, c-format
-msgid ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"control file specifies %d byte"
-msgid_plural ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"control file specifies %d bytes"
-msgstr[0] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
-msgstr[1] ""
-"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
-msgstr[2] ""
-"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
-
-#: pg_rewind.c:1065 pg_rewind.c:1135
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+
+#: pg_rewind.c:1038
+#, c-format
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ."
+
+#: pg_rewind.c:1075 pg_rewind.c:1143
 #, c-format
 msgid ""
 "program \"%s\" is needed by %s but was not found in the same directory as "
 "\"%s\""
 msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\""
 
-#: pg_rewind.c:1068 pg_rewind.c:1138
+#: pg_rewind.c:1078 pg_rewind.c:1146
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr ""
 "программа \"%s\" найдена программой \"%s\", но её версия отличается от "
 "версии %s"
 
-#: pg_rewind.c:1101
+#: pg_rewind.c:1107
+#, c-format
+msgid "could not read restore_command from target cluster"
+msgstr "не удалось прочитать параметр \"restore_command\" в целевом кластере"
+
+#: pg_rewind.c:1112
 #, c-format
-msgid "restore_command is not set in the target cluster"
-msgstr "команда restore_command Ð² Ñ\86елевом ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80е Ð½Ðµ Ð¾Ð¿Ñ\80еделена"
+msgid "\"restore_command\" is not set in the target cluster"
+msgstr "паÑ\80амеÑ\82Ñ\80 \"restore_command\" Ð² Ñ\86елевом ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80е Ð½Ðµ Ð¾Ð¿Ñ\80еделÑ\91н"
 
-#: pg_rewind.c:1142
+#: pg_rewind.c:1150
 #, c-format
 msgid "executing \"%s\" for target server to complete crash recovery"
 msgstr ""
 "выполнение \"%s\" для восстановления согласованности на целевом сервере"
 
-#: pg_rewind.c:1180
+#: pg_rewind.c:1188
 #, c-format
 msgid "postgres single-user mode in target cluster failed"
 msgstr ""
 "не удалось запустить postgres в целевом кластере в однопользовательском "
 "режиме"
 
-#: pg_rewind.c:1181
+#: pg_rewind.c:1189
 #, c-format
 msgid "Command was: %s"
 msgstr "Выполнялась команда: %s"
 
-#: timeline.c:75 timeline.c:81
+#: timeline.c:74 timeline.c:80
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "синтаксическая ошибка в файле истории: %s"
 
-#: timeline.c:76
+#: timeline.c:75
 #, c-format
 msgid "Expected a numeric timeline ID."
 msgstr "Ожидается числовой идентификатор линии времени."
 
-#: timeline.c:82
+#: timeline.c:81
 #, c-format
 msgid "Expected a write-ahead log switchpoint location."
 msgstr "Ожидается положение точки переключения журнала предзаписи."
 
-#: timeline.c:87
+#: timeline.c:86
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "неверные данные в файле истории: %s"
 
-#: timeline.c:88
+#: timeline.c:87
 #, c-format
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "Идентификаторы линий времени должны возрастать."
 
-#: timeline.c:108
+#: timeline.c:107
 #, c-format
 msgid "invalid data in history file"
 msgstr "неверные данные в файле истории"
 
-#: timeline.c:109
+#: timeline.c:108
 #, c-format
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr ""
 "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка."
 
-#: xlogreader.c:621
+#: xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: xlogreader.c:630
+#: xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "в позиции %X/%X запрошено продолжение записи"
 
-#: xlogreader.c:671 xlogreader.c:1136
+#: xlogreader.c:669 xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: xlogreader.c:760
+#: xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: xlogreader.c:773
+#: xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
 
-#: xlogreader.c:1144
+#: xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
 
-#: xlogreader.c:1157 xlogreader.c:1173
+#: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
 
-#: xlogreader.c:1211
+#: xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
 "%X/%X"
 
-#: xlogreader.c:1245
+#: xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1260 xlogreader.c:1302
+#: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1276
+#: xlogreader.c:1274
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -955,7 +1036,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД "
 "%llu, а идентификатор системы pg_control: %llu"
 
-#: xlogreader.c:1284
+#: xlogreader.c:1282
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect segment size in page "
@@ -964,7 +1045,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке "
 "страницы"
 
-#: xlogreader.c:1290
+#: xlogreader.c:1288
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
@@ -973,12 +1054,12 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы"
 
-#: xlogreader.c:1322
+#: xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1348
+#: xlogreader.c:1346
 #, c-format
 msgid ""
 "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
@@ -987,23 +1068,23 @@ msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
 "%s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1754
+#: xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
 
-#: xlogreader.c:1778
+#: xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
 
-#: xlogreader.c:1785
+#: xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr ""
 "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
 
-#: xlogreader.c:1821
+#: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -1012,21 +1093,21 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
 "при длине образа блока %u в позиции %X/%X"
 
-#: xlogreader.c:1837
+#: xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
 "%u в позиции %X/%X"
 
-#: xlogreader.c:1851
+#: xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
 
-#: xlogreader.c:1866
+#: xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
@@ -1035,41 +1116,41 @@ msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
 "блока равна %u в позиции %X/%X"
 
-#: xlogreader.c:1882
+#: xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
-#: xlogreader.c:1894
+#: xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "неверный идентификатор блока %u в позиции %X/%X"
 
-#: xlogreader.c:1961
+#: xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "запись с неверной длиной в позиции %X/%X"
 
-#: xlogreader.c:1987
+#: xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "не удалось найти копию блока с ID %d в записи журнала WAL"
 
-#: xlogreader.c:2071
+#: xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
 
-#: xlogreader.c:2078
+#: xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
 
-#: xlogreader.c:2105 xlogreader.c:2122
+#: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with %s not supported by build, "
@@ -1078,7 +1159,7 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
-#: xlogreader.c:2131
+#: xlogreader.c:2126
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with unknown method, block %d"
@@ -1086,7 +1167,7 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
 "блок %d"
 
-#: xlogreader.c:2139
+#: xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
index 3ee354d1a9d09b6a2b7d9c1a2e7881f1e16c67b4..c6fccd00352bfe3a1f9ec6e5961d048a827228de 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_test_fsync
 # Copyright (C) 2017 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2021, 2022.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_test_fsync (PostgreSQL) 10\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2022-09-05 13:36+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 18:11+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -37,48 +37,59 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
 #. translator: maintain alignment with NA_FORMAT
-#: pg_test_fsync.c:32
+#: pg_test_fsync.c:38
 #, c-format
 msgid "%13.3f ops/sec  %6.0f usecs/op\n"
 msgstr "%13.3f оп/с     %6.0f мкс/оп\n"
 
-#: pg_test_fsync.c:50
+#: pg_test_fsync.c:56
 #, c-format
 msgid "could not create thread for alarm"
 msgstr "не удалось создать поток для обработки сигналов"
 
-#: pg_test_fsync.c:95
+#: pg_test_fsync.c:101
 #, c-format
 msgid "%s: %m"
 msgstr "%s: %m"
 
-#: pg_test_fsync.c:159
+#: pg_test_fsync.c:165
 #, c-format
 msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n"
 msgstr "Использование: %s [-f ИМЯ_ФАЙЛА ] [-s ТЕСТ_СЕК]\n"
 
-#: pg_test_fsync.c:185
+#: pg_test_fsync.c:191
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "недопустимый аргумент параметра %s"
 
-#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207
+#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_test_fsync.c:192
+#: pg_test_fsync.c:198
 #, c-format
 msgid "%s must be in range %u..%u"
 msgstr "значение %s должно быть в диапазоне %u..%u"
 
-#: pg_test_fsync.c:205
+#: pg_test_fsync.c:211
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_test_fsync.c:211
+#: pg_test_fsync.c:217
 #, c-format
 msgid "%u second per test\n"
 msgid_plural "%u seconds per test\n"
@@ -86,42 +97,42 @@ msgstr[0] "на тест отводится %u сек.\n"
 msgstr[1] "на тест отводится %u сек.\n"
 msgstr[2] "на тест отводится %u сек.\n"
 
-#: pg_test_fsync.c:216
+#: pg_test_fsync.c:222
 #, c-format
 msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n"
 msgstr ""
 "O_DIRECT на этой платформе не поддерживается для open_datasync и open_sync.\n"
 
-#: pg_test_fsync.c:218
+#: pg_test_fsync.c:224
 #, c-format
 msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n"
 msgstr ""
 "F_NOCACHE на этой платформе поддерживается для open_datasync и open_sync.\n"
 
-#: pg_test_fsync.c:220
+#: pg_test_fsync.c:226
 #, c-format
 msgid "Direct I/O is not supported on this platform.\n"
 msgstr "Прямой ввод/вывод не поддерживается на этой платформе.\n"
 
-#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357
-#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537
-#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581
+#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363
+#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543
+#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587
 msgid "could not open output file"
 msgstr "не удалось открыть выходной файл"
 
-#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344
-#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429
-#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555
-#: pg_test_fsync.c:586
+#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350
+#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435
+#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561
+#: pg_test_fsync.c:592
 msgid "write failed"
 msgstr "ошибка записи"
 
-#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392
-#: pg_test_fsync.c:529 pg_test_fsync.c:561
+#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398
+#: pg_test_fsync.c:535 pg_test_fsync.c:567
 msgid "fsync failed"
 msgstr "ошибка синхронизации с ФС"
 
-#: pg_test_fsync.c:292
+#: pg_test_fsync.c:298
 #, c-format
 msgid ""
 "\n"
@@ -130,7 +141,7 @@ msgstr ""
 "\n"
 "Сравнение методов синхронизации файлов при однократной записи %d КБ:\n"
 
-#: pg_test_fsync.c:294
+#: pg_test_fsync.c:300
 #, c-format
 msgid ""
 "\n"
@@ -139,24 +150,25 @@ msgstr ""
 "\n"
 "Сравнение методов синхронизации файлов при двухкратной записи %d КБ:\n"
 
-#: pg_test_fsync.c:295
+#: pg_test_fsync.c:301
 #, c-format
 msgid ""
-"(in wal_sync_method preference order, except fdatasync is Linux's default)\n"
+"(in \"wal_sync_method\" preference order, except fdatasync is Linux's "
+"default)\n"
 msgstr ""
-"(в порядке предпочтения для wal_sync_method, без учёта наибольшего "
-"предпочтения fdatasync в Linux)\n"
+"(в порядке предпочтения для \"wal_sync_method\", за исключением того, что в "
+"Linux предпочитается fdatasync)\n"
 
-#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476
+#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482
 msgid "n/a*"
 msgstr "н/д*"
 
-#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435
-#: pg_test_fsync.c:494
+#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441
+#: pg_test_fsync.c:500
 msgid "n/a"
 msgstr "н/д"
 
-#: pg_test_fsync.c:440
+#: pg_test_fsync.c:446
 #, c-format
 msgid ""
 "* This file system and its mount options do not support direct\n"
@@ -165,7 +177,7 @@ msgstr ""
 "* Эта файловая система с текущими параметрами монтирования не поддерживает\n"
 "  прямой ввод/вывод, как например, ext4 в режиме журналирования.\n"
 
-#: pg_test_fsync.c:448
+#: pg_test_fsync.c:454
 #, c-format
 msgid ""
 "\n"
@@ -174,7 +186,7 @@ msgstr ""
 "\n"
 "Сравнение open_sync при различных объёмах записываемых данных:\n"
 
-#: pg_test_fsync.c:449
+#: pg_test_fsync.c:455
 #, c-format
 msgid ""
 "(This is designed to compare the cost of writing 16kB in different write\n"
@@ -185,27 +197,27 @@ msgstr ""
 "записи с open_sync.)\n"
 
 # skip-rule: double-space
-#: pg_test_fsync.c:452
+#: pg_test_fsync.c:458
 msgid " 1 * 16kB open_sync write"
 msgstr "запись с open_sync  1 * 16 КБ"
 
-#: pg_test_fsync.c:453
+#: pg_test_fsync.c:459
 msgid " 2 *  8kB open_sync writes"
 msgstr "запись с open_sync  2 *  8 КБ"
 
-#: pg_test_fsync.c:454
+#: pg_test_fsync.c:460
 msgid " 4 *  4kB open_sync writes"
 msgstr "запись с open_sync  4 *  4 КБ"
 
-#: pg_test_fsync.c:455
+#: pg_test_fsync.c:461
 msgid " 8 *  2kB open_sync writes"
 msgstr "запись с open_sync  8 *  2 КБ"
 
-#: pg_test_fsync.c:456
+#: pg_test_fsync.c:462
 msgid "16 *  1kB open_sync writes"
 msgstr "запись с open_sync 16 *  1 КБ"
 
-#: pg_test_fsync.c:510
+#: pg_test_fsync.c:516
 #, c-format
 msgid ""
 "\n"
@@ -215,7 +227,7 @@ msgstr ""
 "Проверка, производится ли fsync с указателем файла, открытого не для "
 "записи:\n"
 
-#: pg_test_fsync.c:511
+#: pg_test_fsync.c:517
 #, c-format
 msgid ""
 "(If the times are similar, fsync() can sync data written on a different\n"
@@ -225,7 +237,7 @@ msgstr ""
 "данные,\n"
 "записанные через другой дескриптор.)\n"
 
-#: pg_test_fsync.c:576
+#: pg_test_fsync.c:582
 #, c-format
 msgid ""
 "\n"
index c24e78df428b3b4a15ef8e2fb7e90bacdeb93130..6fdaef839baaead64138f31158d9cba62d53ceec 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_test_timing
 # Copyright (C) 2017 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2021.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2021, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_test_timing (PostgreSQL) 10\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2021-08-14 06:29+0300\n"
-"PO-Revision-Date: 2021-09-04 12:18+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 19:59+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -17,6 +17,17 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
 #: pg_test_timing.c:59
 #, c-format
 msgid "Usage: %s [-d DURATION]\n"
index a761d483cc27f8211e658023eaa170503e6ff87d..1ececd591522f969cba048692ac2dabe1ee91b0d 100644 (file)
@@ -1,14 +1,14 @@
 # Russian message translation file for pg_upgrade
 # Copyright (C) 2017 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 # Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_upgrade (PostgreSQL) 10\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-11-03 09:08+0300\n"
-"PO-Revision-Date: 2023-11-03 09:24+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 12:05+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -18,7 +18,266 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: check.c:72
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/restricted_token.c:168
+#, c-format
+msgid "could not get exit code from subprocess: error code %lu"
+msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
+
+#: ../../common/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
+
+#: ../../common/username.c:45
+msgid "user does not exist"
+msgstr "пользователь не существует"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
+
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
+#: check.c:111
+msgid "Checking for system-defined composite types in user tables"
+msgstr "Проверка системных составных типов в пользовательских таблицах"
+
+#: check.c:118
+msgid ""
+"Your installation contains system-defined composite types in user tables.\n"
+"These type OIDs are not stable across PostgreSQL versions,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют системные составные\n"
+"типы. OID таких типов могут различаться в разных версиях PostgreSQL, поэтому "
+"в\n"
+"настоящем состоянии обновить кластер невозможно. Вы можете удалить "
+"проблемные\n"
+"столбцы и перезапустить обновление.\n"
+
+#: check.c:132
+msgid "Checking for incompatible \"line\" data type"
+msgstr "Проверка несовместимого типа данных \"line\""
+
+#: check.c:137
+msgid ""
+"Your installation contains the \"line\" data type in user tables.\n"
+"This data type changed its internal and input/output format\n"
+"between your old and new versions so this\n"
+"cluster cannot currently be upgraded.  You can\n"
+"drop the problem columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"line\".\n"
+"В старом кластере внутренний формат и формат ввода/вывода этого типа "
+"отличается\n"
+"от нового, поэтому в настоящем состоянии обновить кластер невозможно. Вы "
+"можете\n"
+"удалить проблемные столбцы и перезапустить обновление.\n"
+
+#: check.c:154
+msgid "Checking for reg* data types in user tables"
+msgstr "Проверка типов данных reg* в пользовательских таблицах"
+
+#: check.c:181
+msgid ""
+"Your installation contains one of the reg* data types in user tables.\n"
+"These data types reference system OIDs that are not preserved by\n"
+"pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
+"drop the problem columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы содержат один из типов reg*.\n"
+"Эти типы данных ссылаются на системные OID, которые не сохраняются утилитой\n"
+"pg_upgrade, так что обновление кластера в текущем состоянии невозможно. Вы\n"
+"можете удалить проблемные столбцы и перезапустить обновление.\n"
+
+#: check.c:193
+msgid "Checking for incompatible \"aclitem\" data type"
+msgstr "Проверка несовместимого типа данных \"aclitem\""
+
+#: check.c:198
+msgid ""
+"Your installation contains the \"aclitem\" data type in user tables.\n"
+"The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"aclitem\".\n"
+"Внутренний формат \"aclitem\" изменился в PostgreSQL версии 16, поэтому "
+"обновить\n"
+"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы "
+"и\n"
+"перезапустить обновление.\n"
+
+#: check.c:217
+msgid "Checking for invalid \"unknown\" user columns"
+msgstr "Проверка неправильных пользовательских столбцов типа \"unknown\""
+
+#: check.c:222
+msgid ""
+"Your installation contains the \"unknown\" data type in user tables.\n"
+"This data type is no longer allowed in tables, so this cluster\n"
+"cannot currently be upgraded.  You can drop the problem columns\n"
+"and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"unknown\".\n"
+"Теперь использование этого типа данных в таблицах не допускается, поэтому\n"
+"в настоящем состоянии обновить кластер невозможно. Вы можете удалить "
+"проблемные\n"
+"столбцы и перезапустить обновление.\n"
+
+#: check.c:239
+msgid "Checking for invalid \"sql_identifier\" user columns"
+msgstr ""
+"Проверка неправильных пользовательских столбцов типа \"sql_identifier\""
+
+#: check.c:244
+msgid ""
+"Your installation contains the \"sql_identifier\" data type in user tables.\n"
+"The on-disk format for this data type has changed, so this\n"
+"cluster cannot currently be upgraded.  You can drop the problem\n"
+"columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных\n"
+"\"sql_identifier\". Формат хранения таких данных на диске поменялся,\n"
+"поэтому обновить данный кластер невозможно. Вы можете удалить проблемные\n"
+"столбцы и перезапустить обновление.\n"
+
+#: check.c:255
+msgid "Checking for incompatible \"jsonb\" data type in user tables"
+msgstr ""
+"Проверка несовместимого типа данных \"jsonb\" в пользовательских таблицах"
+
+#: check.c:260
+msgid ""
+"Your installation contains the \"jsonb\" data type in user tables.\n"
+"The internal format of \"jsonb\" changed during 9.4 beta so this\n"
+"cluster cannot currently be upgraded.  You can drop the problem \n"
+"columns and restart the upgrade.\n"
+msgstr ""
+"В вашей инсталляции таблицы используют тип данных \"jsonb\".\n"
+"Внутренний формат \"jsonb\" изменился в версии 9.4 beta, поэтому обновить\n"
+"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы "
+"и\n"
+"перезапустить обновление.\n"
+
+#: check.c:272
+msgid "Checking for removed \"abstime\" data type in user tables"
+msgstr ""
+"Проверка удалённого типа данных \"abstime\" в пользовательских таблицах"
+
+#: check.c:277
+msgid ""
+"Your installation contains the \"abstime\" data type in user tables.\n"
+"The \"abstime\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"abstime\".\n"
+"Тип \"abstime\" был удалён в PostgreSQL версии 12, поэтому обновить кластер "
+"в\n"
+"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или "
+"поменять\n"
+"их тип на другой, а затем перезапустить обновление.\n"
+
+#: check.c:285
+msgid "Checking for removed \"reltime\" data type in user tables"
+msgstr ""
+"Проверка удалённого типа данных \"reltime\" в пользовательских таблицах"
+
+#: check.c:290
+msgid ""
+"Your installation contains the \"reltime\" data type in user tables.\n"
+"The \"reltime\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"reltime\".\n"
+"Тип \"reltime\" был удалён в PostgreSQL версии 12, поэтому обновить кластер "
+"в\n"
+"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или "
+"поменять\n"
+"их тип на другой, а затем перезапустить обновление.\n"
+
+#: check.c:298
+msgid "Checking for removed \"tinterval\" data type in user tables"
+msgstr ""
+"Проверка удалённого типа данных \"tinterval\" в пользовательских таблицах"
+
+#: check.c:303
+msgid ""
+"Your installation contains the \"tinterval\" data type in user tables.\n"
+"The \"tinterval\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"В вашей инсталляции пользовательские таблицы используют тип данных "
+"\"tinterval\".\n"
+"Тип \"tinterval\" был удалён в PostgreSQL версии 12, поэтому обновить "
+"кластер в\n"
+"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или "
+"поменять\n"
+"их тип на другой, а затем перезапустить обновление.\n"
+
+#: check.c:345
+#, c-format
+msgid "Checking data type usage"
+msgstr "Проверка использования типов данных"
+
+#: check.c:480
+#, c-format
+msgid "    failed check: %s"
+msgstr "    ошибка: %s"
+
+#: check.c:483
+msgid "A list of the problem columns is in the file:"
+msgstr "Список проблемных столбцов приведён в файле:"
+
+#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473
+#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884
+#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493
+#: version.c:79 version.c:177
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: check.c:522
+#, c-format
+msgid "Data type checks failed: %s"
+msgstr "Проверки типов данных не пройдены: %s"
+
+#: check.c:563
 #, c-format
 msgid ""
 "Performing Consistency Checks on Old Live Server\n"
@@ -27,7 +286,7 @@ msgstr ""
 "Проверка целостности на старом работающем сервере\n"
 "-------------------------------------------------"
 
-#: check.c:78
+#: check.c:569
 #, c-format
 msgid ""
 "Performing Consistency Checks\n"
@@ -36,7 +295,7 @@ msgstr ""
 "Проведение проверок целостности\n"
 "-------------------------------"
 
-#: check.c:234
+#: check.c:718
 #, c-format
 msgid ""
 "\n"
@@ -45,7 +304,7 @@ msgstr ""
 "\n"
 "*Кластеры совместимы*"
 
-#: check.c:242
+#: check.c:726
 #, c-format
 msgid ""
 "\n"
@@ -57,7 +316,7 @@ msgstr ""
 "initdb\n"
 "для нового кластера, чтобы продолжить."
 
-#: check.c:283
+#: check.c:767
 #, c-format
 msgid ""
 "Optimizer statistics are not transferred by pg_upgrade.\n"
@@ -68,7 +327,7 @@ msgstr ""
 "Запустив новый сервер, имеет смысл выполнить:\n"
 "    %s/vacuumdb %s--all --analyze-in-stages"
 
-#: check.c:289
+#: check.c:773
 #, c-format
 msgid ""
 "Running this script will delete the old cluster's data files:\n"
@@ -77,7 +336,7 @@ msgstr ""
 "При запуске этого скрипта будут удалены файлы данных старого кластера:\n"
 "    %s"
 
-#: check.c:294
+#: check.c:778
 #, c-format
 msgid ""
 "Could not create a script to delete the old cluster's data files\n"
@@ -90,24 +349,24 @@ msgstr ""
 "пространства или каталог данных нового кластера.\n"
 "Содержимое старого кластера нужно будет удалить вручную."
 
-#: check.c:306
+#: check.c:790
 #, c-format
 msgid "Checking cluster versions"
 msgstr "Проверка версий кластеров"
 
-#: check.c:318
+#: check.c:802
 #, c-format
 msgid "This utility can only upgrade from PostgreSQL version %s and later."
 msgstr ""
 "Эта утилита может производить обновление только с версии PostgreSQL %s и "
 "новее."
 
-#: check.c:323
+#: check.c:807
 #, c-format
 msgid "This utility can only upgrade to PostgreSQL version %s."
 msgstr "Эта утилита может повышать версию PostgreSQL только до %s."
 
-#: check.c:332
+#: check.c:816
 #, c-format
 msgid ""
 "This utility cannot be used to downgrade to older major PostgreSQL versions."
@@ -115,7 +374,7 @@ msgstr ""
 "Эта утилита не может понижать версию до более старой основной версии "
 "PostgreSQL."
 
-#: check.c:337
+#: check.c:821
 #, c-format
 msgid ""
 "Old cluster data and binary directories are from different major versions."
@@ -123,7 +382,7 @@ msgstr ""
 "Каталоги данных и исполняемых файлов старого кластера относятся к разным "
 "основным версиям."
 
-#: check.c:340
+#: check.c:824
 #, c-format
 msgid ""
 "New cluster data and binary directories are from different major versions."
@@ -131,7 +390,7 @@ msgstr ""
 "Каталоги данных и исполняемых файлов нового кластера относятся к разным "
 "основным версиям."
 
-#: check.c:355
+#: check.c:839
 #, c-format
 msgid ""
 "When checking a live server, the old and new port numbers must be different."
@@ -139,24 +398,24 @@ msgstr ""
 "Для проверки работающего сервера новый номер порта должен отличаться от "
 "старого."
 
-#: check.c:375
+#: check.c:859
 #, c-format
 msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\""
 msgstr ""
 "Новая база данных кластера \"%s\" не пустая: найдено отношение \"%s.%s\""
 
-#: check.c:398
+#: check.c:882
 #, c-format
 msgid "Checking for new cluster tablespace directories"
 msgstr "Проверка каталогов табличных пространств в новом кластере"
 
-#: check.c:409
+#: check.c:893
 #, c-format
 msgid "new cluster tablespace directory already exists: \"%s\""
 msgstr ""
 "каталог табличного пространства в новом кластере уже существует: \"%s\""
 
-#: check.c:442
+#: check.c:926
 #, c-format
 msgid ""
 "\n"
@@ -167,7 +426,7 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ:  новый каталог данных не должен располагаться внутри старого "
 "каталога данных, то есть, в %s"
 
-#: check.c:466
+#: check.c:950
 #, c-format
 msgid ""
 "\n"
@@ -178,49 +437,42 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ:  пользовательские табличные пространства не должны "
 "располагаться внутри каталога данных, то есть, в %s"
 
-#: check.c:476
+#: check.c:960
 #, c-format
 msgid "Creating script to delete old cluster"
 msgstr "Создание скрипта для удаления старого кластера"
 
-#: check.c:479 check.c:652 check.c:768 check.c:863 check.c:992 check.c:1069
-#: check.c:1348 check.c:1422 file.c:339 function.c:163 option.c:476
-#: version.c:116 version.c:292 version.c:426
-#, c-format
-msgid "could not open file \"%s\": %s"
-msgstr "не удалось открыть файл \"%s\": %s"
-
-#: check.c:530
+#: check.c:1014
 #, c-format
-msgid "could not add execute permission to file \"%s\": %s"
-msgstr "не удалось добавить право выполнения для файла \"%s\": %s"
+msgid "could not add execute permission to file \"%s\": %m"
+msgstr "не удалось добавить право выполнения для файла \"%s\": %m"
 
-#: check.c:550
+#: check.c:1034
 #, c-format
 msgid "Checking database user is the install user"
 msgstr "Проверка, является ли пользователь БД стартовым пользователем"
 
-#: check.c:566
+#: check.c:1050
 #, c-format
 msgid "database user \"%s\" is not the install user"
 msgstr "пользователь БД \"%s\" не является стартовым пользователем"
 
-#: check.c:577
+#: check.c:1061
 #, c-format
 msgid "could not determine the number of users"
 msgstr "не удалось определить количество пользователей"
 
-#: check.c:585
+#: check.c:1069
 #, c-format
 msgid "Only the install user can be defined in the new cluster."
 msgstr "В новом кластере может быть определён только стартовый пользователь."
 
-#: check.c:614
+#: check.c:1098
 #, c-format
 msgid "Checking database connection settings"
 msgstr "Проверка параметров подключения к базе данных"
 
-#: check.c:640
+#: check.c:1124
 #, c-format
 msgid ""
 "template0 must not allow connections, i.e. its pg_database.datallowconn must "
@@ -229,14 +481,13 @@ msgstr ""
 "база template0 не должна допускать подключения, то есть её свойство "
 "pg_database.datallowconn должно быть false"
 
-#: check.c:667 check.c:788 check.c:886 check.c:1012 check.c:1089 check.c:1148
-#: check.c:1209 check.c:1238 check.c:1272 check.c:1303 check.c:1362
-#: check.c:1443 function.c:185 version.c:192 version.c:232 version.c:378
+#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568
+#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210
 #, c-format
 msgid "fatal"
 msgstr "сбой"
 
-#: check.c:668
+#: check.c:1151
 #, c-format
 msgid ""
 "All non-template0 databases must allow connections, i.e. their\n"
@@ -255,27 +506,27 @@ msgstr ""
 "с этой проблемой содержится в файле:\n"
 "    %s"
 
-#: check.c:693
+#: check.c:1176
 #, c-format
 msgid "Checking for prepared transactions"
 msgstr "Проверка наличия подготовленных транзакций"
 
-#: check.c:702
+#: check.c:1185
 #, c-format
 msgid "The source cluster contains prepared transactions"
 msgstr "Исходный кластер содержит подготовленные транзакции"
 
-#: check.c:704
+#: check.c:1187
 #, c-format
 msgid "The target cluster contains prepared transactions"
 msgstr "Целевой кластер содержит подготовленные транзакции"
 
-#: check.c:729
+#: check.c:1212
 #, c-format
 msgid "Checking for contrib/isn with bigint-passing mismatch"
 msgstr "Проверка несоответствия при передаче bigint в contrib/isn"
 
-#: check.c:789
+#: check.c:1271
 #, c-format
 msgid ""
 "Your installation contains \"contrib/isn\" functions which rely on the\n"
@@ -297,12 +548,12 @@ msgstr ""
 "проблемных функций приведён в файле:\n"
 "    %s"
 
-#: check.c:811
+#: check.c:1293
 #, c-format
 msgid "Checking for user-defined postfix operators"
 msgstr "Проверка пользовательских постфиксных операторов"
 
-#: check.c:887
+#: check.c:1368
 #, c-format
 msgid ""
 "Your installation contains user-defined postfix operators, which are not\n"
@@ -318,12 +569,12 @@ msgstr ""
 "Список пользовательских постфиксных операторов приведён в файле:\n"
 "    %s"
 
-#: check.c:911
+#: check.c:1392
 #, c-format
 msgid "Checking for incompatible polymorphic functions"
 msgstr "Проверка несовместимых полиморфных функций"
 
-#: check.c:1013
+#: check.c:1493
 #, c-format
 msgid ""
 "Your installation contains user-defined objects that refer to internal\n"
@@ -344,12 +595,12 @@ msgstr ""
 "Список проблемных объектов приведён в файле:\n"
 "    %s"
 
-#: check.c:1037
+#: check.c:1517
 #, c-format
 msgid "Checking for tables WITH OIDS"
 msgstr "Проверка таблиц со свойством WITH OIDS"
 
-#: check.c:1090
+#: check.c:1569
 #, c-format
 msgid ""
 "Your installation contains tables declared WITH OIDS, which is not\n"
@@ -365,167 +616,148 @@ msgstr ""
 "Список проблемных таблиц приведён в файле:\n"
 "    %s"
 
-#: check.c:1118
+#: check.c:1596
 #, c-format
-msgid "Checking for system-defined composite types in user tables"
-msgstr "Ð\9fÑ\80овеÑ\80ка Ñ\81иÑ\81Ñ\82емнÑ\8bÑ\85 Ñ\81оÑ\81Ñ\82авнÑ\8bÑ\85 Ñ\82ипов Ð² Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8cÑ\81киÑ\85 Ñ\82аблиÑ\86аÑ\85"
+msgid "Checking for roles starting with \"pg_\""
+msgstr "Ð\9fÑ\80овеÑ\80ка Ñ\80олей Ñ\81 Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸, Ð½Ð°Ñ\87инаÑ\8eÑ\89имиÑ\81Ñ\8f Ñ\81 \"pg_\""
 
-#: check.c:1149
+#: check.c:1627
 #, c-format
 msgid ""
-"Your installation contains system-defined composite types in user tables.\n"
-"These type OIDs are not stable across PostgreSQL versions,\n"
-"so this cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
+"Your installation contains roles starting with \"pg_\".\n"
+"\"pg_\" is a reserved prefix for system roles.  The cluster\n"
+"cannot be upgraded until these roles are renamed.\n"
+"A list of roles starting with \"pg_\" is in the file:\n"
 "    %s"
 msgstr ""
-"В вашей инсталляции пользовательские таблицы используют системные составные "
-"типы.\n"
-"OID таких типов могут различаться в разных версиях PostgreSQL, в настоящем\n"
-"состоянии обновить кластер невозможно. Вы можете удалить проблемные столбцы\n"
-"и перезапустить обновление. Список проблемных столбцов приведён в файле:\n"
+"В вашей инсталляции имеются роли с именами, начинающимися с \"pg_\".\n"
+"Префикс \"pg_\" зарезервирован для системных ролей. Пока эти роли\n"
+"не будут переименованы, обновить кластер невозможно.\n"
+"Список ролей с префиксом \"pg_\" приведён в файле:\n"
 "    %s"
 
-#: check.c:1177
+#: check.c:1647
 #, c-format
-msgid "Checking for reg* data types in user tables"
-msgstr "Проверка типов данных reg* в пользовательских таблицах"
+msgid "Checking for user-defined encoding conversions"
+msgstr "Проверка пользовательских перекодировок"
 
-#: check.c:1210
+#: check.c:1707
 #, c-format
 msgid ""
-"Your installation contains one of the reg* data types in user tables.\n"
-"These data types reference system OIDs that are not preserved by\n"
-"pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
+"Your installation contains user-defined encoding conversions.\n"
+"The conversion function parameters changed in PostgreSQL version 14\n"
+"so this cluster cannot currently be upgraded.  You can remove the\n"
+"encoding conversions in the old cluster and restart the upgrade.\n"
+"A list of user-defined encoding conversions is in the file:\n"
 "    %s"
 msgstr ""
-"В вашей инсталляции пользовательские таблицы содержат один из типов reg*.\n"
-"Эти типы данных ссылаются на системные OID, которые не сохраняются утилитой\n"
-"pg_upgrade, так что обновление кластера в текущем состоянии невозможно. Вы\n"
-"можете удалить проблемные столбцы и перезапустить обновление. Список "
-"проблемных\n"
-"столбцов приведён в файле:\n"
+"В вашей инсталляции имеются пользовательские перекодировки.\n"
+"У функций перекодировок в PostgreSQL 14 поменялись параметры, поэтому\n"
+"в настоящем состоянии обновить кластер невозможно. Вы можете удалить\n"
+"перекодировки в старом кластере и перезапустить обновление.\n"
+"Список пользовательских перекодировок приведён в файле:\n"
 "    %s"
 
-#: check.c:1231
+#: check.c:1746
 #, c-format
-msgid "Checking for incompatible \"%s\" data type in user tables"
-msgstr "Проверка несовместимого типа данных \"%s\" в пользовательских таблицах"
+msgid "Checking for new cluster logical replication slots"
+msgstr "Проверка слотов логической репликации в новом кластере"
 
-#: check.c:1239
+#: check.c:1754
 #, c-format
-msgid ""
-"Your installation contains the \"aclitem\" data type in user tables.\n"
-"The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
-"so this cluster cannot currently be upgraded.  You can drop the\n"
-"problem columns and restart the upgrade.  A list of the problem\n"
-"columns is in the file:\n"
-"    %s"
-msgstr ""
-"В вашей инсталляции пользовательские таблицы используют тип данных "
-"\"aclitem\".\n"
-"Внутренний формат \"aclitem\" изменился в PostgreSQL версии 16, поэтому "
-"обновить\n"
-"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы "
-"и\n"
-"перезапустить обновление. Список проблемных столбцов приведён в файле:\n"
-"    %s"
+msgid "could not count the number of logical replication slots"
+msgstr "не удалось получить количество слотов логической репликации"
 
-#: check.c:1263
+#: check.c:1759
 #, c-format
-msgid "Checking for removed \"%s\" data type in user tables"
-msgstr "Ð\9fÑ\80овеÑ\80ка Ñ\83далÑ\91нного Ñ\82ипа Ð´Ð°Ð½Ð½Ñ\8bÑ\85 \"%s\" Ð² Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8cÑ\81киÑ\85 Ñ\82аблиÑ\86аÑ\85"
+msgid "expected 0 logical replication slots but found %d"
+msgstr "обнаÑ\80Ñ\83жено Ñ\81лоÑ\82ов Ð»Ð¾Ð³Ð¸Ñ\87еÑ\81кой Ñ\80епликаÑ\86ии: %d, Ñ\82огда ÐºÐ°Ðº Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¾Ñ\81Ñ\8c 0"
 
-#: check.c:1273
+#: check.c:1769 check.c:1820
+#, c-format
+msgid "could not determine parameter settings on new cluster"
+msgstr "не удалось получить значения параметров в новом кластере"
+
+#: check.c:1774
+#, c-format
+msgid "\"wal_level\" must be \"logical\" but is set to \"%s\""
+msgstr "\"wal_level\" должен иметь значение \"logical\", а имеет \"%s\""
+
+#: check.c:1780
 #, c-format
 msgid ""
-"Your installation contains the \"%s\" data type in user tables.\n"
-"The \"%s\" type has been removed in PostgreSQL version %s,\n"
-"so this cluster cannot currently be upgraded.  You can drop the\n"
-"problem columns, or change them to another data type, and restart\n"
-"the upgrade.  A list of the problem columns is in the file:\n"
-"    %s"
+"\"max_replication_slots\" (%d) must be greater than or equal to the number "
+"of logical replication slots (%d) on the old cluster"
 msgstr ""
-"В вашей инсталляции пользовательские таблицы используют тип данных \"%s\".\n"
-"Тип \"%s\" был удалён в PostgreSQL версии %s, поэтому обновить\n"
-"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы "
-"и\n"
-"перезапустить обновление. Список проблемных столбцов приведён в файле:\n"
-"    %s"
+"значение \"max_replication_slots\" (%d) должно быть больше или равно числу "
+"слотов логической репликации (%d) в старом кластере"
 
-#: check.c:1295
+#: check.c:1812
 #, c-format
-msgid "Checking for incompatible \"jsonb\" data type"
-msgstr "Ð\9fÑ\80овеÑ\80ка Ð½ÐµÑ\81овмеÑ\81Ñ\82имого Ñ\82ипа Ð´Ð°Ð½Ð½Ñ\8bÑ\85 \"jsonb\""
+msgid "Checking for new cluster configuration for subscriptions"
+msgstr "Ð\9fÑ\80овеÑ\80ка ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ии Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80а Ð´Ð»Ñ\8f Ð¸Ñ\81полÑ\8cзованиÑ\8f Ð¿Ð¾Ð´Ð¿Ð¸Ñ\81ок"
 
-#: check.c:1304
+#: check.c:1824
 #, c-format
 msgid ""
-"Your installation contains the \"jsonb\" data type in user tables.\n"
-"The internal format of \"jsonb\" changed during 9.4 beta so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
+"\"max_replication_slots\" (%d) must be greater than or equal to the number "
+"of subscriptions (%d) on the old cluster"
 msgstr ""
-"В вашей инсталляции таблицы используют тип данных jsonb.\n"
-"Внутренний формат \"jsonb\" изменился в версии 9.4 beta, поэтому обновить "
-"кластер\n"
-"в текущем состоянии невозможно. Вы можете удалить проблемные столбцы и\n"
-"перезапустить обновление. Список проблемных столбцов приведён в файле:\n"
-"    %s"
+"значение \"max_replication_slots\" (%d) должно быть больше или равно числу "
+"подписок (%d) в старом кластере"
 
-#: check.c:1331
+#: check.c:1846
 #, c-format
-msgid "Checking for roles starting with \"pg_\""
-msgstr "Проверка ролей с именами, начинающимися с \"pg_\""
+msgid "Checking for valid logical replication slots"
+msgstr "Проверка корректности слотов логической репликации"
 
-#: check.c:1363
+#: check.c:1898
 #, c-format
 msgid ""
-"Your installation contains roles starting with \"pg_\".\n"
-"\"pg_\" is a reserved prefix for system roles.  The cluster\n"
-"cannot be upgraded until these roles are renamed.\n"
-"A list of roles starting with \"pg_\" is in the file:\n"
+"Your installation contains logical replication slots that cannot be "
+"upgraded.\n"
+"You can remove invalid slots and/or consume the pending WAL for other "
+"slots,\n"
+"and then restart the upgrade.\n"
+"A list of the problematic slots is in the file:\n"
 "    %s"
 msgstr ""
-"В вашей инсталляции имеются роли с именами, начинающимися с \"pg_\".\n"
-"Префикс \"pg_\" зарезервирован для системных ролей. Пока эти роли\n"
-"не будут переименованы, обновить кластер невозможно.\n"
-"Список ролей с префиксом \"pg_\" приведён в файле:\n"
+"В вашей инсталляции используются слоты логической репликации, которые "
+"нельзя\n"
+"обновить. Вы можете удалить неподходящие слоты и/или добиться, чтобы другие\n"
+"слоты прочитали ожидающий обработки WAL, а затем перезапустить обновление.\n"
+"Список проблемных слотов приведён в файле:\n"
 "    %s"
 
-#: check.c:1383
+#: check.c:1922
 #, c-format
-msgid "Checking for user-defined encoding conversions"
-msgstr "Проверка пользовательских перекодировок"
+msgid "Checking for subscription state"
+msgstr "Проверка состояния подписок"
 
-#: check.c:1444
+#: check.c:2023
 #, c-format
 msgid ""
-"Your installation contains user-defined encoding conversions.\n"
-"The conversion function parameters changed in PostgreSQL version 14\n"
-"so this cluster cannot currently be upgraded.  You can remove the\n"
-"encoding conversions in the old cluster and restart the upgrade.\n"
-"A list of user-defined encoding conversions is in the file:\n"
+"Your installation contains subscriptions without origin or having relations "
+"not in i (initialize) or r (ready) state.\n"
+"You can allow the initial sync to finish for all relations and then restart "
+"the upgrade.\n"
+"A list of the problematic subscriptions is in the file:\n"
 "    %s"
 msgstr ""
-"В вашей инсталляции имеются пользовательские перекодировки.\n"
-"У функций перекодировок в PostgreSQL 14 поменялись параметры, поэтому\n"
-"в настоящем состоянии обновить кластер невозможно. Вы можете удалить\n"
-"перекодировки в старом кластере и перезапустить обновление.\n"
-"Список пользовательских перекодировок приведён в файле:\n"
+"В вашей инсталляции имеются подписки с отсутствующим источником или с\n"
+"отношениями, находящимися не в состоянии i (инициализировано) или r "
+"(готово).\n"
+"Вы можете добиться завершения начальной синхронизации для всех отношений, а\n"
+"затем перезапустить обновление.\n"
+"Список проблемных подписок приведён в файле:\n"
 "    %s"
 
-#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508
+#: controldata.c:129 controldata.c:199
 #, c-format
-msgid "could not get control data using %s: %s"
-msgstr "не удалось получить управляющие данные, выполнив %s: %s"
+msgid "could not get control data using %s: %m"
+msgstr "не удалось получить управляющие данные, выполнив %s: %m"
 
-#: controldata.c:140
+#: controldata.c:139
 #, c-format
 msgid "%d: database cluster state problem"
 msgstr "%d: недопустимое состояние кластера баз данных"
@@ -552,13 +784,21 @@ msgstr ""
 
 #: controldata.c:165
 #, c-format
-msgid "The source cluster was not shut down cleanly."
-msgstr "Исходный кластер не был отключён штатным образом."
+msgid "The source cluster was not shut down cleanly, state reported as: \"%s\""
+msgstr ""
+"Исходный кластер не был отключён штатным образом, записанное состояние: "
+"\"%s\""
 
 #: controldata.c:167
 #, c-format
-msgid "The target cluster was not shut down cleanly."
-msgstr "Целевой кластер не был отключён штатным образом."
+msgid "The target cluster was not shut down cleanly, state reported as: \"%s\""
+msgstr ""
+"Целевой кластер не был отключён штатным образом, записанное состояние: \"%s\""
+
+#: controldata.c:175 controldata.c:507
+#, c-format
+msgid "could not get control data using %s: %s"
+msgstr "не удалось получить управляющие данные, выполнив %s: %s"
 
 #: controldata.c:181
 #, c-format
@@ -570,146 +810,146 @@ msgstr "В исходном кластере не хватает информа
 msgid "The target cluster lacks cluster state information:"
 msgstr "В целевом кластере не хватает информации о состоянии кластера:"
 
-#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554
-#: relfilenumber.c:231 server.c:34 util.c:337
+#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596
+#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: controldata.c:221
+#: controldata.c:220
 #, c-format
 msgid "%d: pg_resetwal problem"
 msgstr "%d: проблема с выводом pg_resetwal"
 
-#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263
-#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315
-#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359
-#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388
-#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432
-#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476
-#: controldata.c:487 controldata.c:498
+#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262
+#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314
+#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358
+#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387
+#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431
+#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475
+#: controldata.c:486 controldata.c:497
 #, c-format
 msgid "%d: controldata retrieval problem"
 msgstr "%d: проблема с получением управляющих данных"
 
-#: controldata.c:579
+#: controldata.c:578
 #, c-format
 msgid "The source cluster lacks some required control information:"
 msgstr "В исходном кластере не хватает необходимой управляющей информации:"
 
-#: controldata.c:582
+#: controldata.c:581
 #, c-format
 msgid "The target cluster lacks some required control information:"
 msgstr "В целевом кластере не хватает необходимой управляющей информации:"
 
 # skip-rule: capital-letter-first
-#: controldata.c:585
+#: controldata.c:584
 #, c-format
 msgid "  checkpoint next XID"
 msgstr "  следующий XID конт. точки"
 
 # skip-rule: capital-letter-first
-#: controldata.c:588
+#: controldata.c:587
 #, c-format
 msgid "  latest checkpoint next OID"
 msgstr "  следующий OID последней конт. точки"
 
 # skip-rule: capital-letter-first
-#: controldata.c:591
+#: controldata.c:590
 #, c-format
 msgid "  latest checkpoint next MultiXactId"
 msgstr "  следующий MultiXactId последней конт. точки"
 
 # skip-rule: capital-letter-first
-#: controldata.c:595
+#: controldata.c:594
 #, c-format
 msgid "  latest checkpoint oldest MultiXactId"
 msgstr "  старейший MultiXactId последней конт. точки"
 
 # skip-rule: capital-letter-first
-#: controldata.c:598
+#: controldata.c:597
 #, c-format
 msgid "  latest checkpoint oldestXID"
 msgstr "  oldestXID последней конт. точки"
 
 # skip-rule: capital-letter-first
-#: controldata.c:601
+#: controldata.c:600
 #, c-format
 msgid "  latest checkpoint next MultiXactOffset"
 msgstr "  следующий MultiXactOffset последней конт. точки"
 
-#: controldata.c:604
+#: controldata.c:603
 #, c-format
 msgid "  first WAL segment after reset"
 msgstr "  первый сегмент WAL после сброса"
 
-#: controldata.c:607
+#: controldata.c:606
 #, c-format
 msgid "  float8 argument passing method"
 msgstr "  метод передачи аргумента float8"
 
-#: controldata.c:610
+#: controldata.c:609
 #, c-format
 msgid "  maximum alignment"
 msgstr "  максимальное выравнивание"
 
-#: controldata.c:613
+#: controldata.c:612
 #, c-format
 msgid "  block size"
 msgstr "  размер блока"
 
-#: controldata.c:616
+#: controldata.c:615
 #, c-format
 msgid "  large relation segment size"
 msgstr "  размер сегмента большого отношения"
 
-#: controldata.c:619
+#: controldata.c:618
 #, c-format
 msgid "  WAL block size"
 msgstr "  размер блока WAL"
 
-#: controldata.c:622
+#: controldata.c:621
 #, c-format
 msgid "  WAL segment size"
 msgstr "  размер сегмента WAL"
 
-#: controldata.c:625
+#: controldata.c:624
 #, c-format
 msgid "  maximum identifier length"
 msgstr "  максимальная длина идентификатора"
 
-#: controldata.c:628
+#: controldata.c:627
 #, c-format
 msgid "  maximum number of indexed columns"
 msgstr "  максимальное число столбцов в индексе"
 
-#: controldata.c:631
+#: controldata.c:630
 #, c-format
 msgid "  maximum TOAST chunk size"
 msgstr "  максимальный размер порции TOAST"
 
-#: controldata.c:635
+#: controldata.c:634
 #, c-format
 msgid "  large-object chunk size"
 msgstr "  размер порции большого объекта"
 
-#: controldata.c:638
+#: controldata.c:637
 #, c-format
 msgid "  dates/times are integers?"
 msgstr "  дата/время представлены целыми числами?"
 
-#: controldata.c:642
+#: controldata.c:641
 #, c-format
 msgid "  data checksum version"
 msgstr "  версия контрольных сумм данных"
 
-#: controldata.c:644
+#: controldata.c:643
 #, c-format
 msgid "Cannot continue without required control information, terminating"
 msgstr ""
 "Нет необходимой управляющей информации для продолжения, работа прерывается"
 
-#: controldata.c:659
+#: controldata.c:658
 #, c-format
 msgid ""
 "old and new pg_controldata alignments are invalid or do not match.\n"
@@ -718,13 +958,13 @@ msgstr ""
 "старое и новое выравнивание в pg_controldata различаются или некорректны\n"
 "Вероятно, один кластер установлен в 32-битной системе, а другой ~ в 64-битной"
 
-#: controldata.c:663
+#: controldata.c:662
 #, c-format
 msgid "old and new pg_controldata block sizes are invalid or do not match"
 msgstr ""
 "старый и новый размер блоков в pg_controldata различаются или некорректны"
 
-#: controldata.c:666
+#: controldata.c:665
 #, c-format
 msgid ""
 "old and new pg_controldata maximum relation segment sizes are invalid or do "
@@ -733,13 +973,13 @@ msgstr ""
 "старый и новый максимальный размер сегментов отношений в pg_controldata "
 "различаются или некорректны"
 
-#: controldata.c:669
+#: controldata.c:668
 #, c-format
 msgid "old and new pg_controldata WAL block sizes are invalid or do not match"
 msgstr ""
 "старый и новый размер блоков WAL в pg_controldata различаются или некорректны"
 
-#: controldata.c:672
+#: controldata.c:671
 #, c-format
 msgid ""
 "old and new pg_controldata WAL segment sizes are invalid or do not match"
@@ -747,7 +987,7 @@ msgstr ""
 "старый и новый размер сегментов WAL в pg_controldata различаются или "
 "некорректны"
 
-#: controldata.c:675
+#: controldata.c:674
 #, c-format
 msgid ""
 "old and new pg_controldata maximum identifier lengths are invalid or do not "
@@ -756,7 +996,7 @@ msgstr ""
 "старая и новая максимальная длина идентификаторов в pg_controldata "
 "различаются или некорректны"
 
-#: controldata.c:678
+#: controldata.c:677
 #, c-format
 msgid ""
 "old and new pg_controldata maximum indexed columns are invalid or do not "
@@ -765,7 +1005,7 @@ msgstr ""
 "старый и новый максимум числа столбцов, составляющих индексы, в "
 "pg_controldata различаются или некорректны"
 
-#: controldata.c:681
+#: controldata.c:680
 #, c-format
 msgid ""
 "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not "
@@ -774,7 +1014,7 @@ msgstr ""
 "старый и новый максимальный размер порции TOAST в pg_controldata различаются "
 "или некорректны"
 
-#: controldata.c:686
+#: controldata.c:685
 #, c-format
 msgid ""
 "old and new pg_controldata large-object chunk sizes are invalid or do not "
@@ -782,43 +1022,43 @@ msgid ""
 msgstr ""
 "старый и новый размер порции большого объекта различаются или некорректны"
 
-#: controldata.c:689
+#: controldata.c:688
 #, c-format
 msgid "old and new pg_controldata date/time storage types do not match"
 msgstr ""
 "старый и новый тип хранения даты/времени в pg_controldata различаются или "
 "некорректны"
 
-#: controldata.c:702
+#: controldata.c:701
 #, c-format
 msgid "old cluster does not use data checksums but the new one does"
 msgstr ""
 "в старом кластере не применялись контрольные суммы данных, но в новом они "
 "есть"
 
-#: controldata.c:705
+#: controldata.c:704
 #, c-format
 msgid "old cluster uses data checksums but the new one does not"
 msgstr ""
 "в старом кластере применялись контрольные суммы данных, но в новом их нет"
 
-#: controldata.c:707
+#: controldata.c:706
 #, c-format
 msgid "old and new cluster pg_controldata checksum versions do not match"
 msgstr ""
 "старая и новая версия контрольных сумм кластера в pg_controldata различаются"
 
-#: controldata.c:718
+#: controldata.c:717
 #, c-format
 msgid "Adding \".old\" suffix to old global/pg_control"
 msgstr "Добавление расширения \".old\" к старому файлу global/pg_control"
 
-#: controldata.c:723
+#: controldata.c:722
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
 
-#: controldata.c:727
+#: controldata.c:726
 #, c-format
 msgid ""
 "\n"
@@ -843,27 +1083,32 @@ msgstr "Формирование выгрузки глобальных объе
 msgid "Creating dump of database schemas"
 msgstr "Формирование выгрузки схем базы данных"
 
-#: exec.c:47 exec.c:52
+#: exec.c:47
+#, c-format
+msgid "could not get pg_ctl version data using %s: %m"
+msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %m"
+
+#: exec.c:51
 #, c-format
 msgid "could not get pg_ctl version data using %s: %s"
 msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %s"
 
-#: exec.c:56
+#: exec.c:55
 #, c-format
 msgid "could not get pg_ctl version output from %s"
 msgstr "не удалось получить версию pg_ctl из результата %s"
 
-#: exec.c:113 exec.c:117
+#: exec.c:112 exec.c:116
 #, c-format
 msgid "command too long"
 msgstr "команда слишком длинная"
 
-#: exec.c:161 pg_upgrade.c:286
+#: exec.c:160 pg_upgrade.c:311
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "не удалось открыть файл протокола \"%s\": %m"
 
-#: exec.c:193
+#: exec.c:192
 #, c-format
 msgid ""
 "\n"
@@ -872,12 +1117,12 @@ msgstr ""
 "\n"
 "*ошибка*"
 
-#: exec.c:196
+#: exec.c:195
 #, c-format
 msgid "There were problems executing \"%s\""
 msgstr "При выполнении \"%s\" возникли проблемы"
 
-#: exec.c:199
+#: exec.c:198
 #, c-format
 msgid ""
 "Consult the last few lines of \"%s\" or \"%s\" for\n"
@@ -886,7 +1131,7 @@ msgstr ""
 "Чтобы понять причину ошибки, просмотрите последние несколько строк\n"
 "файла \"%s\" или \"%s\"."
 
-#: exec.c:204
+#: exec.c:203
 #, c-format
 msgid ""
 "Consult the last few lines of \"%s\" for\n"
@@ -895,42 +1140,37 @@ msgstr ""
 "Чтобы понять причину ошибки, просмотрите последние несколько строк\n"
 "файла \"%s\"."
 
-#: exec.c:219 pg_upgrade.c:296
+#: exec.c:218 pg_upgrade.c:321
 #, c-format
 msgid "could not write to log file \"%s\": %m"
 msgstr "не удалось записать в файл протокола \"%s\": %m"
 
-#: exec.c:245
+#: exec.c:244
 #, c-format
-msgid "could not open file \"%s\" for reading: %s"
-msgstr "не удалось открыть файл \"%s\" для чтения: %s"
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: exec.c:272
+#: exec.c:270
 #, c-format
 msgid "You must have read and write access in the current directory."
 msgstr "У вас должны быть права на чтение и запись в текущем каталоге."
 
-#: exec.c:325 exec.c:391
+#: exec.c:323 exec.c:389 exec.c:439
 #, c-format
-msgid "check for \"%s\" failed: %s"
-msgstr "проверка существования \"%s\" не пройдена: %s"
+msgid "check for \"%s\" failed: %m"
+msgstr "файл \"%s\" не прошёл проверку: %m"
 
-#: exec.c:328 exec.c:394
+#: exec.c:326 exec.c:392
 #, c-format
 msgid "\"%s\" is not a directory"
 msgstr "\"%s\" не является каталогом"
 
-#: exec.c:441
-#, c-format
-msgid "check for \"%s\" failed: %m"
-msgstr "файл \"%s\" не прошёл проверку: %m"
-
-#: exec.c:446
+#: exec.c:444
 #, c-format
 msgid "check for \"%s\" failed: cannot execute"
 msgstr "программа \"%s\" не прошла проверку: ошибка выполнения"
 
-#: exec.c:456
+#: exec.c:454
 #, c-format
 msgid ""
 "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\""
@@ -938,74 +1178,88 @@ msgstr ""
 "программа \"%s\" не прошла проверку: получена некорректная версия \"%s\", "
 "ожидалась \"%s\""
 
-#: file.c:43 file.c:64
+#: file.c:44
 #, c-format
-msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
-msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s"
+msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
+msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m"
 
-#: file.c:50
+#: file.c:51
 #, c-format
-msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s"
+msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m"
 msgstr ""
 "ошибка при клонировании отношения \"%s.%s\": не удалось открыть файл \"%s\": "
-"%s"
+"%m"
 
-#: file.c:55
+#: file.c:56
 #, c-format
 msgid ""
-"error while cloning relation \"%s.%s\": could not create file \"%s\": %s"
+"error while cloning relation \"%s.%s\": could not create file \"%s\": %m"
 msgstr ""
 "ошибка при клонировании отношения \"%s.%s\": не удалось создать файл \"%s\": "
-"%s"
+"%m"
+
+#: file.c:65
+#, c-format
+msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s"
 
-#: file.c:90 file.c:193
+#: file.c:91 file.c:160 file.c:233
 #, c-format
-msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m"
 msgstr ""
 "ошибка при копировании отношения \"%s.%s\": не удалось открыть файл \"%s\": "
-"%s"
+"%m"
 
-#: file.c:95 file.c:202
+#: file.c:96 file.c:165 file.c:242
 #, c-format
 msgid ""
-"error while copying relation \"%s.%s\": could not create file \"%s\": %s"
+"error while copying relation \"%s.%s\": could not create file \"%s\": %m"
 msgstr ""
 "ошибка при копировании отношения \"%s.%s\": не удалось создать файл \"%s\": "
-"%s"
+"%m"
 
-#: file.c:109 file.c:226
+#: file.c:110 file.c:266
 #, c-format
-msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m"
 msgstr ""
 "ошибка при копировании отношения \"%s.%s\": не удалось прочитать файл "
-"\"%s\": %s"
+"\"%s\": %m"
 
-#: file.c:121 file.c:304
+#: file.c:122 file.c:344
 #, c-format
-msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m"
 msgstr ""
-"ошибка при копировании отношения \"%s.%s\": не удалось записать в файл "
-"\"%s\": %s"
+"ошибка при копировании отношения \"%s.%s\": не удалось записать файл \"%s\": "
+"%m"
+
+#: file.c:136
+#, c-format
+msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
+msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m"
 
-#: file.c:135
+#: file.c:172
 #, c-format
-msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
-msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s"
+msgid ""
+"error while copying relation \"%s.%s\": could not copy file range from "
+"\"%s\" to \"%s\": %m"
+msgstr ""
+"ошибка при копировании отношения \"%s.%s\": не удалось скопировать фрагмент "
+"файла \"%s\" в \"%s\": %m"
 
-#: file.c:154
+#: file.c:194
 #, c-format
-msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr ""
-"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s"
+"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m"
 
-#: file.c:197
+#: file.c:237
 #, c-format
-msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m"
 msgstr ""
 "ошибка при копировании отношения \"%s.%s\": не удалось получить информацию о "
-"файле \"%s\": %s"
+"файле \"%s\": %m"
 
-#: file.c:229
+#: file.c:269
 #, c-format
 msgid ""
 "error while copying relation \"%s.%s\": partial page found in file \"%s\""
@@ -1013,49 +1267,60 @@ msgstr ""
 "ошибка при копировании отношения \"%s.%s\": в файле \"%s\" обнаружена "
 "неполная страница"
 
-#: file.c:331 file.c:348
+#: file.c:371 file.c:387
 #, c-format
-msgid "could not clone file between old and new data directories: %s"
-msgstr "не удалось клонировать файл из старого каталога данных в новый: %s"
+msgid "could not clone file between old and new data directories: %m"
+msgstr "не удалось клонировать файл из старого каталога данных в новый: %m"
 
-#: file.c:344
+#: file.c:383 file.c:420
 #, c-format
-msgid "could not create file \"%s\": %s"
-msgstr "не удалось создать файл \"%s\": %s"
+msgid "could not create file \"%s\": %m"
+msgstr "не удалось создать файл \"%s\": %m"
 
-#: file.c:355
+#: file.c:393
 #, c-format
 msgid "file cloning not supported on this platform"
 msgstr "клонирование файлов не поддерживается в этой ОС"
 
-#: file.c:372
+#: file.c:424
+#, c-format
+msgid "could not copy file range between old and new data directories: %m"
+msgstr ""
+"не удалось скопировать фрагмент файла из старого каталога данных в новый: %m"
+
+#: file.c:430
+#, c-format
+msgid "copy_file_range not supported on this platform"
+msgstr "copy_file_range не поддерживается в этой ОС"
+
+#: file.c:447
 #, c-format
 msgid ""
-"could not create hard link between old and new data directories: %s\n"
+"could not create hard link between old and new data directories: %m\n"
 "In link mode the old and new data directories must be on the same file "
 "system."
 msgstr ""
 "не удалось создать жёсткую ссылку между старым и новым каталогами данных: "
-"%s\n"
+"%m\n"
 "В режиме \"ссылок\" старый и новый каталоги данных должны находиться в одной "
 "файловой системе."
 
-#: function.c:128
+#: function.c:154
 #, c-format
 msgid "Checking for presence of required libraries"
 msgstr "Проверка наличия требуемых библиотек"
 
-#: function.c:165
+#: function.c:190
 #, c-format
 msgid "could not load library \"%s\": %s"
 msgstr "загрузить библиотеку \"%s\" не удалось: %s"
 
-#: function.c:176
+#: function.c:201
 #, c-format
 msgid "In database: %s\n"
 msgstr "В базе данных: %s\n"
 
-#: function.c:186
+#: function.c:211
 #, c-format
 msgid ""
 "Your installation references loadable libraries that are missing from the\n"
@@ -1070,7 +1335,7 @@ msgstr ""
 "библиотек приведён в файле:\n"
 "    %s"
 
-#: info.c:126
+#: info.c:128
 #, c-format
 msgid ""
 "Relation names for OID %u in database \"%s\" do not match: old name \"%s."
@@ -1079,32 +1344,32 @@ msgstr ""
 "Имена отношения с OID %u в базе данных \"%s\" различаются: старое имя - \"%s."
 "%s\", новое - \"%s.%s\""
 
-#: info.c:146
+#: info.c:148
 #, c-format
 msgid "Failed to match up old and new tables in database \"%s\""
 msgstr "Не удалось сопоставить старые таблицы с новыми в базе данных \"%s\""
 
-#: info.c:227
+#: info.c:229
 #, c-format
 msgid " which is an index on \"%s.%s\""
 msgstr " это индекс в \"%s.%s\""
 
-#: info.c:237
+#: info.c:239
 #, c-format
 msgid " which is an index on OID %u"
 msgstr " это индекс в отношении с OID %u"
 
-#: info.c:249
+#: info.c:251
 #, c-format
 msgid " which is the TOAST table for \"%s.%s\""
 msgstr " это TOAST-таблица для \"%s.%s\""
 
-#: info.c:257
+#: info.c:259
 #, c-format
 msgid " which is the TOAST table for OID %u"
 msgstr " это TOAST-таблица для отношения с OID %u"
 
-#: info.c:261
+#: info.c:263
 #, c-format
 msgid ""
 "No match found in old cluster for new relation with OID %u in database "
@@ -1113,7 +1378,7 @@ msgstr ""
 "В старом кластере не нашлось соответствия для нового отношения с OID %u в "
 "базе данных \"%s\": %s"
 
-#: info.c:264
+#: info.c:266
 #, c-format
 msgid ""
 "No match found in new cluster for old relation with OID %u in database "
@@ -1122,7 +1387,7 @@ msgstr ""
 "В новом кластере не нашлось соответствия для старого отношения с OID %u в "
 "базе данных \"%s\": %s"
 
-#: info.c:289
+#: info.c:300
 #, c-format
 msgid ""
 "\n"
@@ -1131,7 +1396,7 @@ msgstr ""
 "\n"
 "исходные базы данных:"
 
-#: info.c:291
+#: info.c:302
 #, c-format
 msgid ""
 "\n"
@@ -1140,84 +1405,94 @@ msgstr ""
 "\n"
 "целевые базы данных:"
 
-#: info.c:329
+#: info.c:346
 #, c-format
 msgid "template0 not found"
 msgstr "база template0 не найдена"
 
-#: info.c:645
+#: info.c:805
+#, c-format
+msgid "Database: \"%s\""
+msgstr "База данных: \"%s\""
+
+#: info.c:818
+#, c-format
+msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\""
+msgstr "имя_отношения: \"%s.%s\", oid_отношения: %u, табл_пространство: %s\""
+
+#: info.c:832
 #, c-format
-msgid "Database: %s"
-msgstr "Ð\91аза Ð´Ð°Ð½Ð½Ñ\8bÑ\85: %s"
+msgid "Logical replication slots in the database:"
+msgstr "СлоÑ\82Ñ\8b Ð»Ð¾Ð³Ð¸Ñ\87еÑ\81кой Ñ\80епликаÑ\86ии Ð² Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½Ñ\8bÑ\85:"
 
-#: info.c:657
+#: info.c:838
 #, c-format
-msgid "relname: %s.%s: reloid: %u reltblspace: %s"
-msgstr "имя_отношения: %s.%s: oid_отношения: %u табл_пространство: %s"
+msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s"
+msgstr "слот: \"%s\", модуль вывода: \"%s\", двухфазный: %s"
 
-#: option.c:101
+#: option.c:105
 #, c-format
 msgid "%s: cannot be run as root"
 msgstr "%s: программу не должен запускать root"
 
-#: option.c:168
+#: option.c:172
 #, c-format
 msgid "invalid old port number"
 msgstr "неверный старый номер порта"
 
-#: option.c:173
+#: option.c:177
 #, c-format
 msgid "invalid new port number"
 msgstr "неверный новый номер порта"
 
-#: option.c:203
+#: option.c:216
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: option.c:210
+#: option.c:223
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: option.c:213
+#: option.c:229
 #, c-format
 msgid "Running in verbose mode"
 msgstr "Программа запущена в режиме подробных сообщений"
 
-#: option.c:231
+#: option.c:247
 msgid "old cluster binaries reside"
 msgstr "расположение исполняемых файлов старого кластера"
 
-#: option.c:233
+#: option.c:249
 msgid "new cluster binaries reside"
 msgstr "расположение исполняемых файлов нового кластера"
 
-#: option.c:235
+#: option.c:251
 msgid "old cluster data resides"
 msgstr "расположение данных старого кластера"
 
-#: option.c:237
+#: option.c:253
 msgid "new cluster data resides"
 msgstr "расположение данных нового кластера"
 
-#: option.c:239
+#: option.c:255
 msgid "sockets will be created"
 msgstr "расположение сокетов"
 
-#: option.c:256 option.c:356
+#: option.c:272 option.c:374
 #, c-format
 msgid "could not determine current directory"
 msgstr "не удалось определить текущий каталог"
 
-#: option.c:259
+#: option.c:275
 #, c-format
 msgid ""
 "cannot run pg_upgrade from inside the new cluster data directory on Windows"
 msgstr ""
 "в Windows нельзя запустить pg_upgrade внутри каталога данных нового кластера"
 
-#: option.c:268
+#: option.c:284
 #, c-format
 msgid ""
 "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n"
@@ -1226,12 +1501,12 @@ msgstr ""
 "pg_upgrade обновляет кластер PostgreSQL до другой основной версии.\n"
 "\n"
 
-#: option.c:269
+#: option.c:285
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: option.c:270
+#: option.c:286
 #, c-format
 msgid ""
 "  pg_upgrade [OPTION]...\n"
@@ -1240,18 +1515,18 @@ msgstr ""
 "  pg_upgrade [ПАРАМЕТР]...\n"
 "\n"
 
-#: option.c:271
+#: option.c:287
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: option.c:272
+#: option.c:288
 #, c-format
 msgid "  -b, --old-bindir=BINDIR       old cluster executable directory\n"
 msgstr ""
 "  -b, --old-bindir=КАТ_BIN      каталог исполняемых файлов старого кластера\n"
 
-#: option.c:273
+#: option.c:289
 #, c-format
 msgid ""
 "  -B, --new-bindir=BINDIR       new cluster executable directory (default\n"
@@ -1260,7 +1535,7 @@ msgstr ""
 "  -B, --new-bindir=КАТ_BIN      каталог исполняемых файлов нового кластера\n"
 "                                (по умолчанию каталог программы pg_upgrade)\n"
 
-#: option.c:275
+#: option.c:291
 #, c-format
 msgid ""
 "  -c, --check                   check clusters only, don't change any data\n"
@@ -1268,17 +1543,17 @@ msgstr ""
 "  -c, --check                   только проверить кластеры, не меняя никакие "
 "данные\n"
 
-#: option.c:276
+#: option.c:292
 #, c-format
 msgid "  -d, --old-datadir=DATADIR     old cluster data directory\n"
-msgstr "  -d, --old-datadir=КАТ_DATA    каталог данных старого кластера\n"
+msgstr "  -d, --old-datadir=КАТ_ДАННЫХ  каталог данных старого кластера\n"
 
-#: option.c:277
+#: option.c:293
 #, c-format
 msgid "  -D, --new-datadir=DATADIR     new cluster data directory\n"
-msgstr "  -D, --new-datadir=КАТ_DATA    каталог данных нового кластера\n"
+msgstr "  -D, --new-datadir=КАТ_ДАННЫХ  каталог данных нового кластера\n"
 
-#: option.c:278
+#: option.c:294
 #, c-format
 msgid ""
 "  -j, --jobs=NUM                number of simultaneous processes or threads "
@@ -1288,7 +1563,7 @@ msgstr ""
 "или\n"
 "                                потоков\n"
 
-#: option.c:279
+#: option.c:295
 #, c-format
 msgid ""
 "  -k, --link                    link instead of copying files to new "
@@ -1298,7 +1573,7 @@ msgstr ""
 "файлов\n"
 "                                в новый кластер\n"
 
-#: option.c:280
+#: option.c:296
 #, c-format
 msgid ""
 "  -N, --no-sync                 do not wait for changes to be written safely "
@@ -1307,7 +1582,7 @@ msgstr ""
 "  -N, --no-sync                 не ждать завершения сохранения данных на "
 "диске\n"
 
-#: option.c:281
+#: option.c:297
 #, c-format
 msgid ""
 "  -o, --old-options=OPTIONS     old cluster options to pass to the server\n"
@@ -1315,7 +1590,7 @@ msgstr ""
 "  -o, --old-options=ПАРАМЕТРЫ   параметры старого кластера, передаваемые "
 "серверу\n"
 
-#: option.c:282
+#: option.c:298
 #, c-format
 msgid ""
 "  -O, --new-options=OPTIONS     new cluster options to pass to the server\n"
@@ -1323,21 +1598,21 @@ msgstr ""
 "  -O, --new-options=ПАРАМЕТРЫ   параметры нового кластера, передаваемые "
 "серверу\n"
 
-#: option.c:283
+#: option.c:299
 #, c-format
 msgid "  -p, --old-port=PORT           old cluster port number (default %d)\n"
 msgstr ""
 "  -p, --old-port=ПОРТ           номер порта старого кластера (по умолчанию "
 "%d)\n"
 
-#: option.c:284
+#: option.c:300
 #, c-format
 msgid "  -P, --new-port=PORT           new cluster port number (default %d)\n"
 msgstr ""
 "  -P, --new-port=ПОРТ           номер порта нового кластера (по умолчанию "
 "%d)\n"
 
-#: option.c:285
+#: option.c:301
 #, c-format
 msgid ""
 "  -r, --retain                  retain SQL and log files after success\n"
@@ -1345,7 +1620,7 @@ msgstr ""
 "  -r, --retain                  сохранить файлы журналов и SQL в случае "
 "успеха\n"
 
-#: option.c:286
+#: option.c:302
 #, c-format
 msgid ""
 "  -s, --socketdir=DIR           socket directory to use (default current "
@@ -1353,27 +1628,27 @@ msgid ""
 msgstr ""
 "  -s, --socketdir=КАТАЛОГ       каталог сокетов (по умолчанию текущий)\n"
 
-#: option.c:287
+#: option.c:303
 #, c-format
 msgid "  -U, --username=NAME           cluster superuser (default \"%s\")\n"
 msgstr ""
 "  -U, --username=ИМЯ            суперпользователь кластера (по умолчанию "
 "\"%s\")\n"
 
-#: option.c:288
+#: option.c:304
 #, c-format
 msgid "  -v, --verbose                 enable verbose internal logging\n"
 msgstr ""
 "  -v, --verbose                 включить вывод подробных внутренних "
 "сообщений\n"
 
-#: option.c:289
+#: option.c:305
 #, c-format
 msgid ""
 "  -V, --version                 display version information, then exit\n"
 msgstr "  -V, --version                 показать версию и выйти\n"
 
-#: option.c:290
+#: option.c:306
 #, c-format
 msgid ""
 "  --clone                       clone instead of copying files to new "
@@ -1382,19 +1657,33 @@ msgstr ""
 "  --clone                       клонировать, а не копировать файлы в новый "
 "кластер\n"
 
-#: option.c:291
+#: option.c:307
 #, c-format
 msgid "  --copy                        copy files to new cluster (default)\n"
 msgstr ""
 "  --copy                        копировать файлы в новый кластер (по "
 "умолчанию)\n"
 
-#: option.c:292
+#: option.c:308
+#, c-format
+msgid ""
+"  --copy-file-range             copy files to new cluster with "
+"copy_file_range\n"
+msgstr ""
+"  --copy-file-range             копировать файлы в новый кластер, используя\n"
+"                                функцию copy_file_range\n"
+
+#: option.c:309
+#, c-format
+msgid "  --sync-method=METHOD          set method for syncing files to disk\n"
+msgstr "  --sync-method=МЕТОД           метод синхронизации файлов с ФС\n"
+
+#: option.c:310
 #, c-format
 msgid "  -?, --help                    show this help, then exit\n"
 msgstr "  -?, --help                    показать эту справку и выйти\n"
 
-#: option.c:293
+#: option.c:311
 #, c-format
 msgid ""
 "\n"
@@ -1409,7 +1698,7 @@ msgstr ""
 "  остановить процесс postmaster, обслуживающий старый кластер\n"
 "  остановить процесс postmaster, обслуживающий новый кластер\n"
 
-#: option.c:298
+#: option.c:316
 #, c-format
 msgid ""
 "\n"
@@ -1426,7 +1715,7 @@ msgstr ""
 "  путь к каталогу \"bin\" старой версии (-b КАТ_BIN)\n"
 "  путь к каталогу \"bin\" новой версии (-B КАТ_BIN)\n"
 
-#: option.c:304
+#: option.c:322
 #, c-format
 msgid ""
 "\n"
@@ -1441,7 +1730,7 @@ msgstr ""
 "bin -B новый_кластер/bin\n"
 "или\n"
 
-#: option.c:309
+#: option.c:327
 #, c-format
 msgid ""
 "  $ export PGDATAOLD=oldCluster/data\n"
@@ -1456,7 +1745,7 @@ msgstr ""
 "  $ export PGBINNEW=новый_кластер/bin\n"
 "  $ pg_upgrade\n"
 
-#: option.c:315
+#: option.c:333
 #, c-format
 msgid ""
 "  C:\\> set PGDATAOLD=oldCluster/data\n"
@@ -1471,7 +1760,7 @@ msgstr ""
 "  C:\\> set PGBINNEW=новый_кластер/bin\n"
 "  C:\\> pg_upgrade\n"
 
-#: option.c:321
+#: option.c:339
 #, c-format
 msgid ""
 "\n"
@@ -1480,12 +1769,12 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: option.c:322
+#: option.c:340
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: option.c:362
+#: option.c:380
 #, c-format
 msgid ""
 "You must identify the directory where the %s.\n"
@@ -1495,45 +1784,50 @@ msgstr ""
 "Воспользуйтесь для этого ключом командной строки %s или переменной окружения "
 "%s."
 
-#: option.c:415
+#: option.c:433
 #, c-format
 msgid "Finding the real data directory for the source cluster"
 msgstr "Поиск фактического каталога данных для исходного кластера"
 
-#: option.c:417
+#: option.c:435
 #, c-format
 msgid "Finding the real data directory for the target cluster"
 msgstr "Поиск фактического каталога данных для целевого кластера"
 
-#: option.c:430 option.c:435
+#: option.c:448
+#, c-format
+msgid "could not get data directory using %s: %m"
+msgstr "не удалось получить каталог данных, выполнив %s: %m"
+
+#: option.c:452
 #, c-format
 msgid "could not get data directory using %s: %s"
 msgstr "не удалось получить каталог данных, выполнив %s: %s"
 
-#: option.c:484
+#: option.c:500
 #, c-format
-msgid "could not read line %d from file \"%s\": %s"
-msgstr "не удалось прочитать строку %d из файла \"%s\": %s"
+msgid "could not read line %d from file \"%s\": %m"
+msgstr "не удалось прочитать строку %d из файла \"%s\": %m"
 
-#: option.c:501
+#: option.c:517
 #, c-format
 msgid "user-supplied old port number %hu corrected to %hu"
 msgstr "заданный пользователем старый номер порта %hu изменён на %hu"
 
 #: parallel.c:127 parallel.c:235
 #, c-format
-msgid "could not create worker process: %s"
-msgstr "не удалось создать рабочий процесс: %s"
+msgid "could not create worker process: %m"
+msgstr "не удалось создать рабочий процесс: %m"
 
 #: parallel.c:143 parallel.c:253
 #, c-format
-msgid "could not create worker thread: %s"
-msgstr "не удалось создать рабочий поток: %s"
+msgid "could not create worker thread: %m"
+msgstr "не удалось создать рабочий поток: %m"
 
 #: parallel.c:294
 #, c-format
-msgid "%s() failed: %s"
-msgstr "ошибка в %s(): %s"
+msgid "%s() failed: %m"
+msgstr "ошибка в %s(): %m"
 
 #: parallel.c:298
 #, c-format
@@ -1542,15 +1836,15 @@ msgstr "дочерний процесс завершился нештатно с
 
 #: parallel.c:313
 #, c-format
-msgid "child worker exited abnormally: %s"
-msgstr "дочерний процесс завершился аварийно: %s"
+msgid "child worker exited abnormally: %m"
+msgstr "дочерний процесс завершился аварийно: %m"
 
-#: pg_upgrade.c:107
+#: pg_upgrade.c:115
 #, c-format
-msgid "could not read permissions of directory \"%s\": %s"
-msgstr "не удалось считать права на каталог \"%s\": %s"
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "не удалось прочитать права на каталог \"%s\": %m"
 
-#: pg_upgrade.c:139
+#: pg_upgrade.c:147
 #, c-format
 msgid ""
 "\n"
@@ -1561,17 +1855,17 @@ msgstr ""
 "Выполнение обновления\n"
 "---------------------"
 
-#: pg_upgrade.c:184
+#: pg_upgrade.c:192
 #, c-format
 msgid "Setting next OID for new cluster"
 msgstr "Установка следующего OID для нового кластера"
 
-#: pg_upgrade.c:193
+#: pg_upgrade.c:216
 #, c-format
 msgid "Sync data directory to disk"
 msgstr "Синхронизация каталога данных с ФС"
 
-#: pg_upgrade.c:205
+#: pg_upgrade.c:230
 #, c-format
 msgid ""
 "\n"
@@ -1582,23 +1876,23 @@ msgstr ""
 "Обновление завершено\n"
 "--------------------"
 
-#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265
-#: pg_upgrade.c:283 pg_upgrade.c:294
+#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290
+#: pg_upgrade.c:308 pg_upgrade.c:319
 #, c-format
 msgid "directory path for new cluster is too long"
 msgstr "путь к каталогу данных нового кластера слишком длинный"
 
-#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278
+#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: pg_upgrade.c:327
+#: pg_upgrade.c:352
 #, c-format
 msgid "%s: could not find own program executable"
 msgstr "%s: не удалось найти свой исполняемый файл"
 
-#: pg_upgrade.c:353
+#: pg_upgrade.c:378
 #, c-format
 msgid ""
 "There seems to be a postmaster servicing the old cluster.\n"
@@ -1607,7 +1901,7 @@ msgstr ""
 "Видимо, запущен процесс postmaster, обслуживающий старый кластер.\n"
 "Остановите его и попробуйте ещё раз."
 
-#: pg_upgrade.c:366
+#: pg_upgrade.c:391
 #, c-format
 msgid ""
 "There seems to be a postmaster servicing the new cluster.\n"
@@ -1616,84 +1910,89 @@ msgstr ""
 "Видимо, запущен процесс postmaster, обслуживающий новый кластер.\n"
 "Остановите его и попробуйте ещё раз."
 
-#: pg_upgrade.c:388
+#: pg_upgrade.c:413
 #, c-format
 msgid "Setting locale and encoding for new cluster"
 msgstr "Установка локали и кодировки для нового кластера"
 
-#: pg_upgrade.c:450
+#: pg_upgrade.c:489
 #, c-format
 msgid "Analyzing all rows in the new cluster"
 msgstr "Анализ всех строк в новом кластере"
 
-#: pg_upgrade.c:463
+#: pg_upgrade.c:502
 #, c-format
 msgid "Freezing all rows in the new cluster"
 msgstr "Замораживание всех строк в новом кластере"
 
-#: pg_upgrade.c:483
+#: pg_upgrade.c:522
 #, c-format
 msgid "Restoring global objects in the new cluster"
 msgstr "Восстановление глобальных объектов в новом кластере"
 
-#: pg_upgrade.c:499
+#: pg_upgrade.c:538
 #, c-format
 msgid "Restoring database schemas in the new cluster"
 msgstr "Восстановление схем баз данных в новом кластере"
 
-#: pg_upgrade.c:605
+#: pg_upgrade.c:662
 #, c-format
 msgid "Deleting files from new %s"
 msgstr "Удаление файлов из нового каталога %s"
 
-#: pg_upgrade.c:609
+#: pg_upgrade.c:666
 #, c-format
 msgid "could not delete directory \"%s\""
 msgstr "ошибка при удалении каталога \"%s\""
 
-#: pg_upgrade.c:628
+#: pg_upgrade.c:685
 #, c-format
 msgid "Copying old %s to new server"
 msgstr "Копирование старого каталога %s на новый сервер"
 
-#: pg_upgrade.c:654
+#: pg_upgrade.c:711
 #, c-format
 msgid "Setting oldest XID for new cluster"
 msgstr "Установка старейшего OID для нового кластера"
 
-#: pg_upgrade.c:662
+#: pg_upgrade.c:719
 #, c-format
 msgid "Setting next transaction ID and epoch for new cluster"
 msgstr ""
 "Установка следующего идентификатора транзакции и эпохи для нового кластера"
 
-#: pg_upgrade.c:692
+#: pg_upgrade.c:749
 #, c-format
 msgid "Setting next multixact ID and offset for new cluster"
 msgstr ""
 "Установка следующего идентификатора и смещения мультитранзакции для нового "
 "кластера"
 
-#: pg_upgrade.c:716
+#: pg_upgrade.c:773
 #, c-format
 msgid "Setting oldest multixact ID in new cluster"
 msgstr "Установка старейшего идентификатора мультитранзакции в новом кластере"
 
-#: pg_upgrade.c:736
+#: pg_upgrade.c:793
 #, c-format
 msgid "Resetting WAL archives"
 msgstr "Сброс архивов WAL"
 
-#: pg_upgrade.c:779
+#: pg_upgrade.c:836
 #, c-format
 msgid "Setting frozenxid and minmxid counters in new cluster"
 msgstr "Установка счётчиков frozenxid и minmxid в новом кластере"
 
-#: pg_upgrade.c:781
+#: pg_upgrade.c:838
 #, c-format
 msgid "Setting minmxid counter in new cluster"
 msgstr "Установка счётчика minmxid в новом кластере"
 
+#: pg_upgrade.c:929
+#, c-format
+msgid "Restoring logical replication slots in the new cluster"
+msgstr "Восстановление слотов логической репликации в новом кластере"
+
 #: relfilenumber.c:35
 #, c-format
 msgid "Cloning user relation files"
@@ -1706,38 +2005,49 @@ msgstr "Копирование файлов пользовательских о
 
 #: relfilenumber.c:41
 #, c-format
+msgid "Copying user relation files with copy_file_range"
+msgstr ""
+"Копирование файлов пользовательских отношений с помощью copy_file_range"
+
+#: relfilenumber.c:44
+#, c-format
 msgid "Linking user relation files"
 msgstr "Подключение файлов пользовательских отношений ссылками"
 
-#: relfilenumber.c:115
+#: relfilenumber.c:118
 #, c-format
 msgid "old database \"%s\" not found in the new cluster"
 msgstr "старая база данных \"%s\" не найдена в новом кластере"
 
-#: relfilenumber.c:218
+#: relfilenumber.c:221
 #, c-format
 msgid ""
-"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s"
+"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr ""
-"ошибка при проверке существования файла отношения \"%s.%s\" (перенос \"%s\" "
-"в \"%s\"): %s"
+"ошибка при проверке существования файла \"%s.%s\" (перенос \"%s\" в \"%s\"): "
+"%m"
 
-#: relfilenumber.c:236
+#: relfilenumber.c:238
 #, c-format
 msgid "rewriting \"%s\" to \"%s\""
 msgstr "переписывание \"%s\" в \"%s\""
 
-#: relfilenumber.c:244
+#: relfilenumber.c:246
 #, c-format
 msgid "cloning \"%s\" to \"%s\""
 msgstr "клонирование \"%s\" в \"%s\""
 
-#: relfilenumber.c:249
+#: relfilenumber.c:251
 #, c-format
 msgid "copying \"%s\" to \"%s\""
 msgstr "копирование \"%s\" в \"%s\""
 
-#: relfilenumber.c:254
+#: relfilenumber.c:256
+#, c-format
+msgid "copying \"%s\" to \"%s\" with copy_file_range"
+msgstr "копирование \"%s\" в \"%s\" с помощью copy_file_range"
+
+#: relfilenumber.c:261
 #, c-format
 msgid "linking \"%s\" to \"%s\""
 msgstr "создание ссылки на \"%s\" в \"%s\""
@@ -1773,7 +2083,7 @@ msgstr "не удалось открыть файл с версией \"%s\": %m
 msgid "could not parse version file \"%s\""
 msgstr "не удалось разобрать файл с версией \"%s\""
 
-#: server.c:288
+#: server.c:310
 #, c-format
 msgid ""
 "\n"
@@ -1782,7 +2092,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: server.c:292
+#: server.c:314
 #, c-format
 msgid ""
 "could not connect to source postmaster started with the command:\n"
@@ -1792,7 +2102,7 @@ msgstr ""
 "командой:\n"
 "%s"
 
-#: server.c:296
+#: server.c:318
 #, c-format
 msgid ""
 "could not connect to target postmaster started with the command:\n"
@@ -1802,26 +2112,26 @@ msgstr ""
 "командой:\n"
 "%s"
 
-#: server.c:310
+#: server.c:332
 #, c-format
 msgid "pg_ctl failed to start the source server, or connection failed"
 msgstr ""
 "программа pg_ctl не смогла запустить исходный сервер, либо к нему не удалось "
 "подключиться"
 
-#: server.c:312
+#: server.c:334
 #, c-format
 msgid "pg_ctl failed to start the target server, or connection failed"
 msgstr ""
 "программа pg_ctl не смогла запустить целевой сервер, либо к нему не удалось "
 "подключиться"
 
-#: server.c:357
+#: server.c:379
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
-#: server.c:370
+#: server.c:392
 #, c-format
 msgid "libpq environment variable %s has a non-local server value: %s"
 msgstr ""
@@ -1843,9 +2153,9 @@ msgstr "каталог табличного пространства \"%s\" не
 
 #: tablespace.c:87
 #, c-format
-msgid "could not stat tablespace directory \"%s\": %s"
+msgid "could not stat tablespace directory \"%s\": %m"
 msgstr ""
-"не удалось получить информацию о каталоге табличного пространства \"%s\": %s"
+"не удалось получить информацию о каталоге табличного пространства \"%s\": %m"
 
 #: tablespace.c:92
 #, c-format
@@ -1860,74 +2170,24 @@ msgstr "%-*s"
 #: util.c:107
 #, c-format
 msgid "could not access directory \"%s\": %m"
-msgstr "оÑ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па к каталогу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к каталогу \"%s\": %m"
 
 #: util.c:287
 #, c-format
 msgid "ok"
 msgstr "ок"
 
-#: version.c:184
-#, c-format
-msgid "Checking for incompatible \"line\" data type"
-msgstr "Проверка несовместимого типа данных \"line\""
-
-#: version.c:193
-#, c-format
-msgid ""
-"Your installation contains the \"line\" data type in user tables.\n"
-"This data type changed its internal and input/output format\n"
-"between your old and new versions so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"В вашей инсталляции пользовательские таблицы используют тип данных "
-"\"line\".\n"
-"В старом кластере внутренний формат и формат ввода/вывода этого типа "
-"отличается\n"
-"от нового, поэтому в настоящем состоянии обновить кластер невозможно. Вы "
-"можете\n"
-"удалить проблемные столбцы и перезапустить обновление. Список проблемных\n"
-"столбцов приведён в файле:\n"
-"    %s"
-
-#: version.c:224
-#, c-format
-msgid "Checking for invalid \"unknown\" user columns"
-msgstr "Проверка неправильных пользовательских столбцов типа \"unknown\""
-
-#: version.c:233
-#, c-format
-msgid ""
-"Your installation contains the \"unknown\" data type in user tables.\n"
-"This data type is no longer allowed in tables, so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"В вашей инсталляции пользовательские таблицы используют тип данных "
-"\"unknown\".\n"
-"Теперь использование этого типа данных в таблицах не допускается, поэтому\n"
-"в настоящем состоянии обновить кластер невозможно. Вы можете удалить "
-"проблемные\n"
-"столбцы и перезапустить обновление. Список проблемных столбцов приведён в "
-"файле:\n"
-"    %s"
-
-#: version.c:257
+#: version.c:44
 #, c-format
 msgid "Checking for hash indexes"
 msgstr "Проверка хеш-индексов"
 
-#: version.c:335
+#: version.c:121
 #, c-format
 msgid "warning"
 msgstr "предупреждение"
 
-#: version.c:337
+#: version.c:123
 #, c-format
 msgid ""
 "\n"
@@ -1942,7 +2202,7 @@ msgstr ""
 "перестроить с помощью команды REINDEX. По завершении обновления вы получите\n"
 "инструкции по выполнению REINDEX."
 
-#: version.c:343
+#: version.c:129
 #, c-format
 msgid ""
 "\n"
@@ -1961,40 +2221,17 @@ msgstr ""
 "будучи выполненным администратором БД в psql, пересоздаст все неправильные\n"
 "индексы; до этого никакие хеш-индексы не будут использоваться."
 
-#: version.c:369
-#, c-format
-msgid "Checking for invalid \"sql_identifier\" user columns"
-msgstr ""
-"Проверка неправильных пользовательских столбцов типа \"sql_identifier\""
-
-#: version.c:379
-#, c-format
-msgid ""
-"Your installation contains the \"sql_identifier\" data type in user tables.\n"
-"The on-disk format for this data type has changed, so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"В вашей инсталляции пользовательские таблицы используют тип данных\n"
-"\"sql_identifier\". Формат хранения таких данных на диске поменялся,\n"
-"поэтому обновить данный кластер невозможно. Вы можете удалить проблемные\n"
-"столбцы и перезапустить обновление.\n"
-"Список проблемных столбцов приведён в файле:\n"
-"    %s"
-
-#: version.c:402
+#: version.c:153
 #, c-format
 msgid "Checking for extension updates"
 msgstr "Проверка обновлённых расширений"
 
-#: version.c:450
+#: version.c:200
 #, c-format
 msgid "notice"
 msgstr "замечание"
 
-#: version.c:451
+#: version.c:201
 #, c-format
 msgid ""
 "\n"
@@ -2011,6 +2248,10 @@ msgstr ""
 "будучи выполненным администратором БД в psql, обновит все\n"
 "эти расширения."
 
+#, c-format
+#~ msgid "Checking for incompatible \"jsonb\" data type"
+#~ msgstr "Проверка несовместимого типа данных \"jsonb\""
+
 #, c-format
 #~ msgid ""
 #~ "encodings for database \"%s\" do not match:  old \"%s\", new \"%s\"\n"
@@ -2168,9 +2409,6 @@ msgstr ""
 #~ msgid " "
 #~ msgstr " "
 
-#~ msgid "Checking for large objects"
-#~ msgstr "Проверка больших объектов"
-
 #~ msgid ""
 #~ "\n"
 #~ "Your installation contains large objects.  The new database has an\n"
index 64005feedfdcebc0d269b575a993435c76fdab38..e569659ec004410e4ab29c8a1a037d4147232bfd 100644 (file)
@@ -1,10 +1,10 @@
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_verifybackup (PostgreSQL) 13\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2023-08-30 12:42+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 09:48+0300\n"
 "Last-Translator: Alexander Lakhin <a.lakhin@postgrespro.ru>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -35,6 +35,81 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/controldata_utils.c:97
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438
+#: pg_verifybackup.c:476 pg_verifybackup.c:896
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:119
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#: pg_verifybackup.c:902
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "не удалось закрыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных."
+
+#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406
+#: pg_verifybackup.c:865
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "не удалось записать файл \"%s\": %m"
+
+#: ../../common/controldata_utils.c:268
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356
+#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853
+#, c-format
+msgid "out of memory"
+msgstr "нехватка памяти"
+
+#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272
+#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376
+msgid "success"
+msgstr "успех"
+
+#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370
+msgid "destination buffer too small"
+msgstr "буфер назначения слишком мал"
+
+#: ../../common/cryptohash_openssl.c:372
+msgid "OpenSSL failure"
+msgstr "ошибка OpenSSL"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -46,74 +121,91 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: ../../common/jsonapi.c:1144
+#: ../../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr ""
+"Инкрементальный лексический анализатор не подходит для нисходящего "
+"рекурсивного разбора."
+
+#: ../../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr ""
+"Для инкрементального разбора требуется инкрементальный лексический "
+"анализатор."
+
+#: ../../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr ""
+"Слишком большая вложенность JSON, максимальная допустимая глубина: 6400."
+
+#: ../../common/jsonapi.c:2127
 #, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
-msgstr "Неверная спецпоследовательность: \"\\%s\"."
+msgid "Escape sequence \"\\%.*s\" is invalid."
+msgstr "Неверная спецпоследовательность: \"\\%.*s\"."
 
-#: ../../common/jsonapi.c:1147
+#: ../../common/jsonapi.c:2131
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Символ с кодом 0x%02x необходимо экранировать."
 
-#: ../../common/jsonapi.c:1150
+#: ../../common/jsonapi.c:2135
 #, c-format
-msgid "Expected end of input, but found \"%s\"."
-msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"."
+msgid "Expected end of input, but found \"%.*s\"."
+msgstr "Ожидался конец текста, но обнаружено продолжение \"%.*s\"."
 
-#: ../../common/jsonapi.c:1153
+#: ../../common/jsonapi.c:2138
 #, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
+msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1156
+#: ../../common/jsonapi.c:2141
 #, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
+msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1159
+#: ../../common/jsonapi.c:2144
 #, c-format
-msgid "Expected \":\", but found \"%s\"."
-msgstr "Ожидалось \":\", но обнаружено \"%s\"."
+msgid "Expected \":\", but found \"%.*s\"."
+msgstr "Ожидалось \":\", но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1162
+#: ../../common/jsonapi.c:2147
 #, c-format
-msgid "Expected JSON value, but found \"%s\"."
-msgstr "Ожидалось значение JSON, но обнаружено \"%s\"."
+msgid "Expected JSON value, but found \"%.*s\"."
+msgstr "Ожидалось значение JSON, но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1165
+#: ../../common/jsonapi.c:2150
 msgid "The input string ended unexpectedly."
 msgstr "Неожиданный конец входной строки."
 
-#: ../../common/jsonapi.c:1167
+#: ../../common/jsonapi.c:2152
 #, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"."
+msgid "Expected string or \"}\", but found \"%.*s\"."
+msgstr "Ожидалась строка или \"}\", но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1170
+#: ../../common/jsonapi.c:2155
 #, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
+msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1173
+#: ../../common/jsonapi.c:2158
 #, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "Ожидалась строка, но обнаружено \"%s\"."
+msgid "Expected string, but found \"%.*s\"."
+msgstr "Ожидалась строка, но обнаружено \"%.*s\"."
 
-#: ../../common/jsonapi.c:1176
+#: ../../common/jsonapi.c:2161
 #, c-format
-msgid "Token \"%s\" is invalid."
-msgstr "Ошибочный элемент текста \"%s\"."
+msgid "Token \"%.*s\" is invalid."
+msgstr "Ошибочный элемент \"%.*s\"."
 
-#: ../../common/jsonapi.c:1179
+#: ../../common/jsonapi.c:2164
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 нельзя преобразовать в текст."
 
-#: ../../common/jsonapi.c:1181
+#: ../../common/jsonapi.c:2166
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры."
 
-#: ../../common/jsonapi.c:1184
+#: ../../common/jsonapi.c:2169
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
 "the encoding is not UTF8."
@@ -121,327 +213,331 @@ msgstr ""
 "Спецкоды Unicode для значений выше 007F можно использовать только с "
 "кодировкой UTF8."
 
-#: ../../common/jsonapi.c:1187
+#: ../../common/jsonapi.c:2178
 #, c-format
 msgid ""
 "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s."
 
-#: ../../common/jsonapi.c:1190
+#: ../../common/jsonapi.c:2185
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr ""
 "Старшее слово суррогата Unicode не может следовать за другим старшим словом."
 
-#: ../../common/jsonapi.c:1192
+#: ../../common/jsonapi.c:2187
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом."
 
-#: parse_manifest.c:150
-msgid "parsing failed"
-msgstr "ошибка при разборе"
+#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "не удалось подготовить контекст контрольной суммы манифеста"
 
-#: parse_manifest.c:152
+#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261
 msgid "manifest ended unexpectedly"
 msgstr "неожиданный конец манифеста"
 
-#: parse_manifest.c:191
+#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862
+#, c-format
+msgid "could not update checksum of manifest"
+msgstr "не удалось изменить контекст контрольной суммы манифеста"
+
+#: ../../common/parse_manifest.c:302
 msgid "unexpected object start"
 msgstr "неожиданное начало объекта"
 
-#: parse_manifest.c:226
+#: ../../common/parse_manifest.c:337
 msgid "unexpected object end"
 msgstr "неожиданный конец объекта"
 
-#: parse_manifest.c:255
+#: ../../common/parse_manifest.c:366
 msgid "unexpected array start"
 msgstr "неожиданное начало массива"
 
-#: parse_manifest.c:280
+#: ../../common/parse_manifest.c:391
 msgid "unexpected array end"
 msgstr "неожиданный конец массива"
 
-#: parse_manifest.c:307
+#: ../../common/parse_manifest.c:418
 msgid "expected version indicator"
 msgstr "ожидалось указание версии"
 
-#: parse_manifest.c:336
+#: ../../common/parse_manifest.c:454
 msgid "unrecognized top-level field"
 msgstr "нераспознанное поле на верхнем уровне"
 
-#: parse_manifest.c:355
+#: ../../common/parse_manifest.c:473
 msgid "unexpected file field"
 msgstr "неизвестное поле для файла"
 
-#: parse_manifest.c:369
+#: ../../common/parse_manifest.c:487
 msgid "unexpected WAL range field"
 msgstr "неизвестное поле в указании диапазона WAL"
 
-#: parse_manifest.c:375
+#: ../../common/parse_manifest.c:493
 msgid "unexpected object field"
 msgstr "неожиданное поле объекта"
 
-#: parse_manifest.c:407
+#: ../../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "неожиданное скалярное значение"
+
+#: ../../common/parse_manifest.c:609
+msgid "manifest version not an integer"
+msgstr "версия манифеста не является целым числом"
+
+#: ../../common/parse_manifest.c:613
 msgid "unexpected manifest version"
 msgstr "неожиданная версия манифеста"
 
-#: parse_manifest.c:458
-msgid "unexpected scalar"
-msgstr "неожиданное Ñ\81калÑ\8fÑ\80ное Ð·Ð½Ð°Ñ\87ение"
+#: ../../common/parse_manifest.c:637
+msgid "system identifier in manifest not an integer"
+msgstr "иденÑ\82иÑ\84икаÑ\82оÑ\80 Ñ\81иÑ\81Ñ\82емÑ\8b Ð² Ð¼Ð°Ð½Ð¸Ñ\84еÑ\81Ñ\82е Ð½Ðµ Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f Ñ\86елÑ\8bм Ñ\87иÑ\81лом"
 
-#: parse_manifest.c:484
+#: ../../common/parse_manifest.c:662
 msgid "missing path name"
 msgstr "отсутствует указание пути"
 
-#: parse_manifest.c:487
+#: ../../common/parse_manifest.c:665
 msgid "both path name and encoded path name"
-msgstr "указание пути задано в обычном виде и в закодированном"
+msgstr "путь задан в обычном виде и в закодированном"
 
-#: parse_manifest.c:489
+#: ../../common/parse_manifest.c:667
 msgid "missing size"
 msgstr "отсутствует указание размера"
 
-#: parse_manifest.c:492
+#: ../../common/parse_manifest.c:670
 msgid "checksum without algorithm"
 msgstr "не задан алгоритм расчёта контрольной суммы"
 
-#: parse_manifest.c:506
+#: ../../common/parse_manifest.c:684
 msgid "could not decode file name"
 msgstr "не удалось декодировать имя файла"
 
-#: parse_manifest.c:516
+#: ../../common/parse_manifest.c:694
 msgid "file size is not an integer"
 msgstr "размер файла не является целочисленным"
 
-#: parse_manifest.c:522
+#: ../../common/parse_manifest.c:700
 #, c-format
 msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\""
 
-#: parse_manifest.c:541
+#: ../../common/parse_manifest.c:719
 #, c-format
 msgid "invalid checksum for file \"%s\": \"%s\""
 msgstr "неверная контрольная сумма для файла \"%s\": \"%s\""
 
-#: parse_manifest.c:584
+#: ../../common/parse_manifest.c:762
 msgid "missing timeline"
 msgstr "отсутствует линия времени"
 
-#: parse_manifest.c:586
+#: ../../common/parse_manifest.c:764
 msgid "missing start LSN"
 msgstr "отсутствует начальный LSN"
 
-#: parse_manifest.c:588
+#: ../../common/parse_manifest.c:766
 msgid "missing end LSN"
 msgstr "отсутствует конечный LSN"
 
-#: parse_manifest.c:594
+#: ../../common/parse_manifest.c:772
 msgid "timeline is not an integer"
-msgstr "линия времени задаётся не целым числом"
+msgstr "линия времени задана не целым числом"
 
-#: parse_manifest.c:597
+#: ../../common/parse_manifest.c:775
 msgid "could not parse start LSN"
 msgstr "не удалось разобрать начальный LSN"
 
-#: parse_manifest.c:600
+#: ../../common/parse_manifest.c:778
 msgid "could not parse end LSN"
 msgstr "не удалось разобрать конечный LSN"
 
-#: parse_manifest.c:661
+#: ../../common/parse_manifest.c:843
 msgid "expected at least 2 lines"
 msgstr "ожидалось как минимум 2 строки"
 
-#: parse_manifest.c:664
+#: ../../common/parse_manifest.c:846
 msgid "last line not newline-terminated"
 msgstr "последняя строка не оканчивается символом новой строки"
 
-#: parse_manifest.c:669
-#, c-format
-msgid "out of memory"
-msgstr "нехватка памяти"
-
-#: parse_manifest.c:671
-#, c-format
-msgid "could not initialize checksum of manifest"
-msgstr "не удалось подготовить контекст контрольной суммы манифеста"
-
-#: parse_manifest.c:673
-#, c-format
-msgid "could not update checksum of manifest"
-msgstr "не удалось изменить контекст контрольной суммы манифеста"
-
-#: parse_manifest.c:676
+#: ../../common/parse_manifest.c:865
 #, c-format
 msgid "could not finalize checksum of manifest"
 msgstr "не удалось завершить расчёт контрольной суммы манифеста"
 
-#: parse_manifest.c:680
+#: ../../common/parse_manifest.c:869
 #, c-format
 msgid "manifest has no checksum"
 msgstr "в манифесте нет контрольной суммы"
 
-#: parse_manifest.c:684
+#: ../../common/parse_manifest.c:873
 #, c-format
 msgid "invalid manifest checksum: \"%s\""
 msgstr "неверная контрольная сумма в манифесте: \"%s\""
 
-#: parse_manifest.c:688
+#: ../../common/parse_manifest.c:877
 #, c-format
 msgid "manifest checksum mismatch"
 msgstr "ошибка контрольной суммы манифеста"
 
-#: parse_manifest.c:703
+#: ../../common/parse_manifest.c:892
 #, c-format
 msgid "could not parse backup manifest: %s"
 msgstr "не удалось разобрать манифест копии: %s"
 
-#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293
+#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: pg_verifybackup.c:281
+#: pg_verifybackup.c:285
 #, c-format
 msgid "no backup directory specified"
 msgstr "каталог копии не указан"
 
-#: pg_verifybackup.c:291
+#: pg_verifybackup.c:295
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_verifybackup.c:299
+#: pg_verifybackup.c:303
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "указать %s и %s одновременно нельзя"
 
-#: pg_verifybackup.c:319
+#: pg_verifybackup.c:323
 #, c-format
 msgid ""
 "program \"%s\" is needed by %s but was not found in the same directory as "
 "\"%s\""
 msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\""
 
-#: pg_verifybackup.c:322
+#: pg_verifybackup.c:326
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr ""
 "программа \"%s\" найдена программой \"%s\", но её версия отличается от "
 "версии %s"
 
-#: pg_verifybackup.c:378
+#: pg_verifybackup.c:381
 #, c-format
 msgid "backup successfully verified\n"
 msgstr "копия проверена успешно\n"
 
-#: pg_verifybackup.c:404 pg_verifybackup.c:748
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
-
-#: pg_verifybackup.c:408
+#: pg_verifybackup.c:410
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: pg_verifybackup.c:428 pg_verifybackup.c:779
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "не удалось прочитать файл \"%s\": %m"
-
-#: pg_verifybackup.c:431
+#: pg_verifybackup.c:440
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)"
 
-#: pg_verifybackup.c:491
+#: pg_verifybackup.c:478
+#, c-format
+msgid "could not read file \"%s\": read %lld of %lld"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %lld из %lld)"
+
+#: pg_verifybackup.c:561
 #, c-format
 msgid "duplicate path name in backup manifest: \"%s\""
 msgstr "дублирующийся путь в манифесте копии: \"%s\""
 
-#: pg_verifybackup.c:554 pg_verifybackup.c:561
+#: pg_verifybackup.c:624 pg_verifybackup.c:631
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: pg_verifybackup.c:593
+#: pg_verifybackup.c:663
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "не удалось закрыть каталог \"%s\": %m"
 
-#: pg_verifybackup.c:613
+#: pg_verifybackup.c:683
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m"
 
-#: pg_verifybackup.c:636
+#: pg_verifybackup.c:706
 #, c-format
 msgid "\"%s\" is not a file or directory"
 msgstr "\"%s\" не указывает на файл или каталог"
 
-#: pg_verifybackup.c:646
+#: pg_verifybackup.c:716
 #, c-format
 msgid "\"%s\" is present on disk but not in the manifest"
 msgstr "файл \"%s\" присутствует на диске, но отсутствует в манифесте"
 
-#: pg_verifybackup.c:658
+#: pg_verifybackup.c:728
 #, c-format
 msgid "\"%s\" has size %lld on disk but size %zu in the manifest"
 msgstr ""
 "файл \"%s\" имеет размер на диске: %lld, тогда как размер в манифесте: %zu"
 
-#: pg_verifybackup.c:689
+#: pg_verifybackup.c:768
+#, c-format
+msgid "%s: CRC is incorrect"
+msgstr "%s: ошибка CRC"
+
+#: pg_verifybackup.c:772
+#, c-format
+msgid "%s: unexpected control file version"
+msgstr "%s: неожиданная версия управляющего файла"
+
+#: pg_verifybackup.c:777
+#, c-format
+msgid "%s: manifest system identifier is %llu, but control file has %llu"
+msgstr "%s: идентификатор системы в манифесте %llu, а в управляющем файле %llu"
+
+#: pg_verifybackup.c:801
 #, c-format
 msgid "\"%s\" is present in the manifest but not on disk"
 msgstr "файл \"%s\" присутствует в манифесте, но отсутствует на диске"
 
-#: pg_verifybackup.c:756
+#: pg_verifybackup.c:873
 #, c-format
 msgid "could not initialize checksum of file \"%s\""
 msgstr "не удалось подготовить контекст контрольной суммы файла \"%s\""
 
-#: pg_verifybackup.c:768
+#: pg_verifybackup.c:885
 #, c-format
 msgid "could not update checksum of file \"%s\""
 msgstr "не удалось изменить контекст контрольной суммы файла \"%s\""
 
-#: pg_verifybackup.c:785
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "не удалось закрыть файл \"%s\": %m"
-
-#: pg_verifybackup.c:804
+#: pg_verifybackup.c:921
 #, c-format
 msgid "file \"%s\" should contain %zu bytes, but read %zu bytes"
 msgstr "файл \"%s\" должен содержать байт: %zu, но фактически прочитано: %zu"
 
-#: pg_verifybackup.c:814
+#: pg_verifybackup.c:931
 #, c-format
 msgid "could not finalize checksum of file \"%s\""
 msgstr "не удалось завершить расчёт контрольной суммы файла \"%s\""
 
-#: pg_verifybackup.c:822
+#: pg_verifybackup.c:939
 #, c-format
 msgid "file \"%s\" has checksum of length %d, but expected %d"
 msgstr ""
 "для файла \"%s\" задана контрольная сумма размером %d, но ожидаемый размер: "
 "%d"
 
-#: pg_verifybackup.c:826
+#: pg_verifybackup.c:943
 #, c-format
 msgid "checksum mismatch for file \"%s\""
 msgstr "ошибка контрольной суммы для файла \"%s\""
 
-#: pg_verifybackup.c:851
+#: pg_verifybackup.c:969
 #, c-format
 msgid "WAL parsing failed for timeline %u"
 msgstr "не удалось разобрать WAL для линии времени %u"
 
-#: pg_verifybackup.c:965
+#: pg_verifybackup.c:1072
 #, c-format
 msgid "%*s/%s kB (%d%%) verified"
 msgstr "%*s/%s КБ (%d%%) проверено"
 
-#: pg_verifybackup.c:982
+#: pg_verifybackup.c:1089
 #, c-format
 msgid ""
 "%s verifies a backup against the backup manifest.\n"
@@ -450,7 +546,7 @@ msgstr ""
 "%s проверяет резервную копию, используя манифест копии.\n"
 "\n"
 
-#: pg_verifybackup.c:983
+#: pg_verifybackup.c:1090
 #, c-format
 msgid ""
 "Usage:\n"
@@ -461,67 +557,67 @@ msgstr ""
 "  %s [ПАРАМЕТР]... КАТАЛОГ_КОПИИ\n"
 "\n"
 
-#: pg_verifybackup.c:984
+#: pg_verifybackup.c:1091
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: pg_verifybackup.c:985
+#: pg_verifybackup.c:1092
 #, c-format
 msgid "  -e, --exit-on-error         exit immediately on error\n"
 msgstr "  -e, --exit-on-error         немедленный выход при ошибке\n"
 
-#: pg_verifybackup.c:986
+#: pg_verifybackup.c:1093
 #, c-format
 msgid "  -i, --ignore=RELATIVE_PATH  ignore indicated path\n"
 msgstr ""
 "  -i, --ignore=ОТНОСИТЕЛЬНЫЙ_ПУТЬ\n"
 "                              игнорировать заданный путь\n"
 
-#: pg_verifybackup.c:987
+#: pg_verifybackup.c:1094
 #, c-format
 msgid "  -m, --manifest-path=PATH    use specified path for manifest\n"
 msgstr "  -m, --manifest-path=ПУТЬ    использовать заданный файл манифеста\n"
 
-#: pg_verifybackup.c:988
+#: pg_verifybackup.c:1095
 #, c-format
 msgid "  -n, --no-parse-wal          do not try to parse WAL files\n"
 msgstr "  -n, --no-parse-wal          не пытаться разбирать файлы WAL\n"
 
-#: pg_verifybackup.c:989
+#: pg_verifybackup.c:1096
 #, c-format
 msgid "  -P, --progress              show progress information\n"
 msgstr "  -P, --progress              показывать прогресс операции\n"
 
-#: pg_verifybackup.c:990
+#: pg_verifybackup.c:1097
 #, c-format
 msgid ""
 "  -q, --quiet                 do not print any output, except for errors\n"
 msgstr ""
 "  -q, --quiet                 не выводить никаких сообщений, кроме ошибок\n"
 
-#: pg_verifybackup.c:991
+#: pg_verifybackup.c:1098
 #, c-format
 msgid "  -s, --skip-checksums        skip checksum verification\n"
 msgstr "  -s, --skip-checksums        пропустить проверку контрольных сумм\n"
 
-#: pg_verifybackup.c:992
+#: pg_verifybackup.c:1099
 #, c-format
 msgid "  -w, --wal-directory=PATH    use specified path for WAL files\n"
 msgstr ""
 "  -w, --wal-directory=ПУТЬ    использовать заданный путь к файлам WAL\n"
 
-#: pg_verifybackup.c:993
+#: pg_verifybackup.c:1100
 #, c-format
 msgid "  -V, --version               output version information, then exit\n"
 msgstr "  -V, --version               показать версию и выйти\n"
 
-#: pg_verifybackup.c:994
+#: pg_verifybackup.c:1101
 #, c-format
 msgid "  -?, --help                  show this help, then exit\n"
 msgstr "  -?, --help                  показать эту справку и выйти\n"
 
-#: pg_verifybackup.c:995
+#: pg_verifybackup.c:1102
 #, c-format
 msgid ""
 "\n"
@@ -530,10 +626,13 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_verifybackup.c:996
+#: pg_verifybackup.c:1103
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
+#~ msgid "parsing failed"
+#~ msgstr "ошибка при разборе"
+
 #~ msgid "fatal: "
 #~ msgstr "важно: "
index 4a2754d7ea93bc4802c80a542670ad457eda9681..bafe5a3233c66641a5e2824477ec547e76f38698 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pg_waldump
 # Copyright (C) 2017 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2022, 2023.
+# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pg_waldump (PostgreSQL) 10\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-02-02 18:10+0300\n"
-"PO-Revision-Date: 2023-08-30 15:41+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 08:59+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -37,6 +37,60 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199
+#: pg_waldump.c:532
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_waldump.c:1104 pg_waldump.c:1127
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: pg_waldump.c:137
 #, c-format
 msgid "could not create directory \"%s\": %m"
@@ -50,88 +104,79 @@ msgstr "каталог \"%s\" существует, но он не пуст"
 #: pg_waldump.c:150
 #, c-format
 msgid "could not access directory \"%s\": %m"
-msgstr "оÑ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па к каталогу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к каталогу \"%s\": %m"
 
-#: pg_waldump.c:199 pg_waldump.c:528
+#: pg_waldump.c:256
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
+msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)"
+msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)"
+msgstr[0] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)"
+msgstr[1] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)"
+msgstr[2] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)"
 
-#: pg_waldump.c:255
+#: pg_waldump.c:260
 #, c-format
-msgid ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
-"file \"%s\" header specifies %d byte"
-msgid_plural ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL "
-"file \"%s\" header specifies %d bytes"
-msgstr[0] ""
-"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
-msgstr[1] ""
-"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
-msgstr[2] ""
-"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ."
 
-#: pg_waldump.c:261
+#: pg_waldump.c:265
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: pg_waldump.c:264
+#: pg_waldump.c:268
 #, c-format
 msgid "could not read file \"%s\": read %d of %d"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d)"
 
-#: pg_waldump.c:325
+#: pg_waldump.c:329
 #, c-format
 msgid "could not locate WAL file \"%s\""
 msgstr "не удалось найти файл WAL \"%s\""
 
-#: pg_waldump.c:327
+#: pg_waldump.c:331
 #, c-format
 msgid "could not find any WAL file"
 msgstr "не удалось найти ни одного файла WAL"
 
-#: pg_waldump.c:368
+#: pg_waldump.c:372
 #, c-format
 msgid "could not find file \"%s\": %m"
 msgstr "не удалось найти файл \"%s\": %m"
 
-#: pg_waldump.c:417
+#: pg_waldump.c:421
 #, c-format
-msgid "could not read from file %s, offset %d: %m"
-msgstr "не удалось прочитать из файла %s по смещению %d: %m"
+msgid "could not read from file \"%s\", offset %d: %m"
+msgstr "не удалось прочитать файл \"%s\" по смещению %d: %m"
 
-#: pg_waldump.c:421
+#: pg_waldump.c:425
 #, c-format
-msgid "could not read from file %s, offset %d: read %d of %d"
+msgid "could not read from file \"%s\", offset %d: read %d of %d"
 msgstr ""
-"не удалось прочитать из файла %s по смещению %d (прочитано байт: %d из %d)"
+"не удалось прочитать файл \"%s\" по смещению %d (прочитано байт: %d из %d)"
 
-#: pg_waldump.c:511
+#: pg_waldump.c:515
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_waldump.c:519
+#: pg_waldump.c:523
 #, c-format
 msgid "invalid fork number: %u"
 msgstr "неверный номер слоя: %u"
 
-#: pg_waldump.c:531
+#: pg_waldump.c:535
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: pg_waldump.c:534
+#: pg_waldump.c:538
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
 
-#: pg_waldump.c:754
+#: pg_waldump.c:758
 #, c-format
 msgid ""
 "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
@@ -140,17 +185,17 @@ msgstr ""
 "%s декодирует и показывает журналы предзаписи PostgreSQL для целей отладки.\n"
 "\n"
 
-#: pg_waldump.c:756
+#: pg_waldump.c:760
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_waldump.c:757
+#: pg_waldump.c:761
 #, c-format
 msgid "  %s [OPTION]... [STARTSEG [ENDSEG]]\n"
 msgstr "  %s [ПАРАМЕТР]... [НАЧАЛЬНЫЙ_СЕГМЕНТ [КОНЕЧНЫЙ_СЕГМЕНТ]]\n"
 
-#: pg_waldump.c:758
+#: pg_waldump.c:762
 #, c-format
 msgid ""
 "\n"
@@ -159,14 +204,14 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: pg_waldump.c:759
+#: pg_waldump.c:763
 #, c-format
 msgid ""
 "  -b, --bkp-details      output detailed information about backup blocks\n"
 msgstr ""
 "  -b, --bkp-details      вывести подробную информацию о копиях страниц\n"
 
-#: pg_waldump.c:760
+#: pg_waldump.c:764
 #, c-format
 msgid ""
 "  -B, --block=N          with --relation, only show records that modify "
@@ -176,20 +221,20 @@ msgstr ""
 "                         записи, в которых меняется блок N\n"
 
 # well-spelled: ПОЗЗАП
-#: pg_waldump.c:761
+#: pg_waldump.c:765
 #, c-format
 msgid "  -e, --end=RECPTR       stop reading at WAL location RECPTR\n"
 msgstr ""
 "  -e, --end=ПОЗЗАП       прекратить чтение в заданной позиции записи в WAL\n"
 
-#: pg_waldump.c:762
+#: pg_waldump.c:766
 #, c-format
 msgid "  -f, --follow           keep retrying after reaching end of WAL\n"
 msgstr ""
 "  -f, --follow           повторять попытки чтения по достижении конца WAL\n"
 
 # well-spelled: МНГР
-#: pg_waldump.c:763
+#: pg_waldump.c:767
 #, c-format
 msgid ""
 "  -F, --fork=FORK        only show records that modify blocks in fork FORK;\n"
@@ -199,13 +244,13 @@ msgstr ""
 "СЛОЕ\n"
 "                         с именем из списка: main, fsm, vm, init\n"
 
-#: pg_waldump.c:765
+#: pg_waldump.c:769
 #, c-format
 msgid "  -n, --limit=N          number of records to display\n"
 msgstr "  -n, --limit=N          число выводимых записей\n"
 
 # skip-rule: space-before-period
-#: pg_waldump.c:766
+#: pg_waldump.c:770
 #, c-format
 msgid ""
 "  -p, --path=PATH        directory in which to find WAL segment files or a\n"
@@ -219,13 +264,13 @@ msgstr ""
 "                         (по умолчанию: текущий каталог,\n"
 "                         ./pg_wal, $PGDATA/pg_wal)\n"
 
-#: pg_waldump.c:769
+#: pg_waldump.c:773
 #, c-format
 msgid "  -q, --quiet            do not print any output, except for errors\n"
 msgstr "  -q, --quiet            не выводить никаких сообщений, кроме ошибок\n"
 
 # well-spelled: МНГР
-#: pg_waldump.c:770
+#: pg_waldump.c:774
 #, c-format
 msgid ""
 "  -r, --rmgr=RMGR        only show records generated by resource manager "
@@ -237,7 +282,7 @@ msgstr ""
 "                         для просмотра списка доступных менеджеров ресурсов\n"
 "                         укажите --rmgr=list\n"
 
-#: pg_waldump.c:772
+#: pg_waldump.c:776
 #, c-format
 msgid ""
 "  -R, --relation=T/D/R   only show records that modify blocks in relation T/"
@@ -247,14 +292,14 @@ msgstr ""
 "                         в отношении T/D/R\n"
 
 # well-spelled: ПОЗЗАП
-#: pg_waldump.c:773
+#: pg_waldump.c:777
 #, c-format
 msgid "  -s, --start=RECPTR     start reading at WAL location RECPTR\n"
 msgstr ""
 "  -s, --start=ПОЗЗАП     начать чтение с заданной позиции записи в WAL\n"
 
 # well-spelled: ЛВР
-#: pg_waldump.c:774
+#: pg_waldump.c:778
 #, c-format
 msgid ""
 "  -t, --timeline=TLI     timeline from which to read WAL records\n"
@@ -265,25 +310,25 @@ msgstr ""
 "аргументом\n"
 "                         НАЧАЛЬНЫЙ_СЕГМЕНТ)\n"
 
-#: pg_waldump.c:776
+#: pg_waldump.c:780
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          показать версию и выйти\n"
 
-#: pg_waldump.c:777
+#: pg_waldump.c:781
 #, c-format
 msgid "  -w, --fullpage         only show records with a full page write\n"
 msgstr ""
 "  -w, --fullpage         выводить только записи, содержащие полные страницы\n"
 
-#: pg_waldump.c:778
+#: pg_waldump.c:782
 #, c-format
 msgid "  -x, --xid=XID          only show records with transaction ID XID\n"
 msgstr ""
 "  -x, --xid=XID          выводить только записи с заданным\n"
 "                         идентификатором транзакции\n"
 
-#: pg_waldump.c:779
+#: pg_waldump.c:783
 #, c-format
 msgid ""
 "  -z, --stats[=record]   show statistics instead of records\n"
@@ -292,19 +337,19 @@ msgstr ""
 "  -z, --stats[=record]   показывать статистику вместо записей\n"
 "                         (также возможно получить статистику по записям)\n"
 
-#: pg_waldump.c:781
+#: pg_waldump.c:785
 #, c-format
 msgid "  --save-fullpage=DIR    save full page images to DIR\n"
 msgstr ""
 "  --save-fullpage=ПУТЬ   записывать полные образы страниц в заданный "
 "каталог\n"
 
-#: pg_waldump.c:782
+#: pg_waldump.c:786
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             показать эту справку и выйти\n"
 
-#: pg_waldump.c:783
+#: pg_waldump.c:787
 #, c-format
 msgid ""
 "\n"
@@ -313,200 +358,195 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: pg_waldump.c:784
+#: pg_waldump.c:788
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: pg_waldump.c:880
+#: pg_waldump.c:884
 #, c-format
 msgid "no arguments specified"
 msgstr "аргументы не указаны"
 
-#: pg_waldump.c:896
+#: pg_waldump.c:900
 #, c-format
 msgid "invalid block number: \"%s\""
 msgstr "неверный номер блока: \"%s\""
 
-#: pg_waldump.c:905 pg_waldump.c:1003
+#: pg_waldump.c:909 pg_waldump.c:1007
 #, c-format
 msgid "invalid WAL location: \"%s\""
 msgstr "неверная позиция в WAL: \"%s\""
 
-#: pg_waldump.c:918
+#: pg_waldump.c:922
 #, c-format
 msgid "invalid fork name: \"%s\""
 msgstr "неверное имя слоя: \"%s\""
 
-#: pg_waldump.c:926 pg_waldump.c:1029
+#: pg_waldump.c:930 pg_waldump.c:1033
 #, c-format
 msgid "invalid value \"%s\" for option %s"
 msgstr "неверное значение \"%s\" для параметра %s"
 
-#: pg_waldump.c:957
+#: pg_waldump.c:961
 #, c-format
 msgid "custom resource manager \"%s\" does not exist"
 msgstr "пользовательский менеджер ресурсов \"%s\" не существует"
 
-#: pg_waldump.c:978
+#: pg_waldump.c:982
 #, c-format
 msgid "resource manager \"%s\" does not exist"
 msgstr "менеджер ресурсов \"%s\" не существует"
 
-#: pg_waldump.c:993
+#: pg_waldump.c:997
 #, c-format
 msgid "invalid relation specification: \"%s\""
 msgstr "неверное указание отношения: \"%s\""
 
-#: pg_waldump.c:994
+#: pg_waldump.c:998
 #, c-format
 msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
 msgstr ""
 "Ожидается \"OID табл. пространства/OID базы данных/файловый узел отношения\"."
 
-#: pg_waldump.c:1036
+#: pg_waldump.c:1040
 #, c-format
 msgid "%s must be in range %u..%u"
 msgstr "значение %s должно быть в диапазоне %u..%u"
 
-#: pg_waldump.c:1051
+#: pg_waldump.c:1055
 #, c-format
 msgid "invalid transaction ID specification: \"%s\""
 msgstr "неверное указание ID транзакции: \"%s\""
 
-#: pg_waldump.c:1066
+#: pg_waldump.c:1070
 #, c-format
 msgid "unrecognized value for option %s: %s"
 msgstr "нераспознанное значение параметра %s: %s"
 
-#: pg_waldump.c:1083
+#: pg_waldump.c:1087
 #, c-format
 msgid "option %s requires option %s to be specified"
 msgstr "параметр %s требует указания параметра %s"
 
-#: pg_waldump.c:1090
+#: pg_waldump.c:1094
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: pg_waldump.c:1100 pg_waldump.c:1123
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "не удалось открыть каталог \"%s\": %m"
-
-#: pg_waldump.c:1129 pg_waldump.c:1159
+#: pg_waldump.c:1133 pg_waldump.c:1163
 #, c-format
 msgid "could not open file \"%s\""
 msgstr "не удалось открыть файл \"%s\""
 
-#: pg_waldump.c:1139
+#: pg_waldump.c:1143
 #, c-format
 msgid "start WAL location %X/%X is not inside file \"%s\""
 msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\""
 
-#: pg_waldump.c:1166
+#: pg_waldump.c:1170
 #, c-format
 msgid "ENDSEG %s is before STARTSEG %s"
 msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫЙ_СЕГМЕНТ %s"
 
-#: pg_waldump.c:1181
+#: pg_waldump.c:1185
 #, c-format
 msgid "end WAL location %X/%X is not inside file \"%s\""
 msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\""
 
-#: pg_waldump.c:1193
+#: pg_waldump.c:1197
 #, c-format
 msgid "no start WAL location given"
 msgstr "начальная позиция в WAL не задана"
 
-#: pg_waldump.c:1207
+#: pg_waldump.c:1211
 #, c-format
 msgid "out of memory while allocating a WAL reading processor"
 msgstr "не удалось выделить память для чтения WAL"
 
-#: pg_waldump.c:1213
+#: pg_waldump.c:1217
 #, c-format
 msgid "could not find a valid record after %X/%X"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\82елÑ\8cнÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¿Ð¾Ñ\81ле Ð¿Ð¾Ð·Ð¸Ñ\86ии %X/%X"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и ÐºÐ¾Ñ\80Ñ\80екÑ\82нÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¿Ð¾Ñ\81ле %X/%X"
 
-#: pg_waldump.c:1223
+#: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
 msgstr[0] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
 msgstr[1] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
 msgstr[2] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n"
+"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
 
-#: pg_waldump.c:1308
+#: pg_waldump.c:1312
 #, c-format
 msgid "error in WAL record at %X/%X: %s"
 msgstr "ошибка в записи WAL в позиции %X/%X: %s"
 
-#: pg_waldump.c:1317
+#: pg_waldump.c:1321
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: xlogreader.c:621
+#: xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: xlogreader.c:630
+#: xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "в позиции %X/%X запрошено продолжение записи"
 
-#: xlogreader.c:671 xlogreader.c:1136
+#: xlogreader.c:669 xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: xlogreader.c:760
+#: xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: xlogreader.c:773
+#: xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
 
-#: xlogreader.c:1144
+#: xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
 
-#: xlogreader.c:1157 xlogreader.c:1173
+#: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
 
-#: xlogreader.c:1211
+#: xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
 "%X/%X"
 
-#: xlogreader.c:1245
+#: xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1260 xlogreader.c:1302
+#: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1276
+#: xlogreader.c:1274
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -515,7 +555,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД "
 "%llu, а идентификатор системы pg_control: %llu"
 
-#: xlogreader.c:1284
+#: xlogreader.c:1282
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect segment size in page "
@@ -524,7 +564,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке "
 "страницы"
 
-#: xlogreader.c:1290
+#: xlogreader.c:1288
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
@@ -533,12 +573,12 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы"
 
-#: xlogreader.c:1322
+#: xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1348
+#: xlogreader.c:1346
 #, c-format
 msgid ""
 "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
@@ -547,23 +587,23 @@ msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
 "%s, LSN %X/%X, смещение %u"
 
-#: xlogreader.c:1754
+#: xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
 
-#: xlogreader.c:1778
+#: xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
 
-#: xlogreader.c:1785
+#: xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr ""
 "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
 
-#: xlogreader.c:1821
+#: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -572,21 +612,21 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
 "при длине образа блока %u в позиции %X/%X"
 
-#: xlogreader.c:1837
+#: xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
 "%u в позиции %X/%X"
 
-#: xlogreader.c:1851
+#: xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
 
-#: xlogreader.c:1866
+#: xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
@@ -595,41 +635,41 @@ msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
 "блока равна %u в позиции %X/%X"
 
-#: xlogreader.c:1882
+#: xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
-#: xlogreader.c:1894
+#: xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "неверный идентификатор блока %u в позиции %X/%X"
 
-#: xlogreader.c:1961
+#: xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "запись с неверной длиной в позиции %X/%X"
 
-#: xlogreader.c:1987
+#: xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "не удалось найти копию блока с ID %d в записи журнала WAL"
 
-#: xlogreader.c:2071
+#: xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
 
-#: xlogreader.c:2078
+#: xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
 
-#: xlogreader.c:2105 xlogreader.c:2122
+#: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with %s not supported by build, "
@@ -638,7 +678,7 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
-#: xlogreader.c:2131
+#: xlogreader.c:2126
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with unknown method, block %d"
@@ -646,7 +686,7 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
 "блок %d"
 
-#: xlogreader.c:2139
+#: xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
@@ -702,8 +742,5 @@ msgstr "не удалось развернуть образ в позиции %X
 #~ msgid "not enough data in file \"%s\""
 #~ msgstr "недостаточно данных в файле \"%s\""
 
-#~ msgid "out of memory"
-#~ msgstr "нехватка памяти"
-
 #~ msgid "path \"%s\" could not be opened: %s"
 #~ msgstr "не удалось открыть путь \"%s\": %s"
index 5ae3272f511470341753427e976e69d0365aeefb..fbab441b3e26608ea76c121eb21f401386779943 100644 (file)
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the PostgreSQL package.
 # Serguei A. Mokhov, <mokhov@cs.concordia.ca>, 2003-2004.
 # Oleg Bartunov <oleg@sai.msu.su>, 2004.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pgscripts (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-11-03 09:08+0300\n"
-"PO-Revision-Date: 2023-11-03 10:36+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-05 08:25+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -50,6 +50,48 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "не удалось получить информацию о файле \"%s\": %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "не удалось прочитать каталог \"%s\": %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
 #: ../../common/username.c:43
 #, c-format
 msgid "could not look up effective user ID %ld: %s"
@@ -64,11 +106,11 @@ msgstr "пользователь не существует"
 msgid "user name lookup failure: error code %lu"
 msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Сигнал отмены отправлен\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "Отправить сигнал отмены не удалось: "
 
@@ -96,6 +138,11 @@ msgstr "неверное значение \"%s\" для параметра %s"
 msgid "%s must be in range %d..%d"
 msgstr "значение %s должно быть в диапазоне %d..%d"
 
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "нераспознанный метод синхронизации: %s"
+
 #: ../../fe_utils/parallel_slot.c:317
 #, c-format
 msgid "too many jobs for this platform: %d"
@@ -129,19 +176,28 @@ msgstr[2] "(%lu строк)"
 msgid "Interrupted\n"
 msgstr "Прервано\n"
 
-#: ../../fe_utils/print.c:3218
+#: ../../fe_utils/print.c:3188
+#, c-format
+msgid ""
+"Cannot print table contents: number of cells %lld is equal to or exceeds "
+"maximum %lld.\n"
+msgstr ""
+"Вывести содержимое таблицы нельзя: число ячеек %lld достигло максимума "
+"%lld.\n"
+
+#: ../../fe_utils/print.c:3229
 #, c-format
 msgid "Cannot add header to table content: column count of %d exceeded.\n"
 msgstr ""
 "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n"
 
-#: ../../fe_utils/print.c:3258
+#: ../../fe_utils/print.c:3272
 #, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n"
 msgstr ""
-"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n"
+"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%lld).\n"
 
-#: ../../fe_utils/print.c:3516
+#: ../../fe_utils/print.c:3530
 #, c-format
 msgid "invalid output format (internal error): %d"
 msgstr "неверный формат вывода (внутренняя ошибка): %d"
@@ -156,36 +212,44 @@ msgstr "ошибка при выполнении запроса: %s"
 msgid "Query was: %s"
 msgstr "Выполнялся запрос: %s"
 
-#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
+#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168
 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121
 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111
-#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299
+#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108
-#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297
+#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108
+#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "слишком много аргументов командной строки (первый: \"%s\")"
 
-#: clusterdb.c:148
+#: clusterdb.c:149
 #, c-format
 msgid "cannot cluster all databases and a specific one at the same time"
 msgstr "нельзя кластеризовать все базы и одну конкретную одновременно"
 
-#: clusterdb.c:151
-#, c-format
-msgid "cannot cluster specific table(s) in all databases"
-msgstr "нельзя кластеризовать указанную таблицу(ы) во всех базах"
-
-#: clusterdb.c:215
+#: clusterdb.c:214
 #, c-format
 msgid "clustering of table \"%s\" in database \"%s\" failed: %s"
 msgstr "кластеризовать таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: clusterdb.c:218
+#: clusterdb.c:217
 #, c-format
 msgid "clustering of database \"%s\" failed: %s"
 msgstr "кластеризовать базу \"%s\" не удалось: %s"
@@ -195,7 +259,7 @@ msgstr "кластеризовать базу \"%s\" не удалось: %s"
 msgid "%s: clustering database \"%s\"\n"
 msgstr "%s: кластеризация базы \"%s\"\n"
 
-#: clusterdb.c:264
+#: clusterdb.c:274
 #, c-format
 msgid ""
 "%s clusters all previously clustered tables in a database.\n"
@@ -204,19 +268,19 @@ msgstr ""
 "%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n"
 "\n"
 
-#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170
-#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156
+#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170
+#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157
+#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172
-#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158
+#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172
+#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149
 #, c-format
 msgid ""
 "\n"
@@ -225,50 +289,50 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: clusterdb.c:268
+#: clusterdb.c:278
 #, c-format
 msgid "  -a, --all                 cluster all databases\n"
 msgstr "  -a, --all                 кластеризовать все базы\n"
 
-#: clusterdb.c:269
+#: clusterdb.c:279
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=ИМЯ_БД       имя базы данных для кластеризации\n"
 
-#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173
+#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173
 #, c-format
 msgid ""
 "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                отображать команды, отправляемые серверу\n"
 
-#: clusterdb.c:271
+#: clusterdb.c:281
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               не выводить никакие сообщения\n"
 
-#: clusterdb.c:272
+#: clusterdb.c:282
 #, c-format
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr ""
 "  -t, --table=ТАБЛИЦА       кластеризовать только указанную таблицу(ы)\n"
 
-#: clusterdb.c:273
+#: clusterdb.c:283
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             выводить исчерпывающие сообщения\n"
 
-#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176
+#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             показать версию и выйти\n"
 
-#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178
+#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                показать эту справку и выйти\n"
 
-#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179
-#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187
+#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179
+#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178
 #, c-format
 msgid ""
 "\n"
@@ -277,39 +341,40 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188
+#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr ""
-"  -h, --host=ИМЯ            имя сервера баз данных или каталог сокетов\n"
+"  -h, --host=ИМЯ            компьютер с сервером баз данных или каталог "
+"сокетов\n"
 
-#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189
+#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=ПОРТ           порт сервера баз данных\n"
 
-#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190
+#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ        имя пользователя для подключения к серверу\n"
 
-#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191
+#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         не запрашивать пароль\n"
 
-#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192
+#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            запросить пароль\n"
 
-#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193
+#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=ИМЯ_БД   сменить опорную базу данных\n"
 
-#: clusterdb.c:283
+#: clusterdb.c:293
 #, c-format
 msgid ""
 "\n"
@@ -318,8 +383,8 @@ msgstr ""
 "\n"
 "Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n"
 
-#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185
-#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195
+#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185
+#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186
 #, c-format
 msgid ""
 "\n"
@@ -328,8 +393,8 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186
-#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196
+#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186
+#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
@@ -364,22 +429,22 @@ msgstr "%s (%s - да/%s - нет) "
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Пожалуйста, введите \"%s\" или \"%s\".\n"
 
-#: createdb.c:170
+#: createdb.c:175
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "\"%s\" не является верным названием кодировки"
 
-#: createdb.c:250
+#: createdb.c:260
 #, c-format
 msgid "database creation failed: %s"
 msgstr "создать базу данных не удалось: %s"
 
-#: createdb.c:269
+#: createdb.c:279
 #, c-format
 msgid "comment creation failed (database was created): %s"
 msgstr "создать комментарий не удалось (база данных была создана): %s"
 
-#: createdb.c:287
+#: createdb.c:297
 #, c-format
 msgid ""
 "%s creates a PostgreSQL database.\n"
@@ -388,76 +453,82 @@ msgstr ""
 "%s создаёт базу данных PostgreSQL.\n"
 "\n"
 
-#: createdb.c:289
+#: createdb.c:299
 #, c-format
 msgid "  %s [OPTION]... [DBNAME] [DESCRIPTION]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД] [ОПИСАНИЕ]\n"
 
 # well-spelled: ПРОСТР
-#: createdb.c:291
+#: createdb.c:301
 #, c-format
 msgid "  -D, --tablespace=TABLESPACE  default tablespace for the database\n"
 msgstr ""
 "  -D, --tablespace=ТАБЛ_ПРОСТР табличное пространство по умолчанию для базы "
 "данных\n"
 
-#: createdb.c:292 reindexdb.c:756
+#: createdb.c:302 reindexdb.c:874
 #, c-format
 msgid ""
 "  -e, --echo                   show the commands being sent to the server\n"
 msgstr ""
 "  -e, --echo                   отображать команды, отправляемые серверу\n"
 
-#: createdb.c:293
+#: createdb.c:303
 #, c-format
 msgid "  -E, --encoding=ENCODING      encoding for the database\n"
 msgstr "  -E, --encoding=КОДИРОВКА     кодировка базы данных\n"
 
-#: createdb.c:294
+#: createdb.c:304
 #, c-format
 msgid "  -l, --locale=LOCALE          locale settings for the database\n"
 msgstr "  -l, --locale=ЛОКАЛЬ          локаль для базы данных\n"
 
-#: createdb.c:295
+#: createdb.c:305
 #, c-format
 msgid "      --lc-collate=LOCALE      LC_COLLATE setting for the database\n"
 msgstr "      --lc-collate=ЛОКАЛЬ      параметр LC_COLLATE для базы данных\n"
 
-#: createdb.c:296
+#: createdb.c:306
 #, c-format
 msgid "      --lc-ctype=LOCALE        LC_CTYPE setting for the database\n"
 msgstr "      --lc-ctype=ЛОКАЛЬ        параметр LC_CTYPE для базы данных\n"
 
-#: createdb.c:297
+#: createdb.c:307
+#, c-format
+msgid ""
+"      --builtin-locale=LOCALE  builtin locale setting for the database\n"
+msgstr "      --builtin-locale=ЛОКАЛЬ  имя встроенной локали для базы данных\n"
+
+#: createdb.c:308
 #, c-format
 msgid "      --icu-locale=LOCALE      ICU locale setting for the database\n"
 msgstr "      --icu-locale=ЛОКАЛЬ      локаль ICU для базы данных\n"
 
-#: createdb.c:298
+#: createdb.c:309
 #, c-format
 msgid "      --icu-rules=RULES        ICU rules setting for the database\n"
 msgstr ""
 "      --icu-rules=ПРАВИЛА      настройка правил сортировки ICU для базы "
 "данных\n"
 
-#: createdb.c:299
+#: createdb.c:310
 #, c-format
 msgid ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                               locale provider for the database's default "
 "collation\n"
 msgstr ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                               провайдер локали для основного правила "
 "сортировки БД\n"
 
-#: createdb.c:301
+#: createdb.c:312
 #, c-format
 msgid "  -O, --owner=OWNER            database user to own the new database\n"
 msgstr ""
 "  -O, --owner=ВЛАДЕЛЕЦ         пользователь-владелец новой базы данных\n"
 
-#: createdb.c:302
+#: createdb.c:313
 #, c-format
 msgid ""
 "  -S, --strategy=STRATEGY      database creation strategy wal_log or "
@@ -466,55 +537,56 @@ msgstr ""
 "  -S, --strategy=STRATEGY      стратегия создания базы данных: wal_log или "
 "file_copy\n"
 
-#: createdb.c:303
+#: createdb.c:314
 #, c-format
 msgid "  -T, --template=TEMPLATE      template database to copy\n"
 msgstr "  -T, --template=ШАБЛОН        исходная база данных для копирования\n"
 
-#: createdb.c:304 reindexdb.c:765
+#: createdb.c:315 reindexdb.c:883
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                показать версию и выйти\n"
 
-#: createdb.c:305 reindexdb.c:766
+#: createdb.c:316 reindexdb.c:884
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   показать эту справку и выйти\n"
 
-#: createdb.c:307 reindexdb.c:768
+#: createdb.c:318 reindexdb.c:886
 #, c-format
 msgid ""
 "  -h, --host=HOSTNAME          database server host or socket directory\n"
 msgstr ""
-"  -h, --host=ИМЯ               имя сервера баз данных или каталог сокетов\n"
+"  -h, --host=ИМЯ               компьютер с сервером баз данных или каталог "
+"сокетов\n"
 
-#: createdb.c:308 reindexdb.c:769
+#: createdb.c:319 reindexdb.c:887
 #, c-format
 msgid "  -p, --port=PORT              database server port\n"
 msgstr "  -p, --port=ПОРТ              порт сервера баз данных\n"
 
-#: createdb.c:309 reindexdb.c:770
+#: createdb.c:320 reindexdb.c:888
 #, c-format
 msgid "  -U, --username=USERNAME      user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ           имя пользователя для подключения к серверу\n"
 
-#: createdb.c:310 reindexdb.c:771
+#: createdb.c:321 reindexdb.c:889
 #, c-format
 msgid "  -w, --no-password            never prompt for password\n"
 msgstr "  -w, --no-password            не запрашивать пароль\n"
 
-#: createdb.c:311 reindexdb.c:772
+#: createdb.c:322 reindexdb.c:890
 #, c-format
 msgid "  -W, --password               force password prompt\n"
 msgstr "  -W, --password               запросить пароль\n"
 
-#: createdb.c:312 reindexdb.c:773
+#: createdb.c:323 reindexdb.c:891
 #, c-format
 msgid "  --maintenance-db=DBNAME      alternate maintenance database\n"
 msgstr "  --maintenance-db=ИМЯ_БД      сменить опорную базу данных\n"
 
-#: createdb.c:313
+#: createdb.c:324
 #, c-format
 msgid ""
 "\n"
@@ -907,7 +979,8 @@ msgstr "  -?, --help               показать эту справку и в
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
-"  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
+"  -h, --host=ИМЯ           компьютер с сервером баз данных или каталог "
+"сокетов\n"
 
 #: pg_isready.c:237
 #, c-format
@@ -929,105 +1002,59 @@ msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ       имя пользователя для подключения к серверу\n"
 
-#: reindexdb.c:209
-#, c-format
-msgid "cannot reindex all databases and a specific one at the same time"
-msgstr ""
-"нельзя переиндексировать все базы данных и одну конкретную одновременно"
-
-#: reindexdb.c:211
-#, c-format
-msgid "cannot reindex all databases and system catalogs at the same time"
-msgstr ""
-"нельзя переиндексировать все базы данных и системные каталоги одновременно"
-
-#: reindexdb.c:213
-#, c-format
-msgid "cannot reindex specific schema(s) in all databases"
-msgstr "нельзя переиндексировать указанную схему(ы) во всех базах"
-
-#: reindexdb.c:215
-#, c-format
-msgid "cannot reindex specific table(s) in all databases"
-msgstr "нельзя переиндексировать указанную таблицу(ы) во всех базах"
-
-#: reindexdb.c:217
-#, c-format
-msgid "cannot reindex specific index(es) in all databases"
-msgstr "нельзя переиндексировать указанный индекс(ы) во всех базах"
-
-#: reindexdb.c:227
-#, c-format
-msgid "cannot reindex specific schema(s) and system catalogs at the same time"
-msgstr ""
-"нельзя переиндексировать указанную схему(ы) и системные каталоги одновременно"
-
-#: reindexdb.c:229
-#, c-format
-msgid "cannot reindex specific table(s) and system catalogs at the same time"
-msgstr ""
-"нельзя переиндексировать указанную таблицу(ы) и системные каталоги "
-"одновременно"
-
-#: reindexdb.c:231
-#, c-format
-msgid "cannot reindex specific index(es) and system catalogs at the same time"
-msgstr ""
-"нельзя переиндексировать указанный индекс(ы) и системные каталоги "
-"одновременно"
-
-#: reindexdb.c:234
+#: reindexdb.c:210
 #, c-format
 msgid "cannot use multiple jobs to reindex system catalogs"
 msgstr ""
 "нельзя задействовать несколько заданий для переиндексирования системных "
 "каталогов"
 
-#: reindexdb.c:260
+#: reindexdb.c:215
 #, c-format
-msgid "cannot use multiple jobs to reindex indexes"
-msgstr "нельзя задействовать несколько заданий для перестроения индексов"
+msgid "cannot reindex all databases and a specific one at the same time"
+msgstr ""
+"нельзя переиндексировать все базы данных и одну конкретную одновременно"
 
-#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539
-#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572
-#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584
+#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529
+#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562
+#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574
 #, c-format
 msgid ""
 "cannot use the \"%s\" option on server versions older than PostgreSQL %s"
 msgstr ""
 "параметр \"%s\" нельзя использовать с серверами PostgreSQL версии старее %s"
 
-#: reindexdb.c:561
+#: reindexdb.c:584
 #, c-format
 msgid "reindexing of database \"%s\" failed: %s"
 msgstr "переиндексировать базу данных \"%s\" не удалось: %s"
 
-#: reindexdb.c:565
+#: reindexdb.c:588
 #, c-format
 msgid "reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "перестроить индекс \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:569
+#: reindexdb.c:592
 #, c-format
 msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "переиндексировать схему \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:573
+#: reindexdb.c:596
 #, c-format
 msgid "reindexing of system catalogs in database \"%s\" failed: %s"
 msgstr "переиндексировать системные каталоги в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:577
+#: reindexdb.c:600
 #, c-format
 msgid "reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "переиндексировать таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:732
+#: reindexdb.c:824
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: переиндексация базы данных \"%s\"\n"
 
-#: reindexdb.c:749
+#: reindexdb.c:867
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -1036,29 +1063,29 @@ msgstr ""
 "%s переиндексирует базу данных PostgreSQL.\n"
 "\n"
 
-#: reindexdb.c:753
+#: reindexdb.c:871
 #, c-format
 msgid "  -a, --all                    reindex all databases\n"
 msgstr "  -a, --all                    переиндексировать все базы данных\n"
 
-#: reindexdb.c:754
+#: reindexdb.c:872
 #, c-format
 msgid "      --concurrently           reindex concurrently\n"
 msgstr ""
 "      --concurrently           переиндексировать в неблокирующем режиме\n"
 
-#: reindexdb.c:755
+#: reindexdb.c:873
 #, c-format
 msgid "  -d, --dbname=DBNAME          database to reindex\n"
 msgstr "  -d, --dbname=БД              имя базы для переиндексации\n"
 
-#: reindexdb.c:757
+#: reindexdb.c:875
 #, c-format
 msgid "  -i, --index=INDEX            recreate specific index(es) only\n"
 msgstr ""
 "  -i, --index=ИНДЕКС           пересоздать только указанный индекс(ы)\n"
 
-#: reindexdb.c:758
+#: reindexdb.c:876
 #, c-format
 msgid ""
 "  -j, --jobs=NUM               use this many concurrent connections to "
@@ -1067,24 +1094,24 @@ msgstr ""
 "  -j, --jobs=ЧИСЛО             запускать для переиндексации заданное число\n"
 "                               заданий\n"
 
-#: reindexdb.c:759
+#: reindexdb.c:877
 #, c-format
 msgid "  -q, --quiet                  don't write any messages\n"
 msgstr "  -q, --quiet                  не выводить сообщения\n"
 
-#: reindexdb.c:760
+#: reindexdb.c:878
 #, c-format
 msgid "  -s, --system                 reindex system catalogs only\n"
 msgstr ""
 "  -s, --system                 переиндексировать только системные каталоги\n"
 
-#: reindexdb.c:761
+#: reindexdb.c:879
 #, c-format
 msgid "  -S, --schema=SCHEMA          reindex specific schema(s) only\n"
 msgstr ""
 "  -S, --schema=СХЕМА           переиндексировать только указанную схему(ы)\n"
 
-#: reindexdb.c:762
+#: reindexdb.c:880
 #, c-format
 msgid "  -t, --table=TABLE            reindex specific table(s) only\n"
 msgstr ""
@@ -1092,19 +1119,19 @@ msgstr ""
 "таблицу(ы)\n"
 
 # well-spelled: ПРОСТР
-#: reindexdb.c:763
+#: reindexdb.c:881
 #, c-format
 msgid "      --tablespace=TABLESPACE  tablespace where indexes are rebuilt\n"
 msgstr ""
 "      --tablespace=ТАБЛ_ПРОСТР табличное пространство, в котором будут\n"
 "                               перестраиваться индексы\n"
 
-#: reindexdb.c:764
+#: reindexdb.c:882
 #, c-format
 msgid "  -v, --verbose                write a lot of output\n"
 msgstr "  -v, --verbose                выводить исчерпывающие сообщения\n"
 
-#: reindexdb.c:774
+#: reindexdb.c:892
 #, c-format
 msgid ""
 "\n"
@@ -1113,43 +1140,28 @@ msgstr ""
 "\n"
 "Подробнее о переиндексации вы можете узнать в описании SQL-команды REINDEX.\n"
 
-#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324
-#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342
+#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325
+#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343
 #, c-format
 msgid "cannot use the \"%s\" option when performing only analyze"
 msgstr "при выполнении только анализа нельзя использовать параметр \"%s\""
 
-#: vacuumdb.c:345
+#: vacuumdb.c:346
 #, c-format
 msgid "cannot use the \"%s\" option when performing full vacuum"
 msgstr "при выполнении полной очистки нельзя использовать параметр \"%s\""
 
-#: vacuumdb.c:351 vacuumdb.c:359
+#: vacuumdb.c:352 vacuumdb.c:360
 #, c-format
 msgid "cannot use the \"%s\" option with the \"%s\" option"
 msgstr "параметр \"%s\" нельзя использовать совместно с \"%s\""
 
-#: vacuumdb.c:430
+#: vacuumdb.c:432
 #, c-format
 msgid "cannot vacuum all databases and a specific one at the same time"
 msgstr "нельзя очистить все базы данных и одну конкретную одновременно"
 
-#: vacuumdb.c:434
-#, c-format
-msgid "cannot vacuum specific table(s) in all databases"
-msgstr "нельзя очистить только указанную таблицу(ы) во всех базах"
-
-#: vacuumdb.c:438
-#, c-format
-msgid "cannot vacuum specific schema(s) in all databases"
-msgstr "нельзя очистить только указанную схему(ы) во всех базах"
-
-#: vacuumdb.c:442
-#, c-format
-msgid "cannot exclude specific schema(s) in all databases"
-msgstr "нельзя исключить указанную схему(ы) во всех базах"
-
-#: vacuumdb.c:446
+#: vacuumdb.c:436
 #, c-format
 msgid ""
 "cannot vacuum all tables in schema(s) and specific table(s) at the same time"
@@ -1157,57 +1169,57 @@ msgstr ""
 "нельзя очистить все таблицы в схеме(ах) и одну конкретную таблицу "
 "одновременно"
 
-#: vacuumdb.c:450
+#: vacuumdb.c:440
 #, c-format
 msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time"
 msgstr ""
 "нельзя очистить конкретную таблицу(ы) и исключить схему(ы) одновременно"
 
-#: vacuumdb.c:454
+#: vacuumdb.c:444
 #, c-format
 msgid ""
 "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time"
 msgstr ""
 "нельзя очистить все таблицы в схеме(ах) и исключить схему(ы) одновременно"
 
-#: vacuumdb.c:467
+#: vacuumdb.c:457
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
-#: vacuumdb.c:512
+#: vacuumdb.c:502
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Вычисление минимальной статистики для оптимизатора (1 запись)"
 
-#: vacuumdb.c:513
+#: vacuumdb.c:503
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Вычисление средней статистики для оптимизатора (10 записей)"
 
-#: vacuumdb.c:514
+#: vacuumdb.c:504
 msgid "Generating default (full) optimizer statistics"
 msgstr "Вычисление стандартной (полной) статистики для оптимизатора"
 
-#: vacuumdb.c:593
+#: vacuumdb.c:583
 #, c-format
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s: обработка базы данных \"%s\": %s\n"
 
-#: vacuumdb.c:596
+#: vacuumdb.c:586
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: очистка базы данных \"%s\"\n"
 
-#: vacuumdb.c:1144
+#: vacuumdb.c:1135
 #, c-format
 msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "очистить таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: vacuumdb.c:1147
+#: vacuumdb.c:1138
 #, c-format
 msgid "vacuuming of database \"%s\" failed: %s"
 msgstr "очистить базу данных \"%s\" не удалось: %s"
 
-#: vacuumdb.c:1155
+#: vacuumdb.c:1146
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1216,12 +1228,12 @@ msgstr ""
 "%s очищает и анализирует базу данных PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:1159
+#: vacuumdb.c:1150
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       очистить все базы данных\n"
 
-#: vacuumdb.c:1160
+#: vacuumdb.c:1151
 #, c-format
 msgid "      --buffer-usage-limit=SIZE   size of ring buffer used for vacuum\n"
 msgstr ""
@@ -1229,18 +1241,18 @@ msgstr ""
 "при\n"
 "                                  очистке\n"
 
-#: vacuumdb.c:1161
+#: vacuumdb.c:1152
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=ИМЯ_БД             очистить указанную базу данных\n"
 
-#: vacuumdb.c:1162
+#: vacuumdb.c:1153
 #, c-format
 msgid "      --disable-page-skipping     disable all page-skipping behavior\n"
 msgstr ""
 "      --disable-page-skipping     исключить все варианты пропуска страниц\n"
 
-#: vacuumdb.c:1163
+#: vacuumdb.c:1154
 #, c-format
 msgid ""
 "  -e, --echo                      show the commands being sent to the "
@@ -1248,19 +1260,19 @@ msgid ""
 msgstr ""
 "  -e, --echo                      отображать команды, отправляемые серверу\n"
 
-#: vacuumdb.c:1164
+#: vacuumdb.c:1155
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      произвести полную очистку\n"
 
-#: vacuumdb.c:1165
+#: vacuumdb.c:1156
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr ""
 "  -F, --freeze                    заморозить информацию о транзакциях в "
 "строках\n"
 
-#: vacuumdb.c:1166
+#: vacuumdb.c:1157
 #, c-format
 msgid ""
 "      --force-index-cleanup       always remove index entries that point to "
@@ -1270,7 +1282,7 @@ msgstr ""
 "указывающие\n"
 "                                  на мёртвые кортежи\n"
 
-#: vacuumdb.c:1167
+#: vacuumdb.c:1158
 #, c-format
 msgid ""
 "  -j, --jobs=NUM                  use this many concurrent connections to "
@@ -1279,7 +1291,7 @@ msgstr ""
 "  -j, --jobs=ЧИСЛО                запускать для очистки заданное число "
 "заданий\n"
 
-#: vacuumdb.c:1168
+#: vacuumdb.c:1159
 #, c-format
 msgid ""
 "      --min-mxid-age=MXID_AGE     minimum multixact ID age of tables to "
@@ -1288,7 +1300,7 @@ msgstr ""
 "      --min-mxid-age=ВОЗРАСТ      минимальный возраст мультитранзакций для\n"
 "                                  таблиц, подлежащих очистке\n"
 
-#: vacuumdb.c:1169
+#: vacuumdb.c:1160
 #, c-format
 msgid ""
 "      --min-xid-age=XID_AGE       minimum transaction ID age of tables to "
@@ -1298,7 +1310,7 @@ msgstr ""
 "таблиц,\n"
 "                                  подлежащих очистке\n"
 
-#: vacuumdb.c:1170
+#: vacuumdb.c:1161
 #, c-format
 msgid ""
 "      --no-index-cleanup          don't remove index entries that point to "
@@ -1307,12 +1319,12 @@ msgstr ""
 "      --no-index-cleanup          не удалять элементы индекса, указывающие\n"
 "                                  на мёртвые кортежи\n"
 
-#: vacuumdb.c:1171
+#: vacuumdb.c:1162
 #, c-format
 msgid "      --no-process-main           skip the main relation\n"
 msgstr "      --no-process-main           пропускать основное отношение\n"
 
-#: vacuumdb.c:1172
+#: vacuumdb.c:1163
 #, c-format
 msgid ""
 "      --no-process-toast          skip the TOAST table associated with the "
@@ -1321,7 +1333,7 @@ msgstr ""
 "      --no-process-toast          пропускать TOAST-таблицу, связанную\n"
 "                                  с очищаемой таблицей\n"
 
-#: vacuumdb.c:1173
+#: vacuumdb.c:1164
 #, c-format
 msgid ""
 "      --no-truncate               don't truncate empty pages at the end of "
@@ -1330,7 +1342,7 @@ msgstr ""
 "      --no-truncate               не отсекать пустые страницы в конце "
 "таблицы\n"
 
-#: vacuumdb.c:1174
+#: vacuumdb.c:1165
 #, c-format
 msgid ""
 "  -n, --schema=SCHEMA             vacuum tables in the specified schema(s) "
@@ -1339,7 +1351,7 @@ msgstr ""
 "  -n, --schema=СХЕМА              очищать таблицы только в указанной "
 "схеме(ах)\n"
 
-#: vacuumdb.c:1175
+#: vacuumdb.c:1166
 #, c-format
 msgid ""
 "  -N, --exclude-schema=SCHEMA     do not vacuum tables in the specified "
@@ -1347,7 +1359,7 @@ msgid ""
 msgstr ""
 "  -N, --exclude-schema=СХЕМА      не очищать таблицы в указанной схеме(ах)\n"
 
-#: vacuumdb.c:1176
+#: vacuumdb.c:1167
 #, c-format
 msgid ""
 "  -P, --parallel=PARALLEL_WORKERS use this many background workers for "
@@ -1357,12 +1369,12 @@ msgstr ""
 "                                  по возможности использовать для очистки\n"
 "                                  заданное число фоновых процессов\n"
 
-#: vacuumdb.c:1177
+#: vacuumdb.c:1168
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     не выводить сообщения\n"
 
-#: vacuumdb.c:1178
+#: vacuumdb.c:1169
 #, c-format
 msgid ""
 "      --skip-locked               skip relations that cannot be immediately "
@@ -1371,29 +1383,29 @@ msgstr ""
 "      --skip-locked               пропускать отношения, которые не удаётся\n"
 "                                  заблокировать немедленно\n"
 
-#: vacuumdb.c:1179
+#: vacuumdb.c:1170
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr ""
 "  -t, --table='ТАБЛ[(СТОЛБЦЫ)]'   очистить только указанную таблицу(ы)\n"
 
-#: vacuumdb.c:1180
+#: vacuumdb.c:1171
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   выводить исчерпывающие сообщения\n"
 
-#: vacuumdb.c:1181
+#: vacuumdb.c:1172
 #, c-format
 msgid ""
 "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   показать версию и выйти\n"
 
-#: vacuumdb.c:1182
+#: vacuumdb.c:1173
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   обновить статистику оптимизатора\n"
 
-#: vacuumdb.c:1183
+#: vacuumdb.c:1174
 #, c-format
 msgid ""
 "  -Z, --analyze-only              only update optimizer statistics; no "
@@ -1402,7 +1414,7 @@ msgstr ""
 "  -Z, --analyze-only              только обновить статистику оптимизатора,\n"
 "                                  не очищать БД\n"
 
-#: vacuumdb.c:1184
+#: vacuumdb.c:1175
 #, c-format
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in "
@@ -1414,12 +1426,12 @@ msgstr ""
 "                                  (в несколько проходов для большей "
 "скорости), без очистки\n"
 
-#: vacuumdb.c:1186
+#: vacuumdb.c:1177
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      показать эту справку и выйти\n"
 
-#: vacuumdb.c:1194
+#: vacuumdb.c:1185
 #, c-format
 msgid ""
 "\n"
@@ -1428,6 +1440,64 @@ msgstr ""
 "\n"
 "Подробнее об очистке вы можете узнать в описании SQL-команды VACUUM.\n"
 
+#, c-format
+#~ msgid "cannot cluster specific table(s) in all databases"
+#~ msgstr "нельзя кластеризовать указанную таблицу(ы) во всех базах"
+
+#, c-format
+#~ msgid "cannot reindex all databases and system catalogs at the same time"
+#~ msgstr ""
+#~ "нельзя переиндексировать все базы данных и системные каталоги одновременно"
+
+#, c-format
+#~ msgid "cannot reindex specific schema(s) in all databases"
+#~ msgstr "нельзя переиндексировать указанную схему(ы) во всех базах"
+
+#, c-format
+#~ msgid "cannot reindex specific table(s) in all databases"
+#~ msgstr "нельзя переиндексировать указанную таблицу(ы) во всех базах"
+
+#, c-format
+#~ msgid "cannot reindex specific index(es) in all databases"
+#~ msgstr "нельзя переиндексировать указанный индекс(ы) во всех базах"
+
+#, c-format
+#~ msgid ""
+#~ "cannot reindex specific schema(s) and system catalogs at the same time"
+#~ msgstr ""
+#~ "нельзя переиндексировать указанную схему(ы) и системные каталоги "
+#~ "одновременно"
+
+#, c-format
+#~ msgid ""
+#~ "cannot reindex specific table(s) and system catalogs at the same time"
+#~ msgstr ""
+#~ "нельзя переиндексировать указанную таблицу(ы) и системные каталоги "
+#~ "одновременно"
+
+#, c-format
+#~ msgid ""
+#~ "cannot reindex specific index(es) and system catalogs at the same time"
+#~ msgstr ""
+#~ "нельзя переиндексировать указанный индекс(ы) и системные каталоги "
+#~ "одновременно"
+
+#, c-format
+#~ msgid "cannot use multiple jobs to reindex indexes"
+#~ msgstr "нельзя задействовать несколько заданий для перестроения индексов"
+
+#, c-format
+#~ msgid "cannot vacuum specific table(s) in all databases"
+#~ msgstr "нельзя очистить только указанную таблицу(ы) во всех базах"
+
+#, c-format
+#~ msgid "cannot vacuum specific schema(s) in all databases"
+#~ msgstr "нельзя очистить только указанную схему(ы) во всех базах"
+
+#, c-format
+#~ msgid "cannot exclude specific schema(s) in all databases"
+#~ msgstr "нельзя исключить указанную схему(ы) во всех базах"
+
 #, c-format
 #~ msgid "cannot reindex system catalogs concurrently, skipping all"
 #~ msgstr ""
@@ -1457,9 +1527,6 @@ msgstr ""
 #~ msgid "minimum multixact ID age must be at least 1"
 #~ msgstr "минимальный возраст мультитранзакций должен быть не меньше 1"
 
-#~ msgid "could not connect to database %s: %s"
-#~ msgstr "не удалось подключиться к базе %s: %s"
-
 #~ msgid "parallel vacuum degree must be a non-negative integer"
 #~ msgstr ""
 #~ "степень параллельности для очистки должна задаваться неотрицательным целым"
index 75bf0ae67c5c9025397f8dd0277a10bfef4264c5..8b47276a62056f6708f150002a4e5c07916a8a5a 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for plperl
 # Copyright (C) 2012-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2022.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: plperl (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2022-09-05 13:38+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 20:00+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -110,8 +110,8 @@ msgstr ""
 
 #: plperl.c:1204
 #, c-format
-msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
-msgstr "число размерностей массива (%d) превышает предел (%d)"
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "число размерностей массива превышает предел (%d)"
 
 #: plperl.c:1274
 #, c-format
index befc3125ba003c9de29da0d4971e5ac8817707d2..99ba5ac7e11d46c200b36ef0d6170d3170ba4560 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for plpgsql
 # Copyright (C) 2012-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: plpgsql (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2022-09-05 13:38+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-04 20:00+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -78,43 +78,58 @@ msgstr "неоднозначная ссылка на столбец \"%s\""
 msgid "It could refer to either a PL/pgSQL variable or a table column."
 msgstr "Подразумевается ссылка на переменную PL/pgSQL или столбец таблицы."
 
-#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606
-#: pl_exec.c:6624
+#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611
+#: pl_exec.c:6636
 #, c-format
 msgid "record \"%s\" has no field \"%s\""
 msgstr "в записи \"%s\" нет поля \"%s\""
 
-#: pl_comp.c:1808
+#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686
+#, c-format
+msgid "variable \"%s\" does not exist"
+msgstr "переменная \"%s\" не существует"
+
+#: pl_comp.c:1722
+#, c-format
+msgid "column \"%s\" of relation \"%s\" does not exist"
+msgstr "столбец \"%s\" в таблице \"%s\" не существует"
+
+#: pl_comp.c:1775
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: pl_comp.c:1815 pl_comp.c:1857
+#: pl_comp.c:1782 pl_comp.c:1820
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "отношение \"%s\" не имеет составного типа"
 
-#: pl_comp.c:1923
+#: pl_comp.c:1886
 #, c-format
 msgid "variable \"%s\" has pseudo-type %s"
 msgstr "переменная \"%s\" имеет псевдотип %s"
 
-#: pl_comp.c:2112
+#: pl_comp.c:2075
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "тип \"%s\" является пустышкой"
 
-#: pl_comp.c:2194 pl_exec.c:6925
+#: pl_comp.c:2157 pl_exec.c:6937
 #, c-format
 msgid "type %s is not composite"
 msgstr "тип %s не является составным"
 
-#: pl_comp.c:2242 pl_comp.c:2295
+#: pl_comp.c:2193
+#, c-format
+msgid "could not find array type for data type %s"
+msgstr "тип массива для типа данных %s не найден"
+
+#: pl_comp.c:2232 pl_comp.c:2285
 #, c-format
 msgid "unrecognized exception condition \"%s\""
 msgstr "нераспознанное условие исключения \"%s\""
 
-#: pl_comp.c:2524
+#: pl_comp.c:2514
 #, c-format
 msgid ""
 "could not determine actual argument type for polymorphic function \"%s\""
@@ -122,57 +137,57 @@ msgstr ""
 "не удалось определить фактический тип аргумента для полиморфной функции "
 "\"%s\""
 
-#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185
+#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186
 msgid "during initialization of execution state"
 msgstr "в процессе инициализации состояния выполнения"
 
-#: pl_exec.c:517
+#: pl_exec.c:518
 msgid "while storing call arguments into local variables"
 msgstr "при сохранении аргументов вызова в локальных переменных"
 
-#: pl_exec.c:605 pl_exec.c:1023
+#: pl_exec.c:606 pl_exec.c:1024
 msgid "during function entry"
 msgstr "при входе в функцию"
 
-#: pl_exec.c:628
+#: pl_exec.c:629
 #, c-format
 msgid "control reached end of function without RETURN"
 msgstr "конец функции достигнут без RETURN"
 
-#: pl_exec.c:634
+#: pl_exec.c:635
 msgid "while casting return value to function's return type"
 msgstr "при приведении возвращаемого значения к типу результата функции"
 
-#: pl_exec.c:646 pl_exec.c:3681
+#: pl_exec.c:647 pl_exec.c:3683
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: pl_exec.c:651 pl_exec.c:3687
+#: pl_exec.c:652 pl_exec.c:3689
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "требуется режим материализации, но он недопустим в этом контексте"
 
-#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207
+#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208
 msgid "during function exit"
 msgstr "при выходе из функции"
 
-#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480
+#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482
 msgid "returned record type does not match expected record type"
 msgstr "возвращаемый тип записи не соответствует ожидаемому"
 
-#: pl_exec.c:1046 pl_exec.c:1204
+#: pl_exec.c:1047 pl_exec.c:1205
 #, c-format
 msgid "control reached end of trigger procedure without RETURN"
 msgstr "конец триггерной процедуры достигнут без RETURN"
 
-#: pl_exec.c:1054
+#: pl_exec.c:1055
 #, c-format
 msgid "trigger procedure cannot return a set"
 msgstr "триггерная процедура не может возвращать множество"
 
-#: pl_exec.c:1093 pl_exec.c:1121
+#: pl_exec.c:1094 pl_exec.c:1122
 msgid ""
 "returned row structure does not match the structure of the triggering table"
 msgstr ""
@@ -182,7 +197,7 @@ msgstr ""
 #. translator: last %s is a phrase such as "during statement block
 #. local variable initialization"
 #.
-#: pl_exec.c:1262
+#: pl_exec.c:1263
 #, c-format
 msgid "PL/pgSQL function %s line %d %s"
 msgstr "функция PL/pgSQL %s, строка %d, %s"
@@ -190,35 +205,35 @@ msgstr "функция PL/pgSQL %s, строка %d, %s"
 #. translator: last %s is a phrase such as "while storing call
 #. arguments into local variables"
 #.
-#: pl_exec.c:1273
+#: pl_exec.c:1274
 #, c-format
 msgid "PL/pgSQL function %s %s"
 msgstr "функция PL/pgSQL %s, %s"
 
 #. translator: last %s is a plpgsql statement type name
-#: pl_exec.c:1281
+#: pl_exec.c:1282
 #, c-format
 msgid "PL/pgSQL function %s line %d at %s"
 msgstr "функция PL/pgSQL %s, строка %d, оператор %s"
 
-#: pl_exec.c:1287
+#: pl_exec.c:1288
 #, c-format
 msgid "PL/pgSQL function %s"
 msgstr "функция PL/pgSQL %s"
 
-#: pl_exec.c:1658
+#: pl_exec.c:1659
 msgid "during statement block local variable initialization"
 msgstr "при инициализации локальной переменной в блоке операторов"
 
-#: pl_exec.c:1763
+#: pl_exec.c:1764
 msgid "during statement block entry"
 msgstr "при входе в блок операторов"
 
-#: pl_exec.c:1795
+#: pl_exec.c:1796
 msgid "during statement block exit"
 msgstr "при выходе из блока операторов"
 
-#: pl_exec.c:1833
+#: pl_exec.c:1834
 msgid "during exception cleanup"
 msgstr "при очистке после исключения"
 
@@ -240,199 +255,199 @@ msgstr ""
 "параметр процедуры %d является выходным, но соответствующий аргумент не "
 "допускает запись"
 
-#: pl_exec.c:2409
+#: pl_exec.c:2411
 #, c-format
 msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
 msgstr ""
 "GET STACKED DIAGNOSTICS нельзя использовать вне блока обработчика исключения"
 
-#: pl_exec.c:2615
+#: pl_exec.c:2617
 #, c-format
 msgid "case not found"
 msgstr "неправильный CASE"
 
-#: pl_exec.c:2616
+#: pl_exec.c:2618
 #, c-format
 msgid "CASE statement is missing ELSE part."
 msgstr "В операторе CASE не хватает части ELSE."
 
-#: pl_exec.c:2709
+#: pl_exec.c:2711
 #, c-format
 msgid "lower bound of FOR loop cannot be null"
 msgstr "нижняя граница цикла FOR не может быть равна NULL"
 
-#: pl_exec.c:2725
+#: pl_exec.c:2727
 #, c-format
 msgid "upper bound of FOR loop cannot be null"
 msgstr "верхняя граница цикла FOR не может быть равна NULL"
 
-#: pl_exec.c:2743
+#: pl_exec.c:2745
 #, c-format
 msgid "BY value of FOR loop cannot be null"
 msgstr "значение BY в цикле FOR не может быть равно NULL"
 
-#: pl_exec.c:2749
+#: pl_exec.c:2751
 #, c-format
 msgid "BY value of FOR loop must be greater than zero"
 msgstr "значение BY в цикле FOR должно быть больше нуля"
 
-#: pl_exec.c:2883 pl_exec.c:4688
+#: pl_exec.c:2885 pl_exec.c:4693
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr "курсор \"%s\" уже используется"
 
-#: pl_exec.c:2906 pl_exec.c:4758
+#: pl_exec.c:2908 pl_exec.c:4763
 #, c-format
 msgid "arguments given for cursor without arguments"
 msgstr "курсору без аргументов были переданы аргументы"
 
-#: pl_exec.c:2925 pl_exec.c:4777
+#: pl_exec.c:2927 pl_exec.c:4782
 #, c-format
 msgid "arguments required for cursor"
 msgstr "курсору требуются аргументы"
 
-#: pl_exec.c:3016
+#: pl_exec.c:3018
 #, c-format
 msgid "FOREACH expression must not be null"
 msgstr "выражение FOREACH не может быть равно NULL"
 
-#: pl_exec.c:3031
+#: pl_exec.c:3033
 #, c-format
 msgid "FOREACH expression must yield an array, not type %s"
 msgstr "выражение в FOREACH должно быть массивом, но не типом %s"
 
-#: pl_exec.c:3048
+#: pl_exec.c:3050
 #, c-format
 msgid "slice dimension (%d) is out of the valid range 0..%d"
 msgstr "размерность среза (%d) вне допустимого диапазона 0..%d"
 
-#: pl_exec.c:3075
+#: pl_exec.c:3077
 #, c-format
 msgid "FOREACH ... SLICE loop variable must be of an array type"
 msgstr "переменная цикла FOREACH ... SLICE должна быть массивом"
 
-#: pl_exec.c:3079
+#: pl_exec.c:3081
 #, c-format
 msgid "FOREACH loop variable must not be of an array type"
 msgstr "переменная цикла FOREACH не должна быть массивом"
 
-#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473
+#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475
 #, c-format
 msgid ""
 "cannot return non-composite value from function returning composite type"
 msgstr ""
 "функция, возвращающая составной тип, не может вернуть несоставное значение"
 
-#: pl_exec.c:3337 pl_gram.y:3350
+#: pl_exec.c:3339 pl_gram.y:3375
 #, c-format
 msgid "cannot use RETURN NEXT in a non-SETOF function"
 msgstr ""
 "RETURN NEXT можно использовать только в функциях, возвращающих множества"
 
-#: pl_exec.c:3378 pl_exec.c:3510
+#: pl_exec.c:3380 pl_exec.c:3512
 #, c-format
 msgid "wrong result type supplied in RETURN NEXT"
 msgstr "в RETURN NEXT передан неправильный тип результата"
 
-#: pl_exec.c:3416 pl_exec.c:3437
+#: pl_exec.c:3418 pl_exec.c:3439
 #, c-format
 msgid "wrong record type supplied in RETURN NEXT"
 msgstr "в RETURN NEXT передан неправильный тип записи"
 
-#: pl_exec.c:3529
+#: pl_exec.c:3531
 #, c-format
 msgid "RETURN NEXT must have a parameter"
 msgstr "у оператора RETURN NEXT должен быть параметр"
 
-#: pl_exec.c:3557 pl_gram.y:3414
+#: pl_exec.c:3559 pl_gram.y:3439
 #, c-format
 msgid "cannot use RETURN QUERY in a non-SETOF function"
 msgstr ""
 "RETURN QUERY можно использовать только в функциях, возвращающих множества"
 
-#: pl_exec.c:3575
+#: pl_exec.c:3577
 msgid "structure of query does not match function result type"
 msgstr "структура запроса не соответствует типу результата функции"
 
-#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724
+#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759
 #, c-format
 msgid "query string argument of EXECUTE is null"
 msgstr "в качестве текста запроса в EXECUTE передан NULL"
 
-#: pl_exec.c:3715 pl_exec.c:3853
+#: pl_exec.c:3717 pl_exec.c:3855
 #, c-format
 msgid "RAISE option already specified: %s"
 msgstr "этот параметр RAISE уже указан: %s"
 
-#: pl_exec.c:3749
+#: pl_exec.c:3751
 #, c-format
 msgid "RAISE without parameters cannot be used outside an exception handler"
 msgstr ""
 "RAISE без параметров нельзя использовать вне блока обработчика исключения"
 
-#: pl_exec.c:3843
+#: pl_exec.c:3845
 #, c-format
 msgid "RAISE statement option cannot be null"
 msgstr "параметром оператора RAISE не может быть NULL"
 
-#: pl_exec.c:3913
+#: pl_exec.c:3915
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pl_exec.c:3968
+#: pl_exec.c:3970
 #, c-format
 msgid "assertion failed"
 msgstr "нарушение истинности"
 
-#: pl_exec.c:4338 pl_exec.c:4527
+#: pl_exec.c:4342 pl_exec.c:4532
 #, c-format
 msgid "cannot COPY to/from client in PL/pgSQL"
 msgstr "в PL/pgSQL нельзя выполнить COPY с участием клиента"
 
-#: pl_exec.c:4344
+#: pl_exec.c:4348
 #, c-format
 msgid "unsupported transaction command in PL/pgSQL"
 msgstr "неподдерживаемая транзакционная команда в PL/pgSQL"
 
-#: pl_exec.c:4367 pl_exec.c:4556
+#: pl_exec.c:4371 pl_exec.c:4561
 #, c-format
 msgid "INTO used with a command that cannot return data"
 msgstr "INTO с командой не может возвращать данные"
 
-#: pl_exec.c:4390 pl_exec.c:4579
+#: pl_exec.c:4394 pl_exec.c:4584
 #, c-format
 msgid "query returned no rows"
 msgstr "запрос не вернул строк"
 
-#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750
+#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755
 #, c-format
 msgid "query returned more than one row"
 msgstr "запрос вернул несколько строк"
 
-#: pl_exec.c:4414
+#: pl_exec.c:4418
 #, c-format
 msgid "Make sure the query returns a single row, or use LIMIT 1."
 msgstr ""
 "Измените запрос, чтобы он выбирал одну строку, или используйте LIMIT 1."
 
-#: pl_exec.c:4430
+#: pl_exec.c:4434
 #, c-format
 msgid "query has no destination for result data"
 msgstr "в запросе нет назначения для данных результата"
 
-#: pl_exec.c:4431
+#: pl_exec.c:4435
 #, c-format
 msgid "If you want to discard the results of a SELECT, use PERFORM instead."
 msgstr "Если вам нужно отбросить результаты SELECT, используйте PERFORM."
 
-#: pl_exec.c:4519
+#: pl_exec.c:4524
 #, c-format
 msgid "EXECUTE of SELECT ... INTO is not implemented"
 msgstr "возможность выполнения SELECT ... INTO в EXECUTE не реализована"
 
 # skip-rule: space-before-ellipsis
-#: pl_exec.c:4520
+#: pl_exec.c:4525
 #, c-format
 msgid ""
 "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS "
@@ -441,57 +456,57 @@ msgstr ""
 "Альтернативой может стать EXECUTE ... INTO или EXECUTE CREATE TABLE ... "
 "AS ..."
 
-#: pl_exec.c:4533
+#: pl_exec.c:4538
 #, c-format
 msgid "EXECUTE of transaction commands is not implemented"
 msgstr "EXECUTE с транзакционными командами не поддерживается"
 
-#: pl_exec.c:4843 pl_exec.c:4931
+#: pl_exec.c:4848 pl_exec.c:4936
 #, c-format
 msgid "cursor variable \"%s\" is null"
 msgstr "переменная курсора \"%s\" равна NULL"
 
-#: pl_exec.c:4854 pl_exec.c:4942
+#: pl_exec.c:4859 pl_exec.c:4947
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "курсор \"%s\" не существует"
 
-#: pl_exec.c:4867
+#: pl_exec.c:4872
 #, c-format
 msgid "relative or absolute cursor position is null"
 msgstr "относительная или абсолютная позиция курсора равна NULL"
 
-#: pl_exec.c:5105 pl_exec.c:5200
+#: pl_exec.c:5110 pl_exec.c:5205
 #, c-format
 msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
 msgstr "значение NULL нельзя присвоить переменной \"%s\", объявленной NOT NULL"
 
-#: pl_exec.c:5181
+#: pl_exec.c:5186
 #, c-format
 msgid "cannot assign non-composite value to a row variable"
 msgstr "переменной типа кортеж можно присвоить только составное значение"
 
-#: pl_exec.c:5213
+#: pl_exec.c:5218
 #, c-format
 msgid "cannot assign non-composite value to a record variable"
 msgstr "переменной типа запись можно присвоить только составное значение"
 
-#: pl_exec.c:5264
+#: pl_exec.c:5269
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "присвоить значение системному столбцу \"%s\" нельзя"
 
-#: pl_exec.c:5713
+#: pl_exec.c:5718
 #, c-format
 msgid "query did not return data"
 msgstr "запрос не вернул данные"
 
-#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832
+#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837
 #, c-format
 msgid "query: %s"
 msgstr "запрос: %s"
 
-#: pl_exec.c:5722
+#: pl_exec.c:5727
 #, c-format
 msgid "query returned %d column"
 msgid_plural "query returned %d columns"
@@ -499,17 +514,17 @@ msgstr[0] "запрос вернул %d столбец"
 msgstr[1] "запрос вернул %d столбца"
 msgstr[2] "запрос вернул %d столбцов"
 
-#: pl_exec.c:5826
+#: pl_exec.c:5831
 #, c-format
 msgid "query is SELECT INTO, but it should be plain SELECT"
 msgstr "запрос - не просто SELECT, а SELECT INTO"
 
-#: pl_exec.c:5831
+#: pl_exec.c:5836
 #, c-format
 msgid "query is not a SELECT"
 msgstr "запрос - не SELECT"
 
-#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718
+#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730
 #, c-format
 msgid ""
 "type of parameter %d (%s) does not match that when preparing the plan (%s)"
@@ -517,35 +532,35 @@ msgstr ""
 "тип параметра %d (%s) не соответствует тому, с которым подготавливался план "
 "(%s)"
 
-#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263
+#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275
 #, c-format
 msgid "number of source and target fields in assignment does not match"
 msgstr "в левой и правой части присваивания разное количество полей"
 
 #. translator: %s represents a name of an extra check
-#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265
+#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277
 #, c-format
 msgid "%s check of %s is active."
 msgstr "Включена проверка %s (с %s)."
 
-#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269
+#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281
 #, c-format
 msgid "Make sure the query returns the exact list of columns."
 msgstr ""
 "Измените запрос, чтобы он возвращал в точности требуемый список столбцов."
 
-#: pl_exec.c:7656
+#: pl_exec.c:7668
 #, c-format
 msgid "record \"%s\" is not assigned yet"
 msgstr "записи \"%s\" не присвоено значение"
 
-#: pl_exec.c:7657
+#: pl_exec.c:7669
 #, c-format
 msgid "The tuple structure of a not-yet-assigned record is indeterminate."
 msgstr ""
 "Для записи, которой не присвоено значение, структура кортежа не определена."
 
-#: pl_exec.c:8322 pl_gram.y:3473
+#: pl_exec.c:8357 pl_gram.y:3498
 #, c-format
 msgid "variable \"%s\" is declared CONSTANT"
 msgstr "переменная \"%s\" объявлена как CONSTANT"
@@ -599,11 +614,6 @@ msgstr ""
 "у переменной \"%s\" должно быть значение по умолчанию, так как она объявлена "
 "как NOT NULL"
 
-#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686
-#, c-format
-msgid "variable \"%s\" does not exist"
-msgstr "переменная \"%s\" не существует"
-
 #: pl_gram.y:704 pl_gram.y:732
 msgid "duplicate declaration"
 msgstr "повторяющееся объявление"
@@ -613,26 +623,26 @@ msgstr "повторяющееся объявление"
 msgid "variable \"%s\" shadows a previously defined variable"
 msgstr "переменная \"%s\" скрывает ранее определённую переменную"
 
-#: pl_gram.y:1016
+#: pl_gram.y:1017
 #, c-format
 msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
 msgstr "команда GET STACKED DIAGNOSTICS не принимает элемент %s"
 
-#: pl_gram.y:1034
+#: pl_gram.y:1035
 #, c-format
 msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
 msgstr "команда GET CURRENT DIAGNOSTICS не принимает элемент %s"
 
-#: pl_gram.y:1132
+#: pl_gram.y:1133
 msgid "unrecognized GET DIAGNOSTICS item"
 msgstr "нераспознанный элемент GET DIAGNOSTICS"
 
-#: pl_gram.y:1148 pl_gram.y:3589
+#: pl_gram.y:1149 pl_gram.y:3614
 #, c-format
 msgid "\"%s\" is not a scalar variable"
 msgstr "\"%s\" - не скалярная переменная"
 
-#: pl_gram.y:1378 pl_gram.y:1571
+#: pl_gram.y:1379 pl_gram.y:1572
 #, c-format
 msgid ""
 "loop variable of loop over rows must be a record variable or list of scalar "
@@ -641,229 +651,233 @@ msgstr ""
 "переменная цикла по кортежам должна быть переменной типа запись или списком "
 "скалярных переменных"
 
-#: pl_gram.y:1413
+#: pl_gram.y:1414
 #, c-format
 msgid "cursor FOR loop must have only one target variable"
 msgstr "в цикле FOR с курсором должна быть только одна переменная"
 
-#: pl_gram.y:1420
+#: pl_gram.y:1421
 #, c-format
 msgid "cursor FOR loop must use a bound cursor variable"
 msgstr ""
 "в цикле FOR с курсором должен использоваться курсор, привязанный к запросу"
 
-#: pl_gram.y:1510
+#: pl_gram.y:1511
 #, c-format
 msgid "integer FOR loop must have only one target variable"
 msgstr "в целочисленном цикле FOR должна быть только одна переменная"
 
-#: pl_gram.y:1544
+#: pl_gram.y:1545
 #, c-format
 msgid "cannot specify REVERSE in query FOR loop"
 msgstr "в цикле FOR с запросом нельзя указать REVERSE"
 
-#: pl_gram.y:1674
+#: pl_gram.y:1675
 #, c-format
 msgid "loop variable of FOREACH must be a known variable or list of variables"
 msgstr ""
 "переменной цикла FOREACH должна быть известная переменная или список "
 "переменных"
 
-#: pl_gram.y:1716
+#: pl_gram.y:1717
 #, c-format
 msgid ""
 "there is no label \"%s\" attached to any block or loop enclosing this "
 "statement"
 msgstr "в блоке или цикле, окружающем этот оператор, нет метки \"%s\""
 
-#: pl_gram.y:1724
+#: pl_gram.y:1725
 #, c-format
 msgid "block label \"%s\" cannot be used in CONTINUE"
 msgstr "метку блока \"%s\" нельзя использовать в CONTINUE"
 
-#: pl_gram.y:1739
+#: pl_gram.y:1740
 #, c-format
 msgid "EXIT cannot be used outside a loop, unless it has a label"
 msgstr "EXIT можно использовать вне цикла только с указанием метки"
 
-#: pl_gram.y:1740
+#: pl_gram.y:1741
 #, c-format
 msgid "CONTINUE cannot be used outside a loop"
 msgstr "CONTINUE нельзя использовать вне цикла"
 
-#: pl_gram.y:1764 pl_gram.y:1802 pl_gram.y:1850 pl_gram.y:3036 pl_gram.y:3124
-#: pl_gram.y:3235 pl_gram.y:3984
+#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149
+#: pl_gram.y:3260 pl_gram.y:4009
 msgid "unexpected end of function definition"
 msgstr "неожиданный конец определения функции"
 
-#: pl_gram.y:1870 pl_gram.y:1894 pl_gram.y:1910 pl_gram.y:1916 pl_gram.y:2041
-#: pl_gram.y:2049 pl_gram.y:2063 pl_gram.y:2158 pl_gram.y:2382 pl_gram.y:2472
-#: pl_gram.y:2631 pl_gram.y:3831 pl_gram.y:3892 pl_gram.y:3965
+#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042
+#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473
+#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990
 msgid "syntax error"
 msgstr "ошибка синтаксиса"
 
-#: pl_gram.y:1898 pl_gram.y:1900 pl_gram.y:2386 pl_gram.y:2388
+#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389
 msgid "invalid SQLSTATE code"
 msgstr "неверный код SQLSTATE"
 
-#: pl_gram.y:2106
+#: pl_gram.y:2107
 msgid "syntax error, expected \"FOR\""
 msgstr "ошибка синтаксиса, ожидался \"FOR\""
 
-#: pl_gram.y:2167
+#: pl_gram.y:2168
 #, c-format
 msgid "FETCH statement cannot return multiple rows"
 msgstr "оператор FETCH не может вернуть несколько строк"
 
-#: pl_gram.y:2264
+#: pl_gram.y:2265
 #, c-format
 msgid "cursor variable must be a simple variable"
 msgstr "переменная-курсор должна быть простой переменной"
 
-#: pl_gram.y:2270
+#: pl_gram.y:2271
 #, c-format
 msgid "variable \"%s\" must be of type cursor or refcursor"
 msgstr "переменная \"%s\" должна быть типа cursor или refcursor"
 
-#: pl_gram.y:2602 pl_gram.y:2613
+#: pl_gram.y:2603 pl_gram.y:2614
 #, c-format
 msgid "\"%s\" is not a known variable"
 msgstr "\"%s\" - не известная переменная"
 
-#: pl_gram.y:2718 pl_gram.y:2728 pl_gram.y:2886
+#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911
 msgid "mismatched parentheses"
 msgstr "непарные скобки"
 
-#: pl_gram.y:2732
+#: pl_gram.y:2733
 #, c-format
 msgid "missing \"%s\" at end of SQL expression"
 msgstr "отсутствует \"%s\" в конце выражения SQL"
 
-#: pl_gram.y:2738
+#: pl_gram.y:2739
 #, c-format
 msgid "missing \"%s\" at end of SQL statement"
 msgstr "отсутствует \"%s\" в конце оператора SQL"
 
-#: pl_gram.y:2757
+#: pl_gram.y:2758
 msgid "missing expression"
 msgstr "отсутствует выражение"
 
-#: pl_gram.y:2759
+#: pl_gram.y:2760
 msgid "missing SQL statement"
 msgstr "отсутствует оператор SQL"
 
-#: pl_gram.y:2888
+#: pl_gram.y:2889
+msgid "syntax error, expected \"]\""
+msgstr "ошибка синтаксиса, ожидалась \"]\""
+
+#: pl_gram.y:2913
 msgid "incomplete data type declaration"
 msgstr "неполное определение типа данных"
 
-#: pl_gram.y:2911
+#: pl_gram.y:2936
 msgid "missing data type declaration"
 msgstr "отсутствует определение типа данных"
 
-#: pl_gram.y:3046
+#: pl_gram.y:3071
 msgid "INTO specified more than once"
 msgstr "INTO указано неоднократно"
 
-#: pl_gram.y:3216
+#: pl_gram.y:3241
 msgid "expected FROM or IN"
 msgstr "ожидалось FROM или IN"
 
-#: pl_gram.y:3277
+#: pl_gram.y:3302
 #, c-format
 msgid "RETURN cannot have a parameter in function returning set"
 msgstr "в функции, возвращающей множество, RETURN должен быть без параметров"
 
-#: pl_gram.y:3278
+#: pl_gram.y:3303
 #, c-format
 msgid "Use RETURN NEXT or RETURN QUERY."
 msgstr "Используйте RETURN NEXT или RETURN QUERY."
 
-#: pl_gram.y:3288
+#: pl_gram.y:3313
 #, c-format
 msgid "RETURN cannot have a parameter in a procedure"
 msgstr "в процедуре RETURN должен быть без параметров"
 
-#: pl_gram.y:3293
+#: pl_gram.y:3318
 #, c-format
 msgid "RETURN cannot have a parameter in function returning void"
 msgstr "в функции, не возвращающей ничего, RETURN не должен иметь параметров"
 
-#: pl_gram.y:3302
+#: pl_gram.y:3327
 #, c-format
 msgid "RETURN cannot have a parameter in function with OUT parameters"
 msgstr "RETURN должен быть без параметров в функции с параметрами OUT"
 
-#: pl_gram.y:3365
+#: pl_gram.y:3390
 #, c-format
 msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
 msgstr "RETURN NEXT должен быть без параметров в функции с параметрами OUT"
 
-#: pl_gram.y:3531
+#: pl_gram.y:3556
 #, c-format
 msgid "record variable cannot be part of multiple-item INTO list"
 msgstr ""
 "переменная типа запись не может быть частью списка INTO с несколькими "
 "элементами"
 
-#: pl_gram.y:3577
+#: pl_gram.y:3602
 #, c-format
 msgid "too many INTO variables specified"
 msgstr "указано слишком много переменных INTO"
 
-#: pl_gram.y:3785
+#: pl_gram.y:3810
 #, c-format
 msgid "end label \"%s\" specified for unlabeled block"
 msgstr "конечная метка \"%s\" указана для непомеченного блока"
 
-#: pl_gram.y:3792
+#: pl_gram.y:3817
 #, c-format
 msgid "end label \"%s\" differs from block's label \"%s\""
 msgstr "конечная метка \"%s\" отличается от метки блока \"%s\""
 
-#: pl_gram.y:3826
+#: pl_gram.y:3851
 #, c-format
 msgid "cursor \"%s\" has no arguments"
 msgstr "курсор \"%s\" не имеет аргументов"
 
-#: pl_gram.y:3840
+#: pl_gram.y:3865
 #, c-format
 msgid "cursor \"%s\" has arguments"
 msgstr "курсор \"%s\" имеет аргументы"
 
-#: pl_gram.y:3882
+#: pl_gram.y:3907
 #, c-format
 msgid "cursor \"%s\" has no argument named \"%s\""
 msgstr "курсор \"%s\" не имеет аргумента \"%s\""
 
-#: pl_gram.y:3902
+#: pl_gram.y:3927
 #, c-format
 msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
 msgstr "значение параметра \"%s\" курсора \"%s\" указано неоднократно"
 
-#: pl_gram.y:3923
+#: pl_gram.y:3948
 #, c-format
 msgid "not enough arguments for cursor \"%s\""
 msgstr "недостаточно аргументов для курсора \"%s\""
 
-#: pl_gram.y:3930
+#: pl_gram.y:3955
 #, c-format
 msgid "too many arguments for cursor \"%s\""
 msgstr "слишком много аргументов для курсора \"%s\""
 
-#: pl_gram.y:4016
+#: pl_gram.y:4041
 msgid "unrecognized RAISE statement option"
 msgstr "нераспознанный параметр оператора RAISE"
 
-#: pl_gram.y:4020
+#: pl_gram.y:4045
 msgid "syntax error, expected \"=\""
 msgstr "ошибка синтаксиса, ожидалось \"=\""
 
-#: pl_gram.y:4061
+#: pl_gram.y:4086
 #, c-format
 msgid "too many parameters specified for RAISE"
 msgstr "слишком много параметров для RAISE"
 
-#: pl_gram.y:4065
+#: pl_gram.y:4090
 #, c-format
 msgid "too few parameters specified for RAISE"
 msgstr "недостаточно параметров для RAISE"
index c8ba4ad1a3413a9577eb695d7f41778c4a9cf740..e88235261826b51a5242a6e441e8636aacad706b 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: plpython (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
 "PO-Revision-Date: 2019-08-29 15:42+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@@ -111,17 +111,24 @@ msgstr "процедура PL/Python вернула не None"
 msgid "PL/Python function with return type \"void\" did not return None"
 msgstr "функция PL/Python с типом результата \"void\" вернула не None"
 
-#: plpy_exec.c:369 plpy_exec.c:393
+#: plpy_exec.c:246
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
+
+#: plpy_exec.c:392 plpy_exec.c:416
 #, c-format
 msgid "unexpected return value from trigger procedure"
 msgstr "триггерная процедура вернула недопустимое значение"
 
-#: plpy_exec.c:370
+#: plpy_exec.c:393
 #, c-format
 msgid "Expected None or a string."
 msgstr "Ожидалось None или строка."
 
-#: plpy_exec.c:383
+#: plpy_exec.c:406
 #, c-format
 msgid ""
 "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
@@ -129,49 +136,42 @@ msgstr ""
 "триггерная функция PL/Python вернула \"MODIFY\" в триггере DELETE -- "
 "игнорируется"
 
-#: plpy_exec.c:394
+#: plpy_exec.c:417
 #, c-format
 msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
 msgstr "Ожидалось None, \"OK\", \"SKIP\" или \"MODIFY\"."
 
-#: plpy_exec.c:444
+#: plpy_exec.c:468
 #, c-format
 msgid "PyList_SetItem() failed, while setting up arguments"
 msgstr "ошибка в PyList_SetItem() при настройке аргументов"
 
-#: plpy_exec.c:448
+#: plpy_exec.c:472
 #, c-format
 msgid "PyDict_SetItemString() failed, while setting up arguments"
 msgstr "ошибка в PyDict_SetItemString() при настройке аргументов"
 
-#: plpy_exec.c:460
-#, c-format
-msgid ""
-"function returning record called in context that cannot accept type record"
-msgstr ""
-"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
-
-#: plpy_exec.c:677
+#: plpy_exec.c:701
 #, c-format
 msgid "while creating return value"
 msgstr "при создании возвращаемого значения"
 
-#: plpy_exec.c:928
+#: plpy_exec.c:952
 #, c-format
 msgid "TD[\"new\"] deleted, cannot modify row"
 msgstr "элемент TD[\"new\"] удалён -- изменить строку нельзя"
 
-#: plpy_exec.c:933
+#: plpy_exec.c:957
 #, c-format
 msgid "TD[\"new\"] is not a dictionary"
 msgstr "TD[\"new\"] - не словарь"
 
-#: plpy_exec.c:958
+#: plpy_exec.c:982
 #, c-format
 msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
 msgstr "ключ словаря TD[\"new\"] с порядковым номером %d не является строкой"
 
-#: plpy_exec.c:965
+#: plpy_exec.c:989
 #, c-format
 msgid ""
 "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
@@ -180,22 +180,22 @@ msgstr ""
 "ключу \"%s\", найденному в TD[\"new\"], не соответствует столбец в строке, "
 "обрабатываемой триггером"
 
-#: plpy_exec.c:970
+#: plpy_exec.c:994
 #, c-format
 msgid "cannot set system attribute \"%s\""
 msgstr "присвоить значение системному атрибуту \"%s\" нельзя"
 
-#: plpy_exec.c:975
+#: plpy_exec.c:999
 #, c-format
 msgid "cannot set generated column \"%s\""
 msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя"
 
-#: plpy_exec.c:1033
+#: plpy_exec.c:1057
 #, c-format
 msgid "while modifying trigger row"
 msgstr "при изменении строки в триггере"
 
-#: plpy_exec.c:1091
+#: plpy_exec.c:1115
 #, c-format
 msgid "forcibly aborting a subtransaction that has not been exited"
 msgstr "принудительное прерывание незавершённой подтранзакции"
@@ -284,27 +284,27 @@ msgstr "'%s' - недопустимое ключевое слово (аргум
 msgid "invalid SQLSTATE code"
 msgstr "неверный код SQLSTATE"
 
-#: plpy_procedure.c:225
+#: plpy_procedure.c:226
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "триггерные функции могут вызываться только в триггерах"
 
-#: plpy_procedure.c:229
+#: plpy_procedure.c:230
 #, c-format
 msgid "PL/Python functions cannot return type %s"
 msgstr "функции PL/Python не могут возвращать тип %s"
 
-#: plpy_procedure.c:307
+#: plpy_procedure.c:308
 #, c-format
 msgid "PL/Python functions cannot accept type %s"
 msgstr "функции PL/Python не могут принимать тип %s"
 
-#: plpy_procedure.c:395
+#: plpy_procedure.c:396
 #, c-format
 msgid "could not compile PL/Python function \"%s\""
 msgstr "не удалось скомпилировать функцию PL/Python \"%s\""
 
-#: plpy_procedure.c:398
+#: plpy_procedure.c:399
 #, c-format
 msgid "could not compile anonymous PL/Python code block"
 msgstr "не удалось скомпилировать анонимный блок кода PL/Python"
index 8d136272242caa99de05e32a1ac453e87a60d5bb..6df9a5897c059de0e241a80f84f9f788dd77f6e7 100644 (file)
@@ -1,13 +1,13 @@
 # Russian message translation file for pltcl
 # Copyright (C) 2012-2016 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2022.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: pltcl (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-08-28 07:59+0300\n"
-"PO-Revision-Date: 2022-09-05 13:38+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-08-01 13:03+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -59,17 +59,22 @@ msgid ""
 msgstr ""
 "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
 
-#: pltcl.c:1295
+#: pltcl.c:1031
 #, c-format
-msgid "could not split return value from trigger: %s"
-msgstr "Ñ\80азложиÑ\82Ñ\8c Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аемое Ð¸Ð· Ñ\82Ñ\80иггеÑ\80а значение не удалось: %s"
+msgid "could not parse function return value: %s"
+msgstr "Ñ\80азобÑ\80аÑ\82Ñ\8c Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аемое Ñ\84Ñ\83нкÑ\86ией значение не удалось: %s"
 
-#: pltcl.c:1376 pltcl.c:1803
+#: pltcl.c:1298
+#, c-format
+msgid "could not parse trigger return value: %s"
+msgstr "разобрать возвращаемое триггером значение не удалось: %s"
+
+#: pltcl.c:1383 pltcl.c:1810
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pltcl.c:1377
+#: pltcl.c:1384
 #, c-format
 msgid ""
 "%s\n"
@@ -78,43 +83,43 @@ msgstr ""
 "%s\n"
 "в функции PL/Tcl \"%s\""
 
-#: pltcl.c:1540
+#: pltcl.c:1547
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "триггерные функции могут вызываться только в триггерах"
 
-#: pltcl.c:1544
+#: pltcl.c:1551
 #, c-format
 msgid "PL/Tcl functions cannot return type %s"
 msgstr "функции PL/Tcl не могут возвращать тип %s"
 
-#: pltcl.c:1583
+#: pltcl.c:1590
 #, c-format
 msgid "PL/Tcl functions cannot accept type %s"
 msgstr "функции PL/Tcl не могут принимать тип %s"
 
-#: pltcl.c:1695
+#: pltcl.c:1702
 #, c-format
 msgid "could not create internal procedure \"%s\": %s"
 msgstr "не удалось создать внутреннюю процедуру \"%s\": %s"
 
-#: pltcl.c:3199
+#: pltcl.c:3207
 #, c-format
 msgid "column name/value list must have even number of elements"
 msgstr "в списке имён/значений столбцов должно быть чётное число элементов"
 
-#: pltcl.c:3217
+#: pltcl.c:3225
 #, c-format
 msgid "column name/value list contains nonexistent column name \"%s\""
 msgstr ""
 "список имён/значений столбцов содержит имя несуществующего столбца \"%s\""
 
-#: pltcl.c:3224
+#: pltcl.c:3232
 #, c-format
 msgid "cannot set system attribute \"%s\""
 msgstr "присвоить значение системному атрибуту \"%s\" нельзя"
 
-#: pltcl.c:3230
+#: pltcl.c:3238
 #, c-format
 msgid "cannot set generated column \"%s\""
 msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя"
index 85d9a1535a411808e34bc8493e61e068d0b8d080..e9236179b64e31b3347b18e1c419c1e5fa1ede66 100644 (file)
@@ -5,13 +5,13 @@
 # Oleg Bartunov <oleg@sai.msu.su>, 2004-2005.
 # Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
 # Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
-# Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021, 2022.
+# Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021, 2022, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: postgres (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2024-05-04 10:47+0300\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 13:49+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -21,6 +21,11 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+#: ../common/binaryheap.c:121 ../common/binaryheap.c:159
+#, c-format
+msgid "out of binary heap slots"
+msgstr "недостаточно слотов в двоичной куче"
+
 #: ../common/compression.c:132 ../common/compression.c:141
 #: ../common/compression.c:150
 #, c-format
@@ -82,64 +87,66 @@ msgstr "алгоритм сжатия \"%s\" не поддерживает ре
 msgid "not recorded"
 msgstr "не записано"
 
-#: ../common/controldata_utils.c:79 ../common/controldata_utils.c:83
-#: commands/copyfrom.c:1687 commands/extension.c:3480 utils/adt/genfile.c:123
+#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97
+#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123
+#: utils/time/snapmgr.c:1430
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96
+#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1347 access/transam/xlog.c:3195
-#: access/transam/xlog.c:3998 access/transam/xlogrecovery.c:1225
-#: access/transam/xlogrecovery.c:1317 access/transam/xlogrecovery.c:1354
-#: access/transam/xlogrecovery.c:1414 backup/basebackup.c:1846
-#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745
-#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050
-#: replication/logical/snapbuild.c:2031 replication/slot.c:1980
-#: replication/slot.c:2021 replication/walsender.c:643
+#: access/transam/twophase.c:1369 access/transam/xlog.c:3476
+#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238
+#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373
+#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123
+#: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764
+#: replication/logical/origin.c:745 replication/logical/origin.c:781
+#: replication/logical/reorderbuffer.c:5108
+#: replication/logical/snapbuild.c:2052 replication/slot.c:2236
+#: replication/slot.c:2277 replication/walsender.c:655
 #: storage/file/buffile.c:470 storage/file/copydir.c:185
-#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:830
+#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105
-#: access/transam/xlog.c:3200 access/transam/xlog.c:4003
-#: backup/basebackup.c:1850 replication/logical/origin.c:750
-#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2036
-#: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648
-#: utils/cache/relmapper.c:834
+#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119
+#: access/transam/xlog.c:3481 access/transam/xlog.c:4345
+#: replication/logical/origin.c:750 replication/logical/origin.c:789
+#: replication/logical/snapbuild.c:2057 replication/slot.c:2240
+#: replication/slot.c:2281 replication/walsender.c:660
+#: utils/cache/relmapper.c:833
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
 
-#: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118
-#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:266
-#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280
+#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132
+#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280
+#: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
-#: access/transam/timeline.c:512 access/transam/twophase.c:1359
-#: access/transam/twophase.c:1771 access/transam/xlog.c:3041
-#: access/transam/xlog.c:3235 access/transam/xlog.c:3240
-#: access/transam/xlog.c:3376 access/transam/xlog.c:3968
-#: access/transam/xlog.c:4887 commands/copyfrom.c:1747 commands/copyto.c:332
+#: access/transam/timeline.c:512 access/transam/twophase.c:1381
+#: access/transam/twophase.c:1793 access/transam/xlog.c:3322
+#: access/transam/xlog.c:3516 access/transam/xlog.c:3521
+#: access/transam/xlog.c:3657 access/transam/xlog.c:4310
+#: access/transam/xlog.c:5245 commands/copyfrom.c:1799 commands/copyto.c:325
 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540
 #: replication/logical/origin.c:683 replication/logical/origin.c:822
-#: replication/logical/reorderbuffer.c:5102
-#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922
-#: replication/slot.c:1871 replication/slot.c:2032 replication/walsender.c:658
-#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:782
-#: storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:842
-#: utils/cache/relmapper.c:957
+#: replication/logical/reorderbuffer.c:5160
+#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943
+#: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670
+#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828
+#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841
+#: utils/cache/relmapper.c:956
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
 
-#: ../common/controldata_utils.c:154
+#: ../common/controldata_utils.c:168
 msgid "byte ordering mismatch"
 msgstr "несоответствие порядка байт"
 
-#: ../common/controldata_utils.c:156
+#: ../common/controldata_utils.c:170
 #, c-format
 msgid ""
 "possible byte ordering mismatch\n"
@@ -153,141 +160,157 @@ msgstr ""
 "этой программой. В этом случае результаты будут неверными и\n"
 "установленный PostgreSQL будет несовместим с этим каталогом данных."
 
-#: ../common/controldata_utils.c:211 ../common/controldata_utils.c:216
-#: ../common/file_utils.c:228 ../common/file_utils.c:287
-#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263
-#: access/transam/timeline.c:111 access/transam/timeline.c:251
-#: access/transam/timeline.c:348 access/transam/twophase.c:1303
-#: access/transam/xlog.c:2948 access/transam/xlog.c:3111
-#: access/transam/xlog.c:3150 access/transam/xlog.c:3343
-#: access/transam/xlog.c:3988 access/transam/xlogrecovery.c:4213
-#: access/transam/xlogrecovery.c:4316 access/transam/xlogutils.c:838
-#: backup/basebackup.c:538 backup/basebackup.c:1516 libpq/hba.c:629
-#: postmaster/syslogger.c:1560 replication/logical/origin.c:735
-#: replication/logical/reorderbuffer.c:3706
-#: replication/logical/reorderbuffer.c:4257
-#: replication/logical/reorderbuffer.c:5030
-#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863
-#: replication/slot.c:1952 replication/walsender.c:616
-#: replication/walsender.c:2731 storage/file/copydir.c:151
-#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687
-#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:819
-#: utils/cache/relmapper.c:936 utils/error/elog.c:2086
-#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1671
-#: utils/init/miscinit.c:1748 utils/misc/guc.c:4609 utils/misc/guc.c:4659
+#: ../common/controldata_utils.c:225 ../common/controldata_utils.c:230
+#: ../common/file_utils.c:70 ../common/file_utils.c:347
+#: ../common/file_utils.c:406 ../common/file_utils.c:480
+#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111
+#: access/transam/timeline.c:251 access/transam/timeline.c:348
+#: access/transam/twophase.c:1325 access/transam/xlog.c:3229
+#: access/transam/xlog.c:3392 access/transam/xlog.c:3431
+#: access/transam/xlog.c:3624 access/transam/xlog.c:4330
+#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366
+#: access/transam/xlogutils.c:836 backup/basebackup.c:547
+#: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624
+#: postmaster/syslogger.c:1511 replication/logical/origin.c:735
+#: replication/logical/reorderbuffer.c:3761
+#: replication/logical/reorderbuffer.c:4315
+#: replication/logical/reorderbuffer.c:5088
+#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884
+#: replication/slot.c:2208 replication/walsender.c:628
+#: replication/walsender.c:3051 storage/file/copydir.c:151
+#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740
+#: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818
+#: utils/cache/relmapper.c:935 utils/error/elog.c:2124
+#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660
+#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235
-#: access/transam/twophase.c:1744 access/transam/twophase.c:1753
-#: access/transam/xlog.c:8757 access/transam/xlogfuncs.c:708
-#: backup/basebackup_server.c:175 backup/basebackup_server.c:268
-#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571
-#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597
-#: utils/cache/relmapper.c:948
+#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249
+#: access/transam/twophase.c:1766 access/transam/twophase.c:1775
+#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698
+#: backup/basebackup_server.c:173 backup/basebackup_server.c:266
+#: backup/walsummary.c:304 postmaster/postmaster.c:4125
+#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535
+#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: ../common/controldata_utils.c:249 ../common/controldata_utils.c:254
-#: ../common/file_utils.c:299 ../common/file_utils.c:369
-#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169
-#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432
-#: access/transam/timeline.c:506 access/transam/twophase.c:1765
-#: access/transam/xlog.c:3034 access/transam/xlog.c:3229
-#: access/transam/xlog.c:3961 access/transam/xlog.c:8147
-#: access/transam/xlog.c:8192 backup/basebackup_server.c:209
-#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1791
-#: replication/slot.c:1857 replication/slot.c:1962 storage/file/fd.c:774
-#: storage/file/fd.c:3798 storage/smgr/md.c:1135 storage/smgr/md.c:1180
-#: storage/sync/sync.c:451 utils/misc/guc.c:4379
+#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268
+#: ../common/file_utils.c:418 ../common/file_utils.c:488
+#: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135
+#: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432
+#: access/transam/timeline.c:506 access/transam/twophase.c:1787
+#: access/transam/xlog.c:3315 access/transam/xlog.c:3510
+#: access/transam/xlog.c:4303 access/transam/xlog.c:8630
+#: access/transam/xlog.c:8675 backup/basebackup_server.c:207
+#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812
+#: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820
+#: storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374
+#: storage/sync/sync.c:446 utils/misc/guc.c:4489
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
 
-#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133
-#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595
-#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325
-#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327
-#: ../common/md5_common.c:155 ../common/psprintf.c:143
-#: ../common/scram-common.c:269 ../common/stringinfo.c:305 ../port/path.c:751
-#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412
-#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1343
-#: libpq/auth.c:1387 libpq/auth.c:1944 libpq/be-secure-gssapi.c:524
-#: postmaster/bgworker.c:352 postmaster/bgworker.c:934
-#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130
-#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869
-#: replication/libpqwalreceiver/libpqwalreceiver.c:361
-#: replication/logical/logical.c:208 replication/walsender.c:686
-#: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397
-#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449
-#: storage/ipc/procarray.c:2231 storage/ipc/procarray.c:2238
-#: storage/ipc/procarray.c:2737 storage/ipc/procarray.c:3373
-#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812
-#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:473
-#: utils/adt/pg_locale.c:637 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514
-#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402
-#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842
-#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053
-#: utils/misc/guc.c:4357 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445
-#: utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736 utils/mmgr/dsa.c:817
-#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082
-#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246
-#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502
-#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366
+#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158
+#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607
+#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325
+#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357
+#: ../common/md5_common.c:156 ../common/parse_manifest.c:157
+#: ../common/parse_manifest.c:853 ../common/psprintf.c:143
+#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751
+#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434
+#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352
+#: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524
+#: postmaster/bgworker.c:355 postmaster/bgworker.c:945
+#: postmaster/postmaster.c:3559 postmaster/postmaster.c:4019
+#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:935
+#: replication/libpqwalreceiver/libpqwalreceiver.c:387
+#: replication/logical/logical.c:210 replication/walsender.c:835
+#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443
+#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465
+#: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226
+#: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435
+#: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873
+#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:509
+#: utils/adt/pg_locale.c:673 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516
+#: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401
+#: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841
+#: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062
+#: utils/misc/guc.c:4467 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451
+#: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729
+#: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154
+#: utils/mmgr/slab.c:370
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
 #: ../common/cryptohash.c:266 ../common/cryptohash.c:272
-#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352
-#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339
-#: ../common/hmac_openssl.c:347
+#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376
+#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369
+#: ../common/hmac_openssl.c:377
 msgid "success"
 msgstr "успех"
 
-#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346
-#: ../common/hmac_openssl.c:341
+#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370
+#: ../common/hmac_openssl.c:371
 msgid "destination buffer too small"
 msgstr "буфер назначения слишком мал"
 
-#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343
+#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373
 msgid "OpenSSL failure"
 msgstr "ошибка OpenSSL"
 
-#: ../common/exec.c:172
+#: ../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../common/exec.c:215
+#: ../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../common/exec.c:223
+#: ../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../common/exec.c:250
+#: ../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../common/exec.c:412 libpq/pqcomm.c:724 storage/ipc/latch.c:1134
-#: storage/ipc/latch.c:1314 storage/ipc/latch.c:1547 storage/ipc/latch.c:1709
-#: storage/ipc/latch.c:1835
+#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723
+#: commands/copyto.c:650 libpq/be-secure-common.c:59
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../common/exec.c:394 libpq/be-secure-common.c:71
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169
+#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744
+#: storage/ipc/latch.c:1870
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161
-#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791
-#: ../port/path.c:808 utils/misc/ps_status.c:195 utils/misc/ps_status.c:203
-#: utils/misc/ps_status.c:230 utils/misc/ps_status.c:238
+#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790
+#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201
+#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -297,39 +320,51 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: ../common/file_utils.c:87 ../common/file_utils.c:447
-#: ../common/file_utils.c:451 access/transam/twophase.c:1315
-#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:236
-#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615
-#: commands/copyfrom.c:1697 commands/copyto.c:702 commands/extension.c:3469
-#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590
-#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922
-#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106
-#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483
-#: utils/adt/genfile.c:658 utils/adt/misc.c:340
+#: ../common/file_utils.c:76 storage/file/fd.c:3516
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: ../common/file_utils.c:120 ../common/file_utils.c:566
+#: ../common/file_utils.c:570 access/transam/twophase.c:1337
+#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235
+#: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624
+#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749
+#: commands/copyto.c:696 commands/extension.c:3527 commands/tablespace.c:804
+#: commands/tablespace.c:893 postmaster/pgarch.c:680
+#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173
+#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564
+#: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337
+#: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63
-#: commands/tablespace.c:734 commands/tablespace.c:744
-#: postmaster/postmaster.c:1564 storage/file/fd.c:2880
-#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338
+#: ../common/file_utils.c:130 ../common/file_utils.c:227
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\""
+
+#: ../common/file_utils.c:151 ../common/file_utils.c:281
+#: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728
+#: commands/tablespace.c:738 postmaster/postmaster.c:1468
+#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256
+#: utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104
-#: storage/file/fd.c:2892
+#: ../common/file_utils.c:169 ../common/file_utils.c:315
+#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "не удалось прочитать каталог \"%s\": %m"
 
-#: ../common/file_utils.c:379 access/transam/xlogarchive.c:390
-#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608
-#: replication/logical/snapbuild.c:1810 replication/slot.c:723
-#: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792
-#: utils/time/snapmgr.c:1284
+#: ../common/file_utils.c:498 access/transam/xlogarchive.c:389
+#: postmaster/pgarch.c:834 postmaster/syslogger.c:1559
+#: replication/logical/snapbuild.c:1831 replication/slot.c:936
+#: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838
+#: utils/time/snapmgr.c:1255
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
@@ -338,75 +373,92 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\"
 msgid "internal error"
 msgstr "внутренняя ошибка"
 
-#: ../common/jsonapi.c:1144
+#: ../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr ""
+"Инкрементальный лексический анализатор не подходит для нисходящего "
+"рекурсивного разбора."
+
+#: ../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr ""
+"Для инкрементального разбора требуется инкрементальный лексический "
+"анализатор."
+
+#: ../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr ""
+"Слишком большая вложенность JSON, максимальная допустимая глубина: 6400."
+
+#: ../common/jsonapi.c:2127
 #, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
-msgstr "Неверная спецпоследовательность: \"\\%s\"."
+msgid "Escape sequence \"\\%.*s\" is invalid."
+msgstr "Неверная спецпоследовательность: \"\\%.*s\"."
 
-#: ../common/jsonapi.c:1147
+#: ../common/jsonapi.c:2131
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Символ с кодом 0x%02x необходимо экранировать."
 
-#: ../common/jsonapi.c:1150
+#: ../common/jsonapi.c:2135
 #, c-format
-msgid "Expected end of input, but found \"%s\"."
-msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"."
+msgid "Expected end of input, but found \"%.*s\"."
+msgstr "Ожидался конец текста, но обнаружено продолжение \"%.*s\"."
 
-#: ../common/jsonapi.c:1153
+#: ../common/jsonapi.c:2138
 #, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
+msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1156
+#: ../common/jsonapi.c:2141
 #, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
+msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1159
+#: ../common/jsonapi.c:2144
 #, c-format
-msgid "Expected \":\", but found \"%s\"."
-msgstr "Ожидалось \":\", но обнаружено \"%s\"."
+msgid "Expected \":\", but found \"%.*s\"."
+msgstr "Ожидалось \":\", но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1162
+#: ../common/jsonapi.c:2147
 #, c-format
-msgid "Expected JSON value, but found \"%s\"."
-msgstr "Ожидалось значение JSON, но обнаружено \"%s\"."
+msgid "Expected JSON value, but found \"%.*s\"."
+msgstr "Ожидалось значение JSON, но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1165
+#: ../common/jsonapi.c:2150
 msgid "The input string ended unexpectedly."
 msgstr "Неожиданный конец входной строки."
 
-#: ../common/jsonapi.c:1167
+#: ../common/jsonapi.c:2152
 #, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"."
+msgid "Expected string or \"}\", but found \"%.*s\"."
+msgstr "Ожидалась строка или \"}\", но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1170
+#: ../common/jsonapi.c:2155
 #, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
+msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1173
+#: ../common/jsonapi.c:2158
 #, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "Ожидалась строка, но обнаружено \"%s\"."
+msgid "Expected string, but found \"%.*s\"."
+msgstr "Ожидалась строка, но обнаружено \"%.*s\"."
 
-#: ../common/jsonapi.c:1176
+#: ../common/jsonapi.c:2161
 #, c-format
-msgid "Token \"%s\" is invalid."
-msgstr "Ошибочный элемент текста \"%s\"."
+msgid "Token \"%.*s\" is invalid."
+msgstr "Ошибочный элемент \"%.*s\"."
 
-#: ../common/jsonapi.c:1179 jsonpath_scan.l:597
+#: ../common/jsonapi.c:2164 jsonpath_scan.l:608
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 нельзя преобразовать в текст."
 
-#: ../common/jsonapi.c:1181
+#: ../common/jsonapi.c:2166
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры."
 
-#: ../common/jsonapi.c:1184
+#: ../common/jsonapi.c:2169
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
 "the encoding is not UTF8."
@@ -414,20 +466,20 @@ msgstr ""
 "Спецкоды Unicode для значений выше 007F можно использовать только с "
 "кодировкой UTF8."
 
-#: ../common/jsonapi.c:1187
+#: ../common/jsonapi.c:2178
 #, c-format
 msgid ""
 "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s."
 
-#: ../common/jsonapi.c:1190 jsonpath_scan.l:630
+#: ../common/jsonapi.c:2185 jsonpath_scan.l:641
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr ""
 "Старшее слово суррогата Unicode не может следовать за другим старшим словом."
 
-#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651
-#: jsonpath_scan.l:702
+#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662
+#: jsonpath_scan.l:713
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом."
@@ -452,11 +504,168 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
+#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "не удалось подготовить контекст контрольной суммы манифеста"
+
+#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261
+msgid "manifest ended unexpectedly"
+msgstr "неожиданный конец манифеста"
+
+#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862
+#, c-format
+msgid "could not update checksum of manifest"
+msgstr "не удалось изменить контекст контрольной суммы манифеста"
+
+#: ../common/parse_manifest.c:302
+msgid "unexpected object start"
+msgstr "неожиданное начало объекта"
+
+#: ../common/parse_manifest.c:337
+msgid "unexpected object end"
+msgstr "неожиданный конец объекта"
+
+#: ../common/parse_manifest.c:366
+msgid "unexpected array start"
+msgstr "неожиданное начало массива"
+
+#: ../common/parse_manifest.c:391
+msgid "unexpected array end"
+msgstr "неожиданный конец массива"
+
+#: ../common/parse_manifest.c:418
+msgid "expected version indicator"
+msgstr "ожидалось указание версии"
+
+#: ../common/parse_manifest.c:454
+msgid "unrecognized top-level field"
+msgstr "нераспознанное поле на верхнем уровне"
+
+#: ../common/parse_manifest.c:473
+msgid "unexpected file field"
+msgstr "неизвестное поле для файла"
+
+#: ../common/parse_manifest.c:487
+msgid "unexpected WAL range field"
+msgstr "неизвестное поле в указании диапазона WAL"
+
+#: ../common/parse_manifest.c:493
+msgid "unexpected object field"
+msgstr "неожиданное поле объекта"
+
+#: ../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "неожиданное скалярное значение"
+
+#: ../common/parse_manifest.c:609
+msgid "manifest version not an integer"
+msgstr "версия манифеста не является целым числом"
+
+#: ../common/parse_manifest.c:613
+msgid "unexpected manifest version"
+msgstr "неожиданная версия манифеста"
+
+#: ../common/parse_manifest.c:637
+msgid "system identifier in manifest not an integer"
+msgstr "идентификатор системы в манифесте не является целым числом"
+
+#: ../common/parse_manifest.c:662
+msgid "missing path name"
+msgstr "отсутствует указание пути"
+
+#: ../common/parse_manifest.c:665
+msgid "both path name and encoded path name"
+msgstr "путь задан в обычном виде и в закодированном"
+
+#: ../common/parse_manifest.c:667
+msgid "missing size"
+msgstr "отсутствует указание размера"
+
+#: ../common/parse_manifest.c:670
+msgid "checksum without algorithm"
+msgstr "не задан алгоритм расчёта контрольной суммы"
+
+#: ../common/parse_manifest.c:684
+msgid "could not decode file name"
+msgstr "не удалось декодировать имя файла"
+
+#: ../common/parse_manifest.c:694
+msgid "file size is not an integer"
+msgstr "размер файла не является целочисленным"
+
+#: ../common/parse_manifest.c:700 backup/basebackup.c:870
+#, c-format
+msgid "unrecognized checksum algorithm: \"%s\""
+msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\""
+
+#: ../common/parse_manifest.c:719
+#, c-format
+msgid "invalid checksum for file \"%s\": \"%s\""
+msgstr "неверная контрольная сумма для файла \"%s\": \"%s\""
+
+#: ../common/parse_manifest.c:762
+msgid "missing timeline"
+msgstr "отсутствует линия времени"
+
+#: ../common/parse_manifest.c:764
+msgid "missing start LSN"
+msgstr "отсутствует начальный LSN"
+
+#: ../common/parse_manifest.c:766
+msgid "missing end LSN"
+msgstr "отсутствует конечный LSN"
+
+#: ../common/parse_manifest.c:772
+msgid "timeline is not an integer"
+msgstr "линия времени задана не целым числом"
+
+#: ../common/parse_manifest.c:775
+msgid "could not parse start LSN"
+msgstr "не удалось разобрать начальный LSN"
+
+#: ../common/parse_manifest.c:778
+msgid "could not parse end LSN"
+msgstr "не удалось разобрать конечный LSN"
+
+#: ../common/parse_manifest.c:843
+msgid "expected at least 2 lines"
+msgstr "ожидалось как минимум 2 строки"
+
+#: ../common/parse_manifest.c:846
+msgid "last line not newline-terminated"
+msgstr "последняя строка не оканчивается символом новой строки"
+
+#: ../common/parse_manifest.c:865
+#, c-format
+msgid "could not finalize checksum of manifest"
+msgstr "не удалось завершить расчёт контрольной суммы манифеста"
+
+#: ../common/parse_manifest.c:869
+#, c-format
+msgid "manifest has no checksum"
+msgstr "в манифесте нет контрольной суммы"
+
+#: ../common/parse_manifest.c:873
+#, c-format
+msgid "invalid manifest checksum: \"%s\""
+msgstr "неверная контрольная сумма в манифесте: \"%s\""
+
+#: ../common/parse_manifest.c:877
+#, c-format
+msgid "manifest checksum mismatch"
+msgstr "ошибка контрольной суммы манифеста"
+
+#: ../common/parse_manifest.c:892
+#, c-format
+msgid "could not parse backup manifest: %s"
+msgstr "не удалось разобрать манифест копии: %s"
+
 #: ../common/percentrepl.c:79 ../common/percentrepl.c:85
 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124
-#: postmaster/postmaster.c:2211 utils/misc/guc.c:3120 utils/misc/guc.c:3156
-#: utils/misc/guc.c:3226 utils/misc/guc.c:4556 utils/misc/guc.c:6738
-#: utils/misc/guc.c:6779
+#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208
+#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896
+#: utils/misc/guc.c:6937
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "неверное значение для параметра \"%s\": \"%s\""
@@ -517,23 +726,23 @@ msgstr "не удалось перезапуститься с ограничен
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)"
 
-#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248
-#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120
-#: access/transam/xlogarchive.c:400 postmaster/postmaster.c:1143
-#: postmaster/syslogger.c:1537 replication/logical/origin.c:591
-#: replication/logical/reorderbuffer.c:4526
-#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125
-#: replication/slot.c:1936 storage/file/fd.c:832 storage/file/fd.c:3325
-#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316
-#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248
-#: utils/time/snapmgr.c:1608
+#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214
+#: access/transam/twophase.c:1726 access/transam/xlogarchive.c:119
+#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048
+#: postmaster/syslogger.c:1488 replication/logical/origin.c:591
+#: replication/logical/reorderbuffer.c:4584
+#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146
+#: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378
+#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343
+#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243
+#: utils/time/snapmgr.c:1591
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
-#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786
-#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317
-#: storage/file/fd.c:3726
+#: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780
+#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370
+#: storage/file/fd.c:3779
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "ошибка при удалении каталога \"%s\": %m"
@@ -550,13 +759,13 @@ msgstr "не удалось закодировать сохранённый кл
 msgid "could not encode server key"
 msgstr "не удалось закодировать ключ сервера"
 
-#: ../common/stringinfo.c:306
+#: ../common/stringinfo.c:315
 #, c-format
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr ""
 "Не удалось увеличить строковый буфер (в буфере байт: %d, требовалось ещё %d)."
 
-#: ../common/stringinfo.c:310
+#: ../common/stringinfo.c:319
 #, c-format
 msgid ""
 "out of memory\n"
@@ -573,7 +782,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
 
-#: ../common/username.c:45 libpq/auth.c:1879
+#: ../common/username.c:45 libpq/auth.c:1888
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
@@ -610,7 +819,7 @@ msgstr "дочерний процесс завершён по сигналу %d:
 #: ../common/wait_error.c:82
 #, c-format
 msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d"
 
 #: ../port/chklocale.c:283
 #, c-format
@@ -672,20 +881,20 @@ msgstr ""
 
 #: ../port/path.c:775
 #, c-format
-msgid "could not get current working directory: %s\n"
-msgstr "не удалось определить текущий рабочий каталог: %s\n"
+msgid "could not get current working directory: %m\n"
+msgstr "не удалось определить текущий рабочий каталог: %m\n"
 
 #: ../port/strerror.c:72
 #, c-format
 msgid "operating system error %d"
 msgstr "ошибка ОС %d"
 
-#: ../port/thread.c:50 ../port/thread.c:86
+#: ../port/user.c:43 ../port/user.c:79
 #, c-format
 msgid "could not look up local user ID %d: %s"
 msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s"
 
-#: ../port/thread.c:55 ../port/thread.c:91
+#: ../port/user.c:48 ../port/user.c:84
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "локальный пользователь с ID %d не существует"
@@ -707,7 +916,7 @@ msgid "could not check access token membership: error code %lu\n"
 msgstr ""
 "не удалось проверить вхождение в маркере безопасности (код ошибки: %lu)\n"
 
-#: access/brin/brin.c:216
+#: access/brin/brin.c:405
 #, c-format
 msgid ""
 "request for BRIN range summarization for index \"%s\" page %u was not "
@@ -716,72 +925,72 @@ msgstr ""
 "запрос на расчёт сводки диапазона BRIN для индекса \"%s\" страницы %u не был "
 "записан"
 
-#: access/brin/brin.c:1036 access/brin/brin.c:1143 access/gin/ginfast.c:1039
-#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214
-#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286
-#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328
-#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456
+#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040
+#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208
+#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280
+#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322
+#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446
 #, c-format
 msgid "recovery is in progress"
 msgstr "идёт процесс восстановления"
 
-#: access/brin/brin.c:1037 access/brin/brin.c:1144
+#: access/brin/brin.c:1386 access/brin/brin.c:1494
 #, c-format
 msgid "BRIN control functions cannot be executed during recovery."
 msgstr "Функции управления BRIN нельзя использовать в процессе восстановления."
 
-#: access/brin/brin.c:1042 access/brin/brin.c:1149
+#: access/brin/brin.c:1391 access/brin/brin.c:1499
 #, c-format
 msgid "block number out of range: %lld"
 msgstr "номер блока вне диапазона: %lld"
 
-#: access/brin/brin.c:1086 access/brin/brin.c:1175
+#: access/brin/brin.c:1436 access/brin/brin.c:1525
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "\"%s\" - это не индекс BRIN"
 
-#: access/brin/brin.c:1102 access/brin/brin.c:1191
+#: access/brin/brin.c:1452 access/brin/brin.c:1541
 #, c-format
 msgid "could not open parent table of index \"%s\""
 msgstr "не удалось открыть родительскую таблицу индекса \"%s\""
 
-#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084
-#: parser/parse_utilcmd.c:2280
+#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085
+#: parser/parse_utilcmd.c:2249
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "индекс \"%s\" - нерабочий"
 
-#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794
-#: access/brin/brin_minmax_multi.c:2985 access/brin/brin_minmax_multi.c:3122
-#: statistics/dependencies.c:663 statistics/dependencies.c:716
-#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344
-#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43
-#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93
+#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825
+#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130
+#: statistics/dependencies.c:661 statistics/dependencies.c:714
+#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343
+#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40
+#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "значение типа %s нельзя ввести"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
-#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1462 access/spgist/spgdoinsert.c:2002
-#: access/spgist/spgdoinsert.c:2279
+#: access/brin/brin_pageops.c:75 access/brin/brin_pageops.c:361
+#: access/brin/brin_pageops.c:851 access/gin/ginentrypage.c:109
+#: access/gist/gist.c:1463 access/spgist/spgdoinsert.c:2001
+#: access/spgist/spgdoinsert.c:2278
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr ""
 "размер строки индекса (%zu) больше предельного размера (%zu) (индекс \"%s\")"
 
-#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399
+#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389
 #, c-format
 msgid "corrupted BRIN index: inconsistent range map"
 msgstr "испорченный индекс BRIN: несогласованность в карте диапазонов"
 
-#: access/brin/brin_revmap.c:593
+#: access/brin/brin_revmap.c:583
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "неожиданный тип страницы 0x%04X в BRIN-индексе \"%s\" (блок: %u)"
 
-#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151
-#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139
+#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149
+#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139
 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189
 #, c-format
 msgid ""
@@ -791,8 +1000,8 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит функцию %s с "
 "неправильным опорным номером %d"
 
-#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163
-#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118
+#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161
+#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118
 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201
 #, c-format
 msgid ""
@@ -802,8 +1011,8 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит функцию %s с "
 "неподходящим объявлением для опорного номера %d"
 
-#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182
-#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160
+#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180
+#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160
 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221
 #, c-format
 msgid ""
@@ -813,7 +1022,7 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит оператор %s с "
 "неправильным номером стратегии %d"
 
-#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195
+#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193
 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165
 #: access/spgist/spgvalidate.c:237
 #, c-format
@@ -824,8 +1033,8 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит некорректное "
 "определение ORDER BY для оператора %s"
 
-#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208
-#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186
+#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206
+#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186
 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253
 #, c-format
 msgid ""
@@ -860,31 +1069,31 @@ msgstr ""
 msgid "operator class \"%s\" of access method %s is missing operator(s)"
 msgstr "в классе операторов \"%s\" метода доступа %s нет оператора(ов)"
 
-#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250
-#: access/gist/gistvalidate.c:274
+#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248
+#: access/gist/gistvalidate.c:273
 #, c-format
 msgid ""
 "operator class \"%s\" of access method %s is missing support function %d"
 msgstr "в классе операторов \"%s\" метода доступа %s нет опорной функции %d"
 
-#: access/common/attmap.c:122
+#: access/common/attmap.c:121
 #, c-format
 msgid "Returned type %s does not match expected type %s in column %d."
 msgstr "Возвращаемый тип %s не соответствует ожидаемому типу %s в столбце %d."
 
-#: access/common/attmap.c:150
+#: access/common/attmap.c:149
 #, c-format
 msgid ""
 "Number of returned columns (%d) does not match expected column count (%d)."
 msgstr ""
 "Число возвращённых столбцов (%d) не соответствует ожидаемому числу (%d)."
 
-#: access/common/attmap.c:234 access/common/attmap.c:246
+#: access/common/attmap.c:233 access/common/attmap.c:245
 #, c-format
 msgid "could not convert row type"
 msgstr "не удалось преобразовать тип строки"
 
-#: access/common/attmap.c:235
+#: access/common/attmap.c:234
 #, c-format
 msgid ""
 "Attribute \"%s\" of type %s does not match corresponding attribute of type "
@@ -892,12 +1101,12 @@ msgid ""
 msgstr ""
 "Атрибут \"%s\" типа %s несовместим с соответствующим атрибутом типа %s."
 
-#: access/common/attmap.c:247
+#: access/common/attmap.c:246
 #, c-format
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "Атрибут \"%s\" типа %s не существует в типе %s."
 
-#: access/common/heaptuple.c:1133 access/common/heaptuple.c:1468
+#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "число столбцов (%d) превышает предел (%d)"
@@ -907,122 +1116,110 @@ msgstr "число столбцов (%d) превышает предел (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "число столбцов индекса (%d) превышает предел (%d)"
 
-#: access/common/indextuple.c:209 access/spgist/spgutils.c:957
+#: access/common/indextuple.c:209 access/spgist/spgutils.c:970
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "строка индекса требует байт: %zu, при максимуме: %zu"
 
-#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454
-#: tcop/postgres.c:1944
+#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107
+#: tcop/fastpath.c:454 tcop/postgres.c:1944
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "неподдерживаемый код формата: %d"
 
-#: access/common/reloptions.c:521 access/common/reloptions.c:532
+#: access/common/reloptions.c:519 access/common/reloptions.c:530
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Допускаются только значения \"on\", \"off\" и \"auto\"."
 
-#: access/common/reloptions.c:543
+#: access/common/reloptions.c:541
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Допускаются только значения \"local\" и \"cascaded\"."
 
-#: access/common/reloptions.c:691
+#: access/common/reloptions.c:689
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "превышен предел пользовательских типов реляционных параметров"
 
-#: access/common/reloptions.c:1233
+#: access/common/reloptions.c:1231
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "В RESET не должно передаваться значение параметров"
 
-#: access/common/reloptions.c:1265
+#: access/common/reloptions.c:1263
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "нераспознанное пространство имён параметров \"%s\""
 
-#: access/common/reloptions.c:1302 commands/variable.c:1167
+#: access/common/reloptions.c:1300 commands/variable.c:1191
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "таблицы со свойством WITH OIDS не поддерживаются"
 
-#: access/common/reloptions.c:1470
+#: access/common/reloptions.c:1468
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "нераспознанный параметр \"%s\""
 
-#: access/common/reloptions.c:1582
+#: access/common/reloptions.c:1580
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "параметр \"%s\" указан неоднократно"
 
-#: access/common/reloptions.c:1598
+#: access/common/reloptions.c:1596
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "неверное значение для логического параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1610
+#: access/common/reloptions.c:1608
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "неверное значение для целочисленного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1616 access/common/reloptions.c:1636
+#: access/common/reloptions.c:1614 access/common/reloptions.c:1634
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "значение %s вне допустимых пределов параметра \"%s\""
 
-#: access/common/reloptions.c:1618
+#: access/common/reloptions.c:1616
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Допускаются значения только от \"%d\" до \"%d\"."
 
-#: access/common/reloptions.c:1630
+#: access/common/reloptions.c:1628
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "неверное значение для численного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1638
+#: access/common/reloptions.c:1636
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Допускаются значения только от \"%f\" до \"%f\"."
 
-#: access/common/reloptions.c:1660
+#: access/common/reloptions.c:1658
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "неверное значение для параметра-перечисления \"%s\": %s"
 
-#: access/common/reloptions.c:1991
+#: access/common/reloptions.c:1989
 #, c-format
 msgid "cannot specify storage parameters for a partitioned table"
 msgstr "задать параметры хранения для секционированной таблицы нельзя"
 
-#: access/common/reloptions.c:1992
+#: access/common/reloptions.c:1990
 #, c-format
 msgid "Specify storage parameters for its leaf partitions instead."
 msgstr "Задайте параметры хранения для её конечных секций."
 
-#: access/common/toast_compression.c:33
+#: access/common/toast_compression.c:31
 #, c-format
 msgid "compression method lz4 not supported"
 msgstr "метод сжатия lz4 не поддерживается"
 
-#: access/common/toast_compression.c:34
+#: access/common/toast_compression.c:32
 #, c-format
 msgid "This functionality requires the server to be built with lz4 support."
 msgstr "Для этой функциональности в сервере не хватает поддержки lz4."
 
-#: access/common/tupdesc.c:837 commands/tablecmds.c:6956
-#: commands/tablecmds.c:13027
-#, c-format
-msgid "too many array dimensions"
-msgstr "слишком много размерностей массива"
-
-#: access/common/tupdesc.c:842 parser/parse_clause.c:772
-#: parser/parse_relation.c:1913
-#, c-format
-msgid "column \"%s\" cannot be declared SETOF"
-msgstr "столбец \"%s\" не может быть объявлен как SETOF"
-
 #: access/gin/ginbulk.c:44
 #, c-format
 msgid "posting list is too long"
@@ -1030,25 +1227,25 @@ msgstr "слишком длинный список указателей"
 
 #: access/gin/ginbulk.c:45
 #, c-format
-msgid "Reduce maintenance_work_mem."
-msgstr "Уменьшите maintenance_work_mem."
+msgid "Reduce \"maintenance_work_mem\"."
+msgstr "Уменьшите \"maintenance_work_mem\"."
 
-#: access/gin/ginfast.c:1040
+#: access/gin/ginfast.c:1041
 #, c-format
 msgid "GIN pending list cannot be cleaned up during recovery."
 msgstr "Очередь записей GIN нельзя очистить в процессе восстановления."
 
-#: access/gin/ginfast.c:1047
+#: access/gin/ginfast.c:1048
 #, c-format
 msgid "\"%s\" is not a GIN index"
 msgstr "\"%s\" - это не индекс GIN"
 
-#: access/gin/ginfast.c:1058
+#: access/gin/ginfast.c:1059
 #, c-format
 msgid "cannot access temporary indexes of other sessions"
 msgstr "обращаться к временным индексам других сеансов нельзя"
 
-#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762
+#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:762
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "не удалось повторно найти кортеж в индексе \"%s\""
@@ -1064,14 +1261,14 @@ msgstr ""
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Для исправления выполните REINDEX INDEX \"%s\"."
 
-#: access/gin/ginutil.c:146 executor/execExpr.c:2169
-#: utils/adt/arrayfuncs.c:4045 utils/adt/arrayfuncs.c:6732
-#: utils/adt/rowtypes.c:984
+#: access/gin/ginutil.c:147 executor/execExpr.c:2192
+#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712
+#: utils/adt/rowtypes.c:974
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "не удалось найти функцию сравнения для типа %s"
 
-#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93
+#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92
 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102
 #, c-format
 msgid ""
@@ -1081,7 +1278,7 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит опорную функцию %s с "
 "межтиповой регистрацией"
 
-#: access/gin/ginvalidate.c:260
+#: access/gin/ginvalidate.c:258
 #, c-format
 msgid ""
 "operator class \"%s\" of access method %s is missing support function %d or "
@@ -1089,18 +1286,18 @@ msgid ""
 msgstr ""
 "в классе операторов \"%s\" метода доступа %s нет опорной функции %d или %d"
 
-#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350
+#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349
 #: access/spgist/spgvalidate.c:387
 #, c-format
 msgid "support function number %d is invalid for access method %s"
 msgstr "номер опорной функции %d не подходит для метода доступа %s"
 
-#: access/gist/gist.c:759 access/gist/gistvacuum.c:426
+#: access/gist/gist.c:760 access/gist/gistvacuum.c:426
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "индекс \"%s\" содержит внутренний кортеж, отмеченный как ошибочный"
 
-#: access/gist/gist.c:761 access/gist/gistvacuum.c:428
+#: access/gist/gist.c:762 access/gist/gistvacuum.c:428
 #, c-format
 msgid ""
 "This is caused by an incomplete page split at crash recovery before "
@@ -1109,16 +1306,16 @@ msgstr ""
 "Это вызвано неполным разделением страницы при восстановлении после сбоя в "
 "PostgreSQL до версии 9.1."
 
-#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812
-#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227
-#: access/hash/hashutil.c:238 access/hash/hashutil.c:250
-#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813
+#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811
+#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226
+#: access/hash/hashutil.c:237 access/hash/hashutil.c:249
+#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813
 #: access/nbtree/nbtpage.c:824
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Пожалуйста, выполните REINDEX для него."
 
-#: access/gist/gist.c:1195
+#: access/gist/gist.c:1196
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
 msgstr "исправление неполного разделения в индексе \"%s\" (блок: %u)"
@@ -1138,19 +1335,19 @@ msgstr ""
 "разработчиками или попробуйте указать этот столбец в команде CREATE INDEX "
 "вторым."
 
-#: access/gist/gistutil.c:798 access/hash/hashutil.c:224
+#: access/gist/gistutil.c:797 access/hash/hashutil.c:223
 #: access/nbtree/nbtpage.c:810
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "в индексе \"%s\" неожиданно оказалась нулевая страница в блоке %u"
 
-#: access/gist/gistutil.c:809 access/hash/hashutil.c:235
-#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821
+#: access/gist/gistutil.c:808 access/hash/hashutil.c:234
+#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u"
 
-#: access/gist/gistvalidate.c:203
+#: access/gist/gistvalidate.c:202
 #, c-format
 msgid ""
 "operator family \"%s\" of access method %s contains unsupported ORDER BY "
@@ -1159,7 +1356,7 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит неподдерживаемое "
 "определение ORDER BY для оператора %s"
 
-#: access/gist/gistvalidate.c:214
+#: access/gist/gistvalidate.c:213
 #, c-format
 msgid ""
 "operator family \"%s\" of access method %s contains incorrect ORDER BY "
@@ -1168,32 +1365,32 @@ msgstr ""
 "семейство операторов \"%s\" метода доступа %s содержит некорректное "
 "определение ORDER BY для оператора %s"
 
-#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333
-#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064
+#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333
+#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для хеширования "
 "строк"
 
-#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:671
-#: catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515
-#: commands/indexcmds.c:2015 commands/tablecmds.c:17527 commands/view.c:86
-#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648
-#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191
-#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739
-#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672
+#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508
+#: commands/indexcmds.c:2047 commands/tablecmds.c:18068 commands/view.c:81
+#: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653
+#: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189
+#: utils/adt/like_support.c:1024 utils/adt/varchar.c:738
+#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Задайте правило сортировки явно в предложении COLLATE."
 
-#: access/hash/hashinsert.c:86
+#: access/hash/hashinsert.c:84
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "размер строки индекса (%zu) больше предельного размера хеша (%zu)"
 
-#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006
-#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1018
+#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005
+#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать."
@@ -1208,17 +1405,17 @@ msgstr "неверный номер блока переполнения: %u"
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "в хеш-индексе \"%s\" не хватает страниц переполнения"
 
-#: access/hash/hashsearch.c:315
+#: access/hash/hashsearch.c:311
 #, c-format
 msgid "hash indexes do not support whole-index scans"
 msgstr "хеш-индексы не поддерживают сканирование всего индекса"
 
-#: access/hash/hashutil.c:263
+#: access/hash/hashutil.c:262
 #, c-format
 msgid "index \"%s\" is not a hash index"
 msgstr "индекс \"%s\" не является хеш-индексом"
 
-#: access/hash/hashutil.c:269
+#: access/hash/hashutil.c:268
 #, c-format
 msgid "index \"%s\" has wrong hash version"
 msgstr "индекс \"%s\" имеет неправильную версию хеша"
@@ -1239,38 +1436,38 @@ msgid ""
 msgstr ""
 "в семействе операторов \"%s\" метода доступа %s нет межтипового оператора(ов)"
 
-#: access/heap/heapam.c:2038
+#: access/heap/heapam.c:2195
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "вставлять кортежи в параллельном исполнителе нельзя"
 
-#: access/heap/heapam.c:2557
+#: access/heap/heapam.c:2714
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "удалять кортежи во время параллельных операций нельзя"
 
-#: access/heap/heapam.c:2604
+#: access/heap/heapam.c:2761
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "попытка удаления невидимого кортежа"
 
-#: access/heap/heapam.c:3052 access/heap/heapam.c:5921
+#: access/heap/heapam.c:3209 access/heap/heapam.c:6082
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "изменять кортежи во время параллельных операций нельзя"
 
-#: access/heap/heapam.c:3180
+#: access/heap/heapam.c:3337
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "попытка изменения невидимого кортежа"
 
-#: access/heap/heapam.c:4569 access/heap/heapam.c:4607
-#: access/heap/heapam.c:4872 access/heap/heapam_handler.c:467
+#: access/heap/heapam.c:4726 access/heap/heapam.c:4764
+#: access/heap/heapam.c:5029 access/heap/heapam_handler.c:468
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "не удалось получить блокировку строки в таблице \"%s\""
 
-#: access/heap/heapam_handler.c:412
+#: access/heap/heapam_handler.c:413
 #, c-format
 msgid ""
 "tuple to be locked was already moved to another partition due to concurrent "
@@ -1279,66 +1476,67 @@ msgstr ""
 "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате "
 "параллельного изменения"
 
-#: access/heap/hio.c:536 access/heap/rewriteheap.c:659
+#: access/heap/hio.c:535 access/heap/rewriteheap.c:640
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "размер строки (%zu) превышает предел (%zu)"
 
-#: access/heap/rewriteheap.c:919
+#: access/heap/rewriteheap.c:885
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "не удалось записать в файл \"%s\" (записано байт: %d из %d): %m"
 
-#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128
+#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094
 #: access/transam/timeline.c:329 access/transam/timeline.c:481
-#: access/transam/xlog.c:2973 access/transam/xlog.c:3164
-#: access/transam/xlog.c:3940 access/transam/xlog.c:8746
-#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151
-#: backup/basebackup_server.c:244 commands/dbcommands.c:495
-#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560
-#: replication/logical/origin.c:603 replication/slot.c:1804
-#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263
+#: access/transam/xlog.c:3254 access/transam/xlog.c:3445
+#: access/transam/xlog.c:4282 access/transam/xlog.c:9244
+#: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149
+#: backup/basebackup_server.c:242 commands/dbcommands.c:494
+#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112
+#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603
+#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230
+#: utils/time/snapmgr.c:1234
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1138
+#: access/heap/rewriteheap.c:1104
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m"
 
-#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384
+#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:498
-#: access/transam/xlog.c:3023 access/transam/xlog.c:3220
-#: access/transam/xlog.c:3952 commands/dbcommands.c:507
-#: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577
+#: access/transam/xlog.c:3304 access/transam/xlog.c:3501
+#: access/transam/xlog.c:4294 commands/dbcommands.c:506
+#: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363
 #: replication/logical/origin.c:615 replication/logical/origin.c:657
-#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767
-#: replication/slot.c:1839 storage/file/buffile.c:545
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1612
-#: utils/init/miscinit.c:1623 utils/init/miscinit.c:1631 utils/misc/guc.c:4340
-#: utils/misc/guc.c:4371 utils/misc/guc.c:5507 utils/misc/guc.c:5525
-#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275
+#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788
+#: replication/slot.c:2094 storage/file/buffile.c:545
+#: storage/file/copydir.c:197 utils/init/miscinit.c:1601
+#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450
+#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652
+#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "не удалось записать в файл \"%s\": %m"
 
-#: access/heap/vacuumlazy.c:480
+#: access/heap/vacuumlazy.c:473
 #, c-format
 msgid "aggressively vacuuming \"%s.%s.%s\""
 msgstr "агрессивная очистка \"%s.%s.%s\""
 
-#: access/heap/vacuumlazy.c:485
+#: access/heap/vacuumlazy.c:478
 #, c-format
 msgid "vacuuming \"%s.%s.%s\""
 msgstr "очистка \"%s.%s.%s\""
 
-#: access/heap/vacuumlazy.c:633
+#: access/heap/vacuumlazy.c:626
 #, c-format
 msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n"
 msgstr "закончена очистка \"%s.%s.%s\": сканирований индекса: %d\n"
 
-#: access/heap/vacuumlazy.c:644
+#: access/heap/vacuumlazy.c:637
 #, c-format
 msgid ""
 "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": "
@@ -1347,7 +1545,7 @@ msgstr ""
 "автоматическая агрессивная очистка, предотвращающая зацикливание, таблицы "
 "\"%s.%s.%s\": сканирований индекса: %d\n"
 
-#: access/heap/vacuumlazy.c:646
+#: access/heap/vacuumlazy.c:639
 #, c-format
 msgid ""
 "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: "
@@ -1356,27 +1554,27 @@ msgstr ""
 "автоматическая очистка, предотвращающая зацикливание, таблицы \"%s.%s.%s\": "
 "сканирований индекса: %d\n"
 
-#: access/heap/vacuumlazy.c:651
+#: access/heap/vacuumlazy.c:644
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr ""
 "автоматическая агрессивная очистка таблицы \"%s.%s.%s\": сканирований "
 "индекса: %d\n"
 
-#: access/heap/vacuumlazy.c:653
+#: access/heap/vacuumlazy.c:646
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr ""
 "автоматическая очистка таблицы \"%s.%s.%s\": сканирований индекса: %d\n"
 
-#: access/heap/vacuumlazy.c:660
+#: access/heap/vacuumlazy.c:653
 #, c-format
 msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
 msgstr ""
 "страниц удалено: %u, осталось: %u, просканировано: %u (%.2f%% от общего "
 "числа)\n"
 
-#: access/heap/vacuumlazy.c:667
+#: access/heap/vacuumlazy.c:660
 #, c-format
 msgid ""
 "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n"
@@ -1384,7 +1582,7 @@ msgstr ""
 "версий строк: удалено: %lld, осталось: %lld, «мёртвых», но ещё не подлежащих "
 "удалению: %lld\n"
 
-#: access/heap/vacuumlazy.c:673
+#: access/heap/vacuumlazy.c:666
 #, c-format
 msgid ""
 "tuples missed: %lld dead from %u pages not removed due to cleanup lock "
@@ -1393,43 +1591,43 @@ msgstr ""
 "из-за конфликта блокировки очистки пропущено версий строк: %lld, на "
 "страницах: %u\n"
 
-#: access/heap/vacuumlazy.c:679
+#: access/heap/vacuumlazy.c:672
 #, c-format
 msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
 msgstr ""
 "XID отсечки удаления: %u, на момент завершения операции он имел возраст: %d "
 "XID\n"
 
-#: access/heap/vacuumlazy.c:686
+#: access/heap/vacuumlazy.c:679
 #, c-format
 msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
 msgstr ""
 "новое значение relfrozenxid: %u, оно продвинулось вперёд от предыдущего "
 "значения на %d XID\n"
 
-#: access/heap/vacuumlazy.c:694
+#: access/heap/vacuumlazy.c:687
 #, c-format
 msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
 msgstr ""
 "новое значение relminmxid: %u, оно продвинулось вперёд от предыдущего "
 "значения на %d MXID\n"
 
-#: access/heap/vacuumlazy.c:697
+#: access/heap/vacuumlazy.c:690
 #, c-format
 msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n"
 msgstr ""
 "замораживание: на страницах таблицы (%u, %.2f%% от общего числа) заморожено "
 "кортежей: %lld\n"
 
-#: access/heap/vacuumlazy.c:705
+#: access/heap/vacuumlazy.c:698
 msgid "index scan not needed: "
 msgstr "сканирование индекса не требуется: "
 
-#: access/heap/vacuumlazy.c:707
+#: access/heap/vacuumlazy.c:700
 msgid "index scan needed: "
 msgstr "сканирование индекса требуется: "
 
-#: access/heap/vacuumlazy.c:709
+#: access/heap/vacuumlazy.c:702
 #, c-format
 msgid ""
 "%u pages from table (%.2f%% of total) had %lld dead item identifiers "
@@ -1438,22 +1636,22 @@ msgstr ""
 "на страницах таблицы (%u, %.2f%% от общего числа) удалено мёртвых "
 "идентификаторов элементов: %lld\n"
 
-#: access/heap/vacuumlazy.c:714
+#: access/heap/vacuumlazy.c:707
 msgid "index scan bypassed: "
 msgstr "сканирование индекса пропущено: "
 
-#: access/heap/vacuumlazy.c:716
+#: access/heap/vacuumlazy.c:709
 msgid "index scan bypassed by failsafe: "
 msgstr "сканирование индекса пропущено из-за защиты: "
 
-#: access/heap/vacuumlazy.c:718
+#: access/heap/vacuumlazy.c:711
 #, c-format
 msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
 msgstr ""
 "на страницах таблицы (%u, %.2f%% от общего числа) находится мёртвых "
 "идентификаторов элементов: %lld\n"
 
-#: access/heap/vacuumlazy.c:733
+#: access/heap/vacuumlazy.c:726
 #, c-format
 msgid ""
 "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u "
@@ -1462,43 +1660,43 @@ msgstr ""
 "индекс \"%s\": всего страниц: %u, сейчас удалено: %u, удалено на данный "
 "момент: %u, свободно: %u\n"
 
-#: access/heap/vacuumlazy.c:745 commands/analyze.c:796
+#: access/heap/vacuumlazy.c:738 commands/analyze.c:794
 #, c-format
 msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
 msgstr "время ввода/вывода: чтение: %.3f мс, запись: %.3f мс\n"
 
-#: access/heap/vacuumlazy.c:755 commands/analyze.c:799
+#: access/heap/vacuumlazy.c:748 commands/analyze.c:797
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr ""
 "средняя скорость чтения: %.3f МБ/с, средняя скорость записи: %.3f МБ/с\n"
 
-#: access/heap/vacuumlazy.c:758 commands/analyze.c:801
+#: access/heap/vacuumlazy.c:751 commands/analyze.c:799
 #, c-format
 msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
 msgstr ""
 "использование буфера: попаданий: %lld, промахов: %lld, «грязных» записей: "
 "%lld\n"
 
-#: access/heap/vacuumlazy.c:763
+#: access/heap/vacuumlazy.c:756
 #, c-format
 msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
 msgstr ""
 "использование WAL: записей: %lld, полных образов страниц: %lld, байт: %llu\n"
 
-#: access/heap/vacuumlazy.c:767 commands/analyze.c:805
+#: access/heap/vacuumlazy.c:760 commands/analyze.c:803
 #, c-format
 msgid "system usage: %s"
 msgstr "нагрузка системы: %s"
 
-#: access/heap/vacuumlazy.c:2476
+#: access/heap/vacuumlazy.c:2172
 #, c-format
 msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
 msgstr ""
 "таблица \"%s\": удалено мёртвых идентификаторов элементов: %lld, на "
 "страницах: %u"
 
-#: access/heap/vacuumlazy.c:2636
+#: access/heap/vacuumlazy.c:2326
 #, c-format
 msgid ""
 "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after "
@@ -1507,12 +1705,12 @@ msgstr ""
 "несущественная операция обслуживания таблицы \"%s.%s.%s\" пропускается в "
 "качестве меры защиты после %d сканирований индекса"
 
-#: access/heap/vacuumlazy.c:2639
+#: access/heap/vacuumlazy.c:2329
 #, c-format
 msgid "The table's relfrozenxid or relminmxid is too far in the past."
 msgstr "Значение relfrozenxid или relminmxid таблицы слишком далеко в прошлом."
 
-#: access/heap/vacuumlazy.c:2640
+#: access/heap/vacuumlazy.c:2330
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or "
@@ -1525,23 +1723,23 @@ msgstr ""
 "Также можно рассмотреть другие способы обеспечения производительности "
 "VACUUM, соответствующей скорости выделения идентификаторов транзакций."
 
-#: access/heap/vacuumlazy.c:2885
+#: access/heap/vacuumlazy.c:2592
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки"
 
-#: access/heap/vacuumlazy.c:2955
+#: access/heap/vacuumlazy.c:2662
 #, c-format
 msgid "table \"%s\": truncated %u to %u pages"
 msgstr "таблица \"%s\": усечение (было страниц: %u, стало: %u)"
 
-#: access/heap/vacuumlazy.c:3017
+#: access/heap/vacuumlazy.c:2724
 #, c-format
 msgid "table \"%s\": suspending truncate due to conflicting lock request"
 msgstr ""
 "таблица \"%s\": приостановка усечения из-за конфликтующего запроса блокировки"
 
-#: access/heap/vacuumlazy.c:3177
+#: access/heap/vacuumlazy.c:2843
 #, c-format
 msgid ""
 "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary "
@@ -1550,47 +1748,47 @@ msgstr ""
 "отключение параллельного режима очистки \"%s\" --- создавать временные "
 "таблицы в параллельном режиме нельзя"
 
-#: access/heap/vacuumlazy.c:3393
+#: access/heap/vacuumlazy.c:3113
 #, c-format
 msgid "while scanning block %u offset %u of relation \"%s.%s\""
 msgstr "при сканировании блока %u (смещение %u) отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3396
+#: access/heap/vacuumlazy.c:3116
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "при сканировании блока %u отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3400
+#: access/heap/vacuumlazy.c:3120
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "при сканировании отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3408
+#: access/heap/vacuumlazy.c:3128
 #, c-format
 msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
 msgstr "при очистке блока %u (смещение %u) отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3411
+#: access/heap/vacuumlazy.c:3131
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "при очистке блока %u отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3415
+#: access/heap/vacuumlazy.c:3135
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "при очистке отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3420 commands/vacuumparallel.c:1074
+#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "при очистке индекса \"%s\" отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3425 commands/vacuumparallel.c:1080
+#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "при уборке индекса \"%s\" отношения \"%s.%s\""
 
-#: access/heap/vacuumlazy.c:3431
+#: access/heap/vacuumlazy.c:3151
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "при усечении отношения \"%s.%s\" до %u блок."
@@ -1605,24 +1803,24 @@ msgstr "метод доступа \"%s\" имеет не тип %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "для метода доступа индекса \"%s\" не задан обработчик"
 
-#: access/index/genam.c:490
+#: access/index/genam.c:487
 #, c-format
 msgid "transaction aborted during system catalog scan"
 msgstr "транзакция прервана во время сканирования системного каталога"
 
-#: access/index/genam.c:658 access/index/indexam.c:87
+#: access/index/genam.c:655 access/index/indexam.c:82
 #, c-format
 msgid "cannot access index \"%s\" while it is being reindexed"
 msgstr "индекс \"%s\" перестраивается, обращаться к нему нельзя"
 
-#: access/index/indexam.c:208 catalog/objectaddress.c:1394
-#: commands/indexcmds.c:2843 commands/tablecmds.c:272 commands/tablecmds.c:296
-#: commands/tablecmds.c:17222 commands/tablecmds.c:19000
+#: access/index/indexam.c:203 catalog/objectaddress.c:1356
+#: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305
+#: commands/tablecmds.c:17763 commands/tablecmds.c:19574
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" - это не индекс"
 
-#: access/index/indexam.c:1021
+#: access/index/indexam.c:1028
 #, c-format
 msgid "operator class %s has no options"
 msgstr "у класса операторов %s нет параметров"
@@ -1643,7 +1841,7 @@ msgid "This may be because of a non-immutable index expression."
 msgstr "Возможно, это вызвано переменной природой индексного выражения."
 
 #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611
-#: parser/parse_utilcmd.c:2326
+#: parser/parse_utilcmd.c:2295
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "индекс \"%s\" не является b-деревом"
@@ -1657,12 +1855,12 @@ msgstr ""
 "несовпадение версии в индексе \"%s\": версия файла: %d, версия кода: %d, "
 "минимальная поддерживаемая версия: %d"
 
-#: access/nbtree/nbtpage.c:1866
+#: access/nbtree/nbtpage.c:1861
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "индекс \"%s\" содержит полумёртвую внутреннюю страницу"
 
-#: access/nbtree/nbtpage.c:1868
+#: access/nbtree/nbtpage.c:1863
 #, c-format
 msgid ""
 "This can be caused by an interrupted VACUUM in version 9.3 or older, before "
@@ -1671,7 +1869,7 @@ msgstr ""
 "Причиной тому могло быть прерывание операции VACUUM в версии 9.3 или старее, "
 "до обновления. Этот индекс нужно перестроить (REINDEX)."
 
-#: access/nbtree/nbtutils.c:2677
+#: access/nbtree/nbtutils.c:5102
 #, c-format
 msgid ""
 "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
@@ -1679,12 +1877,12 @@ msgstr ""
 "размер строки индекса (%zu) больше предельного для btree версии %u размера "
 "(%zu) (индекс \"%s\")"
 
-#: access/nbtree/nbtutils.c:2683
+#: access/nbtree/nbtutils.c:5108
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "Строка индекса ссылается на кортеж (%u,%u) в отношении \"%s\"."
 
-#: access/nbtree/nbtutils.c:2687
+#: access/nbtree/nbtutils.c:5112
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1705,7 +1903,13 @@ msgstr ""
 "в семействе операторов \"%s\" метода доступа %s нет опорной функции для "
 "типов %s и %s"
 
-#: access/spgist/spgutils.c:243
+#: access/sequence/sequence.c:75 access/table/table.c:145
+#: optimizer/util/plancat.c:144
+#, c-format
+msgid "cannot open relation \"%s\""
+msgstr "открыть отношение \"%s\" нельзя"
+
+#: access/spgist/spgutils.c:245
 #, c-format
 msgid ""
 "compress method must be defined when leaf type is different from input type"
@@ -1713,7 +1917,7 @@ msgstr ""
 "метод сжатия должен быть определён, когда тип листьев отличается от входного "
 "типа"
 
-#: access/spgist/spgutils.c:1015
+#: access/spgist/spgutils.c:1028
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)"
@@ -1734,75 +1938,71 @@ msgstr ""
 "в семействе операторов \"%s\" метода доступа %s нет опорной функции %d для "
 "типа %s"
 
-#: access/table/table.c:145 optimizer/util/plancat.c:145
-#, c-format
-msgid "cannot open relation \"%s\""
-msgstr "открыть отношение \"%s\" нельзя"
-
-#: access/table/tableam.c:265
+#: access/table/tableam.c:255
 #, c-format
 msgid "tid (%u, %u) is not valid for relation \"%s\""
 msgstr "идентификатор кортежа (%u, %u) недопустим для отношения \"%s\""
 
-#: access/table/tableamapi.c:116
+#: access/table/tableamapi.c:109
 #, c-format
-msgid "%s cannot be empty."
-msgstr "Значение %s не может быть пустым."
+msgid "\"%s\" cannot be empty."
+msgstr "Значение \"%s\" не может быть пустым."
 
 # well-spelled: симв
-#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4808
+#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858
 #, c-format
-msgid "%s is too long (maximum %d characters)."
-msgstr "Длина %s превышает предел (%d симв.)."
+msgid "\"%s\" is too long (maximum %d characters)."
+msgstr "Длина \"%s\" превышает предел (%d симв.)."
 
-#: access/table/tableamapi.c:146
+#: access/table/tableamapi.c:139
 #, c-format
 msgid "table access method \"%s\" does not exist"
 msgstr "табличный метод доступа \"%s\" не существует"
 
-#: access/table/tableamapi.c:151
+#: access/table/tableamapi.c:144
 #, c-format
 msgid "Table access method \"%s\" does not exist."
 msgstr "Табличный метод доступа \"%s\" не существует."
 
-#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152
+#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151
 #, c-format
 msgid "sample percentage must be between 0 and 100"
 msgstr "процент выборки должен задаваться числом от 0 до 100"
 
-#: access/transam/commit_ts.c:279
+#: access/transam/commit_ts.c:287
 #, c-format
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "не удалось получить метку времени фиксации транзакции %u"
 
-#: access/transam/commit_ts.c:377
+#: access/transam/commit_ts.c:385
 #, c-format
 msgid "could not get commit timestamp data"
 msgstr "не удалось получить отметку времени фиксации"
 
-#: access/transam/commit_ts.c:379
+#: access/transam/commit_ts.c:387
 #, c-format
 msgid ""
 "Make sure the configuration parameter \"%s\" is set on the primary server."
 msgstr ""
 "Убедитесь, что в конфигурации ведущего сервера установлен параметр \"%s\"."
 
-#: access/transam/commit_ts.c:381
+#: access/transam/commit_ts.c:389
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"."
 
-#: access/transam/multixact.c:1023
+#: access/transam/multixact.c:1091
 #, c-format
 msgid ""
-"database is not accepting commands that generate new MultiXactIds to avoid "
+"database is not accepting commands that assign new MultiXactIds to avoid "
 "wraparound data loss in database \"%s\""
 msgstr ""
-"база данных не принимает команды, создающие новые MultiXactId, во избежание "
-"потери данных из-за зацикливания в базе данных \"%s\""
+"база данных не принимает команды, назначающие новые MultiXactId, во "
+"избежание Ð¿Ð¾Ñ\82еÑ\80и Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð·-за Ð·Ð°Ñ\86икливаниÑ\8f Ð² Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½Ñ\8bÑ\85 \"%s\""
 
-#: access/transam/multixact.c:1025 access/transam/multixact.c:1032
-#: access/transam/multixact.c:1056 access/transam/multixact.c:1065
+#: access/transam/multixact.c:1093 access/transam/multixact.c:1100
+#: access/transam/multixact.c:1124 access/transam/multixact.c:1133
+#: access/transam/varsup.c:158 access/transam/varsup.c:165
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -1813,16 +2013,16 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые "
 "подготовленные транзакции и удалить неиспользуемые слоты репликации."
 
-#: access/transam/multixact.c:1030
+#: access/transam/multixact.c:1098
 #, c-format
 msgid ""
-"database is not accepting commands that generate new MultiXactIds to avoid "
+"database is not accepting commands that assign new MultiXactIds to avoid "
 "wraparound data loss in database with OID %u"
 msgstr ""
-"база данных не принимает команды, создающие новые MultiXactId, во избежание "
-"потери данных из-за зацикливания в базе данных с OID %u"
+"база данных не принимает команды, назначающие новые MultiXactId, во "
+"избежание Ð¿Ð¾Ñ\82еÑ\80и Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð·-за Ð·Ð°Ñ\86икливаниÑ\8f Ð² Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ñ\81 OID %u"
 
-#: access/transam/multixact.c:1051 access/transam/multixact.c:2333
+#: access/transam/multixact.c:1119 access/transam/multixact.c:2474
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural ""
@@ -1837,7 +2037,7 @@ msgstr[2] ""
 "база данных \"%s\" должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1060 access/transam/multixact.c:2342
+#: access/transam/multixact.c:1128 access/transam/multixact.c:2483
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %u more MultiXactId is used"
@@ -1853,12 +2053,12 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1121
+#: access/transam/multixact.c:1189
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "слишком много членов мультитранзакции"
 
-#: access/transam/multixact.c:1122
+#: access/transam/multixact.c:1190
 #, c-format
 msgid ""
 "This command would create a multixact with %u members, but the remaining "
@@ -1876,17 +2076,17 @@ msgstr[2] ""
 "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но "
 "оставшегося места хватает только для %u."
 
-#: access/transam/multixact.c:1127
+#: access/transam/multixact.c:1195
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in database with OID %u with reduced "
-"vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age "
-"settings."
+"\"vacuum_multixact_freeze_min_age\" and "
+"\"vacuum_multixact_freeze_table_age\" settings."
 msgstr ""
 "Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения "
-"vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
+"\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"."
 
-#: access/transam/multixact.c:1158
+#: access/transam/multixact.c:1226
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %d more multixact member is used"
@@ -1903,41 +2103,40 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, пока не использованы оставшиеся "
 "члены мультитранзакций (%d)"
 
-#: access/transam/multixact.c:1163
+#: access/transam/multixact.c:1231
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database with reduced "
-"vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age "
-"settings."
+"\"vacuum_multixact_freeze_min_age\" and "
+"\"vacuum_multixact_freeze_table_age\" settings."
 msgstr ""
 "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения "
-"vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
+"\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"."
 
-#: access/transam/multixact.c:1302
+#: access/transam/multixact.c:1371
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u прекратил существование: видимо, произошло зацикливание"
 
-#: access/transam/multixact.c:1308
+#: access/transam/multixact.c:1377
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u ещё не был создан: видимо, произошло зацикливание"
 
-#: access/transam/multixact.c:2338 access/transam/multixact.c:2347
-#: access/transam/varsup.c:151 access/transam/varsup.c:158
-#: access/transam/varsup.c:466 access/transam/varsup.c:473
+#: access/transam/multixact.c:2479 access/transam/multixact.c:2488
 #, c-format
 msgid ""
-"To avoid a database shutdown, execute a database-wide VACUUM in that "
-"database.\n"
+"To avoid MultiXactId assignment failures, execute a database-wide VACUUM in "
+"that database.\n"
 "You might also need to commit or roll back old prepared transactions, or "
 "drop stale replication slots."
 msgstr ""
-"Во избежание отключения базы данных выполните очистку (VACUUM) всей базы.\n"
+"Во избежание сбоев при назначении MultiXactId, выполните очистку (VACUUM) "
+"всей базы.\n"
 "Возможно, вам также придётся зафиксировать или откатить старые "
 "подготовленные транзакции и удалить неиспользуемые слоты репликации."
 
-#: access/transam/multixact.c:2622
+#: access/transam/multixact.c:2767
 #, c-format
 msgid ""
 "MultiXact member wraparound protections are disabled because oldest "
@@ -1946,12 +2145,12 @@ msgstr ""
 "Защита от зацикливания членов мультитранзакций отключена, так как старейшая "
 "отмеченная мультитранзакция %u не найдена на диске"
 
-#: access/transam/multixact.c:2644
+#: access/transam/multixact.c:2789
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "Защита от зацикливания мультитранзакций сейчас включена"
 
-#: access/transam/multixact.c:3027
+#: access/transam/multixact.c:3180
 #, c-format
 msgid ""
 "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
@@ -1959,7 +2158,7 @@ msgstr ""
 "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, "
 "усечение пропускается"
 
-#: access/transam/multixact.c:3045
+#: access/transam/multixact.c:3198
 #, c-format
 msgid ""
 "cannot truncate up to MultiXact %u because it does not exist on disk, "
@@ -1968,167 +2167,172 @@ msgstr ""
 "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на "
 "диске, усечение пропускается"
 
-#: access/transam/multixact.c:3359
+#: access/transam/multixact.c:3517
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "неверный MultiXactId: %u"
 
-#: access/transam/parallel.c:729 access/transam/parallel.c:848
+#: access/transam/parallel.c:731 access/transam/parallel.c:850
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "не удалось инициализировать параллельный исполнитель"
 
-#: access/transam/parallel.c:730 access/transam/parallel.c:849
+#: access/transam/parallel.c:732 access/transam/parallel.c:851
 #, c-format
 msgid "More details may be available in the server log."
 msgstr "Дополнительная информация может быть в журнале сервера."
 
-#: access/transam/parallel.c:910
+#: access/transam/parallel.c:912
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster завершился в процессе параллельной транзакции"
 
-#: access/transam/parallel.c:1097
+#: access/transam/parallel.c:1099
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "потеряно подключение к параллельному исполнителю"
 
-#: access/transam/parallel.c:1163 access/transam/parallel.c:1165
+#: access/transam/parallel.c:1155 access/transam/parallel.c:1157
 msgid "parallel worker"
 msgstr "параллельный исполнитель"
 
-#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893
+#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "не удалось отобразить динамический сегмент разделяемой памяти"
 
-#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899
+#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "неверное магическое число в динамическом сегменте разделяемой памяти"
 
-#: access/transam/rmgr.c:84
+#: access/transam/rmgr.c:93
 #, c-format
 msgid "resource manager with ID %d not registered"
 msgstr "менеджер ресурсов с ID %d не зарегистрирован"
 
-#: access/transam/rmgr.c:85
+#: access/transam/rmgr.c:94
 #, c-format
 msgid ""
 "Include the extension module that implements this resource manager in "
-"shared_preload_libraries."
+"\"shared_preload_libraries\"."
 msgstr ""
-"Включите в shared_preload_libraries модуль расширения, в котором реализован "
-"данный менеджер ресурсов."
+"Включите в \"shared_preload_libraries\" модуль расширения, в котором "
+"реализован данный менеджер ресурсов."
 
-#: access/transam/rmgr.c:101
+#: access/transam/rmgr.c:110
 #, c-format
 msgid "custom resource manager name is invalid"
 msgstr "неверное имя пользовательского менеджера ресурсов"
 
-#: access/transam/rmgr.c:102
+#: access/transam/rmgr.c:111
 #, c-format
 msgid "Provide a non-empty name for the custom resource manager."
 msgstr "Задайте непустое имя для менеджера ресурсов."
 
-#: access/transam/rmgr.c:105
+#: access/transam/rmgr.c:114
 #, c-format
 msgid "custom resource manager ID %d is out of range"
 msgstr "идентификатор пользовательского менеджера ресурсов %d вне диапазона"
 
-#: access/transam/rmgr.c:106
+#: access/transam/rmgr.c:115
 #, c-format
 msgid "Provide a custom resource manager ID between %d and %d."
 msgstr "Задайте идентификатор менеджера ресурсов от %d до %d."
 
-#: access/transam/rmgr.c:111 access/transam/rmgr.c:116
-#: access/transam/rmgr.c:128
+#: access/transam/rmgr.c:120 access/transam/rmgr.c:125
+#: access/transam/rmgr.c:137
 #, c-format
 msgid "failed to register custom resource manager \"%s\" with ID %d"
 msgstr ""
 "не удалось зарегистрировать пользовательский менеджер ресурсов \"%s\" с ID %d"
 
-#: access/transam/rmgr.c:112
+#: access/transam/rmgr.c:121
 #, c-format
 msgid ""
 "Custom resource manager must be registered while initializing modules in "
-"shared_preload_libraries."
+"\"shared_preload_libraries\"."
 msgstr ""
 "Пользовательский менеджер ресурсов должен быть зарегистрирован при "
-"инициализации модулей в shared_preload_libraries."
+"инициализации модулей в \"shared_preload_libraries\"."
 
-#: access/transam/rmgr.c:117
+#: access/transam/rmgr.c:126
 #, c-format
 msgid "Custom resource manager \"%s\" already registered with the same ID."
 msgstr ""
 "Пользовательский менеджер ресурсов \"%s\" уже зарегистрирован с тем же ID."
 
-#: access/transam/rmgr.c:129
+#: access/transam/rmgr.c:138
 #, c-format
 msgid "Existing resource manager with ID %d has the same name."
 msgstr "Существующий менеджер ресурсов с ID %d имеет то же имя."
 
-#: access/transam/rmgr.c:135
+#: access/transam/rmgr.c:144
 #, c-format
 msgid "registered custom resource manager \"%s\" with ID %d"
 msgstr "зарегистрирован пользовательский менеджер ресурсов \"%s\" с ID %d"
 
-#: access/transam/slru.c:714
+#: access/transam/slru.c:361
+#, c-format
+msgid "\"%s\" must be a multiple of %d"
+msgstr "значение \"%s\" должно быть кратно %d"
+
+#: access/transam/slru.c:830
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "файл \"%s\" не существует, считается нулевым"
 
-#: access/transam/slru.c:946 access/transam/slru.c:952
-#: access/transam/slru.c:960 access/transam/slru.c:965
-#: access/transam/slru.c:972 access/transam/slru.c:977
-#: access/transam/slru.c:984 access/transam/slru.c:991
+#: access/transam/slru.c:1059 access/transam/slru.c:1065
+#: access/transam/slru.c:1073 access/transam/slru.c:1078
+#: access/transam/slru.c:1085 access/transam/slru.c:1090
+#: access/transam/slru.c:1097 access/transam/slru.c:1104
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "не удалось получить состояние транзакции %u"
 
-#: access/transam/slru.c:947
+#: access/transam/slru.c:1060
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Не удалось открыть файл \"%s\": %m."
 
-#: access/transam/slru.c:953
+#: access/transam/slru.c:1066
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %d: %m."
 msgstr "Не удалось переместиться в файле \"%s\" к смещению %d: %m."
 
-#: access/transam/slru.c:961
+#: access/transam/slru.c:1074
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: %m."
 msgstr "Не удалось прочитать файл \"%s\" (по смещению %d): %m."
 
-#: access/transam/slru.c:966
+#: access/transam/slru.c:1079
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
 msgstr ""
 "Не удалось прочитать файл \"%s\" (по смещению %d): прочитаны не все байты."
 
-#: access/transam/slru.c:973
+#: access/transam/slru.c:1086
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: %m."
 msgstr "Не удалось записать в файл \"%s\" (по смещению %d): %m."
 
-#: access/transam/slru.c:978
+#: access/transam/slru.c:1091
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
 msgstr ""
 "Не удалось записать в файл \"%s\" (по смещению %d): записаны не все байты."
 
-#: access/transam/slru.c:985
+#: access/transam/slru.c:1098
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Не удалось синхронизировать с ФС файл \"%s\": %m."
 
-#: access/transam/slru.c:992
+#: access/transam/slru.c:1105
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Не удалось закрыть файл \"%s\": %m."
 
-#: access/transam/slru.c:1253
+#: access/transam/slru.c:1431
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "не удалось очистить каталог \"%s\": видимо, произошло зацикливание"
@@ -2174,59 +2378,60 @@ msgstr ""
 msgid "requested timeline %u is not in this server's history"
 msgstr "в истории сервера нет запрошенной линии времени %u"
 
-#: access/transam/twophase.c:386
+#: access/transam/twophase.c:368
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "идентификатор транзакции \"%s\" слишком длинный"
 
-#: access/transam/twophase.c:393
+#: access/transam/twophase.c:375
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "подготовленные транзакции отключены"
 
-#: access/transam/twophase.c:394
+#: access/transam/twophase.c:376
 #, c-format
-msgid "Set max_prepared_transactions to a nonzero value."
-msgstr "Установите ненулевое значение параметра max_prepared_transactions."
+msgid "Set \"max_prepared_transactions\" to a nonzero value."
+msgstr "Установите ненулевое значение параметра \"max_prepared_transactions\"."
 
-#: access/transam/twophase.c:413
+#: access/transam/twophase.c:395
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "идентификатор транзакции \"%s\" уже используется"
 
-#: access/transam/twophase.c:422 access/transam/twophase.c:2517
+#: access/transam/twophase.c:404 access/transam/twophase.c:2540
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "достигнут предел числа подготовленных транзакций"
 
-#: access/transam/twophase.c:423 access/transam/twophase.c:2518
+#: access/transam/twophase.c:405 access/transam/twophase.c:2541
 #, c-format
-msgid "Increase max_prepared_transactions (currently %d)."
-msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)."
+msgid "Increase \"max_prepared_transactions\" (currently %d)."
+msgstr ""
+"Увеличьте параметр \"max_prepared_transactions\" (текущее значение %d)."
 
-#: access/transam/twophase.c:599
+#: access/transam/twophase.c:580
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "подготовленная транзакция с идентификатором \"%s\" занята"
 
-#: access/transam/twophase.c:605
+#: access/transam/twophase.c:586
 #, c-format
 msgid "permission denied to finish prepared transaction"
-msgstr "неÑ\82 Ð´Ð¾Ñ\81Ñ\82Ñ\83па для завершения подготовленной транзакции"
+msgstr "неÑ\82 Ð¿Ñ\80ав для завершения подготовленной транзакции"
 
-#: access/transam/twophase.c:606
+#: access/transam/twophase.c:587
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr ""
 "Это разрешено только суперпользователю и пользователю, подготовившему "
 "транзакцию."
 
-#: access/transam/twophase.c:617
+#: access/transam/twophase.c:598
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "подготовленная транзакция относится к другой базе данных"
 
-#: access/transam/twophase.c:618
+#: access/transam/twophase.c:599
 #, c-format
 msgid ""
 "Connect to the database where the transaction was prepared to finish it."
@@ -2235,17 +2440,17 @@ msgstr ""
 "подготовлена."
 
 # [SM]: TO REVIEW
-#: access/transam/twophase.c:633
+#: access/transam/twophase.c:614
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "подготовленной транзакции с идентификатором \"%s\" нет"
 
-#: access/transam/twophase.c:1168
+#: access/transam/twophase.c:1190
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "превышен предельный размер файла состояния 2PC"
 
-#: access/transam/twophase.c:1323
+#: access/transam/twophase.c:1345
 #, c-format
 msgid "incorrect size of file \"%s\": %lld byte"
 msgid_plural "incorrect size of file \"%s\": %lld bytes"
@@ -2253,62 +2458,63 @@ msgstr[0] "некорректный размер файла \"%s\": %lld Б"
 msgstr[1] "некорректный размер файла \"%s\": %lld Б"
 msgstr[2] "некорректный размер файла \"%s\": %lld Б"
 
-#: access/transam/twophase.c:1332
+#: access/transam/twophase.c:1354
 #, c-format
 msgid "incorrect alignment of CRC offset for file \"%s\""
 msgstr "некорректное выравнивание смещения CRC для файла \"%s\""
 
-#: access/transam/twophase.c:1350
+#: access/transam/twophase.c:1372
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)"
 
-#: access/transam/twophase.c:1365
+#: access/transam/twophase.c:1387
 #, c-format
 msgid "invalid magic number stored in file \"%s\""
 msgstr "в файле \"%s\" содержится неверная сигнатура"
 
-#: access/transam/twophase.c:1371
+#: access/transam/twophase.c:1393
 #, c-format
 msgid "invalid size stored in file \"%s\""
 msgstr "в файле \"%s\" содержится неверный размер"
 
-#: access/transam/twophase.c:1383
+#: access/transam/twophase.c:1405
 #, c-format
 msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr ""
 "вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому "
 "в файле \"%s\""
 
-#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590
-#: replication/logical/logical.c:209 replication/walsender.c:687
+#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565
+#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211
+#: replication/walsender.c:836
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Не удалось разместить обработчик журнала транзакций."
 
-#: access/transam/twophase.c:1423
+#: access/transam/twophase.c:1445
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X: %s"
 msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X: %s"
 
-#: access/transam/twophase.c:1428
+#: access/transam/twophase.c:1450
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X"
 msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X"
 
-#: access/transam/twophase.c:1436
+#: access/transam/twophase.c:1458
 #, c-format
 msgid "expected two-phase state data is not present in WAL at %X/%X"
 msgstr ""
 "ожидаемые данные состояния двухфазной фиксации отсутствуют в WAL в позиции "
 "%X/%X"
 
-#: access/transam/twophase.c:1732
+#: access/transam/twophase.c:1754
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "пересоздать файл \"%s\" не удалось: %m"
 
-#: access/transam/twophase.c:1859
+#: access/transam/twophase.c:1881
 #, c-format
 msgid ""
 "%u two-phase state file was written for a long-running prepared transaction"
@@ -2321,47 +2527,47 @@ msgstr[1] ""
 msgstr[2] ""
 "для длительных подготовленных транзакций записано файлов состояния 2PC: %u"
 
-#: access/transam/twophase.c:2093
+#: access/transam/twophase.c:2116
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "восстановление подготовленной транзакции %u из разделяемой памяти"
 
-#: access/transam/twophase.c:2186
+#: access/transam/twophase.c:2209
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "удаление устаревшего файла состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2193
+#: access/transam/twophase.c:2216
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "удаление из памяти устаревшего состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2206
+#: access/transam/twophase.c:2229
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "удаление файла будущего состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2213
+#: access/transam/twophase.c:2236
 #, c-format
 msgid "removing future two-phase state from memory for transaction %u"
 msgstr "удаление из памяти будущего состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2238
+#: access/transam/twophase.c:2261
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "испорчен файл состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2243
+#: access/transam/twophase.c:2266
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "испорчено состояние 2PC в памяти для транзакции %u"
 
-#: access/transam/twophase.c:2500
+#: access/transam/twophase.c:2523
 #, c-format
 msgid "could not recover two-phase state file for transaction %u"
 msgstr "не удалось восстановить файл состояния 2PC для транзакции %u"
 
-#: access/transam/twophase.c:2502
+#: access/transam/twophase.c:2525
 #, c-format
 msgid ""
 "Two-phase state file has been found in WAL record %X/%X, but this "
@@ -2370,172 +2576,194 @@ msgstr ""
 "Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта "
 "транзакция уже была восстановлена с диска."
 
-#: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209
-#: utils/fmgr/dfmgr.c:415
+#: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
 msgid "could not access file \"%s\": %m"
-msgstr "неÑ\82 Ð´Ð¾Ñ\81Ñ\82Ñ\83па к файлу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к файлу \"%s\": %m"
 
-#: access/transam/varsup.c:129
+#: access/transam/varsup.c:156
 #, c-format
 msgid ""
-"database is not accepting commands to avoid wraparound data loss in database "
+"database is not accepting commands that assign new transaction IDs to avoid "
+"wraparound data loss in database \"%s\""
+msgstr ""
+"база данных не принимает команды, назначающие новые идентификаторы "
+"транзакций, во избежание потери данных из-за зацикливания в базе данных "
 "\"%s\""
+
+#: access/transam/varsup.c:163
+#, c-format
+msgid ""
+"database is not accepting commands that assign new transaction IDs to avoid "
+"wraparound data loss in database with OID %u"
+msgstr ""
+"база данных не принимает команды, назначающие новые идентификаторы "
+"транзакций, во избежание потери данных из-за зацикливания в базе данных с "
+"OID %u"
+
+#: access/transam/varsup.c:175 access/transam/varsup.c:490
+#, c-format
+msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr ""
-"база данных не принимает команды во избежание потери данных из-за "
-"зацикливания транзакций в базе данных \"%s\""
+"база данных \"%s\" должна быть очищена (предельное число транзакций: %u)"
 
-#: access/transam/varsup.c:131 access/transam/varsup.c:138
+#: access/transam/varsup.c:178
 #, c-format
 msgid ""
-"Stop the postmaster and vacuum that database in single-user mode.\n"
+"To avoid transaction ID assignment failures, execute a database-wide VACUUM "
+"in that database.\n"
 "You might also need to commit or roll back old prepared transactions, or "
 "drop stale replication slots."
 msgstr ""
-"Ð\9eÑ\81Ñ\82ановиÑ\82е Ñ\83пÑ\80авлÑ\8fÑ\8eÑ\89ий Ð¿Ñ\80оÑ\86еÑ\81Ñ\81 (postmaster) Ð¸ Ð²Ñ\8bполниÑ\82е Ð¾Ñ\87иÑ\81Ñ\82кÑ\83 (VACUUM) "
-"базÑ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð² Ð¼Ð¾Ð½Ð¾Ð¿Ð¾Ð»Ñ\8cном Ñ\80ежиме.\n"
+"Ð\92о Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ðµ Ñ\81боев Ð¿Ñ\80и Ð½Ð°Ð·Ð½Ð°Ñ\87ении Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80ов Ñ\82Ñ\80анзакÑ\86ий, Ð²Ñ\8bполниÑ\82е "
+"оÑ\87иÑ\81Ñ\82кÑ\83 (VACUUM) Ð²Ñ\81ей Ð±Ð°Ð·Ñ\8b.\n"
 "Возможно, вам также придётся зафиксировать или откатить старые "
 "подготовленные транзакции и удалить неиспользуемые слоты репликации."
 
-#: access/transam/varsup.c:136
+#: access/transam/varsup.c:182 access/transam/varsup.c:497
 #, c-format
-msgid ""
-"database is not accepting commands to avoid wraparound data loss in database "
-"with OID %u"
+msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr ""
-"база данных не принимает команды во избежание потери данных из-за "
-"зацикливания транзакций в базе данных с OID %u"
+"база данных с OID %u должна быть очищена (предельное число транзакций: %u)"
 
-#: access/transam/varsup.c:148 access/transam/varsup.c:463
+#: access/transam/varsup.c:185 access/transam/varsup.c:493
+#: access/transam/varsup.c:500
 #, c-format
-msgid "database \"%s\" must be vacuumed within %u transactions"
+msgid ""
+"To avoid XID assignment failures, execute a database-wide VACUUM in that "
+"database.\n"
+"You might also need to commit or roll back old prepared transactions, or "
+"drop stale replication slots."
 msgstr ""
-"база данных \"%s\" должна быть очищена (предельное число транзакций: %u)"
+"Во избежание сбоев при назначении XID, выполните очистку (VACUUM) всей "
+"базы.\n"
+"Возможно, вам также придётся зафиксировать или откатить старые "
+"подготовленные транзакции и удалить неиспользуемые слоты репликации."
 
-#: access/transam/varsup.c:155 access/transam/varsup.c:470
+#: access/transam/xact.c:649
 #, c-format
-msgid "database with OID %u must be vacuumed within %u transactions"
+msgid "cannot assign transaction IDs during a parallel operation"
 msgstr ""
-"база данных с OID %u должна быть очищена (предельное число транзакций: %u)"
+"идентификаторы транзакций не могут назначаться во время параллельных операций"
+
+#: access/transam/xact.c:840
+#, c-format
+msgid "cannot modify data in a parallel worker"
+msgstr "модифицировать данные в параллельном исполнителе нельзя"
+
+#: access/transam/xact.c:1115
+#, c-format
+msgid "cannot start commands during a parallel operation"
+msgstr "начинать команды во время параллельной операции нельзя"
 
-#: access/transam/xact.c:1102
+#: access/transam/xact.c:1123
 #, c-format
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-2 команд"
 
-#: access/transam/xact.c:1643
+#: access/transam/xact.c:1664
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "превышен предел числа зафиксированных подтранзакций (%d)"
 
-#: access/transam/xact.c:2513
+#: access/transam/xact.c:2561
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary objects"
 msgstr ""
 "нельзя выполнить PREPARE для транзакции, оперирующей с временными объектами"
 
-#: access/transam/xact.c:2523
+#: access/transam/xact.c:2571
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3490
+#: access/transam/xact.c:3593
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s не может выполняться внутри блока транзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3500
+#: access/transam/xact.c:3603
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s не может выполняться внутри подтранзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3510
+#: access/transam/xact.c:3613
 #, c-format
 msgid "%s cannot be executed within a pipeline"
 msgstr "%s нельзя выполнять в конвейере"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3520
+#: access/transam/xact.c:3623
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s нельзя выполнять внутри функции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3591 access/transam/xact.c:3916
-#: access/transam/xact.c:3995 access/transam/xact.c:4118
-#: access/transam/xact.c:4269 access/transam/xact.c:4338
-#: access/transam/xact.c:4449
+#: access/transam/xact.c:3694 access/transam/xact.c:4019
+#: access/transam/xact.c:4098 access/transam/xact.c:4221
+#: access/transam/xact.c:4372 access/transam/xact.c:4441
+#: access/transam/xact.c:4552
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s может выполняться только внутри блоков транзакций"
 
-#: access/transam/xact.c:3802
+#: access/transam/xact.c:3905
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "транзакция уже выполняется"
 
-#: access/transam/xact.c:3921 access/transam/xact.c:4000
-#: access/transam/xact.c:4123
+#: access/transam/xact.c:4024 access/transam/xact.c:4103
+#: access/transam/xact.c:4226
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "нет незавершённой транзакции"
 
-#: access/transam/xact.c:4011
+#: access/transam/xact.c:4114
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "фиксировать транзакции во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4134
+#: access/transam/xact.c:4237
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "прерывание во время параллельных операций невозможно"
 
-#: access/transam/xact.c:4233
+#: access/transam/xact.c:4336
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "определять точки сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4320
+#: access/transam/xact.c:4423
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "высвобождать точки сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4330 access/transam/xact.c:4381
-#: access/transam/xact.c:4441 access/transam/xact.c:4490
+#: access/transam/xact.c:4433 access/transam/xact.c:4484
+#: access/transam/xact.c:4544 access/transam/xact.c:4593
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "точка сохранения \"%s\" не существует"
 
-#: access/transam/xact.c:4387 access/transam/xact.c:4496
+#: access/transam/xact.c:4490 access/transam/xact.c:4599
 #, c-format
 msgid "savepoint \"%s\" does not exist within current savepoint level"
 msgstr ""
 "точка сохранения \"%s\" на текущем уровне точек сохранения не существует"
 
-#: access/transam/xact.c:4429
+#: access/transam/xact.c:4532
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "откатиться к точке сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4557
-#, c-format
-msgid "cannot start subtransactions during a parallel operation"
-msgstr "запускать подтранзакции во время параллельных операций нельзя"
-
-#: access/transam/xact.c:4625
-#, c-format
-msgid "cannot commit subtransactions during a parallel operation"
-msgstr "фиксировать подтранзакции во время параллельных операций нельзя"
-
-#: access/transam/xact.c:5271
+#: access/transam/xact.c:5376
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций"
 
-#: access/transam/xlog.c:1468
+#: access/transam/xlog.c:1541
 #, c-format
 msgid ""
 "request to flush past end of generated WAL; request %X/%X, current position "
@@ -2544,55 +2772,78 @@ msgstr ""
 "запрос на сброс данных за концом сгенерированного WAL; запрошена позиция %X/"
 "%X, текущая позиция %X/%X"
 
-#: access/transam/xlog.c:2230
+#: access/transam/xlog.c:1768
+#, c-format
+msgid ""
+"cannot read past end of generated WAL: requested %X/%X, current position %X/"
+"%X"
+msgstr ""
+"чтение за концом сгенерированного WAL невозможно: запрошена позиция %X/%X, "
+"текущая позиция %X/%X"
+
+#: access/transam/xlog.c:2209 access/transam/xlog.c:4500
+#, c-format
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr ""
+"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ."
+
+#: access/transam/xlog.c:2227
 #, c-format
-msgid "could not write to log file %s at offset %u, length %zu: %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð² Ñ\84айл Ð¶Ñ\83Ñ\80нала %s (Ñ\81меÑ\89ение: %u, Ð´Ð»Ð¸Ð½Ð°: %zu): %m"
+msgid "\"%s\" must be set to -1 during binary upgrade mode."
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80 \"%s\" Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ñ\80авен -1 Ð² Ñ\80ежиме Ð´Ð²Ð¾Ð¸Ñ\87ного Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f."
 
-#: access/transam/xlog.c:3457 access/transam/xlogutils.c:833
-#: replication/walsender.c:2725
+#: access/transam/xlog.c:2476
+#, c-format
+msgid "could not write to log file \"%s\" at offset %u, length %zu: %m"
+msgstr ""
+"не удалось записать в файл журнала \"%s\" (смещение: %u, длина: %zu): %m"
+
+#: access/transam/xlog.c:3738 access/transam/xlogutils.c:831
+#: replication/walsender.c:3045
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "запрошенный сегмент WAL %s уже удалён"
 
-#: access/transam/xlog.c:3741
+#: access/transam/xlog.c:4060
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\": %m"
 
-#: access/transam/xlog.c:3783 access/transam/xlog.c:3793
+#: access/transam/xlog.c:4103 access/transam/xlog.c:4114
+#: access/transam/xlog.c:4135
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "требуемый каталог WAL \"%s\" не существует"
 
-#: access/transam/xlog.c:3799
+#: access/transam/xlog.c:4120 access/transam/xlog.c:4141
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "создаётся отсутствующий каталог WAL \"%s\""
 
-#: access/transam/xlog.c:3802 commands/dbcommands.c:3172
+#: access/transam/xlog.c:4124 access/transam/xlog.c:4144
+#: commands/dbcommands.c:3259
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "не удалось создать отсутствующий каталог \"%s\": %m"
 
-#: access/transam/xlog.c:3869
+#: access/transam/xlog.c:4211
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "не удалось сгенерировать случайное число для аутентификации"
 
-#: access/transam/xlog.c:4019 access/transam/xlog.c:4028
-#: access/transam/xlog.c:4052 access/transam/xlog.c:4059
-#: access/transam/xlog.c:4066 access/transam/xlog.c:4071
-#: access/transam/xlog.c:4078 access/transam/xlog.c:4085
-#: access/transam/xlog.c:4092 access/transam/xlog.c:4099
-#: access/transam/xlog.c:4106 access/transam/xlog.c:4113
-#: access/transam/xlog.c:4122 access/transam/xlog.c:4129
-#: utils/init/miscinit.c:1769
+#: access/transam/xlog.c:4362 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4398 access/transam/xlog.c:4406
+#: access/transam/xlog.c:4414 access/transam/xlog.c:4420
+#: access/transam/xlog.c:4428 access/transam/xlog.c:4436
+#: access/transam/xlog.c:4444 access/transam/xlog.c:4452
+#: access/transam/xlog.c:4460 access/transam/xlog.c:4468
+#: access/transam/xlog.c:4478 access/transam/xlog.c:4486
+#: utils/init/miscinit.c:1758
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "файлы базы данных несовместимы с сервером"
 
-#: access/transam/xlog.c:4020
+#: access/transam/xlog.c:4363
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
@@ -2601,7 +2852,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но "
 "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4024
+#: access/transam/xlog.c:4367
 #, c-format
 msgid ""
 "This could be a problem of mismatched byte ordering.  It looks like you need "
@@ -2610,7 +2861,7 @@ msgstr ""
 "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить "
 "initdb."
 
-#: access/transam/xlog.c:4029
+#: access/transam/xlog.c:4373
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -2619,18 +2870,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер "
 "скомпилирован с PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4032 access/transam/xlog.c:4056
-#: access/transam/xlog.c:4063 access/transam/xlog.c:4068
+#: access/transam/xlog.c:4376 access/transam/xlog.c:4402
+#: access/transam/xlog.c:4410 access/transam/xlog.c:4416
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Кажется, вам надо выполнить initdb."
 
-#: access/transam/xlog.c:4043
+#: access/transam/xlog.c:4388
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "ошибка контрольной суммы в файле pg_control"
 
-#: access/transam/xlog.c:4053
+#: access/transam/xlog.c:4399
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -2639,7 +2890,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер "
 "скомпилирован с CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4060
+#: access/transam/xlog.c:4407
 #, c-format
 msgid ""
 "The database cluster was initialized with MAXALIGN %d, but the server was "
@@ -2648,7 +2899,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер "
 "скомпилирован с MAXALIGN %d."
 
-#: access/transam/xlog.c:4067
+#: access/transam/xlog.c:4415
 #, c-format
 msgid ""
 "The database cluster appears to use a different floating-point number format "
@@ -2657,7 +2908,7 @@ msgstr ""
 "Кажется, в кластере баз данных и в программе сервера используются разные "
 "форматы чисел с плавающей точкой."
 
-#: access/transam/xlog.c:4072
+#: access/transam/xlog.c:4421
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
@@ -2666,16 +2917,16 @@ msgstr ""
 "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован "
 "с BLCKSZ %d."
 
-#: access/transam/xlog.c:4075 access/transam/xlog.c:4082
-#: access/transam/xlog.c:4089 access/transam/xlog.c:4096
-#: access/transam/xlog.c:4103 access/transam/xlog.c:4110
-#: access/transam/xlog.c:4117 access/transam/xlog.c:4125
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4424 access/transam/xlog.c:4432
+#: access/transam/xlog.c:4440 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4456 access/transam/xlog.c:4464
+#: access/transam/xlog.c:4472 access/transam/xlog.c:4481
+#: access/transam/xlog.c:4489
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb."
 
-#: access/transam/xlog.c:4079
+#: access/transam/xlog.c:4429
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -2684,7 +2935,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер "
 "скомпилирован с RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4086
+#: access/transam/xlog.c:4437
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
@@ -2693,7 +2944,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер "
 "скомпилирован с XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:4093
+#: access/transam/xlog.c:4445
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -2702,7 +2953,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер "
 "скомпилирован с NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4100
+#: access/transam/xlog.c:4453
 #, c-format
 msgid ""
 "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
@@ -2711,7 +2962,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер "
 "скомпилирован с INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4107
+#: access/transam/xlog.c:4461
 #, c-format
 msgid ""
 "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
@@ -2720,7 +2971,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер "
 "скомпилирован с TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4114
+#: access/transam/xlog.c:4469
 #, c-format
 msgid ""
 "The database cluster was initialized with LOBLKSIZE %d, but the server was "
@@ -2729,7 +2980,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер "
 "скомпилирован с LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4123
+#: access/transam/xlog.c:4479
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
@@ -2738,7 +2989,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4130
+#: access/transam/xlog.c:4487
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
@@ -2747,107 +2998,100 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был "
 "скомпилирован без USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4139
+#: access/transam/xlog.c:4496
 #, c-format
-msgid ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"control file specifies %d byte"
-msgid_plural ""
-"WAL segment size must be a power of two between 1 MB and 1 GB, but the "
-"control file specifies %d bytes"
-msgstr[0] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
-msgstr[1] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
-msgstr[2] ""
-"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 "
-"ГБ, но в управляющем файле указано значение: %d"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
+msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)"
 
-#: access/transam/xlog.c:4151
+#: access/transam/xlog.c:4509
 #, c-format
 msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "\"min_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\""
 
-#: access/transam/xlog.c:4155
+#: access/transam/xlog.c:4513
 #, c-format
 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "\"max_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\""
 
-#: access/transam/xlog.c:4310 catalog/namespace.c:4335
-#: commands/tablespace.c:1216 commands/user.c:2530 commands/variable.c:72
-#: utils/error/elog.c:2209
+#: access/transam/xlog.c:4661 catalog/namespace.c:4681
+#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
+#: replication/slot.c:2429 tcop/postgres.c:3691 utils/error/elog.c:2247
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Ошибка синтаксиса в списке."
 
-#: access/transam/xlog.c:4356 commands/user.c:2546 commands/variable.c:173
-#: utils/error/elog.c:2235
+#: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173
+#: tcop/postgres.c:3707 utils/error/elog.c:2273
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "нераспознанное ключевое слово: \"%s\"."
 
-#: access/transam/xlog.c:4770
+#: access/transam/xlog.c:5128
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "не удалось записать начальный файл журнала предзаписи: %m"
 
-#: access/transam/xlog.c:4778
+#: access/transam/xlog.c:5136
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "не удалось сбросить на диск начальный файл журнала предзаписи: %m"
 
-#: access/transam/xlog.c:4784
+#: access/transam/xlog.c:5142
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "не удалось закрыть начальный файл журнала предзаписи: %m"
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5367
 #, c-format
-msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
+msgid ""
+"WAL was generated with \"wal_level=minimal\", cannot continue recovering"
 msgstr ""
-"WAL был создан с параметром wal_level=minimal, продолжение восстановления "
-"невозможно"
+"WAL был создан с параметром \"wal_level=minimal\", продолжение "
+"воÑ\81Ñ\81Ñ\82ановлениÑ\8f Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾"
 
-#: access/transam/xlog.c:5002
+#: access/transam/xlog.c:5368
 #, c-format
-msgid "This happens if you temporarily set wal_level=minimal on the server."
-msgstr "Это происходит, если вы на время устанавливали wal_level=minimal."
+msgid ""
+"This happens if you temporarily set \"wal_level=minimal\" on the server."
+msgstr "Это происходит, если вы на время устанавливали \"wal_level=minimal\"."
 
-#: access/transam/xlog.c:5003
+#: access/transam/xlog.c:5369
 #, c-format
-msgid "Use a backup taken after setting wal_level to higher than minimal."
+msgid ""
+"Use a backup taken after setting \"wal_level\" to higher than \"minimal\"."
 msgstr ""
-"Используйте резервную копию, сделанную после переключения wal_level на любой "
-"уровень выше minimal."
+"Используйте резервную копию, сделанную после переключения \"wal_level\" на "
+"любой уровень выше \"minimal\"."
 
-#: access/transam/xlog.c:5067
+#: access/transam/xlog.c:5434
 #, c-format
 msgid "control file contains invalid checkpoint location"
 msgstr "файл pg_control содержит неправильную позицию контрольной точки"
 
-#: access/transam/xlog.c:5078
+#: access/transam/xlog.c:5445
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "система БД была выключена: %s"
 
-#: access/transam/xlog.c:5084
+#: access/transam/xlog.c:5451
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "система БД была выключена в процессе восстановления: %s"
 
-#: access/transam/xlog.c:5090
+#: access/transam/xlog.c:5457
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "выключение системы БД было прервано; последний момент работы: %s"
 
-#: access/transam/xlog.c:5096
+#: access/transam/xlog.c:5463
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "работа системы БД была прервана во время восстановления: %s"
 
-#: access/transam/xlog.c:5098
+#: access/transam/xlog.c:5465
 #, c-format
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
@@ -2856,14 +3100,14 @@ msgstr ""
 "Это скорее всего означает, что некоторые данные повреждены и вам придётся "
 "восстановить БД из последней резервной копии."
 
-#: access/transam/xlog.c:5104
+#: access/transam/xlog.c:5471
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "работа системы БД была прервана в процессе восстановления, время в журнале: "
 "%s"
 
-#: access/transam/xlog.c:5106
+#: access/transam/xlog.c:5473
 #, c-format
 msgid ""
 "If this has occurred more than once some data might be corrupted and you "
@@ -2872,22 +3116,22 @@ msgstr ""
 "Если это происходит постоянно, возможно, какие-то данные были испорчены и "
 "для восстановления стоит выбрать более раннюю точку."
 
-#: access/transam/xlog.c:5112
+#: access/transam/xlog.c:5479
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "работа системы БД была прервана; последний момент работы: %s"
 
-#: access/transam/xlog.c:5118
+#: access/transam/xlog.c:5486
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "файл pg_control содержит неверный код состояния кластера"
 
-#: access/transam/xlog.c:5502
+#: access/transam/xlog.c:5874
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL закончился без признака окончания копирования"
 
-#: access/transam/xlog.c:5503
+#: access/transam/xlog.c:5875
 #, c-format
 msgid ""
 "All WAL generated while online backup was taken must be available at "
@@ -2896,40 +3140,40 @@ msgstr ""
 "Все журналы WAL, созданные во время резервного копирования \"на ходу\", "
 "должны быть в наличии для восстановления."
 
-#: access/transam/xlog.c:5506
+#: access/transam/xlog.c:5879
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL закончился до согласованной точки восстановления"
 
-#: access/transam/xlog.c:5552
+#: access/transam/xlog.c:5925
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "выбранный ID новой линии времени: %u"
 
-#: access/transam/xlog.c:5585
+#: access/transam/xlog.c:5958
 #, c-format
 msgid "archive recovery complete"
 msgstr "восстановление архива завершено"
 
-#: access/transam/xlog.c:6191
+#: access/transam/xlog.c:6587
 #, c-format
 msgid "shutting down"
 msgstr "выключение"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6230
+#: access/transam/xlog.c:6626
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "начата точка перезапуска:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6242
+#: access/transam/xlog.c:6638
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "начата контрольная точка:%s%s%s%s%s%s%s%s"
 
 # well-spelled: синхр
-#: access/transam/xlog.c:6307
+#: access/transam/xlog.c:6703
 #, c-format
 msgid ""
 "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
@@ -2944,7 +3188,7 @@ msgstr ""
 "lsn=%X/%X, lsn redo=%X/%X"
 
 # well-spelled: синхр
-#: access/transam/xlog.c:6330
+#: access/transam/xlog.c:6726
 #, c-format
 msgid ""
 "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
@@ -2958,7 +3202,7 @@ msgstr ""
 "=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; "
 "lsn=%X/%X, lsn redo=%X/%X"
 
-#: access/transam/xlog.c:6768
+#: access/transam/xlog.c:7208
 #, c-format
 msgid ""
 "concurrent write-ahead log activity while database system is shutting down"
@@ -2966,111 +3210,119 @@ msgstr ""
 "во время выключения системы баз данных отмечена активность в журнале "
 "предзаписи"
 
-#: access/transam/xlog.c:7329
+#: access/transam/xlog.c:7793
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "точка перезапуска восстановления в позиции %X/%X"
 
-#: access/transam/xlog.c:7331
+#: access/transam/xlog.c:7795
 #, c-format
 msgid "Last completed transaction was at log time %s."
 msgstr "Последняя завершённая транзакция была выполнена в %s."
 
-#: access/transam/xlog.c:7579
+#: access/transam/xlog.c:8057
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "точка восстановления \"%s\" создана в позиции %X/%X"
 
-#: access/transam/xlog.c:7786
+#: access/transam/xlog.c:8264
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr ""
 "резервное копирование \"на ходу\" было отменено, продолжить восстановление "
 "нельзя"
 
-#: access/transam/xlog.c:7843
+#: access/transam/xlog.c:8322
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи точки выключения"
 
-#: access/transam/xlog.c:7901
+#: access/transam/xlog.c:8380
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи точки активности"
 
-#: access/transam/xlog.c:7930
+#: access/transam/xlog.c:8409
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи конец-"
 "восстановления"
 
-#: access/transam/xlog.c:8197
+#: access/transam/xlog.c:8680
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл сквозной записи %s: %m"
 
-#: access/transam/xlog.c:8202
+#: access/transam/xlog.c:8685
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС данные (fdatasync) файла \"%s\": %m"
 
-#: access/transam/xlog.c:8287 access/transam/xlog.c:8610
+#: access/transam/xlog.c:8772 access/transam/xlog.c:9108
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:8288 access/transam/xlog.c:8611
-#: access/transam/xlogfuncs.c:254
+#: access/transam/xlog.c:8773 access/transam/xlogfuncs.c:248
 #, c-format
-msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
-msgstr "Установите wal_level \"replica\" или \"logical\" при запуске сервера."
+msgid ""
+"\"wal_level\" must be set to \"replica\" or \"logical\" at server start."
+msgstr ""
+"Параметр \"wal_level\" должен иметь значение \"replica\" или \"logical\" при "
+"запуске сервера."
 
-#: access/transam/xlog.c:8293
+#: access/transam/xlog.c:8778
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "длина метки резервной копии превышает предел (%d байт)"
 
-#: access/transam/xlog.c:8414
+#: access/transam/xlog.c:8899
 #, c-format
 msgid ""
-"WAL generated with full_page_writes=off was replayed since last restartpoint"
+"WAL generated with \"full_page_writes=off\" was replayed since last "
+"restartpoint"
 msgstr ""
-"Ð\9fосле последней точки перезапуска был воспроизведён WAL, созданный в режиме "
-"full_page_writes=off."
+"после последней точки перезапуска был воспроизведён WAL, созданный в режиме "
+"\"full_page_writes=off\""
 
-#: access/transam/xlog.c:8416 access/transam/xlog.c:8699
+#: access/transam/xlog.c:8901 access/transam/xlog.c:9197
 #, c-format
 msgid ""
 "This means that the backup being taken on the standby is corrupt and should "
-"not be used. Enable full_page_writes and run CHECKPOINT on the primary, and "
-"then try an online backup again."
+"not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, "
+"and then try an online backup again."
 msgstr ""
-"ЭÑ\82о Ð¾Ð·Ð½Ð°Ñ\87аеÑ\82, Ñ\87Ñ\82о Ñ\80езеÑ\80внаÑ\8f ÐºÐ¾Ð¿Ð¸Ñ\8f, Ñ\81деланнаÑ\8f Ð½Ð° Ð´ÐµÐ¶Ñ\83Ñ\80ном Ñ\81еÑ\80веÑ\80е, Ð¸Ñ\81поÑ\80Ñ\87ена "
-"и использовать её не следует. Включите режим full_page_writes и выполните "
+"ЭÑ\82о Ð¾Ð·Ð½Ð°Ñ\87аеÑ\82, Ñ\87Ñ\82о Ñ\80езеÑ\80внаÑ\8f ÐºÐ¾Ð¿Ð¸Ñ\8f, Ñ\81деланнаÑ\8f Ð½Ð° Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð¼ Ñ\81еÑ\80веÑ\80е, Ð¸Ñ\81поÑ\80Ñ\87ена Ð¸ "
+"использовать её не следует. Включите режим \"full_page_writes\" и выполните "
 "CHECKPOINT на ведущем сервере, а затем попробуйте резервное копирование \"на "
 "ходу\" ещё раз."
 
-#: access/transam/xlog.c:8483 backup/basebackup.c:1355 utils/adt/misc.c:354
+#: access/transam/xlog.c:8981 backup/basebackup.c:1417 utils/adt/misc.c:354
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
 
-#: access/transam/xlog.c:8490 backup/basebackup.c:1360 utils/adt/misc.c:359
+#: access/transam/xlog.c:8988 backup/basebackup.c:1422 utils/adt/misc.c:359
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
 
-#: access/transam/xlog.c:8649 backup/basebackup.c:1221
+#: access/transam/xlog.c:9109
+#, c-format
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "Установите wal_level \"replica\" или \"logical\" при запуске сервера."
+
+#: access/transam/xlog.c:9147 backup/basebackup.c:1281
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr ""
-"дежÑ\83Ñ\80ный сервер был повышен в процессе резервного копирования \"на ходу\""
+"ведомый сервер был повышен в процессе резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:8650 backup/basebackup.c:1222
+#: access/transam/xlog.c:9148 backup/basebackup.c:1282
 #, c-format
 msgid ""
 "This means that the backup being taken is corrupt and should not be used. "
@@ -3079,21 +3331,21 @@ msgstr ""
 "Это означает, что создаваемая резервная копия испорчена и использовать её не "
 "следует. Попробуйте резервное копирование \"на ходу\" ещё раз."
 
-#: access/transam/xlog.c:8697
+#: access/transam/xlog.c:9195
 #, c-format
 msgid ""
-"WAL generated with full_page_writes=off was replayed during online backup"
+"WAL generated with \"full_page_writes=off\" was replayed during online backup"
 msgstr ""
-"Ð\92 процессе резервного копирования \"на ходу\" был воспроизведён WAL, "
-"созданный в режиме full_page_writes=off"
+"в процессе резервного копирования \"на ходу\" был воспроизведён WAL, "
+"созданный в режиме \"full_page_writes=off\""
 
-#: access/transam/xlog.c:8813
+#: access/transam/xlog.c:9311
 #, c-format
 msgid "base backup done, waiting for required WAL segments to be archived"
 msgstr ""
 "базовое копирование выполнено, ожидается архивация нужных сегментов WAL"
 
-#: access/transam/xlog.c:8827
+#: access/transam/xlog.c:9325
 #, c-format
 msgid ""
 "still waiting for all required WAL segments to be archived (%d seconds "
@@ -3101,23 +3353,23 @@ msgid ""
 msgstr ""
 "продолжается ожидание архивации всех нужных сегментов WAL (прошло %d сек.)"
 
-#: access/transam/xlog.c:8829
+#: access/transam/xlog.c:9327
 #, c-format
 msgid ""
-"Check that your archive_command is executing properly.  You can safely "
+"Check that your \"archive_command\" is executing properly.  You can safely "
 "cancel this backup, but the database backup will not be usable without all "
 "the WAL segments."
 msgstr ""
-"Проверьте, правильно ли работает команда archive_command. Операцию "
+"Проверьте, правильно ли работает команда \"archive_command\". Операцию "
 "копирования можно отменить безопасно, но резервная копия базы будет "
 "непригодна без всех сегментов WAL."
 
-#: access/transam/xlog.c:8836
+#: access/transam/xlog.c:9334
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "все нужные сегменты WAL заархивированы"
 
-#: access/transam/xlog.c:8840
+#: access/transam/xlog.c:9338
 #, c-format
 msgid ""
 "WAL archiving is not enabled; you must ensure that all required WAL segments "
@@ -3126,31 +3378,31 @@ msgstr ""
 "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых "
 "сегментов WAL другими средствами для получения резервной копии"
 
-#: access/transam/xlog.c:8879
+#: access/transam/xlog.c:9377
 #, c-format
 msgid "aborting backup due to backend exiting before pg_backup_stop was called"
 msgstr ""
 "прерывание резервного копирования из-за завершения обслуживающего процесса "
 "до вызова pg_backup_stop"
 
-#: access/transam/xlogarchive.c:214
+#: access/transam/xlogarchive.c:213
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
 msgstr "файл архива \"%s\" имеет неправильный размер: %lld вместо %lld"
 
-#: access/transam/xlogarchive.c:223
+#: access/transam/xlogarchive.c:222
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "файл журнала \"%s\" восстановлен из архива"
 
-#: access/transam/xlogarchive.c:237
+#: access/transam/xlogarchive.c:236
 #, c-format
-msgid "restore_command returned a zero exit status, but stat() failed."
+msgid "\"restore_command\" returned a zero exit status, but stat() failed."
 msgstr ""
-"Команда restore_command возвратила нулевой код состояния, но stat() выдала "
-"ошибку."
+"Команда \"restore_command\" возвратила нулевой код состояния, но stat() "
+"вÑ\8bдала Ð¾Ñ\88ибкÑ\83."
 
-#: access/transam/xlogarchive.c:269
+#: access/transam/xlogarchive.c:268
 #, c-format
 msgid "could not restore file \"%s\" from archive: %s"
 msgstr "восстановить файл \"%s\" из архива не удалось: %s"
@@ -3158,109 +3410,120 @@ msgstr "восстановить файл \"%s\" из архива не удал
 #. translator: First %s represents a postgresql.conf parameter name like
 #. "recovery_end_command", the 2nd is the value of that parameter, the
 #. third an already translated error message.
-#: access/transam/xlogarchive.c:347
+#: access/transam/xlogarchive.c:346
 #, c-format
 msgid "%s \"%s\": %s"
 msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:537
+#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "не удалось создать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogarchive.c:465 access/transam/xlogarchive.c:545
+#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "не удалось записать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973
+#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997
 #, c-format
 msgid "a backup is already in progress in this session"
 msgstr "резервное копирование уже выполняется в этом сеансе"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:140
 #, c-format
 msgid "backup is not in progress"
 msgstr "резервное копирование не выполняется"
 
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlogfuncs.c:141
 #, c-format
 msgid "Did you call pg_backup_start()?"
 msgstr "Вы вызывали pg_backup_start()?"
 
-#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248
-#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308
-#: access/transam/xlogfuncs.c:329
+#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242
+#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302
+#: access/transam/xlogfuncs.c:323
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Функции управления WAL нельзя использовать в процессе восстановления."
 
-#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399
-#: access/transam/xlogfuncs.c:457
+#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389
+#: access/transam/xlogfuncs.c:447
 #, c-format
 msgid "%s cannot be executed during recovery."
 msgstr "выполнить %s во время восстановления нельзя."
 
-#: access/transam/xlogfuncs.c:221
+#: access/transam/xlogfuncs.c:215
 #, c-format
-msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica"
+msgid ""
+"pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\""
 msgstr ""
-"pg_log_standby_snapshot() можно использовать, только если wal_level >= "
-"replica"
+"pg_log_standby_snapshot() можно использовать, только если \"wal_level\" >= "
+"\"replica\""
 
-#: access/transam/xlogfuncs.c:253
+#: access/transam/xlogfuncs.c:247
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления"
 
 # well-spelled: симв
-#: access/transam/xlogfuncs.c:261
+#: access/transam/xlogfuncs.c:255
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "значение для точки восстановления превышает предел (%d симв.)"
 
-#: access/transam/xlogfuncs.c:496
+#: access/transam/xlogfuncs.c:486
 #, c-format
 msgid "invalid WAL file name \"%s\""
 msgstr "неправильное имя файла WAL \"%s\""
 
-#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562
-#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609
-#: access/transam/xlogfuncs.c:689
+#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552
+#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599
+#: access/transam/xlogfuncs.c:679
 #, c-format
 msgid "recovery is not in progress"
 msgstr "восстановление не выполняется"
 
-#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563
-#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610
-#: access/transam/xlogfuncs.c:690
+#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553
+#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600
+#: access/transam/xlogfuncs.c:680
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
 "Функции управления восстановлением можно использовать только в процессе "
 "восстановления."
 
-#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568
+#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558
 #, c-format
 msgid "standby promotion is ongoing"
 msgstr "производится повышение ведомого"
 
-#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559
 #, c-format
 msgid "%s cannot be executed after promotion is triggered."
 msgstr "%s нельзя выполнять, когда производится повышение."
 
-#: access/transam/xlogfuncs.c:695
+#: access/transam/xlogfuncs.c:685
 #, c-format
 msgid "\"wait_seconds\" must not be negative or zero"
 msgstr "значение \"wait_seconds\" не должно быть отрицательным или нулевым"
 
-#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:265
+#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "отправить сигнал процессу postmaster не удалось: %m"
 
-#: access/transam/xlogfuncs.c:751
+#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346
+#, c-format
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "закрытие подключения из-за неожиданного завершения главного процесса"
+
+#: access/transam/xlogfuncs.c:740
+#, c-format
+msgid "while waiting on promotion"
+msgstr "в процессе ожидания повышения"
+
+#: access/transam/xlogfuncs.c:744
 #, c-format
 msgid "server did not promote within %d second"
 msgid_plural "server did not promote within %d seconds"
@@ -3268,71 +3531,72 @@ msgstr[0] "повышение сервера не завершилось за %d
 msgstr[1] "повышение сервера не завершилось за %d секунды"
 msgstr[2] "повышение сервера не завершилось за %d секунд"
 
-#: access/transam/xlogprefetcher.c:1092
+#: access/transam/xlogprefetcher.c:1088
 #, c-format
 msgid ""
-"recovery_prefetch is not supported on platforms that lack posix_fadvise()."
+"\"recovery_prefetch\" is not supported on platforms that lack "
+"posix_fadvise()."
 msgstr ""
-"recovery_prefetch не поддерживается на платформах, где отсутствует "
+"\"recovery_prefetch\" не поддерживается на платформах, где отсутствует "
 "posix_fadvise()."
 
-#: access/transam/xlogreader.c:621
+#: access/transam/xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: access/transam/xlogreader.c:630
+#: access/transam/xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "в позиции %X/%X запрошено продолжение записи"
 
-#: access/transam/xlogreader.c:671 access/transam/xlogreader.c:1136
+#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr ""
 "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
 
-#: access/transam/xlogreader.c:760
+#: access/transam/xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: access/transam/xlogreader.c:773
+#: access/transam/xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1144
+#: access/transam/xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1157 access/transam/xlogreader.c:1173
+#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1211
+#: access/transam/xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
 "%X/%X"
 
-#: access/transam/xlogreader.c:1245
+#: access/transam/xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: access/transam/xlogreader.c:1260 access/transam/xlogreader.c:1302
+#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: access/transam/xlogreader.c:1276
+#: access/transam/xlogreader.c:1274
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -3341,7 +3605,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД "
 "%llu, а идентификатор системы pg_control: %llu"
 
-#: access/transam/xlogreader.c:1284
+#: access/transam/xlogreader.c:1282
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect segment size in page "
@@ -3350,7 +3614,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке "
 "страницы"
 
-#: access/transam/xlogreader.c:1290
+#: access/transam/xlogreader.c:1288
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
@@ -3359,12 +3623,12 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы"
 
-#: access/transam/xlogreader.c:1322
+#: access/transam/xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: access/transam/xlogreader.c:1348
+#: access/transam/xlogreader.c:1346
 #, c-format
 msgid ""
 "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
@@ -3373,23 +3637,23 @@ msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
 "%s, LSN %X/%X, смещение %u"
 
-#: access/transam/xlogreader.c:1754
+#: access/transam/xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1778
+#: access/transam/xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
 
-#: access/transam/xlogreader.c:1785
+#: access/transam/xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr ""
 "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1821
+#: access/transam/xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -3398,21 +3662,21 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
 "при длине образа блока %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1837
+#: access/transam/xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
 "%u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1851
+#: access/transam/xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
 
-#: access/transam/xlogreader.c:1866
+#: access/transam/xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
@@ -3421,41 +3685,41 @@ msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
 "блока равна %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1882
+#: access/transam/xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
-#: access/transam/xlogreader.c:1894
+#: access/transam/xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "неверный идентификатор блока %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1961
+#: access/transam/xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "запись с неверной длиной в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1987
+#: access/transam/xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "не удалось найти копию блока с ID %d в записи журнала WAL"
 
-#: access/transam/xlogreader.c:2071
+#: access/transam/xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
 
-#: access/transam/xlogreader.c:2078
+#: access/transam/xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr ""
 "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
 
-#: access/transam/xlogreader.c:2105 access/transam/xlogreader.c:2122
+#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with %s not supported by build, "
@@ -3464,7 +3728,7 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
-#: access/transam/xlogreader.c:2131
+#: access/transam/xlogreader.c:2126
 #, c-format
 msgid ""
 "could not restore image at %X/%X compressed with unknown method, block %d"
@@ -3472,49 +3736,12 @@ msgstr ""
 "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
 "блок %d"
 
-#: access/transam/xlogreader.c:2139
+#: access/transam/xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
 
-#: access/transam/xlogrecovery.c:547
-#, c-format
-msgid "entering standby mode"
-msgstr "переход в режим резервного сервера"
-
-#: access/transam/xlogrecovery.c:550
-#, c-format
-msgid "starting point-in-time recovery to XID %u"
-msgstr "начинается восстановление точки во времени до XID %u"
-
-#: access/transam/xlogrecovery.c:554
-#, c-format
-msgid "starting point-in-time recovery to %s"
-msgstr "начинается восстановление точки во времени до %s"
-
-#: access/transam/xlogrecovery.c:558
-#, c-format
-msgid "starting point-in-time recovery to \"%s\""
-msgstr "начинается восстановление точки во времени до \"%s\""
-
-#: access/transam/xlogrecovery.c:562
-#, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr ""
-"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\""
-
-#: access/transam/xlogrecovery.c:566
-#, c-format
-msgid "starting point-in-time recovery to earliest consistent point"
-msgstr ""
-"начинается восстановление точки во времени до первой точки согласованности"
-
-#: access/transam/xlogrecovery.c:569
-#, c-format
-msgid "starting archive recovery"
-msgstr "начинается восстановление архива"
-
-#: access/transam/xlogrecovery.c:637
+#: access/transam/xlogrecovery.c:617
 #, c-format
 msgid ""
 "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on "
@@ -3523,68 +3750,108 @@ msgstr ""
 "начинается восстановление копии с LSN redo %X/%X, LSN контрольной точки %X/"
 "%X, на линии времени %u"
 
-#: access/transam/xlogrecovery.c:669
+#: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location referenced by checkpoint record"
-msgstr "не удалось найти положение REDO, указанное записью контрольной точки"
+msgid ""
+"could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+msgstr ""
+"не удалось найти положение REDO %X/%X, указанное в записи контрольной точки "
+"в %X/%X"
 
-#: access/transam/xlogrecovery.c:670 access/transam/xlogrecovery.c:680
+#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
 msgid ""
-"If you are restoring from a backup, touch \"%s/recovery.signal\" and add "
-"required recovery options.\n"
+"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/"
+"standby.signal\" and add required recovery options.\n"
 "If you are not restoring from a backup, try removing the file \"%s/"
 "backup_label\".\n"
 "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if "
 "restoring from a backup."
 msgstr ""
-"Если вы восстанавливаете резервную копию, создайте \"%s/recovery.signal\" и "
-"задайте обязательные параметры восстановления.\n"
+"Если вы восстанавливаете резервную копию, создайте \"%s/recovery.signal\" "
+"или \"%s/standby.signal\" Ð¸ Ð·Ð°Ð´Ð°Ð¹Ñ\82е Ð¾Ð±Ñ\8fзаÑ\82елÑ\8cнÑ\8bе Ð¿Ð°Ñ\80амеÑ\82Ñ\80Ñ\8b Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлениÑ\8f.\n"
 "В других случаях попытайтесь удалить файл \"%s/backup_label\".\n"
 "Будьте осторожны: при восстановлении резервной копии удаление \"%s/"
 "backup_label\" приведёт к повреждению кластера."
 
-#: access/transam/xlogrecovery.c:679
+#: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record"
-msgstr "не удалось считать нужную запись контрольной точки"
+msgid "could not locate required checkpoint record at %X/%X"
+msgstr "не удалось найти нужную запись контрольной точки в %X/%X"
 
-#: access/transam/xlogrecovery.c:708 commands/tablespace.c:670
+#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\": %m"
 
-#: access/transam/xlogrecovery.c:740 access/transam/xlogrecovery.c:746
+#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\""
 
-#: access/transam/xlogrecovery.c:742
+#: access/transam/xlogrecovery.c:725
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Файл \"%s\" был переименован в \"%s\"."
 
-#: access/transam/xlogrecovery.c:748
+#: access/transam/xlogrecovery.c:731
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "Не удалось переименовать файл \"%s\" в \"%s\" (%m)."
 
-#: access/transam/xlogrecovery.c:787
+#: access/transam/xlogrecovery.c:770
 #, c-format
 msgid "restarting backup recovery with redo LSN %X/%X"
 msgstr "перезапуск восстановления копии с LSN redo %X/%X"
 
-#: access/transam/xlogrecovery.c:812
+#: access/transam/xlogrecovery.c:795
+#, c-format
+msgid "could not locate a valid checkpoint record at %X/%X"
+msgstr "не удалось найти корректную запись контрольной точки в %X/%X"
+
+#: access/transam/xlogrecovery.c:806
+#, c-format
+msgid "entering standby mode"
+msgstr "переход в режим резервного сервера"
+
+#: access/transam/xlogrecovery.c:809
+#, c-format
+msgid "starting point-in-time recovery to XID %u"
+msgstr "начинается восстановление точки во времени до XID %u"
+
+#: access/transam/xlogrecovery.c:813
+#, c-format
+msgid "starting point-in-time recovery to %s"
+msgstr "начинается восстановление точки во времени до %s"
+
+#: access/transam/xlogrecovery.c:817
+#, c-format
+msgid "starting point-in-time recovery to \"%s\""
+msgstr "начинается восстановление точки во времени до \"%s\""
+
+#: access/transam/xlogrecovery.c:821
+#, c-format
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgstr ""
+"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\""
+
+#: access/transam/xlogrecovery.c:825
 #, c-format
-msgid "could not locate a valid checkpoint record"
-msgstr "не удалось считать правильную запись контрольной точки"
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr ""
+"начинается восстановление точки во времени до первой точки согласованности"
+
+#: access/transam/xlogrecovery.c:828
+#, c-format
+msgid "starting archive recovery"
+msgstr "начинается восстановление архива"
 
-#: access/transam/xlogrecovery.c:836
+#: access/transam/xlogrecovery.c:849
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "в истории сервера нет ответвления запрошенной линии времени %u"
 
-#: access/transam/xlogrecovery.c:838
+#: access/transam/xlogrecovery.c:851
 #, c-format
 msgid ""
 "Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
@@ -3593,7 +3860,7 @@ msgstr ""
 "Последняя контрольная точка: %X/%X на линии времени %u, но в истории "
 "запрошенной линии времени сервер ответвился с этой линии в %X/%X."
 
-#: access/transam/xlogrecovery.c:852
+#: access/transam/xlogrecovery.c:865
 #, c-format
 msgid ""
 "requested timeline %u does not contain minimum recovery point %X/%X on "
@@ -3602,22 +3869,22 @@ msgstr ""
 "запрошенная линия времени %u не содержит минимальную точку восстановления %X/"
 "%X на линии времени %u"
 
-#: access/transam/xlogrecovery.c:880
+#: access/transam/xlogrecovery.c:893
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "неверный ID следующей транзакции"
 
-#: access/transam/xlogrecovery.c:885
+#: access/transam/xlogrecovery.c:898
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "неверная запись REDO в контрольной точке"
 
-#: access/transam/xlogrecovery.c:896
+#: access/transam/xlogrecovery.c:909
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "неверная запись REDO в контрольной точке выключения"
 
-#: access/transam/xlogrecovery.c:925
+#: access/transam/xlogrecovery.c:938
 #, c-format
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
@@ -3625,19 +3892,19 @@ msgstr ""
 "система БД была остановлена нештатно; производится автоматическое "
 "восстановление"
 
-#: access/transam/xlogrecovery.c:929
+#: access/transam/xlogrecovery.c:942
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr ""
 "восстановление после сбоя начинается на линии времени %u, целевая линия "
 "времени: %u"
 
-#: access/transam/xlogrecovery.c:972
+#: access/transam/xlogrecovery.c:985
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label содержит данные, не согласованные с файлом pg_control"
 
-#: access/transam/xlogrecovery.c:973
+#: access/transam/xlogrecovery.c:986
 #, c-format
 msgid ""
 "This means that the backup is corrupted and you will have to use another "
@@ -3646,24 +3913,24 @@ msgstr ""
 "Это означает, что резервная копия повреждена и для восстановления БД "
 "придётся использовать другую копию."
 
-#: access/transam/xlogrecovery.c:1027
+#: access/transam/xlogrecovery.c:1040
 #, c-format
 msgid "using recovery command file \"%s\" is not supported"
 msgstr ""
 "использование файла с конфигурацией восстановления \"%s\" не поддерживается"
 
-#: access/transam/xlogrecovery.c:1092
+#: access/transam/xlogrecovery.c:1105
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr ""
 "режим резервного сервера не поддерживается однопользовательским сервером"
 
-#: access/transam/xlogrecovery.c:1109
+#: access/transam/xlogrecovery.c:1122
 #, c-format
-msgid "specified neither primary_conninfo nor restore_command"
-msgstr "не указано ни primary_conninfo, ни restore_command"
+msgid "specified neither \"primary_conninfo\" nor \"restore_command\""
+msgstr "не указано ни \"primary_conninfo\", ни \"restore_command\""
 
-#: access/transam/xlogrecovery.c:1110
+#: access/transam/xlogrecovery.c:1123
 #, c-format
 msgid ""
 "The database server will regularly poll the pg_wal subdirectory to check for "
@@ -3672,111 +3939,128 @@ msgstr ""
 "Сервер БД будет регулярно опрашивать подкаталог pg_wal и проверять "
 "содержащиеся в нём файлы."
 
-#: access/transam/xlogrecovery.c:1118
+#: access/transam/xlogrecovery.c:1131
 #, c-format
-msgid "must specify restore_command when standby mode is not enabled"
+msgid "must specify \"restore_command\" when standby mode is not enabled"
 msgstr ""
-"необходимо задать restore_command, если не выбран режим резервного сервера"
+"необходимо задать \"restore_command\", если не выбран режим резервного "
+"сервера"
 
-#: access/transam/xlogrecovery.c:1156
+#: access/transam/xlogrecovery.c:1169
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "целевая линия времени для восстановления %u не существует"
 
-#: access/transam/xlogrecovery.c:1239 access/transam/xlogrecovery.c:1246
-#: access/transam/xlogrecovery.c:1305 access/transam/xlogrecovery.c:1385
-#: access/transam/xlogrecovery.c:1409
+#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259
+#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406
+#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "неверные данные в файле \"%s\""
 
-#: access/transam/xlogrecovery.c:1306
+#: access/transam/xlogrecovery.c:1319
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "Получен идентификатор линии времени %u, но ожидался %u."
 
-#: access/transam/xlogrecovery.c:1688
+#: access/transam/xlogrecovery.c:1330
+#, c-format
+msgid "this is an incremental backup, not a data directory"
+msgstr "это каталог инкрементальной копии, не каталог данных"
+
+#: access/transam/xlogrecovery.c:1331
+#, c-format
+msgid "Use pg_combinebackup to reconstruct a valid data directory."
+msgstr ""
+"Реконструируйте полноценный каталог данных, используя pg_combinebackup."
+
+#: access/transam/xlogrecovery.c:1717
+#, c-format
+msgid "unexpected record type found at redo point %X/%X"
+msgstr "в точке redo %X/%X обнаружена запись неожиданного типа"
+
+#: access/transam/xlogrecovery.c:1740
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "запись REDO начинается со смещения %X/%X"
 
-#: access/transam/xlogrecovery.c:1701
+#: access/transam/xlogrecovery.c:1753
 #, c-format
 msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
 msgstr ""
 "выполняется воспроизведение, прошло времени: %ld.%02d с, текущий LSN: %X/%X"
 
-#: access/transam/xlogrecovery.c:1793
+#: access/transam/xlogrecovery.c:1843
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr ""
 "запрошенная точка остановки восстановления предшествует согласованной точке "
 "восстановления"
 
-#: access/transam/xlogrecovery.c:1825
+#: access/transam/xlogrecovery.c:1875
 #, c-format
 msgid "redo done at %X/%X system usage: %s"
 msgstr "записи REDO обработаны до смещения %X/%X, нагрузка системы: %s"
 
-#: access/transam/xlogrecovery.c:1831
+#: access/transam/xlogrecovery.c:1881
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "последняя завершённая транзакция была выполнена в %s"
 
-#: access/transam/xlogrecovery.c:1840
+#: access/transam/xlogrecovery.c:1890
 #, c-format
 msgid "redo is not required"
 msgstr "данные REDO не требуются"
 
-#: access/transam/xlogrecovery.c:1851
+#: access/transam/xlogrecovery.c:1901
 #, c-format
 msgid "recovery ended before configured recovery target was reached"
 msgstr "восстановление окончилось до достижения заданной цели восстановления"
 
-#: access/transam/xlogrecovery.c:2045
+#: access/transam/xlogrecovery.c:2095
 #, c-format
 msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
 msgstr ""
 "успешно пропущена отсутствующая запись contrecord в %X/%X, перезаписанная в "
 "%s"
 
-#: access/transam/xlogrecovery.c:2112
+#: access/transam/xlogrecovery.c:2162
 #, c-format
 msgid "unexpected directory entry \"%s\" found in %s"
 msgstr "в %2$s обнаружен недопустимый элемент-каталог \"%1$s\""
 
-#: access/transam/xlogrecovery.c:2114
+#: access/transam/xlogrecovery.c:2164
 #, c-format
 msgid "All directory entries in pg_tblspc/ should be symbolic links."
 msgstr ""
 "Все элементы-каталоги в pg_tblspc/ должны быть символическими ссылками."
 
-#: access/transam/xlogrecovery.c:2115
+#: access/transam/xlogrecovery.c:2165
 #, c-format
 msgid ""
-"Remove those directories, or set allow_in_place_tablespaces to ON "
+"Remove those directories, or set \"allow_in_place_tablespaces\" to ON "
 "transiently to let recovery complete."
 msgstr ""
-"Удалите эти каталоги или на время установите в allow_in_place_tablespaces "
-"значение ON, чтобы восстановление завершилось."
+"Удалите эти каталоги или на время установите в "
+"\"allow_in_place_tablespaces\" значение ON, чтобы восстановление завершилось."
 
-#: access/transam/xlogrecovery.c:2167
+#: access/transam/xlogrecovery.c:2217
 #, c-format
 msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
 msgstr "завершено восстановление копии с LSN redo %X/%X и конечным LSN %X/%X"
 
-#: access/transam/xlogrecovery.c:2197
+#: access/transam/xlogrecovery.c:2247
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "согласованное состояние восстановления достигнуто в позиции %X/%X"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlogrecovery.c:2235
+#: access/transam/xlogrecovery.c:2285
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "запись REDO в WAL в позиции %X/%X для %s"
 
-#: access/transam/xlogrecovery.c:2333
+#: access/transam/xlogrecovery.c:2383
 #, c-format
 msgid ""
 "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
@@ -3785,13 +4069,13 @@ msgstr ""
 "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в "
 "записи контрольной точки"
 
-#: access/transam/xlogrecovery.c:2342
+#: access/transam/xlogrecovery.c:2392
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки"
 
 # skip-rule: capital-letter-first
-#: access/transam/xlogrecovery.c:2358
+#: access/transam/xlogrecovery.c:2408
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
@@ -3800,83 +4084,83 @@ msgstr ""
 "неожиданный ID линии времени %u в записи контрольной точки, до достижения "
 "минимальной к. т. %X/%X на линии времени %u"
 
-#: access/transam/xlogrecovery.c:2542 access/transam/xlogrecovery.c:2818
+#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr ""
 "восстановление останавливается после достижения согласованного состояния"
 
-#: access/transam/xlogrecovery.c:2563
+#: access/transam/xlogrecovery.c:2613
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%X\""
 
-#: access/transam/xlogrecovery.c:2653
+#: access/transam/xlogrecovery.c:2703
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед фиксированием транзакции %u, время %s"
 
-#: access/transam/xlogrecovery.c:2660
+#: access/transam/xlogrecovery.c:2710
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед прерыванием транзакции %u, время %s"
 
-#: access/transam/xlogrecovery.c:2713
+#: access/transam/xlogrecovery.c:2763
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "восстановление останавливается в точке восстановления \"%s\", время %s"
 
-#: access/transam/xlogrecovery.c:2731
+#: access/transam/xlogrecovery.c:2781
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%X\""
 
-#: access/transam/xlogrecovery.c:2798
+#: access/transam/xlogrecovery.c:2848
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после фиксирования транзакции %u, время %s"
 
-#: access/transam/xlogrecovery.c:2806
+#: access/transam/xlogrecovery.c:2856
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после прерывания транзакции %u, время %s"
 
-#: access/transam/xlogrecovery.c:2887
+#: access/transam/xlogrecovery.c:2937
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "остановка в конце восстановления"
 
-#: access/transam/xlogrecovery.c:2888
+#: access/transam/xlogrecovery.c:2938
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Выполните pg_wal_replay_resume() для повышения."
 
-#: access/transam/xlogrecovery.c:2891 access/transam/xlogrecovery.c:4628
+#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678
 #, c-format
 msgid "recovery has paused"
 msgstr "восстановление приостановлено"
 
-#: access/transam/xlogrecovery.c:2892
+#: access/transam/xlogrecovery.c:2942
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Выполните pg_wal_replay_resume() для продолжения."
 
-#: access/transam/xlogrecovery.c:3155
+#: access/transam/xlogrecovery.c:3205
 #, c-format
 msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
 msgstr ""
 "неожиданный ID линии времени %u в сегменте WAL %s, LSN %X/%X, смещение %u"
 
-#: access/transam/xlogrecovery.c:3363
+#: access/transam/xlogrecovery.c:3413
 #, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
 msgstr "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u: %m"
 
-#: access/transam/xlogrecovery.c:3370
+#: access/transam/xlogrecovery.c:3420
 #, c-format
 msgid ""
 "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
@@ -3884,38 +4168,38 @@ msgstr ""
 "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u (прочитано байт: "
 "%d из %zu)"
 
-#: access/transam/xlogrecovery.c:4010
+#: access/transam/xlogrecovery.c:4060
 #, c-format
 msgid "invalid checkpoint location"
 msgstr "неверное положение контрольной точки"
 
-#: access/transam/xlogrecovery.c:4020
+#: access/transam/xlogrecovery.c:4070
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "неверная запись контрольной точки"
 
-#: access/transam/xlogrecovery.c:4026
+#: access/transam/xlogrecovery.c:4076
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи контрольной точки"
 
-#: access/transam/xlogrecovery.c:4034
+#: access/transam/xlogrecovery.c:4084
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "неверные флаги xl_info в записи контрольной точки"
 
-#: access/transam/xlogrecovery.c:4040
+#: access/transam/xlogrecovery.c:4090
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "неверная длина записи контрольной точки"
 
-#: access/transam/xlogrecovery.c:4094
+#: access/transam/xlogrecovery.c:4144
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr ""
 "новая линия времени %u не является ответвлением линии времени системы БД %u"
 
-#: access/transam/xlogrecovery.c:4108
+#: access/transam/xlogrecovery.c:4158
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
@@ -3924,30 +4208,30 @@ msgstr ""
 "новая линия времени %u ответвилась от текущей линии времени базы данных %u "
 "до текущей точки восстановления %X/%X"
 
-#: access/transam/xlogrecovery.c:4127
+#: access/transam/xlogrecovery.c:4177
 #, c-format
 msgid "new target timeline is %u"
 msgstr "новая целевая линия времени %u"
 
-#: access/transam/xlogrecovery.c:4330
+#: access/transam/xlogrecovery.c:4380
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "получен запрос на выключение процесса приёмника WAL"
 
-#: access/transam/xlogrecovery.c:4390
+#: access/transam/xlogrecovery.c:4440
 #, c-format
 msgid "received promote request"
 msgstr "получен запрос повышения статуса"
 
-#: access/transam/xlogrecovery.c:4619
+#: access/transam/xlogrecovery.c:4669
 #, c-format
 msgid "hot standby is not possible because of insufficient parameter settings"
 msgstr ""
 "режим горячего резерва невозможен из-за отсутствия достаточных значений "
 "параметров"
 
-#: access/transam/xlogrecovery.c:4620 access/transam/xlogrecovery.c:4647
-#: access/transam/xlogrecovery.c:4677
+#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697
+#: access/transam/xlogrecovery.c:4727
 #, c-format
 msgid ""
 "%s = %d is a lower setting than on the primary server, where its value was "
@@ -3955,12 +4239,12 @@ msgid ""
 msgstr ""
 "Параметр %s = %d меньше, чем на ведущем сервере, где его значение было %d."
 
-#: access/transam/xlogrecovery.c:4629
+#: access/transam/xlogrecovery.c:4679
 #, c-format
 msgid "If recovery is unpaused, the server will shut down."
 msgstr "В случае возобновления восстановления сервер отключится."
 
-#: access/transam/xlogrecovery.c:4630
+#: access/transam/xlogrecovery.c:4680
 #, c-format
 msgid ""
 "You can then restart the server after making the necessary configuration "
@@ -3969,24 +4253,24 @@ msgstr ""
 "Затем вы можете перезапустить сервер после внесения необходимых изменений "
 "конфигурации."
 
-#: access/transam/xlogrecovery.c:4641
+#: access/transam/xlogrecovery.c:4691
 #, c-format
 msgid "promotion is not possible because of insufficient parameter settings"
 msgstr "повышение невозможно из-за отсутствия достаточных значений параметров"
 
-#: access/transam/xlogrecovery.c:4651
+#: access/transam/xlogrecovery.c:4701
 #, c-format
 msgid "Restart the server after making the necessary configuration changes."
 msgstr ""
 "Перезапустите сервер после внесения необходимых изменений конфигурации."
 
-#: access/transam/xlogrecovery.c:4675
+#: access/transam/xlogrecovery.c:4725
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
 msgstr ""
 "восстановление прервано из-за отсутствия достаточных значений параметров"
 
-#: access/transam/xlogrecovery.c:4681
+#: access/transam/xlogrecovery.c:4731
 #, c-format
 msgid ""
 "You can restart the server after making the necessary configuration changes."
@@ -3994,66 +4278,67 @@ msgstr ""
 "Вы можете перезапустить сервер после внесения необходимых изменений "
 "конфигурации."
 
-#: access/transam/xlogrecovery.c:4723
+#: access/transam/xlogrecovery.c:4773
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "указано несколько целей восстановления"
 
-#: access/transam/xlogrecovery.c:4724
+#: access/transam/xlogrecovery.c:4774
 #, c-format
 msgid ""
-"At most one of recovery_target, recovery_target_lsn, recovery_target_name, "
-"recovery_target_time, recovery_target_xid may be set."
+"At most one of \"recovery_target\", \"recovery_target_lsn\", "
+"\"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" "
+"may be set."
 msgstr ""
-"Может быть указана только одна из целей: recovery_target, "
-"recovery_target_lsn, recovery_target_name, recovery_target_time, "
-"recovery_target_xid."
+"Может быть указана только одна из целей: \"recovery_target\", "
+"\"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", "
+"\"recovery_target_xid\"."
 
-#: access/transam/xlogrecovery.c:4735
+#: access/transam/xlogrecovery.c:4785
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Единственное допустимое значение: \"immediate\"."
 
-#: access/transam/xlogrecovery.c:4887 utils/adt/timestamp.c:186
-#: utils/adt/timestamp.c:439
+#: access/transam/xlogrecovery.c:4937 utils/adt/timestamp.c:202
+#: utils/adt/timestamp.c:455
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp вне диапазона: \"%s\""
 
-#: access/transam/xlogrecovery.c:4932
+#: access/transam/xlogrecovery.c:4982
 #, c-format
-msgid "recovery_target_timeline is not a valid number."
-msgstr "recovery_target_timeline не является допустимым числом."
+msgid "\"recovery_target_timeline\" is not a valid number."
+msgstr "Значение \"recovery_target_timeline\" не является допустимым числом."
 
-#: access/transam/xlogutils.c:1039
+#: access/transam/xlogutils.c:1032
 #, c-format
 msgid "could not read from WAL segment %s, offset %d: %m"
 msgstr "не удалось прочитать из сегмента WAL %s по смещению %d: %m"
 
-#: access/transam/xlogutils.c:1046
+#: access/transam/xlogutils.c:1039
 #, c-format
 msgid "could not read from WAL segment %s, offset %d: read %d of %d"
 msgstr ""
 "не удалось прочитать из сегмента WAL %s по смещению %d (прочитано байт: %d "
 "из %d)"
 
-#: archive/shell_archive.c:96
+#: archive/shell_archive.c:98
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "команда архивации завершилась ошибкой с кодом %d"
 
-#: archive/shell_archive.c:98 archive/shell_archive.c:108
-#: archive/shell_archive.c:114 archive/shell_archive.c:123
+#: archive/shell_archive.c:100 archive/shell_archive.c:110
+#: archive/shell_archive.c:116 archive/shell_archive.c:125
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "Команда архивации с ошибкой: %s"
 
-#: archive/shell_archive.c:105
+#: archive/shell_archive.c:107
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "команда архивации была прервана исключением 0x%X"
 
-#: archive/shell_archive.c:107 postmaster/postmaster.c:3678
+#: archive/shell_archive.c:109 postmaster/postmaster.c:3094
 #, c-format
 msgid ""
 "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
@@ -4061,52 +4346,52 @@ msgstr ""
 "Описание этого шестнадцатеричного значения ищите во включаемом C-файле "
 "\"ntstatus.h\""
 
-#: archive/shell_archive.c:112
+#: archive/shell_archive.c:114
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "команда архивации завершена по сигналу %d: %s"
 
-#: archive/shell_archive.c:121
+#: archive/shell_archive.c:123
 #, c-format
 msgid "archive command exited with unrecognized status %d"
-msgstr "команда архивации завершилась с неизвестным кодом состояния %d"
+msgstr "команда архивации завершилась с нераспознанным кодом состояния %d"
 
-#: backup/backup_manifest.c:253
+#: backup/backup_manifest.c:254
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "ожидался конец линии времени %u, но обнаружена линия времени %u"
 
-#: backup/backup_manifest.c:277
+#: backup/backup_manifest.c:278
 #, c-format
 msgid "expected start timeline %u but found timeline %u"
 msgstr "ожидалось начало линии времени %u, но обнаружена линия времени %u"
 
-#: backup/backup_manifest.c:304
+#: backup/backup_manifest.c:305
 #, c-format
 msgid "start timeline %u not found in history of timeline %u"
 msgstr "начальная линия времени %u не найдена в истории линии времени %u"
 
-#: backup/backup_manifest.c:355
+#: backup/backup_manifest.c:356
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "не удалось переместиться во временном файле"
 
-#: backup/basebackup.c:470
+#: backup/basebackup.c:479
 #, c-format
 msgid "could not find any WAL files"
 msgstr "не удалось найти ни одного файла WAL"
 
-#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509
+#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "не удалось найти файл WAL \"%s\""
 
-#: backup/basebackup.c:551 backup/basebackup.c:576
+#: backup/basebackup.c:560 backup/basebackup.c:585
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "неприемлемый размер файла WAL \"%s\""
 
-#: backup/basebackup.c:646
+#: backup/basebackup.c:656
 #, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
@@ -4114,93 +4399,95 @@ msgstr[0] "всего ошибок контрольных сумм: %lld"
 msgstr[1] "всего ошибок контрольных сумм: %lld"
 msgstr[2] "всего ошибок контрольных сумм: %lld"
 
-#: backup/basebackup.c:653
+#: backup/basebackup.c:663
 #, c-format
 msgid "checksum verification failure during base backup"
 msgstr "при базовом резервном копировании выявлены ошибки контрольных сумм"
 
-#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742
-#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779
-#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817
-#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866
-#: backup/basebackup.c:877 backup/basebackup.c:890
+#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753
+#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788
+#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829
+#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879
+#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "повторяющийся параметр \"%s\""
 
-#: backup/basebackup.c:750
+#: backup/basebackup.c:761
 #, c-format
 msgid "unrecognized checkpoint type: \"%s\""
 msgstr "нераспознанный тип контрольной точки: \"%s\""
 
-#: backup/basebackup.c:785
+#: backup/basebackup.c:793
+#, c-format
+msgid "incremental backups cannot be taken unless WAL summarization is enabled"
+msgstr ""
+"сделать инкрементальную копию можно, только когда включено обобщение WAL"
+
+#: backup/basebackup.c:809
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d вне диапазона, допустимого для параметра \"%s\" (%d .. %d)"
 
-#: backup/basebackup.c:830
+#: backup/basebackup.c:854
 #, c-format
 msgid "unrecognized manifest option: \"%s\""
 msgstr "нераспознанный параметр в манифесте: \"%s\""
 
-#: backup/basebackup.c:846
-#, c-format
-msgid "unrecognized checksum algorithm: \"%s\""
-msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\""
-
-#: backup/basebackup.c:881
+#: backup/basebackup.c:905
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "нераспознанный алгоритм сжатия: \"%s\""
 
-#: backup/basebackup.c:897
+#: backup/basebackup.c:921
 #, c-format
 msgid "unrecognized base backup option: \"%s\""
 msgstr "нераспознанный параметр операции базового копирования: \"%s\""
 
-#: backup/basebackup.c:908
+#: backup/basebackup.c:932
 #, c-format
 msgid "manifest checksums require a backup manifest"
 msgstr "контрольные суммы не могут рассчитываться без манифеста копии"
 
 # skip-rule: capital-letter-first
-#: backup/basebackup.c:917
+#: backup/basebackup.c:941
 #, c-format
 msgid "target detail cannot be used without target"
 msgstr "доп. информацию о получателе нельзя задать без указания получателя"
 
 # skip-rule: capital-letter-first
-#: backup/basebackup.c:926 backup/basebackup_target.c:218
+#: backup/basebackup.c:950 backup/basebackup_target.c:218
 #, c-format
 msgid "target \"%s\" does not accept a target detail"
 msgstr "получатель \"%s\" не принимает доп. информацию"
 
-#: backup/basebackup.c:937
+#: backup/basebackup.c:961
 #, c-format
 msgid "compression detail cannot be specified unless compression is enabled"
 msgstr "параметры сжатия нельзя указывать, если не включено сжатие"
 
-#: backup/basebackup.c:950
+#: backup/basebackup.c:974
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "неправильное указание сжатия: %s"
 
-#: backup/basebackup.c:1116 backup/basebackup.c:1298
+#: backup/basebackup.c:1024
 #, c-format
-msgid "could not stat file or directory \"%s\": %m"
+msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP"
+msgstr ""
+"инкрементальной команде BASE_BACKUP должна предшествовать UPLOAD_MANIFEST"
+
+#: backup/basebackup.c:1157 backup/basebackup.c:1358
+#, c-format
+msgid "could not stat file or directory \"%s\": %m"
 msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m"
 
-#: backup/basebackup.c:1434
+#: backup/basebackup.c:1544
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "специальный файл \"%s\" пропускается"
 
-#: backup/basebackup.c:1546
-#, c-format
-msgid "invalid segment number %d in file \"%s\""
-msgstr "неверный номер сегмента %d в файле \"%s\""
-
-#: backup/basebackup.c:1578
+#: backup/basebackup.c:1751
 #, c-format
 msgid ""
 "could not verify checksum in file \"%s\", block %u: read buffer size %d and "
@@ -4209,7 +4496,15 @@ msgstr ""
 "не удалось проверить контрольную сумму в файле \"%s\", блоке %u: размер "
 "прочитанного буфера (%d) отличается от размера страницы (%d)"
 
-#: backup/basebackup.c:1662
+#: backup/basebackup.c:1813
+#, c-format
+msgid "file \"%s\" has a total of %d checksum verification failure"
+msgid_plural "file \"%s\" has a total of %d checksum verification failures"
+msgstr[0] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
+msgstr[1] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
+msgstr[2] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
+
+#: backup/basebackup.c:1917
 #, c-format
 msgid ""
 "checksum verification failed in file \"%s\", block %u: calculated %X but "
@@ -4218,27 +4513,19 @@ msgstr ""
 "ошибка контрольной суммы в файле \"%s\", блоке %u: вычислено значение %X, но "
 "ожидалось %X"
 
-#: backup/basebackup.c:1669
+#: backup/basebackup.c:1924
 #, c-format
 msgid ""
 "further checksum verification failures in file \"%s\" will not be reported"
 msgstr ""
 "о дальнейших ошибках контрольных сумм в файле \"%s\" сообщаться не будет"
 
-#: backup/basebackup.c:1725
-#, c-format
-msgid "file \"%s\" has a total of %d checksum verification failure"
-msgid_plural "file \"%s\" has a total of %d checksum verification failures"
-msgstr[0] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
-msgstr[1] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
-msgstr[2] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d"
-
-#: backup/basebackup.c:1771
+#: backup/basebackup.c:2048
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "слишком длинное имя файла для формата tar: \"%s\""
 
-#: backup/basebackup.c:1776
+#: backup/basebackup.c:2053
 #, c-format
 msgid ""
 "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
@@ -4246,6 +4533,11 @@ msgstr ""
 "цель символической ссылки слишком длинная для формата tar: имя файла \"%s\", "
 "цель \"%s\""
 
+#: backup/basebackup.c:2127
+#, c-format
+msgid "could not read file \"%s\": read %zd of %zu"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %zd из %zu)"
+
 #: backup/basebackup_gzip.c:67
 #, c-format
 msgid "gzip compression is not supported by this build"
@@ -4256,17 +4548,110 @@ msgstr "сжатие gzip не поддерживается в данной сб
 msgid "could not initialize compression library"
 msgstr "не удалось инициализировать библиотеку сжатия"
 
+#: backup/basebackup_incremental.c:294
+#, c-format
+msgid "manifest contains no required WAL ranges"
+msgstr "в манифесте не указаны нужные диапазоны WAL"
+
+#: backup/basebackup_incremental.c:349
+#, c-format
+msgid "timeline %u found in manifest, but not in this server's history"
+msgstr "в манифесте найдена линия времени %u, но её нет в истории сервера"
+
+#: backup/basebackup_incremental.c:414
+#, c-format
+msgid ""
+"manifest requires WAL from initial timeline %u starting at %X/%X, but that "
+"timeline begins at %X/%X"
+msgstr ""
+"манифест требует наличия WAL с изначальной линии времени %u, начиная с "
+"позиции %X/%X, но эта линия времени начинается с %X/%X"
+
+#: backup/basebackup_incremental.c:424
+#, c-format
+msgid ""
+"manifest requires WAL from continuation timeline %u starting at %X/%X, but "
+"that timeline begins at %X/%X"
+msgstr ""
+"манифест требует наличия WAL с последующей линии времени %u, начиная с "
+"позиции %X/%X, но эта линия времени начинается с %X/%X"
+
+#: backup/basebackup_incremental.c:435
+#, c-format
+msgid ""
+"manifest requires WAL from final timeline %u ending at %X/%X, but this "
+"backup starts at %X/%X"
+msgstr ""
+"манифест требует наличия WAL с последней линии времени %u, завершающейся в "
+"%X/%X, но эта копия начинается с %X/%X"
+
+#: backup/basebackup_incremental.c:439
+#, c-format
+msgid ""
+"This can happen for incremental backups on a standby if there was little "
+"activity since the previous backup."
+msgstr ""
+"Такая ситуация возможна, когда инкрементальная копия создаётся на резервном "
+"сервере при незначительной активности после создания предыдущей копии."
+
+#: backup/basebackup_incremental.c:446
+#, c-format
+msgid ""
+"manifest requires WAL from non-final timeline %u ending at %X/%X, but this "
+"server switched timelines at %X/%X"
+msgstr ""
+"манифест требует наличия WAL с промежуточной линии времени %u, завершающейся "
+"в %X/%X, но этот сервер переключил линии времени в %X/%X"
+
+#: backup/basebackup_incremental.c:527
+#, c-format
+msgid ""
+"WAL summaries are required on timeline %u from %X/%X to %X/%X, but no "
+"summaries for that timeline and LSN range exist"
+msgstr ""
+"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но "
+"они не найдены"
+
+#: backup/basebackup_incremental.c:534
+#, c-format
+msgid ""
+"WAL summaries are required on timeline %u from %X/%X to %X/%X, but the "
+"summaries for that timeline and LSN range are incomplete"
+msgstr ""
+"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но "
+"обобщения для этой линии времени и этого диапазона LSN неполные"
+
+#: backup/basebackup_incremental.c:538
+#, c-format
+msgid "The first unsummarized LSN in this range is %X/%X."
+msgstr "Первый необобщённый LSN в этом диапазоне: %X/%X."
+
+#: backup/basebackup_incremental.c:938
+#, c-format
+msgid "backup manifest version 1 does not support incremental backup"
+msgstr ""
+"с версией 1 манифеста копии инкрементальное копирование не поддерживается"
+
+#: backup/basebackup_incremental.c:956
+#, c-format
+msgid ""
+"system identifier in backup manifest is %llu, but database system identifier "
+"is %llu"
+msgstr ""
+"в манифесте копии указан идентификатор системы: %llu, но идентификатор "
+"системы базы данных: %llu"
+
 #: backup/basebackup_lz4.c:67
 #, c-format
 msgid "lz4 compression is not supported by this build"
 msgstr "сжатие lz4 не поддерживается в данной сборке"
 
-#: backup/basebackup_server.c:75
+#: backup/basebackup_server.c:73
 #, c-format
 msgid "permission denied to create backup stored on server"
 msgstr "нет прав для создания копии, сохраняемой на сервере"
 
-#: backup/basebackup_server.c:76
+#: backup/basebackup_server.c:74
 #, c-format
 msgid ""
 "Only roles with privileges of the \"%s\" role may create a backup stored on "
@@ -4275,40 +4660,41 @@ msgstr ""
 "Создавать копии, сохраняемые на сервере, могут только роли с правами роли "
 "\"%s\"."
 
-#: backup/basebackup_server.c:91
+#: backup/basebackup_server.c:89
 #, c-format
 msgid "relative path not allowed for backup stored on server"
 msgstr ""
 "для копии, сохраняемой на стороне сервера, нельзя указывать относительный "
 "путь"
 
-#: backup/basebackup_server.c:104 commands/dbcommands.c:478
-#: commands/tablespace.c:163 commands/tablespace.c:179
-#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1731
+#: backup/basebackup_server.c:102 commands/dbcommands.c:477
+#: commands/tablespace.c:157 commands/tablespace.c:173
+#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1986
 #: storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: backup/basebackup_server.c:117
+#: backup/basebackup_server.c:115
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "каталог \"%s\" существует, но он не пуст"
 
-#: backup/basebackup_server.c:125 utils/init/postinit.c:1164
+#: backup/basebackup_server.c:123 utils/init/postinit.c:1177
 #, c-format
 msgid "could not access directory \"%s\": %m"
-msgstr "оÑ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па к каталогу \"%s\": %m"
+msgstr "оÑ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении к каталогу \"%s\": %m"
 
-#: backup/basebackup_server.c:177 backup/basebackup_server.c:184
-#: backup/basebackup_server.c:270 backup/basebackup_server.c:277
-#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593
-#: storage/smgr/md.c:615 storage/smgr/md.c:865
+#: backup/basebackup_server.c:175 backup/basebackup_server.c:182
+#: backup/basebackup_server.c:268 backup/basebackup_server.c:275
+#: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509
+#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999
 #, c-format
 msgid "Check free disk space."
 msgstr "Проверьте, есть ли место на диске."
 
-#: backup/basebackup_server.c:181 backup/basebackup_server.c:274
+#: backup/basebackup_server.c:179 backup/basebackup_server.c:272
+#: backup/walsummary.c:309
 #, c-format
 msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u"
 msgstr ""
@@ -4340,252 +4726,251 @@ msgstr "не удалось установить для zstd число пото
 msgid "could not enable long-distance mode: %s"
 msgstr "не удалось включить режим большой дистанции: %s"
 
-#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819
+#: backup/walsummaryfuncs.c:95
+#, c-format
+msgid "invalid timeline %lld"
+msgstr "неверная линия времени %lld"
+
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3922
 #, c-format
 msgid "--%s requires a value"
 msgstr "для --%s требуется значение"
 
-#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824
+#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3927
 #, c-format
 msgid "-c %s requires a value"
 msgstr "для -c %s требуется значение"
 
-#: bootstrap/bootstrap.c:289
-#, c-format
-msgid "-X requires a power of two value between 1 MB and 1 GB"
-msgstr ""
-"для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ"
-
-#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844
-#: postmaster/postmaster.c:857
+#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746
+#: postmaster/postmaster.c:759
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: bootstrap/bootstrap.c:304
+#: bootstrap/bootstrap.c:291
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: неверные аргументы командной строки\n"
 
-#: catalog/aclchk.c:201
+#: catalog/aclchk.c:210
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "право назначения прав можно давать только ролям"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:332
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:328
+#: catalog/aclchk.c:337
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:336
+#: catalog/aclchk.c:345
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr ""
 "для столбца \"%s\" отношения \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:341
+#: catalog/aclchk.c:350
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:361
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:357
+#: catalog/aclchk.c:366
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:365
+#: catalog/aclchk.c:374
 #, c-format
 msgid ""
 "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:370
+#: catalog/aclchk.c:379
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:402
+#: catalog/aclchk.c:411
 #, c-format
 msgid "grantor must be current user"
 msgstr "праводателем должен быть текущий пользователь"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:1045
+#: catalog/aclchk.c:479 catalog/aclchk.c:1054
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "право %s неприменимо для отношений"
 
-#: catalog/aclchk.c:474 catalog/aclchk.c:1049
+#: catalog/aclchk.c:483 catalog/aclchk.c:1058
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "право %s неприменимо для последовательностей"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:487
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "право %s неприменимо для баз данных"
 
-#: catalog/aclchk.c:482
+#: catalog/aclchk.c:491
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "право %s неприменимо для домена"
 
-#: catalog/aclchk.c:486 catalog/aclchk.c:1053
+#: catalog/aclchk.c:495 catalog/aclchk.c:1062
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "право %s неприменимо для функций"
 
-#: catalog/aclchk.c:490
+#: catalog/aclchk.c:499
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "право %s неприменимо для языков"
 
-#: catalog/aclchk.c:494
+#: catalog/aclchk.c:503
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "право %s неприменимо для больших объектов"
 
-#: catalog/aclchk.c:498 catalog/aclchk.c:1069
+#: catalog/aclchk.c:507 catalog/aclchk.c:1078
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "право %s неприменимо для схем"
 
-#: catalog/aclchk.c:502 catalog/aclchk.c:1057
+#: catalog/aclchk.c:511 catalog/aclchk.c:1066
 #, c-format
 msgid "invalid privilege type %s for procedure"
 msgstr "право %s неприменимо для процедур"
 
-#: catalog/aclchk.c:506 catalog/aclchk.c:1061
+#: catalog/aclchk.c:515 catalog/aclchk.c:1070
 #, c-format
 msgid "invalid privilege type %s for routine"
 msgstr "право %s неприменимо для подпрограмм"
 
-#: catalog/aclchk.c:510
+#: catalog/aclchk.c:519
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "право %s неприменимо для табличных пространств"
 
-#: catalog/aclchk.c:514 catalog/aclchk.c:1065
+#: catalog/aclchk.c:523 catalog/aclchk.c:1074
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "право %s неприменимо для типа"
 
-#: catalog/aclchk.c:518
+#: catalog/aclchk.c:527
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "право %s неприменимо для обёрток сторонних данных"
 
-#: catalog/aclchk.c:522
+#: catalog/aclchk.c:531
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "право %s неприменимо для сторонних серверов"
 
-#: catalog/aclchk.c:526
+#: catalog/aclchk.c:535
 #, c-format
 msgid "invalid privilege type %s for parameter"
 msgstr "неверный тип прав %s для параметра"
 
-#: catalog/aclchk.c:565
+#: catalog/aclchk.c:574
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "права для столбцов применимы только к отношениям"
 
-#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092
-#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:286
+#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054
+#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285
 #, c-format
 msgid "large object %u does not exist"
 msgstr "большой объект %u не существует"
 
-#: catalog/aclchk.c:1102
+#: catalog/aclchk.c:1111
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "права по умолчанию нельзя определить для столбцов"
 
-#: catalog/aclchk.c:1138
+#: catalog/aclchk.c:1147
 #, c-format
 msgid "permission denied to change default privileges"
 msgstr "нет полномочий для изменения прав доступа по умолчанию"
 
-#: catalog/aclchk.c:1256
+#: catalog/aclchk.c:1265
 #, c-format
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "предложение IN SCHEMA нельзя использовать в GRANT/REVOKE ON SCHEMAS"
 
-#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561
-#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837
-#: commands/sequence.c:1663 commands/tablecmds.c:7342 commands/tablecmds.c:7498
-#: commands/tablecmds.c:7548 commands/tablecmds.c:7622
-#: commands/tablecmds.c:7692 commands/tablecmds.c:7808
-#: commands/tablecmds.c:7902 commands/tablecmds.c:7961
-#: commands/tablecmds.c:8050 commands/tablecmds.c:8080
-#: commands/tablecmds.c:8208 commands/tablecmds.c:8290
-#: commands/tablecmds.c:8424 commands/tablecmds.c:8536
-#: commands/tablecmds.c:12261 commands/tablecmds.c:12442
-#: commands/tablecmds.c:12603 commands/tablecmds.c:13798
-#: commands/tablecmds.c:16329 commands/trigger.c:949 parser/analyze.c:2529
-#: parser/parse_relation.c:737 parser/parse_target.c:1068
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3422
-#: parser/parse_utilcmd.c:3458 parser/parse_utilcmd.c:3500 utils/adt/acl.c:2876
-#: utils/adt/ruleutils.c:2797
+#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523
+#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:947
+#: commands/sequence.c:1652 commands/tablecmds.c:7518 commands/tablecmds.c:7672
+#: commands/tablecmds.c:7722 commands/tablecmds.c:7796
+#: commands/tablecmds.c:7866 commands/tablecmds.c:7996
+#: commands/tablecmds.c:8125 commands/tablecmds.c:8219
+#: commands/tablecmds.c:8320 commands/tablecmds.c:8447
+#: commands/tablecmds.c:8477 commands/tablecmds.c:8619
+#: commands/tablecmds.c:8712 commands/tablecmds.c:8846
+#: commands/tablecmds.c:8958 commands/tablecmds.c:12695
+#: commands/tablecmds.c:12887 commands/tablecmds.c:13048
+#: commands/tablecmds.c:14237 commands/tablecmds.c:16863 commands/trigger.c:942
+#: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3381
+#: parser/parse_utilcmd.c:3421 parser/parse_utilcmd.c:3463 utils/adt/acl.c:2923
+#: utils/adt/ruleutils.c:2807
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "столбец \"%s\" в таблице \"%s\" не существует"
 
-#: catalog/aclchk.c:1840
+#: catalog/aclchk.c:1861
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" - это индекс"
 
-#: catalog/aclchk.c:1847 commands/tablecmds.c:13955 commands/tablecmds.c:17231
+#: catalog/aclchk.c:1868 commands/tablecmds.c:14394 commands/tablecmds.c:17772
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" - это составной тип"
 
-#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171
-#: commands/tablecmds.c:254 commands/tablecmds.c:17195 utils/adt/acl.c:2084
-#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178
-#: utils/adt/acl.c:2206 utils/adt/acl.c:2236
+#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263
+#: commands/tablecmds.c:17736 utils/adt/acl.c:2107 utils/adt/acl.c:2137
+#: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237
+#: utils/adt/acl.c:2268
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" - это не последовательность"
 
-#: catalog/aclchk.c:1893
+#: catalog/aclchk.c:1914
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr ""
 "для последовательности \"%s\" применимы только права USAGE, SELECT и UPDATE"
 
-#: catalog/aclchk.c:1910
+#: catalog/aclchk.c:1931
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "право %s неприменимо для таблиц"
 
-#: catalog/aclchk.c:2072
+#: catalog/aclchk.c:2093
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "право %s неприменимо для столбцов"
 
-#: catalog/aclchk.c:2085
+#: catalog/aclchk.c:2106
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "для последовательности \"%s\" применимо только право SELECT"
 
 # TO REVIEW
-#: catalog/aclchk.c:2275
+#: catalog/aclchk.c:2296
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "язык \"%s\" не является доверенным"
 
-#: catalog/aclchk.c:2277
+#: catalog/aclchk.c:2298
 #, c-format
 msgid ""
 "GRANT and REVOKE are not allowed on untrusted languages, because only "
@@ -4594,400 +4979,411 @@ msgstr ""
 "GRANT и REVOKE не допускаются для недоверенных языков, так как использовать "
 "такие языки могут только суперпользователи."
 
-#: catalog/aclchk.c:2427
+#: catalog/aclchk.c:2449
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "для типов массивов нельзя определить права"
 
-#: catalog/aclchk.c:2428
+#: catalog/aclchk.c:2450
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Вместо этого установите права для типа элемента."
 
-#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667
+#: catalog/aclchk.c:2454
+#, c-format
+msgid "cannot set privileges of multirange types"
+msgstr "для мультидиапазонных типов нельзя определить права"
+
+#: catalog/aclchk.c:2455
+#, c-format
+msgid "Set the privileges of the range type instead."
+msgstr "Вместо этого установите права для диапазонного типа."
+
+#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: catalog/aclchk.c:2619
+#: catalog/aclchk.c:2648
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "нераспознанное право: \"%s\""
 
-#: catalog/aclchk.c:2684
+#: catalog/aclchk.c:2715
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "нет доступа к агрегату %s"
 
-#: catalog/aclchk.c:2687
+#: catalog/aclchk.c:2718
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "нет доступа к правилу сортировки %s"
 
-#: catalog/aclchk.c:2690
+#: catalog/aclchk.c:2721
 #, c-format
 msgid "permission denied for column %s"
 msgstr "нет доступа к столбцу %s"
 
-#: catalog/aclchk.c:2693
+#: catalog/aclchk.c:2724
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "нет доступа к преобразованию %s"
 
-#: catalog/aclchk.c:2696
+#: catalog/aclchk.c:2727
 #, c-format
 msgid "permission denied for database %s"
 msgstr "нет доступа к базе данных %s"
 
-#: catalog/aclchk.c:2699
+#: catalog/aclchk.c:2730
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "нет доступа к домену %s"
 
-#: catalog/aclchk.c:2702
+#: catalog/aclchk.c:2733
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "нет доступа к событийному триггеру %s"
 
-#: catalog/aclchk.c:2705
+#: catalog/aclchk.c:2736
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "нет доступа к расширению %s"
 
-#: catalog/aclchk.c:2708
+#: catalog/aclchk.c:2739
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "нет доступа к обёртке сторонних данных %s"
 
-#: catalog/aclchk.c:2711
+#: catalog/aclchk.c:2742
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "нет доступа к стороннему серверу %s"
 
-#: catalog/aclchk.c:2714
+#: catalog/aclchk.c:2745
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "нет доступа к сторонней таблице %s"
 
-#: catalog/aclchk.c:2717
+#: catalog/aclchk.c:2748
 #, c-format
 msgid "permission denied for function %s"
 msgstr "нет доступа к функции %s"
 
-#: catalog/aclchk.c:2720
+#: catalog/aclchk.c:2751
 #, c-format
 msgid "permission denied for index %s"
 msgstr "нет доступа к индексу %s"
 
-#: catalog/aclchk.c:2723
+#: catalog/aclchk.c:2754
 #, c-format
 msgid "permission denied for language %s"
 msgstr "нет доступа к языку %s"
 
-#: catalog/aclchk.c:2726
+#: catalog/aclchk.c:2757
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "нет доступа к большому объекту %s"
 
-#: catalog/aclchk.c:2729
+#: catalog/aclchk.c:2760
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "нет доступа к материализованному представлению %s"
 
-#: catalog/aclchk.c:2732
+#: catalog/aclchk.c:2763
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "нет доступа к классу операторов %s"
 
-#: catalog/aclchk.c:2735
+#: catalog/aclchk.c:2766
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "нет доступа к оператору %s"
 
-#: catalog/aclchk.c:2738
+#: catalog/aclchk.c:2769
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "нет доступа к семейству операторов %s"
 
-#: catalog/aclchk.c:2741
+#: catalog/aclchk.c:2772
 #, c-format
 msgid "permission denied for parameter %s"
 msgstr "нет доступа к параметру %s"
 
-#: catalog/aclchk.c:2744
+#: catalog/aclchk.c:2775
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "нет доступа к политике %s"
 
-#: catalog/aclchk.c:2747
+#: catalog/aclchk.c:2778
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "нет доступа к процедуре %s"
 
-#: catalog/aclchk.c:2750
+#: catalog/aclchk.c:2781
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "нет доступа к публикации %s"
 
-#: catalog/aclchk.c:2753
+#: catalog/aclchk.c:2784
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "нет доступа к подпрограмме %s"
 
-#: catalog/aclchk.c:2756
+#: catalog/aclchk.c:2787
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "нет доступа к схеме %s"
 
-#: catalog/aclchk.c:2759 commands/sequence.c:659 commands/sequence.c:885
-#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761
-#: commands/sequence.c:1810
+#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880
+#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1750
+#: commands/sequence.c:1796
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "нет доступа к последовательности %s"
 
-#: catalog/aclchk.c:2762
+#: catalog/aclchk.c:2793
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "нет доступа к объекту статистики %s"
 
-#: catalog/aclchk.c:2765
+#: catalog/aclchk.c:2796
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "нет доступа к подписке %s"
 
-#: catalog/aclchk.c:2768
+#: catalog/aclchk.c:2799
 #, c-format
 msgid "permission denied for table %s"
 msgstr "нет доступа к таблице %s"
 
-#: catalog/aclchk.c:2771
+#: catalog/aclchk.c:2802
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "нет доступа к табличному пространству %s"
 
-#: catalog/aclchk.c:2774
+#: catalog/aclchk.c:2805
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "нет доступа к конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:2777
+#: catalog/aclchk.c:2808
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "нет доступа к словарю текстового поиска %s"
 
-#: catalog/aclchk.c:2780
+#: catalog/aclchk.c:2811
 #, c-format
 msgid "permission denied for type %s"
 msgstr "нет доступа к типу %s"
 
-#: catalog/aclchk.c:2783
+#: catalog/aclchk.c:2814
 #, c-format
 msgid "permission denied for view %s"
 msgstr "нет доступа к представлению %s"
 
-#: catalog/aclchk.c:2819
+#: catalog/aclchk.c:2850
 #, c-format
 msgid "must be owner of aggregate %s"
 msgstr "нужно быть владельцем агрегата %s"
 
-#: catalog/aclchk.c:2822
+#: catalog/aclchk.c:2853
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "нужно быть владельцем правила сортировки %s"
 
-#: catalog/aclchk.c:2825
+#: catalog/aclchk.c:2856
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "нужно быть владельцем преобразования %s"
 
-#: catalog/aclchk.c:2828
+#: catalog/aclchk.c:2859
 #, c-format
 msgid "must be owner of database %s"
 msgstr "нужно быть владельцем базы %s"
 
-#: catalog/aclchk.c:2831
+#: catalog/aclchk.c:2862
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "нужно быть владельцем домена %s"
 
-#: catalog/aclchk.c:2834
+#: catalog/aclchk.c:2865
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "нужно быть владельцем событийного триггера %s"
 
-#: catalog/aclchk.c:2837
+#: catalog/aclchk.c:2868
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "нужно быть владельцем расширения %s"
 
-#: catalog/aclchk.c:2840
+#: catalog/aclchk.c:2871
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "нужно быть владельцем обёртки сторонних данных %s"
 
-#: catalog/aclchk.c:2843
+#: catalog/aclchk.c:2874
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "нужно быть \"владельцем\" стороннего сервера %s"
 
-#: catalog/aclchk.c:2846
+#: catalog/aclchk.c:2877
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "нужно быть владельцем сторонней таблицы %s"
 
-#: catalog/aclchk.c:2849
+#: catalog/aclchk.c:2880
 #, c-format
 msgid "must be owner of function %s"
 msgstr "нужно быть владельцем функции %s"
 
-#: catalog/aclchk.c:2852
+#: catalog/aclchk.c:2883
 #, c-format
 msgid "must be owner of index %s"
 msgstr "нужно быть владельцем индекса %s"
 
-#: catalog/aclchk.c:2855
+#: catalog/aclchk.c:2886
 #, c-format
 msgid "must be owner of language %s"
 msgstr "нужно быть владельцем языка %s"
 
-#: catalog/aclchk.c:2858
+#: catalog/aclchk.c:2889
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "нужно быть владельцем большого объекта %s"
 
-#: catalog/aclchk.c:2861
+#: catalog/aclchk.c:2892
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "нужно быть владельцем материализованного представления %s"
 
-#: catalog/aclchk.c:2864
+#: catalog/aclchk.c:2895
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "нужно быть владельцем класса операторов %s"
 
-#: catalog/aclchk.c:2867
+#: catalog/aclchk.c:2898
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "нужно быть владельцем оператора %s"
 
-#: catalog/aclchk.c:2870
+#: catalog/aclchk.c:2901
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "нужно быть владельцем семейства операторов %s"
 
-#: catalog/aclchk.c:2873
+#: catalog/aclchk.c:2904
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "нужно быть владельцем процедуры %s"
 
-#: catalog/aclchk.c:2876
+#: catalog/aclchk.c:2907
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "нужно быть владельцем публикации %s"
 
-#: catalog/aclchk.c:2879
+#: catalog/aclchk.c:2910
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "нужно быть владельцем подпрограммы %s"
 
-#: catalog/aclchk.c:2882
+#: catalog/aclchk.c:2913
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "нужно быть владельцем последовательности %s"
 
-#: catalog/aclchk.c:2885
+#: catalog/aclchk.c:2916
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "нужно быть владельцем подписки %s"
 
-#: catalog/aclchk.c:2888
+#: catalog/aclchk.c:2919
 #, c-format
 msgid "must be owner of table %s"
 msgstr "нужно быть владельцем таблицы %s"
 
-#: catalog/aclchk.c:2891
+#: catalog/aclchk.c:2922
 #, c-format
 msgid "must be owner of type %s"
 msgstr "нужно быть владельцем типа %s"
 
-#: catalog/aclchk.c:2894
+#: catalog/aclchk.c:2925
 #, c-format
 msgid "must be owner of view %s"
 msgstr "нужно быть владельцем представления %s"
 
-#: catalog/aclchk.c:2897
+#: catalog/aclchk.c:2928
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "нужно быть владельцем схемы %s"
 
-#: catalog/aclchk.c:2900
+#: catalog/aclchk.c:2931
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "нужно быть владельцем объекта статистики %s"
 
-#: catalog/aclchk.c:2903
+#: catalog/aclchk.c:2934
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "нужно быть владельцем табличного пространства %s"
 
-#: catalog/aclchk.c:2906
+#: catalog/aclchk.c:2937
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "нужно быть владельцем конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:2909
+#: catalog/aclchk.c:2940
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "нужно быть владельцем словаря текстового поиска %s"
 
-#: catalog/aclchk.c:2923
+#: catalog/aclchk.c:2954
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "нужно быть владельцем отношения %s"
 
-#: catalog/aclchk.c:2969
+#: catalog/aclchk.c:3000
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "нет доступа к столбцу \"%s\" отношения \"%s\""
 
-#: catalog/aclchk.c:3104 catalog/aclchk.c:3984 catalog/aclchk.c:4015
+#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196
 #, c-format
 msgid "%s with OID %u does not exist"
 msgstr "%s с OID %u не существует"
 
-#: catalog/aclchk.c:3188 catalog/aclchk.c:3207
+#: catalog/aclchk.c:3240 catalog/aclchk.c:3259
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "атрибут %d отношения с OID %u не существует"
 
-#: catalog/aclchk.c:3302
+#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "отношение с OID %u не существует"
 
-#: catalog/aclchk.c:3476
+#: catalog/aclchk.c:3545
 #, c-format
 msgid "parameter ACL with OID %u does not exist"
 msgstr "ACL параметра с OID %u не существует"
 
-#: catalog/aclchk.c:3640 commands/collationcmds.c:813
-#: commands/publicationcmds.c:1746
+#: catalog/aclchk.c:3718 commands/collationcmds.c:853
+#: commands/publicationcmds.c:1739
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "схема с OID %u не существует"
 
-#: catalog/aclchk.c:3705 utils/cache/typcache.c:390 utils/cache/typcache.c:445
+#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848
+#: utils/cache/typcache.c:392 utils/cache/typcache.c:447
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "тип с OID %u не существует"
 
-#: catalog/catalog.c:449
+#: catalog/catalog.c:468
 #, c-format
 msgid "still searching for an unused OID in relation \"%s\""
 msgstr "продолжается поиск неиспользованного OID в отношении \"%s\""
 
-#: catalog/catalog.c:451
+#: catalog/catalog.c:470
 #, c-format
 msgid ""
 "OID candidates have been checked %llu time, but no unused OID has been found "
@@ -5005,7 +5401,7 @@ msgstr[2] ""
 "Потенциальные OID были проверены %llu раз, но неиспользуемые OID ещё не были "
 "найдены."
 
-#: catalog/catalog.c:476
+#: catalog/catalog.c:495
 #, c-format
 msgid "new OID has been assigned in relation \"%s\" after %llu retry"
 msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries"
@@ -5013,57 +5409,57 @@ msgstr[0] "новый OID был назначен в отношении \"%s\" 
 msgstr[1] "новый OID был назначен в отношении \"%s\" после %llu попыток"
 msgstr[2] "новый OID был назначен в отношении \"%s\" после %llu попыток"
 
-#: catalog/catalog.c:609 catalog/catalog.c:676
+#: catalog/catalog.c:628 catalog/catalog.c:695
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "вызывать %s() может только суперпользователь"
 
-#: catalog/catalog.c:618
+#: catalog/catalog.c:637
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() можно использовать только для системных каталогов"
 
-#: catalog/catalog.c:623 parser/parse_utilcmd.c:2273
+#: catalog/catalog.c:642 parser/parse_utilcmd.c:2242
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "индекс \"%s\" не принадлежит таблице \"%s\""
 
-#: catalog/catalog.c:640
+#: catalog/catalog.c:659
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "столбец \"%s\" имеет тип не oid"
 
-#: catalog/catalog.c:647
+#: catalog/catalog.c:666
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "индекс \"%s\" не является индексом столбца \"%s\""
 
-#: catalog/dependency.c:553 catalog/pg_shdepend.c:658
+#: catalog/dependency.c:497 catalog/pg_shdepend.c:703
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "удалить объект %s нельзя, так как он нужен системе баз данных"
 
-#: catalog/dependency.c:845 catalog/dependency.c:1072
+#: catalog/dependency.c:789 catalog/dependency.c:1016
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "удалить объект %s нельзя, так как он нужен объекту %s"
 
-#: catalog/dependency.c:847 catalog/dependency.c:1074
+#: catalog/dependency.c:791 catalog/dependency.c:1018
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Однако можно удалить %s."
 
-#: catalog/dependency.c:1153 catalog/dependency.c:1162
+#: catalog/dependency.c:1097 catalog/dependency.c:1106
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s зависит от объекта %s"
 
-#: catalog/dependency.c:1177 catalog/dependency.c:1186
+#: catalog/dependency.c:1121 catalog/dependency.c:1130
 #, c-format
 msgid "drop cascades to %s"
 msgstr "удаление распространяется на объект %s"
 
-#: catalog/dependency.c:1194 catalog/pg_shdepend.c:823
+#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868
 #, c-format
 msgid ""
 "\n"
@@ -5081,36 +5477,37 @@ msgstr[2] ""
 "\n"
 "и ещё %d объектов (см. список в протоколе сервера)"
 
-#: catalog/dependency.c:1206
+#: catalog/dependency.c:1150
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "удалить объект %s нельзя, так как от него зависят другие объекты"
 
-#: catalog/dependency.c:1209 catalog/dependency.c:1216
-#: catalog/dependency.c:1227 commands/tablecmds.c:1331
-#: commands/tablecmds.c:14442 commands/tablespace.c:466 commands/user.c:1303
-#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326
-#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017
-#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1366 utils/misc/guc.c:3122
-#: utils/misc/guc.c:3158 utils/misc/guc.c:3228 utils/misc/guc.c:6632
-#: utils/misc/guc.c:6666 utils/misc/guc.c:6700 utils/misc/guc.c:6743
-#: utils/misc/guc.c:6785
+#: catalog/dependency.c:1153 catalog/dependency.c:1160
+#: catalog/dependency.c:1171 commands/tablecmds.c:1442
+#: commands/tablecmds.c:14986 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4641
+#: executor/execExprInterp.c:4649 libpq/auth.c:324
+#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
+#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169
+#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790
+#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901
+#: utils/misc/guc.c:6943
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:1210 catalog/dependency.c:1217
+#: catalog/dependency.c:1154 catalog/dependency.c:1161
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Для удаления зависимых объектов используйте DROP ... CASCADE."
 
-#: catalog/dependency.c:1214
+#: catalog/dependency.c:1158
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr ""
 "удалить запрошенные объекты нельзя, так как от них зависят другие объекты"
 
-#: catalog/dependency.c:1222
+#: catalog/dependency.c:1166
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
@@ -5118,61 +5515,61 @@ msgstr[0] "удаление распространяется на ещё %d об
 msgstr[1] "удаление распространяется на ещё %d объекта"
 msgstr[2] "удаление распространяется на ещё %d объектов"
 
-#: catalog/dependency.c:1906
+#: catalog/dependency.c:1850
 #, c-format
 msgid "constant of the type %s cannot be used here"
 msgstr "константу типа %s здесь использовать нельзя"
 
-#: catalog/dependency.c:2431 parser/parse_relation.c:3413
-#: parser/parse_relation.c:3423
+#: catalog/dependency.c:2375 parser/parse_relation.c:3407
+#: parser/parse_relation.c:3417
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "столбец %d отношения \"%s\" не существует"
 
-#: catalog/heap.c:324
+#: catalog/heap.c:325
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "нет прав для создания отношения \"%s.%s\""
 
-#: catalog/heap.c:326
+#: catalog/heap.c:327
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Изменение системного каталога в текущем состоянии запрещено."
 
-#: catalog/heap.c:466 commands/tablecmds.c:2370 commands/tablecmds.c:3043
-#: commands/tablecmds.c:6925
+#: catalog/heap.c:467 commands/tablecmds.c:2478 commands/tablecmds.c:2900
+#: commands/tablecmds.c:7140
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "максимальное число столбцов в таблице: %d"
 
-#: catalog/heap.c:484 commands/tablecmds.c:7232
+#: catalog/heap.c:485 commands/tablecmds.c:7409
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "имя столбца \"%s\" конфликтует с системным столбцом"
 
-#: catalog/heap.c:500
+#: catalog/heap.c:501
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "имя столбца \"%s\" указано неоднократно"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:578
+#: catalog/heap.c:579
 #, c-format
 msgid "partition key column %s has pseudo-type %s"
 msgstr "столбец \"%s\" ключа разбиения имеет псевдотип %s"
 
-#: catalog/heap.c:583
+#: catalog/heap.c:584
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "столбец \"%s\" имеет псевдотип %s"
 
-#: catalog/heap.c:614
+#: catalog/heap.c:615
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "составной тип %s не может содержать себя же"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:669
+#: catalog/heap.c:670
 #, c-format
 msgid ""
 "no collation was derived for partition key column %s with collatable type %s"
@@ -5180,28 +5577,28 @@ msgstr ""
 "для входящего в ключ разбиения столбца \"%s\" с сортируемым типом %s не "
 "удалось получить правило сортировки"
 
-#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512
+#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr ""
 "для столбца \"%s\" с сортируемым типом %s не удалось получить правило "
 "сортировки"
 
-#: catalog/heap.c:1151 catalog/index.c:887 commands/createas.c:408
-#: commands/tablecmds.c:3983
+#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401
+#: commands/tablecmds.c:4149
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "отношение \"%s\" уже существует"
 
-#: catalog/heap.c:1167 catalog/pg_type.c:434 catalog/pg_type.c:782
-#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261
-#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395
-#: commands/typecmds.c:1575 commands/typecmds.c:2546
+#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805
+#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265
+#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405
+#: commands/typecmds.c:1585 commands/typecmds.c:2556
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "тип \"%s\" уже существует"
 
-#: catalog/heap.c:1168
+#: catalog/heap.c:1178
 #, c-format
 msgid ""
 "A relation has an associated type of the same name, so you must use a name "
@@ -5210,54 +5607,54 @@ msgstr ""
 "С отношением уже связан тип с таким же именем; выберите имя, не "
 "конфликтующее с существующими типами."
 
-#: catalog/heap.c:1208
+#: catalog/heap.c:1218
 #, c-format
 msgid "toast relfilenumber value not set when in binary upgrade mode"
 msgstr ""
 "значение relfilenumber для TOAST не задано в режиме двоичного обновления"
 
-#: catalog/heap.c:1219
+#: catalog/heap.c:1229
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновления"
 
-#: catalog/heap.c:1229
+#: catalog/heap.c:1239
 #, c-format
 msgid "relfilenumber value not set when in binary upgrade mode"
 msgstr "значение relfilenumber не задано в режиме двоичного обновления"
 
-#: catalog/heap.c:2122
+#: catalog/heap.c:2128
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr ""
 "добавить ограничение NO INHERIT к секционированной таблице \"%s\" нельзя"
 
-#: catalog/heap.c:2397
+#: catalog/heap.c:2400
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "ограничение-проверка \"%s\" уже существует"
 
-#: catalog/heap.c:2567 catalog/index.c:901 catalog/pg_constraint.c:682
-#: commands/tablecmds.c:8911
+#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724
+#: commands/tablecmds.c:9333
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "ограничение \"%s\" для отношения \"%s\" уже существует"
 
-#: catalog/heap.c:2574
+#: catalog/heap.c:2579
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\""
 
-#: catalog/heap.c:2585
+#: catalog/heap.c:2590
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr ""
 "ограничение \"%s\" конфликтует с наследуемым ограничением таблицы \"%s\""
 
-#: catalog/heap.c:2595
+#: catalog/heap.c:2600
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
@@ -5265,71 +5662,71 @@ msgstr ""
 "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением "
 "таблицы \"%s\""
 
-#: catalog/heap.c:2600
+#: catalog/heap.c:2605
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "слияние ограничения \"%s\" с унаследованным определением"
 
-#: catalog/heap.c:2626 catalog/pg_constraint.c:811 commands/tablecmds.c:2668
-#: commands/tablecmds.c:3195 commands/tablecmds.c:6857
-#: commands/tablecmds.c:15264 commands/tablecmds.c:15405
+#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3057
+#: commands/tablecmds.c:3360 commands/tablecmds.c:7066
+#: commands/tablecmds.c:15804 commands/tablecmds.c:15935
 #, c-format
 msgid "too many inheritance parents"
 msgstr "слишком много родителей в иерархии наследования"
 
-#: catalog/heap.c:2710
+#: catalog/heap.c:2715
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr ""
 "использовать генерируемый столбец \"%s\" в выражении генерируемого столбца "
 "нельзя"
 
-#: catalog/heap.c:2712
+#: catalog/heap.c:2717
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr ""
 "Генерируемый столбец не может ссылаться на другой генерируемый столбец."
 
-#: catalog/heap.c:2718
+#: catalog/heap.c:2723
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr ""
 "в выражении генерируемого столбца нельзя использовать переменные «вся строка»"
 
-#: catalog/heap.c:2719
+#: catalog/heap.c:2724
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr ""
 "Это сделало бы генерируемый столбец зависимым от собственного значения."
 
-#: catalog/heap.c:2774
+#: catalog/heap.c:2779
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "генерирующее выражение не является постоянным"
 
-#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1297
+#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1282
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "столбец \"%s\" имеет тип %s, но тип выражения по умолчанию %s"
 
-#: catalog/heap.c:2807 commands/prepare.c:334 parser/analyze.c:2753
-#: parser/parse_target.c:593 parser/parse_target.c:883
-#: parser/parse_target.c:893 rewrite/rewriteHandler.c:1302
+#: catalog/heap.c:2812 commands/prepare.c:331 parser/analyze.c:2758
+#: parser/parse_target.c:592 parser/parse_target.c:882
+#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1287
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Перепишите выражение или преобразуйте его тип."
 
-#: catalog/heap.c:2854
+#: catalog/heap.c:2859
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\""
 
-#: catalog/heap.c:3160
+#: catalog/heap.c:3165
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT"
 
-#: catalog/heap.c:3161
+#: catalog/heap.c:3166
 #, c-format
 msgid ""
 "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
@@ -5337,501 +5734,501 @@ msgid ""
 msgstr ""
 "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT."
 
-#: catalog/heap.c:3166
+#: catalog/heap.c:3171
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя"
 
-#: catalog/heap.c:3167
+#: catalog/heap.c:3172
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Таблица \"%s\" ссылается на \"%s\"."
 
-#: catalog/heap.c:3169
+#: catalog/heap.c:3174
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr ""
 "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE."
 
-#: catalog/index.c:225 parser/parse_utilcmd.c:2179
+#: catalog/index.c:219 parser/parse_utilcmd.c:2148
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "таблица \"%s\" не может иметь несколько первичных ключей"
 
-#: catalog/index.c:239
+#: catalog/index.c:233
 #, c-format
 msgid "primary keys cannot use NULLS NOT DISTINCT indexes"
 msgstr "для первичных ключей нельзя использовать индексы с NULLS NOT DISTINCT"
 
-#: catalog/index.c:256
+#: catalog/index.c:250
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "первичные ключи не могут быть выражениями"
 
-#: catalog/index.c:273
+#: catalog/index.c:267
 #, c-format
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "столбец первичного ключа \"%s\" не помечен как NOT NULL"
 
-#: catalog/index.c:786 catalog/index.c:1942
+#: catalog/index.c:798 catalog/index.c:1915
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr ""
 "пользовательские индексы в таблицах системного каталога не поддерживаются"
 
-#: catalog/index.c:826
+#: catalog/index.c:838
 #, c-format
 msgid "nondeterministic collations are not supported for operator class \"%s\""
 msgstr ""
 "недетерминированные правила сортировки не поддерживаются для класса "
 "операторов \"%s\""
 
-#: catalog/index.c:841
+#: catalog/index.c:853
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "параллельное создание индекса в таблицах системного каталога не "
 "поддерживается"
 
-#: catalog/index.c:850 catalog/index.c:1318
+#: catalog/index.c:862 catalog/index.c:1331
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr ""
 "параллельное создание индекса для ограничений-исключений не поддерживается"
 
-#: catalog/index.c:859
+#: catalog/index.c:871
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "нельзя создать разделяемые индексы после initdb"
 
-#: catalog/index.c:879 commands/createas.c:423 commands/sequence.c:158
+#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
 #: parser/parse_utilcmd.c:209
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "отношение \"%s\" уже существует, пропускается"
 
-#: catalog/index.c:929
+#: catalog/index.c:941
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr ""
 "значение OID индекса в pg_class не задано в режиме двоичного обновления"
 
-#: catalog/index.c:939 utils/cache/relcache.c:3731
+#: catalog/index.c:951 utils/cache/relcache.c:3790
 #, c-format
 msgid "index relfilenumber value not set when in binary upgrade mode"
 msgstr ""
 "значение relfilenumber для индекса не задано в режиме двоичного обновления"
 
-#: catalog/index.c:2241
+#: catalog/index.c:2214
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции"
 
-#: catalog/index.c:3675
+#: catalog/index.c:3670
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "переиндексировать временные таблицы других сеансов нельзя"
 
-#: catalog/index.c:3686 commands/indexcmds.c:3607
+#: catalog/index.c:3681 commands/indexcmds.c:3652
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "перестроить нерабочий индекс в таблице TOAST нельзя"
 
-#: catalog/index.c:3702 commands/indexcmds.c:3487 commands/indexcmds.c:3631
-#: commands/tablecmds.c:3398
+#: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676
+#: commands/tablecmds.c:3564
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "переместить системную таблицу \"%s\" нельзя"
 
-#: catalog/index.c:3846
+#: catalog/index.c:3834
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "индекс \"%s\" был перестроен"
 
-#: catalog/index.c:3983
+#: catalog/index.c:4000
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr ""
 "перестроить нерабочий индекс \"%s.%s\" в таблице TOAST нельзя, он "
 "пропускается"
 
-#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556
-#: commands/trigger.c:5736
+#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743
+#: commands/trigger.c:5731
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "ссылки между базами не реализованы: \"%s.%s.%s\""
 
-#: catalog/namespace.c:317
+#: catalog/namespace.c:504
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "для временных таблиц имя схемы не указывается"
 
-#: catalog/namespace.c:398
+#: catalog/namespace.c:585
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "не удалось получить блокировку таблицы \"%s.%s\""
 
-#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224
+#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "не удалось получить блокировку таблицы \"%s\""
 
-#: catalog/namespace.c:431 parser/parse_relation.c:1430
+#: catalog/namespace.c:618 parser/parse_relation.c:1430
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "отношение \"%s.%s\" не существует"
 
-#: catalog/namespace.c:436 parser/parse_relation.c:1443
+#: catalog/namespace.c:623 parser/parse_relation.c:1443
 #: parser/parse_relation.c:1451 utils/adt/regproc.c:913
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1611
-#: commands/extension.c:1617
+#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607
+#: commands/extension.c:1613
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "схема для создания объектов не выбрана"
 
-#: catalog/namespace.c:654 catalog/namespace.c:667
+#: catalog/namespace.c:841 catalog/namespace.c:854
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "во временных схемах других сеансов нельзя создавать отношения"
 
-#: catalog/namespace.c:658
+#: catalog/namespace.c:845
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "создавать временные отношения можно только во временных схемах"
 
-#: catalog/namespace.c:673
+#: catalog/namespace.c:860
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "во временных схемах можно создавать только временные отношения"
 
-#: catalog/namespace.c:2265
+#: catalog/namespace.c:2604
 #, c-format
 msgid "statistics object \"%s\" does not exist"
 msgstr "объект статистики \"%s\" не существует"
 
-#: catalog/namespace.c:2388
+#: catalog/namespace.c:2746
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "анализатор текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2514 utils/adt/regproc.c:1439
+#: catalog/namespace.c:2891 utils/adt/regproc.c:1459
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "словарь текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2641
+#: catalog/namespace.c:3037
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "шаблон текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168
-#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635
+#: catalog/namespace.c:3182 commands/tsearchcmds.c:1168
+#: utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "конфигурация текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1260
+#: catalog/namespace.c:3314 parser/parse_expr.c:868 parser/parse_target.c:1259
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
-#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1267
-#: gram.y:18569 gram.y:18609
+#: catalog/namespace.c:3320 parser/parse_expr.c:875 parser/parse_target.c:1266
+#: gram.y:19174 gram.y:19214
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: catalog/namespace.c:3016
+#: catalog/namespace.c:3450
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "перемещать объекты в/из внутренних схем нельзя"
 
-#: catalog/namespace.c:3022
+#: catalog/namespace.c:3456
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "перемещать объекты в/из схем TOAST нельзя"
 
-#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344
-#: commands/tablecmds.c:1276 utils/adt/regproc.c:1668
+#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344
+#: commands/tablecmds.c:1387 utils/adt/regproc.c:1688
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "схема \"%s\" не существует"
 
-#: catalog/namespace.c:3126
+#: catalog/namespace.c:3560
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: catalog/namespace.c:3693 utils/adt/regproc.c:1056
+#: catalog/namespace.c:4001 utils/adt/regproc.c:1056
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует"
 
-#: catalog/namespace.c:3748
+#: catalog/namespace.c:4056
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "преобразование \"%s\" не существует"
 
-#: catalog/namespace.c:4012
+#: catalog/namespace.c:4397
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "нет прав для создания временных таблиц в базе \"%s\""
 
-#: catalog/namespace.c:4028
+#: catalog/namespace.c:4413
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "создавать временные таблицы в процессе восстановления нельзя"
 
-#: catalog/namespace.c:4034
+#: catalog/namespace.c:4419
 #, c-format
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "создавать временные таблицы во время параллельных операций нельзя"
 
-#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376
-#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2202
-#: commands/tablecmds.c:12378
+#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
+#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2310
+#: commands/tablecmds.c:12823
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" - это не таблица"
 
-#: catalog/objectaddress.c:1416 commands/tablecmds.c:260
-#: commands/tablecmds.c:17200 commands/view.c:119
+#: catalog/objectaddress.c:1378 commands/tablecmds.c:269
+#: commands/tablecmds.c:17741 commands/view.c:114
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" - это не представление"
 
-#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266
-#: commands/tablecmds.c:17205
+#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
+#: commands/tablecmds.c:17746
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" - это не материализованное представление"
 
-#: catalog/objectaddress.c:1430 commands/tablecmds.c:284
-#: commands/tablecmds.c:17210
+#: catalog/objectaddress.c:1392 commands/tablecmds.c:293
+#: commands/tablecmds.c:17751
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" - это не сторонняя таблица"
 
-#: catalog/objectaddress.c:1471
+#: catalog/objectaddress.c:1433
 #, c-format
 msgid "must specify relation and object name"
 msgstr "необходимо указать имя отношения и объекта"
 
-#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562
 #, c-format
 msgid "column name must be qualified"
 msgstr "имя столбца нужно указать в полной форме"
 
-#: catalog/objectaddress.c:1619
+#: catalog/objectaddress.c:1581
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr ""
 "значение по умолчанию для столбца \"%s\" отношения \"%s\" не существует"
 
-#: catalog/objectaddress.c:1656 commands/functioncmds.c:137
-#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691
+#: catalog/objectaddress.c:1618 commands/functioncmds.c:132
+#: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801
-#: utils/adt/acl.c:4441
+#: utils/adt/acl.c:4560
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "тип \"%s\" не существует"
 
-#: catalog/objectaddress.c:1775
+#: catalog/objectaddress.c:1737
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "оператор %d (%s, %s) из семейства %s не существует"
 
-#: catalog/objectaddress.c:1806
+#: catalog/objectaddress.c:1768
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "функция %d (%s, %s) из семейства %s не существует"
 
-#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883
+#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "сопоставление для пользователя \"%s\" на сервере \"%s\" не существует"
 
-#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700
+#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "сервер \"%s\" не существует"
 
-#: catalog/objectaddress.c:1939
+#: catalog/objectaddress.c:1901
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "публикуемое отношение \"%s\" в публикации \"%s\" не существует"
 
-#: catalog/objectaddress.c:1986
+#: catalog/objectaddress.c:1948
 #, c-format
 msgid "publication schema \"%s\" in publication \"%s\" does not exist"
 msgstr "публикуемая схема \"%s\" в публикации \"%s\" не существует"
 
-#: catalog/objectaddress.c:2044
+#: catalog/objectaddress.c:2006
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "нераспознанный тип объекта ACL по умолчанию: \"%c\""
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2007
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Допустимые типы объектов: \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2058
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr ""
 "ACL по умолчанию для пользователя \"%s\" в схеме \"%s\" для объекта %s не "
 "существует"
 
-#: catalog/objectaddress.c:2101
+#: catalog/objectaddress.c:2063
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr ""
 "ACL по умолчанию для пользователя \"%s\" и для объекта %s не существует"
 
-#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146
+#: catalog/objectaddress.c:2201
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "списки имён и аргументов не должны содержать NULL"
 
-#: catalog/objectaddress.c:2161
+#: catalog/objectaddress.c:2123
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "неподдерживаемый тип объекта: \"%s\""
 
-#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197
-#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346
+#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159
+#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "длина списка имён должна быть равна %d"
 
-#: catalog/objectaddress.c:2201
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "large object OID may not be null"
 msgstr "OID большого объекта не может быть NULL"
 
-#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280
-#: catalog/objectaddress.c:2287
+#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242
+#: catalog/objectaddress.c:2249
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "длина списка аргументов должна быть не меньше %d"
 
-#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294
+#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "длина списка аргументов должна быть равна %d"
 
-#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329
+#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "нужно быть владельцем большого объекта %u"
 
-#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561
+#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "это разрешено только владельцу типа %s или %s"
 
-#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559
-#: catalog/objectaddress.c:2565
+#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521
+#: catalog/objectaddress.c:2527
 #, c-format
 msgid "permission denied"
 msgstr "нет доступа"
 
-#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560
+#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522
 #, c-format
 msgid "The current user must have the %s attribute."
 msgstr "Текущий пользователь должен иметь атрибут %s."
 
-#: catalog/objectaddress.c:2566
+#: catalog/objectaddress.c:2528
 #, c-format
 msgid "The current user must have the %s option on role \"%s\"."
 msgstr "Текущий пользователь должен иметь привилегию %s для роли \"%s\"."
 
-#: catalog/objectaddress.c:2580
+#: catalog/objectaddress.c:2542
 #, c-format
 msgid "must be superuser"
 msgstr "требуются права суперпользователя"
 
-#: catalog/objectaddress.c:2649
+#: catalog/objectaddress.c:2611
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "нераспознанный тип объекта \"%s\""
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2941
+#: catalog/objectaddress.c:2903
 #, c-format
 msgid "column %s of %s"
 msgstr "столбец %s отношения %s"
 
-#: catalog/objectaddress.c:2956
+#: catalog/objectaddress.c:2918
 #, c-format
 msgid "function %s"
 msgstr "функция %s"
 
-#: catalog/objectaddress.c:2969
+#: catalog/objectaddress.c:2931
 #, c-format
 msgid "type %s"
 msgstr "тип %s"
 
-#: catalog/objectaddress.c:3006
+#: catalog/objectaddress.c:2968
 #, c-format
 msgid "cast from %s to %s"
 msgstr "приведение %s к %s"
 
-#: catalog/objectaddress.c:3039
+#: catalog/objectaddress.c:3001
 #, c-format
 msgid "collation %s"
 msgstr "правило сортировки %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3070
+#: catalog/objectaddress.c:3032
 #, c-format
 msgid "constraint %s on %s"
 msgstr "ограничение %s в отношении %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3038
 #, c-format
 msgid "constraint %s"
 msgstr "ограничение %s"
 
-#: catalog/objectaddress.c:3108
+#: catalog/objectaddress.c:3070
 #, c-format
 msgid "conversion %s"
 msgstr "преобразование %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3092
 #, c-format
 msgid "default value for %s"
 msgstr "значение по умолчанию для %s"
 
-#: catalog/objectaddress.c:3141
+#: catalog/objectaddress.c:3103
 #, c-format
 msgid "language %s"
 msgstr "язык %s"
 
-#: catalog/objectaddress.c:3149
+#: catalog/objectaddress.c:3111
 #, c-format
 msgid "large object %u"
 msgstr "большой объект %u"
 
-#: catalog/objectaddress.c:3162
+#: catalog/objectaddress.c:3124
 #, c-format
 msgid "operator %s"
 msgstr "оператор %s"
 
-#: catalog/objectaddress.c:3199
+#: catalog/objectaddress.c:3161
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "класс операторов %s для метода доступа %s"
 
-#: catalog/objectaddress.c:3227
+#: catalog/objectaddress.c:3189
 #, c-format
 msgid "access method %s"
 msgstr "метод доступа %s"
@@ -5840,7 +6237,7 @@ msgstr "метод доступа %s"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:3276
+#: catalog/objectaddress.c:3238
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
@@ -5849,241 +6246,241 @@ msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:3333
+#: catalog/objectaddress.c:3295
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "функция %d (%s, %s) из семейства \"%s\": %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3385
+#: catalog/objectaddress.c:3347
 #, c-format
 msgid "rule %s on %s"
 msgstr "правило %s для отношения %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3431
+#: catalog/objectaddress.c:3393
 #, c-format
 msgid "trigger %s on %s"
 msgstr "триггер %s в отношении %s"
 
-#: catalog/objectaddress.c:3451
+#: catalog/objectaddress.c:3413
 #, c-format
 msgid "schema %s"
 msgstr "схема %s"
 
-#: catalog/objectaddress.c:3479
+#: catalog/objectaddress.c:3441
 #, c-format
 msgid "statistics object %s"
 msgstr "объект статистики %s"
 
-#: catalog/objectaddress.c:3510
+#: catalog/objectaddress.c:3472
 #, c-format
 msgid "text search parser %s"
 msgstr "анализатор текстового поиска %s"
 
-#: catalog/objectaddress.c:3541
+#: catalog/objectaddress.c:3503
 #, c-format
 msgid "text search dictionary %s"
 msgstr "словарь текстового поиска %s"
 
-#: catalog/objectaddress.c:3572
+#: catalog/objectaddress.c:3534
 #, c-format
 msgid "text search template %s"
 msgstr "шаблон текстового поиска %s"
 
-#: catalog/objectaddress.c:3603
+#: catalog/objectaddress.c:3565
 #, c-format
 msgid "text search configuration %s"
 msgstr "конфигурация текстового поиска %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3578
 #, c-format
 msgid "role %s"
 msgstr "роль %s"
 
-#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505
+#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464
 #, c-format
 msgid "membership of role %s in role %s"
 msgstr "членство роли %s в роли %s"
 
-#: catalog/objectaddress.c:3674
+#: catalog/objectaddress.c:3636
 #, c-format
 msgid "database %s"
 msgstr "база данных %s"
 
-#: catalog/objectaddress.c:3690
+#: catalog/objectaddress.c:3652
 #, c-format
 msgid "tablespace %s"
 msgstr "табличное пространство %s"
 
-#: catalog/objectaddress.c:3701
+#: catalog/objectaddress.c:3663
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "обёртка сторонних данных %s"
 
-#: catalog/objectaddress.c:3711
+#: catalog/objectaddress.c:3673
 #, c-format
 msgid "server %s"
 msgstr "сервер %s"
 
-#: catalog/objectaddress.c:3744
+#: catalog/objectaddress.c:3706
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "сопоставление для пользователя %s на сервере %s"
 
-#: catalog/objectaddress.c:3796
+#: catalog/objectaddress.c:3758
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr ""
 "права по умолчанию для новых отношений, принадлежащих роли %s в схеме %s"
 
-#: catalog/objectaddress.c:3800
+#: catalog/objectaddress.c:3762
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "права по умолчанию для новых отношений, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3806
+#: catalog/objectaddress.c:3768
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr ""
 "права по умолчанию для новых последовательностей, принадлежащих роли %s в "
 "схеме %s"
 
-#: catalog/objectaddress.c:3810
+#: catalog/objectaddress.c:3772
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr ""
 "права по умолчанию для новых последовательностей, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3816
+#: catalog/objectaddress.c:3778
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "права по умолчанию для новых функций, принадлежащих роли %s в схеме %s"
 
-#: catalog/objectaddress.c:3820
+#: catalog/objectaddress.c:3782
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "права по умолчанию для новых функций, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3826
+#: catalog/objectaddress.c:3788
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "права по умолчанию для новых типов, принадлежащих роли %s в схеме %s"
 
-#: catalog/objectaddress.c:3830
+#: catalog/objectaddress.c:3792
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "права по умолчанию для новых типов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3836
+#: catalog/objectaddress.c:3798
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "права по умолчанию для новых схем, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3843
+#: catalog/objectaddress.c:3805
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr ""
 "права по умолчанию для новых объектов, принадлежащих роли %s в схеме %s"
 
-#: catalog/objectaddress.c:3847
+#: catalog/objectaddress.c:3809
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "права по умолчанию для новых объектов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3869
+#: catalog/objectaddress.c:3831
 #, c-format
 msgid "extension %s"
 msgstr "расширение %s"
 
-#: catalog/objectaddress.c:3886
+#: catalog/objectaddress.c:3848
 #, c-format
 msgid "event trigger %s"
 msgstr "событийный триггер %s"
 
-#: catalog/objectaddress.c:3910
+#: catalog/objectaddress.c:3872
 #, c-format
 msgid "parameter %s"
 msgstr "параметр %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3953
+#: catalog/objectaddress.c:3915
 #, c-format
 msgid "policy %s on %s"
 msgstr "политика %s отношения %s"
 
-#: catalog/objectaddress.c:3967
+#: catalog/objectaddress.c:3929
 #, c-format
 msgid "publication %s"
 msgstr "публикация %s"
 
-#: catalog/objectaddress.c:3980
+#: catalog/objectaddress.c:3942
 #, c-format
 msgid "publication of schema %s in publication %s"
 msgstr "публикация схемы %s в публикации %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:4011
+#: catalog/objectaddress.c:3973
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "публикуемое отношение %s в публикации %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:3986
 #, c-format
 msgid "subscription %s"
 msgstr "подписка %s"
 
-#: catalog/objectaddress.c:4045
+#: catalog/objectaddress.c:4007
 #, c-format
 msgid "transform for %s language %s"
 msgstr "преобразование для %s, языка %s"
 
-#: catalog/objectaddress.c:4116
+#: catalog/objectaddress.c:4076
 #, c-format
 msgid "table %s"
 msgstr "таблица %s"
 
-#: catalog/objectaddress.c:4121
+#: catalog/objectaddress.c:4081
 #, c-format
 msgid "index %s"
 msgstr "индекс %s"
 
-#: catalog/objectaddress.c:4125
+#: catalog/objectaddress.c:4085
 #, c-format
 msgid "sequence %s"
 msgstr "последовательность %s"
 
-#: catalog/objectaddress.c:4129
+#: catalog/objectaddress.c:4089
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-таблица %s"
 
-#: catalog/objectaddress.c:4133
+#: catalog/objectaddress.c:4093
 #, c-format
 msgid "view %s"
 msgstr "представление %s"
 
-#: catalog/objectaddress.c:4137
+#: catalog/objectaddress.c:4097
 #, c-format
 msgid "materialized view %s"
 msgstr "материализованное представление %s"
 
-#: catalog/objectaddress.c:4141
+#: catalog/objectaddress.c:4101
 #, c-format
 msgid "composite type %s"
 msgstr "составной тип %s"
 
-#: catalog/objectaddress.c:4145
+#: catalog/objectaddress.c:4105
 #, c-format
 msgid "foreign table %s"
 msgstr "сторонняя таблица %s"
 
-#: catalog/objectaddress.c:4150
+#: catalog/objectaddress.c:4110
 #, c-format
 msgid "relation %s"
 msgstr "отношение %s"
 
-#: catalog/objectaddress.c:4191
+#: catalog/objectaddress.c:4151
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "семейство операторов %s для метода доступа %s"
@@ -6136,7 +6533,7 @@ msgstr ""
 msgid "return type of inverse transition function %s is not %s"
 msgstr "обратная функция перехода %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992
 #, c-format
 msgid ""
 "strictness of aggregate's forward and inverse transition functions must match"
@@ -6155,7 +6552,7 @@ msgstr ""
 msgid "return type of combine function %s is not %s"
 msgstr "комбинирующая функция %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr ""
@@ -6172,12 +6569,12 @@ msgstr "функция сериализации %s должна возвраща
 msgid "return type of deserialization function %s is not %s"
 msgstr "функция десериализации %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223
 #, c-format
 msgid "cannot determine result data type"
 msgstr "не удалось определить тип результата"
 
-#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "небезопасное использование псевдотипа \"internal\""
@@ -6198,7 +6595,7 @@ msgstr ""
 "оператор сортировки можно указать только для агрегатных функций с одним "
 "аргументом"
 
-#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384
 #, c-format
 msgid "cannot change routine kind"
 msgstr "тип подпрограммы изменить нельзя"
@@ -6223,13 +6620,13 @@ msgstr "\"%s\" — гипотезирующая агрегатная функц
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "изменить число непосредственных аргументов агрегатной функции нельзя"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691
-#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073
-#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178
-#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328
-#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686
+#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083
+#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188
+#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338
+#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448
 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611
-#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444
+#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445
 #, c-format
 msgid "function %s does not exist"
 msgstr "функция %s не существует"
@@ -6306,69 +6703,69 @@ msgstr "Эта операция не поддерживается для сек
 msgid "This operation is not supported for partitioned indexes."
 msgstr "Эта операция не поддерживается для секционированных индексов."
 
-#: catalog/pg_collation.c:102 catalog/pg_collation.c:160
+#: catalog/pg_collation.c:101 catalog/pg_collation.c:159
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "правило сортировки \"%s\" уже существует, пропускается"
 
-#: catalog/pg_collation.c:104
+#: catalog/pg_collation.c:103
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists, skipping"
 msgstr ""
 "правило сортировки \"%s\" для кодировки \"%s\" уже существует, пропускается"
 
-#: catalog/pg_collation.c:112 catalog/pg_collation.c:167
+#: catalog/pg_collation.c:111 catalog/pg_collation.c:166
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "правило сортировки \"%s\" уже существует"
 
-#: catalog/pg_collation.c:114
+#: catalog/pg_collation.c:113
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "правило сортировки \"%s\" для кодировки \"%s\" уже существует"
 
-#: catalog/pg_constraint.c:690
+#: catalog/pg_constraint.c:732
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "ограничение \"%s\" для домена %s уже существует"
 
-#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983
+#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "ограничение \"%s\" для таблицы \"%s\" не существует"
 
-#: catalog/pg_constraint.c:1083
+#: catalog/pg_constraint.c:1125
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "ограничение \"%s\" для домена %s не существует"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:64
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "преобразование \"%s\" уже существует"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:77
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "преобразование по умолчанию из %s в %s уже существует"
 
-#: catalog/pg_depend.c:222 commands/extension.c:3368
+#: catalog/pg_depend.c:224 commands/extension.c:3397
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s уже относится к расширению \"%s\""
 
-#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3408
+#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s не относится к расширению \"%s\""
 
-#: catalog/pg_depend.c:232
+#: catalog/pg_depend.c:234
 #, c-format
 msgid "An extension is not allowed to replace an object that it does not own."
 msgstr ""
 "Расширениям не разрешается заменять объекты, которые им не принадлежат."
 
-#: catalog/pg_depend.c:283
+#: catalog/pg_depend.c:285
 #, c-format
 msgid ""
 "An extension may only use CREATE ... IF NOT EXISTS to skip object creation "
@@ -6377,55 +6774,55 @@ msgstr ""
 "Расширение может выполнять CREATE ... IF NOT EXISTS только для того, чтобы "
 "не создавать объект, когда оно уже владеет конфликтующим объектом."
 
-#: catalog/pg_depend.c:646
+#: catalog/pg_depend.c:648
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr ""
 "ликвидировать зависимость от объекта %s нельзя, так как это системный объект"
 
-#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554
+#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "неверная метка в перечислении \"%s\""
 
-#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555
+#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625
 #, c-format
 msgid "Labels must be %d bytes or less."
 msgstr "Длина метки не должна превышать %d байт."
 
-#: catalog/pg_enum.c:288
+#: catalog/pg_enum.c:343
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "метка перечисления \"%s\" уже существует, пропускается"
 
-#: catalog/pg_enum.c:295 catalog/pg_enum.c:598
+#: catalog/pg_enum.c:350 catalog/pg_enum.c:668
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "метка перечисления \"%s\" уже существует"
 
-#: catalog/pg_enum.c:350 catalog/pg_enum.c:593
+#: catalog/pg_enum.c:405 catalog/pg_enum.c:663
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "в перечислении нет метки\"%s\""
 
-#: catalog/pg_enum.c:408
+#: catalog/pg_enum.c:463
 #, c-format
 msgid "pg_enum OID value not set when in binary upgrade mode"
 msgstr "значение OID в pg_enum не задано в режиме двоичного обновления"
 
-#: catalog/pg_enum.c:418
+#: catalog/pg_enum.c:473
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr ""
 "конструкция ALTER TYPE ADD BEFORE/AFTER несовместима с двоичным обновлением "
 "данных"
 
-#: catalog/pg_inherits.c:593
+#: catalog/pg_inherits.c:592
 #, c-format
 msgid "cannot detach partition \"%s\""
 msgstr "отсоединить секцию \"%s\" нельзя"
 
-#: catalog/pg_inherits.c:595
+#: catalog/pg_inherits.c:594
 #, c-format
 msgid ""
 "The partition is being detached concurrently or has an unfinished detach."
@@ -6433,8 +6830,8 @@ msgstr ""
 "Эта секция отсоединяется параллельно или для неё не была завершена операция "
 "отсоединения."
 
-#: catalog/pg_inherits.c:596 commands/tablecmds.c:4579
-#: commands/tablecmds.c:15520
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4777
+#: commands/tablecmds.c:16050
 #, c-format
 msgid ""
 "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending "
@@ -6443,12 +6840,12 @@ msgstr ""
 "Чтобы завершить неоконченную операцию отсоединения, выполните команду ALTER "
 "TABLE ... DETACH PARTITION ... FINALIZE."
 
-#: catalog/pg_inherits.c:600
+#: catalog/pg_inherits.c:599
 #, c-format
 msgid "cannot complete detaching partition \"%s\""
 msgstr "завершить отсоединение секции \"%s\" нельзя"
 
-#: catalog/pg_inherits.c:602
+#: catalog/pg_inherits.c:601
 #, c-format
 msgid "There's no pending concurrent detach."
 msgstr "На данный момент все операции отсоединения завершены."
@@ -6458,84 +6855,98 @@ msgstr "На данный момент все операции отсоедин
 msgid "schema \"%s\" already exists"
 msgstr "схема \"%s\" уже существует"
 
-#: catalog/pg_operator.c:219 catalog/pg_operator.c:361
+#: catalog/pg_operator.c:213 catalog/pg_operator.c:355
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "имя \"%s\" недопустимо для оператора"
 
-#: catalog/pg_operator.c:370
+#: catalog/pg_operator.c:379
+#, c-format
+msgid "operator %s already exists"
+msgstr "оператор %s уже существует"
+
+#: catalog/pg_operator.c:445 commands/operatorcmds.c:600
+#, c-format
+msgid "operator cannot be its own negator"
+msgstr "оператор не может быть обратным к себе"
+
+#: catalog/pg_operator.c:572
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "коммутативную операцию можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:374 commands/operatorcmds.c:509
+#: catalog/pg_operator.c:576
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:378
+#: catalog/pg_operator.c:580
 #, c-format
 msgid "only binary operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:382
+#: catalog/pg_operator.c:584
 #, c-format
 msgid "only binary operators can hash"
 msgstr "поддержку хеша можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:393
+#: catalog/pg_operator.c:593
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "обратную операцию можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:397 commands/operatorcmds.c:517
+#: catalog/pg_operator.c:597
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr ""
 "функцию оценки ограничения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:401 commands/operatorcmds.c:521
+#: catalog/pg_operator.c:601
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:405
+#: catalog/pg_operator.c:605
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для логических "
 "операторов"
 
-#: catalog/pg_operator.c:409
+#: catalog/pg_operator.c:609
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "поддержку хеша можно обозначить только для логических операторов"
 
-#: catalog/pg_operator.c:421
+#: catalog/pg_operator.c:739
 #, c-format
-msgid "operator %s already exists"
-msgstr "опеÑ\80аÑ\82оÑ\80 %s Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
+msgid "commutator operator %s is already the commutator of operator %s"
+msgstr "коммÑ\83Ñ\82иÑ\80Ñ\83Ñ\8eÑ\89ий Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80 %s Ñ\83же Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f ÐºÐ¾Ð¼Ð¼Ñ\83Ñ\82иÑ\80Ñ\83Ñ\8eÑ\89им Ð´Ð»Ñ\8f Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80а %s"
 
-#: catalog/pg_operator.c:621
+#: catalog/pg_operator.c:744
 #, c-format
-msgid "operator cannot be its own negator or sort operator"
-msgstr ""
-"оператор не может быть обратным к себе или собственным оператором сортировки"
+msgid "commutator operator %s is already the commutator of operator %u"
+msgstr "коммутирующий оператор %s уже является коммутирующим для оператора %u"
 
-#: catalog/pg_parameter_acl.c:53
+#: catalog/pg_operator.c:807
 #, c-format
-msgid "parameter ACL \"%s\" does not exist"
-msgstr "ACL параметра \"%s\" не существует"
+msgid "negator operator %s is already the negator of operator %s"
+msgstr "обратный оператор %s уже является обратным для оператора %s"
+
+#: catalog/pg_operator.c:812
+#, c-format
+msgid "negator operator %s is already the negator of operator %u"
+msgstr "обратный оператор %s уже является обратным для оператора %u"
 
-#: catalog/pg_parameter_acl.c:88
+#: catalog/pg_parameter_acl.c:50
 #, c-format
-msgid "invalid parameter name \"%s\""
-msgstr "неверное имя параметра \"%s\""
+msgid "parameter ACL \"%s\" does not exist"
+msgstr "ACL параметра \"%s\" не существует"
 
-#: catalog/pg_proc.c:132 parser/parse_func.c:2233
+#: catalog/pg_proc.c:130 parser/parse_func.c:2234
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
@@ -6543,37 +6954,37 @@ msgstr[0] "функции не могут иметь больше %d аргум
 msgstr[1] "функции не могут иметь больше %d аргументов"
 msgstr[2] "функции не могут иметь больше %d аргументов"
 
-#: catalog/pg_proc.c:376
+#: catalog/pg_proc.c:374
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "функция \"%s\" с аргументами таких типов уже существует"
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:386
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "\"%s\" — агрегатная функция."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:388
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "\"%s\" — функция."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:390
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "\"%s\" — процедура."
 
-#: catalog/pg_proc.c:394
+#: catalog/pg_proc.c:392
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "\"%s\" — оконная функция."
 
-#: catalog/pg_proc.c:414
+#: catalog/pg_proc.c:412
 #, c-format
 msgid "cannot change whether a procedure has output parameters"
 msgstr "определить выходные параметры для процедуры нельзя"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:445
+#: catalog/pg_proc.c:413 catalog/pg_proc.c:443
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "изменить тип возврата существующей функции нельзя"
@@ -6582,118 +6993,118 @@ msgstr "изменить тип возврата существующей фун
 #. AGGREGATE
 #.
 #. translator: first %s is DROP FUNCTION or DROP PROCEDURE
-#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493
-#: catalog/pg_proc.c:519 catalog/pg_proc.c:543
+#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491
+#: catalog/pg_proc.c:517 catalog/pg_proc.c:541
 #, c-format
 msgid "Use %s %s first."
 msgstr "Сначала выполните %s %s."
 
-#: catalog/pg_proc.c:446
+#: catalog/pg_proc.c:444
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Параметры OUT определяют другой тип строки."
 
-#: catalog/pg_proc.c:490
+#: catalog/pg_proc.c:488
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "изменить имя входного параметра \"%s\" нельзя"
 
-#: catalog/pg_proc.c:517
+#: catalog/pg_proc.c:515
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr ""
 "для существующей функции нельзя убрать значения параметров по умолчанию"
 
-#: catalog/pg_proc.c:541
+#: catalog/pg_proc.c:539
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr ""
 "для существующего значения параметра по умолчанию нельзя изменить тип данных"
 
-#: catalog/pg_proc.c:752
+#: catalog/pg_proc.c:750
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "встроенной функции \"%s\" нет"
 
-#: catalog/pg_proc.c:845
+#: catalog/pg_proc.c:843
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL-функции не могут возвращать тип %s"
 
-#: catalog/pg_proc.c:860
+#: catalog/pg_proc.c:858
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-функции не могут иметь аргументы типа %s"
 
-#: catalog/pg_proc.c:988 executor/functions.c:1467
+#: catalog/pg_proc.c:986 executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-функция \"%s\""
 
-#: catalog/pg_publication.c:71 catalog/pg_publication.c:79
-#: catalog/pg_publication.c:87 catalog/pg_publication.c:93
+#: catalog/pg_publication.c:66 catalog/pg_publication.c:74
+#: catalog/pg_publication.c:82 catalog/pg_publication.c:88
 #, c-format
 msgid "cannot add relation \"%s\" to publication"
 msgstr "добавить отношение \"%s\" в публикацию нельзя"
 
-#: catalog/pg_publication.c:81
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "This operation is not supported for system tables."
 msgstr "Эта операция не поддерживается для системных таблиц."
 
-#: catalog/pg_publication.c:89
+#: catalog/pg_publication.c:84
 #, c-format
 msgid "This operation is not supported for temporary tables."
 msgstr "Эта операция не поддерживается для временных таблиц."
 
-#: catalog/pg_publication.c:95
+#: catalog/pg_publication.c:90
 #, c-format
 msgid "This operation is not supported for unlogged tables."
 msgstr "Эта операция не поддерживается для нежурналируемых таблиц."
 
-#: catalog/pg_publication.c:109 catalog/pg_publication.c:117
+#: catalog/pg_publication.c:104 catalog/pg_publication.c:112
 #, c-format
 msgid "cannot add schema \"%s\" to publication"
 msgstr "добавить схему \"%s\" в публикацию нельзя"
 
-#: catalog/pg_publication.c:111
+#: catalog/pg_publication.c:106
 #, c-format
 msgid "This operation is not supported for system schemas."
 msgstr "Эта операция не поддерживается для системных схем."
 
-#: catalog/pg_publication.c:119
+#: catalog/pg_publication.c:114
 #, c-format
 msgid "Temporary schemas cannot be replicated."
 msgstr "Временные схемы нельзя реплицировать."
 
-#: catalog/pg_publication.c:397
+#: catalog/pg_publication.c:392
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "отношение \"%s\" уже включено в публикацию \"%s\""
 
-#: catalog/pg_publication.c:539
+#: catalog/pg_publication.c:534
 #, c-format
 msgid "cannot use system column \"%s\" in publication column list"
 msgstr ""
 "в списке публикуемых столбцов нельзя использовать системный столбец \"%s\""
 
-#: catalog/pg_publication.c:545
+#: catalog/pg_publication.c:540
 #, c-format
 msgid "cannot use generated column \"%s\" in publication column list"
 msgstr ""
 "в списке публикуемых столбцов нельзя использовать генерируемый столбец \"%s\""
 
-#: catalog/pg_publication.c:551
+#: catalog/pg_publication.c:546
 #, c-format
 msgid "duplicate column \"%s\" in publication column list"
 msgstr "в списке публикуемых столбцов повторяется столбец \"%s\""
 
-#: catalog/pg_publication.c:641
+#: catalog/pg_publication.c:636
 #, c-format
 msgid "schema \"%s\" is already member of publication \"%s\""
 msgstr "схема \"%s\" уже включена в публикацию \"%s\""
 
-#: catalog/pg_shdepend.c:830
+#: catalog/pg_shdepend.c:875
 #, c-format
 msgid ""
 "\n"
@@ -6711,43 +7122,48 @@ msgstr[2] ""
 "\n"
 "и объекты в %d других базах данных (см. список в протоколе сервера)"
 
-#: catalog/pg_shdepend.c:1177
+#: catalog/pg_shdepend.c:1222
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "роль %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1189
+#: catalog/pg_shdepend.c:1234
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "табличное пространство %u удалено другим процессом"
 
-#: catalog/pg_shdepend.c:1203
+#: catalog/pg_shdepend.c:1248
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "база данных %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1254
+#: catalog/pg_shdepend.c:1299
 #, c-format
 msgid "owner of %s"
 msgstr "владелец объекта %s"
 
-#: catalog/pg_shdepend.c:1256
+#: catalog/pg_shdepend.c:1301
 #, c-format
 msgid "privileges for %s"
 msgstr "права доступа к объекту %s"
 
-#: catalog/pg_shdepend.c:1258
+#: catalog/pg_shdepend.c:1303
+#, c-format
+msgid "initial privileges for %s"
+msgstr "начальные права для %s"
+
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid "target of %s"
 msgstr "субъект политики %s"
 
-#: catalog/pg_shdepend.c:1260
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid "tablespace for %s"
 msgstr "табличное пространство для %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1268
+#: catalog/pg_shdepend.c:1315
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
@@ -6755,7 +7171,7 @@ msgstr[0] "%d объект (%s)"
 msgstr[1] "%d объекта (%s)"
 msgstr[2] "%d объектов (%s)"
 
-#: catalog/pg_shdepend.c:1332
+#: catalog/pg_shdepend.c:1379
 #, c-format
 msgid ""
 "cannot drop objects owned by %s because they are required by the database "
@@ -6764,7 +7180,7 @@ msgstr ""
 "удалить объекты, принадлежащие роли %s, нельзя, так как они нужны системе "
 "баз данных"
 
-#: catalog/pg_shdepend.c:1498
+#: catalog/pg_shdepend.c:1560
 #, c-format
 msgid ""
 "cannot reassign ownership of objects owned by %s because they are required "
@@ -6773,12 +7189,12 @@ msgstr ""
 "изменить владельца объектов, принадлежащих роли %s, нельзя, так как они "
 "нужны системе баз данных"
 
-#: catalog/pg_subscription.c:424
+#: catalog/pg_subscription.c:438
 #, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
 msgstr "удалить сопоставление отношений для подписки \"%s\" не получилось"
 
-#: catalog/pg_subscription.c:426
+#: catalog/pg_subscription.c:440
 #, c-format
 msgid ""
 "Table synchronization for relation \"%s\" is in progress and is in state "
@@ -6788,7 +7204,7 @@ msgstr "Выполняется синхронизация отношения \"%
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:433
+#: catalog/pg_subscription.c:447
 #, c-format
 msgid ""
 "Use %s to enable subscription if not already enabled or use %s to drop the "
@@ -6797,45 +7213,45 @@ msgstr ""
 "Выполните %s, чтобы включить подписку, если она ещё не включена, либо %s, "
 "чтобы удалить её."
 
-#: catalog/pg_type.c:134 catalog/pg_type.c:474
+#: catalog/pg_type.c:133 catalog/pg_type.c:474
 #, c-format
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "значение OID в pg_type не задано в режиме двоичного обновления"
 
-#: catalog/pg_type.c:254
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "неверный внутренний размер типа: %d"
 
-#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286
-#: catalog/pg_type.c:295
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr ""
 "выравнивание \"%c\" не подходит для типа, передаваемого по значению (с "
 "размером: %d)"
 
-#: catalog/pg_type.c:302
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "внутренний размер %d не подходит для типа, передаваемого по значению"
 
-#: catalog/pg_type.c:312 catalog/pg_type.c:318
+#: catalog/pg_type.c:311 catalog/pg_type.c:317
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "выравнивание \"%c\" не подходит для типа переменной длины"
 
-#: catalog/pg_type.c:326 commands/typecmds.c:4146
+#: catalog/pg_type.c:325 commands/typecmds.c:4363
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "для типов постоянного размера применим только режим хранения PLAIN"
 
-#: catalog/pg_type.c:955
+#: catalog/pg_type.c:978
 #, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
 msgstr "Ошибка при создании мультидиапазонного типа для типа \"%s\"."
 
-#: catalog/pg_type.c:956
+#: catalog/pg_type.c:979
 #, c-format
 msgid ""
 "You can manually specify a multirange type name using the "
@@ -6844,82 +7260,82 @@ msgstr ""
 "Имя мультидиапазонного типа можно указать вручную, воспользовавшись "
 "атрибутом \"multirange_type_name\"."
 
-#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145
+#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "неверная страница в блоке %u отношения %s"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:167
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "гипотезирующими могут быть только сортирующие агрегатные функции"
 
-#: commands/aggregatecmds.c:196
+#: commands/aggregatecmds.c:192
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "нераспознанный атрибут \"%s\" в определении агрегатной функции"
 
-#: commands/aggregatecmds.c:206
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "в определении агрегата требуется stype"
 
-#: commands/aggregatecmds.c:210
+#: commands/aggregatecmds.c:206
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "в определении агрегата требуется sfunc"
 
-#: commands/aggregatecmds.c:222
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "в определении агрегата требуется msfunc, если указан mstype"
 
-#: commands/aggregatecmds.c:226
+#: commands/aggregatecmds.c:222
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "в определении агрегата требуется minvfunc, если указан mstype"
 
-#: commands/aggregatecmds.c:233
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "msfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:237
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "minvfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:241
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "mfinalfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:245
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "msspace для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:249
+#: commands/aggregatecmds.c:245
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "minitcond для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:278
+#: commands/aggregatecmds.c:274
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "в определении агрегата требуется входной тип"
 
-#: commands/aggregatecmds.c:308
+#: commands/aggregatecmds.c:304
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "в определении агрегата с указанием входного типа не нужен базовый тип"
 
-#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392
+#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "переходным типом агрегата не может быть %s"
 
-#: commands/aggregatecmds.c:363
+#: commands/aggregatecmds.c:359
 #, c-format
 msgid ""
 "serialization functions may be specified only when the aggregate transition "
@@ -6928,100 +7344,100 @@ msgstr ""
 "функции сериализации могут задаваться, только когда переходный тип данных "
 "агрегата - %s"
 
-#: commands/aggregatecmds.c:373
+#: commands/aggregatecmds.c:369
 #, c-format
 msgid ""
 "must specify both or neither of serialization and deserialization functions"
 msgstr "функции сериализации и десериализации должны задаваться совместно"
 
-#: commands/aggregatecmds.c:438 commands/functioncmds.c:639
+#: commands/aggregatecmds.c:434 commands/functioncmds.c:634
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr ""
 "параметр \"parallel\" должен иметь значение SAFE, RESTRICTED или UNSAFE"
 
-#: commands/aggregatecmds.c:494
+#: commands/aggregatecmds.c:490
 #, c-format
 msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE"
 msgstr ""
 "параметр \"%s\" должен иметь характеристику READ_ONLY, SHAREABLE или "
 "READ_WRITE"
 
-#: commands/alter.c:86 commands/event_trigger.c:174
+#: commands/alter.c:82 commands/event_trigger.c:191
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "событийный триггер \"%s\" уже существует"
 
-#: commands/alter.c:89 commands/foreigncmds.c:593
+#: commands/alter.c:85 commands/foreigncmds.c:593
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "обёртка сторонних данных \"%s\" уже существует"
 
-#: commands/alter.c:92 commands/foreigncmds.c:884
+#: commands/alter.c:88 commands/foreigncmds.c:884
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "сервер \"%s\" уже существует"
 
-#: commands/alter.c:95 commands/proclang.c:133
+#: commands/alter.c:91 commands/proclang.c:131
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "язык \"%s\" уже существует"
 
-#: commands/alter.c:98 commands/publicationcmds.c:771
+#: commands/alter.c:94 commands/publicationcmds.c:764
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "публикация \"%s\" уже существует"
 
-#: commands/alter.c:101 commands/subscriptioncmds.c:657
+#: commands/alter.c:97 commands/subscriptioncmds.c:669
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "подписка \"%s\" уже существует"
 
-#: commands/alter.c:124
+#: commands/alter.c:120
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "преобразование \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:128
+#: commands/alter.c:124
 #, c-format
 msgid "statistics object \"%s\" already exists in schema \"%s\""
 msgstr "объект статистики \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:132
+#: commands/alter.c:128
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "анализатор текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:136
+#: commands/alter.c:132
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "словарь текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:140
+#: commands/alter.c:136
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "шаблон текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:144
+#: commands/alter.c:140
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "конфигурация текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:217
+#: commands/alter.c:213
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "переименовать \"%s\" может только суперпользователь"
 
-#: commands/alter.c:259 commands/subscriptioncmds.c:636
-#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198
-#: commands/subscriptioncmds.c:1837
+#: commands/alter.c:255 commands/subscriptioncmds.c:648
+#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212
+#: commands/subscriptioncmds.c:1918
 #, c-format
 msgid "password_required=false is superuser-only"
 msgstr "задать password_required=false может только суперпользователь"
 
-#: commands/alter.c:260 commands/subscriptioncmds.c:637
-#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199
-#: commands/subscriptioncmds.c:1838
+#: commands/alter.c:256 commands/subscriptioncmds.c:649
+#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213
+#: commands/subscriptioncmds.c:1919
 #, c-format
 msgid ""
 "Subscriptions with the password_required option set to false may only be "
@@ -7030,7 +7446,7 @@ msgstr ""
 "Подписки с параметром password_required option, равным false, могут "
 "создавать или изменять только суперпользователи."
 
-#: commands/alter.c:775
+#: commands/alter.c:734
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "для назначения схемы объекта %s нужно быть суперпользователем"
@@ -7038,7 +7454,7 @@ msgstr "для назначения схемы объекта %s нужно бы
 #: commands/amcmds.c:60
 #, c-format
 msgid "permission denied to create access method \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание метода доступа \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f метода доступа \"%s\""
 
 #: commands/amcmds.c:62
 #, c-format
@@ -7050,8 +7466,8 @@ msgstr "Для создания метода доступа нужно быть
 msgid "access method \"%s\" already exists"
 msgstr "метод доступа \"%s\" уже существует"
 
-#: commands/amcmds.c:154 commands/indexcmds.c:216 commands/indexcmds.c:839
-#: commands/opclasscmds.c:375 commands/opclasscmds.c:833
+#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841
+#: commands/opclasscmds.c:374 commands/opclasscmds.c:832
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "метод доступа \"%s\" не существует"
@@ -7061,46 +7477,46 @@ msgstr "метод доступа \"%s\" не существует"
 msgid "handler function is not specified"
 msgstr "не указана функция-обработчик"
 
-#: commands/amcmds.c:264 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709
-#: parser/parse_clause.c:941
+#: commands/amcmds.c:264 commands/event_trigger.c:200
+#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702
+#: parser/parse_clause.c:943
 #, c-format
 msgid "function %s must return type %s"
 msgstr "функция %s должна возвращать тип %s"
 
-#: commands/analyze.c:228
+#: commands/analyze.c:217
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "\"%s\" пропускается --- анализировать эту стороннюю таблицу нельзя"
 
-#: commands/analyze.c:245
+#: commands/analyze.c:234
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- анализировать не таблицы или специальные системные "
 "таблицы нельзя"
 
-#: commands/analyze.c:325
+#: commands/analyze.c:314
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "анализируется дерево наследования \"%s.%s\""
 
-#: commands/analyze.c:330
+#: commands/analyze.c:319
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "анализируется \"%s.%s\""
 
-#: commands/analyze.c:395
+#: commands/analyze.c:385
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "столбец \"%s\" отношения \"%s\" указан неоднократно"
 
-#: commands/analyze.c:787
+#: commands/analyze.c:785
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "автоматический анализ таблицы \"%s.%s.%s\"\n"
 
-#: commands/analyze.c:1334
+#: commands/analyze.c:1300
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -7110,7 +7526,7 @@ msgstr ""
 "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число "
 "строк: %.0f"
 
-#: commands/analyze.c:1418
+#: commands/analyze.c:1384
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
@@ -7119,7 +7535,7 @@ msgstr ""
 "пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
 "наследования не содержит дочерних таблиц"
 
-#: commands/analyze.c:1516
+#: commands/analyze.c:1482
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
@@ -7128,22 +7544,22 @@ msgstr ""
 "пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
 "наследования не содержит анализируемых дочерних таблиц"
 
-#: commands/async.c:646
+#: commands/async.c:612
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "имя канала не может быть пустым"
 
-#: commands/async.c:652
+#: commands/async.c:618
 #, c-format
 msgid "channel name too long"
 msgstr "слишком длинное имя канала"
 
-#: commands/async.c:657
+#: commands/async.c:623
 #, c-format
 msgid "payload string too long"
 msgstr "слишком длинная строка сообщения-нагрузки"
 
-#: commands/async.c:876
+#: commands/async.c:842
 #, c-format
 msgid ""
 "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
@@ -7151,17 +7567,17 @@ msgstr ""
 "выполнить PREPARE для транзакции с командами LISTEN, UNLISTEN или NOTIFY "
 "нельзя"
 
-#: commands/async.c:980
+#: commands/async.c:946
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "слишком много уведомлений в очереди NOTIFY"
 
-#: commands/async.c:1602
+#: commands/async.c:1553
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "очередь NOTIFY заполнена на %.0f%%"
 
-#: commands/async.c:1604
+#: commands/async.c:1555
 #, c-format
 msgid ""
 "The server process with PID %d is among those with the oldest transactions."
@@ -7169,7 +7585,7 @@ msgstr ""
 "В число серверных процессов с самыми старыми транзакциями входит процесс с "
 "PID %d."
 
-#: commands/async.c:1607
+#: commands/async.c:1558
 #, c-format
 msgid ""
 "The NOTIFY queue cannot be emptied until that process ends its current "
@@ -7178,22 +7594,22 @@ msgstr ""
 "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит "
 "текущую транзакцию."
 
-#: commands/cluster.c:130
+#: commands/cluster.c:128
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "нераспознанный параметр CLUSTER: \"%s\""
 
-#: commands/cluster.c:160 commands/cluster.c:433
+#: commands/cluster.c:159 commands/cluster.c:433
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "кластеризовать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:178
+#: commands/cluster.c:177
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу"
 
-#: commands/cluster.c:192 commands/tablecmds.c:14256 commands/tablecmds.c:16099
+#: commands/cluster.c:191 commands/tablecmds.c:14695 commands/tablecmds.c:16626
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "индекс \"%s\" для таблицы \"%s\" не существует"
@@ -7208,7 +7624,7 @@ msgstr "кластеризовать разделяемый каталог не
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "очищать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:513 commands/tablecmds.c:16109
+#: commands/cluster.c:513 commands/tablecmds.c:16636
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "\"%s\" не является индексом таблицы \"%s\""
@@ -7236,23 +7652,23 @@ msgstr "нельзя кластеризовать таблицу по невер
 msgid "cannot mark index clustered in partitioned table"
 msgstr "пометить индекс как кластеризованный в секционированной таблице нельзя"
 
-#: commands/cluster.c:950
+#: commands/cluster.c:956
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\""
 
-#: commands/cluster.c:956
+#: commands/cluster.c:962
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr ""
 "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки"
 
-#: commands/cluster.c:961
+#: commands/cluster.c:967
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "очистка \"%s.%s\""
 
-#: commands/cluster.c:988
+#: commands/cluster.c:994
 #, c-format
 msgid ""
 "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
@@ -7260,7 +7676,7 @@ msgstr ""
 "\"%s.%s\": найдено удаляемых версий строк: %.0f, неудаляемых: %.0f, "
 "просмотрено страниц: %u"
 
-#: commands/cluster.c:993
+#: commands/cluster.c:999
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -7269,33 +7685,39 @@ msgstr ""
 "В данный момент нельзя удалить \"мёртвых\" строк %.0f.\n"
 "%s."
 
-#: commands/collationcmds.c:112
+#: commands/cluster.c:1744
+#, c-format
+msgid "permission denied to cluster \"%s\", skipping it"
+msgstr "нет прав для кластеризации отношения \"%s\", оно пропускается"
+
+#: commands/collationcmds.c:110
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "атрибут COLLATION \"%s\" не распознан"
 
-#: commands/collationcmds.c:125 commands/collationcmds.c:131
-#: commands/define.c:389 commands/tablecmds.c:7883
-#: replication/pgoutput/pgoutput.c:309 replication/pgoutput/pgoutput.c:332
-#: replication/pgoutput/pgoutput.c:346 replication/pgoutput/pgoutput.c:356
-#: replication/pgoutput/pgoutput.c:366 replication/pgoutput/pgoutput.c:376
-#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:996
-#: replication/walsender.c:1018 replication/walsender.c:1028
+#: commands/collationcmds.c:123 commands/collationcmds.c:129
+#: commands/define.c:388 commands/tablecmds.c:8106
+#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330
+#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354
+#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374
+#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146
+#: replication/walsender.c:1168 replication/walsender.c:1178
+#: replication/walsender.c:1187 replication/walsender.c:1426
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "конфликтующие или избыточные параметры"
 
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
 #, c-format
 msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
 msgstr "LOCALE нельзя указать вместе с LC_COLLATE или LC_CTYPE."
 
-#: commands/collationcmds.c:132
+#: commands/collationcmds.c:130
 #, c-format
 msgid "FROM cannot be specified together with any other options."
 msgstr "FROM нельзя задать вместе с каким-либо другим параметром."
 
-#: commands/collationcmds.c:191
+#: commands/collationcmds.c:189
 #, c-format
 msgid "collation \"default\" cannot be copied"
 msgstr "правило сортировки \"default\" нельзя скопировать"
@@ -7305,103 +7727,97 @@ msgstr "правило сортировки \"default\" нельзя скопи
 msgid "unrecognized collation provider: %s"
 msgstr "нераспознанный провайдер правил сортировки: %s"
 
-#: commands/collationcmds.c:253 commands/collationcmds.c:259
-#: commands/collationcmds.c:267
+#: commands/collationcmds.c:253 commands/collationcmds.c:264
+#: commands/collationcmds.c:270 commands/collationcmds.c:278
 #, c-format
 msgid "parameter \"%s\" must be specified"
 msgstr "необходимо указать параметр \"%s\""
 
-#: commands/collationcmds.c:282 commands/dbcommands.c:1091
+#: commands/collationcmds.c:293 commands/dbcommands.c:1134
 #, c-format
 msgid "using standard form \"%s\" for ICU locale \"%s\""
 msgstr "используется стандартная форма \"%s\" локали ICU \"%s\""
 
-#: commands/collationcmds.c:301
+#: commands/collationcmds.c:312
 #, c-format
 msgid "nondeterministic collations not supported with this provider"
 msgstr ""
 "недетерминированные правила сортировки не поддерживаются данным провайдером"
 
-#: commands/collationcmds.c:306 commands/dbcommands.c:1110
+#: commands/collationcmds.c:317 commands/dbcommands.c:1087
 #, c-format
 msgid "ICU rules cannot be specified unless locale provider is ICU"
 msgstr "правила ICU можно указать, только если выбран провайдер локали ICU"
 
-#: commands/collationcmds.c:325
+#: commands/collationcmds.c:340
 #, c-format
 msgid "current database's encoding is not supported with this provider"
 msgstr "кодировка текущей БД не поддерживается данным провайдером"
 
-#: commands/collationcmds.c:385
+#: commands/collationcmds.c:409
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr ""
 "правило сортировки \"%s\" для кодировки \"%s\" уже существует в схеме \"%s\""
 
-#: commands/collationcmds.c:396
+#: commands/collationcmds.c:420
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "правило сортировки \"%s\" уже существует в схеме \"%s\""
 
-#: commands/collationcmds.c:421
+#: commands/collationcmds.c:445
 #, c-format
 msgid "cannot refresh version of default collation"
 msgstr "нельзя обновить версию правила сортировки по умолчанию"
 
 #. translator: %s is an SQL command
 #. translator: %s is an SQL ALTER command
-#: commands/collationcmds.c:423 commands/subscriptioncmds.c:1331
-#: commands/tablecmds.c:7708 commands/tablecmds.c:7718
-#: commands/tablecmds.c:13958 commands/tablecmds.c:17233
-#: commands/tablecmds.c:17254 commands/typecmds.c:3637 commands/typecmds.c:3720
-#: commands/typecmds.c:4013
+#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
+#: commands/tablecmds.c:7882 commands/tablecmds.c:7892
+#: commands/tablecmds.c:7894 commands/tablecmds.c:14397
+#: commands/tablecmds.c:17774 commands/tablecmds.c:17795
+#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
 #, c-format
 msgid "Use %s instead."
 msgstr "Выполните %s."
 
-#: commands/collationcmds.c:451 commands/dbcommands.c:2488
+#: commands/collationcmds.c:480 commands/dbcommands.c:2567
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "изменение версии с %s на %s"
 
-#: commands/collationcmds.c:466 commands/dbcommands.c:2501
+#: commands/collationcmds.c:495 commands/dbcommands.c:2580
 #, c-format
 msgid "version has not changed"
 msgstr "версия не была изменена"
 
-#: commands/collationcmds.c:499 commands/dbcommands.c:2667
+#: commands/collationcmds.c:528 commands/dbcommands.c:2746
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "база данных с OID %u не существует"
 
-#: commands/collationcmds.c:520
+#: commands/collationcmds.c:554
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "правило сортировки с OID %u не существует"
 
-#: commands/collationcmds.c:808
+#: commands/collationcmds.c:848
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr ""
 "импортировать системные правила сортировки может только суперпользователь"
 
-#: commands/collationcmds.c:836 commands/copyfrom.c:1671 commands/copyto.c:656
-#: libpq/be-secure-common.c:59
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "не удалось выполнить команду \"%s\": %m"
-
-#: commands/collationcmds.c:928 commands/collationcmds.c:1013
+#: commands/collationcmds.c:968 commands/collationcmds.c:1053
 #, c-format
 msgid "no usable system locales were found"
 msgstr "пригодные системные локали не найдены"
 
-#: commands/comment.c:61 commands/dbcommands.c:1612 commands/dbcommands.c:1824
-#: commands/dbcommands.c:1934 commands/dbcommands.c:2132
-#: commands/dbcommands.c:2370 commands/dbcommands.c:2461
-#: commands/dbcommands.c:2571 commands/dbcommands.c:3071
-#: utils/init/postinit.c:1021 utils/init/postinit.c:1085
-#: utils/init/postinit.c:1157
+#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1892
+#: commands/dbcommands.c:2002 commands/dbcommands.c:2200
+#: commands/dbcommands.c:2438 commands/dbcommands.c:2529
+#: commands/dbcommands.c:2650 commands/dbcommands.c:3158
+#: utils/init/postinit.c:1033 utils/init/postinit.c:1097
+#: utils/init/postinit.c:1170
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "база данных \"%s\" не существует"
@@ -7411,42 +7827,42 @@ msgstr "база данных \"%s\" не существует"
 msgid "cannot set comment on relation \"%s\""
 msgstr "задать комментарий для отношения \"%s\" нельзя"
 
-#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028
+#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "функция \"%s\" была вызвана не менеджером триггеров"
 
-#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037
+#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "функция \"%s\" должна запускаться в триггере AFTER для строк"
 
-#: commands/constraint.c:84
+#: commands/constraint.c:82
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "функция \"%s\" должна запускаться для INSERT или UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:62
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "исходная кодировка \"%s\" не существует"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:69
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "целевая кодировка \"%s\" не существует"
 
-#: commands/conversioncmds.c:89
+#: commands/conversioncmds.c:82
 #, c-format
 msgid "encoding conversion to or from \"SQL_ASCII\" is not supported"
 msgstr "преобразование кодировки из/в \"SQL_ASCII\" не поддерживается"
 
-#: commands/conversioncmds.c:102
+#: commands/conversioncmds.c:95
 #, c-format
 msgid "encoding conversion function %s must return type %s"
 msgstr "функция преобразования кодировки %s должна возвращать тип %s"
 
-#: commands/conversioncmds.c:132
+#: commands/conversioncmds.c:125
 #, c-format
 msgid ""
 "encoding conversion function %s returned incorrect result for empty input"
@@ -7454,12 +7870,12 @@ msgstr ""
 "функция преобразования кодировки %s возвратила некорректный результат для "
 "пустой строки"
 
-#: commands/copy.c:86
+#: commands/copy.c:84
 #, c-format
 msgid "permission denied to COPY to or from an external program"
 msgstr "нет прав для выполнения COPY с внешней программой"
 
-#: commands/copy.c:87
+#: commands/copy.c:85
 #, c-format
 msgid ""
 "Only roles with privileges of the \"%s\" role may COPY to or from an "
@@ -7468,7 +7884,7 @@ msgstr ""
 "Использовать COPY с внешними программами могут только роли с правами роли "
 "\"%s\"."
 
-#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109
+#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107
 #, c-format
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
@@ -7477,262 +7893,216 @@ msgstr ""
 "Не имея административных прав, можно использовать COPY с stdout и stdin (а "
 "также команду psql \\copy)."
 
-#: commands/copy.c:97
+#: commands/copy.c:95
 #, c-format
 msgid "permission denied to COPY from a file"
 msgstr "нет прав для выполнения COPY с чтением файла"
 
-#: commands/copy.c:98
+#: commands/copy.c:96
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY from a file."
 msgstr ""
 "Выполнять COPY с чтением файла могут только роли с правами роли \"%s\"."
 
-#: commands/copy.c:106
+#: commands/copy.c:104
 #, c-format
 msgid "permission denied to COPY to a file"
 msgstr "нет прав для выполнения COPY с записью в файл"
 
-#: commands/copy.c:107
+#: commands/copy.c:105
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to a file."
 msgstr ""
 "Выполнять COPY с записью в файл могут только роли с правами роли \"%s\"."
 
-#: commands/copy.c:195
+#: commands/copy.c:193
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM не поддерживается с защитой на уровне строк."
 
-#: commands/copy.c:196
+#: commands/copy.c:194
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Используйте операторы INSERT."
 
-#: commands/copy.c:290
-#, c-format
-msgid "MERGE not supported in COPY"
-msgstr "MERGE не поддерживается в COPY"
-
-#: commands/copy.c:383
+#: commands/copy.c:375
 #, c-format
 msgid "cannot use \"%s\" with HEADER in COPY TO"
 msgstr "использовать \"%s\" с параметром HEADER в COPY TO нельзя"
 
-#: commands/copy.c:392
+#: commands/copy.c:384
 #, c-format
 msgid "%s requires a Boolean value or \"match\""
 msgstr "%s требует логическое значение или \"match\""
 
-#: commands/copy.c:451
+#. translator: first %s is the name of a COPY option, e.g. ON_ERROR,
+#. second %s is a COPY with direction, e.g. COPY TO
+#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:796
+#: commands/copy.c:811 commands/copy.c:837 commands/copy.c:847
+#, c-format
+msgid "COPY %s cannot be used with %s"
+msgstr "COPY %s нельзя использовать с %s"
+
+#. translator: first %s is the name of a COPY option, e.g. ON_ERROR
+#: commands/copy.c:416 commands/copy.c:441
+#, c-format
+msgid "COPY %s \"%s\" not recognized"
+msgstr "параметр COPY %s \"%s\" не распознан"
+
+#: commands/copy.c:502
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "формат \"%s\" для COPY не распознан"
 
-#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535
-#: commands/copy.c:554
+#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590
+#: commands/copy.c:609
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "аргументом параметра \"%s\" должен быть список имён столбцов"
 
-#: commands/copy.c:566
+#: commands/copy.c:621
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки"
 
-#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318
+#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2386
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "параметр \"%s\" не распознан"
 
-#: commands/copy.c:585
+#. translator: %s is the name of a COPY option, e.g. ON_ERROR
+#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665
+#: commands/copy.c:740
 #, c-format
-msgid "cannot specify DELIMITER in BINARY mode"
-msgstr "в режиме BINARY нельзя указывать DELIMITER"
+msgid "cannot specify %s in BINARY mode"
+msgstr "в режиме BINARY нельзя указывать %s"
 
-#: commands/copy.c:590
-#, c-format
-msgid "cannot specify NULL in BINARY mode"
-msgstr "в режиме BINARY нельзя указывать NULL"
-
-#: commands/copy.c:595
+#: commands/copy.c:670
 #, c-format
-msgid "cannot specify DEFAULT in BINARY mode"
-msgstr "в Ñ\80ежиме BINARY Ð½ÐµÐ»Ñ\8cзÑ\8f Ñ\83казÑ\8bваÑ\82Ñ\8c DEFAULT"
+msgid "only ON_ERROR STOP is allowed in BINARY mode"
+msgstr "в Ñ\80ежиме BINARY Ð´Ð¾Ð¿Ñ\83Ñ\81каеÑ\82Ñ\81Ñ\8f Ñ\82олÑ\8cко ON_ERROR STOP"
 
-#: commands/copy.c:617
+#: commands/copy.c:692
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "разделитель для COPY должен быть однобайтным символом"
 
-#: commands/copy.c:624
+#: commands/copy.c:699
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr ""
 "разделителем для COPY не может быть символ новой строки или возврата каретки"
 
-#: commands/copy.c:630
+#: commands/copy.c:705
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "представление NULL для COPY не может включать символ новой строки или "
 "возврата каретки"
 
-#: commands/copy.c:640
+#: commands/copy.c:715
 #, c-format
 msgid "COPY default representation cannot use newline or carriage return"
 msgstr ""
 "представление DEFAULT для COPY не может включать символ новой строки или "
 "возврата каретки"
 
-#: commands/copy.c:658
+#: commands/copy.c:733
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "\"%s\" не может быть разделителем для COPY"
 
-#: commands/copy.c:664
-#, c-format
-msgid "cannot specify HEADER in BINARY mode"
-msgstr "в режиме BINARY нельзя использовать HEADER"
-
-#: commands/copy.c:670
+#. translator: %s is the name of a COPY option, e.g. ON_ERROR
+#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776
+#: commands/copy.c:790 commands/copy.c:804
 #, c-format
-msgid "COPY quote available only in CSV mode"
-msgstr "опÑ\80еделиÑ\82Ñ\8c ÐºÐ°Ð²Ñ\8bÑ\87ки Ð´Ð»Ñ\8f COPY Ð¼Ð¾Ð¶Ð½Ð¾ Ñ\82олÑ\8cко Ð² Ñ\80ежиме CSV"
+msgid "COPY %s requires CSV mode"
+msgstr "длÑ\8f COPY %s Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ñ\80ежим CSV"
 
-#: commands/copy.c:675
+#: commands/copy.c:752
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "символ кавычек для COPY должен быть однобайтным"
 
-#: commands/copy.c:680
+#: commands/copy.c:757
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "символ кавычек для COPY должен отличаться от разделителя"
 
-#: commands/copy.c:686
-#, c-format
-msgid "COPY escape available only in CSV mode"
-msgstr "определить спецсимвол для COPY можно только в режиме CSV"
-
-#: commands/copy.c:691
+#: commands/copy.c:769
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "спецсимвол для COPY должен быть однобайтным"
 
-#: commands/copy.c:697
-#, c-format
-msgid "COPY force quote available only in CSV mode"
-msgstr "параметр force quote для COPY можно использовать только в режиме CSV"
-
-#: commands/copy.c:701
-#, c-format
-msgid "COPY force quote only available using COPY TO"
-msgstr "параметр force quote для COPY можно использовать только с COPY TO"
-
-#: commands/copy.c:707
-#, c-format
-msgid "COPY force not null available only in CSV mode"
-msgstr ""
-"параметр force not null для COPY можно использовать только в режиме CSV"
-
-#: commands/copy.c:711
-#, c-format
-msgid "COPY force not null only available using COPY FROM"
-msgstr "параметр force not null для COPY можно использовать только с COPY FROM"
-
-#: commands/copy.c:717
-#, c-format
-msgid "COPY force null available only in CSV mode"
-msgstr "параметр force null для COPY можно использовать только в режиме CSV"
-
-#: commands/copy.c:722
-#, c-format
-msgid "COPY force null only available using COPY FROM"
-msgstr "параметр force null для COPY можно использовать только с COPY FROM"
-
-#: commands/copy.c:728
-#, c-format
-msgid "COPY delimiter must not appear in the NULL specification"
-msgstr "разделитель для COPY не должен присутствовать в представлении NULL"
-
-#: commands/copy.c:735
-#, c-format
-msgid "CSV quote character must not appear in the NULL specification"
-msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL"
-
-#: commands/copy.c:742
-#, c-format
-msgid "COPY DEFAULT only available using COPY FROM"
-msgstr "параметр DEFAULT для COPY можно использовать только с COPY FROM"
-
-#: commands/copy.c:748
+#. translator: %s is the name of a COPY option, e.g. NULL
+#: commands/copy.c:819 commands/copy.c:855
 #, c-format
-msgid "COPY delimiter must not appear in the DEFAULT specification"
-msgstr "Ñ\80азделиÑ\82елÑ\8c Ð´Ð»Ñ\8f COPY Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¿Ñ\80иÑ\81Ñ\83Ñ\82Ñ\81Ñ\82воваÑ\82Ñ\8c Ð² Ð¿Ñ\80едÑ\81Ñ\82авлении DEFAULT"
+msgid "COPY delimiter character must not appear in the %s specification"
+msgstr "Ñ\81имвол Ñ\80азделиÑ\82елÑ\8f Ð´Ð»Ñ\8f COPY Ð½Ðµ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¿Ñ\80иÑ\81Ñ\83Ñ\82Ñ\81Ñ\82воваÑ\82Ñ\8c Ð² Ñ\83казании %s"
 
-#: commands/copy.c:755
+#. translator: %s is the name of a COPY option, e.g. NULL
+#: commands/copy.c:828 commands/copy.c:864
 #, c-format
-msgid "CSV quote character must not appear in the DEFAULT specification"
-msgstr "символ кавычек в CSV не должен присутствовать в представлении DEFAULT"
+msgid "CSV quote character must not appear in the %s specification"
+msgstr "символ кавычек в CSV не должен присутствовать в указании %s"
 
-#: commands/copy.c:763
+#: commands/copy.c:873
 #, c-format
 msgid "NULL specification and DEFAULT specification cannot be the same"
 msgstr "представления NULL и DEFAULT не могут быть одинаковыми"
 
-#: commands/copy.c:825
+#: commands/copy.c:935
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "столбец \"%s\" — генерируемый"
 
-#: commands/copy.c:827
+#: commands/copy.c:937
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Генерируемые столбцы нельзя использовать в COPY."
 
-#: commands/copy.c:842 commands/indexcmds.c:1886 commands/statscmds.c:242
-#: commands/tablecmds.c:2401 commands/tablecmds.c:3123
-#: commands/tablecmds.c:3622 parser/parse_relation.c:3698
-#: parser/parse_relation.c:3708 parser/parse_relation.c:3726
-#: parser/parse_relation.c:3733 parser/parse_relation.c:3747
-#: utils/adt/tsvector_op.c:2855
+#: commands/copy.c:952 commands/indexcmds.c:1916 commands/statscmds.c:239
+#: commands/tablecmds.c:2509 commands/tablecmds.c:2980
+#: commands/tablecmds.c:3788 parser/parse_relation.c:3692
+#: parser/parse_relation.c:3702 parser/parse_relation.c:3720
+#: parser/parse_relation.c:3727 parser/parse_relation.c:3741
+#: utils/adt/tsvector_op.c:2853
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "столбец \"%s\" не существует"
 
-#: commands/copy.c:849 commands/tablecmds.c:2427 commands/trigger.c:958
-#: parser/parse_target.c:1084 parser/parse_target.c:1095
+#: commands/copy.c:959 commands/tablecmds.c:2535 commands/trigger.c:951
+#: parser/parse_target.c:1083 parser/parse_target.c:1094
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "столбец \"%s\" указан неоднократно"
 
-#: commands/copyfrom.c:122
+#: commands/copyfrom.c:118
 #, c-format
 msgid "COPY %s"
 msgstr "COPY %s"
 
-#: commands/copyfrom.c:130
+#: commands/copyfrom.c:126
 #, c-format
 msgid "COPY %s, line %llu, column %s"
 msgstr "COPY %s, строка %llu, столбец %s"
 
-#: commands/copyfrom.c:135 commands/copyfrom.c:181
+#: commands/copyfrom.c:131 commands/copyfrom.c:177
 #, c-format
 msgid "COPY %s, line %llu"
 msgstr "COPY %s, строка %llu"
 
-#: commands/copyfrom.c:147
+#: commands/copyfrom.c:143
 #, c-format
 msgid "COPY %s, line %llu, column %s: \"%s\""
 msgstr "COPY %s, строка %llu, столбец %s: \"%s\""
 
-#: commands/copyfrom.c:157
+#: commands/copyfrom.c:153
 #, c-format
 msgid "COPY %s, line %llu, column %s: null input"
 msgstr "COPY %s, строка %llu, столбец %s: значение NULL"
 
-#: commands/copyfrom.c:174
+#: commands/copyfrom.c:170
 #, c-format
 msgid "COPY %s, line %llu: \"%s\""
 msgstr "COPY %s, строка %llu: \"%s\""
@@ -7783,24 +8153,29 @@ msgstr ""
 "выполнить COPY FREEZE нельзя, так как таблица не была создана или усечена в "
 "текущей подтранзакции"
 
-#: commands/copyfrom.c:1414
+#: commands/copyfrom.c:1313
 #, c-format
-msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY"
+msgid "%llu row was skipped due to data type incompatibility"
+msgid_plural "%llu rows were skipped due to data type incompatibility"
+msgstr[0] "из-за несовместимости типов данных пропущена %llu строка"
+msgstr[1] "из-за несовместимости типов данных пропущены %llu строки"
+msgstr[2] "из-за несовместимости типов данных пропущены %llu строк"
 
-#: commands/copyfrom.c:1437
+#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL
+#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL
+#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:597
 #, c-format
-msgid "FORCE_NULL column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE_NULL \"%s\" не фигурирует в COPY"
+msgid "%s column \"%s\" not referenced by COPY"
+msgstr "столбец %s \"%s\" не входит в список столбцов COPY"
 
-#: commands/copyfrom.c:1490 utils/mb/mbutils.c:386
+#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385
 #, c-format
 msgid ""
 "default conversion function for encoding \"%s\" to \"%s\" does not exist"
 msgstr ""
 "стандартной функции преобразования из кодировки \"%s\" в \"%s\" не существует"
 
-#: commands/copyfrom.c:1690
+#: commands/copyfrom.c:1742
 #, c-format
 msgid ""
 "COPY FROM instructs the PostgreSQL server process to read a file. You may "
@@ -7810,17 +8185,17 @@ msgstr ""
 "файла. Возможно, на самом деле вам нужно клиентское средство, например, "
 "\\copy в psql."
 
-#: commands/copyfrom.c:1703 commands/copyto.c:708
+#: commands/copyfrom.c:1755 commands/copyto.c:702
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" - это каталог"
 
-#: commands/copyfrom.c:1771 commands/copyto.c:306 libpq/be-secure-common.c:83
+#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "не удалось закрыть канал сообщений с внешней командой: %m"
 
-#: commands/copyfrom.c:1786 commands/copyto.c:311
+#: commands/copyfrom.c:1838 commands/copyto.c:304
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "сбой программы \"%s\""
@@ -7861,17 +8236,17 @@ msgid "could not read from COPY file: %m"
 msgstr "не удалось прочитать файл COPY: %m"
 
 #: commands/copyfromparse.c:278 commands/copyfromparse.c:303
-#: tcop/postgres.c:377
+#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции"
 
-#: commands/copyfromparse.c:294
+#: commands/copyfromparse.c:294 replication/walsender.c:772
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "неожиданный тип сообщения 0x%02X при вводе данных COPY из stdin"
 
-#: commands/copyfromparse.c:317
+#: commands/copyfromparse.c:317 replication/walsender.c:803
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "ошибка при вводе данных COPY из stdin: %s"
@@ -7898,8 +8273,8 @@ msgstr ""
 "несоответствие имени столбца в поле %d строки заголовка: получено \"%s\", "
 "ожидалось \"%s\""
 
-#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512
-#: commands/copyfromparse.c:1768
+#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554
+#: commands/copyfromparse.c:1810
 #, c-format
 msgid "extra data after last expected column"
 msgstr "лишние данные после содержимого последнего столбца"
@@ -7909,193 +8284,206 @@ msgstr "лишние данные после содержимого послед
 msgid "missing data for column \"%s\""
 msgstr "нет данных для столбца \"%s\""
 
-#: commands/copyfromparse.c:999
+#: commands/copyfromparse.c:990
+#, c-format
+msgid ""
+"skipping row due to data type incompatibility at line %llu for column "
+"\"%s\": \"%s\""
+msgstr ""
+"строка пропускается из-за несовместимости данных в строке %llu, столбце "
+"\"%s\": \"%s\""
+
+#: commands/copyfromparse.c:998
+#, c-format
+msgid ""
+"skipping row due to data type incompatibility at line %llu for column "
+"\"%s\": null input"
+msgstr ""
+"строка пропускается из-за несовместимости данных в строке %llu, столбце "
+"\"%s\": значение null"
+
+#: commands/copyfromparse.c:1044
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "после маркера конца файла продолжаются данные COPY"
 
-#: commands/copyfromparse.c:1006
+#: commands/copyfromparse.c:1051
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "количество полей в строке: %d, ожидалось: %d"
 
-#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311
+#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "в данных обнаружен явный возврат каретки"
 
-#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312
+#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "в данных обнаружен возврат каретки не в кавычках"
 
-#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314
+#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Представьте возврат каретки как \"\\r\"."
 
-#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315
+#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Заключите возврат каретки в кавычки CSV."
 
-#: commands/copyfromparse.c:1327
+#: commands/copyfromparse.c:1369
 #, c-format
 msgid "literal newline found in data"
 msgstr "в данных обнаружен явный символ новой строки"
 
-#: commands/copyfromparse.c:1328
+#: commands/copyfromparse.c:1370
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "в данных обнаружен явный символ новой строки не в кавычках"
 
-#: commands/copyfromparse.c:1330
+#: commands/copyfromparse.c:1372
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Представьте символ новой строки как \"\\n\"."
 
-#: commands/copyfromparse.c:1331
+#: commands/copyfromparse.c:1373
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Заключите символ новой строки в кавычки CSV."
 
-#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413
+#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки"
 
-#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402
+#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "маркер \"конец копии\" испорчен"
 
-#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919
+#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961
 #, c-format
 msgid "unexpected default marker in COPY data"
 msgstr "неожиданный маркер DEFAULT в данных COPY"
 
-#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920
+#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962
 #, c-format
 msgid "Column \"%s\" has no default value."
 msgstr "Для столбца \"%s\" не определено значение по умолчанию."
 
-#: commands/copyfromparse.c:1852
+#: commands/copyfromparse.c:1894
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "незавершённое поле в кавычках CSV"
 
-#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973
+#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "неожиданный конец данных COPY"
 
-#: commands/copyfromparse.c:1963
+#: commands/copyfromparse.c:2005
 #, c-format
 msgid "invalid field size"
 msgstr "неверный размер поля"
 
-#: commands/copyfromparse.c:1986
+#: commands/copyfromparse.c:2028
 #, c-format
 msgid "incorrect binary data format"
 msgstr "неверный двоичный формат данных"
 
-#: commands/copyto.c:236
+#: commands/copyto.c:229
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "не удалось записать в канал программы COPY: %m"
 
-#: commands/copyto.c:241
+#: commands/copyto.c:234
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "не удалось записать в файл COPY: %m"
 
-#: commands/copyto.c:386
+#: commands/copyto.c:379
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "копировать из представления \"%s\" нельзя"
 
-#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400
-#: commands/copyto.c:411
+#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393
+#: commands/copyto.c:404
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Попробуйте вариацию COPY (SELECT ...) TO."
 
-#: commands/copyto.c:392
+#: commands/copyto.c:385
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "копировать из материализованного представления \"%s\" нельзя"
 
-#: commands/copyto.c:398
+#: commands/copyto.c:391
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "копировать из сторонней таблицы \"%s\" нельзя"
 
-#: commands/copyto.c:404
+#: commands/copyto.c:397
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "копировать из последовательности \"%s\" нельзя"
 
-#: commands/copyto.c:409
+#: commands/copyto.c:402
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "копировать из секционированной таблицы \"%s\" нельзя"
 
-#: commands/copyto.c:415
+#: commands/copyto.c:408
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя"
 
-#: commands/copyto.c:467
+#: commands/copyto.c:460
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "правила DO INSTEAD NOTHING не поддерживаются с COPY"
 
-#: commands/copyto.c:481
+#: commands/copyto.c:474
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "условные правила DO INSTEAD не поддерживаются с COPY"
 
-#: commands/copyto.c:485
+#: commands/copyto.c:478
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "правила DO ALSO не поддерживаются с COPY"
 
-#: commands/copyto.c:490
+#: commands/copyto.c:483
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "составные правила DO INSTEAD не поддерживаются с COPY"
 
-#: commands/copyto.c:500
+#: commands/copyto.c:493
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) не поддерживается"
 
-#: commands/copyto.c:517
+#: commands/copyto.c:511
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "в запросе COPY должно быть предложение RETURNING"
 
-#: commands/copyto.c:546
+#: commands/copyto.c:540
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "отношение, задействованное в операторе COPY, изменилось"
 
-#: commands/copyto.c:605
-#, c-format
-msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY"
-
-#: commands/copyto.c:673
+#: commands/copyto.c:667
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "при выполнении COPY в файл нельзя указывать относительный путь"
 
-#: commands/copyto.c:692
+#: commands/copyto.c:686
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "не удалось открыть файл \"%s\" для записи: %m"
 
-#: commands/copyto.c:695
+#: commands/copyto.c:689
 #, c-format
 msgid ""
 "COPY TO instructs the PostgreSQL server process to write a file. You may "
@@ -8105,124 +8493,135 @@ msgstr ""
 "Возможно, на самом деле вам нужно клиентское средство, например, \\copy в "
 "psql."
 
-#: commands/createas.c:215 commands/createas.c:523
+#: commands/createas.c:210 commands/createas.c:516
 #, c-format
 msgid "too many column names were specified"
 msgstr "указано слишком много имён столбцов"
 
-#: commands/createas.c:546
+#: commands/createas.c:539
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "политики для этой команды ещё не реализованы"
 
-#: commands/dbcommands.c:822
+#: commands/dbcommands.c:829
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION больше не поддерживается"
 
-#: commands/dbcommands.c:823
+#: commands/dbcommands.c:830
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Рассмотрите возможность использования табличных пространств."
 
-#: commands/dbcommands.c:848
+#: commands/dbcommands.c:855
 #, c-format
 msgid "OIDs less than %u are reserved for system objects"
 msgstr "значения OID меньше %u зарезервированы для системных объектов"
 
-#: commands/dbcommands.c:879 utils/adt/ascii.c:146
+#: commands/dbcommands.c:886 utils/adt/ascii.c:146
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d не является верным кодом кодировки"
 
-#: commands/dbcommands.c:890 utils/adt/ascii.c:128
+#: commands/dbcommands.c:897 utils/adt/ascii.c:128
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s не является верным названием кодировки"
 
-#: commands/dbcommands.c:919
+#: commands/dbcommands.c:931
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "нераспознанный провайдер локали: %s"
 
-#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300
-#: commands/user.c:740
+#: commands/dbcommands.c:944 commands/dbcommands.c:2419 commands/user.c:299
+#: commands/user.c:739
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "неверный предел подключений: %d"
 
-#: commands/dbcommands.c:953
+#: commands/dbcommands.c:965
 #, c-format
 msgid "permission denied to create database"
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание базы данных"
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f базы данных"
 
-#: commands/dbcommands.c:977
+#: commands/dbcommands.c:989
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "шаблон базы данных \"%s\" не существует"
 
-#: commands/dbcommands.c:987
+#: commands/dbcommands.c:999
 #, c-format
 msgid "cannot use invalid database \"%s\" as template"
 msgstr "использовать некорректную базу \"%s\" в качестве шаблона нельзя"
 
-#: commands/dbcommands.c:988 commands/dbcommands.c:2380
-#: utils/init/postinit.c:1100
+#: commands/dbcommands.c:1000 commands/dbcommands.c:2448
+#: utils/init/postinit.c:1112
 #, c-format
 msgid "Use DROP DATABASE to drop invalid databases."
 msgstr "Выполните DROP DATABASE для удаления некорректных баз данных."
 
-#: commands/dbcommands.c:999
+#: commands/dbcommands.c:1011
 #, c-format
 msgid "permission denied to copy database \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° ÐºÐ¾Ð¿Ð¸Ñ\80ование базы данных \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f ÐºÐ¾Ð¿Ð¸Ñ\80ованиÑ\8f базы данных \"%s\""
 
-#: commands/dbcommands.c:1016
+#: commands/dbcommands.c:1028
 #, c-format
 msgid "invalid create database strategy \"%s\""
 msgstr "неверная стратегия создания БД \"%s\""
 
-#: commands/dbcommands.c:1017
+#: commands/dbcommands.c:1029
 #, c-format
 msgid "Valid strategies are \"wal_log\" and \"file_copy\"."
 msgstr "Возможные стратегии: \"wal_log\" и \"file_copy\"."
 
-#: commands/dbcommands.c:1043
+#: commands/dbcommands.c:1050
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "неверная кодировка для сервера: %d"
 
-#: commands/dbcommands.c:1049
+#: commands/dbcommands.c:1056
 #, c-format
 msgid "invalid LC_COLLATE locale name: \"%s\""
 msgstr "неверное имя локали LC_COLLATE: \"%s\""
 
-#: commands/dbcommands.c:1050 commands/dbcommands.c:1056
+#: commands/dbcommands.c:1057 commands/dbcommands.c:1063
 #, c-format
 msgid "If the locale name is specific to ICU, use ICU_LOCALE."
 msgstr "Если эта локаль свойственна ICU, используйте ICU_LOCALE."
 
-#: commands/dbcommands.c:1055
+#: commands/dbcommands.c:1062
 #, c-format
 msgid "invalid LC_CTYPE locale name: \"%s\""
 msgstr "неверное имя локали LC_CTYPE: \"%s\""
 
-#: commands/dbcommands.c:1066
+#: commands/dbcommands.c:1074
+#, c-format
+msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin"
+msgstr ""
+"BUILTIN_LOCALE можно указать, только если выбран встроенный провайдер локали"
+
+#: commands/dbcommands.c:1082
+#, c-format
+msgid "ICU locale cannot be specified unless locale provider is ICU"
+msgstr "локаль ICU можно указать, только если выбран провайдер локали ICU"
+
+#: commands/dbcommands.c:1100
+#, c-format
+msgid "LOCALE or BUILTIN_LOCALE must be specified"
+msgstr "необходимо указать LOCALE или BUILTIN_LOCALE"
+
+#: commands/dbcommands.c:1109
 #, c-format
 msgid "encoding \"%s\" is not supported with ICU provider"
 msgstr "кодировка \"%s\" не поддерживается провайдером ICU"
 
-#: commands/dbcommands.c:1076
+#: commands/dbcommands.c:1119
 #, c-format
 msgid "LOCALE or ICU_LOCALE must be specified"
 msgstr "необходимо задать LOCALE или ICU_LOCALE"
 
-#: commands/dbcommands.c:1105
-#, c-format
-msgid "ICU locale cannot be specified unless locale provider is ICU"
-msgstr "локаль ICU можно указать, только если выбран провайдер локали ICU"
-
-#: commands/dbcommands.c:1128
+#: commands/dbcommands.c:1163
 #, c-format
 msgid ""
 "new encoding (%s) is incompatible with the encoding of the template database "
@@ -8230,7 +8629,7 @@ msgid ""
 msgstr ""
 "новая кодировка (%s) несовместима с кодировкой шаблона базы данных (%s)"
 
-#: commands/dbcommands.c:1131
+#: commands/dbcommands.c:1166
 #, c-format
 msgid ""
 "Use the same encoding as in the template database, or use template0 as "
@@ -8239,7 +8638,7 @@ msgstr ""
 "Используйте кодировку шаблона базы данных или выберите в качестве шаблона "
 "template0."
 
-#: commands/dbcommands.c:1136
+#: commands/dbcommands.c:1171
 #, c-format
 msgid ""
 "new collation (%s) is incompatible with the collation of the template "
@@ -8248,7 +8647,7 @@ msgstr ""
 "новое правило сортировки (%s) несовместимо с правилом в шаблоне базы данных "
 "(%s)"
 
-#: commands/dbcommands.c:1138
+#: commands/dbcommands.c:1173
 #, c-format
 msgid ""
 "Use the same collation as in the template database, or use template0 as "
@@ -8257,7 +8656,7 @@ msgstr ""
 "Используйте то же правило сортировки, что и в шаблоне базы данных, или "
 "выберите в качестве шаблона template0."
 
-#: commands/dbcommands.c:1143
+#: commands/dbcommands.c:1178
 #, c-format
 msgid ""
 "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database "
@@ -8266,7 +8665,7 @@ msgstr ""
 "новый параметр LC_CTYPE (%s) несовместим с LC_CTYPE в шаблоне базы данных "
 "(%s)"
 
-#: commands/dbcommands.c:1145
+#: commands/dbcommands.c:1180
 #, c-format
 msgid ""
 "Use the same LC_CTYPE as in the template database, or use template0 as "
@@ -8275,7 +8674,7 @@ msgstr ""
 "Используйте тот же LC_CTYPE, что и в шаблоне базы данных, или выберите в "
 "качестве шаблона template0."
 
-#: commands/dbcommands.c:1150
+#: commands/dbcommands.c:1185
 #, c-format
 msgid ""
 "new locale provider (%s) does not match locale provider of the template "
@@ -8284,7 +8683,7 @@ msgstr ""
 "новый провайдер локали (%s) не соответствует провайдеру локали в базе-"
 "шаблоне (%s)"
 
-#: commands/dbcommands.c:1152
+#: commands/dbcommands.c:1187
 #, c-format
 msgid ""
 "Use the same locale provider as in the template database, or use template0 "
@@ -8293,14 +8692,14 @@ msgstr ""
 "Используйте тот же провайдер локали, что и в базе-шаблоне, или выберите в "
 "качестве шаблона template0."
 
-#: commands/dbcommands.c:1164
+#: commands/dbcommands.c:1199
 #, c-format
 msgid ""
 "new ICU locale (%s) is incompatible with the ICU locale of the template "
 "database (%s)"
 msgstr "новая локаль ICU (%s) несовместима с локалью ICU в базе-шаблоне (%s)"
 
-#: commands/dbcommands.c:1166
+#: commands/dbcommands.c:1201
 #, c-format
 msgid ""
 "Use the same ICU locale as in the template database, or use template0 as "
@@ -8309,7 +8708,7 @@ msgstr ""
 "Используйте ту же локаль ICU, что и в базе-шаблоне, или выберите в качестве "
 "шаблона template0."
 
-#: commands/dbcommands.c:1177
+#: commands/dbcommands.c:1212
 #, c-format
 msgid ""
 "new ICU collation rules (%s) are incompatible with the ICU collation rules "
@@ -8318,7 +8717,7 @@ msgstr ""
 "новые правила сортировки ICU (%s) несовместимы с правилами сортировки в "
 "шаблоне базы данных (%s)"
 
-#: commands/dbcommands.c:1179
+#: commands/dbcommands.c:1214
 #, c-format
 msgid ""
 "Use the same ICU collation rules as in the template database, or use "
@@ -8327,7 +8726,7 @@ msgstr ""
 "Используйте те же правила сортировки, что и в шаблоне базы данных, или "
 "выберите в качестве шаблона template0."
 
-#: commands/dbcommands.c:1202
+#: commands/dbcommands.c:1243
 #, c-format
 msgid ""
 "template database \"%s\" has a collation version, but no actual collation "
@@ -8336,13 +8735,13 @@ msgstr ""
 "в шаблоне \"%s\" имеется версия правила сортировки, но фактическую версию "
 "правила сортировки определить нельзя"
 
-#: commands/dbcommands.c:1207
+#: commands/dbcommands.c:1248
 #, c-format
 msgid "template database \"%s\" has a collation version mismatch"
 msgstr ""
 "в базе-шаблоне \"%s\" обнаружено несоответствие версии правила сортировки"
 
-#: commands/dbcommands.c:1209
+#: commands/dbcommands.c:1250
 #, c-format
 msgid ""
 "The template database was created using collation version %s, but the "
@@ -8351,7 +8750,7 @@ msgstr ""
 "База-шаблон была создана с версией правила сортировки %s, но операционная "
 "система предоставляет версию %s."
 
-#: commands/dbcommands.c:1212
+#: commands/dbcommands.c:1253
 #, c-format
 msgid ""
 "Rebuild all objects in the template database that use the default collation "
@@ -8362,18 +8761,18 @@ msgstr ""
 "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо "
 "соберите PostgreSQL с правильной версией библиотеки."
 
-#: commands/dbcommands.c:1248 commands/dbcommands.c:1980
+#: commands/dbcommands.c:1298 commands/dbcommands.c:2048
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr ""
 "pg_global нельзя использовать в качестве табличного пространства по умолчанию"
 
-#: commands/dbcommands.c:1274
+#: commands/dbcommands.c:1324
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "не удалось назначить новое табличное пространство по умолчанию \"%s\""
 
-#: commands/dbcommands.c:1276
+#: commands/dbcommands.c:1326
 #, c-format
 msgid ""
 "There is a conflict because database \"%s\" already has some tables in this "
@@ -8382,62 +8781,63 @@ msgstr ""
 "База данных \"%s\" содержит таблицы, которые уже находятся в этом табличном "
 "пространстве."
 
-#: commands/dbcommands.c:1306 commands/dbcommands.c:1853
+#: commands/dbcommands.c:1356 commands/dbcommands.c:1921
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "база данных \"%s\" уже существует"
 
-#: commands/dbcommands.c:1320
+#: commands/dbcommands.c:1370
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "исходная база \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:1342
+#: commands/dbcommands.c:1392
 #, c-format
 msgid "database OID %u is already in use by database \"%s\""
 msgstr "OID базы данных %u уже используется базой данных \"%s\""
 
-#: commands/dbcommands.c:1348
+#: commands/dbcommands.c:1398
 #, c-format
 msgid "data directory with the specified OID %u already exists"
 msgstr "каталог данных с указанным OID %u уже существует"
 
-#: commands/dbcommands.c:1520 commands/dbcommands.c:1535
+#: commands/dbcommands.c:1571 commands/dbcommands.c:1586
+#: utils/adt/pg_locale.c:2565
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "кодировка \"%s\" не соответствует локали \"%s\""
 
-#: commands/dbcommands.c:1523
+#: commands/dbcommands.c:1574
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_CTYPE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:1538
+#: commands/dbcommands.c:1589
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_COLLATE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:1619
+#: commands/dbcommands.c:1672
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "база данных \"%s\" не существует, пропускается"
 
-#: commands/dbcommands.c:1643
+#: commands/dbcommands.c:1696
 #, c-format
 msgid "cannot drop a template database"
 msgstr "удалить шаблон базы данных нельзя"
 
-#: commands/dbcommands.c:1649
+#: commands/dbcommands.c:1702
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "удалить базу данных, открытую в данный момент, нельзя"
 
-#: commands/dbcommands.c:1662
+#: commands/dbcommands.c:1715
 #, c-format
 msgid "database \"%s\" is used by an active logical replication slot"
 msgstr "база \"%s\" используется активным слотом логической репликации"
 
-#: commands/dbcommands.c:1664
+#: commands/dbcommands.c:1717
 #, c-format
 msgid "There is %d active slot."
 msgid_plural "There are %d active slots."
@@ -8445,12 +8845,12 @@ msgstr[0] "Обнаружен %d активный слот."
 msgstr[1] "Обнаружены %d активных слота."
 msgstr[2] "Обнаружено %d активных слотов."
 
-#: commands/dbcommands.c:1678
+#: commands/dbcommands.c:1731
 #, c-format
 msgid "database \"%s\" is being used by logical replication subscription"
 msgstr "база \"%s\" используется в подписке с логической репликацией"
 
-#: commands/dbcommands.c:1680
+#: commands/dbcommands.c:1733
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
@@ -8458,36 +8858,36 @@ msgstr[0] "Обнаружена %d подписка."
 msgstr[1] "Обнаружены %d подписки."
 msgstr[2] "Обнаружено %d подписок."
 
-#: commands/dbcommands.c:1701 commands/dbcommands.c:1875
-#: commands/dbcommands.c:2002
+#: commands/dbcommands.c:1754 commands/dbcommands.c:1943
+#: commands/dbcommands.c:2070
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "база данных \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:1835
+#: commands/dbcommands.c:1903
 #, c-format
 msgid "permission denied to rename database"
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¿ÐµÑ\80еименование базы данных"
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¿ÐµÑ\80еименованиÑ\8f базы данных"
 
-#: commands/dbcommands.c:1864
+#: commands/dbcommands.c:1932
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "нельзя переименовать текущую базу данных"
 
-#: commands/dbcommands.c:1958
+#: commands/dbcommands.c:2026
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr ""
 "изменить табличное пространство открытой в данный момент базы данных нельзя"
 
-#: commands/dbcommands.c:2064
+#: commands/dbcommands.c:2132
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr ""
 "некоторые отношения базы данных \"%s\" уже находятся в табличном "
 "пространстве \"%s\""
 
-#: commands/dbcommands.c:2066
+#: commands/dbcommands.c:2134
 #, c-format
 msgid ""
 "You must move them back to the database's default tablespace before using "
@@ -8496,38 +8896,38 @@ msgstr ""
 "Прежде чем выполнять эту команду, вы должны вернуть их назад в табличное "
 "пространство по умолчанию для этой базы данных."
 
-#: commands/dbcommands.c:2193 commands/dbcommands.c:2909
-#: commands/dbcommands.c:3209 commands/dbcommands.c:3322
+#: commands/dbcommands.c:2261 commands/dbcommands.c:2996
+#: commands/dbcommands.c:3296 commands/dbcommands.c:3409
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "в старом каталоге базы данных \"%s\" могли остаться ненужные файлы"
 
-#: commands/dbcommands.c:2254
+#: commands/dbcommands.c:2322
 #, c-format
 msgid "unrecognized DROP DATABASE option \"%s\""
 msgstr "нераспознанный параметр DROP DATABASE: \"%s\""
 
-#: commands/dbcommands.c:2332
+#: commands/dbcommands.c:2400
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "параметр \"%s\" нельзя задать с другими параметрами"
 
-#: commands/dbcommands.c:2379
+#: commands/dbcommands.c:2447
 #, c-format
 msgid "cannot alter invalid database \"%s\""
 msgstr "изменить свойства некорректной базы \"%s\" нельзя"
 
-#: commands/dbcommands.c:2396
+#: commands/dbcommands.c:2464
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "запретить подключения к текущей базе данных нельзя"
 
-#: commands/dbcommands.c:2611
+#: commands/dbcommands.c:2690
 #, c-format
 msgid "permission denied to change owner of database"
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ владельца базы данных"
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f владельца базы данных"
 
-#: commands/dbcommands.c:3015
+#: commands/dbcommands.c:3102
 #, c-format
 msgid ""
 "There are %d other session(s) and %d prepared transaction(s) using the "
@@ -8536,7 +8936,7 @@ msgstr ""
 "С этой базой данных связаны другие сеансы (%d) и подготовленные транзакции "
 "(%d)."
 
-#: commands/dbcommands.c:3018
+#: commands/dbcommands.c:3105
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
@@ -8544,7 +8944,7 @@ msgstr[0] "Эта база данных используется ещё в %d с
 msgstr[1] "Эта база данных используется ещё в %d сеансах."
 msgstr[2] "Эта база данных используется ещё в %d сеансах."
 
-#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3797
+#: commands/dbcommands.c:3110 storage/ipc/procarray.c:3859
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -8552,204 +8952,204 @@ msgstr[0] "С этой базой данных связана %d подгото
 msgstr[1] "С этой базой данных связаны %d подготовленные транзакции."
 msgstr[2] "С этой базой данных связаны %d подготовленных транзакций."
 
-#: commands/dbcommands.c:3165
+#: commands/dbcommands.c:3252
 #, c-format
 msgid "missing directory \"%s\""
 msgstr "отсутствует каталог \"%s\""
 
-#: commands/dbcommands.c:3223 commands/tablespace.c:190
-#: commands/tablespace.c:639
+#: commands/dbcommands.c:3310 commands/tablespace.c:184
+#: commands/tablespace.c:633
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "не удалось получить информацию о каталоге \"%s\": %m"
 
-#: commands/define.c:54 commands/define.c:258 commands/define.c:290
-#: commands/define.c:318 commands/define.c:364
+#: commands/define.c:53 commands/define.c:257 commands/define.c:289
+#: commands/define.c:317 commands/define.c:363
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s требует параметр"
 
-#: commands/define.c:87 commands/define.c:98 commands/define.c:192
-#: commands/define.c:210 commands/define.c:225 commands/define.c:243
+#: commands/define.c:86 commands/define.c:97 commands/define.c:191
+#: commands/define.c:209 commands/define.c:224 commands/define.c:242
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s требует числовое значение"
 
-#: commands/define.c:154
+#: commands/define.c:153
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "%s требует логическое значение"
 
-#: commands/define.c:168 commands/define.c:177 commands/define.c:327
+#: commands/define.c:167 commands/define.c:176 commands/define.c:326
 #, c-format
 msgid "%s requires an integer value"
 msgstr "%s требует целое значение"
 
-#: commands/define.c:272
+#: commands/define.c:271
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "аргументом %s должно быть имя"
 
-#: commands/define.c:302
+#: commands/define.c:301
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "аргументом %s должно быть имя типа"
 
-#: commands/define.c:348
+#: commands/define.c:347
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "неверный аргумент для %s: \"%s\""
 
-#: commands/dropcmds.c:101 commands/functioncmds.c:1387
-#: utils/adt/ruleutils.c:2895
+#: commands/dropcmds.c:96 commands/functioncmds.c:1382
+#: utils/adt/ruleutils.c:2905
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "функция \"%s\" является агрегатной"
 
-#: commands/dropcmds.c:103
+#: commands/dropcmds.c:98
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций."
 
-#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3706
-#: commands/tablecmds.c:3864 commands/tablecmds.c:3916
-#: commands/tablecmds.c:16524 tcop/utility.c:1336
+#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3872
+#: commands/tablecmds.c:4030 commands/tablecmds.c:4082
+#: commands/tablecmds.c:17058 tcop/utility.c:1325
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "отношение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1281
+#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1392
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "схема \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277
+#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "тип \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:257
+#: commands/dropcmds.c:252
 #, c-format
 msgid "access method \"%s\" does not exist, skipping"
 msgstr "метод доступа \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:275
+#: commands/dropcmds.c:270
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "правило сортировки \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:282
+#: commands/dropcmds.c:277
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "преобразование \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:654
+#: commands/dropcmds.c:288 commands/statscmds.c:664
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "объект статистики \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:300
+#: commands/dropcmds.c:295
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "анализатор текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:307
+#: commands/dropcmds.c:302
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "словарь текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:314
+#: commands/dropcmds.c:309
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "шаблон текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:321
+#: commands/dropcmds.c:316
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "конфигурация текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:326
+#: commands/dropcmds.c:321
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "расширение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:336
+#: commands/dropcmds.c:331
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:349
+#: commands/dropcmds.c:344
 #, c-format
 msgid "procedure %s(%s) does not exist, skipping"
 msgstr "процедура %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:362
+#: commands/dropcmds.c:357
 #, c-format
 msgid "routine %s(%s) does not exist, skipping"
 msgstr "подпрограмма %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:370
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "агрегатная функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:388
+#: commands/dropcmds.c:383
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "оператор %s не существует, пропускается"
 
-#: commands/dropcmds.c:394
+#: commands/dropcmds.c:389
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "язык \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:403
+#: commands/dropcmds.c:398
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "приведение %s к типу %s не существует, пропускается"
 
-#: commands/dropcmds.c:412
+#: commands/dropcmds.c:407
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "преобразование для типа %s, языка \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:420
+#: commands/dropcmds.c:415
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "триггер \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:429
+#: commands/dropcmds.c:424
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "политика \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:436
+#: commands/dropcmds.c:431
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "событийный триггер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:442
+#: commands/dropcmds.c:437
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "правило \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:449
+#: commands/dropcmds.c:444
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "обёртка сторонних данных \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:453 commands/foreigncmds.c:1360
+#: commands/dropcmds.c:448 commands/foreigncmds.c:1360
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "сервер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:462
+#: commands/dropcmds.c:457
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr ""
 "класс операторов \"%s\" не существует для метода доступа \"%s\", пропускается"
 
-#: commands/dropcmds.c:474
+#: commands/dropcmds.c:469
 #, c-format
 msgid ""
 "operator family \"%s\" does not exist for access method \"%s\", skipping"
@@ -8757,179 +9157,189 @@ msgstr ""
 "семейство операторов \"%s\" не существует для метода доступа \"%s\", "
 "пропускается"
 
-#: commands/dropcmds.c:481
+#: commands/dropcmds.c:476
 #, c-format
 msgid "publication \"%s\" does not exist, skipping"
 msgstr "публикация \"%s\" не существует, пропускается"
 
-#: commands/event_trigger.c:125
+#: commands/event_trigger.c:137
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание событийного триггера \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f событийного триггера \"%s\""
 
-#: commands/event_trigger.c:127
+#: commands/event_trigger.c:139
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Для создания событийного триггера нужно быть суперпользователем."
 
-#: commands/event_trigger.c:136
+#: commands/event_trigger.c:149
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "нераспознанное имя события \"%s\""
 
-#: commands/event_trigger.c:153
+#: commands/event_trigger.c:166
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "нераспознанная переменная фильтра \"%s\""
 
-#: commands/event_trigger.c:207
+#: commands/event_trigger.c:181
+#, c-format
+msgid "tag filtering is not supported for login event triggers"
+msgstr "фильтрация по тегу для событийных триггеров входа не поддерживается"
+
+#: commands/event_trigger.c:224
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "значение фильтра \"%s\" неприемлемо для переменной фильтра \"%s\""
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:213 commands/event_trigger.c:235
+#: commands/event_trigger.c:230 commands/event_trigger.c:252
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "для %s событийные триггеры не поддерживаются"
 
-#: commands/event_trigger.c:248
+#: commands/event_trigger.c:265
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "переменная фильтра \"%s\" указана больше одного раза"
 
-#: commands/event_trigger.c:376 commands/event_trigger.c:420
-#: commands/event_trigger.c:514
+#: commands/event_trigger.c:435 commands/event_trigger.c:487
+#: commands/event_trigger.c:581
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "событийный триггер \"%s\" не существует"
 
-#: commands/event_trigger.c:452
+#: commands/event_trigger.c:519
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "событийный триггер с OID %u не существует"
 
-#: commands/event_trigger.c:482
+#: commands/event_trigger.c:549
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ владельца событийного триггера \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f владельца событийного триггера \"%s\""
 
-#: commands/event_trigger.c:484
+#: commands/event_trigger.c:551
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Владельцем событийного триггера должен быть суперпользователь."
 
-#: commands/event_trigger.c:1304
+#: commands/event_trigger.c:1411
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции sql_drop"
 
-#: commands/event_trigger.c:1397 commands/event_trigger.c:1418
+#: commands/event_trigger.c:1504 commands/event_trigger.c:1525
 #, c-format
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite"
 
-#: commands/event_trigger.c:1831
+#: commands/event_trigger.c:1938
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции"
 
-#: commands/explain.c:220
+#: commands/explain.c:241 commands/explain.c:266
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "нераспознанное значение параметра EXPLAIN \"%s\": \"%s\""
 
-#: commands/explain.c:227
+#: commands/explain.c:273
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "нераспознанный параметр EXPLAIN: \"%s\""
 
-#: commands/explain.c:236
+#: commands/explain.c:282
 #, c-format
 msgid "EXPLAIN option WAL requires ANALYZE"
 msgstr "параметр WAL оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/explain.c:245
+#: commands/explain.c:291
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/explain.c:251
+#: commands/explain.c:297
+#, c-format
+msgid "EXPLAIN option SERIALIZE requires ANALYZE"
+msgstr "параметр SERIALIZE оператора EXPLAIN требует указания ANALYZE"
+
+#: commands/explain.c:303
 #, c-format
 msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together"
 msgstr ""
 "параметры ANALYZE и GENERIC_PLAN оператора EXPLAIN нельзя использовать "
 "одновременно"
 
-#: commands/extension.c:177 commands/extension.c:3033
+#: commands/extension.c:178 commands/extension.c:3031
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "расширение \"%s\" не существует"
 
-#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297
-#: commands/extension.c:307
+#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298
+#: commands/extension.c:308
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "неверное имя расширения: \"%s\""
 
-#: commands/extension.c:277
+#: commands/extension.c:278
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Имя расширения не может быть пустым."
 
-#: commands/extension.c:286
+#: commands/extension.c:287
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Имя расширения не может содержать \"--\"."
 
-#: commands/extension.c:298
+#: commands/extension.c:299
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Имя расширения не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:308
+#: commands/extension.c:309
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Имя расширения не может содержать разделители пути."
 
-#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341
-#: commands/extension.c:351
+#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342
+#: commands/extension.c:352
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "неверный идентификатор версии расширения: \"%s\""
 
-#: commands/extension.c:324
+#: commands/extension.c:325
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Идентификатор версии не может быть пустым."
 
-#: commands/extension.c:333
+#: commands/extension.c:334
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Идентификатор версии не может содержать \"--\"."
 
-#: commands/extension.c:342
+#: commands/extension.c:343
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr ""
 "Идентификатор версии не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:352
+#: commands/extension.c:353
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Идентификатор версии не может содержать разделители пути."
 
-#: commands/extension.c:506
+#: commands/extension.c:507
 #, c-format
 msgid "extension \"%s\" is not available"
 msgstr "расширение \"%s\" отсутствует"
 
-#: commands/extension.c:507
+#: commands/extension.c:508
 #, c-format
 msgid "Could not open extension control file \"%s\": %m."
 msgstr "Не удалось открыть управляющий файл расширения \"%s\": %m."
 
-#: commands/extension.c:509
+#: commands/extension.c:510
 #, c-format
 msgid ""
 "The extension must first be installed on the system where PostgreSQL is "
@@ -8937,91 +9347,91 @@ msgid ""
 msgstr ""
 "Сначала расширение нужно установить в системе, где работает PostgreSQL."
 
-#: commands/extension.c:513
+#: commands/extension.c:514
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "не удалось открыть управляющий файл расширения \"%s\": %m"
 
-#: commands/extension.c:536 commands/extension.c:546
+#: commands/extension.c:537 commands/extension.c:547
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr ""
 "параметр \"%s\" нельзя задавать в дополнительном управляющем файле расширения"
 
-#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584
-#: utils/misc/guc.c:3100
+#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585
+#: utils/misc/guc.c:3147
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "параметр \"%s\" требует логическое значение"
 
-#: commands/extension.c:593
+#: commands/extension.c:594
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "\"%s\" не является верным названием кодировки"
 
-#: commands/extension.c:607 commands/extension.c:622
+#: commands/extension.c:608 commands/extension.c:623
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "параметр \"%s\" должен содержать список имён расширений"
 
-#: commands/extension.c:629
+#: commands/extension.c:630
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "нераспознанный параметр \"%s\" в файле \"%s\""
 
-#: commands/extension.c:638
+#: commands/extension.c:639
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr ""
 "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true"
 
-#: commands/extension.c:816
+#: commands/extension.c:817
 #, c-format
 msgid ""
 "transaction control statements are not allowed within an extension script"
 msgstr "в скрипте расширения не должно быть операторов управления транзакциями"
 
-#: commands/extension.c:896
+#: commands/extension.c:897
 #, c-format
 msgid "permission denied to create extension \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание расширения \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f расширения \"%s\""
 
-#: commands/extension.c:899
+#: commands/extension.c:900
 #, c-format
 msgid ""
 "Must have CREATE privilege on current database to create this extension."
 msgstr "Для создания этого расширения нужно иметь право CREATE в текущей базе."
 
-#: commands/extension.c:900
+#: commands/extension.c:901
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Для создания этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:904
+#: commands/extension.c:905
 #, c-format
 msgid "permission denied to update extension \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ расширения \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f расширения \"%s\""
 
-#: commands/extension.c:907
+#: commands/extension.c:908
 #, c-format
 msgid ""
 "Must have CREATE privilege on current database to update this extension."
 msgstr ""
 "Для обновления этого расширения нужно иметь право CREATE в текущей базе."
 
-#: commands/extension.c:908
+#: commands/extension.c:909
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Для изменения этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:1046
+#: commands/extension.c:1042
 #, c-format
 msgid "invalid character in extension owner: must not contain any of \"%s\""
 msgstr ""
 "недопустимый символ в имени владельца расширения: имя не должно содержать "
 "\"%s\""
 
-#: commands/extension.c:1070 commands/extension.c:1097
+#: commands/extension.c:1066 commands/extension.c:1093
 #, c-format
 msgid ""
 "invalid character in extension \"%s\" schema: must not contain any of \"%s\""
@@ -9029,7 +9439,7 @@ msgstr ""
 "недопустимый символ в имени схемы расширения \"%s\": имя не должно содержать "
 "\"%s\""
 
-#: commands/extension.c:1292
+#: commands/extension.c:1288
 #, c-format
 msgid ""
 "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
@@ -9037,12 +9447,12 @@ msgstr ""
 "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии "
 "\"%s\""
 
-#: commands/extension.c:1500 commands/extension.c:3091
+#: commands/extension.c:1496 commands/extension.c:3089
 #, c-format
 msgid "version to install must be specified"
 msgstr "нужно указать версию для установки"
 
-#: commands/extension.c:1537
+#: commands/extension.c:1533
 #, c-format
 msgid ""
 "extension \"%s\" has no installation script nor update path for version "
@@ -9051,71 +9461,71 @@ msgstr ""
 "для расширения \"%s\" не определён путь установки или обновления для версии "
 "\"%s\""
 
-#: commands/extension.c:1571
+#: commands/extension.c:1567
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\""
 
-#: commands/extension.c:1731
+#: commands/extension.c:1727
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "выявлена циклическая зависимость между расширениями \"%s\" и \"%s\""
 
-#: commands/extension.c:1736
+#: commands/extension.c:1732
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "установка требуемого расширения \"%s\""
 
-#: commands/extension.c:1759
+#: commands/extension.c:1755
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "требуемое расширение \"%s\" не установлено"
 
-#: commands/extension.c:1762
+#: commands/extension.c:1758
 #, c-format
 msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too."
 msgstr ""
 "Выполните CREATE EXTENSION ... CASCADE, чтобы установить также требуемые "
 "расширения."
 
-#: commands/extension.c:1797
+#: commands/extension.c:1793
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "расширение \"%s\" уже существует, пропускается"
 
-#: commands/extension.c:1804
+#: commands/extension.c:1800
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "расширение \"%s\" уже существует"
 
-#: commands/extension.c:1815
+#: commands/extension.c:1811
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "вложенные операторы CREATE EXTENSION не поддерживаются"
 
-#: commands/extension.c:1979
+#: commands/extension.c:1975
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "удалить расширение \"%s\" нельзя, так как это модифицируемый объект"
 
-#: commands/extension.c:2454
+#: commands/extension.c:2450
 #, c-format
 msgid "%s can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr ""
 "%s можно вызывать только из SQL-скрипта, запускаемого командой CREATE "
 "EXTENSION"
 
-#: commands/extension.c:2466
+#: commands/extension.c:2462
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u не относится к таблице"
 
-#: commands/extension.c:2471
+#: commands/extension.c:2467
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "таблица \"%s\" не относится к созданному расширению"
 
-#: commands/extension.c:2817
+#: commands/extension.c:2813
 #, c-format
 msgid ""
 "cannot move extension \"%s\" into schema \"%s\" because the extension "
@@ -9124,12 +9534,12 @@ msgstr ""
 "переместить расширение \"%s\" в схему \"%s\" нельзя, так как оно содержит "
 "схему"
 
-#: commands/extension.c:2858 commands/extension.c:2952
+#: commands/extension.c:2854 commands/extension.c:2948
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "расширение \"%s\" не поддерживает SET SCHEMA"
 
-#: commands/extension.c:2915
+#: commands/extension.c:2911
 #, c-format
 msgid ""
 "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it"
@@ -9137,32 +9547,32 @@ msgstr ""
 "выполнить SET SCHEMA для расширения \"%s\" нельзя, так как этому "
 "препятствуют другие расширения"
 
-#: commands/extension.c:2917
+#: commands/extension.c:2913
 #, c-format
 msgid "Extension \"%s\" requests no relocation of extension \"%s\"."
 msgstr "Расширение \"%s\" не допускает перемещения расширения \"%s\"."
 
-#: commands/extension.c:2954
+#: commands/extension.c:2950
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "объект %s не принадлежит схеме расширения \"%s\""
 
-#: commands/extension.c:3013
+#: commands/extension.c:3011
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "вложенные операторы ALTER EXTENSION не поддерживаются"
 
-#: commands/extension.c:3102
+#: commands/extension.c:3100
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "версия \"%s\" расширения \"%s\" уже установлена"
 
-#: commands/extension.c:3314
+#: commands/extension.c:3311
 #, c-format
 msgid "cannot add an object of this type to an extension"
 msgstr "добавить объект этого типа к расширению нельзя"
 
-#: commands/extension.c:3380
+#: commands/extension.c:3409
 #, c-format
 msgid ""
 "cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
@@ -9171,7 +9581,12 @@ msgstr ""
 "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит "
 "расширение"
 
-#: commands/extension.c:3474
+#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725
+#, c-format
+msgid "could not find multirange type for data type %s"
+msgstr "тип мультидиапазона для типа данных %s не найден"
+
+#: commands/extension.c:3532
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "файл \"%s\" слишком большой"
@@ -9189,7 +9604,7 @@ msgstr "параметр \"%s\" указан неоднократно"
 #: commands/foreigncmds.c:221 commands/foreigncmds.c:229
 #, c-format
 msgid "permission denied to change owner of foreign-data wrapper \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ владельца обёртки сторонних данных \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f владельца обёртки сторонних данных \"%s\""
 
 #: commands/foreigncmds.c:223
 #, c-format
@@ -9202,7 +9617,7 @@ msgstr ""
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Владельцем обёртки сторонних данных должен быть суперпользователь."
 
-#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678
+#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "обёртка сторонних данных \"%s\" не существует"
@@ -9220,7 +9635,7 @@ msgstr "сторонний сервер с OID %u не существует"
 #: commands/foreigncmds.c:580
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание обёртки сторонних данных \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f обёртки сторонних данных \"%s\""
 
 #: commands/foreigncmds.c:582
 #, c-format
@@ -9230,7 +9645,7 @@ msgstr "Для создания обёртки сторонних данных 
 #: commands/foreigncmds.c:697
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ обёртки сторонних данных \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f обёртки сторонних данных \"%s\""
 
 #: commands/foreigncmds.c:699
 #, c-format
@@ -9284,7 +9699,7 @@ msgstr ""
 "сопоставление пользователя \"%s\" для сервера \"%s\" не существует, "
 "пропускается"
 
-#: commands/foreigncmds.c:1507 foreign/foreign.c:391
+#: commands/foreigncmds.c:1507 foreign/foreign.c:404
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "обёртка сторонних данных \"%s\" не имеет обработчика"
@@ -9299,151 +9714,151 @@ msgstr "обёртка сторонних данных \"%s\" не поддер
 msgid "importing foreign table \"%s\""
 msgstr "импорт сторонней таблицы \"%s\""
 
-#: commands/functioncmds.c:109
+#: commands/functioncmds.c:104
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-функция не может возвращать тип-пустышку %s"
 
-#: commands/functioncmds.c:114
+#: commands/functioncmds.c:109
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "возвращаемый тип %s - лишь пустышка"
 
-#: commands/functioncmds.c:143 parser/parse_type.c:354
+#: commands/functioncmds.c:138 parser/parse_type.c:354
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "для типа-пустышки \"%s\" нельзя указать модификатор типа"
 
-#: commands/functioncmds.c:149
+#: commands/functioncmds.c:144
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "тип \"%s\" ещё не определён"
 
-#: commands/functioncmds.c:150
+#: commands/functioncmds.c:145
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Создание определения типа-пустышки."
 
-#: commands/functioncmds.c:249
+#: commands/functioncmds.c:244
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-функция не может принимать значение типа-пустышки %s"
 
-#: commands/functioncmds.c:255
+#: commands/functioncmds.c:250
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "агрегатная функция не может принимать значение типа-пустышки %s"
 
-#: commands/functioncmds.c:260
+#: commands/functioncmds.c:255
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "тип аргумента %s - лишь пустышка"
 
-#: commands/functioncmds.c:270
+#: commands/functioncmds.c:265
 #, c-format
 msgid "type %s does not exist"
 msgstr "тип %s не существует"
 
-#: commands/functioncmds.c:284
+#: commands/functioncmds.c:279
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "агрегатные функции не принимают в аргументах множества"
 
-#: commands/functioncmds.c:288
+#: commands/functioncmds.c:283
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "процедуры не принимают в аргументах множества"
 
-#: commands/functioncmds.c:292
+#: commands/functioncmds.c:287
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "функции не принимают аргументы-множества"
 
-#: commands/functioncmds.c:302
+#: commands/functioncmds.c:297
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "параметр VARIADIC должен быть последним в списке входных параметров"
 
-#: commands/functioncmds.c:322
+#: commands/functioncmds.c:317
 #, c-format
 msgid "VARIADIC parameter must be the last parameter"
 msgstr "параметр VARIADIC должен быть последним в списке параметров"
 
-#: commands/functioncmds.c:347
+#: commands/functioncmds.c:342
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "параметр VARIADIC должен быть массивом"
 
-#: commands/functioncmds.c:392
+#: commands/functioncmds.c:387
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "имя параметра \"%s\" указано неоднократно"
 
-#: commands/functioncmds.c:410
+#: commands/functioncmds.c:405
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "значения по умолчанию могут быть только у входных параметров"
 
-#: commands/functioncmds.c:425
+#: commands/functioncmds.c:420
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "в значениях параметров по умолчанию нельзя ссылаться на таблицы"
 
-#: commands/functioncmds.c:449
+#: commands/functioncmds.c:444
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr ""
 "входные параметры, следующие за параметром со значением по умолчанию, также "
 "должны иметь значения по умолчанию"
 
-#: commands/functioncmds.c:459
+#: commands/functioncmds.c:454
 #, c-format
 msgid "procedure OUT parameters cannot appear after one with a default value"
 msgstr ""
 "в объявлении процедуры параметры OUT не могут находиться после параметра со "
 "значением по умолчанию"
 
-#: commands/functioncmds.c:601 commands/functioncmds.c:780
+#: commands/functioncmds.c:596 commands/functioncmds.c:775
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "некорректный атрибут в определении процедуры"
 
-#: commands/functioncmds.c:697
+#: commands/functioncmds.c:692
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "вспомогательная функция %s должна возвращать тип %s"
 
-#: commands/functioncmds.c:708
+#: commands/functioncmds.c:703
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "для указания вспомогательной функции нужно быть суперпользователем"
 
-#: commands/functioncmds.c:829 commands/functioncmds.c:1432
+#: commands/functioncmds.c:824 commands/functioncmds.c:1427
 #, c-format
 msgid "COST must be positive"
 msgstr "значение COST должно быть положительным"
 
-#: commands/functioncmds.c:837 commands/functioncmds.c:1440
+#: commands/functioncmds.c:832 commands/functioncmds.c:1435
 #, c-format
 msgid "ROWS must be positive"
 msgstr "значение ROWS должно быть положительным"
 
-#: commands/functioncmds.c:866
+#: commands/functioncmds.c:861
 #, c-format
 msgid "no function body specified"
 msgstr "не указано тело функции"
 
-#: commands/functioncmds.c:871
+#: commands/functioncmds.c:866
 #, c-format
 msgid "duplicate function body specified"
 msgstr "тело функции задано неоднократно"
 
-#: commands/functioncmds.c:876
+#: commands/functioncmds.c:871
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
 msgstr "встроенное тело функции SQL допускается только для языка SQL"
 
-#: commands/functioncmds.c:918
+#: commands/functioncmds.c:913
 #, c-format
 msgid ""
 "SQL function with unquoted function body cannot have polymorphic arguments"
@@ -9451,84 +9866,84 @@ msgstr ""
 "у SQL-функции с телом, задаваемым не в кавычках, не может быть полиморфных "
 "аргументов"
 
-#: commands/functioncmds.c:944 commands/functioncmds.c:963
+#: commands/functioncmds.c:939 commands/functioncmds.c:958
 #, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
 msgstr ""
 "%s на данный момент не поддерживается в теле SQL-функции, задаваемом не в "
 "кавычках"
 
-#: commands/functioncmds.c:991
+#: commands/functioncmds.c:986
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "для языка \"%s\" нужно только одно выражение AS"
 
-#: commands/functioncmds.c:1096
+#: commands/functioncmds.c:1091
 #, c-format
 msgid "no language specified"
 msgstr "язык не указан"
 
-#: commands/functioncmds.c:1104 commands/functioncmds.c:2105
-#: commands/proclang.c:237
+#: commands/functioncmds.c:1099 commands/functioncmds.c:2117
+#: commands/proclang.c:235
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "язык \"%s\" не существует"
 
-#: commands/functioncmds.c:1106 commands/functioncmds.c:2107
+#: commands/functioncmds.c:1101 commands/functioncmds.c:2119
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Выполните CREATE EXTENSION, чтобы загрузить язык в базу данных."
 
-#: commands/functioncmds.c:1139 commands/functioncmds.c:1424
+#: commands/functioncmds.c:1134 commands/functioncmds.c:1419
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr ""
 "только суперпользователь может определить функцию с атрибутом LEAKPROOF"
 
-#: commands/functioncmds.c:1190
+#: commands/functioncmds.c:1185
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr ""
 "результат функции должен иметь тип %s (в соответствии с параметрами OUT)"
 
-#: commands/functioncmds.c:1203
+#: commands/functioncmds.c:1198
 #, c-format
 msgid "function result type must be specified"
 msgstr "необходимо указать тип результата функции"
 
-#: commands/functioncmds.c:1256 commands/functioncmds.c:1444
+#: commands/functioncmds.c:1251 commands/functioncmds.c:1439
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "указание ROWS неприменимо, когда функция возвращает не множество"
 
-#: commands/functioncmds.c:1547
+#: commands/functioncmds.c:1546
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "исходный тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1553
+#: commands/functioncmds.c:1552
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "целевой тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1577
+#: commands/functioncmds.c:1576
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как исходные данные имеют тип домен"
 
-#: commands/functioncmds.c:1582
+#: commands/functioncmds.c:1581
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как целевые данные имеют тип домен"
 
-#: commands/functioncmds.c:1607
+#: commands/functioncmds.c:1606
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "функция приведения должна принимать от одного до трёх аргументов"
 
-#: commands/functioncmds.c:1613
+#: commands/functioncmds.c:1612
 #, c-format
 msgid ""
 "argument of cast function must match or be binary-coercible from source data "
@@ -9537,17 +9952,17 @@ msgstr ""
 "аргумент функции приведения должен совпадать или быть двоично-совместимым с "
 "исходным типом данных"
 
-#: commands/functioncmds.c:1617
+#: commands/functioncmds.c:1616
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "второй аргумент функции приведения должен иметь тип %s"
 
-#: commands/functioncmds.c:1622
+#: commands/functioncmds.c:1621
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "третий аргумент функции приведения должен иметь тип %s"
 
-#: commands/functioncmds.c:1629
+#: commands/functioncmds.c:1628
 #, c-format
 msgid ""
 "return data type of cast function must match or be binary-coercible to "
@@ -9556,127 +9971,132 @@ msgstr ""
 "тип возвращаемых данных функции приведения должен совпадать или быть двоично-"
 "совместимым с целевым типом данных"
 
-#: commands/functioncmds.c:1640
+#: commands/functioncmds.c:1639
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "функция приведения не может быть изменчивой (volatile)"
 
-#: commands/functioncmds.c:1645
+#: commands/functioncmds.c:1644
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "функция приведения должна быть обычной функцией"
 
-#: commands/functioncmds.c:1649
+#: commands/functioncmds.c:1648
 #, c-format
 msgid "cast function must not return a set"
 msgstr "функция приведения не может возвращать множество"
 
-#: commands/functioncmds.c:1675
+#: commands/functioncmds.c:1674
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "для создания приведения WITHOUT FUNCTION нужно быть суперпользователем"
 
-#: commands/functioncmds.c:1690
+#: commands/functioncmds.c:1689
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "исходный и целевой типы данных несовместимы физически"
 
-#: commands/functioncmds.c:1705
+#: commands/functioncmds.c:1709
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "составные типы данных несовместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1711
-#, c-format
-msgid "enum data types are not binary-compatible"
-msgstr "типы-перечисления несовместимы на двоичном уровне"
-
-#: commands/functioncmds.c:1717
+#: commands/functioncmds.c:1715
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "типы-массивы несовместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1734
+#: commands/functioncmds.c:1723
+#, c-format
+msgid "range data types are not binary-compatible"
+msgstr "диапазонные типы несовместимы на двоичном уровне"
+
+#: commands/functioncmds.c:1729
+#, c-format
+msgid "enum data types are not binary-compatible"
+msgstr "типы-перечисления несовместимы на двоичном уровне"
+
+#: commands/functioncmds.c:1746
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "типы-домены не могут считаться двоично-совместимыми"
 
-#: commands/functioncmds.c:1744
+#: commands/functioncmds.c:1756
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "исходный тип данных совпадает с целевым"
 
-#: commands/functioncmds.c:1777
+#: commands/functioncmds.c:1789
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "функция преобразования не может быть изменчивой"
 
-#: commands/functioncmds.c:1781
+#: commands/functioncmds.c:1793
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "функция преобразования должна быть обычной функцией"
 
-#: commands/functioncmds.c:1785
+#: commands/functioncmds.c:1797
 #, c-format
 msgid "transform function must not return a set"
 msgstr "функция преобразования не может возвращать множество"
 
-#: commands/functioncmds.c:1789
+#: commands/functioncmds.c:1801
 #, c-format
 msgid "transform function must take one argument"
 msgstr "функция преобразования должна принимать один аргумент"
 
-#: commands/functioncmds.c:1793
+#: commands/functioncmds.c:1805
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "первый аргумент функции преобразования должен иметь тип %s"
 
-#: commands/functioncmds.c:1832
+#: commands/functioncmds.c:1844
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1838
+#: commands/functioncmds.c:1850
 #, c-format
 msgid "data type %s is a domain"
 msgstr "тип данных \"%s\" является доменом"
 
-#: commands/functioncmds.c:1878
+#: commands/functioncmds.c:1890
 #, c-format
 msgid "return data type of FROM SQL function must be %s"
 msgstr "результат функции FROM SQL должен иметь тип %s"
 
-#: commands/functioncmds.c:1904
+#: commands/functioncmds.c:1916
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "результат функции TO SQL должен иметь тип данных преобразования"
 
-#: commands/functioncmds.c:1931
+#: commands/functioncmds.c:1943
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "преобразование для типа %s, языка \"%s\" уже существует"
 
-#: commands/functioncmds.c:2017
+#: commands/functioncmds.c:2029
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "преобразование для типа %s, языка \"%s\" не существует"
 
-#: commands/functioncmds.c:2041
+#: commands/functioncmds.c:2053
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "функция %s уже существует в схеме \"%s\""
 
-#: commands/functioncmds.c:2092
+#: commands/functioncmds.c:2104
 #, c-format
 msgid "no inline code specified"
 msgstr "нет внедрённого кода"
 
-#: commands/functioncmds.c:2138
+#: commands/functioncmds.c:2150
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода"
 
-#: commands/functioncmds.c:2233
+#: commands/functioncmds.c:2245
 #, c-format
 msgid "cannot pass more than %d argument to a procedure"
 msgid_plural "cannot pass more than %d arguments to a procedure"
@@ -9684,97 +10104,100 @@ msgstr[0] "процедуре нельзя передать больше %d ар
 msgstr[1] "процедуре нельзя передать больше %d аргументов"
 msgstr[2] "процедуре нельзя передать больше %d аргументов"
 
-#: commands/indexcmds.c:640
+#: commands/indexcmds.c:647
 #, c-format
 msgid "must specify at least one column"
 msgstr "нужно указать минимум один столбец"
 
-#: commands/indexcmds.c:644
+#: commands/indexcmds.c:651
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "число столбцов в индексе не может превышать %d"
 
-#: commands/indexcmds.c:687
+#: commands/indexcmds.c:694
 #, c-format
 msgid "cannot create index on relation \"%s\""
 msgstr "создать индекс для отношения \"%s\" нельзя"
 
-#: commands/indexcmds.c:713
+#: commands/indexcmds.c:720
 #, c-format
 msgid "cannot create index on partitioned table \"%s\" concurrently"
 msgstr ""
 "создать индекс в секционированной таблице \"%s\" параллельным способом нельзя"
 
-#: commands/indexcmds.c:718
-#, c-format
-msgid "cannot create exclusion constraints on partitioned table \"%s\""
-msgstr ""
-"создать ограничение-исключение в секционированной таблице \"%s\" нельзя"
-
-#: commands/indexcmds.c:728
+#: commands/indexcmds.c:730
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "создавать индексы во временных таблицах других сеансов нельзя"
 
-#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184
+#: commands/indexcmds.c:768 commands/tablecmds.c:801 commands/tablespace.c:1178
 #, c-format
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr ""
 "для секционированных отношений нельзя назначить табличное пространство по "
 "умолчанию"
 
-#: commands/indexcmds.c:798 commands/tablecmds.c:815 commands/tablecmds.c:3405
+#: commands/indexcmds.c:800 commands/tablecmds.c:832 commands/tablecmds.c:3571
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr ""
 "в табличное пространство pg_global можно поместить только разделяемые таблицы"
 
-#: commands/indexcmds.c:831
+#: commands/indexcmds.c:833
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "устаревший метод доступа \"rtree\" подменяется методом \"gist\""
 
-#: commands/indexcmds.c:852
+#: commands/indexcmds.c:854
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "метод доступа \"%s\" не поддерживает уникальные индексы"
 
-#: commands/indexcmds.c:857
+#: commands/indexcmds.c:859
 #, c-format
 msgid "access method \"%s\" does not support included columns"
 msgstr "метод доступа \"%s\" не поддерживает включаемые столбцы"
 
-#: commands/indexcmds.c:862
+#: commands/indexcmds.c:864
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "метод доступа \"%s\" не поддерживает индексы по многим столбцам"
 
-#: commands/indexcmds.c:867
+#: commands/indexcmds.c:869
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "метод доступа \"%s\" не поддерживает ограничения-исключения"
 
-#: commands/indexcmds.c:994
+#: commands/indexcmds.c:998
 #, c-format
 msgid "cannot match partition key to an index using access method \"%s\""
 msgstr ""
 "сопоставить ключ секционирования с индексом, использующим метод доступа "
 "\"%s\", нельзя"
 
-#: commands/indexcmds.c:1004
+#: commands/indexcmds.c:1008
 #, c-format
 msgid "unsupported %s constraint with partition key definition"
 msgstr ""
 "неподдерживаемое ограничение \"%s\" с определением ключа секционирования"
 
-#: commands/indexcmds.c:1006
+#: commands/indexcmds.c:1010
 #, c-format
 msgid "%s constraints cannot be used when partition keys include expressions."
 msgstr ""
 "Ограничения %s не могут использоваться, когда ключи секционирования включают "
 "выражения."
 
-#: commands/indexcmds.c:1048
+#: commands/indexcmds.c:1060
+#, c-format
+msgid ""
+"cannot match partition key to index on column \"%s\" using non-equal "
+"operator \"%s\""
+msgstr ""
+"сопоставить ключ секционирования с индексом, построенному по столбцу \"%s\" "
+"с оператором неравенства \"%s\", нельзя"
+
+#: commands/indexcmds.c:1076
 #, c-format
 msgid ""
 "unique constraint on partitioned table must include all partitioning columns"
@@ -9782,7 +10205,7 @@ msgstr ""
 "ограничение уникальности в секционированной таблице должно включать все "
 "секционирующие столбцы"
 
-#: commands/indexcmds.c:1049
+#: commands/indexcmds.c:1077
 #, c-format
 msgid ""
 "%s constraint on table \"%s\" lacks column \"%s\" which is part of the "
@@ -9791,92 +10214,92 @@ msgstr ""
 "В ограничении %s таблицы \"%s\" не хватает столбца \"%s\", входящего в ключ "
 "секционирования."
 
-#: commands/indexcmds.c:1068 commands/indexcmds.c:1087
+#: commands/indexcmds.c:1096 commands/indexcmds.c:1115
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "создание индекса для системных столбцов не поддерживается"
 
-#: commands/indexcmds.c:1316 tcop/utility.c:1526
+#: commands/indexcmds.c:1345 tcop/utility.c:1515
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "создать уникальный индекс в секционированной таблице \"%s\" нельзя"
 
-#: commands/indexcmds.c:1318 tcop/utility.c:1528
+#: commands/indexcmds.c:1347 tcop/utility.c:1517
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "Таблица \"%s\" содержит секции, являющиеся сторонними таблицами."
 
-#: commands/indexcmds.c:1803
+#: commands/indexcmds.c:1832
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2522
-#: parser/parse_utilcmd.c:2657
+#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2491
+#: parser/parse_utilcmd.c:2626
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "указанный в ключе столбец \"%s\" не существует"
 
-#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1821
+#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1779
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "выражения во включаемых столбцах не поддерживаются"
 
-#: commands/indexcmds.c:1946
+#: commands/indexcmds.c:1976
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "функции в индексном выражении должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1961
+#: commands/indexcmds.c:1991
 #, c-format
 msgid "including column does not support a collation"
 msgstr "включаемые столбцы не поддерживают правила сортировки"
 
-#: commands/indexcmds.c:1965
+#: commands/indexcmds.c:1995
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "включаемые столбцы не поддерживают классы операторов"
 
-#: commands/indexcmds.c:1969
+#: commands/indexcmds.c:1999
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "включаемые столбцы не поддерживают сортировку ASC/DESC"
 
-#: commands/indexcmds.c:1973
+#: commands/indexcmds.c:2003
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "включаемые столбцы не поддерживают указания NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:2014
+#: commands/indexcmds.c:2046
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "не удалось определить правило сортировки для индексного выражения"
 
-#: commands/indexcmds.c:2022 commands/tablecmds.c:17534 commands/typecmds.c:807
-#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3783
-#: utils/adt/misc.c:586
+#: commands/indexcmds.c:2054 commands/tablecmds.c:18075 commands/typecmds.c:811
+#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3743
+#: utils/adt/misc.c:630
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "тип %s не поддерживает сортировку (COLLATION)"
 
-#: commands/indexcmds.c:2087
+#: commands/indexcmds.c:2121
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "оператор %s не коммутативен"
 
-#: commands/indexcmds.c:2089
+#: commands/indexcmds.c:2123
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr ""
 "В ограничениях-исключениях могут использоваться только коммутативные "
 "операторы."
 
-#: commands/indexcmds.c:2115
+#: commands/indexcmds.c:2149
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "оператор \"%s\" не входит в семейство операторов \"%s\""
 
-#: commands/indexcmds.c:2118
+#: commands/indexcmds.c:2152
 #, c-format
 msgid ""
 "The exclusion operator must be related to the index operator class for the "
@@ -9885,25 +10308,25 @@ msgstr ""
 "Оператор исключения для ограничения должен относиться к классу операторов "
 "индекса."
 
-#: commands/indexcmds.c:2153
+#: commands/indexcmds.c:2187
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "метод доступа \"%s\" не поддерживает сортировку ASC/DESC"
 
-#: commands/indexcmds.c:2158
+#: commands/indexcmds.c:2192
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "метод доступа \"%s\" не поддерживает параметр NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:2204 commands/tablecmds.c:17559
-#: commands/tablecmds.c:17565 commands/typecmds.c:2301
+#: commands/indexcmds.c:2236 commands/tablecmds.c:18100
+#: commands/tablecmds.c:18106 commands/typecmds.c:2311
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 "для типа данных %s не определён класс операторов по умолчанию для метода "
 "доступа \"%s\""
 
-#: commands/indexcmds.c:2206
+#: commands/indexcmds.c:2238
 #, c-format
 msgid ""
 "You must specify an operator class for the index or define a default "
@@ -9912,86 +10335,89 @@ msgstr ""
 "Вы должны указать класс операторов для индекса или определить класс "
 "операторов по умолчанию для этого типа данных."
 
-#: commands/indexcmds.c:2235 commands/indexcmds.c:2243
-#: commands/opclasscmds.c:205
+#: commands/indexcmds.c:2267 commands/indexcmds.c:2275
+#: commands/opclasscmds.c:204
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/indexcmds.c:2257 commands/typecmds.c:2289
+#: commands/indexcmds.c:2289 commands/typecmds.c:2299
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "класс операторов \"%s\" не принимает тип данных %s"
 
-#: commands/indexcmds.c:2347
+#: commands/indexcmds.c:2379
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 "для типа данных %s определено несколько классов операторов по умолчанию"
 
-#: commands/indexcmds.c:2675
+#: commands/indexcmds.c:2707
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "нераспознанный параметр REINDEX: \"%s\""
 
-#: commands/indexcmds.c:2899
+#: commands/indexcmds.c:2939
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr ""
 "в таблице \"%s\" нет индексов, которые можно переиндексировать неблокирующим "
 "способом"
 
-#: commands/indexcmds.c:2913
+#: commands/indexcmds.c:2953
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "в таблице \"%s\" нет индексов для переиндексации"
 
-#: commands/indexcmds.c:2958 commands/indexcmds.c:3468
-#: commands/indexcmds.c:3596
+#: commands/indexcmds.c:3000 commands/indexcmds.c:3511
+#: commands/indexcmds.c:3641
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "Переиндексировать системные каталоги неблокирующим способом нельзя"
 
-#: commands/indexcmds.c:2981
+#: commands/indexcmds.c:3024
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "переиндексировать можно только текущую базу данных"
 
-#: commands/indexcmds.c:3075
+#: commands/indexcmds.c:3116
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr ""
 "все системные каталоги пропускаются, так как их нельзя переиндексировать "
 "неблокирующим способом"
 
-#: commands/indexcmds.c:3108
+#: commands/indexcmds.c:3149
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "переместить системные отношения нельзя, все они пропускаются"
 
-#: commands/indexcmds.c:3154
+#: commands/indexcmds.c:3195
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "при переиндексировании секционированной таблицы \"%s.%s\""
 
-#: commands/indexcmds.c:3157
+#: commands/indexcmds.c:3198
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "при перестроении секционированного индекса \"%s.%s\""
 
-#: commands/indexcmds.c:3348 commands/indexcmds.c:4204
+#: commands/indexcmds.c:3391 commands/indexcmds.c:4259
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "таблица \"%s.%s\" переиндексирована"
 
-#: commands/indexcmds.c:3500 commands/indexcmds.c:3552
+#: commands/indexcmds.c:3543 commands/indexcmds.c:3596
 #, c-format
-msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping"
-msgstr ""
-"перестроить нерабочий индекс \"%s.%s\" неблокирующим способом нельзя, он "
-"пропускается"
+msgid "skipping reindex of invalid index \"%s.%s\""
+msgstr "индекс \"%s.%s\" — нерабочий, переиндексация пропускается"
+
+#: commands/indexcmds.c:3546 commands/indexcmds.c:3599
+#, c-format
+msgid "Use DROP INDEX or REINDEX INDEX."
+msgstr "Выполните DROP INDEX или REINDEX INDEX."
 
-#: commands/indexcmds.c:3506
+#: commands/indexcmds.c:3550
 #, c-format
 msgid ""
 "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
@@ -9999,51 +10425,51 @@ msgstr ""
 "перестроить индекс ограничения-исключения \"%s.%s\" неблокирующим способом "
 "нельзя, он пропускается"
 
-#: commands/indexcmds.c:3661
+#: commands/indexcmds.c:3706
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "переиндексировать отношение такого типа неблокирующим способом нельзя"
 
-#: commands/indexcmds.c:3682
+#: commands/indexcmds.c:3724
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr ""
 "переместить отношение, не являющееся разделяемым, в табличное пространство "
 "\"%s\" нельзя"
 
-#: commands/indexcmds.c:4185 commands/indexcmds.c:4197
+#: commands/indexcmds.c:4240 commands/indexcmds.c:4252
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "индекс \"%s.%s\" был перестроен"
 
-#: commands/indexcmds.c:4187 commands/indexcmds.c:4206
+#: commands/indexcmds.c:4242 commands/indexcmds.c:4261
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/lockcmds.c:92
+#: commands/lockcmds.c:91
 #, c-format
 msgid "cannot lock relation \"%s\""
 msgstr "заблокировать отношение \"%s\" нельзя"
 
-#: commands/matview.c:193
+#: commands/matview.c:206
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr ""
 "CONCURRENTLY нельзя использовать, когда материализованное представление не "
 "наполнено"
 
-#: commands/matview.c:199 gram.y:18306
+#: commands/matview.c:212 gram.y:18911
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "параметры %s и %s исключают друг друга"
 
-#: commands/matview.c:256
+#: commands/matview.c:269
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "обновить материализованное представление \"%s\" параллельно нельзя"
 
-#: commands/matview.c:259
+#: commands/matview.c:272
 #, c-format
 msgid ""
 "Create a unique index with no WHERE clause on one or more columns of the "
@@ -10052,7 +10478,7 @@ msgstr ""
 "Создайте уникальный индекс без предложения WHERE для одного или нескольких "
 "столбцов материализованного представления."
 
-#: commands/matview.c:653
+#: commands/matview.c:666
 #, c-format
 msgid ""
 "new data for materialized view \"%s\" contains duplicate rows without any "
@@ -10061,107 +10487,107 @@ msgstr ""
 "новые данные для материализованного представления \"%s\" содержат "
 "дублирующиеся строки (без учёта столбцов с NULL)"
 
-#: commands/matview.c:655
+#: commands/matview.c:668
 #, c-format
 msgid "Row: %s"
 msgstr "Строка: %s"
 
-#: commands/opclasscmds.c:124
+#: commands/opclasscmds.c:123
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/opclasscmds.c:267
+#: commands/opclasscmds.c:266
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:416
+#: commands/opclasscmds.c:415
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "для создания класса операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:493 commands/opclasscmds.c:910
-#: commands/opclasscmds.c:1056
+#: commands/opclasscmds.c:492 commands/opclasscmds.c:909
+#: commands/opclasscmds.c:1055
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "неверный номер оператора (%d), требуется число от 1 до %d"
 
-#: commands/opclasscmds.c:538 commands/opclasscmds.c:960
-#: commands/opclasscmds.c:1072
+#: commands/opclasscmds.c:537 commands/opclasscmds.c:959
+#: commands/opclasscmds.c:1071
 #, c-format
 msgid "invalid function number %d, must be between 1 and %d"
 msgstr "неверный номер функции (%d), требуется число от 1 до %d"
 
-#: commands/opclasscmds.c:567
+#: commands/opclasscmds.c:566
 #, c-format
 msgid "storage type specified more than once"
 msgstr "тип хранения указан неоднократно"
 
-#: commands/opclasscmds.c:594
+#: commands/opclasscmds.c:593
 #, c-format
 msgid ""
 "storage type cannot be different from data type for access method \"%s\""
 msgstr ""
 "тип хранения не может отличаться от типа данных для метода доступа \"%s\""
 
-#: commands/opclasscmds.c:610
+#: commands/opclasscmds.c:609
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:638
+#: commands/opclasscmds.c:637
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr ""
 "класс операторов \"%s\" не удалось сделать классом по умолчанию для типа %s"
 
-#: commands/opclasscmds.c:641
+#: commands/opclasscmds.c:640
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Класс операторов \"%s\" уже является классом по умолчанию."
 
-#: commands/opclasscmds.c:801
+#: commands/opclasscmds.c:800
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "для создания семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:861
+#: commands/opclasscmds.c:860
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "для изменения семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:919
+#: commands/opclasscmds.c:918
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY должны быть указаны типы аргументов оператора"
 
-#: commands/opclasscmds.c:994
+#: commands/opclasscmds.c:993
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY нельзя указать STORAGE"
 
-#: commands/opclasscmds.c:1128
+#: commands/opclasscmds.c:1127
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "нужно указать один или два типа аргументов"
 
-#: commands/opclasscmds.c:1154
+#: commands/opclasscmds.c:1153
 #, c-format
 msgid "index operators must be binary"
 msgstr "индексные операторы должны быть бинарными"
 
-#: commands/opclasscmds.c:1173
+#: commands/opclasscmds.c:1172
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "метод доступа \"%s\" не поддерживает сортирующие операторы"
 
-#: commands/opclasscmds.c:1184
+#: commands/opclasscmds.c:1183
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "операторы поиска по индексу должны возвращать логическое значение"
 
-#: commands/opclasscmds.c:1224
+#: commands/opclasscmds.c:1223
 #, c-format
 msgid ""
 "associated data types for operator class options parsing functions must "
@@ -10170,7 +10596,7 @@ msgstr ""
 "связанные типы данных для функций, разбирающих параметры класса операторов, "
 "должны совпадать с входным типом класса"
 
-#: commands/opclasscmds.c:1231
+#: commands/opclasscmds.c:1230
 #, c-format
 msgid ""
 "left and right associated data types for operator class options parsing "
@@ -10179,119 +10605,119 @@ msgstr ""
 "левый и правый типы данных для функций, разбирающих параметры класса "
 "операторов, должны совпадать"
 
-#: commands/opclasscmds.c:1239
+#: commands/opclasscmds.c:1238
 #, c-format
 msgid "invalid operator class options parsing function"
 msgstr "неправильная функция разбора параметров класса операторов"
 
-#: commands/opclasscmds.c:1240
+#: commands/opclasscmds.c:1239
 #, c-format
 msgid "Valid signature of operator class options parsing function is %s."
 msgstr ""
 "Правильная сигнатура функции, осуществляющей разбор параметров класса "
 "операторов: '%s'."
 
-#: commands/opclasscmds.c:1259
+#: commands/opclasscmds.c:1258
 #, c-format
 msgid "btree comparison functions must have two arguments"
 msgstr "функции сравнения btree должны иметь два аргумента"
 
-#: commands/opclasscmds.c:1263
+#: commands/opclasscmds.c:1262
 #, c-format
 msgid "btree comparison functions must return integer"
 msgstr "функции сравнения btree должны возвращать целое число"
 
-#: commands/opclasscmds.c:1280
+#: commands/opclasscmds.c:1279
 #, c-format
 msgid "btree sort support functions must accept type \"internal\""
 msgstr "опорные функции сортировки btree должны принимать тип \"internal\""
 
-#: commands/opclasscmds.c:1284
+#: commands/opclasscmds.c:1283
 #, c-format
 msgid "btree sort support functions must return void"
 msgstr "опорные функции сортировки btree должны возвращать пустое (void)"
 
-#: commands/opclasscmds.c:1295
+#: commands/opclasscmds.c:1294
 #, c-format
 msgid "btree in_range functions must have five arguments"
 msgstr "функции in_range для btree должны принимать пять аргументов"
 
-#: commands/opclasscmds.c:1299
+#: commands/opclasscmds.c:1298
 #, c-format
 msgid "btree in_range functions must return boolean"
 msgstr "функции in_range для btree должны возвращать логическое значение"
 
-#: commands/opclasscmds.c:1315
+#: commands/opclasscmds.c:1314
 #, c-format
 msgid "btree equal image functions must have one argument"
 msgstr "функции равенства образов btree должны иметь один аргумент"
 
-#: commands/opclasscmds.c:1319
+#: commands/opclasscmds.c:1318
 #, c-format
 msgid "btree equal image functions must return boolean"
 msgstr "функции равенства образов должны возвращать логическое значение"
 
-#: commands/opclasscmds.c:1332
+#: commands/opclasscmds.c:1331
 #, c-format
 msgid "btree equal image functions must not be cross-type"
 msgstr "функции равенства образов не должны быть межтиповыми"
 
-#: commands/opclasscmds.c:1342
+#: commands/opclasscmds.c:1341
 #, c-format
 msgid "hash function 1 must have one argument"
 msgstr "функция хеширования 1 должна принимать один аргумент"
 
-#: commands/opclasscmds.c:1346
+#: commands/opclasscmds.c:1345
 #, c-format
 msgid "hash function 1 must return integer"
 msgstr "функция хеширования 1 должна возвращать целое число"
 
-#: commands/opclasscmds.c:1353
+#: commands/opclasscmds.c:1352
 #, c-format
 msgid "hash function 2 must have two arguments"
 msgstr "функция хеширования 2 должна принимать два аргумента"
 
-#: commands/opclasscmds.c:1357
+#: commands/opclasscmds.c:1356
 #, c-format
 msgid "hash function 2 must return bigint"
 msgstr "функция хеширования 2 должна возвращать значение bigint"
 
-#: commands/opclasscmds.c:1382
+#: commands/opclasscmds.c:1381
 #, c-format
 msgid "associated data types must be specified for index support function"
 msgstr "для опорной функции индексов должны быть указаны связанные типы данных"
 
-#: commands/opclasscmds.c:1407
+#: commands/opclasscmds.c:1406
 #, c-format
 msgid "function number %d for (%s,%s) appears more than once"
 msgstr "номер функции %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1414
+#: commands/opclasscmds.c:1413
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "номер оператора %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1460
+#: commands/opclasscmds.c:1459
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "оператор %d(%s,%s) уже существует в семействе \"%s\""
 
-#: commands/opclasscmds.c:1566
+#: commands/opclasscmds.c:1565
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "функция %d(%s,%s) уже существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1647
+#: commands/opclasscmds.c:1646
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "оператор %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1687
+#: commands/opclasscmds.c:1686
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "функция %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1718
+#: commands/opclasscmds.c:1717
 #, c-format
 msgid ""
 "operator class \"%s\" for access method \"%s\" already exists in schema "
@@ -10300,7 +10726,7 @@ msgstr ""
 "класс операторов \"%s\" для метода доступа \"%s\" уже существует в схеме "
 "\"%s\""
 
-#: commands/opclasscmds.c:1741
+#: commands/opclasscmds.c:1740
 #, c-format
 msgid ""
 "operator family \"%s\" for access method \"%s\" already exists in schema "
@@ -10314,7 +10740,7 @@ msgstr ""
 msgid "SETOF type not allowed for operator argument"
 msgstr "аргументом оператора не может быть тип SETOF"
 
-#: commands/operatorcmds.c:154 commands/operatorcmds.c:481
+#: commands/operatorcmds.c:154 commands/operatorcmds.c:554
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "атрибут оператора \"%s\" не распознан"
@@ -10354,53 +10780,70 @@ msgstr "функция оценки соединения %s присутству
 msgid "join estimator function %s must return type %s"
 msgstr "функция оценки соединения %s должна возвращать тип %s"
 
-#: commands/operatorcmds.c:475
+#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637
+#: utils/adt/regproc.c:509 utils/adt/regproc.c:683
+#, c-format
+msgid "operator does not exist: %s"
+msgstr "оператор не существует: %s"
+
+#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815
+#, c-format
+msgid "operator is only a shell: %s"
+msgstr "оператор \"%s\" - лишь оболочка"
+
+#: commands/operatorcmds.c:548
 #, c-format
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "атрибут оператора \"%s\" нельзя изменить"
 
-#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149
-#: commands/tablecmds.c:1612 commands/tablecmds.c:2215
-#: commands/tablecmds.c:3516 commands/tablecmds.c:6365
-#: commands/tablecmds.c:9192 commands/tablecmds.c:17121
-#: commands/tablecmds.c:17156 commands/trigger.c:323 commands/trigger.c:1339
-#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275
-#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80
+#: commands/operatorcmds.c:615 commands/operatorcmds.c:622
+#: commands/operatorcmds.c:628 commands/operatorcmds.c:634
+#, c-format
+msgid "operator attribute \"%s\" cannot be changed if it has already been set"
+msgstr "атрибут оператора \"%s\" нельзя изменить, если он уже установлен"
+
+#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146
+#: commands/tablecmds.c:1723 commands/tablecmds.c:2323
+#: commands/tablecmds.c:3682 commands/tablecmds.c:6582
+#: commands/tablecmds.c:9614 commands/tablecmds.c:17662
+#: commands/tablecmds.c:17697 commands/trigger.c:316 commands/trigger.c:1332
+#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268
+#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "доступ запрещён: \"%s\" - это системный каталог"
 
-#: commands/policy.c:172
+#: commands/policy.c:169
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "все указанные роли, кроме PUBLIC, игнорируются"
 
-#: commands/policy.c:173
+#: commands/policy.c:170
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Роль PUBLIC включает в себя все остальные роли."
 
-#: commands/policy.c:606
+#: commands/policy.c:603
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK нельзя применить к SELECT или DELETE"
 
-#: commands/policy.c:615 commands/policy.c:918
+#: commands/policy.c:612 commands/policy.c:915
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "для INSERT допускается только выражение WITH CHECK"
 
-#: commands/policy.c:689 commands/policy.c:1141
+#: commands/policy.c:686 commands/policy.c:1138
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "политика \"%s\" для таблицы \"%s\" уже существует"
 
-#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240
+#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "политика \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/policy.c:908
+#: commands/policy.c:905
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "для SELECT, DELETE допускается только выражение USING"
@@ -10418,87 +10861,86 @@ msgstr ""
 "HOLD"
 
 #: commands/portalcmds.c:189 commands/portalcmds.c:242
-#: executor/execCurrent.c:70 utils/adt/xml.c:2854 utils/adt/xml.c:3024
+#: executor/execCurrent.c:70 utils/adt/xml.c:2915 utils/adt/xml.c:3085
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "курсор \"%s\" не существует"
 
-#: commands/prepare.c:75
+#: commands/prepare.c:72
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "неверный оператор: имя не должно быть пустым"
 
 # [SM]: TO REVIEW
-#: commands/prepare.c:230 commands/prepare.c:235
+#: commands/prepare.c:227 commands/prepare.c:232
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "подготовленный оператор - не SELECT"
 
-#: commands/prepare.c:295
+#: commands/prepare.c:292
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "неверное число параметров для подготовленного оператора \"%s\""
 
-#: commands/prepare.c:297
+#: commands/prepare.c:294
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "Ожидалось параметров: %d, получено: %d."
 
-#: commands/prepare.c:330
+#: commands/prepare.c:327
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "параметр $%d типа %s нельзя привести к ожидаемому типу %s"
 
 # [SM]: TO REVIEW
-#: commands/prepare.c:414
+#: commands/prepare.c:411
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "подготовленный оператор \"%s\" уже существует"
 
 # [SM]: TO REVIEW
-#: commands/prepare.c:453
+#: commands/prepare.c:450
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "подготовленный оператор \"%s\" не существует"
 
-#: commands/proclang.c:68
+#: commands/proclang.c:66
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr ""
 "для создания дополнительного процедурного языка нужно быть суперпользователем"
 
-#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208
-#: postmaster/postmaster.c:1306 storage/file/fd.c:3911
-#: utils/init/miscinit.c:1822
+#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108
+#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "неверный формат списка в параметре \"%s\""
 
-#: commands/publicationcmds.c:150
+#: commands/publicationcmds.c:143
 #, c-format
 msgid "unrecognized value for publication option \"%s\": \"%s\""
 msgstr "нераспознанное значение параметра публикации \"%s\": \"%s\""
 
-#: commands/publicationcmds.c:164
+#: commands/publicationcmds.c:157
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "нераспознанный параметр репликации: \"%s\""
 
-#: commands/publicationcmds.c:205
+#: commands/publicationcmds.c:198
 #, c-format
 msgid "no schema has been selected for CURRENT_SCHEMA"
 msgstr "для CURRENT_SCHEMA требуется, чтобы была выбрана схема"
 
-#: commands/publicationcmds.c:502
+#: commands/publicationcmds.c:495
 msgid "System columns are not allowed."
 msgstr "Системные столбцы не допускаются."
 
-#: commands/publicationcmds.c:509 commands/publicationcmds.c:514
-#: commands/publicationcmds.c:531
+#: commands/publicationcmds.c:502 commands/publicationcmds.c:507
+#: commands/publicationcmds.c:524
 msgid "User-defined operators are not allowed."
 msgstr "Пользовательские операторы не допускаются."
 
-#: commands/publicationcmds.c:555
+#: commands/publicationcmds.c:548
 msgid ""
 "Only columns, constants, built-in operators, built-in data types, built-in "
 "collations, and immutable built-in functions are allowed."
@@ -10506,43 +10948,43 @@ msgstr ""
 "Допускаются только столбцы, константы, встроенные операторы, встроенные типы "
 "данных, встроенные правила сортировки и встроенные постоянные функции."
 
-#: commands/publicationcmds.c:567
+#: commands/publicationcmds.c:560
 msgid "User-defined types are not allowed."
 msgstr "Пользовательские типы не допускаются."
 
-#: commands/publicationcmds.c:570
+#: commands/publicationcmds.c:563
 msgid "User-defined or built-in mutable functions are not allowed."
 msgstr "Пользовательские или встроенные непостоянные функции не допускаются."
 
-#: commands/publicationcmds.c:573
+#: commands/publicationcmds.c:566
 msgid "User-defined collations are not allowed."
 msgstr "Пользовательские правила сортировки не допускаются."
 
-#: commands/publicationcmds.c:583
+#: commands/publicationcmds.c:576
 #, c-format
 msgid "invalid publication WHERE expression"
 msgstr "неверное выражение в предложении WHERE публикации"
 
-#: commands/publicationcmds.c:636
+#: commands/publicationcmds.c:629
 #, c-format
 msgid "cannot use publication WHERE clause for relation \"%s\""
 msgstr ""
 "использовать в публикации предложение WHERE для отношения \"%s\" нельзя"
 
-#: commands/publicationcmds.c:638
+#: commands/publicationcmds.c:631
 #, c-format
 msgid "WHERE clause cannot be used for a partitioned table when %s is false."
 msgstr ""
 "Предложение WHERE нельзя использовать для секционированной таблицы, когда %s "
 "равен false."
 
-#: commands/publicationcmds.c:709 commands/publicationcmds.c:723
+#: commands/publicationcmds.c:702 commands/publicationcmds.c:716
 #, c-format
 msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\""
 msgstr ""
 "использовать список столбцов отношения \"%s.%s\" в публикации \"%s\" нельзя"
 
-#: commands/publicationcmds.c:712
+#: commands/publicationcmds.c:705
 #, c-format
 msgid ""
 "Column lists cannot be specified in publications containing FOR TABLES IN "
@@ -10551,7 +10993,7 @@ msgstr ""
 "Списки столбцов нельзя задавать в публикациях, содержащих элементы FOR "
 "TABLES IN SCHEMA."
 
-#: commands/publicationcmds.c:726
+#: commands/publicationcmds.c:719
 #, c-format
 msgid ""
 "Column lists cannot be specified for partitioned tables when %s is false."
@@ -10559,34 +11001,34 @@ msgstr ""
 "Списки столбцов нельзя задавать для секционированных таблиц, когда %s равен "
 "false."
 
-#: commands/publicationcmds.c:761
+#: commands/publicationcmds.c:754
 #, c-format
 msgid "must be superuser to create FOR ALL TABLES publication"
 msgstr "для создания публикации всех таблиц нужно быть суперпользователем"
 
-#: commands/publicationcmds.c:832
+#: commands/publicationcmds.c:825
 #, c-format
 msgid "must be superuser to create FOR TABLES IN SCHEMA publication"
 msgstr ""
 "для создания публикации вида FOR ALL TABLES IN SCHEMA нужно быть "
 "суперпользователем"
 
-#: commands/publicationcmds.c:868
+#: commands/publicationcmds.c:861
 #, c-format
-msgid "wal_level is insufficient to publish logical changes"
-msgstr "уровень wal_level недостаточен для публикации логических изменений"
+msgid "\"wal_level\" is insufficient to publish logical changes"
+msgstr "уровень \"wal_level\" недостаточен для публикации логических изменений"
 
-#: commands/publicationcmds.c:869
+#: commands/publicationcmds.c:862
 #, c-format
-msgid "Set wal_level to \"logical\" before creating subscriptions."
-msgstr "Задайте для wal_level значение \"logical\" до создания подписок."
+msgid "Set \"wal_level\" to \"logical\" before creating subscriptions."
+msgstr "Задайте для \"wal_level\" значение \"logical\" до создания подписок."
 
-#: commands/publicationcmds.c:965 commands/publicationcmds.c:973
+#: commands/publicationcmds.c:958 commands/publicationcmds.c:966
 #, c-format
 msgid "cannot set parameter \"%s\" to false for publication \"%s\""
 msgstr "параметру \"%s\" публикации \"%s\" нельзя присвоить false"
 
-#: commands/publicationcmds.c:968
+#: commands/publicationcmds.c:961
 #, c-format
 msgid ""
 "The publication contains a WHERE clause for partitioned table \"%s\", which "
@@ -10595,7 +11037,7 @@ msgstr ""
 "Публикация содержит предложение WHERE для секционированной таблицы \"%s\", "
 "что не допускается, когда \"%s\" равен false."
 
-#: commands/publicationcmds.c:976
+#: commands/publicationcmds.c:969
 #, c-format
 msgid ""
 "The publication contains a column list for partitioned table \"%s\", which "
@@ -10604,12 +11046,12 @@ msgstr ""
 "Публикация содержит список столбцов для секционированной таблицы \"%s\", что "
 "не допускается, когда \"%s\" равен false."
 
-#: commands/publicationcmds.c:1299
+#: commands/publicationcmds.c:1292
 #, c-format
 msgid "cannot add schema to publication \"%s\""
 msgstr "добавить схему в публикацию \"%s\" нельзя"
 
-#: commands/publicationcmds.c:1301
+#: commands/publicationcmds.c:1294
 #, c-format
 msgid ""
 "Schemas cannot be added if any tables that specify a column list are already "
@@ -10618,82 +11060,82 @@ msgstr ""
 "Схемы нельзя добавлять в публикацию, если в неё уже добавлены таблицы, для "
 "которых задан список столбцов."
 
-#: commands/publicationcmds.c:1349
+#: commands/publicationcmds.c:1342
 #, c-format
 msgid "must be superuser to add or set schemas"
 msgstr "для добавления или замены схем нужно быть суперпользователем"
 
-#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366
+#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "публикация \"%s\" определена для всех таблиц (FOR ALL TABLES)"
 
-#: commands/publicationcmds.c:1360
+#: commands/publicationcmds.c:1353
 #, c-format
 msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "В публикации вида FOR ALL TABLES нельзя добавлять или удалять таблицы."
 
-#: commands/publicationcmds.c:1368
+#: commands/publicationcmds.c:1361
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "В публикации всех таблиц нельзя добавлять или удалять таблицы."
 
-#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431
-#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592
+#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424
+#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "публикация \"%s\" не существует"
 
-#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657
+#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650
 #, c-format
 msgid "conflicting or redundant WHERE clauses for table \"%s\""
 msgstr "конфликтующие или избыточные предложения WHERE для таблицы \"%s\""
 
-#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669
+#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662
 #, c-format
 msgid "conflicting or redundant column lists for table \"%s\""
 msgstr "конфликтующие или избыточные списки столбцов для таблицы \"%s\""
 
-#: commands/publicationcmds.c:1803
+#: commands/publicationcmds.c:1796
 #, c-format
 msgid "column list must not be specified in ALTER PUBLICATION ... DROP"
 msgstr "в ALTER PUBLICATION ... DROP не должен задаваться список столбцов"
 
-#: commands/publicationcmds.c:1815
+#: commands/publicationcmds.c:1808
 #, c-format
 msgid "relation \"%s\" is not part of the publication"
 msgstr "отношение \"%s\" не включено в публикацию"
 
-#: commands/publicationcmds.c:1822
+#: commands/publicationcmds.c:1815
 #, c-format
 msgid "cannot use a WHERE clause when removing a table from a publication"
 msgstr "использовать WHERE при удалении таблицы из публикации нельзя"
 
-#: commands/publicationcmds.c:1882
+#: commands/publicationcmds.c:1875
 #, c-format
 msgid "tables from schema \"%s\" are not part of the publication"
 msgstr "таблицы из схемы \"%s\" не являются частью публикации"
 
-#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932
+#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925
 #, c-format
 msgid "permission denied to change owner of publication \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ владельца публикации \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f владельца публикации \"%s\""
 
-#: commands/publicationcmds.c:1927
+#: commands/publicationcmds.c:1920
 #, c-format
 msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgstr ""
 "Владельцем публикации всех таблиц (FOR ALL TABLES) должен быть "
 "суперпользователь."
 
-#: commands/publicationcmds.c:1934
+#: commands/publicationcmds.c:1927
 #, c-format
 msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser."
 msgstr ""
 "Владельцем публикации вида FOR TABLES IN SCHEMA должен быть "
 "суперпользователь."
 
-#: commands/publicationcmds.c:2000
+#: commands/publicationcmds.c:1993
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "публикация с OID %u не существует"
@@ -10741,170 +11183,170 @@ msgstr "метки безопасности не поддерживаются д
 msgid "cannot set security label on relation \"%s\""
 msgstr "задать метку безопасности для отношения \"%s\" нельзя"
 
-#: commands/sequence.c:754
+#: commands/sequence.c:748
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%lld)"
 msgstr ""
 "функция nextval достигла максимума для последовательности \"%s\" (%lld)"
 
-#: commands/sequence.c:773
+#: commands/sequence.c:767
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%lld)"
 msgstr "функция nextval достигла минимума для последовательности \"%s\" (%lld)"
 
-#: commands/sequence.c:891
+#: commands/sequence.c:886
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr ""
 "текущее значение (currval) для последовательности \"%s\" ещё не определено в "
 "этом сеансе"
 
-#: commands/sequence.c:910 commands/sequence.c:916
+#: commands/sequence.c:905 commands/sequence.c:911
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "последнее значение (lastval) ещё не определено в этом сеансе"
 
-#: commands/sequence.c:996
+#: commands/sequence.c:991
 #, c-format
 msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)"
 msgstr ""
 "функции setval передано значение %lld вне пределов последовательности "
 "\"%s\" (%lld..%lld)"
 
-#: commands/sequence.c:1365
+#: commands/sequence.c:1354
 #, c-format
 msgid "invalid sequence option SEQUENCE NAME"
 msgstr "неверное свойство последовательности SEQUENCE NAME"
 
-#: commands/sequence.c:1391
+#: commands/sequence.c:1380
 #, c-format
 msgid "identity column type must be smallint, integer, or bigint"
 msgstr ""
 "типом столбца идентификации может быть только smallint, integer или bigint"
 
-#: commands/sequence.c:1392
+#: commands/sequence.c:1381
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
 msgstr ""
 "типом последовательности может быть только smallint, integer или bigint"
 
-#: commands/sequence.c:1426
+#: commands/sequence.c:1415
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT не может быть нулевым"
 
-#: commands/sequence.c:1474
+#: commands/sequence.c:1463
 #, c-format
 msgid "MAXVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MAXVALUE (%lld) выходит за пределы типа данных последовательности %s"
 
-#: commands/sequence.c:1506
+#: commands/sequence.c:1495
 #, c-format
 msgid "MINVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MINVALUE (%lld) выходит за пределы типа данных последовательности %s"
 
-#: commands/sequence.c:1514
+#: commands/sequence.c:1503
 #, c-format
 msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)"
 msgstr "MINVALUE (%lld) должно быть меньше MAXVALUE (%lld)"
 
-#: commands/sequence.c:1535
+#: commands/sequence.c:1524
 #, c-format
 msgid "START value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "значение START (%lld) не может быть меньше MINVALUE (%lld)"
 
-#: commands/sequence.c:1541
+#: commands/sequence.c:1530
 #, c-format
 msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "значение START (%lld) не может быть больше MAXVALUE (%lld)"
 
-#: commands/sequence.c:1565
+#: commands/sequence.c:1554
 #, c-format
 msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "значение RESTART (%lld) не может быть меньше MINVALUE (%lld)"
 
-#: commands/sequence.c:1571
+#: commands/sequence.c:1560
 #, c-format
 msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "значение RESTART (%lld) не может быть больше MAXVALUE (%lld)"
 
-#: commands/sequence.c:1582
+#: commands/sequence.c:1571
 #, c-format
 msgid "CACHE (%lld) must be greater than zero"
 msgstr "значение CACHE (%lld) должно быть больше нуля"
 
-#: commands/sequence.c:1618
+#: commands/sequence.c:1607
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "неверное указание OWNED BY"
 
 # skip-rule: no-space-after-period
-#: commands/sequence.c:1619
+#: commands/sequence.c:1608
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Укажите OWNED BY таблица.столбец или OWNED BY NONE."
 
-#: commands/sequence.c:1644
+#: commands/sequence.c:1633
 #, c-format
 msgid "sequence cannot be owned by relation \"%s\""
 msgstr "последовательность не может принадлежать отношению \"%s\""
 
-#: commands/sequence.c:1652
+#: commands/sequence.c:1641
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr ""
 "последовательность должна иметь того же владельца, что и таблица, с которой "
 "она связана"
 
-#: commands/sequence.c:1656
+#: commands/sequence.c:1645
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr ""
 "последовательность должна быть в той же схеме, что и таблица, с которой она "
 "связана"
 
-#: commands/sequence.c:1678
+#: commands/sequence.c:1667
 #, c-format
 msgid "cannot change ownership of identity sequence"
 msgstr "сменить владельца последовательности идентификации нельзя"
 
-#: commands/sequence.c:1679 commands/tablecmds.c:13945
-#: commands/tablecmds.c:16544
+#: commands/sequence.c:1668 commands/tablecmds.c:14384
+#: commands/tablecmds.c:17078
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Последовательность \"%s\" связана с таблицей \"%s\"."
 
-#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1887
+#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883
 #, c-format
 msgid "only a single relation is allowed in CREATE STATISTICS"
 msgstr "в CREATE STATISTICS можно указать только одно отношение"
 
-#: commands/statscmds.c:136
+#: commands/statscmds.c:133
 #, c-format
 msgid "cannot define statistics for relation \"%s\""
 msgstr "для отношения \"%s\" нельзя определить объект статистики"
 
-#: commands/statscmds.c:190
+#: commands/statscmds.c:187
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "объект статистики \"%s\" уже существует, пропускается"
 
-#: commands/statscmds.c:198
+#: commands/statscmds.c:195
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "объект статистики \"%s\" уже существует"
 
-#: commands/statscmds.c:209
+#: commands/statscmds.c:206
 #, c-format
 msgid "cannot have more than %d columns in statistics"
 msgstr "в статистике не может быть больше %d столбцов"
 
-#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307
+#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "создание статистики для системных столбцов не поддерживается"
 
-#: commands/statscmds.c:257 commands/statscmds.c:280
+#: commands/statscmds.c:254 commands/statscmds.c:277
 #, c-format
 msgid ""
 "column \"%s\" cannot be used in statistics because its type %s has no "
@@ -10913,7 +11355,7 @@ msgstr ""
 "столбец \"%s\" нельзя использовать в статистике, так как для его типа %s не "
 "определён класс операторов B-дерева по умолчанию"
 
-#: commands/statscmds.c:324
+#: commands/statscmds.c:321
 #, c-format
 msgid ""
 "expression cannot be used in multivariate statistics because its type %s has "
@@ -10922,7 +11364,7 @@ msgstr ""
 "выражение нельзя использовать в многовариантной статистике, так как для его "
 "типа %s не определён класс операторов btree по умолчанию"
 
-#: commands/statscmds.c:345
+#: commands/statscmds.c:342
 #, c-format
 msgid ""
 "when building statistics on a single expression, statistics kinds may not be "
@@ -10931,76 +11373,76 @@ msgstr ""
 "при построении статистики по единственному выражению указывать виды "
 "статистики нельзя"
 
-#: commands/statscmds.c:374
+#: commands/statscmds.c:371
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "нераспознанный вид статистики \"%s\""
 
-#: commands/statscmds.c:403
+#: commands/statscmds.c:400
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "для расширенной статистики требуются минимум 2 столбца"
 
-#: commands/statscmds.c:421
+#: commands/statscmds.c:418
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "повторяющееся имя столбца в определении статистики"
 
-#: commands/statscmds.c:456
+#: commands/statscmds.c:453
 #, c-format
 msgid "duplicate expression in statistics definition"
 msgstr "повторяющееся выражение в определении статистики"
 
-#: commands/statscmds.c:619 commands/tablecmds.c:8187
+#: commands/statscmds.c:628 commands/tablecmds.c:8597
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "ориентир статистики слишком мал (%d)"
 
-#: commands/statscmds.c:627 commands/tablecmds.c:8195
+#: commands/statscmds.c:636 commands/tablecmds.c:8605
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "ориентир статистики снижается до %d"
 
-#: commands/statscmds.c:650
+#: commands/statscmds.c:660
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "объект статистики \"%s.%s\" не существует, пропускается"
 
-#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359
+#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "нераспознанный параметр подписки: \"%s\""
 
-#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:395
+#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397
 #, c-format
 msgid "unrecognized origin value: \"%s\""
 msgstr "нераспознанное значение origin: \"%s\""
 
-#: commands/subscriptioncmds.c:350
+#: commands/subscriptioncmds.c:363
 #, c-format
 msgid "invalid WAL location (LSN): %s"
 msgstr "неверная позиция в WAL (LSN): %s"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381
-#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410
-#: commands/subscriptioncmds.c:426
+#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394
+#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423
+#: commands/subscriptioncmds.c:439
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "указания %s и %s являются взаимоисключающими"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432
+#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "для подписки с параметром %s необходимо также задать %s"
 
-#: commands/subscriptioncmds.c:494
+#: commands/subscriptioncmds.c:506
 #, c-format
 msgid "could not receive list of publications from the publisher: %s"
 msgstr "не удалось получить список публикаций с публикующего сервера: %s"
 
-#: commands/subscriptioncmds.c:526
+#: commands/subscriptioncmds.c:538
 #, c-format
 msgid "publication %s does not exist on the publisher"
 msgid_plural "publications %s do not exist on the publisher"
@@ -11008,33 +11450,34 @@ msgstr[0] "публикация %s не существует на публику
 msgstr[1] "публикации %s не существуют на публикующем сервере"
 msgstr[2] "публикации %s не существуют на публикующем сервере"
 
-#: commands/subscriptioncmds.c:614
+#: commands/subscriptioncmds.c:626
 #, c-format
 msgid "permission denied to create subscription"
 msgstr "нет прав для создания подписки"
 
-#: commands/subscriptioncmds.c:615
+#: commands/subscriptioncmds.c:627
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create subscriptions."
 msgstr "Создавать подписки могут только роли с правами роли \"%s\"."
 
-#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878
-#: replication/logical/tablesync.c:1334 replication/logical/worker.c:4616
+#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891
+#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345
+#: replication/logical/worker.c:4503
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "не удалось подключиться к серверу публикации: %s"
 
-#: commands/subscriptioncmds.c:816
+#: commands/subscriptioncmds.c:829
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "на сервере публикации создан слот репликации \"%s\""
 
-#: commands/subscriptioncmds.c:828
+#: commands/subscriptioncmds.c:841
 #, c-format
 msgid "subscription was created, but is not connected"
 msgstr "подписка создана, но не подключена"
 
-#: commands/subscriptioncmds.c:829
+#: commands/subscriptioncmds.c:842
 #, c-format
 msgid ""
 "To initiate replication, you must manually create the replication slot, "
@@ -11043,36 +11486,43 @@ msgstr ""
 "Чтобы начать репликацию, вы должны вручную создать слот репликации, включить "
 "подписку, а затем обновить её."
 
-#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1509
-#: commands/subscriptioncmds.c:1892 utils/cache/lsyscache.c:3642
+#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590
+#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "подписка \"%s\" не существует"
 
-#: commands/subscriptioncmds.c:1152
+#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "для включённой подписки нельзя задать %s"
 
-#: commands/subscriptioncmds.c:1234
+#: commands/subscriptioncmds.c:1233
+#, c-format
+msgid ""
+"cannot set option \"%s\" for a subscription that does not have a slot name"
+msgstr ""
+"задать параметр \"%s\" для подписки, для которой не задано имя слота, нельзя"
+
+#: commands/subscriptioncmds.c:1279
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "включить подписку, для которой не задано имя слота, нельзя"
 
-#: commands/subscriptioncmds.c:1278 commands/subscriptioncmds.c:1329
+#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374
 #, c-format
 msgid ""
 "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr ""
 "ALTER SUBSCRIPTION с обновлением для отключённых подписок не допускается"
 
-#: commands/subscriptioncmds.c:1279
+#: commands/subscriptioncmds.c:1324
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr ""
 "Выполните ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1288 commands/subscriptioncmds.c:1343
+#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388
 #, c-format
 msgid ""
 "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase "
@@ -11081,7 +11531,7 @@ msgstr ""
 "ALTER SUBSCRIPTION с параметром публикации refresh в режиме copy_data не "
 "допускается, когда включён параметр two_phase"
 
-#: commands/subscriptioncmds.c:1289
+#: commands/subscriptioncmds.c:1334
 #, c-format
 msgid ""
 "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with "
@@ -11091,7 +11541,7 @@ msgstr ""
 "copy_data = false либо выполните DROP/CREATE SUBSCRIPTION."
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1345
+#: commands/subscriptioncmds.c:1390
 #, c-format
 msgid ""
 "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE "
@@ -11100,13 +11550,13 @@ msgstr ""
 "Выполните %s с refresh = false или с copy_data = false либо выполните DROP/"
 "CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1367
+#: commands/subscriptioncmds.c:1412
 #, c-format
 msgid ""
 "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH для отключённых подписок не допускается"
 
-#: commands/subscriptioncmds.c:1392
+#: commands/subscriptioncmds.c:1437
 #, c-format
 msgid ""
 "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase "
@@ -11115,7 +11565,7 @@ msgstr ""
 "ALTER SUBSCRIPTION ... REFRESH в режиме copy_data не допускается, когда "
 "включён параметр two_phase"
 
-#: commands/subscriptioncmds.c:1393
+#: commands/subscriptioncmds.c:1438
 #, c-format
 msgid ""
 "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/"
@@ -11124,39 +11574,39 @@ msgstr ""
 "Выполните ALTER SUBSCRIPTION ... REFRESH с copy_data = false либо выполните "
 "DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1428
+#: commands/subscriptioncmds.c:1473
 #, c-format
 msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
 msgstr ""
 "позиция пропуска в WAL (LSN %X/%X) должна быть больше начального LSN %X/%X"
 
-#: commands/subscriptioncmds.c:1513
+#: commands/subscriptioncmds.c:1594
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "подписка \"%s\" не существует, пропускается"
 
-#: commands/subscriptioncmds.c:1782
+#: commands/subscriptioncmds.c:1863
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "слот репликации \"%s\" удалён на сервере репликации"
 
-#: commands/subscriptioncmds.c:1791 commands/subscriptioncmds.c:1799
+#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880
 #, c-format
 msgid "could not drop replication slot \"%s\" on publisher: %s"
 msgstr "слот репликации \"%s\" на сервере публикации не был удалён: %s"
 
-#: commands/subscriptioncmds.c:1924
+#: commands/subscriptioncmds.c:2005
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "подписка с OID %u не существует"
 
-#: commands/subscriptioncmds.c:1995 commands/subscriptioncmds.c:2120
+#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr ""
 "не удалось получить список реплицируемых таблиц с сервера репликации: %s"
 
-#: commands/subscriptioncmds.c:2031
+#: commands/subscriptioncmds.c:2112
 #, c-format
 msgid ""
 "subscription \"%s\" requested copy_data with origin = NONE but might copy "
@@ -11165,7 +11615,7 @@ msgstr ""
 "для подписки \"%s\" выбран режим copy_data с origin = NONE, но в неё могут "
 "попасть данные из другого источника"
 
-#: commands/subscriptioncmds.c:2033
+#: commands/subscriptioncmds.c:2114
 #, c-format
 msgid ""
 "The subscription being created subscribes to a publication (%s) that "
@@ -11183,7 +11633,7 @@ msgstr[2] ""
 "Создаваемая подписка связана с публикациями (%s), содержащими таблицы, в "
 "которые записывают другие подписки."
 
-#: commands/subscriptioncmds.c:2036
+#: commands/subscriptioncmds.c:2117
 #, c-format
 msgid ""
 "Verify that initial data copied from the publisher tables did not come from "
@@ -11192,8 +11642,8 @@ msgstr ""
 "Убедитесь, что начальные данные, скопированные из таблиц публикации, "
 "поступили не из других источников."
 
-#: commands/subscriptioncmds.c:2142 replication/logical/tablesync.c:893
-#: replication/pgoutput/pgoutput.c:1112
+#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906
+#: replication/pgoutput/pgoutput.c:1117
 #, c-format
 msgid ""
 "cannot use different column lists for table \"%s.%s\" in different "
@@ -11202,7 +11652,7 @@ msgstr ""
 "использовать различные списки столбцов таблицы \"%s.%s\" в разных "
 "публикациях нельзя"
 
-#: commands/subscriptioncmds.c:2192
+#: commands/subscriptioncmds.c:2273
 #, c-format
 msgid ""
 "could not connect to publisher when attempting to drop replication slot "
@@ -11212,7 +11662,7 @@ msgstr ""
 "\"%s\": %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:2195
+#: commands/subscriptioncmds.c:2276
 #, c-format
 msgid ""
 "Use %s to disable the subscription, and then use %s to disassociate it from "
@@ -11221,194 +11671,197 @@ msgstr ""
 "Выполните %s, чтобы отключить подписку, а затем выполните %s, чтобы отвязать "
 "её от слота."
 
-#: commands/subscriptioncmds.c:2226
+#: commands/subscriptioncmds.c:2307
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "имя публикации \"%s\" используется неоднократно"
 
-#: commands/subscriptioncmds.c:2270
+#: commands/subscriptioncmds.c:2351
 #, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
 msgstr "публикация \"%s\" уже имеется в подписке \"%s\""
 
-#: commands/subscriptioncmds.c:2284
+#: commands/subscriptioncmds.c:2365
 #, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
 msgstr "публикация \"%s\" отсутствует в подписке \"%s\""
 
-#: commands/subscriptioncmds.c:2295
+#: commands/subscriptioncmds.c:2376
 #, c-format
 msgid "cannot drop all the publications from a subscription"
 msgstr "удалить все публикации из подписки нельзя"
 
-#: commands/subscriptioncmds.c:2352
+#: commands/subscriptioncmds.c:2433
 #, c-format
 msgid "%s requires a Boolean value or \"parallel\""
 msgstr "%s требует логическое значение или \"parallel\""
 
-#: commands/tablecmds.c:246 commands/tablecmds.c:288
+#: commands/tablecmds.c:255 commands/tablecmds.c:297
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "таблица \"%s\" не существует"
 
-#: commands/tablecmds.c:247 commands/tablecmds.c:289
+#: commands/tablecmds.c:256 commands/tablecmds.c:298
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "таблица \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:249 commands/tablecmds.c:291
+#: commands/tablecmds.c:258 commands/tablecmds.c:300
 msgid "Use DROP TABLE to remove a table."
 msgstr "Выполните DROP TABLE для удаления таблицы."
 
-#: commands/tablecmds.c:252
+#: commands/tablecmds.c:261
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "последовательность \"%s\" не существует"
 
-#: commands/tablecmds.c:253
+#: commands/tablecmds.c:262
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "последовательность \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:255
+#: commands/tablecmds.c:264
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Выполните DROP SEQUENCE для удаления последовательности."
 
-#: commands/tablecmds.c:258
+#: commands/tablecmds.c:267
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "представление \"%s\" не существует"
 
-#: commands/tablecmds.c:259
+#: commands/tablecmds.c:268
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "представление \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:261
+#: commands/tablecmds.c:270
 msgid "Use DROP VIEW to remove a view."
 msgstr "Выполните DROP VIEW для удаления представления."
 
-#: commands/tablecmds.c:264
+#: commands/tablecmds.c:273
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "материализованное представление \"%s\" не существует"
 
-#: commands/tablecmds.c:265
+#: commands/tablecmds.c:274
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "материализованное представление \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:267
+#: commands/tablecmds.c:276
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr ""
 "Выполните DROP MATERIALIZED VIEW для удаления материализованного "
 "представления."
 
-#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19043
-#: parser/parse_utilcmd.c:2254
+#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19617
+#: parser/parse_utilcmd.c:2223
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "индекс \"%s\" не существует"
 
-#: commands/tablecmds.c:271 commands/tablecmds.c:295
+#: commands/tablecmds.c:280 commands/tablecmds.c:304
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "индекс \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:273 commands/tablecmds.c:297
+#: commands/tablecmds.c:282 commands/tablecmds.c:306
 msgid "Use DROP INDEX to remove an index."
 msgstr "Выполните DROP INDEX для удаления индекса."
 
-#: commands/tablecmds.c:278
+#: commands/tablecmds.c:287
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "\"%s\" - это не тип"
 
-#: commands/tablecmds.c:279
+#: commands/tablecmds.c:288
 msgid "Use DROP TYPE to remove a type."
 msgstr "Выполните DROP TYPE для удаления типа."
 
-#: commands/tablecmds.c:282 commands/tablecmds.c:13784
-#: commands/tablecmds.c:16249
+#: commands/tablecmds.c:291 commands/tablecmds.c:14223
+#: commands/tablecmds.c:16783
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "сторонняя таблица \"%s\" не существует"
 
-#: commands/tablecmds.c:283
+#: commands/tablecmds.c:292
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "сторонняя таблица \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:285
+#: commands/tablecmds.c:294
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы."
 
-#: commands/tablecmds.c:700
+#: commands/tablecmds.c:717
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT можно использовать только для временных таблиц"
 
-#: commands/tablecmds.c:731
+#: commands/tablecmds.c:748
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr ""
 "в рамках операции с ограничениями по безопасности нельзя создать временную "
 "таблицу"
 
-#: commands/tablecmds.c:767 commands/tablecmds.c:15094
+#: commands/tablecmds.c:784 commands/tablecmds.c:15642
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "отношение \"%s\" наследуется неоднократно"
 
-#: commands/tablecmds.c:951
-#, c-format
-msgid ""
-"specifying a table access method is not supported on a partitioned table"
-msgstr ""
-"указание табличного метода доступа для секционированных таблиц не "
-"поддерживаются"
-
-#: commands/tablecmds.c:1044
+#: commands/tablecmds.c:1050
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "отношение \"%s\" не является секционированным"
 
-#: commands/tablecmds.c:1138
+#: commands/tablecmds.c:1144
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "число столбцов в ключе секционирования не может превышать %d"
 
-#: commands/tablecmds.c:1194
+#: commands/tablecmds.c:1200
 #, c-format
 msgid "cannot create foreign partition of partitioned table \"%s\""
 msgstr "создать стороннюю секцию для секционированной таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:1196
+#: commands/tablecmds.c:1202
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "Таблица \"%s\" содержит индексы, являющиеся уникальными."
 
-#: commands/tablecmds.c:1361
+#: commands/tablecmds.c:1321 commands/tablecmds.c:13239
+#, c-format
+msgid "too many array dimensions"
+msgstr "слишком много размерностей массива"
+
+#: commands/tablecmds.c:1326 parser/parse_clause.c:774
+#: parser/parse_relation.c:1912
+#, c-format
+msgid "column \"%s\" cannot be declared SETOF"
+msgstr "столбец \"%s\" не может быть объявлен как SETOF"
+
+#: commands/tablecmds.c:1472
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов"
 
-#: commands/tablecmds.c:1365
+#: commands/tablecmds.c:1476
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE"
 
-#: commands/tablecmds.c:1469
+#: commands/tablecmds.c:1580
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "удалить секционированный индекс \"%s\" параллельным способом нельзя"
 
-#: commands/tablecmds.c:1757
+#: commands/tablecmds.c:1868
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "опустошить собственно секционированную таблицу нельзя"
 
-#: commands/tablecmds.c:1758
+#: commands/tablecmds.c:1869
 #, c-format
 msgid ""
 "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions "
@@ -11417,39 +11870,39 @@ msgstr ""
 "Не указывайте ключевое слово ONLY или выполните TRUNCATE ONLY "
 "непосредственно для секций."
 
-#: commands/tablecmds.c:1831
+#: commands/tablecmds.c:1942
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "опустошение распространяется на таблицу %s"
 
-#: commands/tablecmds.c:2195
+#: commands/tablecmds.c:2303
 #, c-format
 msgid "cannot truncate foreign table \"%s\""
 msgstr "опустошить стороннюю таблицу \"%s\" нельзя"
 
-#: commands/tablecmds.c:2252
+#: commands/tablecmds.c:2360
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "временные таблицы других сеансов нельзя опустошить"
 
-#: commands/tablecmds.c:2484 commands/tablecmds.c:14991
+#: commands/tablecmds.c:2589 commands/tablecmds.c:15539
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "наследование от секционированной таблицы \"%s\" не допускается"
 
-#: commands/tablecmds.c:2489
+#: commands/tablecmds.c:2594
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "наследование от секции \"%s\" не допускается"
 
-#: commands/tablecmds.c:2497 parser/parse_utilcmd.c:2484
-#: parser/parse_utilcmd.c:2626
+#: commands/tablecmds.c:2602 parser/parse_utilcmd.c:2453
+#: parser/parse_utilcmd.c:2595
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr ""
 "наследуемое отношение \"%s\" не является таблицей или сторонней таблицей"
 
-#: commands/tablecmds.c:2509
+#: commands/tablecmds.c:2614
 #, c-format
 msgid ""
 "cannot create a temporary relation as partition of permanent relation \"%s\""
@@ -11457,74 +11910,25 @@ msgstr ""
 "создать временное отношение в качестве секции постоянного отношения \"%s\" "
 "нельзя"
 
-#: commands/tablecmds.c:2518 commands/tablecmds.c:14970
+#: commands/tablecmds.c:2623 commands/tablecmds.c:15518
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "временное отношение \"%s\" не может наследоваться"
 
-#: commands/tablecmds.c:2528 commands/tablecmds.c:14978
+#: commands/tablecmds.c:2633 commands/tablecmds.c:15526
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "наследование от временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:2581
-#, c-format
-msgid "merging multiple inherited definitions of column \"%s\""
-msgstr "слияние нескольких наследованных определений столбца \"%s\""
-
-#: commands/tablecmds.c:2593
-#, c-format
-msgid "inherited column \"%s\" has a type conflict"
-msgstr "конфликт типов в наследованном столбце \"%s\""
-
-#: commands/tablecmds.c:2595 commands/tablecmds.c:2624
-#: commands/tablecmds.c:2643 commands/tablecmds.c:2915
-#: commands/tablecmds.c:2951 commands/tablecmds.c:2967
-#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
-#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
-#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
-#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
-#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
-#: parser/parse_param.c:223
-#, c-format
-msgid "%s versus %s"
-msgstr "%s и %s"
-
-#: commands/tablecmds.c:2608
-#, c-format
-msgid "inherited column \"%s\" has a collation conflict"
-msgstr "конфликт правил сортировки в наследованном столбце \"%s\""
-
-#: commands/tablecmds.c:2610 commands/tablecmds.c:2931
-#: commands/tablecmds.c:6848
-#, c-format
-msgid "\"%s\" versus \"%s\""
-msgstr "\"%s\" и \"%s\""
-
-#: commands/tablecmds.c:2622
-#, c-format
-msgid "inherited column \"%s\" has a storage parameter conflict"
-msgstr "конфликт параметров хранения в наследованном столбце \"%s\""
-
-#: commands/tablecmds.c:2641 commands/tablecmds.c:2965
-#, c-format
-msgid "column \"%s\" has a compression method conflict"
-msgstr "в столбце \"%s\" возник конфликт методов сжатия"
-
-#: commands/tablecmds.c:2657
-#, c-format
-msgid "inherited column \"%s\" has a generation conflict"
-msgstr "конфликт свойства генерирования в наследованном столбце \"%s\""
-
-#: commands/tablecmds.c:2763 commands/tablecmds.c:2818
-#: commands/tablecmds.c:12477 parser/parse_utilcmd.c:1307
-#: parser/parse_utilcmd.c:1350 parser/parse_utilcmd.c:1749
-#: parser/parse_utilcmd.c:1857
+#: commands/tablecmds.c:2774 commands/tablecmds.c:2828
+#: commands/tablecmds.c:12922 parser/parse_utilcmd.c:1237
+#: parser/parse_utilcmd.c:1280 parser/parse_utilcmd.c:1707
+#: parser/parse_utilcmd.c:1815
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "преобразовать ссылку на тип всей строки таблицы нельзя"
 
-#: commands/tablecmds.c:2764 parser/parse_utilcmd.c:1308
+#: commands/tablecmds.c:2775 parser/parse_utilcmd.c:1238
 #, c-format
 msgid ""
 "Generation expression for column \"%s\" contains a whole-row reference to "
@@ -11533,89 +11937,58 @@ msgstr ""
 "Генерирующее выражение столбца \"%s\" ссылается на тип всей строки в таблице "
 "\"%s\"."
 
-#: commands/tablecmds.c:2819 parser/parse_utilcmd.c:1351
+#: commands/tablecmds.c:2829 parser/parse_utilcmd.c:1281
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Ограничение \"%s\" ссылается на тип всей строки в таблице \"%s\"."
 
-#: commands/tablecmds.c:2897
-#, c-format
-msgid "merging column \"%s\" with inherited definition"
-msgstr "слияние столбца \"%s\" с наследованным определением"
-
-#: commands/tablecmds.c:2901
-#, c-format
-msgid "moving and merging column \"%s\" with inherited definition"
-msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением"
-
-#: commands/tablecmds.c:2902
-#, c-format
-msgid "User-specified column moved to the position of the inherited column."
-msgstr ""
-"Определённый пользователем столбец перемещён в позицию наследуемого столбца."
-
-#: commands/tablecmds.c:2913
-#, c-format
-msgid "column \"%s\" has a type conflict"
-msgstr "конфликт типов в столбце \"%s\""
-
-#: commands/tablecmds.c:2929
-#, c-format
-msgid "column \"%s\" has a collation conflict"
-msgstr "конфликт правил сортировки в столбце \"%s\""
-
-#: commands/tablecmds.c:2949
-#, c-format
-msgid "column \"%s\" has a storage parameter conflict"
-msgstr "конфликт параметров хранения в столбце \"%s\""
-
-#: commands/tablecmds.c:2995 commands/tablecmds.c:3082
+#: commands/tablecmds.c:2939 commands/tablecmds.c:3210
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies default"
 msgstr ""
 "столбец \"%s\" наследуется от генерируемого столбца, но для него задано "
 "значение по умолчанию"
 
-#: commands/tablecmds.c:3000 commands/tablecmds.c:3087
+#: commands/tablecmds.c:2944 commands/tablecmds.c:3215
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies identity"
 msgstr ""
 "столбец \"%s\" наследуется от генерируемого столбца, но для него задано "
 "свойство идентификации"
 
-#: commands/tablecmds.c:3008 commands/tablecmds.c:3095
+#: commands/tablecmds.c:2952 commands/tablecmds.c:3223
 #, c-format
 msgid "child column \"%s\" specifies generation expression"
 msgstr "для дочернего столбца \"%s\" указано генерирующее выражение"
 
-#: commands/tablecmds.c:3010 commands/tablecmds.c:3097
+#: commands/tablecmds.c:2954 commands/tablecmds.c:3225
 #, c-format
 msgid "A child table column cannot be generated unless its parent column is."
 msgstr ""
 "Дочерний столбец может быть генерируемым, только если родительский столбец "
 "является таковым."
 
-#: commands/tablecmds.c:3143
+#: commands/tablecmds.c:3000
 #, c-format
 msgid "column \"%s\" inherits conflicting generation expressions"
 msgstr "столбец \"%s\" наследует конфликтующие генерирующие выражения"
 
-#: commands/tablecmds.c:3145
+#: commands/tablecmds.c:3002
 #, c-format
 msgid "To resolve the conflict, specify a generation expression explicitly."
 msgstr "Для разрешения конфликта укажите генерирующее выражение явно."
 
-#: commands/tablecmds.c:3149
+#: commands/tablecmds.c:3006
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "столбец \"%s\" наследует конфликтующие значения по умолчанию"
 
-#: commands/tablecmds.c:3151
+#: commands/tablecmds.c:3008
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Для решения конфликта укажите желаемое значение по умолчанию."
 
-#: commands/tablecmds.c:3201
+#: commands/tablecmds.c:3063
 #, c-format
 msgid ""
 "check constraint name \"%s\" appears multiple times but with different "
@@ -11624,52 +11997,132 @@ msgstr ""
 "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными "
 "выражениями"
 
-#: commands/tablecmds.c:3414
+#: commands/tablecmds.c:3114
+#, c-format
+msgid "merging column \"%s\" with inherited definition"
+msgstr "слияние столбца \"%s\" с наследованным определением"
+
+#: commands/tablecmds.c:3118
+#, c-format
+msgid "moving and merging column \"%s\" with inherited definition"
+msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением"
+
+#: commands/tablecmds.c:3119
+#, c-format
+msgid "User-specified column moved to the position of the inherited column."
+msgstr ""
+"Определённый пользователем столбец перемещён в позицию наследуемого столбца."
+
+#: commands/tablecmds.c:3131
+#, c-format
+msgid "column \"%s\" has a type conflict"
+msgstr "конфликт типов в столбце \"%s\""
+
+#: commands/tablecmds.c:3133 commands/tablecmds.c:3167
+#: commands/tablecmds.c:3183 commands/tablecmds.c:3290
+#: commands/tablecmds.c:3323 commands/tablecmds.c:3339
+#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
+#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
+#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
+#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
+#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
+#: parser/parse_param.c:223
+#, c-format
+msgid "%s versus %s"
+msgstr "%s и %s"
+
+#: commands/tablecmds.c:3145
+#, c-format
+msgid "column \"%s\" has a collation conflict"
+msgstr "конфликт правил сортировки в столбце \"%s\""
+
+#: commands/tablecmds.c:3147 commands/tablecmds.c:3309
+#: commands/tablecmds.c:7057
+#, c-format
+msgid "\"%s\" versus \"%s\""
+msgstr "\"%s\" и \"%s\""
+
+#: commands/tablecmds.c:3165
+#, c-format
+msgid "column \"%s\" has a storage parameter conflict"
+msgstr "конфликт параметров хранения в столбце \"%s\""
+
+#: commands/tablecmds.c:3181 commands/tablecmds.c:3337
+#, c-format
+msgid "column \"%s\" has a compression method conflict"
+msgstr "в столбце \"%s\" возник конфликт методов сжатия"
+
+#: commands/tablecmds.c:3276
+#, c-format
+msgid "merging multiple inherited definitions of column \"%s\""
+msgstr "слияние нескольких наследованных определений столбца \"%s\""
+
+#: commands/tablecmds.c:3288
+#, c-format
+msgid "inherited column \"%s\" has a type conflict"
+msgstr "конфликт типов в наследованном столбце \"%s\""
+
+#: commands/tablecmds.c:3307
+#, c-format
+msgid "inherited column \"%s\" has a collation conflict"
+msgstr "конфликт правил сортировки в наследованном столбце \"%s\""
+
+#: commands/tablecmds.c:3321
+#, c-format
+msgid "inherited column \"%s\" has a storage parameter conflict"
+msgstr "конфликт параметров хранения в наследованном столбце \"%s\""
+
+#: commands/tablecmds.c:3349
+#, c-format
+msgid "inherited column \"%s\" has a generation conflict"
+msgstr "конфликт свойства генерирования в наследованном столбце \"%s\""
+
+#: commands/tablecmds.c:3580
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "перемещать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:3484
+#: commands/tablecmds.c:3650
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "переименовать столбец типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:3503
+#: commands/tablecmds.c:3669
 #, c-format
 msgid "cannot rename columns of relation \"%s\""
 msgstr "переименовывать столбцы отношения \"%s\" нельзя"
 
-#: commands/tablecmds.c:3598
+#: commands/tablecmds.c:3764
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследованный столбец \"%s\" должен быть также переименован в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:3630
+#: commands/tablecmds.c:3796
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "нельзя переименовать системный столбец \"%s\""
 
-#: commands/tablecmds.c:3645
+#: commands/tablecmds.c:3811
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "нельзя переименовать наследованный столбец \"%s\""
 
-#: commands/tablecmds.c:3797
+#: commands/tablecmds.c:3963
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:3804
+#: commands/tablecmds.c:3970
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "нельзя переименовать наследованное ограничение \"%s\""
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4101
+#: commands/tablecmds.c:4267
 #, c-format
 msgid ""
 "cannot %s \"%s\" because it is being used by active queries in this session"
@@ -11678,59 +12131,59 @@ msgstr ""
 "запросами в данном сеансе"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4110
+#: commands/tablecmds.c:4276
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr ""
 "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные "
 "события триггеров"
 
-#: commands/tablecmds.c:4577
+#: commands/tablecmds.c:4302
+#, c-format
+msgid "cannot alter temporary tables of other sessions"
+msgstr "модифицировать временные таблицы других сеансов нельзя"
+
+#: commands/tablecmds.c:4775
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
 msgstr "нельзя изменить секцию \"%s\", которая не полностью отсоединена"
 
-#: commands/tablecmds.c:4770 commands/tablecmds.c:4785
+#: commands/tablecmds.c:4979 commands/tablecmds.c:4994
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "изменить характеристику хранения дважды нельзя"
 
-#: commands/tablecmds.c:4806
-#, c-format
-msgid "cannot change access method of a partitioned table"
-msgstr "менять метод доступа для секционированной таблицы нельзя"
-
-#: commands/tablecmds.c:4812
+#: commands/tablecmds.c:5015
 #, c-format
 msgid "cannot have multiple SET ACCESS METHOD subcommands"
 msgstr "множественные подкоманды SET ACCESS METHOD не допускаются"
 
-#: commands/tablecmds.c:5533
+#: commands/tablecmds.c:5745
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "перезаписать системное отношение \"%s\" нельзя"
 
-#: commands/tablecmds.c:5539
+#: commands/tablecmds.c:5751
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя"
 
-#: commands/tablecmds.c:5549
+#: commands/tablecmds.c:5763
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "перезаписывать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:6044
+#: commands/tablecmds.c:6258
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "столбец \"%s\" отношения \"%s\" содержит значения NULL"
 
-#: commands/tablecmds.c:6061
+#: commands/tablecmds.c:6275
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "ограничение-проверку \"%s\" отношения \"%s\" нарушает некоторая строка"
 
-#: commands/tablecmds.c:6080 partitioning/partbounds.c:3388
+#: commands/tablecmds.c:6294 partitioning/partbounds.c:3387
 #, c-format
 msgid ""
 "updated partition constraint for default partition \"%s\" would be violated "
@@ -11739,24 +12192,24 @@ msgstr ""
 "изменённое ограничение секции для секции по умолчанию \"%s\" будет нарушено "
 "некоторыми строками"
 
-#: commands/tablecmds.c:6086
+#: commands/tablecmds.c:6300
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "ограничение секции отношения \"%s\" нарушает некоторая строка"
 
 #. translator: %s is a group of some SQL keywords
-#: commands/tablecmds.c:6348
+#: commands/tablecmds.c:6565
 #, c-format
 msgid "ALTER action %s cannot be performed on relation \"%s\""
 msgstr "действие ALTER %s нельзя выполнить с отношением \"%s\""
 
-#: commands/tablecmds.c:6603 commands/tablecmds.c:6610
+#: commands/tablecmds.c:6820 commands/tablecmds.c:6827
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr ""
 "изменить тип \"%s\" нельзя, так как он задействован в столбце \"%s.%s\""
 
-#: commands/tablecmds.c:6617
+#: commands/tablecmds.c:6834
 #, c-format
 msgid ""
 "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
@@ -11764,77 +12217,77 @@ msgstr ""
 "изменить стороннюю таблицу \"%s\" нельзя, так как столбец \"%s.%s\" "
 "задействует тип её строки"
 
-#: commands/tablecmds.c:6624
+#: commands/tablecmds.c:6841
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr ""
 "изменить таблицу \"%s\" нельзя, так как столбец \"%s.%s\" задействует тип её "
 "строки"
 
-#: commands/tablecmds.c:6680
+#: commands/tablecmds.c:6897
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "изменить тип \"%s\", так как это тип типизированной таблицы"
 
-#: commands/tablecmds.c:6682
+#: commands/tablecmds.c:6899
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr ""
 "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE."
 
-#: commands/tablecmds.c:6728
+#: commands/tablecmds.c:6945
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "тип %s не является составным"
 
-#: commands/tablecmds.c:6755
+#: commands/tablecmds.c:6972
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "добавить столбец в типизированную таблицу нельзя"
 
-#: commands/tablecmds.c:6811
+#: commands/tablecmds.c:7020
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "добавить столбец в секцию нельзя"
 
-#: commands/tablecmds.c:6840 commands/tablecmds.c:15221
+#: commands/tablecmds.c:7049 commands/tablecmds.c:15757
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "дочерняя таблица \"%s\" имеет другой тип для столбца \"%s\""
 
-#: commands/tablecmds.c:6846 commands/tablecmds.c:15228
+#: commands/tablecmds.c:7055 commands/tablecmds.c:15763
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" имеет другое правило сортировки для столбца \"%s\""
 
-#: commands/tablecmds.c:6864
+#: commands/tablecmds.c:7073
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "объединение определений столбца \"%s\" для потомка \"%s\""
 
-#: commands/tablecmds.c:6911
+#: commands/tablecmds.c:7126
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr ""
 "добавить столбец идентификации в таблицу, у которой есть дочерние, нельзя"
 
-#: commands/tablecmds.c:7162
+#: commands/tablecmds.c:7339
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "столбец также должен быть добавлен к дочерним таблицам"
 
-#: commands/tablecmds.c:7240
+#: commands/tablecmds.c:7417
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается"
 
-#: commands/tablecmds.c:7247
+#: commands/tablecmds.c:7424
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "столбец \"%s\" отношения \"%s\" уже существует"
 
-#: commands/tablecmds.c:7313 commands/tablecmds.c:12115
+#: commands/tablecmds.c:7490 commands/tablecmds.c:12550
 #, c-format
 msgid ""
 "cannot remove constraint from only the partitioned table when partitions "
@@ -11843,59 +12296,73 @@ msgstr ""
 "удалить ограничение только из секционированной таблицы, когда существуют "
 "секции, нельзя"
 
-#: commands/tablecmds.c:7314 commands/tablecmds.c:7631
-#: commands/tablecmds.c:8604 commands/tablecmds.c:12116
+#: commands/tablecmds.c:7491 commands/tablecmds.c:7805
+#: commands/tablecmds.c:7983 commands/tablecmds.c:8090
+#: commands/tablecmds.c:8207 commands/tablecmds.c:9026
+#: commands/tablecmds.c:12551
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "Не указывайте ключевое слово ONLY."
 
-#: commands/tablecmds.c:7351 commands/tablecmds.c:7557
-#: commands/tablecmds.c:7699 commands/tablecmds.c:7817
-#: commands/tablecmds.c:7911 commands/tablecmds.c:7970
-#: commands/tablecmds.c:8089 commands/tablecmds.c:8228
-#: commands/tablecmds.c:8298 commands/tablecmds.c:8432
-#: commands/tablecmds.c:12270 commands/tablecmds.c:13807
-#: commands/tablecmds.c:16338
+#: commands/tablecmds.c:7527 commands/tablecmds.c:7731
+#: commands/tablecmds.c:7873 commands/tablecmds.c:8005
+#: commands/tablecmds.c:8134 commands/tablecmds.c:8228
+#: commands/tablecmds.c:8329 commands/tablecmds.c:8486
+#: commands/tablecmds.c:8639 commands/tablecmds.c:8720
+#: commands/tablecmds.c:8854 commands/tablecmds.c:12704
+#: commands/tablecmds.c:14246 commands/tablecmds.c:16872
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "системный столбец \"%s\" нельзя изменить"
 
-#: commands/tablecmds.c:7357 commands/tablecmds.c:7705
+#: commands/tablecmds.c:7533 commands/tablecmds.c:7879
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "столбец \"%s\" отношения \"%s\" является столбцом идентификации"
 
-#: commands/tablecmds.c:7400
+#: commands/tablecmds.c:7574
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "столбец \"%s\" входит в первичный ключ"
 
-#: commands/tablecmds.c:7405
+#: commands/tablecmds.c:7579
 #, c-format
 msgid "column \"%s\" is in index used as replica identity"
 msgstr "столбец \"%s\" входит в индекс, используемый для идентификации реплики"
 
-#: commands/tablecmds.c:7428
+#: commands/tablecmds.c:7602
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "столбец \"%s\" в родительской таблице помечен как NOT NULL"
 
-#: commands/tablecmds.c:7628 commands/tablecmds.c:9088
+#: commands/tablecmds.c:7802 commands/tablecmds.c:9510
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "ограничение также должно быть добавлено к дочерним таблицам"
 
-#: commands/tablecmds.c:7629
+#: commands/tablecmds.c:7803
 #, c-format
 msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
 msgstr "Столбец \"%s\" отношения \"%s\" уже имеет свойство NOT NULL."
 
-#: commands/tablecmds.c:7714
+#: commands/tablecmds.c:7888
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "столбец \"%s\" отношения \"%s\" является генерируемым"
 
-#: commands/tablecmds.c:7828
+#: commands/tablecmds.c:7982
+#, c-format
+msgid "cannot add identity to a column of only the partitioned table"
+msgstr ""
+"сделать столбцом идентификации столбец одной лишь секционированной таблицы "
+"нельзя"
+
+#: commands/tablecmds.c:7988
+#, c-format
+msgid "cannot add identity to a column of a partition"
+msgstr "сделать столбцом идентификации столбец одной секции нельзя"
+
+#: commands/tablecmds.c:8016
 #, c-format
 msgid ""
 "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity "
@@ -11904,46 +12371,74 @@ msgstr ""
 "столбец \"%s\" отношения \"%s\" должен быть объявлен как NOT NULL, чтобы его "
 "можно было сделать столбцом идентификации"
 
-#: commands/tablecmds.c:7834
+#: commands/tablecmds.c:8022
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "столбец \"%s\" отношения \"%s\" уже является столбцом идентификации"
 
-#: commands/tablecmds.c:7840
+#: commands/tablecmds.c:8028
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "столбец \"%s\" отношения \"%s\" уже имеет значение по умолчанию"
 
-#: commands/tablecmds.c:7917 commands/tablecmds.c:7978
+#: commands/tablecmds.c:8089
+#, c-format
+msgid "cannot change identity column of only the partitioned table"
+msgstr ""
+"изменить столбец идентификации для одной лишь секционированной таблицы нельзя"
+
+#: commands/tablecmds.c:8095
+#, c-format
+msgid "cannot change identity column of a partition"
+msgstr "изменить столбец идентификации для одной секции нельзя"
+
+#: commands/tablecmds.c:8140 commands/tablecmds.c:8236
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "столбец \"%s\" отношения \"%s\" не является столбцом идентификации"
 
-#: commands/tablecmds.c:7983
+#: commands/tablecmds.c:8206
+#, c-format
+msgid "cannot drop identity from a column of only the partitioned table"
+msgstr ""
+"лишить свойства идентификации столбец одной лишь секционированной таблицы "
+"нельзя"
+
+#: commands/tablecmds.c:8212
+#, c-format
+msgid "cannot drop identity from a column of a partition"
+msgstr "лишить свойства идентификации столбец одной секции нельзя"
+
+#: commands/tablecmds.c:8241
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr ""
 "столбец \"%s\" отношения \"%s\" не является столбцом идентификации, "
 "пропускается"
 
-#: commands/tablecmds.c:8036
+#: commands/tablecmds.c:8335
+#, c-format
+msgid "column \"%s\" of relation \"%s\" is not a generated column"
+msgstr "столбец \"%s\" отношения \"%s\" не является генерируемым столбцом"
+
+#: commands/tablecmds.c:8433
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr ""
 "ALTER TABLE / DROP EXPRESSION нужно применять также к дочерним таблицам"
 
-#: commands/tablecmds.c:8058
+#: commands/tablecmds.c:8455
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "нельзя удалить генерирующее выражение из наследуемого столбца"
 
-#: commands/tablecmds.c:8097
+#: commands/tablecmds.c:8494
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
 msgstr ""
 "столбец \"%s\" отношения \"%s\" не является сохранённым генерируемым столбцом"
 
-#: commands/tablecmds.c:8102
+#: commands/tablecmds.c:8499
 #, c-format
 msgid ""
 "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
@@ -11951,53 +12446,53 @@ msgstr ""
 "столбец \"%s\" отношения \"%s\" пропускается, так как не является "
 "сохранённым генерируемым столбцом"
 
-#: commands/tablecmds.c:8175
+#: commands/tablecmds.c:8577
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "по номеру можно ссылаться только на столбец в индексе"
 
-#: commands/tablecmds.c:8218
+#: commands/tablecmds.c:8629
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "столбец с номером %d отношения \"%s\" не существует"
 
-#: commands/tablecmds.c:8237
+#: commands/tablecmds.c:8648
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "изменить статистику включённого столбца \"%s\" индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:8242
+#: commands/tablecmds.c:8653
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr ""
 "изменить статистику столбца \"%s\" (не выражения) индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:8244
+#: commands/tablecmds.c:8655
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Вместо этого измените статистику для столбца в таблице."
 
-#: commands/tablecmds.c:8479
+#: commands/tablecmds.c:8901
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "нельзя удалить столбец в типизированной таблице"
 
-#: commands/tablecmds.c:8542
+#: commands/tablecmds.c:8964
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "столбец \"%s\" в таблице\"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:8555
+#: commands/tablecmds.c:8977
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "нельзя удалить системный столбец \"%s\""
 
-#: commands/tablecmds.c:8565
+#: commands/tablecmds.c:8987
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "нельзя удалить наследованный столбец \"%s\""
 
-#: commands/tablecmds.c:8578
+#: commands/tablecmds.c:9000
 #, c-format
 msgid ""
 "cannot drop column \"%s\" because it is part of the partition key of "
@@ -12006,7 +12501,7 @@ msgstr ""
 "удалить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения "
 "\"%s\""
 
-#: commands/tablecmds.c:8603
+#: commands/tablecmds.c:9025
 #, c-format
 msgid ""
 "cannot drop column from only the partitioned table when partitions exist"
@@ -12014,7 +12509,7 @@ msgstr ""
 "удалить столбец только из секционированной таблицы, когда существуют секции, "
 "нельзя"
 
-#: commands/tablecmds.c:8808
+#: commands/tablecmds.c:9230
 #, c-format
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned "
@@ -12023,14 +12518,14 @@ msgstr ""
 "ALTER TABLE / ADD CONSTRAINT USING INDEX не поддерживается с "
 "секционированными таблицами"
 
-#: commands/tablecmds.c:8833
+#: commands/tablecmds.c:9255
 #, c-format
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr ""
 "ALTER TABLE / ADD CONSTRAINT USING INDEX переименует индекс \"%s\" в \"%s\""
 
-#: commands/tablecmds.c:9170
+#: commands/tablecmds.c:9592
 #, c-format
 msgid ""
 "cannot use ONLY for foreign key on partitioned table \"%s\" referencing "
@@ -12039,7 +12534,7 @@ msgstr ""
 "нельзя использовать ONLY для стороннего ключа в секционированной таблице "
 "\"%s\", ссылающегося на отношение \"%s\""
 
-#: commands/tablecmds.c:9176
+#: commands/tablecmds.c:9598
 #, c-format
 msgid ""
 "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing "
@@ -12048,25 +12543,25 @@ msgstr ""
 "нельзя добавить с характеристикой NOT VALID сторонний ключ в "
 "секционированной таблице \"%s\", ссылающийся на отношение \"%s\""
 
-#: commands/tablecmds.c:9179
+#: commands/tablecmds.c:9601
 #, c-format
 msgid "This feature is not yet supported on partitioned tables."
 msgstr ""
 "Эта функциональность с секционированными таблицами пока не поддерживается."
 
-#: commands/tablecmds.c:9186 commands/tablecmds.c:9642
+#: commands/tablecmds.c:9608 commands/tablecmds.c:10064
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "указанный объект \"%s\" не является таблицей"
 
-#: commands/tablecmds.c:9209
+#: commands/tablecmds.c:9631
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr ""
 "ограничения в постоянных таблицах могут ссылаться только на постоянные "
 "таблицы"
 
-#: commands/tablecmds.c:9216
+#: commands/tablecmds.c:9638
 #, c-format
 msgid ""
 "constraints on unlogged tables may reference only permanent or unlogged "
@@ -12075,13 +12570,13 @@ msgstr ""
 "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные "
 "или нежурналируемые таблицы"
 
-#: commands/tablecmds.c:9222
+#: commands/tablecmds.c:9644
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr ""
 "ограничения во временных таблицах могут ссылаться только на временные таблицы"
 
-#: commands/tablecmds.c:9226
+#: commands/tablecmds.c:9648
 #, c-format
 msgid ""
 "constraints on temporary tables must involve temporary tables of this session"
@@ -12089,7 +12584,7 @@ msgstr ""
 "ограничения во временных таблицах должны ссылаться только на временные "
 "таблицы текущего сеанса"
 
-#: commands/tablecmds.c:9290 commands/tablecmds.c:9296
+#: commands/tablecmds.c:9712 commands/tablecmds.c:9718
 #, c-format
 msgid ""
 "invalid %s action for foreign key constraint containing generated column"
@@ -12097,22 +12592,22 @@ msgstr ""
 "некорректное действие %s для ограничения внешнего ключа, содержащего "
 "генерируемый столбец"
 
-#: commands/tablecmds.c:9312
+#: commands/tablecmds.c:9734
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "число столбцов в источнике и назначении внешнего ключа не совпадает"
 
-#: commands/tablecmds.c:9419
+#: commands/tablecmds.c:9841
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать"
 
-#: commands/tablecmds.c:9421
+#: commands/tablecmds.c:9843
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Столбцы ключа \"%s\" и \"%s\" имеют несовместимые типы: %s и %s."
 
-#: commands/tablecmds.c:9578
+#: commands/tablecmds.c:10000
 #, c-format
 msgid ""
 "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
@@ -12120,40 +12615,49 @@ msgstr ""
 "столбец \"%s\", фигурирующий в действии ON DELETE SET, должен входить во "
 "внешний ключ"
 
-#: commands/tablecmds.c:9852 commands/tablecmds.c:10322
-#: parser/parse_utilcmd.c:800 parser/parse_utilcmd.c:929
+#: commands/tablecmds.c:10274 commands/tablecmds.c:10761
+#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:917
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "ограничения внешнего ключа для сторонних таблиц не поддерживаются"
 
-#: commands/tablecmds.c:10875 commands/tablecmds.c:11156
-#: commands/tablecmds.c:12072 commands/tablecmds.c:12147
+#: commands/tablecmds.c:10744
+#, c-format
+msgid ""
+"cannot attach table \"%s\" as a partition because it is referenced by "
+"foreign key \"%s\""
+msgstr ""
+"присоединить таблицу \"%s\" в качестве секции нельзя, так как на неё "
+"ссылается внешний ключ \"%s\""
+
+#: commands/tablecmds.c:11314 commands/tablecmds.c:11595
+#: commands/tablecmds.c:12507 commands/tablecmds.c:12581
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует"
 
-#: commands/tablecmds.c:10882
+#: commands/tablecmds.c:11321
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом"
 
-#: commands/tablecmds.c:10920
+#: commands/tablecmds.c:11359
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "изменить ограничение \"%s\" таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:10923
+#: commands/tablecmds.c:11362
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr ""
 "Ограничение \"%s\" является производным от ограничения \"%s\" таблицы \"%s\"."
 
-#: commands/tablecmds.c:10925
+#: commands/tablecmds.c:11364
 #, c-format
 msgid "You may alter the constraint it derives from instead."
 msgstr "Вместо этого вы можете изменить родительское ограничение."
 
-#: commands/tablecmds.c:11164
+#: commands/tablecmds.c:11603
 #, c-format
 msgid ""
 "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
@@ -12161,51 +12665,51 @@ msgstr ""
 "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или "
 "ограничением-проверкой"
 
-#: commands/tablecmds.c:11241
+#: commands/tablecmds.c:11680
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "ограничение также должно соблюдаться в дочерних таблицах"
 
-#: commands/tablecmds.c:11328
+#: commands/tablecmds.c:11767
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "столбец \"%s\", указанный в ограничении внешнего ключа, не существует"
 
-#: commands/tablecmds.c:11334
+#: commands/tablecmds.c:11773
 #, c-format
 msgid "system columns cannot be used in foreign keys"
 msgstr "системные столбцы нельзя использовать во внешних ключах"
 
-#: commands/tablecmds.c:11338
+#: commands/tablecmds.c:11777
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "во внешнем ключе не может быть больше %d столбцов"
 
-#: commands/tablecmds.c:11403
+#: commands/tablecmds.c:11842
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr ""
 "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" "
 "нельзя"
 
-#: commands/tablecmds.c:11420
+#: commands/tablecmds.c:11859
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "в целевой внешней таблице \"%s\" нет первичного ключа"
 
-#: commands/tablecmds.c:11488
+#: commands/tablecmds.c:11927
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "в списке столбцов внешнего ключа не должно быть повторений"
 
-#: commands/tablecmds.c:11580
+#: commands/tablecmds.c:12019
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr ""
 "использовать откладываемое ограничение уникальности в целевой внешней "
 "таблице \"%s\" нельзя"
 
-#: commands/tablecmds.c:11585
+#: commands/tablecmds.c:12024
 #, c-format
 msgid ""
 "there is no unique constraint matching given keys for referenced table \"%s\""
@@ -12213,27 +12717,39 @@ msgstr ""
 "в целевой внешней таблице \"%s\" нет ограничения уникальности, "
 "соответствующего данным ключам"
 
-#: commands/tablecmds.c:12028
+#: commands/tablecmds.c:12463
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:12078
+#: commands/tablecmds.c:12513
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:12254
+#: commands/tablecmds.c:12688
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "изменить тип столбца в типизированной таблице нельзя"
 
-#: commands/tablecmds.c:12281
+#: commands/tablecmds.c:12714
+#, c-format
+msgid "cannot specify USING when altering type of generated column"
+msgstr "изменяя тип генерируемого столбца, нельзя указывать USING"
+
+#: commands/tablecmds.c:12715 commands/tablecmds.c:17918
+#: commands/tablecmds.c:18008 commands/trigger.c:656
+#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970
+#, c-format
+msgid "Column \"%s\" is a generated column."
+msgstr "Столбец \"%s\" является генерируемым."
+
+#: commands/tablecmds.c:12725
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "изменить наследованный столбец \"%s\" нельзя"
 
-#: commands/tablecmds.c:12290
+#: commands/tablecmds.c:12734
 #, c-format
 msgid ""
 "cannot alter column \"%s\" because it is part of the partition key of "
@@ -12242,7 +12758,7 @@ msgstr ""
 "изменить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения "
 "\"%s\""
 
-#: commands/tablecmds.c:12340
+#: commands/tablecmds.c:12784
 #, c-format
 msgid ""
 "result of USING clause for column \"%s\" cannot be cast automatically to "
@@ -12250,45 +12766,45 @@ msgid ""
 msgstr ""
 "результат USING для столбца \"%s\" нельзя автоматически привести к типу %s"
 
-#: commands/tablecmds.c:12343
+#: commands/tablecmds.c:12787
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Возможно, необходимо добавить явное приведение."
 
-#: commands/tablecmds.c:12347
+#: commands/tablecmds.c:12791
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "столбец \"%s\" нельзя автоматически привести к типу %s"
 
 # skip-rule: double-colons
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:12350
+#: commands/tablecmds.c:12795
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Возможно, необходимо указать \"USING %s::%s\"."
 
-#: commands/tablecmds.c:12449
+#: commands/tablecmds.c:12894
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "изменить наследованный столбец \"%s\" отношения \"%s\" нельзя"
 
-#: commands/tablecmds.c:12478
+#: commands/tablecmds.c:12923
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "Выражение USING ссылается на тип всей строки таблицы."
 
-#: commands/tablecmds.c:12489
+#: commands/tablecmds.c:12934
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr ""
 "тип наследованного столбца \"%s\" должен быть изменён и в дочерних таблицах"
 
-#: commands/tablecmds.c:12614
+#: commands/tablecmds.c:13059
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "нельзя изменить тип столбца \"%s\" дважды"
 
-#: commands/tablecmds.c:12652
+#: commands/tablecmds.c:13097
 #, c-format
 msgid ""
 "generation expression for column \"%s\" cannot be cast automatically to type "
@@ -12297,160 +12813,160 @@ msgstr ""
 "генерирующее выражение для столбца \"%s\" нельзя автоматически привести к "
 "типу %s"
 
-#: commands/tablecmds.c:12657
+#: commands/tablecmds.c:13102
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr ""
 "значение по умолчанию для столбца \"%s\" нельзя автоматически привести к "
 "типу %s"
 
-#: commands/tablecmds.c:12745
+#: commands/tablecmds.c:13406
 #, c-format
 msgid "cannot alter type of a column used by a function or procedure"
 msgstr "изменить тип столбца, задействованного в функции или процедуре, нельзя"
 
-#: commands/tablecmds.c:12746 commands/tablecmds.c:12760
-#: commands/tablecmds.c:12779 commands/tablecmds.c:12797
-#: commands/tablecmds.c:12855
+#: commands/tablecmds.c:13407 commands/tablecmds.c:13422
+#: commands/tablecmds.c:13442 commands/tablecmds.c:13461
+#: commands/tablecmds.c:13520
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s зависит от столбца \"%s\""
 
-#: commands/tablecmds.c:12759
+#: commands/tablecmds.c:13421
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr ""
 "изменить тип столбца, задействованного в представлении или правиле, нельзя"
 
-#: commands/tablecmds.c:12778
+#: commands/tablecmds.c:13441
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "изменить тип столбца, задействованного в определении триггера, нельзя"
 
-#: commands/tablecmds.c:12796
+#: commands/tablecmds.c:13460
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "изменить тип столбца, задействованного в определении политики, нельзя"
 
-#: commands/tablecmds.c:12827
+#: commands/tablecmds.c:13491
 #, c-format
 msgid "cannot alter type of a column used by a generated column"
 msgstr "изменить тип столбца, задействованного в генерируемом столбце, нельзя"
 
-#: commands/tablecmds.c:12828
+#: commands/tablecmds.c:13492
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "Столбец \"%s\" используется генерируемым столбцом \"%s\"."
 
-#: commands/tablecmds.c:12854
+#: commands/tablecmds.c:13519
 #, c-format
 msgid "cannot alter type of a column used by a publication WHERE clause"
 msgstr ""
 "изменить тип столбца, задействованного в заданном для публикации предложении "
 "WHERE, нельзя"
 
-#: commands/tablecmds.c:13915 commands/tablecmds.c:13927
+#: commands/tablecmds.c:14354 commands/tablecmds.c:14366
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "сменить владельца индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:13917 commands/tablecmds.c:13929
+#: commands/tablecmds.c:14356 commands/tablecmds.c:14368
 #, c-format
 msgid "Change the ownership of the index's table instead."
 msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс."
 
-#: commands/tablecmds.c:13943
+#: commands/tablecmds.c:14382
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "сменить владельца последовательности \"%s\" нельзя"
 
-#: commands/tablecmds.c:13968
+#: commands/tablecmds.c:14407
 #, c-format
 msgid "cannot change owner of relation \"%s\""
 msgstr "сменить владельца отношения \"%s\" нельзя"
 
-#: commands/tablecmds.c:14330
+#: commands/tablecmds.c:14874
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "в одной инструкции не может быть несколько подкоманд SET TABLESPACE"
 
-#: commands/tablecmds.c:14407
+#: commands/tablecmds.c:14951
 #, c-format
 msgid "cannot set options for relation \"%s\""
 msgstr "задать параметры отношения \"%s\" нельзя"
 
-#: commands/tablecmds.c:14441 commands/view.c:445
+#: commands/tablecmds.c:14985 commands/view.c:440
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr ""
 "WITH CHECK OPTION поддерживается только с автообновляемыми представлениями"
 
-#: commands/tablecmds.c:14691
+#: commands/tablecmds.c:15235
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr ""
 "в табличных пространствах есть только таблицы, индексы и материализованные "
 "представления"
 
-#: commands/tablecmds.c:14703
+#: commands/tablecmds.c:15247
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "перемещать объекты в/из табличного пространства pg_global нельзя"
 
-#: commands/tablecmds.c:14795
+#: commands/tablecmds.c:15339
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr ""
 "обработка прерывается из-за невозможности заблокировать отношение \"%s.%s\""
 
-#: commands/tablecmds.c:14811
+#: commands/tablecmds.c:15355
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения"
 
-#: commands/tablecmds.c:14929
+#: commands/tablecmds.c:15477
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "изменить наследование типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:14934 commands/tablecmds.c:15452
+#: commands/tablecmds.c:15482 commands/tablecmds.c:15982
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "изменить наследование секции нельзя"
 
-#: commands/tablecmds.c:14939
+#: commands/tablecmds.c:15487
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "изменить наследование секционированной таблицы нельзя"
 
-#: commands/tablecmds.c:14985
+#: commands/tablecmds.c:15533
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "наследование для временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:14998
+#: commands/tablecmds.c:15546
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "наследование от секции невозможно"
 
-#: commands/tablecmds.c:15020 commands/tablecmds.c:17878
+#: commands/tablecmds.c:15568 commands/tablecmds.c:18419
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "циклическое наследование недопустимо"
 
-#: commands/tablecmds.c:15021 commands/tablecmds.c:17879
+#: commands/tablecmds.c:15569 commands/tablecmds.c:18420
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "\"%s\" уже является потомком \"%s\"."
 
-#: commands/tablecmds.c:15034
+#: commands/tablecmds.c:15582
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr ""
 "триггер \"%s\" не позволяет таблице \"%s\" стать потомком в иерархии "
 "наследования"
 
-#: commands/tablecmds.c:15036
+#: commands/tablecmds.c:15584
 #, c-format
 msgid ""
 "ROW triggers with transition tables are not supported in inheritance "
@@ -12459,34 +12975,34 @@ msgstr ""
 "Триггеры ROW с переходными таблицами не поддерживаются в иерархиях "
 "наследования."
 
-#: commands/tablecmds.c:15239
+#: commands/tablecmds.c:15773
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "столбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL"
 
-#: commands/tablecmds.c:15248
+#: commands/tablecmds.c:15782
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "столбец \"%s\" в дочерней таблице должен быть генерируемым"
 
-#: commands/tablecmds.c:15253
+#: commands/tablecmds.c:15786
 #, c-format
 msgid "column \"%s\" in child table must not be a generated column"
 msgstr "столбец \"%s\" в дочерней таблице должен быть не генерируемым"
 
-#: commands/tablecmds.c:15284
+#: commands/tablecmds.c:15824
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "в дочерней таблице не хватает столбца \"%s\""
 
-#: commands/tablecmds.c:15372
+#: commands/tablecmds.c:15905
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки "
 "\"%s\""
 
-#: commands/tablecmds.c:15380
+#: commands/tablecmds.c:15912
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on child table "
@@ -12495,7 +13011,7 @@ msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы "
 "\"%s\""
 
-#: commands/tablecmds.c:15391
+#: commands/tablecmds.c:15922
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
@@ -12503,82 +13019,82 @@ msgstr ""
 "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением "
 "дочерней таблицы \"%s\""
 
-#: commands/tablecmds.c:15430
+#: commands/tablecmds.c:15960
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "в дочерней таблице не хватает ограничения \"%s\""
 
-#: commands/tablecmds.c:15516
+#: commands/tablecmds.c:16046
 #, c-format
 msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
 msgstr ""
 "секция \"%s\" уже ожидает отсоединения от секционированной таблицы \"%s.%s\""
 
-#: commands/tablecmds.c:15545 commands/tablecmds.c:15593
+#: commands/tablecmds.c:16075 commands/tablecmds.c:16121
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "отношение \"%s\" не является секцией отношения \"%s\""
 
-#: commands/tablecmds.c:15599
+#: commands/tablecmds.c:16127
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "отношение \"%s\" не является предком отношения \"%s\""
 
-#: commands/tablecmds.c:15827
+#: commands/tablecmds.c:16354
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "типизированные таблицы не могут наследоваться"
 
-#: commands/tablecmds.c:15857
+#: commands/tablecmds.c:16384
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "в таблице не хватает столбца \"%s\""
 
-#: commands/tablecmds.c:15868
+#: commands/tablecmds.c:16395
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "таблица содержит столбец \"%s\", тогда как тип требует \"%s\""
 
-#: commands/tablecmds.c:15877
+#: commands/tablecmds.c:16404
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "таблица \"%s\" содержит столбец \"%s\" другого типа"
 
-#: commands/tablecmds.c:15891
+#: commands/tablecmds.c:16418
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "таблица содержит лишний столбец \"%s\""
 
-#: commands/tablecmds.c:15943
+#: commands/tablecmds.c:16470
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "\"%s\" - это не типизированная таблица"
 
-#: commands/tablecmds.c:16117
+#: commands/tablecmds.c:16644
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать неуникальный индекс \"%s\""
 
-#: commands/tablecmds.c:16123
+#: commands/tablecmds.c:16650
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать не непосредственный индекс "
 "\"%s\""
 
-#: commands/tablecmds.c:16129
+#: commands/tablecmds.c:16656
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать индекс с выражением \"%s\""
 
-#: commands/tablecmds.c:16135
+#: commands/tablecmds.c:16662
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\""
 
-#: commands/tablecmds.c:16152
+#: commands/tablecmds.c:16679
 #, c-format
 msgid ""
 "index \"%s\" cannot be used as replica identity because column %d is a "
@@ -12587,7 +13103,7 @@ msgstr ""
 "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец "
 "%d - системный"
 
-#: commands/tablecmds.c:16159
+#: commands/tablecmds.c:16686
 #, c-format
 msgid ""
 "index \"%s\" cannot be used as replica identity because column \"%s\" is "
@@ -12596,13 +13112,13 @@ msgstr ""
 "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец "
 "\"%s\" допускает NULL"
 
-#: commands/tablecmds.c:16404
+#: commands/tablecmds.c:16938
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr ""
 "изменить состояние журналирования таблицы %s нельзя, так как она временная"
 
-#: commands/tablecmds.c:16428
+#: commands/tablecmds.c:16962
 #, c-format
 msgid ""
 "cannot change table \"%s\" to unlogged because it is part of a publication"
@@ -12610,12 +13126,12 @@ msgstr ""
 "таблицу \"%s\" нельзя сделать нежурналируемой, так как она включена в "
 "публикацию"
 
-#: commands/tablecmds.c:16430
+#: commands/tablecmds.c:16964
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Нежурналируемые отношения не поддерживают репликацию."
 
-#: commands/tablecmds.c:16475
+#: commands/tablecmds.c:17009
 #, c-format
 msgid ""
 "could not change table \"%s\" to logged because it references unlogged table "
@@ -12624,7 +13140,7 @@ msgstr ""
 "не удалось сделать таблицу \"%s\" журналируемой, так как она ссылается на "
 "нежурналируемую таблицу \"%s\""
 
-#: commands/tablecmds.c:16485
+#: commands/tablecmds.c:17019
 #, c-format
 msgid ""
 "could not change table \"%s\" to unlogged because it references logged table "
@@ -12633,97 +13149,91 @@ msgstr ""
 "не удалось сделать таблицу \"%s\" нежурналируемой, так как она ссылается на "
 "журналируемую таблицу \"%s\""
 
-#: commands/tablecmds.c:16543
+#: commands/tablecmds.c:17077
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "переместить последовательность с владельцем в другую схему нельзя"
 
-#: commands/tablecmds.c:16645
+#: commands/tablecmds.c:17182
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "отношение \"%s\" уже существует в схеме \"%s\""
 
-#: commands/tablecmds.c:17065
+#: commands/tablecmds.c:17603
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" - это не таблица и не материализованное представление"
 
-#: commands/tablecmds.c:17215
+#: commands/tablecmds.c:17756
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "\"%s\" - это не составной тип"
 
-#: commands/tablecmds.c:17245
+#: commands/tablecmds.c:17786
 #, c-format
 msgid "cannot change schema of index \"%s\""
 msgstr "сменить схему индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:17247 commands/tablecmds.c:17261
+#: commands/tablecmds.c:17788 commands/tablecmds.c:17802
 #, c-format
 msgid "Change the schema of the table instead."
 msgstr "Однако возможно сменить владельца таблицы."
 
-#: commands/tablecmds.c:17251
+#: commands/tablecmds.c:17792
 #, c-format
 msgid "cannot change schema of composite type \"%s\""
 msgstr "сменить схему составного типа \"%s\" нельзя"
 
-#: commands/tablecmds.c:17259
+#: commands/tablecmds.c:17800
 #, c-format
 msgid "cannot change schema of TOAST table \"%s\""
 msgstr "сменить схему TOAST-таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:17291
+#: commands/tablecmds.c:17832
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "стратегия секционирования по списку не поддерживает несколько столбцов"
 
-#: commands/tablecmds.c:17357
+#: commands/tablecmds.c:17898
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "столбец \"%s\", упомянутый в ключе секционирования, не существует"
 
-#: commands/tablecmds.c:17365
+#: commands/tablecmds.c:17906
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "системный столбец \"%s\" нельзя использовать в ключе секционирования"
 
-#: commands/tablecmds.c:17376 commands/tablecmds.c:17466
+#: commands/tablecmds.c:17917 commands/tablecmds.c:18007
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "генерируемый столбец нельзя использовать в ключе секционирования"
 
-#: commands/tablecmds.c:17377 commands/tablecmds.c:17467 commands/trigger.c:663
-#: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971
-#, c-format
-msgid "Column \"%s\" is a generated column."
-msgstr "Столбец \"%s\" является генерируемым."
-
-#: commands/tablecmds.c:17449
+#: commands/tablecmds.c:17990
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr ""
 "выражения ключей секционирования не могут содержать ссылки на системный "
 "столбец"
 
-#: commands/tablecmds.c:17496
+#: commands/tablecmds.c:18037
 #, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
 msgstr ""
 "функции в выражении ключа секционирования должны быть помечены как IMMUTABLE"
 
-#: commands/tablecmds.c:17505
+#: commands/tablecmds.c:18046
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr ""
 "в качестве ключа секционирования нельзя использовать константное выражение"
 
-#: commands/tablecmds.c:17526
+#: commands/tablecmds.c:18067
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "не удалось определить правило сортировки для выражения секционирования"
 
-#: commands/tablecmds.c:17561
+#: commands/tablecmds.c:18102
 #, c-format
 msgid ""
 "You must specify a hash operator class or define a default hash operator "
@@ -12732,7 +13242,7 @@ msgstr ""
 "Вы должны указать класс операторов хеширования или определить класс "
 "операторов хеширования по умолчанию для этого типа данных."
 
-#: commands/tablecmds.c:17567
+#: commands/tablecmds.c:18108
 #, c-format
 msgid ""
 "You must specify a btree operator class or define a default btree operator "
@@ -12741,27 +13251,27 @@ msgstr ""
 "Вы должны указать класс операторов B-дерева или определить класс операторов "
 "B-дерева по умолчанию для этого типа данных."
 
-#: commands/tablecmds.c:17818
+#: commands/tablecmds.c:18359
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "\"%s\" уже является секцией"
 
-#: commands/tablecmds.c:17824
+#: commands/tablecmds.c:18365
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "подключить типизированную таблицу в качестве секции нельзя"
 
-#: commands/tablecmds.c:17840
+#: commands/tablecmds.c:18381
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "подключить потомок в иерархии наследования в качестве секции нельзя"
 
-#: commands/tablecmds.c:17854
+#: commands/tablecmds.c:18395
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "подключить родитель в иерархии наследования в качестве секции нельзя"
 
-#: commands/tablecmds.c:17888
+#: commands/tablecmds.c:18429
 #, c-format
 msgid ""
 "cannot attach a temporary relation as partition of permanent relation \"%s\""
@@ -12769,7 +13279,7 @@ msgstr ""
 "подключить временное отношение в качестве секции постоянного отношения "
 "\"%s\" нельзя"
 
-#: commands/tablecmds.c:17896
+#: commands/tablecmds.c:18437
 #, c-format
 msgid ""
 "cannot attach a permanent relation as partition of temporary relation \"%s\""
@@ -12777,92 +13287,102 @@ msgstr ""
 "подключить постоянное отношение в качестве секции временного отношения "
 "\"%s\" нельзя"
 
-#: commands/tablecmds.c:17904
+#: commands/tablecmds.c:18445
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "подключить секцию к временному отношению в другом сеансе нельзя"
 
-#: commands/tablecmds.c:17911
+#: commands/tablecmds.c:18452
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr ""
 "подключить временное отношение из другого сеанса в качестве секции нельзя"
 
-#: commands/tablecmds.c:17931
+#: commands/tablecmds.c:18472
+#, c-format
+msgid "table \"%s\" being attached contains an identity column \"%s\""
+msgstr "присоединяемая таблица \"%s\" содержит столбец идентификации \"%s\""
+
+#: commands/tablecmds.c:18474
+#, c-format
+msgid "The new partition may not contain an identity column."
+msgstr "Новая секция не может содержать столбец идентификации."
+
+#: commands/tablecmds.c:18482
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr ""
 "таблица \"%s\" содержит столбец \"%s\", отсутствующий в родителе \"%s\""
 
-#: commands/tablecmds.c:17934
+#: commands/tablecmds.c:18485
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr ""
 "Новая секция может содержать только столбцы, имеющиеся в родительской "
 "таблице."
 
-#: commands/tablecmds.c:17946
+#: commands/tablecmds.c:18497
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "триггер \"%s\" не позволяет сделать таблицу \"%s\" секцией"
 
-#: commands/tablecmds.c:17948
+#: commands/tablecmds.c:18499
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions."
 msgstr "Триггеры ROW с переходными таблицами для секций не поддерживаются."
 
-#: commands/tablecmds.c:18127
+#: commands/tablecmds.c:18675
 #, c-format
 msgid ""
 "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr ""
 "нельзя присоединить стороннюю таблицу \"%s\" в качестве секции таблицы \"%s\""
 
-#: commands/tablecmds.c:18130
+#: commands/tablecmds.c:18678
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "Секционированная таблица \"%s\" содержит уникальные индексы."
 
-#: commands/tablecmds.c:18447
+#: commands/tablecmds.c:19000
 #, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
 msgstr ""
 "секции нельзя отсоединять в режиме CONCURRENTLY, когда существует секция по "
 "умолчанию"
 
-#: commands/tablecmds.c:18556
+#: commands/tablecmds.c:19109
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "секционированная таблица \"%s\" была параллельно удалена"
 
-#: commands/tablecmds.c:18562
+#: commands/tablecmds.c:19115
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "секция \"%s\" была параллельно удалена"
 
-#: commands/tablecmds.c:19077 commands/tablecmds.c:19097
-#: commands/tablecmds.c:19118 commands/tablecmds.c:19137
-#: commands/tablecmds.c:19179
+#: commands/tablecmds.c:19651 commands/tablecmds.c:19671
+#: commands/tablecmds.c:19692 commands/tablecmds.c:19711
+#: commands/tablecmds.c:19753
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "нельзя присоединить индекс \"%s\" в качестве секции индекса \"%s\""
 
-#: commands/tablecmds.c:19080
+#: commands/tablecmds.c:19654
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "Индекс \"%s\" уже присоединён к другому индексу."
 
-#: commands/tablecmds.c:19100
+#: commands/tablecmds.c:19674
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "Индекс \"%s\" не является индексом какой-либо секции таблицы \"%s\"."
 
-#: commands/tablecmds.c:19121
+#: commands/tablecmds.c:19695
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Определения индексов не совпадают."
 
-#: commands/tablecmds.c:19140
+#: commands/tablecmds.c:19714
 #, c-format
 msgid ""
 "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint "
@@ -12871,172 +13391,172 @@ msgstr ""
 "Индекс \"%s\" принадлежит ограничению в таблице \"%s\", но для индекса "
 "\"%s\" ограничения нет."
 
-#: commands/tablecmds.c:19182
+#: commands/tablecmds.c:19756
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "К секции \"%s\" уже присоединён другой индекс."
 
-#: commands/tablecmds.c:19418
+#: commands/tablecmds.c:19992
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "тим данных столбца %s не поддерживает сжатие"
 
-#: commands/tablecmds.c:19425
+#: commands/tablecmds.c:19999
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "неверный метод сжатия \"%s\""
 
-#: commands/tablecmds.c:19451
+#: commands/tablecmds.c:20025
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "неверный тип хранилища \"%s\""
 
-#: commands/tablecmds.c:19461
+#: commands/tablecmds.c:20035
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "тип данных столбца %s совместим только с хранилищем PLAIN"
 
-#: commands/tablespace.c:199 commands/tablespace.c:650
+#: commands/tablespace.c:193 commands/tablespace.c:644
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "\"%s\" существует, но это не каталог"
 
-#: commands/tablespace.c:230
+#: commands/tablespace.c:224
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\81оздание табличного пространства \"%s\""
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f табличного пространства \"%s\""
 
-#: commands/tablespace.c:232
+#: commands/tablespace.c:226
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Для создания табличного пространства нужно быть суперпользователем."
 
-#: commands/tablespace.c:248
+#: commands/tablespace.c:242
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "в пути к табличному пространству не должно быть одинарных кавычек"
 
-#: commands/tablespace.c:261
+#: commands/tablespace.c:255
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "путь к табличному пространству должен быть абсолютным"
 
-#: commands/tablespace.c:273
+#: commands/tablespace.c:267
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "путь к табличному пространству \"%s\" слишком длинный"
 
-#: commands/tablespace.c:280
+#: commands/tablespace.c:274
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "табличное пространство не должно располагаться внутри каталога данных"
 
-#: commands/tablespace.c:289 commands/tablespace.c:976
+#: commands/tablespace.c:283 commands/tablespace.c:970
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "неприемлемое имя табличного пространства: \"%s\""
 
-#: commands/tablespace.c:291 commands/tablespace.c:977
+#: commands/tablespace.c:285 commands/tablespace.c:971
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Префикс \"pg_\" зарезервирован для системных табличных пространств."
 
-#: commands/tablespace.c:310 commands/tablespace.c:998
+#: commands/tablespace.c:304 commands/tablespace.c:992
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "табличное пространство \"%s\" уже существует"
 
-#: commands/tablespace.c:326
+#: commands/tablespace.c:320
 #, c-format
 msgid "pg_tablespace OID value not set when in binary upgrade mode"
 msgstr "значение OID в pg_tablespace не задано в режиме двоичного обновления"
 
-#: commands/tablespace.c:431 commands/tablespace.c:959
-#: commands/tablespace.c:1048 commands/tablespace.c:1117
-#: commands/tablespace.c:1263 commands/tablespace.c:1466
+#: commands/tablespace.c:425 commands/tablespace.c:953
+#: commands/tablespace.c:1042 commands/tablespace.c:1111
+#: commands/tablespace.c:1257 commands/tablespace.c:1460
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "табличное пространство \"%s\" не существует"
 
-#: commands/tablespace.c:437
+#: commands/tablespace.c:431
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "табличное пространство \"%s\" не существует, пропускается"
 
-#: commands/tablespace.c:463
+#: commands/tablespace.c:457
 #, c-format
 msgid "tablespace \"%s\" cannot be dropped because some objects depend on it"
 msgstr ""
 "табличное пространство \"%s\" нельзя удалить, так как есть зависящие от него "
 "объекты"
 
-#: commands/tablespace.c:530
+#: commands/tablespace.c:524
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "табличное пространство \"%s\" не пусто"
 
-#: commands/tablespace.c:617
+#: commands/tablespace.c:611
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "каталог \"%s\" не существует"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:612
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr ""
 "Создайте этот каталог для табличного пространства до перезапуска сервера."
 
-#: commands/tablespace.c:623
+#: commands/tablespace.c:617
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "не удалось установить права для каталога \"%s\": %m"
 
-#: commands/tablespace.c:655
+#: commands/tablespace.c:649
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "каталог \"%s\" уже используется как табличное пространство"
 
-#: commands/tablespace.c:833 commands/tablespace.c:919
+#: commands/tablespace.c:827 commands/tablespace.c:913
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "ошибка при удалении символической ссылки \"%s\": %m"
 
-#: commands/tablespace.c:842 commands/tablespace.c:927
+#: commands/tablespace.c:836 commands/tablespace.c:921
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "\"%s\" - это не каталог или символическая ссылка"
 
-#: commands/tablespace.c:1122
+#: commands/tablespace.c:1116
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Табличное пространство \"%s\" не существует."
 
-#: commands/tablespace.c:1568
+#: commands/tablespace.c:1562
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "удалить каталоги табличного пространства %u не удалось"
 
-#: commands/tablespace.c:1570
+#: commands/tablespace.c:1564
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "При необходимости вы можете удалить их вручную."
 
-#: commands/trigger.c:232 commands/trigger.c:243
+#: commands/trigger.c:225 commands/trigger.c:236
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "\"%s\" - это таблица"
 
-#: commands/trigger.c:234 commands/trigger.c:245
+#: commands/trigger.c:227 commands/trigger.c:238
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "У таблиц не может быть триггеров INSTEAD OF."
 
-#: commands/trigger.c:266
+#: commands/trigger.c:259
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "\"%s\" - секционированная таблица"
 
-#: commands/trigger.c:268
+#: commands/trigger.c:261
 #, c-format
 msgid ""
 "ROW triggers with transition tables are not supported on partitioned tables."
@@ -13044,88 +13564,88 @@ msgstr ""
 "Триггеры ROW с переходными таблицами не поддерживаются в секционированных "
 "таблицах."
 
-#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451
+#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "\"%s\" - это представление"
 
-#: commands/trigger.c:282
+#: commands/trigger.c:275
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "У представлений не может быть строковых триггеров BEFORE/AFTER."
 
-#: commands/trigger.c:289
+#: commands/trigger.c:282
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "У представлений не может быть триггеров TRUNCATE."
 
-#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444
+#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "\"%s\" - сторонняя таблица"
 
-#: commands/trigger.c:299
+#: commands/trigger.c:292
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "У сторонних таблиц не может быть триггеров INSTEAD OF."
 
-#: commands/trigger.c:311
+#: commands/trigger.c:304
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "У сторонних таблиц не может быть ограничивающих триггеров."
 
-#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439
+#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432
 #, c-format
 msgid "relation \"%s\" cannot have triggers"
 msgstr "в отношении \"%s\" не может быть триггеров"
 
-#: commands/trigger.c:387
+#: commands/trigger.c:380
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "триггеры TRUNCATE FOR EACH ROW не поддерживаются"
 
-#: commands/trigger.c:395
+#: commands/trigger.c:388
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "триггеры INSTEAD OF должны иметь тип FOR EACH ROW"
 
-#: commands/trigger.c:399
+#: commands/trigger.c:392
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "триггеры INSTEAD OF несовместимы с условиями WHEN"
 
-#: commands/trigger.c:403
+#: commands/trigger.c:396
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "для триггеров INSTEAD OF нельзя задать список столбцов"
 
-#: commands/trigger.c:432
+#: commands/trigger.c:425
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr ""
 "указание переменной типа кортеж в предложении REFERENCING не поддерживается"
 
-#: commands/trigger.c:433
+#: commands/trigger.c:426
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "Используйте OLD TABLE или NEW TABLE для именования переходных таблиц."
 
-#: commands/trigger.c:446
+#: commands/trigger.c:439
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Триггеры сторонних таблиц не могут использовать переходные таблицы."
 
-#: commands/trigger.c:453
+#: commands/trigger.c:446
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Триггеры представлений не могут использовать переходные таблицы."
 
-#: commands/trigger.c:469
+#: commands/trigger.c:462
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions"
 msgstr "триггеры ROW с переходными таблицами для секций не поддерживаются"
 
-#: commands/trigger.c:473
+#: commands/trigger.c:466
 #, c-format
 msgid ""
 "ROW triggers with transition tables are not supported on inheritance children"
@@ -13133,17 +13653,17 @@ msgstr ""
 "триггеры ROW с переходными таблицами для потомков в иерархии наследования не "
 "поддерживаются"
 
-#: commands/trigger.c:479
+#: commands/trigger.c:472
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "имя переходной таблицы можно задать только для триггера AFTER"
 
-#: commands/trigger.c:484
+#: commands/trigger.c:477
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "триггеры TRUNCATE с переходными таблицами не поддерживаются"
 
-#: commands/trigger.c:501
+#: commands/trigger.c:494
 #, c-format
 msgid ""
 "transition tables cannot be specified for triggers with more than one event"
@@ -13151,127 +13671,127 @@ msgstr ""
 "переходные таблицы нельзя задать для триггеров, назначаемых для нескольких "
 "событий"
 
-#: commands/trigger.c:512
+#: commands/trigger.c:505
 #, c-format
 msgid "transition tables cannot be specified for triggers with column lists"
 msgstr "переходные таблицы нельзя задать для триггеров со списками столбцов"
 
-#: commands/trigger.c:529
+#: commands/trigger.c:522
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE можно задать только для триггеров INSERT или UPDATE"
 
-#: commands/trigger.c:534
+#: commands/trigger.c:527
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE нельзя задать несколько раз"
 
-#: commands/trigger.c:544
+#: commands/trigger.c:537
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE можно задать только для триггеров DELETE или UPDATE"
 
-#: commands/trigger.c:549
+#: commands/trigger.c:542
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE нельзя задать несколько раз"
 
-#: commands/trigger.c:559
+#: commands/trigger.c:552
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "имя OLD TABLE не должно совпадать с именем NEW TABLE"
 
-#: commands/trigger.c:623 commands/trigger.c:636
+#: commands/trigger.c:616 commands/trigger.c:629
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr ""
 "в условии WHEN для операторного триггера нельзя ссылаться на значения "
 "столбцов"
 
-#: commands/trigger.c:628
+#: commands/trigger.c:621
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "в условии WHEN для триггера INSERT нельзя ссылаться на значения OLD"
 
-#: commands/trigger.c:641
+#: commands/trigger.c:634
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "в условии WHEN для триггера DELETE нельзя ссылаться на значения NEW"
 
-#: commands/trigger.c:646
+#: commands/trigger.c:639
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr ""
 "в условии WHEN для триггера BEFORE нельзя ссылаться на системные столбцы NEW"
 
-#: commands/trigger.c:654 commands/trigger.c:662
+#: commands/trigger.c:647 commands/trigger.c:655
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr ""
 "в условии WHEN для триггера BEFORE нельзя ссылаться на генерируемые столбцы "
 "NEW"
 
-#: commands/trigger.c:655
+#: commands/trigger.c:648
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr ""
 "Используется ссылка на всю строку таблицы, а таблица содержит генерируемые "
 "столбцы."
 
-#: commands/trigger.c:770 commands/trigger.c:1614
+#: commands/trigger.c:763 commands/trigger.c:1607
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "триггер \"%s\" для отношения \"%s\" уже существует"
 
-#: commands/trigger.c:783
+#: commands/trigger.c:776
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger"
 msgstr "триггер \"%s\" для отношения \"%s\" является внутренним или дочерним"
 
-#: commands/trigger.c:802
+#: commands/trigger.c:795
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgstr ""
 "триггер \"%s\" для отношения \"%s\" является триггером, реализующим "
 "ограничение"
 
-#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838
+#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "триггер \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/trigger.c:1529
+#: commands/trigger.c:1522
 #, c-format
 msgid "cannot rename trigger \"%s\" on table \"%s\""
 msgstr "переименовать триггер \"%s\" в таблице \"%s\" нельзя"
 
-#: commands/trigger.c:1531
+#: commands/trigger.c:1524
 #, c-format
 msgid "Rename the trigger on the partitioned table \"%s\" instead."
 msgstr "Однако можно переименовать триггер в секционированной таблице \"%s\"."
 
-#: commands/trigger.c:1631
+#: commands/trigger.c:1624
 #, c-format
 msgid "renamed trigger \"%s\" on relation \"%s\""
 msgstr "триггер \"%s\" в отношении \"%s\" переименован"
 
-#: commands/trigger.c:1777
+#: commands/trigger.c:1770
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "нет доступа: \"%s\" - это системный триггер"
 
-#: commands/trigger.c:2386
+#: commands/trigger.c:2379
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "триггерная функция %u вернула значение NULL"
 
-#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917
-#: commands/trigger.c:3270
+#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910
+#: commands/trigger.c:3263
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "триггер BEFORE STATEMENT не может возвращать значение"
 
-#: commands/trigger.c:2522
+#: commands/trigger.c:2515
 #, c-format
 msgid ""
 "moving row to another partition during a BEFORE FOR EACH ROW trigger is not "
@@ -13279,7 +13799,7 @@ msgid ""
 msgstr ""
 "в триггере BEFORE FOR EACH ROW нельзя перемещать строку в другую секцию"
 
-#: commands/trigger.c:2523
+#: commands/trigger.c:2516
 #, c-format
 msgid ""
 "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
@@ -13287,8 +13807,8 @@ msgstr ""
 "До выполнения триггера \"%s\" строка должна была находиться в секции \"%s."
 "%s\"."
 
-#: commands/trigger.c:3347 executor/nodeModifyTable.c:2369
-#: executor/nodeModifyTable.c:2452
+#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373
+#: executor/nodeModifyTable.c:2456
 #, c-format
 msgid ""
 "tuple to be updated was already modified by an operation triggered by the "
@@ -13297,10 +13817,10 @@ msgstr ""
 "кортеж, который должен быть изменён, уже модифицирован в операции, вызванной "
 "текущей командой"
 
-#: commands/trigger.c:3348 executor/nodeModifyTable.c:1535
-#: executor/nodeModifyTable.c:1609 executor/nodeModifyTable.c:2370
-#: executor/nodeModifyTable.c:2453 executor/nodeModifyTable.c:2990
-#: executor/nodeModifyTable.c:3117
+#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541
+#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374
+#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093
+#: executor/nodeModifyTable.c:3254
 #, c-format
 msgid ""
 "Consider using an AFTER trigger instead of a BEFORE trigger to propagate "
@@ -13309,34 +13829,34 @@ msgstr ""
 "Возможно, для распространения изменений в другие строки следует использовать "
 "триггер AFTER вместо BEFORE."
 
-#: commands/trigger.c:3389 executor/nodeLockRows.c:228
-#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308
-#: executor/nodeModifyTable.c:1551 executor/nodeModifyTable.c:2387
-#: executor/nodeModifyTable.c:2595
+#: commands/trigger.c:3382 executor/nodeLockRows.c:228
+#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314
+#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391
+#: executor/nodeModifyTable.c:2599
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "не удалось сериализовать доступ из-за параллельного изменения"
 
-#: commands/trigger.c:3397 executor/nodeModifyTable.c:1641
-#: executor/nodeModifyTable.c:2470 executor/nodeModifyTable.c:2619
-#: executor/nodeModifyTable.c:3008
+#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647
+#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623
+#: executor/nodeModifyTable.c:3111
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "не удалось сериализовать доступ из-за параллельного удаления"
 
-#: commands/trigger.c:4604
+#: commands/trigger.c:4601
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr ""
 "в рамках операции с ограничениями по безопасности нельзя вызвать отложенный "
 "триггер"
 
-#: commands/trigger.c:5787
+#: commands/trigger.c:5782
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "ограничение \"%s\" не является откладываемым"
 
-#: commands/trigger.c:5810
+#: commands/trigger.c:5805
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "ограничение \"%s\" не существует"
@@ -13437,12 +13957,12 @@ msgstr "сопоставление для типа фрагмента \"%s\" н
 msgid "invalid parameter list format: \"%s\""
 msgstr "неверный формат списка параметров: \"%s\""
 
-#: commands/typecmds.c:217
+#: commands/typecmds.c:221
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "для создания базового типа нужно быть суперпользователем"
 
-#: commands/typecmds.c:275
+#: commands/typecmds.c:279
 #, c-format
 msgid ""
 "Create the type as a shell type, then create its I/O functions, then do a "
@@ -13451,42 +13971,42 @@ msgstr ""
 "Создайте тип в виде оболочки, затем определите для него функции ввода-вывода "
 "и в завершение выполните полноценную команду CREATE TYPE."
 
-#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4263
+#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "атрибут типа \"%s\" не распознан"
 
-#: commands/typecmds.c:382
+#: commands/typecmds.c:386
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "неверная категория типа \"%s\": допустим только ASCII-символ"
 
-#: commands/typecmds.c:401
+#: commands/typecmds.c:405
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "типом элемента массива не может быть %s"
 
-#: commands/typecmds.c:433
+#: commands/typecmds.c:437
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "тип выравнивания \"%s\" не распознан"
 
-#: commands/typecmds.c:450 commands/typecmds.c:4137
+#: commands/typecmds.c:454 commands/typecmds.c:4354
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "неизвестная стратегия хранения \"%s\""
 
-#: commands/typecmds.c:461
+#: commands/typecmds.c:465
 #, c-format
 msgid "type input function must be specified"
 msgstr "необходимо указать функцию ввода типа"
 
-#: commands/typecmds.c:465
+#: commands/typecmds.c:469
 #, c-format
 msgid "type output function must be specified"
 msgstr "необходимо указать функцию вывода типа"
 
-#: commands/typecmds.c:470
+#: commands/typecmds.c:474
 #, c-format
 msgid ""
 "type modifier output function is useless without a type modifier input "
@@ -13495,89 +14015,89 @@ msgstr ""
 "функция вывода модификатора типа бесполезна без функции ввода модификатора "
 "типа"
 
-#: commands/typecmds.c:512
+#: commands/typecmds.c:516
 #, c-format
 msgid "element type cannot be specified without a subscripting function"
 msgstr ""
 "тип элемента нельзя задать без указания обработчика обращения по индексу"
 
-#: commands/typecmds.c:781
+#: commands/typecmds.c:785
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "\"%s\" - неподходящий базовый тип для домена"
 
-#: commands/typecmds.c:879
+#: commands/typecmds.c:883
 #, c-format
 msgid "multiple default expressions"
 msgstr "неоднократное определение значения типа по умолчанию"
 
-#: commands/typecmds.c:942 commands/typecmds.c:951
+#: commands/typecmds.c:946 commands/typecmds.c:955
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "конфликтующие ограничения NULL/NOT NULL"
 
-#: commands/typecmds.c:967
+#: commands/typecmds.c:971
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr ""
 "ограничения-проверки для доменов не могут иметь характеристики NO INHERIT"
 
-#: commands/typecmds.c:976 commands/typecmds.c:2956
+#: commands/typecmds.c:980 commands/typecmds.c:2940
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "ограничения уникальности невозможны для доменов"
 
-#: commands/typecmds.c:982 commands/typecmds.c:2962
+#: commands/typecmds.c:986 commands/typecmds.c:2946
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "ограничения первичного ключа невозможны для доменов"
 
-#: commands/typecmds.c:988 commands/typecmds.c:2968
+#: commands/typecmds.c:992 commands/typecmds.c:2952
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "ограничения-исключения невозможны для доменов"
 
-#: commands/typecmds.c:994 commands/typecmds.c:2974
+#: commands/typecmds.c:998 commands/typecmds.c:2958
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "ограничения внешних ключей невозможны для доменов"
 
-#: commands/typecmds.c:1003 commands/typecmds.c:2983
+#: commands/typecmds.c:1007 commands/typecmds.c:2967
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr ""
 "возможность определения отложенных ограничений для доменов не поддерживается"
 
-#: commands/typecmds.c:1317 utils/cache/typcache.c:2567
+#: commands/typecmds.c:1327 utils/cache/typcache.c:2570
 #, c-format
 msgid "%s is not an enum"
 msgstr "\"%s\" не является перечислением"
 
-#: commands/typecmds.c:1458
+#: commands/typecmds.c:1468
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "требуется атрибут типа \"subtype\""
 
-#: commands/typecmds.c:1463
+#: commands/typecmds.c:1473
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "%s не может быть подтипом диапазона"
 
-#: commands/typecmds.c:1482
+#: commands/typecmds.c:1492
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr ""
 "указано правило сортировки для диапазона, но подтип не поддерживает "
 "сортировку"
 
-#: commands/typecmds.c:1492
+#: commands/typecmds.c:1502
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr ""
 "функцию получения канонического диапазона нельзя задать без предварительно "
 "созданного типа-пустышки"
 
-#: commands/typecmds.c:1493
+#: commands/typecmds.c:1503
 #, c-format
 msgid ""
 "Create the type as a shell type, then create its canonicalization function, "
@@ -13586,96 +14106,96 @@ msgstr ""
 "Создайте тип в виде оболочки, затем определите для него функции приведения к "
 "каноническому виду и в завершение выполните полноценную команду CREATE TYPE."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1975
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "функция ввода типа %s присутствует в нескольких экземплярах"
 
-#: commands/typecmds.c:1983
+#: commands/typecmds.c:1993
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "функция ввода типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:1999
+#: commands/typecmds.c:2009
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "функция ввода типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2027
+#: commands/typecmds.c:2037
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "функция вывода типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2034
+#: commands/typecmds.c:2044
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "функция вывода типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2063
+#: commands/typecmds.c:2073
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "функция получения типа %s присутствует в нескольких экземплярах"
 
-#: commands/typecmds.c:2081
+#: commands/typecmds.c:2091
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "функция получения типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2088
+#: commands/typecmds.c:2098
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "функция получения типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2116
+#: commands/typecmds.c:2126
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "функция отправки типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2123
+#: commands/typecmds.c:2133
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "функция отправки типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2150
+#: commands/typecmds.c:2160
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "функция TYPMOD_IN %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2157
+#: commands/typecmds.c:2167
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "функция ввода модификатора типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2184
+#: commands/typecmds.c:2194
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "функция TYPMOD_OUT %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2191
+#: commands/typecmds.c:2201
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "функция вывода модификатора типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:2218
+#: commands/typecmds.c:2228
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "функция анализа типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:2247
+#: commands/typecmds.c:2257
 #, c-format
 msgid "type subscripting function %s must return type %s"
 msgstr ""
 "функция %s, реализующая для типа обращение по индексу, должна возвращать тип "
 "%s"
 
-#: commands/typecmds.c:2257
+#: commands/typecmds.c:2267
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
 msgstr ""
 "для пользовательских типов нельзя использовать функцию-обработчик обращения "
 "по индексу %s"
 
-#: commands/typecmds.c:2303
+#: commands/typecmds.c:2313
 #, c-format
 msgid ""
 "You must specify an operator class for the range type or define a default "
@@ -13684,207 +14204,218 @@ msgstr ""
 "Вы должны указать класс операторов для типа диапазона или определить класс "
 "операторов по умолчанию для этого подтипа."
 
-#: commands/typecmds.c:2334
+#: commands/typecmds.c:2344
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr ""
 "функция получения канонического диапазона %s должна возвращать диапазон"
 
-#: commands/typecmds.c:2340
+#: commands/typecmds.c:2350
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr ""
 "функция получения канонического диапазона %s должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:2376
+#: commands/typecmds.c:2386
 #, c-format
 msgid "range subtype diff function %s must return type %s"
 msgstr "функция различий для подтипа диапазона (%s) должна возвращать тип %s"
 
-#: commands/typecmds.c:2383
+#: commands/typecmds.c:2393
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr ""
 "функция различий для подтипа диапазона (%s) должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:2410
+#: commands/typecmds.c:2420
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "значение OID массива в pg_type не задано в режиме двоичного обновления"
 
-#: commands/typecmds.c:2443
+#: commands/typecmds.c:2453
 #, c-format
 msgid "pg_type multirange OID value not set when in binary upgrade mode"
 msgstr ""
 "значение OID мультидиапазона в pg_type не задано в режиме двоичного "
 "обновления"
 
-#: commands/typecmds.c:2476
+#: commands/typecmds.c:2486
 #, c-format
 msgid "pg_type multirange array OID value not set when in binary upgrade mode"
 msgstr ""
 "значение OID массива мультидиапазонов в pg_type не задано в режиме двоичного "
 "обновления"
 
-#: commands/typecmds.c:2772
-#, c-format
-msgid "column \"%s\" of table \"%s\" contains null values"
-msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL"
-
-#: commands/typecmds.c:2885 commands/typecmds.c:3086
+#: commands/typecmds.c:2868 commands/typecmds.c:3093
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует"
 
-#: commands/typecmds.c:2889
+#: commands/typecmds.c:2872
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует, пропускается"
 
-#: commands/typecmds.c:3093
+#: commands/typecmds.c:3100
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr ""
 "ограничение \"%s\" для домена \"%s\" не является ограничением-проверкой"
 
-#: commands/typecmds.c:3194
+#: commands/typecmds.c:3180
+#, c-format
+msgid "column \"%s\" of table \"%s\" contains null values"
+msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL"
+
+#: commands/typecmds.c:3269
 #, c-format
 msgid ""
 "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr ""
 "столбец \"%s\" таблицы \"%s\" содержит значения, нарушающие новое ограничение"
 
-#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3705
-#: commands/typecmds.c:3893
+#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857
+#: commands/typecmds.c:4073
 #, c-format
 msgid "%s is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: commands/typecmds.c:3455
+#: commands/typecmds.c:3532 commands/typecmds.c:3686
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "ограничение \"%s\" для домена \"%s\" уже существует"
 
-#: commands/typecmds.c:3506
+#: commands/typecmds.c:3583
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "в ограничении-проверке для домена нельзя ссылаться на таблицы"
 
-#: commands/typecmds.c:3634 commands/typecmds.c:3717 commands/typecmds.c:4010
+#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s - это тип строк таблицы"
 
-#: commands/typecmds.c:3644 commands/typecmds.c:3727 commands/typecmds.c:3925
+#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "изменить тип массива \"%s\" нельзя"
 
-#: commands/typecmds.c:3646 commands/typecmds.c:3729 commands/typecmds.c:3927
+#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Однако можно изменить тип %s, что повлечёт изменение типа массива."
 
-#: commands/typecmds.c:3995
+#: commands/typecmds.c:3892
+#, c-format
+msgid "cannot alter multirange type %s"
+msgstr "изменить мультидиапазонный тип %s нельзя"
+
+#: commands/typecmds.c:3895
+#, c-format
+msgid "You can alter type %s, which will alter the multirange type as well."
+msgstr ""
+"Однако можно изменить тип %s, что повлечёт изменение мультидиапазонного типа."
+
+#: commands/typecmds.c:4202
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "тип \"%s\" уже существует в схеме \"%s\""
 
-#: commands/typecmds.c:4165
+#: commands/typecmds.c:4382
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "сменить вариант хранения типа на PLAIN нельзя"
 
-#: commands/typecmds.c:4258
+#: commands/typecmds.c:4475
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "у типа нельзя изменить атрибут \"%s\""
 
-#: commands/typecmds.c:4276
+#: commands/typecmds.c:4493
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "для модификации типа нужно быть суперпользователем"
 
-#: commands/typecmds.c:4297 commands/typecmds.c:4306
+#: commands/typecmds.c:4514 commands/typecmds.c:4523
 #, c-format
 msgid "%s is not a base type"
 msgstr "%s — не базовый тип"
 
-#: commands/user.c:201
+#: commands/user.c:200
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID уже не нужно указывать"
 
-#: commands/user.c:319 commands/user.c:325 commands/user.c:331
-#: commands/user.c:337 commands/user.c:343
+#: commands/user.c:318 commands/user.c:324 commands/user.c:330
+#: commands/user.c:336 commands/user.c:342
 #, c-format
 msgid "permission denied to create role"
 msgstr "нет прав для создания роли"
 
-#: commands/user.c:320
+#: commands/user.c:319
 #, c-format
 msgid "Only roles with the %s attribute may create roles."
 msgstr "Создавать роли могут только роли с атрибутом %s."
 
-#: commands/user.c:326 commands/user.c:332 commands/user.c:338
-#: commands/user.c:344
+#: commands/user.c:325 commands/user.c:331 commands/user.c:337
+#: commands/user.c:343
 #, c-format
 msgid ""
 "Only roles with the %s attribute may create roles with the %s attribute."
 msgstr "Создавать роли с атрибутом %s могут только роли с атрибутом %s."
 
-#: commands/user.c:355 commands/user.c:1387 commands/user.c:1394
-#: utils/adt/acl.c:5401 utils/adt/acl.c:5407 gram.y:16726 gram.y:16772
+#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393
+#: utils/adt/acl.c:5574 utils/adt/acl.c:5580 gram.y:17303 gram.y:17349
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "имя роли \"%s\" зарезервировано"
 
-#: commands/user.c:357 commands/user.c:1389 commands/user.c:1396
+#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Имена ролей, начинающиеся с \"pg_\", зарезервированы."
 
-#: commands/user.c:378 commands/user.c:1411
+#: commands/user.c:377 commands/user.c:1410
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "роль \"%s\" уже существует"
 
-#: commands/user.c:440 commands/user.c:925
+#: commands/user.c:439 commands/user.c:924
 #, c-format
 msgid "empty string is not a valid password, clearing password"
 msgstr "пустая строка не является допустимым паролем; пароль сбрасывается"
 
-#: commands/user.c:469
+#: commands/user.c:468
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "значение OID в pg_authid не задано в режиме двоичного обновления"
 
-#: commands/user.c:653 commands/user.c:1011
+#: commands/user.c:652 commands/user.c:1010
 msgid "Cannot alter reserved roles."
 msgstr "Изменять зарезервированные роли нельзя."
 
-#: commands/user.c:760 commands/user.c:766 commands/user.c:782
-#: commands/user.c:790 commands/user.c:804 commands/user.c:810
-#: commands/user.c:816 commands/user.c:825 commands/user.c:870
-#: commands/user.c:1033 commands/user.c:1044
+#: commands/user.c:759 commands/user.c:765 commands/user.c:781
+#: commands/user.c:789 commands/user.c:803 commands/user.c:809
+#: commands/user.c:815 commands/user.c:824 commands/user.c:869
+#: commands/user.c:1032 commands/user.c:1043
 #, c-format
 msgid "permission denied to alter role"
 msgstr "нет прав для изменения роли"
 
-#: commands/user.c:761 commands/user.c:1034
+#: commands/user.c:760 commands/user.c:1033
 #, c-format
 msgid "Only roles with the %s attribute may alter roles with the %s attribute."
 msgstr "Изменять роли с атрибутом %s могут только роли с атрибутом %s."
 
-#: commands/user.c:767 commands/user.c:805 commands/user.c:811
-#: commands/user.c:817
+#: commands/user.c:766 commands/user.c:804 commands/user.c:810
+#: commands/user.c:816
 #, c-format
 msgid "Only roles with the %s attribute may change the %s attribute."
 msgstr "Изменять атрибут %s могут только роли с атрибутом %s."
 
-#: commands/user.c:783 commands/user.c:1045
+#: commands/user.c:782 commands/user.c:1044
 #, c-format
 msgid ""
 "Only roles with the %s attribute and the %s option on role \"%s\" may alter "
@@ -13893,7 +14424,7 @@ msgstr ""
 "Изменять эту роль могут только роли с атрибутом %s и привилегией %s для роли "
 "\"%s\"."
 
-#: commands/user.c:791
+#: commands/user.c:790
 #, c-format
 msgid ""
 "To change another role's password, the current user must have the %s "
@@ -13902,32 +14433,32 @@ msgstr ""
 "Чтобы сменить пароль другой роли, текущий пользователь должен иметь атрибут "
 "%s и привилегию %s для этой роли."
 
-#: commands/user.c:826
+#: commands/user.c:825
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may add members."
 msgstr "Добавлять членов могут только роли с привилегией %s для роли \"%s\"."
 
-#: commands/user.c:871
+#: commands/user.c:870
 #, c-format
-msgid "The bootstrap user must have the %s attribute."
-msgstr "Стартовый пользователь должен иметь атрибут %s."
+msgid "The bootstrap superuser must have the %s attribute."
+msgstr "Стартовый суперпользователь должен иметь атрибут %s."
 
-#: commands/user.c:1076
+#: commands/user.c:1075
 #, c-format
 msgid "permission denied to alter setting"
 msgstr "нет прав для изменения параметров"
 
-#: commands/user.c:1077
+#: commands/user.c:1076
 #, c-format
 msgid "Only roles with the %s attribute may alter settings globally."
 msgstr "Изменять параметры глобально могут только роли с атрибутом %s."
 
-#: commands/user.c:1101 commands/user.c:1172 commands/user.c:1178
+#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177
 #, c-format
 msgid "permission denied to drop role"
 msgstr "нет прав для удаления роли"
 
-#: commands/user.c:1102
+#: commands/user.c:1101
 #, c-format
 msgid ""
 "Only roles with the %s attribute and the %s option on the target roles may "
@@ -13936,41 +14467,41 @@ msgstr ""
 "Удалять роли могут только роли с атрибутом %s и с привилегией %s для целевых "
 "ролей."
 
-#: commands/user.c:1126
+#: commands/user.c:1125
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "использовать специальную роль в DROP ROLE нельзя"
 
-#: commands/user.c:1136 commands/user.c:1358 commands/variable.c:836
-#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926
-#: utils/adt/acl.c:356 utils/adt/acl.c:376 utils/adt/acl.c:5256
-#: utils/adt/acl.c:5304 utils/adt/acl.c:5332 utils/adt/acl.c:5351
-#: utils/adt/regproc.c:1551 utils/init/miscinit.c:756
+#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838
+#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950
+#: utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5429
+#: utils/adt/acl.c:5477 utils/adt/acl.c:5505 utils/adt/acl.c:5524
+#: utils/adt/regproc.c:1571 utils/init/miscinit.c:762
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "роль \"%s\" не существует"
 
-#: commands/user.c:1141
+#: commands/user.c:1140
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "роль \"%s\" не существует, пропускается"
 
-#: commands/user.c:1154 commands/user.c:1158
+#: commands/user.c:1153 commands/user.c:1157
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "пользователь не может удалить сам себя"
 
-#: commands/user.c:1162
+#: commands/user.c:1161
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "пользователя текущего сеанса нельзя удалить"
 
-#: commands/user.c:1173
+#: commands/user.c:1172
 #, c-format
 msgid "Only roles with the %s attribute may drop roles with the %s attribute."
 msgstr "Только роли с атрибутом %s могут удалять роли с атрибутом %s."
 
-#: commands/user.c:1179
+#: commands/user.c:1178
 #, c-format
 msgid ""
 "Only roles with the %s attribute and the %s option on role \"%s\" may drop "
@@ -13979,33 +14510,33 @@ msgstr ""
 "Эту роль могут удалить только роли с атрибутом %s и привилегией %s для роли "
 "\"%s\"."
 
-#: commands/user.c:1300
+#: commands/user.c:1299
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "роль \"%s\" нельзя удалить, так как есть зависящие от неё объекты"
 
-#: commands/user.c:1374
+#: commands/user.c:1373
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "пользователя текущего сеанса нельзя переименовать"
 
-#: commands/user.c:1378
+#: commands/user.c:1377
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "пользователь не может переименовать сам себя"
 
-#: commands/user.c:1422 commands/user.c:1432
+#: commands/user.c:1421 commands/user.c:1431
 #, c-format
 msgid "permission denied to rename role"
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð¿ÐµÑ\80еименование роли"
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ð¿ÐµÑ\80еименованиÑ\8f роли"
 
-#: commands/user.c:1423
+#: commands/user.c:1422
 #, c-format
 msgid ""
 "Only roles with the %s attribute may rename roles with the %s attribute."
 msgstr "Только роли с атрибутом %s могут переименовывать роли с атрибутом %s."
 
-#: commands/user.c:1433
+#: commands/user.c:1432
 #, c-format
 msgid ""
 "Only roles with the %s attribute and the %s option on role \"%s\" may rename "
@@ -14014,43 +14545,43 @@ msgstr ""
 "Переименовать эту роль могут только роли с атрибутом %s и привилегией %s для "
 "роли \"%s\"."
 
-#: commands/user.c:1455
+#: commands/user.c:1454
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "в результате переименования роли очищен MD5-хеш пароля"
 
-#: commands/user.c:1519 gram.y:1260
+#: commands/user.c:1518 gram.y:1294
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "нераспознанный параметр роли \"%s\""
 
-#: commands/user.c:1524
+#: commands/user.c:1523
 #, c-format
 msgid "unrecognized value for role option \"%s\": \"%s\""
 msgstr "нераспознанное значение для параметра роли \"%s\": \"%s\""
 
-#: commands/user.c:1557
+#: commands/user.c:1556
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "в GRANT/REVOKE ROLE нельзя включать названия столбцов"
 
-#: commands/user.c:1597
+#: commands/user.c:1596
 #, c-format
 msgid "permission denied to drop objects"
-msgstr "неÑ\82 Ð¿Ñ\80ав Ð½Ð° Ñ\83даление объектов"
+msgstr "неÑ\82 Ð¿Ñ\80ав Ð´Ð»Ñ\8f Ñ\83далениÑ\8f объектов"
 
-#: commands/user.c:1598
+#: commands/user.c:1597
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may drop objects owned by it."
 msgstr ""
 "Только роли с правами роли \"%s\" могут удалять принадлежащие ей объекты."
 
-#: commands/user.c:1626 commands/user.c:1637
+#: commands/user.c:1625 commands/user.c:1636
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "нет прав для переназначения объектов"
 
-#: commands/user.c:1627
+#: commands/user.c:1626
 #, c-format
 msgid ""
 "Only roles with privileges of role \"%s\" may reassign objects owned by it."
@@ -14058,102 +14589,102 @@ msgstr ""
 "Только роли с правами роли \"%s\" могут поменять владельца принадлежащих ей "
 "объектов."
 
-#: commands/user.c:1638
+#: commands/user.c:1637
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may reassign objects to it."
 msgstr ""
 "Только роли с правами роли \"%s\" могут назначать её владельцем объектов."
 
-#: commands/user.c:1734
+#: commands/user.c:1733
 #, c-format
 msgid "role \"%s\" cannot be a member of any role"
 msgstr "роль \"%s\" не может быть членом другой роли"
 
-#: commands/user.c:1747
+#: commands/user.c:1746
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "роль \"%s\" включена в роль \"%s\""
 
-#: commands/user.c:1787 commands/user.c:1813
+#: commands/user.c:1786 commands/user.c:1812
 #, c-format
 msgid "%s option cannot be granted back to your own grantor"
 msgstr "привилегию %s нельзя вернуть тому, кто назначил её вам"
 
-#: commands/user.c:1890
+#: commands/user.c:1889
 #, c-format
 msgid ""
 "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\""
 msgstr "роль \"%s\" уже назначена членом роли \"%s\" ролью \"%s\""
 
-#: commands/user.c:2025
+#: commands/user.c:2024
 #, c-format
 msgid ""
 "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\""
 msgstr "роль \"%s\" не была назначена членом роли \"%s\" ролью \"%s\""
 
-#: commands/user.c:2125
+#: commands/user.c:2124
 #, c-format
 msgid "role \"%s\" cannot have explicit members"
 msgstr "роль \"%s\" не может содержать явных членов"
 
-#: commands/user.c:2136 commands/user.c:2159
+#: commands/user.c:2135 commands/user.c:2158
 #, c-format
 msgid "permission denied to grant role \"%s\""
 msgstr "нет прав для назначения членства в роли \"%s\""
 
-#: commands/user.c:2138
+#: commands/user.c:2137
 #, c-format
 msgid "Only roles with the %s attribute may grant roles with the %s attribute."
 msgstr ""
 "Только роли с атрибутом %s могут назначать членов в ролях с атрибутов %s."
 
-#: commands/user.c:2143 commands/user.c:2166
+#: commands/user.c:2142 commands/user.c:2165
 #, c-format
 msgid "permission denied to revoke role \"%s\""
 msgstr "нет прав для лишения членства в роли \"%s\""
 
-#: commands/user.c:2145
+#: commands/user.c:2144
 #, c-format
 msgid ""
 "Only roles with the %s attribute may revoke roles with the %s attribute."
 msgstr ""
 "Только роли с атрибутом %s могут лишать членства в ролях с атрибутом %s."
 
-#: commands/user.c:2161
+#: commands/user.c:2160
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may grant this role."
 msgstr ""
 "Только роли с привилегией %s для роли \"%s\" могут назначать членов в ней."
 
-#: commands/user.c:2168
+#: commands/user.c:2167
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may revoke this role."
 msgstr ""
 "Только роли с привилегией %s для роли \"%s\" могут лишать членства в ней."
 
-#: commands/user.c:2248 commands/user.c:2257
+#: commands/user.c:2247 commands/user.c:2256
 #, c-format
 msgid "permission denied to grant privileges as role \"%s\""
 msgstr "нет полномочий для назначения прав доступа роли \"%s\""
 
-#: commands/user.c:2250
+#: commands/user.c:2249
 #, c-format
 msgid ""
 "Only roles with privileges of role \"%s\" may grant privileges as this role."
 msgstr ""
 "Только роли с правами роли \"%s\" могут назначать права от имени этой роли."
 
-#: commands/user.c:2259
+#: commands/user.c:2258
 #, c-format
 msgid "The grantor must have the %s option on role \"%s\"."
 msgstr "Праводатель должен иметь привилегию %s для роли \"%s\"."
 
-#: commands/user.c:2267
+#: commands/user.c:2266
 #, c-format
 msgid "permission denied to revoke privileges granted by role \"%s\""
 msgstr "нет полномочий для отзыва прав доступа, назначенных ролью \"%s\""
 
-#: commands/user.c:2269
+#: commands/user.c:2268
 #, c-format
 msgid ""
 "Only roles with privileges of role \"%s\" may revoke privileges granted by "
@@ -14161,17 +14692,17 @@ msgid ""
 msgstr ""
 "Только роли с правами роли \"%s\" могут отзывать права от имени этой роли."
 
-#: commands/user.c:2492 utils/adt/acl.c:1309
+#: commands/user.c:2491 utils/adt/acl.c:1324
 #, c-format
 msgid "dependent privileges exist"
 msgstr "существуют зависимые права"
 
-#: commands/user.c:2493 utils/adt/acl.c:1310
+#: commands/user.c:2492 utils/adt/acl.c:1325
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Используйте CASCADE, чтобы отозвать и их."
 
-#: commands/vacuum.c:137
+#: commands/vacuum.c:134
 #, c-format
 msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB"
 msgstr ""
@@ -14246,42 +14777,42 @@ msgstr "ONLY_DATABASE_STATS нельзя задавать с другими па
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE"
 
-#: commands/vacuum.c:733
+#: commands/vacuum.c:730
 #, c-format
 msgid "permission denied to vacuum \"%s\", skipping it"
 msgstr "нет доступа для очистки отношения \"%s\", оно пропускается"
 
-#: commands/vacuum.c:746
+#: commands/vacuum.c:743
 #, c-format
 msgid "permission denied to analyze \"%s\", skipping it"
 msgstr "нет доступа для анализа отношения \"%s\", оно пропускается"
 
-#: commands/vacuum.c:824 commands/vacuum.c:921
+#: commands/vacuum.c:821 commands/vacuum.c:918
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "очистка \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/vacuum.c:829
+#: commands/vacuum.c:826
 #, c-format
 msgid "skipping vacuum of \"%s\" --- relation no longer exists"
 msgstr "очистка \"%s\" пропускается --- это отношение более не существует"
 
-#: commands/vacuum.c:845 commands/vacuum.c:926
+#: commands/vacuum.c:842 commands/vacuum.c:923
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "анализ \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/vacuum.c:850
+#: commands/vacuum.c:847
 #, c-format
 msgid "skipping analyze of \"%s\" --- relation no longer exists"
 msgstr "анализ \"%s\" пропускается --- это отношение более не существует"
 
-#: commands/vacuum.c:1161
+#: commands/vacuum.c:1139
 #, c-format
 msgid "cutoff for removing and freezing tuples is far in the past"
 msgstr "момент отсечки для удаления и замораживания кортежей далеко в прошлом"
 
-#: commands/vacuum.c:1162 commands/vacuum.c:1167
+#: commands/vacuum.c:1140 commands/vacuum.c:1145
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
@@ -14293,42 +14824,42 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые "
 "подготовленные транзакции и удалить неиспользуемые слоты репликации."
 
-#: commands/vacuum.c:1166
+#: commands/vacuum.c:1144
 #, c-format
 msgid "cutoff for freezing multixacts is far in the past"
 msgstr "момент отсечки для замораживания мультитранзакций далеко в прошлом"
 
-#: commands/vacuum.c:1912
+#: commands/vacuum.c:1890
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов "
 "транзакций"
 
-#: commands/vacuum.c:1913
+#: commands/vacuum.c:1891
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr ""
 "Возможно, вы уже потеряли данные в результате зацикливания ID транзакций."
 
-#: commands/vacuum.c:2082
+#: commands/vacuum.c:2070
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы "
 "нельзя"
 
-#: commands/vacuum.c:2507
+#: commands/vacuum.c:2502
 #, c-format
-msgid "scanned index \"%s\" to remove %d row versions"
-msgstr "просканирован индекс \"%s\", удалено версий строк: %d"
+msgid "scanned index \"%s\" to remove %lld row versions"
+msgstr "просканирован индекс \"%s\", удалено версий строк: %lld"
 
-#: commands/vacuum.c:2526
+#: commands/vacuum.c:2521
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u"
 
-#: commands/vacuum.c:2530
+#: commands/vacuum.c:2525
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -14340,7 +14871,7 @@ msgstr ""
 "На данный момент удалено страниц индекса: %u, из них свободны для "
 "использования: %u."
 
-#: commands/vacuumparallel.c:677
+#: commands/vacuumparallel.c:708
 #, c-format
 msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)"
 msgid_plural ""
@@ -14355,7 +14886,7 @@ msgstr[2] ""
 "запущено %d параллельных процессов очистки для очистки индекса "
 "(планировалось: %d)"
 
-#: commands/vacuumparallel.c:683
+#: commands/vacuumparallel.c:714
 #, c-format
 msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)"
 msgid_plural ""
@@ -14432,7 +14963,7 @@ msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr ""
 "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции"
 
-#: commands/variable.c:606 storage/lmgr/predicate.c:1629
+#: commands/variable.c:606 storage/lmgr/predicate.c:1680
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "использовать сериализуемый режим в горячем резерве нельзя"
@@ -14467,65 +14998,76 @@ msgstr "Изменить клиентскую кодировку сейчас н
 
 #: commands/variable.c:781
 #, c-format
-msgid "cannot change client_encoding during a parallel operation"
-msgstr "изменить клиентскую кодировку во время параллельной операции нельзя"
+msgid "cannot change \"client_encoding\" during a parallel operation"
+msgstr ""
+"изменить параметр \"client_encoding\" во время параллельной операции нельзя"
+
+#: commands/variable.c:863
+#, c-format
+msgid "permission will be denied to set session authorization \"%s\""
+msgstr "в доступе для смены объекта авторизации \"%s\" будет отказано"
+
+#: commands/variable.c:868
+#, c-format
+msgid "permission denied to set session authorization \"%s\""
+msgstr "нет доступа для смены объекта авторизации в сеансе \"%s\""
 
-#: commands/variable.c:948
+#: commands/variable.c:972
 #, c-format
 msgid "permission will be denied to set role \"%s\""
 msgstr "нет прав установить роль \"%s\""
 
-#: commands/variable.c:953
+#: commands/variable.c:977
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "нет прав установить роль \"%s\""
 
-#: commands/variable.c:1153
+#: commands/variable.c:1177
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour не поддерживается в данной сборке"
 
-#: commands/variable.c:1181
+#: commands/variable.c:1205
 #, c-format
 msgid ""
-"effective_io_concurrency must be set to 0 on platforms that lack "
+"\"effective_io_concurrency\" must be set to 0 on platforms that lack "
 "posix_fadvise()."
 msgstr ""
-"Значение effective_io_concurrency должно равняться 0 на платформах, где "
-"отсутствует lack posix_fadvise()."
+"Значение \"effective_io_concurrency\" должно равняться 0 на платформах, где "
+"отсутствует posix_fadvise()."
 
-#: commands/variable.c:1194
+#: commands/variable.c:1218
 #, c-format
 msgid ""
-"maintenance_io_concurrency must be set to 0 on platforms that lack "
+"\"maintenance_io_concurrency\" must be set to 0 on platforms that lack "
 "posix_fadvise()."
 msgstr ""
-"Значение maintenance_io_concurrency должно равняться 0 на платформах, где "
-"оÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 lack posix_fadvise()."
+"Значение \"maintenance_io_concurrency\" должно равняться 0 на платформах, "
+"где Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 posix_fadvise()."
 
-#: commands/variable.c:1207
+#: commands/variable.c:1231
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL не поддерживается в данной сборке"
 
-#: commands/view.c:84
+#: commands/view.c:79
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr ""
 "не удалось определить правило сортировки для столбца представления \"%s\""
 
-#: commands/view.c:279 commands/view.c:290
+#: commands/view.c:274 commands/view.c:285
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "удалять столбцы из представления нельзя"
 
-#: commands/view.c:295
+#: commands/view.c:290
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "изменить имя столбца \"%s\" на \"%s\" в представлении нельзя"
 
 # skip-rule: space-before-ellipsis
-#: commands/view.c:298
+#: commands/view.c:293
 #, c-format
 msgid ""
 "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead."
@@ -14533,40 +15075,40 @@ msgstr ""
 "Чтобы изменить имя столбца представления, выполните ALTER VIEW ... RENAME "
 "COLUMN ..."
 
-#: commands/view.c:309
+#: commands/view.c:304
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "изменить тип столбца представления \"%s\" с %s на %s нельзя"
 
-#: commands/view.c:323
+#: commands/view.c:318
 #, c-format
 msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\""
 msgstr ""
 "изменить правило сортировки для столбца представления \"%s\" с \"%s\" на "
 "\"%s\" нельзя"
 
-#: commands/view.c:392
+#: commands/view.c:387
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "представления не должны содержать SELECT INTO"
 
-#: commands/view.c:404
+#: commands/view.c:399
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "представления не должны содержать операторы, изменяющие данные в WITH"
 
-#: commands/view.c:474
+#: commands/view.c:469
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "в CREATE VIEW указано больше имён столбцов, чем самих столбцов"
 
-#: commands/view.c:482
+#: commands/view.c:477
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr ""
 "представления не могут быть нежурналируемыми, так как они нигде не хранятся"
 
-#: commands/view.c:496
+#: commands/view.c:491
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "представление \"%s\" будет создано как временное"
@@ -14604,7 +15146,7 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr ""
 "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\""
 
-#: executor/execCurrent.c:280 executor/execExprInterp.c:2498
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2543
 #, c-format
 msgid ""
 "type of parameter %d (%s) does not match that when preparing the plan (%s)"
@@ -14612,56 +15154,56 @@ msgstr ""
 "тип параметра %d (%s) не соответствует тому, с которым подготавливался план "
 "(%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2510
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2555
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "не найдено значение параметра %d"
 
-#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650
-#: executor/execExprInterp.c:4234 executor/execExprInterp.c:4251
-#: executor/execExprInterp.c:4350 executor/nodeModifyTable.c:197
-#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225
-#: executor/nodeModifyTable.c:233
+#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655
+#: executor/execExprInterp.c:4838 executor/execExprInterp.c:4855
+#: executor/execExprInterp.c:4954 executor/nodeModifyTable.c:203
+#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231
+#: executor/nodeModifyTable.c:239
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "тип строки таблицы отличается от типа строки-результата запроса"
 
-#: executor/execExpr.c:638 executor/nodeModifyTable.c:198
+#: executor/execExpr.c:643 executor/nodeModifyTable.c:204
 #, c-format
 msgid "Query has too many columns."
 msgstr "Запрос возвращает больше столбцов."
 
-#: executor/execExpr.c:645 executor/nodeModifyTable.c:226
+#: executor/execExpr.c:650 executor/nodeModifyTable.c:232
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr ""
 "Запрос выдаёт значение для удалённого столбца (с порядковым номером %d)."
 
-#: executor/execExpr.c:651 executor/execExprInterp.c:4252
-#: executor/nodeModifyTable.c:209
+#: executor/execExpr.c:656 executor/execExprInterp.c:4856
+#: executor/nodeModifyTable.c:215
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr ""
 "В таблице определён тип %s (номер столбца: %d), а в запросе предполагается "
 "%s."
 
-#: executor/execExpr.c:1099 parser/parse_agg.c:838
+#: executor/execExpr.c:1104 parser/parse_agg.c:840
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "вложенные вызовы оконных функций недопустимы"
 
-#: executor/execExpr.c:1618
+#: executor/execExpr.c:1641
 #, c-format
 msgid "target type is not an array"
 msgstr "целевой тип не является массивом"
 
-#: executor/execExpr.c:1958
+#: executor/execExpr.c:1981
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "столбец ROW() имеет тип %s, а должен - %s"
 
-#: executor/execExpr.c:2574 executor/execSRF.c:719 parser/parse_func.c:138
-#: parser/parse_func.c:655 parser/parse_func.c:1032
+#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138
+#: parser/parse_func.c:655 parser/parse_func.c:1033
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
@@ -14669,60 +15211,60 @@ msgstr[0] "функции нельзя передать больше %d аргу
 msgstr[1] "функции нельзя передать больше %d аргументов"
 msgstr[2] "функции нельзя передать больше %d аргументов"
 
-#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1067
-#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068
+#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: executor/execExpr.c:3007 parser/parse_node.c:277 parser/parse_node.c:327
+#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr ""
 "к элементам типа %s нельзя обращаться по индексам, так как он это не "
 "поддерживает"
 
-#: executor/execExpr.c:3135 executor/execExpr.c:3157
+#: executor/execExpr.c:3204 executor/execExpr.c:3226
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "тип %s не поддерживает изменение элемента по индексу"
 
-#: executor/execExprInterp.c:1962
+#: executor/execExprInterp.c:2007
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "атрибут %d типа %s был удалён"
 
-#: executor/execExprInterp.c:1968
+#: executor/execExprInterp.c:2013
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "атрибут %d типа %s имеет неправильный тип"
 
-#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104
-#: executor/execExprInterp.c:3150
+#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214
+#: executor/execExprInterp.c:3260
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "В таблице задан тип %s, а в запросе ожидается %s."
 
-#: executor/execExprInterp.c:2050 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749
-#: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055
+#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752
+#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058
 #: utils/fmgr/funcapi.c:569
 #, c-format
 msgid "type %s is not composite"
 msgstr "тип %s не является составным"
 
-#: executor/execExprInterp.c:2588
+#: executor/execExprInterp.c:2698
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается"
 
-#: executor/execExprInterp.c:2801
+#: executor/execExprInterp.c:2911
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "не удалось объединить несовместимые массивы"
 
-#: executor/execExprInterp.c:2802
+#: executor/execExprInterp.c:2912
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
@@ -14731,16 +15273,15 @@ msgstr ""
 "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом "
 "элементов %s."
 
-#: executor/execExprInterp.c:2823 utils/adt/arrayfuncs.c:266
-#: utils/adt/arrayfuncs.c:576 utils/adt/arrayfuncs.c:1330
-#: utils/adt/arrayfuncs.c:3532 utils/adt/arrayfuncs.c:5616
-#: utils/adt/arrayfuncs.c:6133 utils/adt/arraysubs.c:150
+#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593
+#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "число размерностей массива (%d) превышает предел (%d)"
 
-#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878
+#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988
 #, c-format
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
@@ -14748,50 +15289,68 @@ msgstr ""
 "для многомерных массивов должны задаваться выражения с соответствующими "
 "размерностями"
 
-#: executor/execExprInterp.c:2855 utils/adt/array_expanded.c:274
-#: utils/adt/arrayfuncs.c:960 utils/adt/arrayfuncs.c:1569
-#: utils/adt/arrayfuncs.c:2377 utils/adt/arrayfuncs.c:2392
-#: utils/adt/arrayfuncs.c:2654 utils/adt/arrayfuncs.c:2670
-#: utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993
-#: utils/adt/arrayfuncs.c:3334 utils/adt/arrayfuncs.c:3562
-#: utils/adt/arrayfuncs.c:6225 utils/adt/arrayfuncs.c:6566
-#: utils/adt/arrayutils.c:98 utils/adt/arrayutils.c:107
-#: utils/adt/arrayutils.c:114
+#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274
+#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494
+#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533
+#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356
+#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634
+#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949
+#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305
+#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546
+#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92
+#: utils/adt/arrayutils.c:99
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "размер массива превышает предел (%d)"
 
-#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149
+#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "атрибут %d имеет неверный тип"
 
-#: executor/execExprInterp.c:3735 utils/adt/domains.c:155
+#: executor/execExprInterp.c:3845 utils/adt/domains.c:158
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "домен %s не допускает значения null"
 
-#: executor/execExprInterp.c:3750 utils/adt/domains.c:193
+#: executor/execExprInterp.c:3860 utils/adt/domains.c:196
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "значение домена %s нарушает ограничение-проверку \"%s\""
 
-#: executor/execExprInterp.c:4235
+#: executor/execExprInterp.c:4434
 #, c-format
-msgid "Table row contains %d attribute, but query expects %d."
-msgid_plural "Table row contains %d attributes, but query expects %d."
-msgstr[0] "Строка таблицы содержит %d атрибут, а в запросе ожидается %d."
+msgid "no SQL/JSON item found for specified path of column \"%s\""
+msgstr "по заданному для столбца \"%s\" пути не найден элемент SQL/JSON"
+
+#: executor/execExprInterp.c:4439
+#, c-format
+msgid "no SQL/JSON item found for specified path"
+msgstr "по заданному пути не найден элемент SQL/JSON"
+
+#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR)
+#: executor/execExprInterp.c:4638 executor/execExprInterp.c:4646
+#, c-format
+msgid "could not coerce %s expression (%s) to the RETURNING type"
+msgstr "привести выражение %s (%s) к типу RETURNING не удалось"
+
+#: executor/execExprInterp.c:4839
+#, c-format
+msgid "Table row contains %d attribute, but query expects %d."
+msgid_plural "Table row contains %d attributes, but query expects %d."
+msgstr[0] "Строка таблицы содержит %d атрибут, а в запросе ожидается %d."
 msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d."
 msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d."
 
-#: executor/execExprInterp.c:4351 executor/execSRF.c:978
+#: executor/execExprInterp.c:4955 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
 "Несоответствие параметров физического хранения удалённого атрибута (под "
 "номером %d)."
 
-#: executor/execIndexing.c:588
+#: executor/execIndexing.c:593
 #, c-format
 msgid ""
 "ON CONFLICT does not support deferrable unique constraints/exclusion "
@@ -14800,207 +15359,159 @@ msgstr ""
 "ON CONFLICT не поддерживает откладываемые ограничения уникальности/"
 "ограничения-исключения в качестве определяющего индекса"
 
-#: executor/execIndexing.c:865
+#: executor/execIndexing.c:870
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "не удалось создать ограничение-исключение \"%s\""
 
-#: executor/execIndexing.c:868
+#: executor/execIndexing.c:873
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Ключ %s конфликтует с ключом %s."
 
-#: executor/execIndexing.c:870
+#: executor/execIndexing.c:875
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Обнаружен конфликт ключей."
 
-#: executor/execIndexing.c:876
+#: executor/execIndexing.c:881
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "конфликтующее значение ключа нарушает ограничение-исключение \"%s\""
 
-#: executor/execIndexing.c:879
+#: executor/execIndexing.c:884
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Ключ %s конфликтует с существующим ключом %s."
 
-#: executor/execIndexing.c:881
+#: executor/execIndexing.c:886
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "Ключ конфликтует с уже существующим."
 
-#: executor/execMain.c:1039
+#: executor/execMain.c:1041
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "последовательность \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1045
+#: executor/execMain.c:1047
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "TOAST-отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079
-#: rewrite/rewriteHandler.c:3966
-#, c-format
-msgid "cannot insert into view \"%s\""
-msgstr "вставить данные в представление \"%s\" нельзя"
-
-#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082
-#: rewrite/rewriteHandler.c:3969
-#, c-format
-msgid ""
-"To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
-"an unconditional ON INSERT DO INSTEAD rule."
-msgstr ""
-"Чтобы представление допускало добавление данных, установите триггер INSTEAD "
-"OF INSERT или безусловное правило ON INSERT DO INSTEAD."
-
-#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087
-#: rewrite/rewriteHandler.c:3974
-#, c-format
-msgid "cannot update view \"%s\""
-msgstr "изменить данные в представлении \"%s\" нельзя"
-
-#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090
-#: rewrite/rewriteHandler.c:3977
-#, c-format
-msgid ""
-"To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
-"unconditional ON UPDATE DO INSTEAD rule."
-msgstr ""
-"Чтобы представление допускало изменение данных, установите триггер INSTEAD "
-"OF UPDATE или безусловное правило ON UPDATE DO INSTEAD."
-
-#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095
-#: rewrite/rewriteHandler.c:3982
-#, c-format
-msgid "cannot delete from view \"%s\""
-msgstr "удалить данные из представления \"%s\" нельзя"
-
-#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098
-#: rewrite/rewriteHandler.c:3985
-#, c-format
-msgid ""
-"To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
-"unconditional ON DELETE DO INSTEAD rule."
-msgstr ""
-"Чтобы представление допускало удаление данных, установите триггер INSTEAD OF "
-"DELETE или безусловное правило ON DELETE DO INSTEAD."
-
-#: executor/execMain.c:1092
+#: executor/execMain.c:1066
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "изменить материализованное представление \"%s\" нельзя"
 
-#: executor/execMain.c:1104
+#: executor/execMain.c:1078
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "вставлять данные в стороннюю таблицу \"%s\" нельзя"
 
-#: executor/execMain.c:1110
+#: executor/execMain.c:1084
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "сторонняя таблица \"%s\" не допускает добавления"
 
-#: executor/execMain.c:1117
+#: executor/execMain.c:1091
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "изменять данные в сторонней таблице \"%s\""
 
-#: executor/execMain.c:1123
+#: executor/execMain.c:1097
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "сторонняя таблица \"%s\" не допускает изменения"
 
-#: executor/execMain.c:1130
+#: executor/execMain.c:1104
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "удалять данные из сторонней таблицы \"%s\" нельзя"
 
-#: executor/execMain.c:1136
+#: executor/execMain.c:1110
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "сторонняя таблица \"%s\" не допускает удаления"
 
-#: executor/execMain.c:1147
+#: executor/execMain.c:1121
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1174
+#: executor/execMain.c:1148
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "блокировать строки в последовательности \"%s\" нельзя"
 
-#: executor/execMain.c:1181
+#: executor/execMain.c:1155
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "блокировать строки в TOAST-отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1188
+#: executor/execMain.c:1162
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "блокировать строки в представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1196
+#: executor/execMain.c:1170
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "блокировать строки в материализованном представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1205 executor/execMain.c:2708
+#: executor/execMain.c:1179 executor/execMain.c:2684
 #: executor/nodeLockRows.c:135
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "блокировать строки в сторонней таблице \"%s\" нельзя"
 
-#: executor/execMain.c:1211
+#: executor/execMain.c:1185
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "блокировать строки в отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1922
+#: executor/execMain.c:1898
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "новая строка в отношении \"%s\" нарушает ограничение секции"
 
-#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059
-#: executor/execMain.c:2169
+#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035
+#: executor/execMain.c:2145
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Ошибочная строка содержит %s."
 
-#: executor/execMain.c:2005
+#: executor/execMain.c:1981
 #, c-format
 msgid ""
 "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
 msgstr ""
 "значение NULL в столбце \"%s\" отношения \"%s\" нарушает ограничение NOT NULL"
 
-#: executor/execMain.c:2057
+#: executor/execMain.c:2033
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "новая строка в отношении \"%s\" нарушает ограничение-проверку \"%s\""
 
-#: executor/execMain.c:2167
+#: executor/execMain.c:2143
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "новая строка нарушает ограничение-проверку для представления \"%s\""
 
-#: executor/execMain.c:2177
+#: executor/execMain.c:2153
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr ""
 "новая строка нарушает политику защиты на уровне строк \"%s\" для таблицы "
 "\"%s\""
 
-#: executor/execMain.c:2182
+#: executor/execMain.c:2158
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr ""
 "новая строка нарушает политику защиты на уровне строк для таблицы \"%s\""
 
-#: executor/execMain.c:2190
+#: executor/execMain.c:2166
 #, c-format
 msgid ""
 "target row violates row-level security policy \"%s\" (USING expression) for "
@@ -15009,7 +15520,7 @@ msgstr ""
 "целевая строка нарушает политику защиты на уровне строк \"%s\" (выражение "
 "USING) для таблицы \"%s\""
 
-#: executor/execMain.c:2195
+#: executor/execMain.c:2171
 #, c-format
 msgid ""
 "target row violates row-level security policy (USING expression) for table "
@@ -15018,7 +15529,7 @@ msgstr ""
 "новая строка нарушает политику защиты на уровне строк (выражение USING) для "
 "таблицы \"%s\""
 
-#: executor/execMain.c:2202
+#: executor/execMain.c:2178
 #, c-format
 msgid ""
 "new row violates row-level security policy \"%s\" (USING expression) for "
@@ -15027,7 +15538,7 @@ msgstr ""
 "новая строка нарушает политику защиты на уровне строк \"%s\" (выражение "
 "USING) для таблицы \"%s\""
 
-#: executor/execMain.c:2207
+#: executor/execMain.c:2183
 #, c-format
 msgid ""
 "new row violates row-level security policy (USING expression) for table "
@@ -15036,17 +15547,17 @@ msgstr ""
 "новая строка нарушает политику защиты на уровне строк (выражение USING) для "
 "таблицы \"%s\""
 
-#: executor/execPartition.c:330
+#: executor/execPartition.c:327
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "для строки не найдена секция в отношении \"%s\""
 
-#: executor/execPartition.c:333
+#: executor/execPartition.c:330
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "Ключ секционирования для неподходящей строки содержит %s."
 
-#: executor/execReplication.c:231 executor/execReplication.c:415
+#: executor/execReplication.c:272 executor/execReplication.c:456
 #, c-format
 msgid ""
 "tuple to be locked was already moved to another partition due to concurrent "
@@ -15055,31 +15566,31 @@ msgstr ""
 "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате "
 "параллельного изменения; следует повторная попытка"
 
-#: executor/execReplication.c:235 executor/execReplication.c:419
+#: executor/execReplication.c:276 executor/execReplication.c:460
 #, c-format
 msgid "concurrent update, retrying"
 msgstr "параллельное изменение; следует повторная попытка"
 
-#: executor/execReplication.c:241 executor/execReplication.c:425
+#: executor/execReplication.c:282 executor/execReplication.c:466
 #, c-format
 msgid "concurrent delete, retrying"
 msgstr "параллельное удаление; следует повторная попытка"
 
-#: executor/execReplication.c:311 parser/parse_cte.c:308
-#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348
-#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3881
-#: utils/adt/arrayfuncs.c:4436 utils/adt/arrayfuncs.c:6446
-#: utils/adt/rowtypes.c:1230
+#: executor/execReplication.c:352 parser/parse_cte.c:302
+#: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334
+#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852
+#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426
+#: utils/adt/rowtypes.c:1220
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "не удалось найти оператор равенства для типа %s"
 
-#: executor/execReplication.c:642 executor/execReplication.c:648
+#: executor/execReplication.c:683 executor/execReplication.c:689
 #, c-format
 msgid "cannot update table \"%s\""
 msgstr "изменять данные в таблице \"%s\" нельзя"
 
-#: executor/execReplication.c:644 executor/execReplication.c:656
+#: executor/execReplication.c:685 executor/execReplication.c:697
 #, c-format
 msgid ""
 "Column used in the publication WHERE expression is not part of the replica "
@@ -15088,7 +15599,7 @@ msgstr ""
 "Столбец, фигурирующий в выражении WHERE публикации, не входит в "
 "идентификатор реплики."
 
-#: executor/execReplication.c:650 executor/execReplication.c:662
+#: executor/execReplication.c:691 executor/execReplication.c:703
 #, c-format
 msgid ""
 "Column list used by the publication does not cover the replica identity."
@@ -15096,12 +15607,12 @@ msgstr ""
 "Список столбцов, используемых в публикации, не покрывает идентификатор "
 "реплики."
 
-#: executor/execReplication.c:654 executor/execReplication.c:660
+#: executor/execReplication.c:695 executor/execReplication.c:701
 #, c-format
 msgid "cannot delete from table \"%s\""
 msgstr "удалять данные из таблицы \"%s\" нельзя"
 
-#: executor/execReplication.c:680
+#: executor/execReplication.c:721
 #, c-format
 msgid ""
 "cannot update table \"%s\" because it does not have a replica identity and "
@@ -15110,14 +15621,14 @@ msgstr ""
 "изменение в таблице \"%s\" невозможно, так как в ней отсутствует "
 "идентификатор реплики, но она публикует изменения"
 
-#: executor/execReplication.c:682
+#: executor/execReplication.c:723
 #, c-format
 msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr ""
 "Чтобы эта таблица поддерживала изменение, установите REPLICA IDENTITY, "
 "выполнив ALTER TABLE."
 
-#: executor/execReplication.c:686
+#: executor/execReplication.c:727
 #, c-format
 msgid ""
 "cannot delete from table \"%s\" because it does not have a replica identity "
@@ -15126,7 +15637,7 @@ msgstr ""
 "удаление из таблицы \"%s\" невозможно, так как в ней отсутствует "
 "идентификатор реплики, но она публикует удаления"
 
-#: executor/execReplication.c:688
+#: executor/execReplication.c:729
 #, c-format
 msgid ""
 "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
@@ -15134,34 +15645,34 @@ msgstr ""
 "Чтобы эта таблица поддерживала удаление, установите REPLICA IDENTITY, "
 "выполнив ALTER TABLE."
 
-#: executor/execReplication.c:704
+#: executor/execReplication.c:745
 #, c-format
 msgid "cannot use relation \"%s.%s\" as logical replication target"
 msgstr ""
 "в качестве целевого отношения для логической репликации нельзя использовать "
 "\"%s.%s\""
 
-#: executor/execSRF.c:316
+#: executor/execSRF.c:315
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "строки, возвращённые функцией, имеют разные типы"
 
-#: executor/execSRF.c:366
+#: executor/execSRF.c:365
 #, c-format
 msgid "table-function protocol for value-per-call mode was not followed"
 msgstr "нарушение протокола табличной функции в режиме вызов-значение"
 
-#: executor/execSRF.c:374 executor/execSRF.c:668
+#: executor/execSRF.c:373 executor/execSRF.c:667
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "нарушение протокола табличной функции в режиме материализации"
 
-#: executor/execSRF.c:381 executor/execSRF.c:686
+#: executor/execSRF.c:380 executor/execSRF.c:685
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "нераспознанный режим возврата табличной функции: %d"
 
-#: executor/execSRF.c:895
+#: executor/execSRF.c:894
 #, c-format
 msgid ""
 "function returning setof record called in context that cannot accept type "
@@ -15170,12 +15681,12 @@ msgstr ""
 "функция, возвращающая запись SET OF, вызвана в контексте, не допускающем "
 "этот тип"
 
-#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977
+#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "тип результат функции отличается от типа строки-результата запроса"
 
-#: executor/execSRF.c:952
+#: executor/execSRF.c:951
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
@@ -15185,23 +15696,33 @@ msgstr[1] ""
 msgstr[2] ""
 "Возвращённая строка содержит %d атрибутов, но запрос предполагает %d."
 
-#: executor/execSRF.c:968
+#: executor/execSRF.c:967
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Возвращён тип %s (номер столбца: %d), а в запросе предполагается %s."
 
-#: executor/execTuples.c:146 executor/execTuples.c:353
-#: executor/execTuples.c:521 executor/execTuples.c:713
+#: executor/execTuples.c:147 executor/execTuples.c:368
+#: executor/execTuples.c:563 executor/execTuples.c:772
 #, c-format
 msgid "cannot retrieve a system column in this context"
 msgstr "системный столбец нельзя получить в данном контексте"
 
-#: executor/execUtils.c:744
+#: executor/execTuples.c:163 executor/execTuples.c:580
+#, c-format
+msgid "don't have transaction information for this type of tuple"
+msgstr "для этого типа кортежей транзакционная информация отсутствует"
+
+#: executor/execTuples.c:390 executor/execTuples.c:794
+#, c-format
+msgid "don't have a storage tuple in this context"
+msgstr "в данном контексте хранимый кортеж отсутствует"
+
+#: executor/execUtils.c:713
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "материализованное представление \"%s\" не было наполнено"
 
-#: executor/execUtils.c:746
+#: executor/execUtils.c:715
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Примените команду REFRESH MATERIALIZED VIEW."
@@ -15211,119 +15732,120 @@ msgstr "Примените команду REFRESH MATERIALIZED VIEW."
 msgid "could not determine actual type of argument declared %s"
 msgstr "не удалось определить фактический тип аргумента, объявленного как %s"
 
-#: executor/functions.c:512
+#: executor/functions.c:513
 #, c-format
 msgid "cannot COPY to/from client in an SQL function"
 msgstr "в функции SQL нельзя выполнить COPY с участием клиента"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:518
+#: executor/functions.c:519
 #, c-format
 msgid "%s is not allowed in an SQL function"
 msgstr "%s нельзя использовать в SQL-функции"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635
+#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2651
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s нельзя использовать в не изменчивой (volatile) функции"
 
-#: executor/functions.c:1451
+#: executor/functions.c:1452
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-функция \"%s\", оператор %d"
 
-#: executor/functions.c:1477
+#: executor/functions.c:1478
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-функция \"%s\" (при старте)"
 
-#: executor/functions.c:1562
+#: executor/functions.c:1563
 #, c-format
 msgid ""
 "calling procedures with output arguments is not supported in SQL functions"
 msgstr ""
 "вызов процедур с выходными аргументами в функциях SQL не поддерживается"
 
-#: executor/functions.c:1710 executor/functions.c:1748
-#: executor/functions.c:1762 executor/functions.c:1857
-#: executor/functions.c:1890 executor/functions.c:1904
+#: executor/functions.c:1698 executor/functions.c:1736
+#: executor/functions.c:1750 executor/functions.c:1845
+#: executor/functions.c:1878 executor/functions.c:1892
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)"
 
-#: executor/functions.c:1712
+#: executor/functions.c:1700
 #, c-format
 msgid ""
-"Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
-msgstr ""
-"Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE "
+"Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE "
 "RETURNING."
+msgstr ""
+"Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE/"
+"MERGE RETURNING."
 
-#: executor/functions.c:1750
+#: executor/functions.c:1738
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Последний оператор должен возвращать один столбец."
 
-#: executor/functions.c:1764
+#: executor/functions.c:1752
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Фактический тип возврата: %s."
 
-#: executor/functions.c:1859
+#: executor/functions.c:1847
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Последний оператор возвращает слишком много столбцов."
 
-#: executor/functions.c:1892
+#: executor/functions.c:1880
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "Последний оператор возвращает %s вместо %s для столбца %d."
 
-#: executor/functions.c:1906
+#: executor/functions.c:1894
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Последний оператор возвращает слишком мало столбцов."
 
-#: executor/functions.c:1934
+#: executor/functions.c:1922
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "для SQL-функций тип возврата %s не поддерживается"
 
-#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993
+#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
 "агрегатная функция %u должна иметь совместимые входной и переходный типы"
 
-#: executor/nodeAgg.c:3967 parser/parse_agg.c:680 parser/parse_agg.c:708
+#: executor/nodeAgg.c:3966 parser/parse_agg.c:682 parser/parse_agg.c:710
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "вложенные вызовы агрегатных функций недопустимы"
 
-#: executor/nodeCustom.c:154 executor/nodeCustom.c:165
+#: executor/nodeCustom.c:144 executor/nodeCustom.c:155
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "нестандартное сканирование \"%s\" не поддерживает MarkPos"
 
-#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173
+#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161
 #, c-format
 msgid "could not rewind hash-join temporary file"
 msgstr "не удалось переместиться во временном файле хеш-соединения"
 
-#: executor/nodeIndexonlyscan.c:240
+#: executor/nodeIndexonlyscan.c:239
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr ""
 "функции неточного расстояния не поддерживаются в сканировании только по "
 "индексу"
 
-#: executor/nodeLimit.c:374
+#: executor/nodeLimit.c:373
 #, c-format
 msgid "OFFSET must not be negative"
 msgstr "OFFSET не может быть отрицательным"
 
-#: executor/nodeLimit.c:400
+#: executor/nodeLimit.c:399
 #, c-format
 msgid "LIMIT must not be negative"
 msgstr "LIMIT не может быть отрицательным"
@@ -15341,12 +15863,12 @@ msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr ""
 "FULL JOIN поддерживается только с условиями, допускающими соединение слиянием"
 
-#: executor/nodeModifyTable.c:234
+#: executor/nodeModifyTable.c:240
 #, c-format
 msgid "Query has too few columns."
 msgstr "Запрос возвращает меньше столбцов."
 
-#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608
+#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614
 #, c-format
 msgid ""
 "tuple to be deleted was already modified by an operation triggered by the "
@@ -15355,12 +15877,12 @@ msgstr ""
 "кортеж, который должен быть удалён, уже модифицирован в операции, вызванной "
 "текущей командой"
 
-#: executor/nodeModifyTable.c:1763
+#: executor/nodeModifyTable.c:1769
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "неверное указание ON UPDATE"
 
-#: executor/nodeModifyTable.c:1764
+#: executor/nodeModifyTable.c:1770
 #, c-format
 msgid ""
 "The result tuple would appear in a different partition than the original "
@@ -15369,7 +15891,7 @@ msgstr ""
 "Результирующий кортеж окажется перемещённым из секции исходного кортежа в "
 "другую."
 
-#: executor/nodeModifyTable.c:2223
+#: executor/nodeModifyTable.c:2226
 #, c-format
 msgid ""
 "cannot move tuple across partitions when a non-root ancestor of the source "
@@ -15378,26 +15900,26 @@ msgstr ""
 "нельзя переместить кортеж между секциями, когда внешний ключ непосредственно "
 "ссылается на предка исходной секции, который не является корнем иерархии"
 
-#: executor/nodeModifyTable.c:2224
+#: executor/nodeModifyTable.c:2227
 #, c-format
 msgid ""
 "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"."
 msgstr ""
 "Внешний ключ ссылается на предка \"%s\", а не на корневого предка \"%s\"."
 
-#: executor/nodeModifyTable.c:2227
+#: executor/nodeModifyTable.c:2230
 #, c-format
 msgid "Consider defining the foreign key on table \"%s\"."
 msgstr "Возможно, имеет смысл перенацелить внешний ключ на таблицу \"%s\"."
 
 #. translator: %s is a SQL command name
-#: executor/nodeModifyTable.c:2573 executor/nodeModifyTable.c:2996
-#: executor/nodeModifyTable.c:3123
+#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099
+#: executor/nodeModifyTable.c:3260
 #, c-format
 msgid "%s command cannot affect row a second time"
 msgstr "команда %s не может подействовать на строку дважды"
 
-#: executor/nodeModifyTable.c:2575
+#: executor/nodeModifyTable.c:2579
 #, c-format
 msgid ""
 "Ensure that no rows proposed for insertion within the same command have "
@@ -15406,7 +15928,7 @@ msgstr ""
 "Проверьте, не содержат ли строки, которые должна добавить команда, "
 "дублирующиеся значения, подпадающие под ограничения."
 
-#: executor/nodeModifyTable.c:2989 executor/nodeModifyTable.c:3116
+#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253
 #, c-format
 msgid ""
 "tuple to be updated or deleted was already modified by an operation "
@@ -15415,28 +15937,28 @@ msgstr ""
 "кортеж, который должен быть изменён или удалён, уже модифицирован в "
 "операции, вызванной текущей командой"
 
-#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125
+#: executor/nodeModifyTable.c:3101 executor/nodeModifyTable.c:3262
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
 msgstr ""
 "Проверьте, не может ли какой-либо целевой строке соответствовать более одной "
 "исходной строки."
 
-#: executor/nodeModifyTable.c:3080
+#: executor/nodeModifyTable.c:3170
 #, c-format
 msgid ""
-"tuple to be deleted was already moved to another partition due to concurrent "
+"tuple to be merged was already moved to another partition due to concurrent "
 "update"
 msgstr ""
-"кортеж, подлежащий удалению, был перемещён в другую секцию в результате "
+"кортеж, подлежащий объединению, был перемещён в другую секцию в результате "
 "параллельного изменения"
 
-#: executor/nodeSamplescan.c:260
+#: executor/nodeSamplescan.c:244
 #, c-format
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "параметр TABLESAMPLE не может быть NULL"
 
-#: executor/nodeSamplescan.c:272
+#: executor/nodeSamplescan.c:256
 #, c-format
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "параметр TABLESAMPLE REPEATABLE не может быть NULL"
@@ -15447,7 +15969,7 @@ msgstr "параметр TABLESAMPLE REPEATABLE не может быть NULL"
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "подзапрос в выражении вернул больше одной строки"
 
-#: executor/nodeTableFuncscan.c:375
+#: executor/nodeTableFuncscan.c:370
 #, c-format
 msgid "namespace URI must not be null"
 msgstr "URI пространства имён должен быть не NULL"
@@ -15457,17 +15979,17 @@ msgstr "URI пространства имён должен быть не NULL"
 msgid "row filter expression must not be null"
 msgstr "выражение отбора строк должно быть не NULL"
 
-#: executor/nodeTableFuncscan.c:415
+#: executor/nodeTableFuncscan.c:416
 #, c-format
 msgid "column filter expression must not be null"
 msgstr "выражение отбора столбца должно быть не NULL"
 
-#: executor/nodeTableFuncscan.c:416
+#: executor/nodeTableFuncscan.c:417
 #, c-format
 msgid "Filter for column \"%s\" is null."
 msgstr "Для столбца \"%s\" задано выражение NULL."
 
-#: executor/nodeTableFuncscan.c:506
+#: executor/nodeTableFuncscan.c:507
 #, c-format
 msgid "null is not allowed in column \"%s\""
 msgstr "в столбце \"%s\" не допускается NULL"
@@ -15497,86 +16019,86 @@ msgstr "смещение конца рамки не может быть NULL"
 msgid "frame ending offset must not be negative"
 msgstr "смещение конца рамки не может быть отрицательным"
 
-#: executor/nodeWindowAgg.c:2909
+#: executor/nodeWindowAgg.c:2892
 #, c-format
 msgid "aggregate function %s does not support use as a window function"
 msgstr ""
 "агрегатная функция %s не поддерживает использование в качестве оконной "
 "функции"
 
-#: executor/spi.c:242 executor/spi.c:342
+#: executor/spi.c:241 executor/spi.c:341
 #, c-format
 msgid "invalid transaction termination"
 msgstr "неверное завершение транзакции"
 
-#: executor/spi.c:257
+#: executor/spi.c:256
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "фиксировать транзакцию при наличии активных подтранзакций нельзя"
 
-#: executor/spi.c:348
+#: executor/spi.c:347
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "откатить транзакцию при наличии активных подтранзакций нельзя"
 
-#: executor/spi.c:472
+#: executor/spi.c:471
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "после транзакции остался непустой стек SPI"
 
-#: executor/spi.c:473 executor/spi.c:533
+#: executor/spi.c:472 executor/spi.c:532
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Проверьте наличие вызова \"SPI_finish\"."
 
-#: executor/spi.c:532
+#: executor/spi.c:531
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "после подтранзакции остался непустой стек SPI"
 
-#: executor/spi.c:1600
+#: executor/spi.c:1599
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "не удалось открыть план нескольких запросов как курсор"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1610
+#: executor/spi.c:1609
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "не удалось открыть запрос %s как курсор"
 
-#: executor/spi.c:1716
+#: executor/spi.c:1715
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживается"
 
-#: executor/spi.c:1717 parser/analyze.c:2923
+#: executor/spi.c:1716 parser/analyze.c:2928
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Прокручиваемые курсоры должны быть READ ONLY."
 
-#: executor/spi.c:2474
+#: executor/spi.c:2490
 #, c-format
 msgid "empty query does not return tuples"
 msgstr "пустой запрос не возвращает кортежи"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:2548
+#: executor/spi.c:2564
 #, c-format
 msgid "%s query does not return tuples"
 msgstr "запрос %s не возвращает кортежи"
 
-#: executor/spi.c:2963
+#: executor/spi.c:2981
 #, c-format
 msgid "SQL expression \"%s\""
 msgstr "SQL-выражение \"%s\""
 
-#: executor/spi.c:2968
+#: executor/spi.c:2986
 #, c-format
 msgid "PL/pgSQL assignment \"%s\""
 msgstr "присваивание PL/pgSQL \"%s\""
 
-#: executor/spi.c:2971
+#: executor/spi.c:2989
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-оператор: \"%s\""
@@ -15586,28 +16108,34 @@ msgstr "SQL-оператор: \"%s\""
 msgid "could not send tuple to shared-memory queue"
 msgstr "не удалось передать кортеж в очередь в разделяемой памяти"
 
-#: foreign/foreign.c:222
+#: foreign/foreign.c:225
+#, c-format
+msgid "user mapping not found for user \"%s\", server \"%s\""
+msgstr "сопоставление для пользователя \"%s\", сервера \"%s\" не найдено"
+
+#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153
+#: optimizer/util/plancat.c:540
 #, c-format
-msgid "user mapping not found for \"%s\""
-msgstr "сопоставление пользователя для \"%s\" не найдено"
+msgid "access to non-system foreign table is restricted"
+msgstr "доступ к несистемным сторонним таблицам ограничен"
 
-#: foreign/foreign.c:647 storage/file/fd.c:3931
+#: foreign/foreign.c:660
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "неверный параметр \"%s\""
 
-#: foreign/foreign.c:649
+#: foreign/foreign.c:662
 #, c-format
 msgid "Perhaps you meant the option \"%s\"."
 msgstr "Возможно, предполагался параметр \"%s\"."
 
-#: foreign/foreign.c:651
+#: foreign/foreign.c:664
 #, c-format
 msgid "There are no valid options in this context."
 msgstr "В данном контексте недопустимы никакие параметры."
 
-#: lib/dshash.c:254 utils/mmgr/dsa.c:715 utils/mmgr/dsa.c:737
-#: utils/mmgr/dsa.c:818
+#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730
+#: utils/mmgr/dsa.c:811
 #, c-format
 msgid "Failed on DSA request of size %zu."
 msgstr "Ошибка при запросе памяти DSA (%zu Б)."
@@ -15617,77 +16145,77 @@ msgstr "Ошибка при запросе памяти DSA (%zu Б)."
 msgid "expected SASL response, got message type %d"
 msgstr "ожидался ответ SASL, но получено сообщение %d"
 
-#: libpq/auth-scram.c:270
+#: libpq/auth-scram.c:263
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "клиент выбрал неверный механизм аутентификации SASL"
 
-#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554
+#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547
 #, c-format
 msgid "invalid SCRAM secret for user \"%s\""
 msgstr "неверная запись секрета SCRAM для пользователя \"%s\""
 
-#: libpq/auth-scram.c:305
+#: libpq/auth-scram.c:298
 #, c-format
 msgid "User \"%s\" does not have a valid SCRAM secret."
 msgstr "Для пользователя \"%s\" нет подходящей записи секрета SCRAM."
 
-#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744
-#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870
-#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995
-#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039
-#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386
-#: libpq/auth-scram.c:1394
+#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737
+#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863
+#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988
+#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032
+#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379
+#: libpq/auth-scram.c:1387
 #, c-format
 msgid "malformed SCRAM message"
 msgstr "неправильное сообщение SCRAM"
 
-#: libpq/auth-scram.c:386
+#: libpq/auth-scram.c:379
 #, c-format
 msgid "The message is empty."
 msgstr "Сообщение пустое."
 
-#: libpq/auth-scram.c:391
+#: libpq/auth-scram.c:384
 #, c-format
 msgid "Message length does not match input length."
 msgstr "Длина сообщения не соответствует входной длине."
 
-#: libpq/auth-scram.c:423
+#: libpq/auth-scram.c:416
 #, c-format
 msgid "invalid SCRAM response"
 msgstr "неверный ответ SCRAM"
 
-#: libpq/auth-scram.c:424
+#: libpq/auth-scram.c:417
 #, c-format
 msgid "Nonce does not match."
 msgstr "Разовый код не совпадает."
 
-#: libpq/auth-scram.c:500
+#: libpq/auth-scram.c:493
 #, c-format
 msgid "could not generate random salt"
 msgstr "не удалось сгенерировать случайную соль"
 
-#: libpq/auth-scram.c:745
+#: libpq/auth-scram.c:738
 #, c-format
 msgid "Expected attribute \"%c\" but found \"%s\"."
 msgstr "Ожидался атрибут \"%c\", но обнаружено \"%s\"."
 
-#: libpq/auth-scram.c:753 libpq/auth-scram.c:881
+#: libpq/auth-scram.c:746 libpq/auth-scram.c:874
 #, c-format
 msgid "Expected character \"=\" for attribute \"%c\"."
 msgstr "Ожидался символ \"=\" для атрибута \"%c\"."
 
-#: libpq/auth-scram.c:858
+#: libpq/auth-scram.c:851
 #, c-format
 msgid "Attribute expected, but found end of string."
 msgstr "Ожидался атрибут, но обнаружен конец строки."
 
-#: libpq/auth-scram.c:871
+#: libpq/auth-scram.c:864
 #, c-format
 msgid "Attribute expected, but found invalid character \"%s\"."
 msgstr "Ожидался атрибут, но обнаружен неправильный символ \"%s\"."
 
-#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011
+#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004
 #, c-format
 msgid ""
 "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not "
@@ -15696,17 +16224,17 @@ msgstr ""
 "Клиент выбрал алгоритм SCRAM-SHA-256-PLUS, но в сообщении SCRAM отсутствуют "
 "данные связывания каналов."
 
-#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026
+#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019
 #, c-format
 msgid "Comma expected, but found character \"%s\"."
 msgstr "Ожидалась запятая, но обнаружен символ \"%s\"."
 
-#: libpq/auth-scram.c:1017
+#: libpq/auth-scram.c:1010
 #, c-format
 msgid "SCRAM channel binding negotiation error"
 msgstr "Ошибка согласования связывания каналов SCRAM"
 
-#: libpq/auth-scram.c:1018
+#: libpq/auth-scram.c:1011
 #, c-format
 msgid ""
 "The client supports SCRAM channel binding but thinks the server does not.  "
@@ -15715,7 +16243,7 @@ msgstr ""
 "Клиент поддерживает связывание каналов SCRAM, но полагает, что оно не "
 "поддерживается сервером. Однако сервер тоже поддерживает связывание каналов."
 
-#: libpq/auth-scram.c:1040
+#: libpq/auth-scram.c:1033
 #, c-format
 msgid ""
 "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM "
@@ -15724,155 +16252,155 @@ msgstr ""
 "Клиент выбрал алгоритм SCRAM-SHA-256 без связывания каналов, но сообщение "
 "SCRAM содержит данные связывания каналов."
 
-#: libpq/auth-scram.c:1051
+#: libpq/auth-scram.c:1044
 #, c-format
 msgid "unsupported SCRAM channel-binding type \"%s\""
 msgstr "неподдерживаемый тип связывания каналов SCRAM \"%s\""
 
-#: libpq/auth-scram.c:1058
+#: libpq/auth-scram.c:1051
 #, c-format
 msgid "Unexpected channel-binding flag \"%s\"."
 msgstr "Неожиданный флаг связывания каналов \"%s\"."
 
-#: libpq/auth-scram.c:1068
+#: libpq/auth-scram.c:1061
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
 msgstr "клиент передал идентификатор для авторизации, но это не поддерживается"
 
-#: libpq/auth-scram.c:1073
+#: libpq/auth-scram.c:1066
 #, c-format
 msgid "Unexpected attribute \"%s\" in client-first-message."
 msgstr "Неожиданный атрибут \"%s\" в первом сообщении клиента."
 
-#: libpq/auth-scram.c:1089
+#: libpq/auth-scram.c:1082
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "клиенту требуется неподдерживаемое расширение SCRAM"
 
-#: libpq/auth-scram.c:1103
+#: libpq/auth-scram.c:1096
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
 msgstr "непечатаемые символы в разовом коде SCRAM"
 
-#: libpq/auth-scram.c:1234
+#: libpq/auth-scram.c:1227
 #, c-format
 msgid "could not generate random nonce"
 msgstr "не удалось сгенерировать разовый код"
 
-#: libpq/auth-scram.c:1244
+#: libpq/auth-scram.c:1237
 #, c-format
 msgid "could not encode random nonce"
 msgstr "не удалось оформить разовый код"
 
-#: libpq/auth-scram.c:1350
+#: libpq/auth-scram.c:1343
 #, c-format
 msgid "SCRAM channel binding check failed"
 msgstr "ошибка проверки связывания каналов SCRAM"
 
-#: libpq/auth-scram.c:1368
+#: libpq/auth-scram.c:1361
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
 msgstr ""
 "неожиданный атрибут связывания каналов в последнем сообщении клиента SCRAM"
 
-#: libpq/auth-scram.c:1387
+#: libpq/auth-scram.c:1380
 #, c-format
 msgid "Malformed proof in client-final-message."
 msgstr "Некорректное подтверждение в последнем сообщении клиента."
 
-#: libpq/auth-scram.c:1395
+#: libpq/auth-scram.c:1388
 #, c-format
 msgid "Garbage found at the end of client-final-message."
 msgstr "Мусор в конце последнего сообщения клиента."
 
-#: libpq/auth.c:271
+#: libpq/auth.c:269
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: не разрешённый компьютер"
 
-#: libpq/auth.c:274
+#: libpq/auth.c:272
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (\"trust\")"
 
-#: libpq/auth.c:277
+#: libpq/auth.c:275
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Ident)"
 
-#: libpq/auth.c:280
+#: libpq/auth.c:278
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Peer)"
 
-#: libpq/auth.c:285
+#: libpq/auth.c:283
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по паролю)"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:288
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (GSSAPI)"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:291
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (SSPI)"
 
-#: libpq/auth.c:296
+#: libpq/auth.c:294
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (PAM)"
 
-#: libpq/auth.c:299
+#: libpq/auth.c:297
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (BSD)"
 
-#: libpq/auth.c:302
+#: libpq/auth.c:300
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (LDAP)"
 
-#: libpq/auth.c:305
+#: libpq/auth.c:303
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по сертификату)"
 
-#: libpq/auth.c:308
+#: libpq/auth.c:306
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (RADIUS)"
 
-#: libpq/auth.c:311
+#: libpq/auth.c:309
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: неверный метод проверки"
 
-#: libpq/auth.c:315
+#: libpq/auth.c:313
 #, c-format
 msgid "Connection matched file \"%s\" line %d: \"%s\""
 msgstr "Подключение соответствует строке %2$d в \"%1$s\": \"%3$s\""
 
-#: libpq/auth.c:359
+#: libpq/auth.c:357
 #, c-format
 msgid "authentication identifier set more than once"
 msgstr "аутентификационный идентификатор указан повторно"
 
-#: libpq/auth.c:360
+#: libpq/auth.c:358
 #, c-format
 msgid "previous identifier: \"%s\"; new identifier: \"%s\""
 msgstr "предыдущий идентификатор: \"%s\"; новый: \"%s\""
 
-#: libpq/auth.c:370
+#: libpq/auth.c:368
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
 msgstr "соединение аутентифицировано: идентификатор=\"%s\" метод=%s (%s:%d)"
 
-#: libpq/auth.c:410
+#: libpq/auth.c:408
 #, c-format
 msgid ""
 "client certificates can only be checked if a root certificate store is "
@@ -15881,25 +16409,25 @@ msgstr ""
 "сертификаты клиентов могут проверяться, только если доступно хранилище "
 "корневых сертификатов"
 
-#: libpq/auth.c:421
+#: libpq/auth.c:419
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "для подключения требуется годный сертификат клиента"
 
-#: libpq/auth.c:452 libpq/auth.c:498
+#: libpq/auth.c:450 libpq/auth.c:496
 msgid "GSS encryption"
 msgstr "Шифрование GSS"
 
-#: libpq/auth.c:455 libpq/auth.c:501
+#: libpq/auth.c:453 libpq/auth.c:499
 msgid "SSL encryption"
 msgstr "Шифрование SSL"
 
-#: libpq/auth.c:457 libpq/auth.c:503
+#: libpq/auth.c:455 libpq/auth.c:501
 msgid "no encryption"
 msgstr "без шифрования"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:463
+#: libpq/auth.c:461
 #, c-format
 msgid ""
 "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
@@ -15908,7 +16436,7 @@ msgstr ""
 "пользователь \"%s\", \"%s\""
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:470
+#: libpq/auth.c:468
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database "
@@ -15917,38 +16445,38 @@ msgstr ""
 "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", "
 "база данных \"%s\", %s"
 
-#: libpq/auth.c:508
+#: libpq/auth.c:506
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", соответствует прямому преобразованию."
 
-#: libpq/auth.c:511
+#: libpq/auth.c:509
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", прямое преобразование не проверялось."
 
-#: libpq/auth.c:514
+#: libpq/auth.c:512
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", это не соответствует прямому "
 "преобразованию."
 
-#: libpq/auth.c:517
+#: libpq/auth.c:515
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr ""
 "Преобразовать имя клиентского компьютера \"%s\" в IP-адрес не удалось: %s."
 
-#: libpq/auth.c:522
+#: libpq/auth.c:520
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "Получить имя компьютера из IP-адреса клиента не удалось: %s."
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:530
+#: libpq/auth.c:528
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user "
@@ -15958,245 +16486,242 @@ msgstr ""
 "компьютера \"%s\" для пользователя \"%s\", %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:538
+#: libpq/auth.c:536
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "в pg_hba.conf нет записи для компьютера \"%s\", пользователя \"%s\", базы "
 "\"%s\", %s"
 
-#: libpq/auth.c:711
+#: libpq/auth.c:656
+#, c-format
+msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)"
+msgstr "соединение аутентифицировано: пользователь=\"%s\" метод=%s (%s:%d)"
+
+#: libpq/auth.c:725
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "ожидался ответ с паролем, но получено сообщение %d"
 
-#: libpq/auth.c:732
+#: libpq/auth.c:746
 #, c-format
 msgid "invalid password packet size"
 msgstr "неверный размер пакета с паролем"
 
-#: libpq/auth.c:750
+#: libpq/auth.c:764
 #, c-format
 msgid "empty password returned by client"
 msgstr "клиент возвратил пустой пароль"
 
-#: libpq/auth.c:877 libpq/hba.c:1727
-#, c-format
-msgid ""
-"MD5 authentication is not supported when \"db_user_namespace\" is enabled"
-msgstr ""
-"проверка подлинности MD5 не поддерживается, когда включён режим "
-"\"db_user_namespace\""
-
-#: libpq/auth.c:883
+#: libpq/auth.c:892
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "не удалось сгенерировать случайную соль для MD5"
 
-#: libpq/auth.c:934 libpq/be-secure-gssapi.c:540
+#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540
 #, c-format
 msgid "could not set environment: %m"
 msgstr "не удалось задать переменную окружения: %m"
 
-#: libpq/auth.c:973
+#: libpq/auth.c:982
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "ожидался ответ GSS, но получено сообщение %d"
 
-#: libpq/auth.c:1039
+#: libpq/auth.c:1048
 msgid "accepting GSS security context failed"
 msgstr "принять контекст безопасности GSS не удалось"
 
-#: libpq/auth.c:1080
+#: libpq/auth.c:1089
 msgid "retrieving GSS user name failed"
 msgstr "получить имя пользователя GSS не удалось"
 
-#: libpq/auth.c:1226
+#: libpq/auth.c:1235
 msgid "could not acquire SSPI credentials"
 msgstr "не удалось получить удостоверение SSPI"
 
-#: libpq/auth.c:1251
+#: libpq/auth.c:1260
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "ожидался ответ SSPI, но получено сообщение %d"
 
-#: libpq/auth.c:1329
+#: libpq/auth.c:1338
 msgid "could not accept SSPI security context"
 msgstr "принять контекст безопасности SSPI не удалось"
 
-#: libpq/auth.c:1370
+#: libpq/auth.c:1379
 msgid "could not get token from SSPI security context"
 msgstr "не удалось получить маркер из контекста безопасности SSPI"
 
-#: libpq/auth.c:1506 libpq/auth.c:1525
+#: libpq/auth.c:1515 libpq/auth.c:1534
 #, c-format
 msgid "could not translate name"
 msgstr "не удалось преобразовать имя"
 
-#: libpq/auth.c:1538
+#: libpq/auth.c:1547
 #, c-format
 msgid "realm name too long"
 msgstr "имя области слишком длинное"
 
-#: libpq/auth.c:1553
+#: libpq/auth.c:1562
 #, c-format
 msgid "translated account name too long"
 msgstr "преобразованное имя учётной записи слишком длинное"
 
-#: libpq/auth.c:1732
+#: libpq/auth.c:1741
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "не удалось создать сокет для подключения к серверу Ident: %m"
 
-#: libpq/auth.c:1747
+#: libpq/auth.c:1756
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "не удалось привязаться к локальному адресу \"%s\": %m"
 
-#: libpq/auth.c:1759
+#: libpq/auth.c:1768
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "не удалось подключиться к серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1781
+#: libpq/auth.c:1790
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось отправить запрос серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1798
+#: libpq/auth.c:1807
 #, c-format
 msgid ""
 "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось получить ответ от сервера Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1808
+#: libpq/auth.c:1817
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "неверно форматированный ответ от сервера Ident: \"%s\""
 
-#: libpq/auth.c:1861
+#: libpq/auth.c:1870
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "проверка подлинности peer в этой ОС не поддерживается"
 
-#: libpq/auth.c:1865
+#: libpq/auth.c:1874
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "не удалось получить данные пользователя через механизм peer: %m"
 
-#: libpq/auth.c:1877
+#: libpq/auth.c:1886
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "найти локального пользователя по идентификатору (%ld) не удалось: %s"
 
-#: libpq/auth.c:1979
+#: libpq/auth.c:1988
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "ошибка в нижележащем слое PAM: %s"
 
-#: libpq/auth.c:1990
+#: libpq/auth.c:1999
 #, c-format
 msgid "unsupported PAM conversation %d/\"%s\""
 msgstr "неподдерживаемое сообщение ответа PAM %d/\"%s\""
 
-#: libpq/auth.c:2047
+#: libpq/auth.c:2056
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "не удалось создать аутентификатор PAM: %s"
 
-#: libpq/auth.c:2058
+#: libpq/auth.c:2067
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_USER): %s"
 
-#: libpq/auth.c:2090
+#: libpq/auth.c:2099
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_RHOST): %s"
 
-#: libpq/auth.c:2102
+#: libpq/auth.c:2111
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_CONV): %s"
 
-#: libpq/auth.c:2115
+#: libpq/auth.c:2124
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "ошибка в pam_authenticate: %s"
 
-#: libpq/auth.c:2128
+#: libpq/auth.c:2137
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "ошибка в pam_acct_mgmt: %s"
 
-#: libpq/auth.c:2139
+#: libpq/auth.c:2148
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "не удалось освободить аутентификатор PAM: %s"
 
-#: libpq/auth.c:2219
+#: libpq/auth.c:2228
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "не удалось инициализировать LDAP (код ошибки: %d)"
 
-#: libpq/auth.c:2256
+#: libpq/auth.c:2265
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "не удалось извлечь имя домена из ldapbasedn"
 
-#: libpq/auth.c:2264
+#: libpq/auth.c:2273
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "для аутентификации LDAP не удалось найти записи DNS SRV для \"%s\""
 
-#: libpq/auth.c:2266
+#: libpq/auth.c:2275
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Задайте имя сервера LDAP явным образом."
 
-#: libpq/auth.c:2318
+#: libpq/auth.c:2327
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "не удалось инициализировать LDAP: %s"
 
-#: libpq/auth.c:2328
+#: libpq/auth.c:2337
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "протокол ldaps с текущей библиотекой LDAP не поддерживается"
 
-#: libpq/auth.c:2336
+#: libpq/auth.c:2345
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "не удалось инициализировать LDAP: %m"
 
-#: libpq/auth.c:2346
+#: libpq/auth.c:2355
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "не удалось задать версию протокола LDAP: %s"
 
-#: libpq/auth.c:2362
+#: libpq/auth.c:2371
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "не удалось начать сеанс LDAP TLS: %s"
 
-#: libpq/auth.c:2439
+#: libpq/auth.c:2448
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "LDAP-сервер не задан и значение ldapbasedn не определено"
 
-#: libpq/auth.c:2446
+#: libpq/auth.c:2455
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-сервер не определён"
 
-#: libpq/auth.c:2508
+#: libpq/auth.c:2517
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "недопустимый символ в имени пользователя для проверки подлинности LDAP"
 
-#: libpq/auth.c:2525
+#: libpq/auth.c:2534
 #, c-format
 msgid ""
 "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
@@ -16205,28 +16730,28 @@ msgstr ""
 "не удалось выполнить начальную привязку LDAP для ldapbinddn \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2555
+#: libpq/auth.c:2564
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr ""
 "не удалось выполнить LDAP-поиск по фильтру \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2571
+#: libpq/auth.c:2580
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "в LDAP нет пользователя \"%s\""
 
-#: libpq/auth.c:2572
+#: libpq/auth.c:2581
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" не вернул результатов"
 
-#: libpq/auth.c:2576
+#: libpq/auth.c:2585
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "пользователь LDAP \"%s\" не уникален"
 
-#: libpq/auth.c:2577
+#: libpq/auth.c:2586
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural ""
@@ -16235,7 +16760,7 @@ msgstr[0] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\"
 msgstr[1] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записи."
 msgstr[2] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записей."
 
-#: libpq/auth.c:2597
+#: libpq/auth.c:2606
 #, c-format
 msgid ""
 "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
@@ -16243,24 +16768,18 @@ msgstr ""
 "не удалось получить dn для первого результата, соответствующего \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2618
-#, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\""
-msgstr ""
-"не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\""
-
-#: libpq/auth.c:2649
+#: libpq/auth.c:2633
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "ошибка при регистрации в LDAP пользователя \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2681
+#: libpq/auth.c:2665
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "Диагностика LDAP: %s"
 
-#: libpq/auth.c:2719
+#: libpq/auth.c:2703
 #, c-format
 msgid ""
 "certificate authentication failed for user \"%s\": client certificate "
@@ -16269,7 +16788,7 @@ msgstr ""
 "ошибка проверки подлинности пользователя \"%s\" по сертификату: сертификат "
 "клиента не содержит имя пользователя"
 
-#: libpq/auth.c:2740
+#: libpq/auth.c:2724
 #, c-format
 msgid ""
 "certificate authentication failed for user \"%s\": unable to retrieve "
@@ -16278,7 +16797,7 @@ msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности по сертификату: не "
 "удалось получить DN субъекта"
 
-#: libpq/auth.c:2763
+#: libpq/auth.c:2747
 #, c-format
 msgid ""
 "certificate validation (clientcert=verify-full) failed for user \"%s\": DN "
@@ -16287,7 +16806,7 @@ msgstr ""
 "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не "
 "прошла: отличается DN"
 
-#: libpq/auth.c:2768
+#: libpq/auth.c:2752
 #, c-format
 msgid ""
 "certificate validation (clientcert=verify-full) failed for user \"%s\": CN "
@@ -16296,99 +16815,99 @@ msgstr ""
 "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не "
 "прошла: отличается CN"
 
-#: libpq/auth.c:2870
+#: libpq/auth.c:2854
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-сервер не определён"
 
-#: libpq/auth.c:2877
+#: libpq/auth.c:2861
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "секрет RADIUS не определён"
 
 # well-spelled: симв
-#: libpq/auth.c:2891
+#: libpq/auth.c:2875
 #, c-format
 msgid ""
 "RADIUS authentication does not support passwords longer than %d characters"
 msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее %d симв."
 
-#: libpq/auth.c:2993 libpq/hba.c:2369
+#: libpq/auth.c:2977 libpq/hba.c:2352
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "не удалось преобразовать имя сервера RADIUS \"%s\" в адрес: %s"
 
-#: libpq/auth.c:3007
+#: libpq/auth.c:2991
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "не удалось сгенерировать случайный вектор шифрования"
 
-#: libpq/auth.c:3044
+#: libpq/auth.c:3028
 #, c-format
 msgid "could not perform MD5 encryption of password: %s"
 msgstr "не удалось вычислить MD5-хеш пароля: %s"
 
-#: libpq/auth.c:3071
+#: libpq/auth.c:3055
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "не удалось создать сокет RADIUS: %m"
 
-#: libpq/auth.c:3087
+#: libpq/auth.c:3071
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "не удалось привязаться к локальному сокету RADIUS: %m"
 
-#: libpq/auth.c:3097
+#: libpq/auth.c:3081
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "не удалось отправить пакет RADIUS: %m"
 
-#: libpq/auth.c:3131 libpq/auth.c:3157
+#: libpq/auth.c:3115 libpq/auth.c:3141
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "превышено время ожидания ответа RADIUS от %s"
 
-#: libpq/auth.c:3150
+#: libpq/auth.c:3134
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "не удалось проверить состояние сокета RADIUS: %m"
 
-#: libpq/auth.c:3180
+#: libpq/auth.c:3164
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "не удалось прочитать ответ RADIUS: %m"
 
-#: libpq/auth.c:3188
+#: libpq/auth.c:3172
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "ответ RADIUS от %s был отправлен с неверного порта: %d"
 
-#: libpq/auth.c:3196
+#: libpq/auth.c:3180
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "слишком короткий ответ RADIUS от %s: %d"
 
-#: libpq/auth.c:3203
+#: libpq/auth.c:3187
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "в ответе RADIUS от %s испорчена длина: %d (фактическая длина %d)"
 
-#: libpq/auth.c:3211
+#: libpq/auth.c:3195
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "пришёл ответ RADIUS от %s на другой запрос: %d (ожидался %d)"
 
-#: libpq/auth.c:3236
+#: libpq/auth.c:3220
 #, c-format
 msgid "could not perform MD5 encryption of received packet: %s"
 msgstr "не удалось вычислить MD5-хеш для принятого пакета: %s"
 
-#: libpq/auth.c:3246
+#: libpq/auth.c:3230
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "ответ RADIUS от %s содержит неверную подпись MD5"
 
-#: libpq/auth.c:3264
+#: libpq/auth.c:3248
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "ответ RADIUS от %s содержит неверный код (%d) для пользователя \"%s\""
@@ -16449,52 +16968,39 @@ msgstr "не удалось записать файл сервера \"%s\": %m"
 msgid "large object read request is too large"
 msgstr "при чтении большого объекта запрошен чрезмерный размер"
 
-#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294
-#: utils/adt/genfile.c:315
+#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "запрошенная длина не может быть отрицательной"
 
-#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:298
-#: storage/large_object/inv_api.c:310 storage/large_object/inv_api.c:507
-#: storage/large_object/inv_api.c:618 storage/large_object/inv_api.c:808
-#, c-format
-msgid "permission denied for large object %u"
-msgstr "нет доступа к большому объекту %u"
-
-#: libpq/be-secure-common.c:71
-#, c-format
-msgid "could not read from command \"%s\": %m"
-msgstr "не удалось прочитать вывод команды \"%s\": %m"
-
-#: libpq/be-secure-common.c:91
+#: libpq/be-secure-common.c:94
 #, c-format
 msgid "command \"%s\" failed"
 msgstr "ошибка команды \"%s\""
 
-#: libpq/be-secure-common.c:119
+#: libpq/be-secure-common.c:123
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "не удалось обратиться к файлу закрытого ключа \"%s\": %m"
 
-#: libpq/be-secure-common.c:129
+#: libpq/be-secure-common.c:133
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "файл закрытого ключа \"%s\" - не обычный файл"
 
-#: libpq/be-secure-common.c:155
+#: libpq/be-secure-common.c:159
 #, c-format
 msgid "private key file \"%s\" must be owned by the database user or root"
 msgstr ""
 "файл закрытого ключа \"%s\" должен принадлежать пользователю, запускающему "
 "сервер, или root"
 
-#: libpq/be-secure-common.c:165
+#: libpq/be-secure-common.c:169
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "к файлу закрытого ключа \"%s\" имеют доступ все или группа"
 
-#: libpq/be-secure-common.c:167
+#: libpq/be-secure-common.c:171
 #, c-format
 msgid ""
 "File must have permissions u=rw (0600) or less if owned by the database "
@@ -16545,82 +17051,82 @@ msgstr "принять контекст безопасности GSSAPI не у
 msgid "GSSAPI size check error"
 msgstr "ошибка проверки размера в GSSAPI"
 
-#: libpq/be-secure-openssl.c:125
+#: libpq/be-secure-openssl.c:131
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "не удалось создать контекст SSL: %s"
 
-#: libpq/be-secure-openssl.c:151
+#: libpq/be-secure-openssl.c:157
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "не удалось загрузить сертификат сервера \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:171
+#: libpq/be-secure-openssl.c:177
 #, c-format
 msgid ""
 "private key file \"%s\" cannot be reloaded because it requires a passphrase"
 msgstr ""
 "файл закрытого ключа \"%s\" нельзя перезагрузить, так как он защищён паролем"
 
-#: libpq/be-secure-openssl.c:176
+#: libpq/be-secure-openssl.c:182
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:185
+#: libpq/be-secure-openssl.c:191
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "ошибка при проверке закрытого ключа: %s"
 
 #. translator: first %s is a GUC option name, second %s is its value
-#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227
 #, c-format
 msgid "\"%s\" setting \"%s\" not supported by this build"
 msgstr "для параметра \"%s\" значение \"%s\" не поддерживается в данной сборке"
 
-#: libpq/be-secure-openssl.c:208
+#: libpq/be-secure-openssl.c:214
 #, c-format
 msgid "could not set minimum SSL protocol version"
 msgstr "не удалось задать минимальную версию протокола SSL"
 
-#: libpq/be-secure-openssl.c:231
+#: libpq/be-secure-openssl.c:237
 #, c-format
 msgid "could not set maximum SSL protocol version"
 msgstr "не удалось задать максимальную версию протокола SSL"
 
-#: libpq/be-secure-openssl.c:247
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "could not set SSL protocol version range"
 msgstr "не удалось задать диапазон версий протокола SSL"
 
-#: libpq/be-secure-openssl.c:248
+#: libpq/be-secure-openssl.c:254
 #, c-format
 msgid "\"%s\" cannot be higher than \"%s\""
 msgstr "Версия \"%s\" не может быть выше \"%s\""
 
-#: libpq/be-secure-openssl.c:285
+#: libpq/be-secure-openssl.c:307
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
 msgstr "не удалось установить список шифров (подходящие шифры отсутствуют)"
 
-#: libpq/be-secure-openssl.c:305
+#: libpq/be-secure-openssl.c:327
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "не удалось загрузить файл корневых сертификатов \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:354
+#: libpq/be-secure-openssl.c:376
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr ""
 "не удалось загрузить список отзыва сертификатов SSL из файла \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:362
+#: libpq/be-secure-openssl.c:384
 #, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
 msgstr ""
 "не удалось загрузить списки отзыва сертификатов SSL из каталога \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:370
+#: libpq/be-secure-openssl.c:392
 #, c-format
 msgid ""
 "could not load SSL certificate revocation list file \"%s\" or directory "
@@ -16629,38 +17135,38 @@ msgstr ""
 "не удалось загрузить списки отзыва сертификатов SSL из файла \"%s\" или "
 "каталога \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:428
+#: libpq/be-secure-openssl.c:450
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr ""
 "инициализировать SSL-подключение не удалось: контекст SSL не установлен"
 
-#: libpq/be-secure-openssl.c:439
+#: libpq/be-secure-openssl.c:464
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "инициализировать SSL-подключение не удалось: %s"
 
-#: libpq/be-secure-openssl.c:447
+#: libpq/be-secure-openssl.c:472
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "не удалось создать SSL-сокет: %s"
 
-#: libpq/be-secure-openssl.c:503
+#: libpq/be-secure-openssl.c:528
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "не удалось принять SSL-подключение: %m"
 
-#: libpq/be-secure-openssl.c:507 libpq/be-secure-openssl.c:562
+#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "не удалось принять SSL-подключение: обрыв данных"
 
-#: libpq/be-secure-openssl.c:546
+#: libpq/be-secure-openssl.c:573
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "не удалось принять SSL-подключение: %s"
 
-#: libpq/be-secure-openssl.c:550
+#: libpq/be-secure-openssl.c:577
 #, c-format
 msgid ""
 "This may indicate that the client does not support any SSL protocol version "
@@ -16669,60 +17175,65 @@ msgstr ""
 "Это может указывать на то, что клиент не поддерживает ни одну версию "
 "протокола SSL между %s и %s."
 
-#: libpq/be-secure-openssl.c:567 libpq/be-secure-openssl.c:756
-#: libpq/be-secure-openssl.c:826
+#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809
+#: libpq/be-secure-openssl.c:879
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "нераспознанный код ошибки SSL: %d"
 
-#: libpq/be-secure-openssl.c:613
+#: libpq/be-secure-openssl.c:622
+#, c-format
+msgid "received SSL connection request with unexpected ALPN protocol"
+msgstr "получен запрос на SSL-подключение с неизвестным протоколом ALPN"
+
+#: libpq/be-secure-openssl.c:666
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "Имя SSL-сертификата включает нулевой байт"
 
-#: libpq/be-secure-openssl.c:659
+#: libpq/be-secure-openssl.c:712
 #, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
 msgstr "уникальное имя (DN) в SSL-сертификате содержит нулевой байт"
 
-#: libpq/be-secure-openssl.c:745 libpq/be-secure-openssl.c:810
+#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863
 #, c-format
 msgid "SSL error: %s"
 msgstr "ошибка SSL: %s"
 
-#: libpq/be-secure-openssl.c:987
+#: libpq/be-secure-openssl.c:1038
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "не удалось открыть файл параметров DH \"%s\": %m"
 
-#: libpq/be-secure-openssl.c:999
+#: libpq/be-secure-openssl.c:1050
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "не удалось загрузить файл параметров DH: %s"
 
-#: libpq/be-secure-openssl.c:1009
+#: libpq/be-secure-openssl.c:1060
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "неверные параметры DH: %s"
 
-#: libpq/be-secure-openssl.c:1018
+#: libpq/be-secure-openssl.c:1069
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "неверные параметры DH: p - не простое число"
 
-#: libpq/be-secure-openssl.c:1027
+#: libpq/be-secure-openssl.c:1078
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
 msgstr ""
 "неверные параметры DH: нет подходящего генератора или небезопасное простое "
 "число"
 
-#: libpq/be-secure-openssl.c:1163
+#: libpq/be-secure-openssl.c:1214
 #, c-format
 msgid "Client certificate verification failed at depth %d: %s."
 msgstr "Ошибка при проверке клиентского сертификата на глубине %d: %s."
 
-#: libpq/be-secure-openssl.c:1200
+#: libpq/be-secure-openssl.c:1251
 #, c-format
 msgid ""
 "Failed certificate data (unverified): subject \"%s\", serial number %s, "
@@ -16731,178 +17242,173 @@ msgstr ""
 "Данные ошибочного сертификата (непроверенные): субъект \"%s\", серийный "
 "номер %s, издатель \"%s\"."
 
-#: libpq/be-secure-openssl.c:1201
+#: libpq/be-secure-openssl.c:1252
 msgid "unknown"
 msgstr "н/д"
 
-#: libpq/be-secure-openssl.c:1292
+#: libpq/be-secure-openssl.c:1389
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: не удалось загрузить параметры DH"
 
-#: libpq/be-secure-openssl.c:1300
+#: libpq/be-secure-openssl.c:1397
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: не удалось задать параметры DH: %s"
 
-#: libpq/be-secure-openssl.c:1327
+#: libpq/be-secure-openssl.c:1424
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: нераспознанное имя кривой: %s"
 
-#: libpq/be-secure-openssl.c:1336
+#: libpq/be-secure-openssl.c:1433
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: не удалось создать ключ"
 
-#: libpq/be-secure-openssl.c:1364
+#: libpq/be-secure-openssl.c:1461
 msgid "no SSL error reported"
 msgstr "нет сообщения об ошибке SSL"
 
-#: libpq/be-secure-openssl.c:1381
+#: libpq/be-secure-openssl.c:1479
 #, c-format
 msgid "SSL error code %lu"
 msgstr "код ошибки SSL: %lu"
 
-#: libpq/be-secure-openssl.c:1540
+#: libpq/be-secure-openssl.c:1636
 #, c-format
 msgid "could not create BIO"
 msgstr "не удалось создать BIO"
 
-#: libpq/be-secure-openssl.c:1550
+#: libpq/be-secure-openssl.c:1646
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
 msgstr "не удалось получить NID для объекта ASN1_OBJECT"
 
-#: libpq/be-secure-openssl.c:1558
+#: libpq/be-secure-openssl.c:1654
 #, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
 msgstr "не удалось преобразовать NID %d в структуру ASN1_OBJECT"
 
-#: libpq/be-secure.c:207 libpq/be-secure.c:303
-#, c-format
-msgid "terminating connection due to unexpected postmaster exit"
-msgstr "закрытие подключения из-за неожиданного завершения главного процесса"
-
-#: libpq/crypt.c:49
+#: libpq/crypt.c:48
 #, c-format
 msgid "Role \"%s\" does not exist."
 msgstr "Роль \"%s\" не существует."
 
-#: libpq/crypt.c:59
+#: libpq/crypt.c:58
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "Пользователь \"%s\" не имеет пароля."
 
-#: libpq/crypt.c:77
+#: libpq/crypt.c:76
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "Срок действия пароля пользователя \"%s\" истёк."
 
-#: libpq/crypt.c:183
+#: libpq/crypt.c:182
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
 msgstr ""
 "Пользователь \"%s\" имеет пароль, неподходящий для аутентификации по MD5."
 
-#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266
+#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "Пароль не подходит для пользователя \"%s\"."
 
-#: libpq/crypt.c:285
+#: libpq/crypt.c:284
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
 msgstr "Пароль пользователя \"%s\" представлен в неизвестном формате."
 
-#: libpq/hba.c:332
+#: libpq/hba.c:327
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "неверное регулярное выражение \"%s\": %s"
 
-#: libpq/hba.c:334 libpq/hba.c:666 libpq/hba.c:1250 libpq/hba.c:1270
-#: libpq/hba.c:1293 libpq/hba.c:1306 libpq/hba.c:1359 libpq/hba.c:1387
-#: libpq/hba.c:1395 libpq/hba.c:1407 libpq/hba.c:1428 libpq/hba.c:1441
-#: libpq/hba.c:1466 libpq/hba.c:1493 libpq/hba.c:1505 libpq/hba.c:1564
-#: libpq/hba.c:1584 libpq/hba.c:1598 libpq/hba.c:1618 libpq/hba.c:1629
-#: libpq/hba.c:1644 libpq/hba.c:1663 libpq/hba.c:1679 libpq/hba.c:1691
-#: libpq/hba.c:1728 libpq/hba.c:1769 libpq/hba.c:1782 libpq/hba.c:1804
-#: libpq/hba.c:1816 libpq/hba.c:1834 libpq/hba.c:1884 libpq/hba.c:1928
-#: libpq/hba.c:1939 libpq/hba.c:1955 libpq/hba.c:1972 libpq/hba.c:1983
-#: libpq/hba.c:2002 libpq/hba.c:2018 libpq/hba.c:2034 libpq/hba.c:2093
-#: libpq/hba.c:2110 libpq/hba.c:2123 libpq/hba.c:2135 libpq/hba.c:2154
-#: libpq/hba.c:2240 libpq/hba.c:2258 libpq/hba.c:2352 libpq/hba.c:2371
-#: libpq/hba.c:2400 libpq/hba.c:2413 libpq/hba.c:2436 libpq/hba.c:2458
-#: libpq/hba.c:2472 tsearch/ts_locale.c:243
+#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265
+#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382
+#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436
+#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559
+#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624
+#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686
+#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799
+#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922
+#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985
+#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093
+#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223
+#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383
+#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455
+#: tsearch/ts_locale.c:241
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "строка %d файла конфигурации \"%s\""
 
-#: libpq/hba.c:462
+#: libpq/hba.c:457
 #, c-format
 msgid "skipping missing authentication file \"%s\""
 msgstr "отсутствующий файл настройки аутентификации \"%s\" пропускается"
 
-#: libpq/hba.c:614
+#: libpq/hba.c:609
 #, c-format
 msgid "could not open file \"%s\": maximum nesting depth exceeded"
 msgstr "открыть файл \"%s\" не удалось: превышен предел вложенности"
 
-#: libpq/hba.c:1221
+#: libpq/hba.c:1216
 #, c-format
 msgid "error enumerating network interfaces: %m"
 msgstr "ошибка при перечислении сетевых интерфейсов: %m"
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:1248
+#: libpq/hba.c:1243
 #, c-format
 msgid ""
 "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr "параметр проверки подлинности \"%s\" допускается только для методов %s"
 
-#: libpq/hba.c:1268
+#: libpq/hba.c:1263
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr ""
 "для метода проверки подлинности \"%s\" требуется определить аргумент \"%s\""
 
-#: libpq/hba.c:1292
+#: libpq/hba.c:1287
 #, c-format
 msgid "missing entry at end of line"
 msgstr "отсутствует запись в конце строки"
 
-#: libpq/hba.c:1305
+#: libpq/hba.c:1300
 #, c-format
 msgid "multiple values in ident field"
 msgstr "множественные значения в поле ident"
 
-#: libpq/hba.c:1357
+#: libpq/hba.c:1352
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "для типа подключения указано несколько значений"
 
-#: libpq/hba.c:1358
+#: libpq/hba.c:1353
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Определите в строке единственный тип подключения."
 
-#: libpq/hba.c:1385
+#: libpq/hba.c:1380
 #, c-format
 msgid "hostssl record cannot match because SSL is disabled"
 msgstr "запись с hostssl недействительна, так как поддержка SSL отключена"
 
-#: libpq/hba.c:1386
+#: libpq/hba.c:1381
 #, c-format
-msgid "Set ssl = on in postgresql.conf."
-msgstr "Установите ssl = on в postgresql.conf."
+msgid "Set \"ssl = on\" in postgresql.conf."
+msgstr "Установите \"ssl = on\" в postgresql.conf."
 
-#: libpq/hba.c:1394
+#: libpq/hba.c:1389
 #, c-format
 msgid "hostssl record cannot match because SSL is not supported by this build"
 msgstr ""
 "запись с hostssl недействительна, так как SSL не поддерживается в этой сборке"
 
-#: libpq/hba.c:1406
+#: libpq/hba.c:1401
 #, c-format
 msgid ""
 "hostgssenc record cannot match because GSSAPI is not supported by this build"
@@ -16910,126 +17416,126 @@ msgstr ""
 "запись с hostgssenc недействительна, так как GSSAPI не поддерживается в этой "
 "сборке"
 
-#: libpq/hba.c:1426
+#: libpq/hba.c:1421
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "неверный тип подключения \"%s\""
 
-#: libpq/hba.c:1440
+#: libpq/hba.c:1435
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "конец строки перед определением базы данных"
 
-#: libpq/hba.c:1465
+#: libpq/hba.c:1460
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "конец строки перед определением роли"
 
-#: libpq/hba.c:1492
+#: libpq/hba.c:1487
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "конец строки перед определением IP-адресов"
 
-#: libpq/hba.c:1503
+#: libpq/hba.c:1498
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "для адреса узла указано несколько значений"
 
-#: libpq/hba.c:1504
+#: libpq/hba.c:1499
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Определите в строке один диапазон адресов."
 
-#: libpq/hba.c:1562
+#: libpq/hba.c:1557
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "неверный IP-адрес \"%s\": %s"
 
-#: libpq/hba.c:1582
+#: libpq/hba.c:1577
 #, c-format
 msgid "specifying both host name and CIDR mask is invalid: \"%s\""
 msgstr "указать одновременно и имя узла, и маску CIDR нельзя: \"%s\""
 
-#: libpq/hba.c:1596
+#: libpq/hba.c:1591
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "неверная маска CIDR в адресе \"%s\""
 
-#: libpq/hba.c:1616
+#: libpq/hba.c:1611
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "конец строки перед определением маски сети"
 
-#: libpq/hba.c:1617
+#: libpq/hba.c:1612
 #, c-format
 msgid ""
 "Specify an address range in CIDR notation, or provide a separate netmask."
 msgstr ""
 "Укажите диапазон адресов в формате CIDR или задайте отдельную маску сети."
 
-#: libpq/hba.c:1628
+#: libpq/hba.c:1623
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "для сетевой маски указано несколько значений"
 
-#: libpq/hba.c:1642
+#: libpq/hba.c:1637
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "неверная маска IP \"%s\": %s"
 
-#: libpq/hba.c:1662
+#: libpq/hba.c:1657
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "IP-адрес не соответствует маске"
 
-#: libpq/hba.c:1678
+#: libpq/hba.c:1673
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "конец строки перед методом проверки подлинности"
 
-#: libpq/hba.c:1689
+#: libpq/hba.c:1684
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "для типа проверки подлинности указано несколько значений"
 
-#: libpq/hba.c:1690
+#: libpq/hba.c:1685
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Определите в строке единственный тип проверки подлинности."
 
-#: libpq/hba.c:1767
+#: libpq/hba.c:1750
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "неверный метод проверки подлинности \"%s\""
 
-#: libpq/hba.c:1780
+#: libpq/hba.c:1763
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr ""
 "неверный метод проверки подлинности \"%s\": не поддерживается в этой сборке"
 
-#: libpq/hba.c:1803
+#: libpq/hba.c:1786
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "проверка подлинности gssapi для локальных сокетов не поддерживается"
 
-#: libpq/hba.c:1815
+#: libpq/hba.c:1798
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "проверка подлинности peer поддерживается только для локальных сокетов"
 
-#: libpq/hba.c:1833
+#: libpq/hba.c:1816
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr ""
 "проверка подлинности cert поддерживается только для подключений hostssl"
 
-#: libpq/hba.c:1883
+#: libpq/hba.c:1866
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "параметр проверки подлинности указан не в формате имя=значение: %s"
 
-#: libpq/hba.c:1927
+#: libpq/hba.c:1910
 #, c-format
 msgid ""
 "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, "
@@ -17038,7 +17544,7 @@ msgstr ""
 "нельзя использовать ldapbasedn, ldapbinddn, ldapbindpasswd, "
 "ldapsearchattribute, ldapsearchfilter или ldapurl вместе с ldapprefix"
 
-#: libpq/hba.c:1938
+#: libpq/hba.c:1921
 #, c-format
 msgid ""
 "authentication method \"ldap\" requires argument \"ldapbasedn\", "
@@ -17047,22 +17553,22 @@ msgstr ""
 "для метода проверки подлинности \"ldap\" требуется установить аргументы "
 "\"ldapbasedn\" и \"ldapprefix\" или \"ldapsuffix\""
 
-#: libpq/hba.c:1954
+#: libpq/hba.c:1937
 #, c-format
 msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
 msgstr "нельзя использовать ldapsearchattribute вместе с ldapsearchfilter"
 
-#: libpq/hba.c:1971
+#: libpq/hba.c:1954
 #, c-format
 msgid "list of RADIUS servers cannot be empty"
 msgstr "список серверов RADIUS не может быть пустым"
 
-#: libpq/hba.c:1982
+#: libpq/hba.c:1965
 #, c-format
 msgid "list of RADIUS secrets cannot be empty"
 msgstr "список секретов RADIUS не может быть пустым"
 
-#: libpq/hba.c:1999
+#: libpq/hba.c:1982
 #, c-format
 msgid ""
 "the number of RADIUS secrets (%d) must be 1 or the same as the number of "
@@ -17071,7 +17577,7 @@ msgstr ""
 "количество секретов RADIUS (%d) должно равняться 1 или количеству серверов "
 "RADIUS (%d)"
 
-#: libpq/hba.c:2015
+#: libpq/hba.c:1998
 #, c-format
 msgid ""
 "the number of RADIUS ports (%d) must be 1 or the same as the number of "
@@ -17080,7 +17586,7 @@ msgstr ""
 "количество портов RADIUS (%d) должно равняться 1 или количеству серверов "
 "RADIUS (%d)"
 
-#: libpq/hba.c:2031
+#: libpq/hba.c:2014
 #, c-format
 msgid ""
 "the number of RADIUS identifiers (%d) must be 1 or the same as the number of "
@@ -17089,16 +17595,16 @@ msgstr ""
 "количество идентификаторов RADIUS (%d) должно равняться 1 или количеству "
 "серверов RADIUS (%d)"
 
-#: libpq/hba.c:2083
+#: libpq/hba.c:2066
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi и cert"
 
-#: libpq/hba.c:2092
+#: libpq/hba.c:2075
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert можно определить только в строках \"hostssl\""
 
-#: libpq/hba.c:2109
+#: libpq/hba.c:2092
 #, c-format
 msgid ""
 "clientcert only accepts \"verify-full\" when using \"cert\" authentication"
@@ -17106,95 +17612,95 @@ msgstr ""
 "с проверкой подлинности \"cert\" для clientcert допускается только значение "
 "\"verify-full\""
 
-#: libpq/hba.c:2122
+#: libpq/hba.c:2105
 #, c-format
 msgid "invalid value for clientcert: \"%s\""
 msgstr "неверное значение для clientcert: \"%s\""
 
-#: libpq/hba.c:2134
+#: libpq/hba.c:2117
 #, c-format
 msgid "clientname can only be configured for \"hostssl\" rows"
 msgstr "clientname можно определить только в строках \"hostssl\""
 
-#: libpq/hba.c:2153
+#: libpq/hba.c:2136
 #, c-format
 msgid "invalid value for clientname: \"%s\""
 msgstr "неверное значение для clientname: \"%s\""
 
-#: libpq/hba.c:2186
+#: libpq/hba.c:2169
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "не удалось разобрать URL-адрес LDAP \"%s\": %s"
 
-#: libpq/hba.c:2197
+#: libpq/hba.c:2180
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "неподдерживаемая схема в URL-адресе LDAP: %s"
 
-#: libpq/hba.c:2221
+#: libpq/hba.c:2204
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL-адреса LDAP не поддерживаются в этой ОС"
 
-#: libpq/hba.c:2239
+#: libpq/hba.c:2222
 #, c-format
 msgid "invalid ldapscheme value: \"%s\""
 msgstr "неверное значение ldapscheme: \"%s\""
 
-#: libpq/hba.c:2257
+#: libpq/hba.c:2240
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "неверный номер порта LDAP: \"%s\""
 
-#: libpq/hba.c:2303 libpq/hba.c:2310
+#: libpq/hba.c:2286 libpq/hba.c:2293
 msgid "gssapi and sspi"
 msgstr "gssapi и sspi"
 
-#: libpq/hba.c:2319 libpq/hba.c:2328
+#: libpq/hba.c:2302 libpq/hba.c:2311
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:2350
+#: libpq/hba.c:2333
 #, c-format
 msgid "could not parse RADIUS server list \"%s\""
 msgstr "не удалось разобрать список серверов RADIUS \"%s\""
 
-#: libpq/hba.c:2398
+#: libpq/hba.c:2381
 #, c-format
 msgid "could not parse RADIUS port list \"%s\""
 msgstr "не удалось разобрать список портов RADIUS \"%s\""
 
-#: libpq/hba.c:2412
+#: libpq/hba.c:2395
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "неверный номер порта RADIUS: \"%s\""
 
-#: libpq/hba.c:2434
+#: libpq/hba.c:2417
 #, c-format
 msgid "could not parse RADIUS secret list \"%s\""
 msgstr "не удалось разобрать список секретов RADIUS \"%s\""
 
-#: libpq/hba.c:2456
+#: libpq/hba.c:2439
 #, c-format
 msgid "could not parse RADIUS identifiers list \"%s\""
 msgstr "не удалось разобрать список идентификаторов RADIUS \"%s\""
 
-#: libpq/hba.c:2470
+#: libpq/hba.c:2453
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "нераспознанное имя атрибута проверки подлинности: \"%s\""
 
-#: libpq/hba.c:2662
+#: libpq/hba.c:2645
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "файл конфигурации \"%s\" не содержит записей"
 
-#: libpq/hba.c:2815
+#: libpq/hba.c:2798
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "ошибка при поиске по регулярному выражению для \"%s\": %s"
 
-#: libpq/hba.c:2839
+#: libpq/hba.c:2822
 #, c-format
 msgid ""
 "regular expression \"%s\" has no subexpressions as requested by "
@@ -17203,88 +17709,96 @@ msgstr ""
 "в регулярном выражении \"%s\" нет подвыражений, требуемых для обратной "
 "ссылки в \"%s\""
 
-#: libpq/hba.c:2942
+#: libpq/hba.c:2925
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr ""
 "указанное имя пользователя (%s) не совпадает с именем прошедшего проверку "
 "(%s)"
 
-#: libpq/hba.c:2962
+#: libpq/hba.c:2945
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr ""
 "нет соответствия в файле сопоставлений \"%s\" для пользователя \"%s\", "
 "прошедшего проверку как \"%s\""
 
-#: libpq/pqcomm.c:196
+#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259
+#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733
+#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855
+#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930
+#, c-format
+msgid "%s(%s) failed: %m"
+msgstr "ошибка в %s(%s): %m"
+
+#: libpq/pqcomm.c:296
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "не удалось перевести сокет в неблокирующий режим: %m"
 
-#: libpq/pqcomm.c:357
+#: libpq/pqcomm.c:456
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)"
 
-#: libpq/pqcomm.c:377
+#: libpq/pqcomm.c:476
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "перевести имя узла \"%s\", службы \"%s\" в адрес не удалось: %s"
 
-#: libpq/pqcomm.c:381
+#: libpq/pqcomm.c:480
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "не удалось перевести имя службы \"%s\" в адрес: %s"
 
-#: libpq/pqcomm.c:408
+#: libpq/pqcomm.c:502
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr ""
 "не удалось привязаться ко всем запрошенным адресам: превышен предел "
 "MAXLISTEN (%d)"
 
-#: libpq/pqcomm.c:417
+#: libpq/pqcomm.c:511
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:420
+#: libpq/pqcomm.c:514
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:423
+#: libpq/pqcomm.c:517
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:427
+#: libpq/pqcomm.c:521
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "нераспознанное семейство адресов: %d"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:451
+#: libpq/pqcomm.c:545
 #, c-format
 msgid "could not create %s socket for address \"%s\": %m"
 msgstr "не удалось создать сокет %s для адреса \"%s\": %m"
 
 #. translator: third %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:477 libpq/pqcomm.c:495
+#: libpq/pqcomm.c:574 libpq/pqcomm.c:592
 #, c-format
 msgid "%s(%s) failed for %s address \"%s\": %m"
 msgstr "ошибка в %s(%s) для адреса %s \"%s\": %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:518
+#: libpq/pqcomm.c:615
 #, c-format
 msgid "could not bind %s address \"%s\": %m"
 msgstr "не удалось привязаться к адресу %s \"%s\": %m"
 
-#: libpq/pqcomm.c:522
+#: libpq/pqcomm.c:619
 #, c-format
 msgid "Is another postmaster already running on port %d?"
 msgstr "Возможно, порт %d занят другим процессом postmaster?"
 
-#: libpq/pqcomm.c:524
+#: libpq/pqcomm.c:621
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, wait a few seconds "
@@ -17294,128 +17808,120 @@ msgstr ""
 "попытку через несколько секунд."
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:553
+#: libpq/pqcomm.c:650
 #, c-format
 msgid "could not listen on %s address \"%s\": %m"
 msgstr "не удалось привязаться к адресу %s \"%s\": %m"
 
-#: libpq/pqcomm.c:561
+#: libpq/pqcomm.c:658
 #, c-format
 msgid "listening on Unix socket \"%s\""
 msgstr "для приёма подключений открыт Unix-сокет \"%s\""
 
 #. translator: first %s is IPv4 or IPv6
-#: libpq/pqcomm.c:566
+#: libpq/pqcomm.c:663
 #, c-format
 msgid "listening on %s address \"%s\", port %d"
 msgstr "для приёма подключений по адресу %s \"%s\" открыт порт %d"
 
-#: libpq/pqcomm.c:655
+#: libpq/pqcomm.c:753
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "группа \"%s\" не существует"
 
-#: libpq/pqcomm.c:665
+#: libpq/pqcomm.c:763
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "не удалось установить группу для файла \"%s\": %m"
 
-#: libpq/pqcomm.c:676
+#: libpq/pqcomm.c:774
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "не удалось установить права доступа для файла \"%s\": %m"
 
-#: libpq/pqcomm.c:704
+#: libpq/pqcomm.c:803
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "не удалось принять новое подключение: %m"
 
-#: libpq/pqcomm.c:744 libpq/pqcomm.c:753 libpq/pqcomm.c:785 libpq/pqcomm.c:795
-#: libpq/pqcomm.c:1630 libpq/pqcomm.c:1675 libpq/pqcomm.c:1715
-#: libpq/pqcomm.c:1759 libpq/pqcomm.c:1798 libpq/pqcomm.c:1837
-#: libpq/pqcomm.c:1873 libpq/pqcomm.c:1912
-#, c-format
-msgid "%s(%s) failed: %m"
-msgstr "ошибка в %s(%s): %m"
-
-#: libpq/pqcomm.c:899
+#: libpq/pqcomm.c:885
 #, c-format
 msgid "there is no client connection"
 msgstr "нет клиентского подключения"
 
-#: libpq/pqcomm.c:955 libpq/pqcomm.c:1056
+#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "не удалось получить данные от клиента: %m"
 
-#: libpq/pqcomm.c:1161 tcop/postgres.c:4405
+#: libpq/pqcomm.c:1149 tcop/postgres.c:4509
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "закрытие подключения из-за потери синхронизации протокола"
 
-#: libpq/pqcomm.c:1227
+#: libpq/pqcomm.c:1215
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "неожиданный обрыв данных в слове длины сообщения"
 
-#: libpq/pqcomm.c:1237
+#: libpq/pqcomm.c:1225
 #, c-format
 msgid "invalid message length"
 msgstr "неверная длина сообщения"
 
-#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272
+#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260
 #, c-format
 msgid "incomplete message from client"
 msgstr "неполное сообщение от клиента"
 
-#: libpq/pqcomm.c:1383
+#: libpq/pqcomm.c:1401
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "не удалось послать данные клиенту: %m"
 
-#: libpq/pqcomm.c:1598
+#: libpq/pqcomm.c:1616
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "ошибка в %s(%s): код ошибки %d"
 
-#: libpq/pqcomm.c:1687
+#: libpq/pqcomm.c:1705
 #, c-format
 msgid "setting the keepalive idle time is not supported"
 msgstr "изменение значения keepalives_idle не поддерживается"
 
-#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921
+#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939
 #, c-format
 msgid "%s(%s) not supported"
 msgstr "%s(%s) не поддерживается"
 
-#: libpq/pqformat.c:407
+#: libpq/pqformat.c:404
 #, c-format
 msgid "no data left in message"
 msgstr "в сообщении не осталось данных"
 
-#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557
-#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1507
-#: utils/adt/rowtypes.c:615
+#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554
+#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481
+#: utils/adt/rowtypes.c:613
 #, c-format
 msgid "insufficient data left in message"
 msgstr "недостаточно данных осталось в сообщении"
 
-#: libpq/pqformat.c:598 libpq/pqformat.c:627
+#: libpq/pqformat.c:595 libpq/pqformat.c:624
 #, c-format
 msgid "invalid string in message"
 msgstr "неверная строка в сообщении"
 
-#: libpq/pqformat.c:643
+#: libpq/pqformat.c:640
 #, c-format
 msgid "invalid message format"
 msgstr "неверный формат сообщения"
 
-#: main/main.c:235
+#: main/main.c:234
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: ошибка WSAStartup: %d\n"
 
-#: main/main.c:329
+#: main/main.c:322
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -17424,7 +17930,7 @@ msgstr ""
 "%s - сервер PostgreSQL.\n"
 "\n"
 
-#: main/main.c:330
+#: main/main.c:323
 #, c-format
 msgid ""
 "Usage:\n"
@@ -17435,110 +17941,110 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: main/main.c:331
+#: main/main.c:324
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: main/main.c:332
+#: main/main.c:325
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ЧИСЛО_БУФ       число разделяемых буферов\n"
 
-#: main/main.c:333
+#: main/main.c:326
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c ИМЯ=ЗНАЧЕНИЕ    установить параметр выполнения\n"
 
-#: main/main.c:334
+#: main/main.c:327
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C ИМЯ             вывести значение параметра выполнения и выйти\n"
 
-#: main/main.c:335
+#: main/main.c:328
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             уровень отладочных сообщений\n"
 
-#: main/main.c:336
+#: main/main.c:329
 #, c-format
 msgid "  -D DATADIR         database directory\n"
-msgstr "  -D КАТАЛОГ         каталог с данными\n"
+msgstr "  -D КАТ_ДАННЫХ      каталог с данными\n"
 
 # well-spelled: ДМГ
-#: main/main.c:337
+#: main/main.c:330
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 использовать европейский формат дат (ДМГ)\n"
 
-#: main/main.c:338
+#: main/main.c:331
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 выключить синхронизацию с ФС\n"
 
-#: main/main.c:339
+#: main/main.c:332
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h ИМЯ             имя или IP-адрес для приёма сетевых соединений\n"
 
-#: main/main.c:340
+#: main/main.c:333
 #, c-format
 msgid "  -i                 enable TCP/IP connections (deprecated)\n"
 msgstr ""
 "  -i                 включить соединения TCP/IP (устаревший параметр)\n"
 
-#: main/main.c:341
+#: main/main.c:334
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k КАТАЛОГ         расположение Unix-сокетов\n"
 
-#: main/main.c:343
+#: main/main.c:336
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 разрешить SSL-подключения\n"
 
 # well-spelled: ПОДКЛ
-#: main/main.c:345
+#: main/main.c:338
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N МАКС_ПОДКЛ      предельное число подключений\n"
 
-#: main/main.c:346
+#: main/main.c:339
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p ПОРТ            номер порта для приёма подключений\n"
 
-#: main/main.c:347
+#: main/main.c:340
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 показывать статистику после каждого запроса\n"
 
-#: main/main.c:348
+#: main/main.c:341
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S РАБ_ПАМЯТЬ      задать объём памяти для сортировки (в КБ)\n"
 
-#: main/main.c:349
+#: main/main.c:342
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      показать версию и выйти\n"
 
-#: main/main.c:350
+#: main/main.c:343
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --ИМЯ=ЗНАЧЕНИЕ     установить параметр выполнения\n"
 
-#: main/main.c:351
+#: main/main.c:344
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  вывести параметры конфигурации и выйти\n"
 
-#: main/main.c:352
+#: main/main.c:345
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         показать эту справку и выйти\n"
 
-#: main/main.c:354
+#: main/main.c:347
 #, c-format
 msgid ""
 "\n"
@@ -17547,27 +18053,27 @@ msgstr ""
 "\n"
 "Параметры для разработчиков:\n"
 
-#: main/main.c:355
+#: main/main.c:348
 #, c-format
 msgid "  -f s|i|o|b|t|n|m|h forbid use of some plan types\n"
 msgstr "  -f s|i|o|b|t|n|m|h запретить некоторые типы планов\n"
 
-#: main/main.c:356
+#: main/main.c:349
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 разрешить изменять структуру системных таблиц\n"
 
-#: main/main.c:357
+#: main/main.c:350
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 отключить системные индексы\n"
 
-#: main/main.c:358
+#: main/main.c:351
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        показать время каждого запроса\n"
 
-#: main/main.c:359
+#: main/main.c:352
 #, c-format
 msgid ""
 "  -T                 send SIGABRT to all backend processes if one dies\n"
@@ -17575,13 +18081,13 @@ msgstr ""
 "  -T                 посылать сигнал SIGABRT всем серверным процессам\n"
 "                     при отключении одного\n"
 
-#: main/main.c:360
+#: main/main.c:353
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W СЕК             ждать заданное число секунд для подключения отладчика\n"
 
-#: main/main.c:362
+#: main/main.c:355
 #, c-format
 msgid ""
 "\n"
@@ -17590,7 +18096,7 @@ msgstr ""
 "\n"
 "Параметры для монопольного режима:\n"
 
-#: main/main.c:363
+#: main/main.c:356
 #, c-format
 msgid ""
 "  --single           selects single-user mode (must be first argument)\n"
@@ -17598,22 +18104,22 @@ msgstr ""
 "  --single           включить монопольный режим\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:364
+#: main/main.c:357
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  ИМЯ_БД             база данных (по умолчанию - имя пользователя)\n"
 
-#: main/main.c:365
+#: main/main.c:358
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             переопределить уровень отладочных сообщений\n"
 
-#: main/main.c:366
+#: main/main.c:359
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 выводить SQL-операторы перед выполнением\n"
 
-#: main/main.c:367
+#: main/main.c:360
 #, c-format
 msgid ""
 "  -j                 do not use newline as interactive query delimiter\n"
@@ -17621,12 +18127,12 @@ msgstr ""
 "  -j                 не считать конец строки разделителем интерактивных "
 "запросов\n"
 
-#: main/main.c:368 main/main.c:374
+#: main/main.c:361 main/main.c:367
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r ИМЯ_ФАЙЛА       перенаправить STDOUT и STDERR в указанный файл\n"
 
-#: main/main.c:370
+#: main/main.c:363
 #, c-format
 msgid ""
 "\n"
@@ -17635,7 +18141,7 @@ msgstr ""
 "\n"
 "Параметры для режима инициализации:\n"
 
-#: main/main.c:371
+#: main/main.c:364
 #, c-format
 msgid ""
 "  --boot             selects bootstrapping mode (must be first argument)\n"
@@ -17643,14 +18149,14 @@ msgstr ""
 "  --boot             включить режим инициализации\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:372
+#: main/main.c:365
 #, c-format
 msgid "  --check            selects check mode (must be first argument)\n"
 msgstr ""
 "  --check            включить режим проверки (этот аргумент должен быть "
 "первым)\n"
 
-#: main/main.c:373
+#: main/main.c:366
 #, c-format
 msgid ""
 "  DBNAME             database name (mandatory argument in bootstrapping "
@@ -17658,7 +18164,7 @@ msgid ""
 msgstr ""
 "  ИМЯ_БД             имя базы данных (необходимо в режиме инициализации)\n"
 
-#: main/main.c:376
+#: main/main.c:369
 #, c-format
 msgid ""
 "\n"
@@ -17675,12 +18181,12 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: main/main.c:380
+#: main/main.c:373
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: main/main.c:391
+#: main/main.c:384
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -17693,12 +18199,12 @@ msgstr ""
 "должен запускать обычный пользователь. Подробнее о том, как\n"
 "правильно запускать сервер, вы можете узнать в документации.\n"
 
-#: main/main.c:408
+#: main/main.c:401
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: фактический и эффективный ID пользователя должны совпадать\n"
 
-#: main/main.c:415
+#: main/main.c:408
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -17723,19 +18229,14 @@ msgstr "расширенный тип узла \"%s\" уже существуе
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "методы расширенного узла \"%s\" не зарегистрированы"
 
-#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335
+#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "отношение \"%s\" не имеет составного типа"
 
-#: nodes/makefuncs.c:879
-#, c-format
-msgid "unrecognized JSON encoding: %s"
-msgstr "нераспознанная кодировка JSON: %s"
-
-#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567
+#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567
 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752
-#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883
+#: parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869
 #: utils/fmgr/funcapi.c:669
 #, c-format
 msgid "could not find array type for data type %s"
@@ -17751,7 +18252,7 @@ msgstr "портал \"%s\" с параметрами: %s"
 msgid "unnamed portal with parameters: %s"
 msgstr "неименованный портал с параметрами: %s"
 
-#: optimizer/path/joinrels.c:973
+#: optimizer/path/joinrels.c:972
 #, c-format
 msgid ""
 "FULL JOIN is only supported with merge-joinable or hash-joinable join "
@@ -17760,32 +18261,32 @@ msgstr ""
 "FULL JOIN поддерживается только с условиями, допускающими соединение "
 "слиянием или хеш-соединение"
 
-#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:187
-#: parser/parse_merge.c:194
+#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203
+#: rewrite/rewriteHandler.c:1696
 #, c-format
 msgid "cannot execute MERGE on relation \"%s\""
-msgstr "выполнить MERGE для отношение \"%s\" нельзя"
+msgstr "выполнить MERGE для отношения \"%s\" нельзя"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1408
+#: optimizer/plan/initsplan.c:1407
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s не может применяться к NULL-содержащей стороне внешнего соединения"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1361 parser/analyze.c:1772 parser/analyze.c:2029
-#: parser/analyze.c:3242
+#: optimizer/plan/planner.c:1380 parser/analyze.c:1771 parser/analyze.c:2029
+#: parser/analyze.c:3247
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s несовместимо с UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:2076 optimizer/plan/planner.c:4035
+#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4107
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "не удалось реализовать GROUP BY"
 
-#: optimizer/plan/planner.c:2077 optimizer/plan/planner.c:4036
-#: optimizer/plan/planner.c:4676 optimizer/prep/prepunion.c:1053
+#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4108
+#: optimizer/plan/planner.c:4789 optimizer/prep/prepunion.c:1320
 #, c-format
 msgid ""
 "Some of the datatypes only support hashing, while others only support "
@@ -17794,77 +18295,77 @@ msgstr ""
 "Одни типы данных поддерживают только хеширование, а другие - только "
 "сортировку."
 
-#: optimizer/plan/planner.c:4675
+#: optimizer/plan/planner.c:4788
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "не удалось реализовать DISTINCT"
 
-#: optimizer/plan/planner.c:6014
+#: optimizer/plan/planner.c:6133
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "не удалось реализовать PARTITION BY для окна"
 
-#: optimizer/plan/planner.c:6015
+#: optimizer/plan/planner.c:6134
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Столбцы, разбивающие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/plan/planner.c:6019
+#: optimizer/plan/planner.c:6138
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "не удалось реализовать ORDER BY для окна"
 
-#: optimizer/plan/planner.c:6020
+#: optimizer/plan/planner.c:6139
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Столбцы, сортирующие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/prep/prepunion.c:516
+#: optimizer/prep/prepunion.c:467
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "не удалось реализовать рекурсивный UNION"
 
-#: optimizer/prep/prepunion.c:517
+#: optimizer/prep/prepunion.c:468
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Все столбцы должны иметь хешируемые типы данных."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:1052
+#: optimizer/prep/prepunion.c:1319
 #, c-format
 msgid "could not implement %s"
 msgstr "не удалось реализовать %s"
 
-#: optimizer/util/clauses.c:4933
+#: optimizer/util/clauses.c:4951
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "внедрённая в код SQL-функция \"%s\""
 
-#: optimizer/util/plancat.c:154
+#: optimizer/util/plancat.c:153
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr ""
 "обращаться к временным или нежурналируемым отношениям в процессе "
 "восстановления нельзя"
 
-#: optimizer/util/plancat.c:726
+#: optimizer/util/plancat.c:768
 #, c-format
 msgid "whole row unique index inference specifications are not supported"
 msgstr ""
 "указания со ссылкой на всю строку для выбора уникального индекса не "
 "поддерживаются"
 
-#: optimizer/util/plancat.c:743
+#: optimizer/util/plancat.c:785
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "ограничению в ON CONFLICT не соответствует индекс"
 
-#: optimizer/util/plancat.c:793
+#: optimizer/util/plancat.c:835
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE не поддерживается с ограничениями-исключениями"
 
-#: optimizer/util/plancat.c:898
+#: optimizer/util/plancat.c:945
 #, c-format
 msgid ""
 "there is no unique or exclusion constraint matching the ON CONFLICT "
@@ -17873,22 +18374,22 @@ msgstr ""
 "нет уникального ограничения или ограничения-исключения, соответствующего "
 "указанию ON CONFLICT"
 
-#: parser/analyze.c:826 parser/analyze.c:1551
+#: parser/analyze.c:824 parser/analyze.c:1550
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "списки VALUES должны иметь одинаковую длину"
 
-#: parser/analyze.c:1028
+#: parser/analyze.c:1027
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT содержит больше выражений, чем целевых столбцов"
 
-#: parser/analyze.c:1046
+#: parser/analyze.c:1045
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT содержит больше целевых столбцов, чем выражений"
 
-#: parser/analyze.c:1050
+#: parser/analyze.c:1049
 #, c-format
 msgid ""
 "The insertion source is a row expression containing the same number of "
@@ -17897,13 +18398,13 @@ msgstr ""
 "Источником данных является строка, включающая столько же столбцов, сколько "
 "требуется для INSERT. Вы намеренно использовали скобки?"
 
-#: parser/analyze.c:1358 parser/analyze.c:1745
+#: parser/analyze.c:1357 parser/analyze.c:1744
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO здесь не допускается"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1674 parser/analyze.c:3474
+#: parser/analyze.c:1673 parser/analyze.c:3479
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s нельзя применять к VALUES"
@@ -17947,12 +18448,17 @@ msgstr ""
 msgid "each %s query must have the same number of columns"
 msgstr "все запросы в %s должны возвращать одинаковое число столбцов"
 
-#: parser/analyze.c:2584
+#: parser/analyze.c:2535
+#, c-format
+msgid "SET target columns cannot be qualified with the relation name."
+msgstr "К именам целевых столбцов в SET нельзя добавлять имя отношения."
+
+#: parser/analyze.c:2589
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "в RETURNING должен быть минимум один столбец"
 
-#: parser/analyze.c:2687
+#: parser/analyze.c:2692
 #, c-format
 msgid "assignment source returned %d column"
 msgid_plural "assignment source returned %d columns"
@@ -17960,356 +18466,356 @@ msgstr[0] "источник присваиваемого значения выд
 msgstr[1] "источник присваиваемого значения выдал %d столбца"
 msgstr[2] "источник присваиваемого значения выдал %d столбцов"
 
-#: parser/analyze.c:2748
+#: parser/analyze.c:2753
 #, c-format
 msgid "variable \"%s\" is of type %s but expression is of type %s"
 msgstr "переменная \"%s\" имеет тип %s, а выражение - тип %s"
 
 #. translator: %s is a SQL keyword
-#: parser/analyze.c:2873 parser/analyze.c:2881
+#: parser/analyze.c:2878 parser/analyze.c:2886
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "указать %s и %s одновременно нельзя"
 
-#: parser/analyze.c:2901
+#: parser/analyze.c:2906
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR не может содержать операторы, изменяющие данные, в WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2909
+#: parser/analyze.c:2914
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживается"
 
-#: parser/analyze.c:2912
+#: parser/analyze.c:2917
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Сохраняемые курсоры должны быть READ ONLY."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2920
+#: parser/analyze.c:2925
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s не поддерживается"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2931
+#: parser/analyze.c:2936
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s не допускается"
 
-#: parser/analyze.c:2934
+#: parser/analyze.c:2939
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Независимые курсоры должны быть READ ONLY."
 
-#: parser/analyze.c:3028
+#: parser/analyze.c:3033
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr ""
 "в материализованных представлениях не должны использоваться операторы, "
 "изменяющие данные в WITH"
 
-#: parser/analyze.c:3038
+#: parser/analyze.c:3043
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr ""
 "в материализованных представлениях не должны использоваться временные "
 "таблицы и представления"
 
-#: parser/analyze.c:3048
+#: parser/analyze.c:3053
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr ""
 "определять материализованные представления со связанными параметрами нельзя"
 
-#: parser/analyze.c:3060
+#: parser/analyze.c:3065
 #, c-format
 msgid "materialized views cannot be unlogged"
 msgstr "материализованные представления не могут быть нежурналируемыми"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3249
+#: parser/analyze.c:3254
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s несовместимо с предложением DISTINCT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3256
+#: parser/analyze.c:3261
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s несовместимо с предложением GROUP BY"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3263
+#: parser/analyze.c:3268
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s несовместимо с предложением HAVING"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3270
+#: parser/analyze.c:3275
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s несовместимо с агрегатными функциями"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3277
+#: parser/analyze.c:3282
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s несовместимо с оконными функциями"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3284
+#: parser/analyze.c:3289
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr ""
 "%s не допускается с функциями, возвращающие множества, в списке результатов"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3383
+#: parser/analyze.c:3388
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "для %s нужно указывать неполные имена отношений"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3447
+#: parser/analyze.c:3452
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s нельзя применить к соединению"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3456
+#: parser/analyze.c:3461
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s нельзя применить к функции"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3465
+#: parser/analyze.c:3470
 #, c-format
 msgid "%s cannot be applied to a table function"
 msgstr "%s нельзя применить к табличной функции"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3483
+#: parser/analyze.c:3488
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s нельзя применить к запросу WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3492
+#: parser/analyze.c:3497
 #, c-format
 msgid "%s cannot be applied to a named tuplestore"
 msgstr "%s нельзя применить к именованному хранилищу кортежей"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3512
+#: parser/analyze.c:3517
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM"
 
-#: parser/parse_agg.c:209 parser/parse_oper.c:227
+#: parser/parse_agg.c:210 parser/parse_oper.c:215
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "для типа %s не удалось найти оператор сортировки"
 
-#: parser/parse_agg.c:211
+#: parser/parse_agg.c:212
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные."
 
-#: parser/parse_agg.c:269
+#: parser/parse_agg.c:270
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "у GROUPING должно быть меньше 32 аргументов"
 
-#: parser/parse_agg.c:372
+#: parser/parse_agg.c:373
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "агрегатные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:374
+#: parser/parse_agg.c:375
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "операции группировки нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:386
+#: parser/parse_agg.c:387
 msgid ""
 "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr ""
 "агрегатные функции нельзя применять в предложении FROM их уровня запроса"
 
-#: parser/parse_agg.c:388
+#: parser/parse_agg.c:389
 msgid ""
 "grouping operations are not allowed in FROM clause of their own query level"
 msgstr ""
 "операции группировки нельзя применять в предложении FROM их уровня запроса"
 
-#: parser/parse_agg.c:393
+#: parser/parse_agg.c:394
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "агрегатные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:395
+#: parser/parse_agg.c:396
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "операции группировки нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:403
+#: parser/parse_agg.c:404
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "агрегатные функции нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:405
+#: parser/parse_agg.c:406
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "операции группировки нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:422
+#: parser/parse_agg.c:423
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "агрегатные функции нельзя применять в указании RANGE для окна"
 
-#: parser/parse_agg.c:424
+#: parser/parse_agg.c:425
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "операции группировки нельзя применять в указании RANGE для окна"
 
-#: parser/parse_agg.c:429
+#: parser/parse_agg.c:430
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "агрегатные функции нельзя применять в указании ROWS для окна"
 
-#: parser/parse_agg.c:431
+#: parser/parse_agg.c:432
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "операции группировки нельзя применять в указании ROWS для окна"
 
-#: parser/parse_agg.c:436
+#: parser/parse_agg.c:437
 msgid "aggregate functions are not allowed in window GROUPS"
 msgstr "агрегатные функции нельзя применять в указании GROUPS для окна"
 
-#: parser/parse_agg.c:438
+#: parser/parse_agg.c:439
 msgid "grouping operations are not allowed in window GROUPS"
 msgstr "операции группировки нельзя применять в указании GROUPS для окна"
 
-#: parser/parse_agg.c:451
+#: parser/parse_agg.c:452
 msgid "aggregate functions are not allowed in MERGE WHEN conditions"
 msgstr "агрегатные функции нельзя применять в условиях MERGE WHEN"
 
-#: parser/parse_agg.c:453
+#: parser/parse_agg.c:454
 msgid "grouping operations are not allowed in MERGE WHEN conditions"
 msgstr "операции группировки нельзя применять в условиях MERGE WHEN"
 
-#: parser/parse_agg.c:479
+#: parser/parse_agg.c:481
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "агрегатные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:481
+#: parser/parse_agg.c:483
 msgid "grouping operations are not allowed in check constraints"
 msgstr "операции группировки нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:488
+#: parser/parse_agg.c:490
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "агрегатные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:490
+#: parser/parse_agg.c:492
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "операции группировки нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:495
+#: parser/parse_agg.c:497
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "агрегатные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:497
+#: parser/parse_agg.c:499
 msgid "grouping operations are not allowed in index expressions"
 msgstr "операции группировки нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:502
+#: parser/parse_agg.c:504
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "агрегатные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:504
+#: parser/parse_agg.c:506
 msgid "grouping operations are not allowed in index predicates"
 msgstr "операции группировки нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:509
+#: parser/parse_agg.c:511
 msgid "aggregate functions are not allowed in statistics expressions"
 msgstr "агрегатные функции нельзя применять в выражениях статистики"
 
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:513
 msgid "grouping operations are not allowed in statistics expressions"
 msgstr "операции группировки нельзя применять в выражениях статистики"
 
-#: parser/parse_agg.c:516
+#: parser/parse_agg.c:518
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "агрегатные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:518
+#: parser/parse_agg.c:520
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "операции группировки нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:523
+#: parser/parse_agg.c:525
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "агрегатные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:525
+#: parser/parse_agg.c:527
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "операции группировки нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:530
+#: parser/parse_agg.c:532
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "агрегатные функции нельзя применять в условиях WHEN для триггеров"
 
-#: parser/parse_agg.c:532
+#: parser/parse_agg.c:534
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "операции группировки нельзя применять в условиях WHEN для триггеров"
 
-#: parser/parse_agg.c:537
+#: parser/parse_agg.c:539
 msgid "aggregate functions are not allowed in partition bound"
 msgstr "агрегатные функции нельзя применять в выражении границы секции"
 
-#: parser/parse_agg.c:539
+#: parser/parse_agg.c:541
 msgid "grouping operations are not allowed in partition bound"
 msgstr "операции группировки нельзя применять в выражении границы секции"
 
-#: parser/parse_agg.c:544
+#: parser/parse_agg.c:546
 msgid "aggregate functions are not allowed in partition key expressions"
 msgstr "агрегатные функции нельзя применять в выражениях ключа секционирования"
 
-#: parser/parse_agg.c:546
+#: parser/parse_agg.c:548
 msgid "grouping operations are not allowed in partition key expressions"
 msgstr ""
 "операции группировки нельзя применять в выражениях ключа секционирования"
 
-#: parser/parse_agg.c:552
+#: parser/parse_agg.c:554
 msgid "aggregate functions are not allowed in column generation expressions"
 msgstr "агрегатные функции нельзя применять в выражениях генерируемых столбцов"
 
-#: parser/parse_agg.c:554
+#: parser/parse_agg.c:556
 msgid "grouping operations are not allowed in column generation expressions"
 msgstr ""
 "операции группировки нельзя применять в выражениях генерируемых столбцов"
 
-#: parser/parse_agg.c:560
+#: parser/parse_agg.c:562
 msgid "aggregate functions are not allowed in CALL arguments"
 msgstr "агрегатные функции нельзя применять в аргументах CALL"
 
-#: parser/parse_agg.c:562
+#: parser/parse_agg.c:564
 msgid "grouping operations are not allowed in CALL arguments"
 msgstr "операции группировки нельзя применять в аргументах CALL"
 
-#: parser/parse_agg.c:568
+#: parser/parse_agg.c:570
 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions"
 msgstr "агрегатные функции нельзя применять в условиях COPY FROM WHERE"
 
-#: parser/parse_agg.c:570
+#: parser/parse_agg.c:572
 msgid "grouping operations are not allowed in COPY FROM WHERE conditions"
 msgstr "операции группировки нельзя применять в условиях COPY FROM WHERE"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:597 parser/parse_clause.c:1956
+#: parser/parse_agg.c:599 parser/parse_clause.c:1962
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "агрегатные функции нельзя применять в конструкции %s"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:600
+#: parser/parse_agg.c:602
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "операции группировки нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:701
+#: parser/parse_agg.c:703
 #, c-format
 msgid ""
 "outer-level aggregate cannot contain a lower-level variable in its direct "
@@ -18318,15 +18824,15 @@ msgstr ""
 "агрегатная функция внешнего уровня не может содержать в своих аргументах "
 "переменные нижнего уровня"
 
-#: parser/parse_agg.c:779
+#: parser/parse_agg.c:781
 #, c-format
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr ""
 "вызовы агрегатных функций не могут включать вызовы функций, возвращающих "
 "множества"
 
-#: parser/parse_agg.c:780 parser/parse_expr.c:1700 parser/parse_expr.c:2182
-#: parser/parse_func.c:884
+#: parser/parse_agg.c:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245
+#: parser/parse_func.c:885
 #, c-format
 msgid ""
 "You might be able to move the set-returning function into a LATERAL FROM "
@@ -18335,107 +18841,107 @@ msgstr ""
 "Исправить ситуацию можно, переместив функцию, возвращающую множество, в "
 "элемент LATERAL FROM."
 
-#: parser/parse_agg.c:785
+#: parser/parse_agg.c:787
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "вызовы агрегатных функций не могут включать вызовы оконных функции"
 
-#: parser/parse_agg.c:864
+#: parser/parse_agg.c:866
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "оконные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:871
+#: parser/parse_agg.c:873
 msgid "window functions are not allowed in functions in FROM"
 msgstr "оконные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:877
+#: parser/parse_agg.c:879
 msgid "window functions are not allowed in policy expressions"
 msgstr "оконные функции нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:890
+#: parser/parse_agg.c:892
 msgid "window functions are not allowed in window definitions"
 msgstr "оконные функции нельзя применять в определении окна"
 
-#: parser/parse_agg.c:901
+#: parser/parse_agg.c:903
 msgid "window functions are not allowed in MERGE WHEN conditions"
 msgstr "оконные функции нельзя применять в условиях MERGE WHEN"
 
-#: parser/parse_agg.c:925
+#: parser/parse_agg.c:928
 msgid "window functions are not allowed in check constraints"
 msgstr "оконные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:929
+#: parser/parse_agg.c:932
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "оконные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:932
+#: parser/parse_agg.c:935
 msgid "window functions are not allowed in index expressions"
 msgstr "оконные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:935
+#: parser/parse_agg.c:938
 msgid "window functions are not allowed in statistics expressions"
 msgstr "оконные функции нельзя применять в выражениях статистики"
 
-#: parser/parse_agg.c:938
+#: parser/parse_agg.c:941
 msgid "window functions are not allowed in index predicates"
 msgstr "оконные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:941
+#: parser/parse_agg.c:944
 msgid "window functions are not allowed in transform expressions"
 msgstr "оконные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:944
+#: parser/parse_agg.c:947
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "оконные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:947
+#: parser/parse_agg.c:950
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "оконные функции нельзя применять в условиях WHEN для триггеров"
 
-#: parser/parse_agg.c:950
+#: parser/parse_agg.c:953
 msgid "window functions are not allowed in partition bound"
 msgstr "оконные функции нельзя применять в выражении границы секции"
 
-#: parser/parse_agg.c:953
+#: parser/parse_agg.c:956
 msgid "window functions are not allowed in partition key expressions"
 msgstr "оконные функции нельзя применять в выражениях ключа секционирования"
 
-#: parser/parse_agg.c:956
+#: parser/parse_agg.c:959
 msgid "window functions are not allowed in CALL arguments"
 msgstr "оконные функции нельзя применять в аргументах CALL"
 
-#: parser/parse_agg.c:959
+#: parser/parse_agg.c:962
 msgid "window functions are not allowed in COPY FROM WHERE conditions"
 msgstr "оконные функции нельзя применять в условиях COPY FROM WHERE"
 
-#: parser/parse_agg.c:962
+#: parser/parse_agg.c:965
 msgid "window functions are not allowed in column generation expressions"
 msgstr "оконные функции нельзя применять в выражениях генерируемых столбцов"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:985 parser/parse_clause.c:1965
+#: parser/parse_agg.c:988 parser/parse_clause.c:1971
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "оконные функции нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:1019 parser/parse_clause.c:2798
+#: parser/parse_agg.c:1022 parser/parse_clause.c:2804
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "окно \"%s\" не существует"
 
-#: parser/parse_agg.c:1107
+#: parser/parse_agg.c:1110
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "слишком много наборов группирования (при максимуме 4096)"
 
-#: parser/parse_agg.c:1247
+#: parser/parse_agg.c:1250
 #, c-format
 msgid ""
 "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr ""
 "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы"
 
-#: parser/parse_agg.c:1440
+#: parser/parse_agg.c:1443
 #, c-format
 msgid ""
 "column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
@@ -18444,7 +18950,7 @@ msgstr ""
 "столбец \"%s.%s\" должен фигурировать в предложении GROUP BY или "
 "использоваться в агрегатной функции"
 
-#: parser/parse_agg.c:1443
+#: parser/parse_agg.c:1446
 #, c-format
 msgid ""
 "Direct arguments of an ordered-set aggregate must use only grouped columns."
@@ -18452,13 +18958,13 @@ msgstr ""
 "Прямые аргументы сортирующей агрегатной функции могут включать только "
 "группируемые столбцы."
 
-#: parser/parse_agg.c:1448
+#: parser/parse_agg.c:1451
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr ""
 "подзапрос использует негруппированный столбец \"%s.%s\" из внешнего запроса"
 
-#: parser/parse_agg.c:1612
+#: parser/parse_agg.c:1615
 #, c-format
 msgid ""
 "arguments to GROUPING must be grouping expressions of the associated query "
@@ -18467,25 +18973,25 @@ msgstr ""
 "аргументами GROUPING должны быть выражения группирования для "
 "соответствующего уровня запроса"
 
-#: parser/parse_clause.c:195
+#: parser/parse_clause.c:193
 #, c-format
 msgid "relation \"%s\" cannot be the target of a modifying statement"
 msgstr "отношение \"%s\" не может быть целевым в операторе, изменяющем данные"
 
-#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552
+#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553
 #, c-format
 msgid "set-returning functions must appear at top level of FROM"
 msgstr ""
 "функции, возвращающие множества, должны находиться на верхнем уровне FROM"
 
-#: parser/parse_clause.c:611
+#: parser/parse_clause.c:609
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr ""
 "для одной и той же функции нельзя задать разные списки с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:644
+#: parser/parse_clause.c:642
 #, c-format
 msgid ""
 "ROWS FROM() with multiple functions cannot have a column definition list"
@@ -18493,7 +18999,7 @@ msgstr ""
 "у ROWS FROM() с несколькими функциями не может быть списка с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:645
+#: parser/parse_clause.c:643
 #, c-format
 msgid ""
 "Put a separate column definition list for each function inside ROWS FROM()."
@@ -18501,14 +19007,14 @@ msgstr ""
 "Добавьте отдельные списки с определениями столбцов для каждой функции в ROWS "
 "FROM()."
 
-#: parser/parse_clause.c:651
+#: parser/parse_clause.c:649
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr ""
 "у UNNEST() с несколькими аргументами не может быть списка с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:652
+#: parser/parse_clause.c:650
 #, c-format
 msgid ""
 "Use separate UNNEST() calls inside ROWS FROM(), and attach a column "
@@ -18517,43 +19023,43 @@ msgstr ""
 "Напишите отдельные вызовы UNNEST() внутри ROWS FROM() и добавьте список "
 "определений столбцов к каждому."
 
-#: parser/parse_clause.c:659
+#: parser/parse_clause.c:657
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr ""
 "WITH ORDINALITY нельзя использовать со списком с определениями столбцов"
 
-#: parser/parse_clause.c:660
+#: parser/parse_clause.c:658
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Поместите список определений столбцов внутрь ROWS FROM()."
 
-#: parser/parse_clause.c:760
+#: parser/parse_clause.c:762 parser/parse_jsontable.c:295
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "FOR ORDINALITY допускается только для одного столбца"
 
-#: parser/parse_clause.c:821
+#: parser/parse_clause.c:823
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "имя столбца \"%s\" не уникально"
 
-#: parser/parse_clause.c:863
+#: parser/parse_clause.c:865
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "имя пространства имён \"%s\" не уникально"
 
-#: parser/parse_clause.c:873
+#: parser/parse_clause.c:875
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "допускается только одно пространство имён по умолчанию"
 
-#: parser/parse_clause.c:933
+#: parser/parse_clause.c:935
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "метод %s для получения выборки не существует"
 
-#: parser/parse_clause.c:955
+#: parser/parse_clause.c:957
 #, c-format
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
@@ -18561,104 +19067,104 @@ msgstr[0] "метод %s для получения выборки требует
 msgstr[1] "метод %s для получения выборки требует аргументов: %d, получено: %d"
 msgstr[2] "метод %s для получения выборки требует аргументов: %d, получено: %d"
 
-#: parser/parse_clause.c:989
+#: parser/parse_clause.c:991
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "метод %s для получения выборки не поддерживает REPEATABLE"
 
-#: parser/parse_clause.c:1138
+#: parser/parse_clause.c:1144
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr ""
 "предложение TABLESAMPLE можно применять только к таблицам и "
 "материализованным представлениям"
 
-#: parser/parse_clause.c:1325
+#: parser/parse_clause.c:1331
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "имя столбца \"%s\" фигурирует в предложении USING неоднократно"
 
-#: parser/parse_clause.c:1340
+#: parser/parse_clause.c:1346
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "имя общего столбца \"%s\" фигурирует в таблице слева неоднократно"
 
-#: parser/parse_clause.c:1349
+#: parser/parse_clause.c:1355
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "в таблице слева нет столбца \"%s\", указанного в предложении USING"
 
-#: parser/parse_clause.c:1364
+#: parser/parse_clause.c:1370
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "имя общего столбца \"%s\" фигурирует в таблице справа неоднократно"
 
-#: parser/parse_clause.c:1373
+#: parser/parse_clause.c:1379
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "в таблице справа нет столбца \"%s\", указанного в предложении USING"
 
-#: parser/parse_clause.c:1901
+#: parser/parse_clause.c:1907
 #, c-format
 msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
 msgstr ""
 "количество строк в FETCH FIRST ... WITH TIES должно быть отличным от NULL"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1926
+#: parser/parse_clause.c:1932
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "аргумент %s не может содержать переменные"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2091
+#: parser/parse_clause.c:2097
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "выражение %s \"%s\" неоднозначно"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2119
+#: parser/parse_clause.c:2125
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "не целочисленная константа в %s"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2141
+#: parser/parse_clause.c:2147
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "в списке выборки %s нет элемента %d"
 
-#: parser/parse_clause.c:2580
+#: parser/parse_clause.c:2586
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE имеет ограничение в 12 элементов"
 
-#: parser/parse_clause.c:2786
+#: parser/parse_clause.c:2792
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "окно \"%s\" уже определено"
 
-#: parser/parse_clause.c:2847
+#: parser/parse_clause.c:2853
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "переопределить предложение PARTITION BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:2859
+#: parser/parse_clause.c:2865
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "переопределить предложение ORDER BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:2889 parser/parse_clause.c:2895
+#: parser/parse_clause.c:2895 parser/parse_clause.c:2901
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "скопировать окно \"%s\", имеющее предложение рамки, нельзя"
 
-#: parser/parse_clause.c:2897
+#: parser/parse_clause.c:2903
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Уберите скобки в предложении OVER."
 
-#: parser/parse_clause.c:2917
+#: parser/parse_clause.c:2923
 #, c-format
 msgid ""
 "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"
@@ -18666,12 +19172,12 @@ msgstr ""
 "для RANGE со смещением PRECEDING/FOLLOWING требуется ровно один столбец в "
 "ORDER BY"
 
-#: parser/parse_clause.c:2940
+#: parser/parse_clause.c:2946
 #, c-format
 msgid "GROUPS mode requires an ORDER BY clause"
 msgstr "для режима GROUPS требуется предложение ORDER BY"
 
-#: parser/parse_clause.c:3011
+#: parser/parse_clause.c:3016
 #, c-format
 msgid ""
 "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
@@ -18680,68 +19186,68 @@ msgstr ""
 "для агрегатной функции с DISTINCT, выражения ORDER BY должны быть в списке "
 "аргументов"
 
-#: parser/parse_clause.c:3012
+#: parser/parse_clause.c:3017
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 "в конструкции SELECT DISTINCT выражения ORDER BY должны быть в списке выборки"
 
-#: parser/parse_clause.c:3044
+#: parser/parse_clause.c:3049
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "агрегатной функции с DISTINCT нужен минимум один аргумент"
 
-#: parser/parse_clause.c:3045
+#: parser/parse_clause.c:3050
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "в SELECT DISTINCT нужен минимум один столбец"
 
-#: parser/parse_clause.c:3111 parser/parse_clause.c:3143
+#: parser/parse_clause.c:3116 parser/parse_clause.c:3148
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "выражения SELECT DISTINCT ON должны соответствовать начальным выражениям "
 "ORDER BY"
 
-#: parser/parse_clause.c:3221
+#: parser/parse_clause.c:3226
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC нельзя использовать в ON CONFLICT"
 
-#: parser/parse_clause.c:3227
+#: parser/parse_clause.c:3232
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST нельзя использовать в ON CONFLICT"
 
-#: parser/parse_clause.c:3306
+#: parser/parse_clause.c:3311
 #, c-format
 msgid ""
 "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr ""
 "в ON CONFLICT DO UPDATE требуется наводящее указание или имя ограничения"
 
-#: parser/parse_clause.c:3307
+#: parser/parse_clause.c:3312
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Например: ON CONFLICT (имя_столбца)."
 
-#: parser/parse_clause.c:3318
+#: parser/parse_clause.c:3323
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT с таблицами системного каталога не поддерживается"
 
-#: parser/parse_clause.c:3326
+#: parser/parse_clause.c:3331
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr ""
 "ON CONFLICT не поддерживается для таблицы \"%s\", служащей таблицей каталога"
 
-#: parser/parse_clause.c:3457
+#: parser/parse_clause.c:3462
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "оператор %s не годится для сортировки"
 
-#: parser/parse_clause.c:3459
+#: parser/parse_clause.c:3464
 #, c-format
 msgid ""
 "Ordering operators must be \"<\" or \">\" members of btree operator families."
@@ -18749,14 +19255,14 @@ msgstr ""
 "Операторы сортировки должны быть членами \"<\" или \">\" семейств операторов "
 "btree."
 
-#: parser/parse_clause.c:3770
+#: parser/parse_clause.c:3775
 #, c-format
 msgid ""
 "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s"
 msgstr ""
 "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s"
 
-#: parser/parse_clause.c:3776
+#: parser/parse_clause.c:3781
 #, c-format
 msgid ""
 "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s "
@@ -18765,12 +19271,12 @@ msgstr ""
 "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s "
 "и типа смещения %s"
 
-#: parser/parse_clause.c:3779
+#: parser/parse_clause.c:3784
 #, c-format
 msgid "Cast the offset value to an appropriate type."
 msgstr "Приведите значение смещения к подходящему типу."
 
-#: parser/parse_clause.c:3784
+#: parser/parse_clause.c:3789
 #, c-format
 msgid ""
 "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for "
@@ -18779,15 +19285,15 @@ msgstr ""
 "RANGE со смещением PRECEDING/FOLLOWING допускает несколько интерпретаций для "
 "типа столбца %s и типа смещения %s"
 
-#: parser/parse_clause.c:3787
+#: parser/parse_clause.c:3792
 #, c-format
 msgid "Cast the offset value to the exact intended type."
 msgstr "Приведите значение смещения в точности к желаемому типу."
 
 #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
-#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497
-#: parser/parse_target.c:999
+#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405
+#: parser/parse_expr.c:3634 parser/parse_target.c:998
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "привести тип %s к %s нельзя"
@@ -19024,22 +19530,17 @@ msgstr "рекурсивная ссылка на запрос \"%s\" не дол
 msgid "recursive reference to query \"%s\" must not appear within EXCEPT"
 msgstr "рекурсивная ссылка на запрос \"%s\" не должна фигурировать в EXCEPT"
 
-#: parser/parse_cte.c:133
-#, c-format
-msgid "MERGE not supported in WITH query"
-msgstr "MERGE не поддерживается в запросе WITH"
-
-#: parser/parse_cte.c:143
+#: parser/parse_cte.c:136
 #, c-format
 msgid "WITH query name \"%s\" specified more than once"
 msgstr "имя запроса WITH \"%s\" указано неоднократно"
 
-#: parser/parse_cte.c:314
+#: parser/parse_cte.c:308
 #, c-format
 msgid "could not identify an inequality operator for type %s"
 msgstr "не удалось найти оператор неравенства для типа %s"
 
-#: parser/parse_cte.c:341
+#: parser/parse_cte.c:335
 #, c-format
 msgid ""
 "WITH clause containing a data-modifying statement must be at the top level"
@@ -19047,7 +19548,7 @@ msgstr ""
 "предложение WITH, содержащее оператор, изменяющий данные, должно быть на "
 "верхнем уровне"
 
-#: parser/parse_cte.c:390
+#: parser/parse_cte.c:384
 #, c-format
 msgid ""
 "recursive query \"%s\" column %d has type %s in non-recursive term but type "
@@ -19056,12 +19557,12 @@ msgstr ""
 "в рекурсивном запросе \"%s\" столбец %d имеет тип %s в нерекурсивной части, "
 "но в результате тип %s"
 
-#: parser/parse_cte.c:396
+#: parser/parse_cte.c:390
 #, c-format
 msgid "Cast the output of the non-recursive term to the correct type."
 msgstr "Приведите результат нерекурсивной части к правильному типу."
 
-#: parser/parse_cte.c:401
+#: parser/parse_cte.c:395
 #, c-format
 msgid ""
 "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term "
@@ -19070,43 +19571,43 @@ msgstr ""
 "в рекурсивном запросе \"%s\" у столбца %d правило сортировки \"%s\" в не "
 "рекурсивной части, но в результате правило \"%s\""
 
-#: parser/parse_cte.c:405
+#: parser/parse_cte.c:399
 #, c-format
 msgid "Use the COLLATE clause to set the collation of the non-recursive term."
 msgstr ""
 "Измените правило сортировки в нерекурсивной части, добавив предложение "
 "COLLATE."
 
-#: parser/parse_cte.c:426
+#: parser/parse_cte.c:420
 #, c-format
 msgid "WITH query is not recursive"
 msgstr "запрос WITH не рекурсивный"
 
-#: parser/parse_cte.c:457
+#: parser/parse_cte.c:451
 #, c-format
 msgid ""
 "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT"
 msgstr ""
 "с предложением SEARCH или CYCLE в левой стороне UNION должен быть SELECT"
 
-#: parser/parse_cte.c:462
+#: parser/parse_cte.c:456
 #, c-format
 msgid ""
 "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT"
 msgstr ""
 "с предложением SEARCH или CYCLE в правой стороне UNION должен быть SELECT"
 
-#: parser/parse_cte.c:477
+#: parser/parse_cte.c:471
 #, c-format
 msgid "search column \"%s\" not in WITH query column list"
 msgstr "столбец поиска \"%s\" отсутствует в списке столбцов запроса WITH"
 
-#: parser/parse_cte.c:484
+#: parser/parse_cte.c:478
 #, c-format
 msgid "search column \"%s\" specified more than once"
 msgstr "столбец поиска \"%s\" указан неоднократно"
 
-#: parser/parse_cte.c:493
+#: parser/parse_cte.c:487
 #, c-format
 msgid ""
 "search sequence column name \"%s\" already used in WITH query column list"
@@ -19114,64 +19615,64 @@ msgstr ""
 "имя столбца последовательности поиска \"%s\" уже используется в списке "
 "столбцов запроса WITH"
 
-#: parser/parse_cte.c:510
+#: parser/parse_cte.c:504
 #, c-format
 msgid "cycle column \"%s\" not in WITH query column list"
 msgstr "столбец цикла \"%s\" отсутствует в списке столбцов запроса WITH"
 
-#: parser/parse_cte.c:517
+#: parser/parse_cte.c:511
 #, c-format
 msgid "cycle column \"%s\" specified more than once"
 msgstr "столбец цикла \"%s\" указан неоднократно"
 
-#: parser/parse_cte.c:526
+#: parser/parse_cte.c:520
 #, c-format
 msgid "cycle mark column name \"%s\" already used in WITH query column list"
 msgstr ""
 "имя столбца пометки цикла \"%s\" уже используется в списке столбцов запроса "
 "WITH"
 
-#: parser/parse_cte.c:533
+#: parser/parse_cte.c:527
 #, c-format
 msgid "cycle path column name \"%s\" already used in WITH query column list"
 msgstr ""
 "имя столбца пути цикла \"%s\" уже используется в списке столбцов запроса WITH"
 
-#: parser/parse_cte.c:541
+#: parser/parse_cte.c:535
 #, c-format
 msgid "cycle mark column name and cycle path column name are the same"
 msgstr "имя столбца пометки цикла совпадает с именем столбца пути цикла"
 
-#: parser/parse_cte.c:551
+#: parser/parse_cte.c:545
 #, c-format
 msgid "search sequence column name and cycle mark column name are the same"
 msgstr ""
 "имя столбца последовательности поиска совпадает с именем столбца пометки "
 "цикла"
 
-#: parser/parse_cte.c:558
+#: parser/parse_cte.c:552
 #, c-format
 msgid "search sequence column name and cycle path column name are the same"
 msgstr ""
 "имя столбца последовательности поиска совпадает с именем столбца пути цикла"
 
-#: parser/parse_cte.c:642
+#: parser/parse_cte.c:636
 #, c-format
 msgid "WITH query \"%s\" has %d columns available but %d columns specified"
 msgstr "запрос WITH \"%s\" содержит столбцов: %d, но указано: %d"
 
-#: parser/parse_cte.c:822
+#: parser/parse_cte.c:816
 #, c-format
 msgid "mutual recursion between WITH items is not implemented"
 msgstr "взаимная рекурсия между элементами WITH не реализована"
 
-#: parser/parse_cte.c:874
+#: parser/parse_cte.c:868
 #, c-format
 msgid "recursive query \"%s\" must not contain data-modifying statements"
 msgstr ""
 "рекурсивный запрос \"%s\" не должен содержать операторов, изменяющих данные"
 
-#: parser/parse_cte.c:882
+#: parser/parse_cte.c:876
 #, c-format
 msgid ""
 "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] "
@@ -19180,102 +19681,110 @@ msgstr ""
 "рекурсивный запрос \"%s\" должен иметь форму {нерекурсивная часть} UNION "
 "[ALL] {рекурсивная часть}"
 
-#: parser/parse_cte.c:926
+#: parser/parse_cte.c:911
 #, c-format
 msgid "ORDER BY in a recursive query is not implemented"
 msgstr "ORDER BY в рекурсивном запросе не поддерживается"
 
-#: parser/parse_cte.c:932
+#: parser/parse_cte.c:917
 #, c-format
 msgid "OFFSET in a recursive query is not implemented"
 msgstr "OFFSET в рекурсивном запросе не поддерживается"
 
-#: parser/parse_cte.c:938
+#: parser/parse_cte.c:923
 #, c-format
 msgid "LIMIT in a recursive query is not implemented"
 msgstr "LIMIT в рекурсивном запросе не поддерживается"
 
-#: parser/parse_cte.c:944
+#: parser/parse_cte.c:929
 #, c-format
 msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
 msgstr "FOR UPDATE/SHARE в рекурсивном запросе не поддерживается"
 
-#: parser/parse_cte.c:1001
+#: parser/parse_cte.c:1008
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "рекурсивная ссылка на запрос \"%s\" указана неоднократно"
 
-#: parser/parse_expr.c:294
+#: parser/parse_expr.c:313
 #, c-format
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT не допускается в данном контексте"
 
-#: parser/parse_expr.c:371 parser/parse_relation.c:3697
-#: parser/parse_relation.c:3707 parser/parse_relation.c:3725
-#: parser/parse_relation.c:3732 parser/parse_relation.c:3746
+#: parser/parse_expr.c:406 parser/parse_relation.c:3691
+#: parser/parse_relation.c:3701 parser/parse_relation.c:3719
+#: parser/parse_relation.c:3726 parser/parse_relation.c:3740
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "столбец %s.%s не существует"
 
-#: parser/parse_expr.c:383
+#: parser/parse_expr.c:418
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "столбец \"%s\" не найден в типе данных %s"
 
-#: parser/parse_expr.c:389
+#: parser/parse_expr.c:424
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "не удалось идентифицировать столбец \"%s\" в типе записи"
 
 # skip-rule: space-before-period
-#: parser/parse_expr.c:395
+#: parser/parse_expr.c:430
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr ""
 "запись имени столбца .%s применена к типу %s, который не является составным"
 
-#: parser/parse_expr.c:426 parser/parse_target.c:733
+#: parser/parse_expr.c:461 parser/parse_target.c:732
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "расширение строки через \"*\" здесь не поддерживается"
 
-#: parser/parse_expr.c:548
+#: parser/parse_expr.c:584
 msgid "cannot use column reference in DEFAULT expression"
 msgstr "в выражении DEFAULT (по умолчанию) нельзя ссылаться на столбцы"
 
-#: parser/parse_expr.c:551
+#: parser/parse_expr.c:587
 msgid "cannot use column reference in partition bound expression"
 msgstr "в выражении границы секции нельзя ссылаться на столбцы"
 
-#: parser/parse_expr.c:810 parser/parse_relation.c:833
-#: parser/parse_relation.c:915 parser/parse_target.c:1239
+#: parser/parse_expr.c:846 parser/parse_relation.c:833
+#: parser/parse_relation.c:915 parser/parse_target.c:1238
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "неоднозначная ссылка на столбец \"%s\""
 
-#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:204 parser/parse_param.c:303
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "параметр $%d не существует"
 
-#: parser/parse_expr.c:1066
+#. translator: %s is name of a SQL construct, eg NULLIF
+#: parser/parse_expr.c:1103 parser/parse_expr.c:3065
 #, c-format
-msgid "NULLIF requires = operator to yield boolean"
-msgstr "для NULLIF требуется, чтобы оператор = возвращал логическое значение"
+msgid "%s requires = operator to yield boolean"
+msgstr "для %s требуется, чтобы оператор = возвращал логическое значение"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1072 parser/parse_expr.c:3007
+#: parser/parse_expr.c:1109 parser/parse_expr.c:3072
 #, c-format
 msgid "%s must not return a set"
 msgstr "%s не должна возвращать множество"
 
-#: parser/parse_expr.c:1457 parser/parse_expr.c:1489
+#: parser/parse_expr.c:1395
+#, c-format
+msgid ""
+"MERGE_ACTION() can only be used in the RETURNING list of a MERGE command"
+msgstr ""
+"MERGE_ACTION() может использоваться только в списке RETURNING команды MERGE"
+
+#: parser/parse_expr.c:1519 parser/parse_expr.c:1551
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "число столбцов не равно числу значений"
 
-#: parser/parse_expr.c:1503
+#: parser/parse_expr.c:1565
 #, c-format
 msgid ""
 "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() "
@@ -19285,235 +19794,363 @@ msgstr ""
 "SELECT или выражение ROW()"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677
+#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679
 #, c-format
 msgid "set-returning functions are not allowed in %s"
 msgstr "функции, возвращающие множества, нельзя применять в конструкции %s"
 
-#: parser/parse_expr.c:1761
+#: parser/parse_expr.c:1824
 msgid "cannot use subquery in check constraint"
 msgstr "в ограничении-проверке нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1765
+#: parser/parse_expr.c:1828
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "в выражении DEFAULT нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1768
+#: parser/parse_expr.c:1831
 msgid "cannot use subquery in index expression"
 msgstr "в индексном выражении нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1771
+#: parser/parse_expr.c:1834
 msgid "cannot use subquery in index predicate"
 msgstr "в предикате индекса нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1774
+#: parser/parse_expr.c:1837
 msgid "cannot use subquery in statistics expression"
 msgstr "в выражении статистики нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1777
+#: parser/parse_expr.c:1840
 msgid "cannot use subquery in transform expression"
 msgstr "нельзя использовать подзапрос в выражении преобразования"
 
-#: parser/parse_expr.c:1780
+#: parser/parse_expr.c:1843
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "в качестве параметра EXECUTE нельзя использовать подзапрос"
 
-#: parser/parse_expr.c:1783
+#: parser/parse_expr.c:1846
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "в условии WHEN для триггера нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1786
+#: parser/parse_expr.c:1849
 msgid "cannot use subquery in partition bound"
 msgstr "в выражении границы секции нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1789
+#: parser/parse_expr.c:1852
 msgid "cannot use subquery in partition key expression"
 msgstr "в выражении ключа секционирования нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1792
+#: parser/parse_expr.c:1855
 msgid "cannot use subquery in CALL argument"
 msgstr "в качестве аргумента CALL нельзя использовать подзапрос"
 
-#: parser/parse_expr.c:1795
+#: parser/parse_expr.c:1858
 msgid "cannot use subquery in COPY FROM WHERE condition"
 msgstr "в условии COPY FROM WHERE нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1798
+#: parser/parse_expr.c:1861
 msgid "cannot use subquery in column generation expression"
 msgstr "в выражении генерируемого столбца нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1851 parser/parse_expr.c:3628
+#: parser/parse_expr.c:1914 parser/parse_expr.c:3764
 #, c-format
 msgid "subquery must return only one column"
 msgstr "подзапрос должен вернуть только один столбец"
 
-#: parser/parse_expr.c:1922
+#: parser/parse_expr.c:1985
 #, c-format
 msgid "subquery has too many columns"
 msgstr "в подзапросе слишком много столбцов"
 
-#: parser/parse_expr.c:1927
+#: parser/parse_expr.c:1990
 #, c-format
 msgid "subquery has too few columns"
 msgstr "в подзапросе недостаточно столбцов"
 
-#: parser/parse_expr.c:2023
+#: parser/parse_expr.c:2086
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "тип пустого массива определить нельзя"
 
-#: parser/parse_expr.c:2024
+#: parser/parse_expr.c:2087
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr ""
 "Приведите его к желаемому типу явным образом, например ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:2038
+#: parser/parse_expr.c:2101
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "не удалось определить тип элемента для типа данных %s"
 
-#: parser/parse_expr.c:2121
+#: parser/parse_expr.c:2184
 #, c-format
 msgid "ROW expressions can have at most %d entries"
 msgstr "число элементов в выражениях ROW ограничено %d"
 
-#: parser/parse_expr.c:2326
+#: parser/parse_expr.c:2389
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "вместо значения XML-атрибута без имени должен указываться столбец"
 
-#: parser/parse_expr.c:2327
+#: parser/parse_expr.c:2390
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "вместо значения XML-элемента без имени должен указываться столбец"
 
-#: parser/parse_expr.c:2342
+#: parser/parse_expr.c:2405
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "имя XML-атрибута \"%s\" указано неоднократно"
 
-#: parser/parse_expr.c:2450
+#: parser/parse_expr.c:2513
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "привести результат XMLSERIALIZE к типу %s нельзя"
 
-#: parser/parse_expr.c:2764 parser/parse_expr.c:2960
+#: parser/parse_expr.c:2827 parser/parse_expr.c:3023
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "разное число элементов в строках"
 
-#: parser/parse_expr.c:2774
+#: parser/parse_expr.c:2837
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "строки нулевой длины сравнивать нельзя"
 
-#: parser/parse_expr.c:2799
+#: parser/parse_expr.c:2862
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr ""
 "оператор сравнения строк должен выдавать результат логического типа, а не %s"
 
-#: parser/parse_expr.c:2806
+#: parser/parse_expr.c:2869
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "оператор сравнения строк не должен возвращать множество"
 
-#: parser/parse_expr.c:2865 parser/parse_expr.c:2906
+#: parser/parse_expr.c:2928 parser/parse_expr.c:2969
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "не удалось выбрать интерпретацию оператора сравнения строк %s"
 
-#: parser/parse_expr.c:2867
+#: parser/parse_expr.c:2930
 #, c-format
 msgid ""
 "Row comparison operators must be associated with btree operator families."
 msgstr ""
 "Операторы сравнения строк должны быть связаны с семейством операторов btree."
 
-#: parser/parse_expr.c:2908
+#: parser/parse_expr.c:2971
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Оказалось несколько равноценных кандидатур."
 
-#: parser/parse_expr.c:3001
-#, c-format
-msgid "IS DISTINCT FROM requires = operator to yield boolean"
-msgstr ""
-"для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое "
-"значение"
-
-#: parser/parse_expr.c:3239
+#: parser/parse_expr.c:3306
 #, c-format
 msgid "JSON ENCODING clause is only allowed for bytea input type"
 msgstr ""
 "предложение JSON ENCODING можно добавить только для входного типа bytea"
 
-#: parser/parse_expr.c:3261
+#: parser/parse_expr.c:3370
 #, c-format
 msgid "cannot use non-string types with implicit FORMAT JSON clause"
 msgstr ""
 "с неявным предложением FORMAT JSON можно использовать только строковые типы"
 
-#: parser/parse_expr.c:3262
+#: parser/parse_expr.c:3371
 #, c-format
 msgid "cannot use non-string types with explicit FORMAT JSON clause"
 msgstr ""
 "с явным предложением FORMAT JSON можно использовать только строковые типы"
 
-#: parser/parse_expr.c:3335
+#: parser/parse_expr.c:3460
 #, c-format
 msgid "cannot use JSON format with non-string output types"
 msgstr "формат JSON можно использовать, только если возвращаемый тип строковый"
 
-#: parser/parse_expr.c:3348
+#: parser/parse_expr.c:3473
 #, c-format
 msgid "cannot set JSON encoding for non-bytea output types"
 msgstr ""
 "кодировку JSON можно использовать, только если возвращаемый тип — bytea"
 
-#: parser/parse_expr.c:3353
+#: parser/parse_expr.c:3478
 #, c-format
 msgid "unsupported JSON encoding"
 msgstr "неподдерживаемая кодировка JSON"
 
-#: parser/parse_expr.c:3354
+#: parser/parse_expr.c:3479
 #, c-format
 msgid "Only UTF8 JSON encoding is supported."
 msgstr "Для JSON поддерживается только кодировка UTF-8."
 
-#: parser/parse_expr.c:3391
+#: parser/parse_expr.c:3516
 #, c-format
 msgid "returning SETOF types is not supported in SQL/JSON functions"
 msgstr "функции SQL/JSON не могут возвращать типы SETOF"
 
-#: parser/parse_expr.c:3712 parser/parse_func.c:865
+#: parser/parse_expr.c:3521
+#, c-format
+msgid "returning pseudo-types is not supported in SQL/JSON functions"
+msgstr "функции SQL/JSON не могут возвращать псевдотипы"
+
+#: parser/parse_expr.c:3849 parser/parse_func.c:866
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано"
 
-#: parser/parse_expr.c:3934
+#: parser/parse_expr.c:4072
 #, c-format
 msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types"
 msgstr ""
 "предложение JSON FORMAT ENCODING можно использовать только с типом bytea"
 
-#: parser/parse_expr.c:3954
+#: parser/parse_expr.c:4092
 #, c-format
 msgid "cannot use type %s in IS JSON predicate"
 msgstr "в предикате IS JSON нельзя использовать тип %s"
 
-#: parser/parse_func.c:194
+#: parser/parse_expr.c:4118 parser/parse_expr.c:4238
 #, c-format
-msgid "argument name \"%s\" used more than once"
-msgstr "имя аргумента \"%s\" используется неоднократно"
+msgid "cannot use RETURNING type %s in %s"
+msgstr "использовать в RETURNING тип %s в %s нельзя"
 
-#: parser/parse_func.c:205
+#: parser/parse_expr.c:4167
 #, c-format
-msgid "positional argument cannot follow named argument"
-msgstr "нумерованный аргумент не может следовать за именованным аргументом"
-
-#: parser/parse_func.c:287 parser/parse_func.c:2367
+msgid "cannot use non-string types with WITH UNIQUE KEYS clause"
+msgstr ""
+"с предложением WITH UNIQUE KEYS можно использовать только строковые типы "
+"данных"
+
+#: parser/parse_expr.c:4241
+#, c-format
+msgid "Try returning a string type or bytea."
+msgstr "Попробуйте возвратить строковый тип или bytea."
+
+#: parser/parse_expr.c:4306
+#, c-format
+msgid "cannot specify FORMAT JSON in RETURNING clause of %s()"
+msgstr "FORMAT JSON не может указываться в предложении RETURNING %s()"
+
+#: parser/parse_expr.c:4319
+#, c-format
+msgid ""
+"SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used"
+msgstr ""
+"когда используется WITH WRAPPER, поведение QUOTES в SQL/JSON задать нельзя"
+
+#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#: parser/parse_expr.c:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393
+#: parser/parse_expr.c:4419 parser/parse_expr.c:4445
+#: parser/parse_jsontable.c:94
+#, c-format
+msgid "invalid %s behavior"
+msgstr "неверное поведение %s"
+
+#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY),
+#. second %s is a SQL/JSON function name (e.g. JSON_QUERY)
+#: parser/parse_expr.c:4336 parser/parse_expr.c:4365
+#, c-format
+msgid ""
+"Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is "
+"allowed in %s for %s."
+msgstr ""
+"В %s для %s допускается только ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT или "
+"выражение DEFAULT."
+
+#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY)
+#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401
+#: parser/parse_expr.c:4429 parser/parse_expr.c:4455
+#, c-format
+msgid "invalid %s behavior for column \"%s\""
+msgstr "неверное поведение %s для столбца \"%s\""
+
+#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#: parser/parse_expr.c:4346 parser/parse_expr.c:4375
+#, c-format
+msgid ""
+"Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is "
+"allowed in %s for formatted columns."
+msgstr ""
+"В %s для форматируемых столбцов допускается только ERROR, NULL, EMPTY ARRAY, "
+"EMPTY OBJECT или выражение DEFAULT."
+
+#: parser/parse_expr.c:4394
+#, c-format
+msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s."
+msgstr "В %s для %s допускается только ERROR, TRUE, FALSE или UNKNOWN."
+
+#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#: parser/parse_expr.c:4404
+#, c-format
+msgid ""
+"Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns."
+msgstr ""
+"В %s для столбцов в EXISTS допускается только ERROR, TRUE, FALSE или UNKNOWN."
+
+#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY),
+#. second %s is a SQL/JSON function name (e.g. JSON_QUERY)
+#: parser/parse_expr.c:4422 parser/parse_expr.c:4448
+#, c-format
+msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s."
+msgstr "В %s для %s допускается только ERROR, NULL или выражение DEFAULT."
+
+#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
+#: parser/parse_expr.c:4432 parser/parse_expr.c:4458
+#, c-format
+msgid ""
+"Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns."
+msgstr ""
+"В %s для скалярных столбцов допускается только ERROR, NULL или выражение "
+"DEFAULT."
+
+#: parser/parse_expr.c:4488
+#, c-format
+msgid "JSON path expression must be of type %s, not of type %s"
+msgstr "выражение пути JSON должно быть типа %s, а не типа %s"
+
+#: parser/parse_expr.c:4706
+#, c-format
+msgid ""
+"can only specify a constant, non-aggregate function, or operator expression "
+"for DEFAULT"
+msgstr ""
+"в DEFAULT может задаваться только константа, вызов не агрегатной функции или "
+"выражение с оператором"
+
+#: parser/parse_expr.c:4711
+#, c-format
+msgid "DEFAULT expression must not contain column references"
+msgstr "выражения в DEFAULT не могут содержать ссылки на столбцы"
+
+#: parser/parse_expr.c:4716
+#, c-format
+msgid "DEFAULT expression must not return a set"
+msgstr "выражение в DEFAULT не может возвращать множество"
+
+#: parser/parse_expr.c:4792 parser/parse_expr.c:4801
+#, c-format
+msgid "cannot cast behavior expression of type %s to %s"
+msgstr "привести выражение поведения, имеющее тип %s, к типу %s нельзя"
+
+#: parser/parse_expr.c:4795
+#, c-format
+msgid "You will need to explicitly cast the expression to type %s."
+msgstr "Приведите выражение к типу %s явно."
+
+#: parser/parse_func.c:194
+#, c-format
+msgid "argument name \"%s\" used more than once"
+msgstr "имя аргумента \"%s\" используется неоднократно"
+
+#: parser/parse_func.c:205
+#, c-format
+msgid "positional argument cannot follow named argument"
+msgstr "нумерованный аргумент не может следовать за именованным аргументом"
+
+#: parser/parse_func.c:287 parser/parse_func.c:2368
 #, c-format
 msgid "%s is not a procedure"
 msgstr "\"%s\" — не процедура"
@@ -19675,7 +20312,7 @@ msgstr ""
 "Возможно, неверно расположено предложение ORDER BY - оно должно следовать за "
 "всеми обычными аргументами функции."
 
-#: parser/parse_func.c:622 parser/parse_func.c:2410
+#: parser/parse_func.c:622 parser/parse_func.c:2411
 #, c-format
 msgid "procedure %s does not exist"
 msgstr "процедура %s не существует"
@@ -19703,7 +20340,7 @@ msgstr ""
 msgid "VARIADIC argument must be an array"
 msgstr "параметр VARIADIC должен быть массивом"
 
-#: parser/parse_func.c:791 parser/parse_func.c:855
+#: parser/parse_func.c:791 parser/parse_func.c:856
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "агрегатная функция без параметров должна вызываться так: %s(*)"
@@ -19718,44 +20355,44 @@ msgstr "агрегатные функции не могут возвращать
 msgid "aggregates cannot use named arguments"
 msgstr "у агрегатных функций не может быть именованных аргументов"
 
-#: parser/parse_func.c:845
+#: parser/parse_func.c:846
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "предложение DISTINCT для оконных функций не реализовано"
 
-#: parser/parse_func.c:874
+#: parser/parse_func.c:875
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "предложение FILTER для не агрегатных оконных функций не реализовано"
 
-#: parser/parse_func.c:883
+#: parser/parse_func.c:884
 #, c-format
 msgid "window function calls cannot contain set-returning function calls"
 msgstr ""
 "вызовы оконных функций не могут включать вызовы функций, возвращающих "
 "множества"
 
-#: parser/parse_func.c:891
+#: parser/parse_func.c:892
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "оконные функции не могут возвращать множества"
 
-#: parser/parse_func.c:2166 parser/parse_func.c:2439
+#: parser/parse_func.c:2167 parser/parse_func.c:2440
 #, c-format
 msgid "could not find a function named \"%s\""
 msgstr "не удалось найти функцию с именем \"%s\""
 
-#: parser/parse_func.c:2180 parser/parse_func.c:2457
+#: parser/parse_func.c:2181 parser/parse_func.c:2458
 #, c-format
 msgid "function name \"%s\" is not unique"
 msgstr "имя функции \"%s\" не уникально"
 
-#: parser/parse_func.c:2182 parser/parse_func.c:2460
+#: parser/parse_func.c:2183 parser/parse_func.c:2461
 #, c-format
 msgid "Specify the argument list to select the function unambiguously."
 msgstr "Задайте список аргументов для однозначного выбора функции."
 
-#: parser/parse_func.c:2226
+#: parser/parse_func.c:2227
 #, c-format
 msgid "procedures cannot have more than %d argument"
 msgid_plural "procedures cannot have more than %d arguments"
@@ -19763,207 +20400,209 @@ msgstr[0] "процедуры допускают не более %d аргуме
 msgstr[1] "процедуры допускают не более %d аргументов"
 msgstr[2] "процедуры допускают не более %d аргументов"
 
-#: parser/parse_func.c:2357
+#: parser/parse_func.c:2358
 #, c-format
 msgid "%s is not a function"
 msgstr "%s — не функция"
 
-#: parser/parse_func.c:2377
+#: parser/parse_func.c:2378
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "функция \"%s\" не является агрегатной"
 
-#: parser/parse_func.c:2405
+#: parser/parse_func.c:2406
 #, c-format
 msgid "could not find a procedure named \"%s\""
 msgstr "не удалось найти процедуру с именем \"%s\""
 
-#: parser/parse_func.c:2419
+#: parser/parse_func.c:2420
 #, c-format
 msgid "could not find an aggregate named \"%s\""
 msgstr "не удалось найти агрегат с именем \"%s\""
 
-#: parser/parse_func.c:2424
+#: parser/parse_func.c:2425
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "агрегатная функция %s(*) не существует"
 
-#: parser/parse_func.c:2429
+#: parser/parse_func.c:2430
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "агрегатная функция %s не существует"
 
-#: parser/parse_func.c:2465
+#: parser/parse_func.c:2466
 #, c-format
 msgid "procedure name \"%s\" is not unique"
 msgstr "имя процедуры \"%s\" не уникально"
 
-#: parser/parse_func.c:2468
+#: parser/parse_func.c:2469
 #, c-format
 msgid "Specify the argument list to select the procedure unambiguously."
 msgstr "Задайте список аргументов для однозначного выбора процедуры."
 
-#: parser/parse_func.c:2473
+#: parser/parse_func.c:2474
 #, c-format
 msgid "aggregate name \"%s\" is not unique"
 msgstr "имя агрегатной функции \"%s\" не уникально"
 
-#: parser/parse_func.c:2476
+#: parser/parse_func.c:2477
 #, c-format
 msgid "Specify the argument list to select the aggregate unambiguously."
 msgstr "Задайте список аргументов для однозначного выбора агрегатной функции."
 
-#: parser/parse_func.c:2481
+#: parser/parse_func.c:2482
 #, c-format
 msgid "routine name \"%s\" is not unique"
 msgstr "имя подпрограммы \"%s\" не уникально"
 
-#: parser/parse_func.c:2484
+#: parser/parse_func.c:2485
 #, c-format
 msgid "Specify the argument list to select the routine unambiguously."
 msgstr "Задайте список аргументов для однозначного выбора подпрограммы."
 
-#: parser/parse_func.c:2539
+#: parser/parse_func.c:2540
 msgid "set-returning functions are not allowed in JOIN conditions"
 msgstr "функции, возвращающие множества, нельзя применять в условиях JOIN"
 
-#: parser/parse_func.c:2560
+#: parser/parse_func.c:2561
 msgid "set-returning functions are not allowed in policy expressions"
 msgstr "функции, возвращающие множества, нельзя применять в выражениях политик"
 
-#: parser/parse_func.c:2576
+#: parser/parse_func.c:2577
 msgid "set-returning functions are not allowed in window definitions"
 msgstr "функции, возвращающие множества, нельзя применять в определении окна"
 
-#: parser/parse_func.c:2613
+#: parser/parse_func.c:2615
 msgid "set-returning functions are not allowed in MERGE WHEN conditions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в условиях MERGE WHEN"
 
-#: parser/parse_func.c:2617
+#: parser/parse_func.c:2619
 msgid "set-returning functions are not allowed in check constraints"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в ограничениях-проверках"
 
-#: parser/parse_func.c:2621
+#: parser/parse_func.c:2623
 msgid "set-returning functions are not allowed in DEFAULT expressions"
 msgstr "функции, возвращающие множества, нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_func.c:2624
+#: parser/parse_func.c:2626
 msgid "set-returning functions are not allowed in index expressions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражениях индексов"
 
-#: parser/parse_func.c:2627
+#: parser/parse_func.c:2629
 msgid "set-returning functions are not allowed in index predicates"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в предикатах индексов"
 
-#: parser/parse_func.c:2630
+#: parser/parse_func.c:2632
 msgid "set-returning functions are not allowed in statistics expressions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражениях статистики"
 
-#: parser/parse_func.c:2633
+#: parser/parse_func.c:2635
 msgid "set-returning functions are not allowed in transform expressions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражениях преобразований"
 
-#: parser/parse_func.c:2636
+#: parser/parse_func.c:2638
 msgid "set-returning functions are not allowed in EXECUTE parameters"
 msgstr "функции, возвращающие множества, нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_func.c:2639
+#: parser/parse_func.c:2641
 msgid "set-returning functions are not allowed in trigger WHEN conditions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в условиях WHEN для "
 "триггеров"
 
-#: parser/parse_func.c:2642
+#: parser/parse_func.c:2644
 msgid "set-returning functions are not allowed in partition bound"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражении границы секции"
 
-#: parser/parse_func.c:2645
+#: parser/parse_func.c:2647
 msgid "set-returning functions are not allowed in partition key expressions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражениях ключа "
 "секционирования"
 
-#: parser/parse_func.c:2648
+#: parser/parse_func.c:2650
 msgid "set-returning functions are not allowed in CALL arguments"
 msgstr "функции, возвращающие множества, нельзя применять в аргументах CALL"
 
-#: parser/parse_func.c:2651
+#: parser/parse_func.c:2653
 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в условиях COPY FROM WHERE"
 
-#: parser/parse_func.c:2654
+#: parser/parse_func.c:2656
 msgid ""
 "set-returning functions are not allowed in column generation expressions"
 msgstr ""
 "функции, возвращающие множества, нельзя применять в выражениях генерируемых "
 "столбцов"
 
-#: parser/parse_merge.c:119
+#: parser/parse_jsontable.c:95
+#, c-format
+msgid ""
+"Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause."
+msgstr ""
+"На верхнем уровне предложения ON ERROR допускается только EMPTY [ ARRAY ] "
+"или ERROR."
+
+#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203
+#, c-format
+msgid "duplicate JSON_TABLE column or path name: %s"
+msgstr "повторяющийся столбец или имя пути в JSON_TABLE: %s"
+
+#: parser/parse_merge.c:129
 #, c-format
 msgid "WITH RECURSIVE is not supported for MERGE statement"
 msgstr "предложение WITH RECURSIVE не поддерживается с оператором MERGE"
 
-#: parser/parse_merge.c:166
+#: parser/parse_merge.c:176
 #, c-format
 msgid "unreachable WHEN clause specified after unconditional WHEN clause"
 msgstr ""
 "после безусловного предложения WHEN указано недостижимое предложение WHEN"
 
-#: parser/parse_merge.c:196
-#, c-format
-msgid "MERGE is not supported for relations with rules."
-msgstr "MERGE не поддерживается для отношений с правилами."
-
-#: parser/parse_merge.c:213
+#: parser/parse_merge.c:222
 #, c-format
 msgid "name \"%s\" specified more than once"
 msgstr "имя \"%s\" указано больше одного раза"
 
-#: parser/parse_merge.c:215
+#: parser/parse_merge.c:224
 #, c-format
 msgid "The name is used both as MERGE target table and data source."
 msgstr "Это имя используется и в целевой таблице, и в источнике данных MERGE."
 
-#: parser/parse_node.c:87
+#: parser/parse_node.c:82
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "число элементов в целевом списке ограничено %d"
 
-#: parser/parse_oper.c:123 parser/parse_oper.c:690
+#: parser/parse_oper.c:114 parser/parse_oper.c:678
 #, c-format
 msgid "postfix operators are not supported"
 msgstr "постфиксные операторы не поддерживаются"
 
-#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509
-#: utils/adt/regproc.c:683
-#, c-format
-msgid "operator does not exist: %s"
-msgstr "оператор не существует: %s"
-
-#: parser/parse_oper.c:229
+#: parser/parse_oper.c:217
 #, c-format
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Используйте явный оператор сортировки или измените запрос."
 
-#: parser/parse_oper.c:485
+#: parser/parse_oper.c:473
 #, c-format
 msgid "operator requires run-time type coercion: %s"
 msgstr "оператору требуется приведение типов во время выполнения: %s"
 
-#: parser/parse_oper.c:641
+#: parser/parse_oper.c:629
 #, c-format
 msgid "operator is not unique: %s"
 msgstr "оператор не уникален: %s"
 
-#: parser/parse_oper.c:643
+#: parser/parse_oper.c:631
 #, c-format
 msgid ""
 "Could not choose a best candidate operator. You might need to add explicit "
@@ -19972,7 +20611,7 @@ msgstr ""
 "Не удалось выбрать лучшую кандидатуру оператора. Возможно, вам следует "
 "добавить явные приведения типов."
 
-#: parser/parse_oper.c:652
+#: parser/parse_oper.c:640
 #, c-format
 msgid ""
 "No operator matches the given name and argument type. You might need to add "
@@ -19981,7 +20620,7 @@ msgstr ""
 "Оператор с данным именем и типом аргумента не найден. Возможно, вам следует "
 "добавить явное приведение типа."
 
-#: parser/parse_oper.c:654
+#: parser/parse_oper.c:642
 #, c-format
 msgid ""
 "No operator matches the given name and argument types. You might need to add "
@@ -19990,24 +20629,19 @@ msgstr ""
 "Оператор с данными именем и типами аргументов не найден. Возможно, вам "
 "следует добавить явные приведения типов."
 
-#: parser/parse_oper.c:714 parser/parse_oper.c:828
-#, c-format
-msgid "operator is only a shell: %s"
-msgstr "оператор \"%s\" - лишь оболочка"
-
-#: parser/parse_oper.c:816
+#: parser/parse_oper.c:803
 #, c-format
 msgid "op ANY/ALL (array) requires array on right side"
 msgstr "для операторов ANY/ALL (с массивом) требуется массив справа"
 
-#: parser/parse_oper.c:858
+#: parser/parse_oper.c:844
 #, c-format
 msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr ""
 "для операторов ANY/ALL (с массивом) требуется, чтобы оператор = возвращал "
 "логическое значение"
 
-#: parser/parse_oper.c:863
+#: parser/parse_oper.c:849
 #, c-format
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr ""
@@ -20019,7 +20653,7 @@ msgstr ""
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "для параметра $%d выведены несогласованные типы"
 
-#: parser/parse_param.c:309 tcop/postgres.c:740
+#: parser/parse_param.c:309 tcop/postgres.c:744
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "не удалось определить тип данных параметра $%d"
@@ -20039,13 +20673,13 @@ msgstr "ссылка на таблицу %u неоднозначна"
 msgid "table name \"%s\" specified more than once"
 msgstr "имя таблицы \"%s\" указано больше одного раза"
 
-#: parser/parse_relation.c:494 parser/parse_relation.c:3639
-#: parser/parse_relation.c:3648
+#: parser/parse_relation.c:494 parser/parse_relation.c:3633
+#: parser/parse_relation.c:3642
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "в элементе предложения FROM неверная ссылка на таблицу \"%s\""
 
-#: parser/parse_relation.c:498 parser/parse_relation.c:3650
+#: parser/parse_relation.c:498 parser/parse_relation.c:3644
 #, c-format
 msgid ""
 "There is an entry for table \"%s\", but it cannot be referenced from this "
@@ -20077,7 +20711,7 @@ msgid "cannot use system column \"%s\" in MERGE WHEN condition"
 msgstr "системный столбец \"%s\" нельзя использовать в условии MERGE WHEN"
 
 #: parser/parse_relation.c:1236 parser/parse_relation.c:1691
-#: parser/parse_relation.c:2388
+#: parser/parse_relation.c:2384
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "в таблице \"%s\" содержится столбцов: %d, но указано: %d"
@@ -20099,13 +20733,13 @@ msgstr ""
 "Используйте WITH RECURSIVE или исключите ссылки вперёд, переупорядочив "
 "элементы WITH."
 
-#: parser/parse_relation.c:1834
+#: parser/parse_relation.c:1833
 #, c-format
 msgid ""
 "a column definition list is redundant for a function with OUT parameters"
 msgstr "список определений столбцов не нужен для функции с параметрами OUT"
 
-#: parser/parse_relation.c:1840
+#: parser/parse_relation.c:1839
 #, c-format
 msgid ""
 "a column definition list is redundant for a function returning a named "
@@ -20114,79 +20748,79 @@ msgstr ""
 "список определений столбцов не нужен для функции, возвращающий именованный "
 "составной тип"
 
-#: parser/parse_relation.c:1847
+#: parser/parse_relation.c:1846
 #, c-format
 msgid ""
 "a column definition list is only allowed for functions returning \"record\""
 msgstr ""
 "список определений столбцов может быть только у функций, возвращающих запись"
 
-#: parser/parse_relation.c:1858
+#: parser/parse_relation.c:1857
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr ""
 "у функций, возвращающих запись, должен быть список определений столбцов"
 
-#: parser/parse_relation.c:1895
+#: parser/parse_relation.c:1894
 #, c-format
 msgid "column definition lists can have at most %d entries"
 msgstr "число элементов в списках определения столбцов ограничено %d"
 
-#: parser/parse_relation.c:1955
+#: parser/parse_relation.c:1954
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr ""
 "функция \"%s\", используемая во FROM, возвращает неподдерживаемый тип %s"
 
-#: parser/parse_relation.c:1982 parser/parse_relation.c:2068
+#: parser/parse_relation.c:1981 parser/parse_relation.c:2066
 #, c-format
 msgid "functions in FROM can return at most %d columns"
 msgstr "число столбцов, возвращаемых функциями во FROM, ограничено %d"
 
-#: parser/parse_relation.c:2098
+#: parser/parse_relation.c:2096
 #, c-format
 msgid "%s function has %d columns available but %d columns specified"
 msgstr "функция %s выдаёт столбцов: %d, но указано: %d"
 
-#: parser/parse_relation.c:2180
+#: parser/parse_relation.c:2177
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "в списках VALUES \"%s\" содержится столбцов: %d, но указано: %d"
 
-#: parser/parse_relation.c:2246
+#: parser/parse_relation.c:2242
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "число столбцов в соединениях ограничено %d"
 
-#: parser/parse_relation.c:2271
+#: parser/parse_relation.c:2267
 #, c-format
 msgid ""
 "join expression \"%s\" has %d columns available but %d columns specified"
 msgstr "в выражении соединения \"%s\" имеется столбцов: %d, но указано: %d"
 
-#: parser/parse_relation.c:2361
+#: parser/parse_relation.c:2357
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "в запросе \"%s\" в WITH нет предложения RETURNING"
 
-#: parser/parse_relation.c:3641
+#: parser/parse_relation.c:3635
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Возможно, предполагалась ссылка на псевдоним таблицы \"%s\"."
 
-#: parser/parse_relation.c:3653
+#: parser/parse_relation.c:3647
 #, c-format
 msgid "To reference that table, you must mark this subquery with LATERAL."
 msgstr ""
 "Чтобы обратиться к этой таблице, нужно добавить для данного подзапроса "
 "пометку LATERAL."
 
-#: parser/parse_relation.c:3659
+#: parser/parse_relation.c:3653
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "таблица \"%s\" отсутствует в предложении FROM"
 
-#: parser/parse_relation.c:3699
+#: parser/parse_relation.c:3693
 #, c-format
 msgid ""
 "There are columns named \"%s\", but they are in tables that cannot be "
@@ -20195,12 +20829,12 @@ msgstr ""
 "Имеются столбцы с именем \"%s\", но они относятся к таблицам, к которым "
 "нельзя обратиться из этой части запроса."
 
-#: parser/parse_relation.c:3701
+#: parser/parse_relation.c:3695
 #, c-format
 msgid "Try using a table-qualified name."
 msgstr "Попробуйте использовать имя с указанием таблицы."
 
-#: parser/parse_relation.c:3709
+#: parser/parse_relation.c:3703
 #, c-format
 msgid ""
 "There is a column named \"%s\" in table \"%s\", but it cannot be referenced "
@@ -20209,52 +20843,52 @@ msgstr ""
 "Столбец \"%s\" есть в таблице \"%s\", но на него нельзя ссылаться из этой "
 "части запроса."
 
-#: parser/parse_relation.c:3712
+#: parser/parse_relation.c:3706
 #, c-format
 msgid "To reference that column, you must mark this subquery with LATERAL."
 msgstr ""
 "Чтобы обратиться к этому столбцу, нужно добавить для данного подзапроса "
 "пометку LATERAL."
 
-#: parser/parse_relation.c:3714
+#: parser/parse_relation.c:3708
 #, c-format
 msgid "To reference that column, you must use a table-qualified name."
 msgstr ""
 "Чтобы обратиться к этому столбцу, нужно использовать имя с указанием таблицы."
 
-#: parser/parse_relation.c:3734
+#: parser/parse_relation.c:3728
 #, c-format
 msgid "Perhaps you meant to reference the column \"%s.%s\"."
 msgstr "Возможно, предполагалась ссылка на столбец \"%s.%s\"."
 
-#: parser/parse_relation.c:3748
+#: parser/parse_relation.c:3742
 #, c-format
 msgid ""
 "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
 msgstr ""
 "Возможно, предполагалась ссылка на столбец \"%s.%s\" или столбец \"%s.%s\"."
 
-#: parser/parse_target.c:481 parser/parse_target.c:796
+#: parser/parse_target.c:480 parser/parse_target.c:795
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "присвоить значение системному столбцу \"%s\" нельзя"
 
-#: parser/parse_target.c:509
+#: parser/parse_target.c:508
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "элементу массива нельзя присвоить значение по умолчанию"
 
-#: parser/parse_target.c:514
+#: parser/parse_target.c:513
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "вложенному полю нельзя присвоить значение по умолчанию"
 
-#: parser/parse_target.c:588
+#: parser/parse_target.c:587
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "столбец \"%s\" имеет тип %s, а выражение - %s"
 
-#: parser/parse_target.c:780
+#: parser/parse_target.c:779
 #, c-format
 msgid ""
 "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a "
@@ -20263,7 +20897,7 @@ msgstr ""
 "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как тип %s не "
 "является составным"
 
-#: parser/parse_target.c:789
+#: parser/parse_target.c:788
 #, c-format
 msgid ""
 "cannot assign to field \"%s\" of column \"%s\" because there is no such "
@@ -20272,7 +20906,7 @@ msgstr ""
 "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как в типе данных "
 "%s нет такого столбца"
 
-#: parser/parse_target.c:878
+#: parser/parse_target.c:877
 #, c-format
 msgid ""
 "subscripted assignment to \"%s\" requires type %s but expression is of type "
@@ -20281,12 +20915,12 @@ msgstr ""
 "для присваивания \"%s\" значения по индексу требуется тип %s, однако "
 "выражение имеет тип %s"
 
-#: parser/parse_target.c:888
+#: parser/parse_target.c:887
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "вложенное поле \"%s\" имеет тип %s, а выражение - %s"
 
-#: parser/parse_target.c:1328
+#: parser/parse_target.c:1327
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * должен ссылаться на таблицы"
@@ -20306,8 +20940,8 @@ msgstr "неправильное указание %%TYPE (слишком мно
 msgid "type reference %s converted to %s"
 msgstr "ссылка на тип %s преобразована в тип %s"
 
-#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:395
-#: utils/cache/typcache.c:450
+#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397
+#: utils/cache/typcache.c:452
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "тип \"%s\" является пустышкой"
@@ -20327,74 +20961,74 @@ msgstr "модификатором типа должна быть простая
 msgid "invalid type name \"%s\""
 msgstr "неверное имя типа \"%s\""
 
-#: parser/parse_utilcmd.c:264
+#: parser/parse_utilcmd.c:263
 #, c-format
 msgid "cannot create partitioned table as inheritance child"
 msgstr "создать секционированную таблицу в виде потомка нельзя"
 
-#: parser/parse_utilcmd.c:589
+#: parser/parse_utilcmd.c:583
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "массивы с типом serial не реализованы"
 
-#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680
-#: parser/parse_utilcmd.c:739
+#: parser/parse_utilcmd.c:662 parser/parse_utilcmd.c:674
+#: parser/parse_utilcmd.c:733
 #, c-format
 msgid ""
 "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "конфликт NULL/NOT NULL в объявлении столбца \"%s\" таблицы \"%s\""
 
-#: parser/parse_utilcmd.c:692
+#: parser/parse_utilcmd.c:686
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr ""
 "для столбца \"%s\" таблицы \"%s\" указано несколько значений по умолчанию"
 
-#: parser/parse_utilcmd.c:709
+#: parser/parse_utilcmd.c:703
 #, c-format
 msgid "identity columns are not supported on typed tables"
 msgstr "столбцы идентификации не поддерживаются с типизированными таблицами"
 
-#: parser/parse_utilcmd.c:713
+#: parser/parse_utilcmd.c:707
 #, c-format
 msgid "identity columns are not supported on partitions"
 msgstr "столбцы идентификации не поддерживаются с секциями"
 
-#: parser/parse_utilcmd.c:722
+#: parser/parse_utilcmd.c:716
 #, c-format
 msgid "multiple identity specifications for column \"%s\" of table \"%s\""
 msgstr ""
 "для столбца \"%s\" таблицы \"%s\" свойство identity задано неоднократно"
 
-#: parser/parse_utilcmd.c:752
+#: parser/parse_utilcmd.c:746
 #, c-format
 msgid "generated columns are not supported on typed tables"
 msgstr "генерируемые столбцы не поддерживаются с типизированными таблицами"
 
-#: parser/parse_utilcmd.c:756
+#: parser/parse_utilcmd.c:750
 #, c-format
 msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
 msgstr ""
 "для столбца \"%s\" таблицы \"%s\" указано несколько генерирующих выражений"
 
-#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:889
+#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:883
 #, c-format
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "ограничения первичного ключа для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:783 parser/parse_utilcmd.c:899
+#: parser/parse_utilcmd.c:777 parser/parse_utilcmd.c:893
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "ограничения уникальности для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:828
+#: parser/parse_utilcmd.c:822
 #, c-format
 msgid "both default and identity specified for column \"%s\" of table \"%s\""
 msgstr ""
 "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и свойство "
 "identity"
 
-#: parser/parse_utilcmd.c:836
+#: parser/parse_utilcmd.c:830
 #, c-format
 msgid ""
 "both default and generation expression specified for column \"%s\" of table "
@@ -20403,7 +21037,7 @@ msgstr ""
 "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и "
 "генерирующее выражение"
 
-#: parser/parse_utilcmd.c:844
+#: parser/parse_utilcmd.c:838
 #, c-format
 msgid ""
 "both identity and generation expression specified for column \"%s\" of table "
@@ -20412,93 +21046,88 @@ msgstr ""
 "для столбца \"%s\" таблицы \"%s\" задано и генерирующее выражение, и "
 "свойство identity"
 
-#: parser/parse_utilcmd.c:909
+#: parser/parse_utilcmd.c:903
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "ограничения-исключения для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:915
-#, c-format
-msgid "exclusion constraints are not supported on partitioned tables"
-msgstr "ограничения-исключения для секционированных таблиц не поддерживаются"
-
-#: parser/parse_utilcmd.c:980
+#: parser/parse_utilcmd.c:968
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE при создании сторонних таблиц не поддерживается"
 
-#: parser/parse_utilcmd.c:993
+#: parser/parse_utilcmd.c:981
 #, c-format
 msgid "relation \"%s\" is invalid in LIKE clause"
 msgstr "отношение \"%s\" не подходит для предложения LIKE"
 
-#: parser/parse_utilcmd.c:1750 parser/parse_utilcmd.c:1858
+#: parser/parse_utilcmd.c:1708 parser/parse_utilcmd.c:1816
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы."
 
-#: parser/parse_utilcmd.c:2245
+#: parser/parse_utilcmd.c:2214
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "в CREATE TABLE нельзя использовать существующий индекс"
 
-#: parser/parse_utilcmd.c:2265
+#: parser/parse_utilcmd.c:2234
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "индекс \"%s\" уже связан с ограничением"
 
-#: parser/parse_utilcmd.c:2286
+#: parser/parse_utilcmd.c:2255
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "\"%s\" не является уникальным индексом"
 
-#: parser/parse_utilcmd.c:2287 parser/parse_utilcmd.c:2294
-#: parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2378
+#: parser/parse_utilcmd.c:2256 parser/parse_utilcmd.c:2263
+#: parser/parse_utilcmd.c:2270 parser/parse_utilcmd.c:2347
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr ""
 "Создать первичный ключ или ограничение уникальности для такого индекса "
 "нельзя."
 
-#: parser/parse_utilcmd.c:2293
+#: parser/parse_utilcmd.c:2262
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "индекс \"%s\" содержит выражения"
 
-#: parser/parse_utilcmd.c:2300
+#: parser/parse_utilcmd.c:2269
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "\"%s\" - частичный индекс"
 
-#: parser/parse_utilcmd.c:2312
+#: parser/parse_utilcmd.c:2281
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "\"%s\" - откладываемый индекс"
 
-#: parser/parse_utilcmd.c:2313
+#: parser/parse_utilcmd.c:2282
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr ""
 "Создать не откладываемое ограничение на базе откладываемого индекса нельзя."
 
-#: parser/parse_utilcmd.c:2377
+#: parser/parse_utilcmd.c:2346
 #, c-format
 msgid "index \"%s\" column number %d does not have default sorting behavior"
 msgstr ""
 "в индексе \"%s\" для столбца номер %d не определено поведение сортировки по "
 "умолчанию"
 
-#: parser/parse_utilcmd.c:2534
+#: parser/parse_utilcmd.c:2503
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "столбец \"%s\" фигурирует в первичном ключе дважды"
 
-#: parser/parse_utilcmd.c:2540
+#: parser/parse_utilcmd.c:2509
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды"
 
-#: parser/parse_utilcmd.c:2887
+#: parser/parse_utilcmd.c:2843
 #, c-format
 msgid ""
 "index expressions and predicates can refer only to the table being indexed"
@@ -20506,22 +21135,22 @@ msgstr ""
 "индексные выражения и предикаты могут ссылаться только на индексируемую "
 "таблицу"
 
-#: parser/parse_utilcmd.c:2959
+#: parser/parse_utilcmd.c:2915
 #, c-format
 msgid "statistics expressions can refer only to the table being referenced"
 msgstr "выражения статистики могут ссылаться только на целевую таблицу"
 
-#: parser/parse_utilcmd.c:3002
+#: parser/parse_utilcmd.c:2958
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "правила для материализованных представлений не поддерживаются"
 
-#: parser/parse_utilcmd.c:3062
+#: parser/parse_utilcmd.c:3018
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения"
 
-#: parser/parse_utilcmd.c:3134
+#: parser/parse_utilcmd.c:3090
 #, c-format
 msgid ""
 "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE "
@@ -20530,158 +21159,158 @@ msgstr ""
 "правила с условиями WHERE могут содержать только действия SELECT, INSERT, "
 "UPDATE или DELETE"
 
-#: parser/parse_utilcmd.c:3152 parser/parse_utilcmd.c:3253
-#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087
+#: parser/parse_utilcmd.c:3108 parser/parse_utilcmd.c:3209
+#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы"
 
-#: parser/parse_utilcmd.c:3170
+#: parser/parse_utilcmd.c:3126
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "в правиле ON SELECT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:3174
+#: parser/parse_utilcmd.c:3130
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "в правиле ON SELECT нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:3183
+#: parser/parse_utilcmd.c:3139
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "в правиле ON INSERT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:3189
+#: parser/parse_utilcmd.c:3145
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "в правиле ON DELETE нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:3217
+#: parser/parse_utilcmd.c:3173
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на OLD"
 
-#: parser/parse_utilcmd.c:3224
+#: parser/parse_utilcmd.c:3180
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на NEW"
 
-#: parser/parse_utilcmd.c:3676
+#: parser/parse_utilcmd.c:3636
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "предложение DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:3681 parser/parse_utilcmd.c:3696
+#: parser/parse_utilcmd.c:3641 parser/parse_utilcmd.c:3656
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз"
 
-#: parser/parse_utilcmd.c:3691
+#: parser/parse_utilcmd.c:3651
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "предложение NOT DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:3704 parser/parse_utilcmd.c:3730 gram.y:5990
+#: parser/parse_utilcmd.c:3664 parser/parse_utilcmd.c:3690 gram.y:6107
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr ""
 "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как "
 "DEFERRABLE"
 
-#: parser/parse_utilcmd.c:3712
+#: parser/parse_utilcmd.c:3672
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "предложение INITIALLY DEFERRED расположено неправильно"
 
-#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743
+#: parser/parse_utilcmd.c:3677 parser/parse_utilcmd.c:3703
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз"
 
-#: parser/parse_utilcmd.c:3738
+#: parser/parse_utilcmd.c:3698
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "предложение INITIALLY IMMEDIATE расположено неправильно"
 
-#: parser/parse_utilcmd.c:3931
+#: parser/parse_utilcmd.c:3891
 #, c-format
 msgid ""
 "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "в CREATE указана схема (%s), отличная от создаваемой (%s)"
 
-#: parser/parse_utilcmd.c:3966
+#: parser/parse_utilcmd.c:3926
 #, c-format
 msgid "\"%s\" is not a partitioned table"
 msgstr "\"%s\" — не секционированная таблица"
 
-#: parser/parse_utilcmd.c:3973
+#: parser/parse_utilcmd.c:3933
 #, c-format
 msgid "table \"%s\" is not partitioned"
 msgstr "таблица \"%s\" не является секционированной"
 
-#: parser/parse_utilcmd.c:3980
+#: parser/parse_utilcmd.c:3940
 #, c-format
 msgid "index \"%s\" is not partitioned"
 msgstr "индекс \"%s\" не секционирован"
 
-#: parser/parse_utilcmd.c:4020
+#: parser/parse_utilcmd.c:3980
 #, c-format
 msgid "a hash-partitioned table may not have a default partition"
 msgstr "у секционированной по хешу таблицы не может быть секции по умолчанию"
 
-#: parser/parse_utilcmd.c:4037
+#: parser/parse_utilcmd.c:3997
 #, c-format
 msgid "invalid bound specification for a hash partition"
 msgstr "неправильное указание ограничения для хеш-секции"
 
-#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4803
+#: parser/parse_utilcmd.c:4003 partitioning/partbounds.c:4802
 #, c-format
 msgid "modulus for hash partition must be an integer value greater than zero"
 msgstr "модуль для хеш-секции должен быть положительным целым"
 
-#: parser/parse_utilcmd.c:4050 partitioning/partbounds.c:4811
+#: parser/parse_utilcmd.c:4010 partitioning/partbounds.c:4810
 #, c-format
 msgid "remainder for hash partition must be less than modulus"
 msgstr "остаток для хеш-секции должен быть меньше модуля"
 
-#: parser/parse_utilcmd.c:4063
+#: parser/parse_utilcmd.c:4023
 #, c-format
 msgid "invalid bound specification for a list partition"
 msgstr "неправильное указание ограничения для секции по списку"
 
-#: parser/parse_utilcmd.c:4116
+#: parser/parse_utilcmd.c:4076
 #, c-format
 msgid "invalid bound specification for a range partition"
 msgstr "неправильное указание ограничения для секции по диапазону"
 
-#: parser/parse_utilcmd.c:4122
+#: parser/parse_utilcmd.c:4082
 #, c-format
 msgid "FROM must specify exactly one value per partitioning column"
 msgstr ""
 "во FROM должно указываться ровно одно значение для секционирующего столбца"
 
-#: parser/parse_utilcmd.c:4126
+#: parser/parse_utilcmd.c:4086
 #, c-format
 msgid "TO must specify exactly one value per partitioning column"
 msgstr ""
 "в TO должно указываться ровно одно значение для секционирующего столбца"
 
-#: parser/parse_utilcmd.c:4240
+#: parser/parse_utilcmd.c:4200
 #, c-format
 msgid "cannot specify NULL in range bound"
 msgstr "указать NULL в диапазонном ограничении нельзя"
 
-#: parser/parse_utilcmd.c:4289
+#: parser/parse_utilcmd.c:4249
 #, c-format
 msgid "every bound following MAXVALUE must also be MAXVALUE"
 msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE"
 
-#: parser/parse_utilcmd.c:4296
+#: parser/parse_utilcmd.c:4256
 #, c-format
 msgid "every bound following MINVALUE must also be MINVALUE"
 msgstr "за границей MINVALUE могут следовать только границы MINVALUE"
 
-#: parser/parse_utilcmd.c:4339
+#: parser/parse_utilcmd.c:4299
 #, c-format
 msgid "specified value cannot be cast to type %s for column \"%s\""
 msgstr "указанное значение нельзя привести к типу %s столбца \"%s\""
@@ -20694,12 +21323,12 @@ msgstr "За UESCAPE должна следовать простая строко
 msgid "invalid Unicode escape character"
 msgstr "неверный символ спецкода Unicode"
 
-#: parser/parser.c:347 scan.l:1390
+#: parser/parser.c:347 scan.l:1391
 #, c-format
 msgid "invalid Unicode escape value"
 msgstr "неверное значение спецкода Unicode"
 
-#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701
+#: parser/parser.c:494 utils/adt/varlena.c:6640 scan.l:702
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "неверный спецкод Unicode"
@@ -20709,8 +21338,8 @@ msgstr "неверный спецкод Unicode"
 msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
 msgstr "Спецкоды Unicode должны иметь вид \\XXXX или \\+XXXXXX."
 
-#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678
-#: scan.l:694
+#: parser/parser.c:523 utils/adt/varlena.c:6665 scan.l:663 scan.l:679
+#: scan.l:695
 #, c-format
 msgid "invalid Unicode surrogate pair"
 msgstr "неверная суррогатная пара Unicode"
@@ -20720,20 +21349,20 @@ msgstr "неверная суррогатная пара Unicode"
 msgid "identifier \"%s\" will be truncated to \"%.*s\""
 msgstr "идентификатор \"%s\" будет усечён до \"%.*s\""
 
-#: partitioning/partbounds.c:2921
+#: partitioning/partbounds.c:2920
 #, c-format
 msgid "partition \"%s\" conflicts with existing default partition \"%s\""
 msgstr "секция \"%s\" конфликтует с существующей секцией по умолчанию \"%s\""
 
-#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992
-#: partitioning/partbounds.c:3014
+#: partitioning/partbounds.c:2972 partitioning/partbounds.c:2991
+#: partitioning/partbounds.c:3013
 #, c-format
 msgid ""
 "every hash partition modulus must be a factor of the next larger modulus"
 msgstr ""
 "модуль каждой хеш-секции должен быть делителем модулей, превышающих его"
 
-#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015
+#: partitioning/partbounds.c:2973 partitioning/partbounds.c:3014
 #, c-format
 msgid ""
 "The new modulus %d is not a factor of %d, the modulus of existing partition "
@@ -20741,29 +21370,29 @@ msgid ""
 msgstr ""
 "Новый модуль %d не является делителем %d, модуля существующей секции \"%s\"."
 
-#: partitioning/partbounds.c:2993
+#: partitioning/partbounds.c:2992
 #, c-format
 msgid ""
 "The new modulus %d is not divisible by %d, the modulus of existing partition "
 "\"%s\"."
 msgstr "Новый модуль %d не делится на %d, модуль существующей секции \"%s\"."
 
-#: partitioning/partbounds.c:3128
+#: partitioning/partbounds.c:3127
 #, c-format
 msgid "empty range bound specified for partition \"%s\""
 msgstr "для секции \"%s\" заданы границы, образующие пустой диапазон"
 
-#: partitioning/partbounds.c:3130
+#: partitioning/partbounds.c:3129
 #, c-format
 msgid "Specified lower bound %s is greater than or equal to upper bound %s."
 msgstr "Указанная нижняя граница %s больше или равна верхней границе %s."
 
-#: partitioning/partbounds.c:3238
+#: partitioning/partbounds.c:3237
 #, c-format
 msgid "partition \"%s\" would overlap partition \"%s\""
 msgstr "секция \"%s\" пересекается с секцией \"%s\""
 
-#: partitioning/partbounds.c:3355
+#: partitioning/partbounds.c:3354
 #, c-format
 msgid ""
 "skipped scanning foreign table \"%s\" which is a partition of default "
@@ -20772,19 +21401,19 @@ msgstr ""
 "пропущено сканирование сторонней таблицы \"%s\", являющейся секцией секции "
 "по умолчанию \"%s\""
 
-#: partitioning/partbounds.c:4807
+#: partitioning/partbounds.c:4806
 #, c-format
 msgid ""
 "remainder for hash partition must be an integer value greater than or equal "
 "to zero"
 msgstr "значение остатка для хеш-секции должно быть неотрицательным целым"
 
-#: partitioning/partbounds.c:4831
+#: partitioning/partbounds.c:4830
 #, c-format
 msgid "\"%s\" is not a hash partitioned table"
 msgstr "\"%s\" не является таблицей, секционированной по хешу"
 
-#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959
+#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958
 #, c-format
 msgid ""
 "number of partitioning columns (%d) does not match number of partition keys "
@@ -20793,7 +21422,7 @@ msgstr ""
 "число секционирующих столбцов (%d) не равно числу представленных ключей "
 "секционирования (%d)"
 
-#: partitioning/partbounds.c:4864
+#: partitioning/partbounds.c:4863
 #, c-format
 msgid ""
 "column %d of the partition key has type %s, but supplied value is of type %s"
@@ -20801,7 +21430,7 @@ msgstr ""
 "столбец %d ключа секционирования имеет тип %s, но для него передано значение "
 "типа %s"
 
-#: partitioning/partbounds.c:4896
+#: partitioning/partbounds.c:4895
 #, c-format
 msgid ""
 "column %d of the partition key has type \"%s\", but supplied value is of "
@@ -20810,23 +21439,23 @@ msgstr ""
 "столбец %d ключа секционирования имеет тип \"%s\", но для него передано "
 "значение типа \"%s\""
 
-#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209
-#: port/sysv_sema.c:323 port/sysv_shmem.c:708
+#: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209
+#: port/sysv_sema.c:323 port/sysv_shmem.c:717
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "не удалось получить информацию о каталоге данных \"%s\": %m"
 
-#: port/pg_shmem.c:223 port/sysv_shmem.c:223
+#: port/pg_shmem.c:224 port/sysv_shmem.c:224
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "не удалось создать сегмент разделяемой памяти: %m"
 
-#: port/pg_shmem.c:224 port/sysv_shmem.c:224
+#: port/pg_shmem.c:225 port/sysv_shmem.c:225
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
 msgstr "Ошибка в системном вызове shmget(ключ=%lu, размер=%zu, 0%o)."
 
-#: port/pg_shmem.c:228 port/sysv_shmem.c:228
+#: port/pg_shmem.c:229 port/sysv_shmem.c:229
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -20840,7 +21469,7 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:235 port/sysv_shmem.c:235
+#: port/pg_shmem.c:236 port/sysv_shmem.c:236
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -20855,7 +21484,7 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:241 port/sysv_shmem.c:241
+#: port/pg_shmem.c:242 port/sysv_shmem.c:242
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs "
@@ -20872,49 +21501,51 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641
+#: port/pg_shmem.c:584 port/sysv_shmem.c:584 port/win32_shmem.c:646
 #, c-format
-msgid "huge_page_size must be 0 on this platform."
-msgstr "Значение huge_page_size должно равняться 0 на этой платформе."
+msgid "\"huge_page_size\" must be 0 on this platform."
+msgstr "Значение \"huge_page_size\" должно равняться 0 на этой платформе."
 
-#: port/pg_shmem.c:646 port/sysv_shmem.c:646
+#: port/pg_shmem.c:655 port/sysv_shmem.c:655
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "не удалось получить анонимную разделяемую память: %m"
 
-#: port/pg_shmem.c:648 port/sysv_shmem.c:648
+#: port/pg_shmem.c:657 port/sysv_shmem.c:657
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
 "segment exceeded available memory, swap space, or huge pages. To reduce the "
 "request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, "
-"perhaps by reducing shared_buffers or max_connections."
+"perhaps by reducing \"shared_buffers\" or \"max_connections\"."
 msgstr ""
 "Эта ошибка обычно возникает, когда PostgreSQL запрашивает сегмент "
 "разделяемой памяти, превышая объём доступной физической либо виртуальной "
 "памяти или огромных страниц. Для уменьшения запроса (текущий размер: %zu Б) "
 "можно снизить использование разделяемой памяти, возможно, уменьшив "
-"shared_buffers или max_connections."
+"\"shared_buffers\" или \"max_connections\"."
 
-#: port/pg_shmem.c:716 port/sysv_shmem.c:716
+#: port/pg_shmem.c:725 port/sysv_shmem.c:725
 #, c-format
 msgid "huge pages not supported on this platform"
 msgstr "огромные страницы на этой платформе не поддерживаются"
 
-#: port/pg_shmem.c:723 port/sysv_shmem.c:723
+#: port/pg_shmem.c:732 port/sysv_shmem.c:732
 #, c-format
-msgid "huge pages not supported with the current shared_memory_type setting"
+msgid ""
+"huge pages not supported with the current \"shared_memory_type\" setting"
 msgstr ""
-"огромные страницы не поддерживаются с текущим значением shared_memory_type"
+"огромные страницы не поддерживаются с текущим значением "
+"\"shared_memory_type\""
 
-#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1358
+#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1347
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr ""
 "ранее выделенный блок разделяемой памяти (ключ %lu, ID %lu) по-прежнему "
 "используется"
 
-#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1360
+#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1349
 #, c-format
 msgid ""
 "Terminate any old server processes associated with data directory \"%s\"."
@@ -20940,14 +21571,15 @@ msgid ""
 "(SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be "
 "exceeded.  You need to raise the respective kernel parameter.  "
 "Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its "
-"max_connections parameter.\n"
+"\"max_connections\" parameter.\n"
 "The PostgreSQL documentation contains more information about configuring "
 "your system for PostgreSQL."
 msgstr ""
 "Эта ошибка НЕ означает, что на диске нет места. Вероятнее всего, превышен "
 "предел числа установленных семафоров (SEMMNI), либо общего числа семафоров "
 "(SEMMNS) в системе. Увеличьте соответствующий параметр ядра или уменьшите "
-"потребность PostgreSQL в семафорах, уменьшив его параметр max_connections.\n"
+"потребность PostgreSQL в семафорах, уменьшив его параметр "
+"\"max_connections\".\n"
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
@@ -21093,53 +21725,43 @@ msgstr "Ошибка в системном вызове DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Ошибка в системном вызове MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:418
-#, c-format
-msgid "could not fork autovacuum launcher process: %m"
-msgstr "породить процесс запуска автоочистки не удалось: %m"
-
-#: postmaster/autovacuum.c:765
+#: postmaster/autovacuum.c:686
 #, c-format
 msgid "autovacuum worker took too long to start; canceled"
 msgstr "процесс автоочистки запускался слишком долго; его запуск отменён"
 
-#: postmaster/autovacuum.c:1490
-#, c-format
-msgid "could not fork autovacuum worker process: %m"
-msgstr "не удалось породить рабочий процесс автоочистки: %m"
-
 # skip-rule: capital-letter-first
-#: postmaster/autovacuum.c:2353
+#: postmaster/autovacuum.c:2199
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
 msgstr "автоочистка: удаление устаревшей врем. таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2589
+#: postmaster/autovacuum.c:2435
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "автоматическая очистка таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2592
+#: postmaster/autovacuum.c:2438
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "автоматический анализ таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2786
+#: postmaster/autovacuum.c:2632
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "обработка рабочей записи для отношения \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:3400
+#: postmaster/autovacuum.c:3250
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "автоочистка не запущена из-за неправильной конфигурации"
 
-#: postmaster/autovacuum.c:3401
+#: postmaster/autovacuum.c:3251
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Включите параметр \"track_counts\"."
 
-#: postmaster/bgworker.c:259
+#: postmaster/bgworker.c:260
 #, c-format
 msgid ""
 "inconsistent background worker state (max_worker_processes=%d, "
@@ -21148,7 +21770,7 @@ msgstr ""
 "несогласованное состояние фонового рабочего процесса "
 "(max_worker_processes=%d, total_slots=%d)"
 
-#: postmaster/bgworker.c:669
+#: postmaster/bgworker.c:651
 #, c-format
 msgid ""
 "background worker \"%s\": background workers without shared memory access "
@@ -21157,7 +21779,7 @@ msgstr ""
 "фоновый процесс \"%s\": фоновые процессы, не обращающиеся к общей памяти, не "
 "поддерживаются"
 
-#: postmaster/bgworker.c:680
+#: postmaster/bgworker.c:662
 #, c-format
 msgid ""
 "background worker \"%s\": cannot request database access if starting at "
@@ -21166,12 +21788,12 @@ msgstr ""
 "фоновый процесс \"%s\" не может получить доступ к БД, если он запущен при "
 "старте главного процесса"
 
-#: postmaster/bgworker.c:694
+#: postmaster/bgworker.c:676
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "фоновый процесс \"%s\": неправильный интервал перезапуска"
 
-#: postmaster/bgworker.c:709
+#: postmaster/bgworker.c:691
 #, c-format
 msgid ""
 "background worker \"%s\": parallel workers may not be configured for restart"
@@ -21179,19 +21801,20 @@ msgstr ""
 "фоновый процесс \"%s\": параллельные исполнители не могут быть настроены для "
 "перезапуска"
 
-#: postmaster/bgworker.c:733 tcop/postgres.c:3255
+#: postmaster/bgworker.c:715 tcop/postgres.c:3288
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "завершение фонового процесса \"%s\" по команде администратора"
 
-#: postmaster/bgworker.c:890
+#: postmaster/bgworker.c:888
 #, c-format
 msgid ""
-"background worker \"%s\": must be registered in shared_preload_libraries"
+"background worker \"%s\": must be registered in \"shared_preload_libraries\""
 msgstr ""
-"фоновой процесс \"%s\" должен быть зарегистрирован в shared_preload_libraries"
+"фоновой процесс \"%s\" должен быть зарегистрирован в "
+"\"shared_preload_libraries\""
 
-#: postmaster/bgworker.c:902
+#: postmaster/bgworker.c:911
 #, c-format
 msgid ""
 "background worker \"%s\": only dynamic background workers can request "
@@ -21200,12 +21823,12 @@ msgstr ""
 "фоновый процесс \"%s\": только динамические фоновые процессы могут "
 "запрашивать уведомление"
 
-#: postmaster/bgworker.c:917
+#: postmaster/bgworker.c:926
 #, c-format
 msgid "too many background workers"
 msgstr "слишком много фоновых процессов"
 
-#: postmaster/bgworker.c:918
+#: postmaster/bgworker.c:927
 #, c-format
 msgid "Up to %d background worker can be registered with the current settings."
 msgid_plural ""
@@ -21217,13 +21840,12 @@ msgstr[1] ""
 msgstr[2] ""
 "Максимально возможное число фоновых процессов при текущих параметрах: %d."
 
-#: postmaster/bgworker.c:922
+#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445
 #, c-format
-msgid ""
-"Consider increasing the configuration parameter \"max_worker_processes\"."
-msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"."
+msgid "Consider increasing the configuration parameter \"%s\"."
+msgstr "Возможно, стоит увеличить параметр \"%s\"."
 
-#: postmaster/checkpointer.c:431
+#: postmaster/checkpointer.c:441
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
@@ -21231,32 +21853,128 @@ msgstr[0] "контрольные точки происходят слишком
 msgstr[1] "контрольные точки происходят слишком часто (через %d сек.)"
 msgstr[2] "контрольные точки происходят слишком часто (через %d сек.)"
 
-#: postmaster/checkpointer.c:435
-#, c-format
-msgid "Consider increasing the configuration parameter \"max_wal_size\"."
-msgstr "Возможно, стоит увеличить параметр \"max_wal_size\"."
-
-#: postmaster/checkpointer.c:1059
+#: postmaster/checkpointer.c:1067
 #, c-format
 msgid "checkpoint request failed"
 msgstr "сбой при запросе контрольной точки"
 
-#: postmaster/checkpointer.c:1060
+#: postmaster/checkpointer.c:1068
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Смотрите подробности в протоколе сервера."
 
-#: postmaster/pgarch.c:416
+#: postmaster/launch_backend.c:381
+#, c-format
+msgid "could not execute server process \"%s\": %m"
+msgstr "запустить серверный процесс \"%s\" не удалось: %m"
+
+#: postmaster/launch_backend.c:434
+#, c-format
+msgid "could not create backend parameter file mapping: error code %lu"
+msgstr ""
+"создать отображение файла серверных параметров не удалось (код ошибки: %lu)"
+
+#: postmaster/launch_backend.c:442
+#, c-format
+msgid "could not map backend parameter memory: error code %lu"
+msgstr ""
+"отобразить файл серверных параметров в память не удалось (код ошибки: %lu)"
+
+#: postmaster/launch_backend.c:459
+#, c-format
+msgid "subprocess command line too long"
+msgstr "слишком длинная командная строка подпроцесса"
+
+#: postmaster/launch_backend.c:477
+#, c-format
+msgid "CreateProcess() call failed: %m (error code %lu)"
+msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)"
+
+#: postmaster/launch_backend.c:504
+#, c-format
+msgid "could not unmap view of backend parameter file: error code %lu"
+msgstr ""
+"отключить отображение файла серверных параметров не удалось (код ошибки: %lu)"
+
+#: postmaster/launch_backend.c:508
+#, c-format
+msgid "could not close handle to backend parameter file: error code %lu"
+msgstr ""
+"закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)"
+
+#: postmaster/launch_backend.c:530
+#, c-format
+msgid "giving up after too many tries to reserve shared memory"
+msgstr ""
+"число повторных попыток резервирования разделяемой памяти достигло предела"
+
+#: postmaster/launch_backend.c:531
+#, c-format
+msgid "This might be caused by ASLR or antivirus software."
+msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR."
+
+#: postmaster/launch_backend.c:834
+#, c-format
+msgid "could not duplicate socket %d for use in backend: error code %d"
+msgstr ""
+"продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)"
+
+#: postmaster/launch_backend.c:866
+#, c-format
+msgid "could not create inherited socket: error code %d\n"
+msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n"
+
+#: postmaster/launch_backend.c:895
+#, c-format
+msgid "could not open backend variables file \"%s\": %m\n"
+msgstr "открыть файл серверных переменных \"%s\" не удалось: %m\n"
+
+#: postmaster/launch_backend.c:901
+#, c-format
+msgid "could not read from backend variables file \"%s\": %m\n"
+msgstr "прочитать файл серверных переменных \"%s\" не удалось: %m\n"
+
+#: postmaster/launch_backend.c:912
+#, c-format
+msgid "could not read startup data from backend variables file \"%s\": %m\n"
+msgstr ""
+"прочитать стартовые данные из файла серверных переменных \"%s\" не удалось: "
+"%m\n"
+
+#: postmaster/launch_backend.c:924
+#, c-format
+msgid "could not remove file \"%s\": %m\n"
+msgstr "не удалось стереть файл \"%s\": %m\n"
+
+#: postmaster/launch_backend.c:940
+#, c-format
+msgid "could not map view of backend variables: error code %lu\n"
+msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n"
+
+#: postmaster/launch_backend.c:959
+#, c-format
+msgid "could not unmap view of backend variables: error code %lu\n"
+msgstr ""
+"отключить отображение файла серверных переменных не удалось (код ошибки: "
+"%lu)\n"
+
+#: postmaster/launch_backend.c:966
+#, c-format
+msgid "could not close handle to backend parameter variables: error code %lu\n"
+msgstr ""
+"закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n"
+
+#: postmaster/pgarch.c:428
 #, c-format
-msgid "archive_mode enabled, yet archiving is not configured"
-msgstr "режим архивации включён, но архивирование ещё не настроено"
+msgid "\"archive_mode\" enabled, yet archiving is not configured"
+msgstr "параметр \"archive_mode\" включён, но архивирование ещё не настроено"
 
-#: postmaster/pgarch.c:438
+#: postmaster/pgarch.c:452
 #, c-format
 msgid "removed orphan archive status file \"%s\""
 msgstr "удалён ненужный файл состояния архива \"%s\""
 
-#: postmaster/pgarch.c:448
+#: postmaster/pgarch.c:462
 #, c-format
 msgid ""
 "removal of orphan archive status file \"%s\" failed too many times, will try "
@@ -21265,7 +21983,7 @@ msgstr ""
 "удалить ненужный файл состояния архива \"%s\" не получилось много раз "
 "подряд; следующая попытка будет сделана позже"
 
-#: postmaster/pgarch.c:484
+#: postmaster/pgarch.c:498
 #, c-format
 msgid ""
 "archiving write-ahead log file \"%s\" failed too many times, will try again "
@@ -21274,19 +21992,19 @@ msgstr ""
 "заархивировать файл журнала предзаписи \"%s\" не удалось много раз подряд; "
 "следующая попытка будет сделана позже"
 
-#: postmaster/pgarch.c:791 postmaster/pgarch.c:830
+#: postmaster/pgarch.c:879 postmaster/pgarch.c:918
 #, c-format
-msgid "both archive_command and archive_library set"
-msgstr "archive_command и archive_library заданы одновременно"
+msgid "both \"archive_command\" and \"archive_library\" set"
+msgstr "\"archive_command\" и \"archive_library\" заданы одновременно"
 
-#: postmaster/pgarch.c:792 postmaster/pgarch.c:831
+#: postmaster/pgarch.c:880 postmaster/pgarch.c:919
 #, c-format
-msgid "Only one of archive_command, archive_library may be set."
+msgid "Only one of \"archive_command\", \"archive_library\" may be set."
 msgstr ""
-"Только один из параметров archive_command, archive_library может иметь "
-"значение."
+"Только один из параметров \"archive_command\", \"archive_library\" может "
+"имеÑ\82Ñ\8c Ð·Ð½Ð°Ñ\87ение."
 
-#: postmaster/pgarch.c:809
+#: postmaster/pgarch.c:897
 #, c-format
 msgid ""
 "restarting archiver process because value of \"archive_library\" was changed"
@@ -21294,146 +22012,151 @@ msgstr ""
 "процесс архиватора перезапускается, так как было изменено значение "
 "\"archive_library\""
 
-#: postmaster/pgarch.c:846
+#: postmaster/pgarch.c:934
 #, c-format
 msgid "archive modules have to define the symbol %s"
 msgstr "в модулях архивирования должен объявляться символ %s"
 
-#: postmaster/pgarch.c:852
+#: postmaster/pgarch.c:940
 #, c-format
 msgid "archive modules must register an archive callback"
 msgstr "модули архивирования должны регистрировать обработчик вызова архивации"
 
-#: postmaster/postmaster.c:759
+#: postmaster/postmaster.c:661
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: неверный аргумент для параметра -f: \"%s\"\n"
 
-#: postmaster/postmaster.c:832
+#: postmaster/postmaster.c:734
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: неверный аргумент для параметра -t: \"%s\"\n"
 
-#: postmaster/postmaster.c:855
+#: postmaster/postmaster.c:757
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: неверный аргумент: \"%s\"\n"
 
-#: postmaster/postmaster.c:923
+#: postmaster/postmaster.c:825
 #, c-format
 msgid ""
-"%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must "
-"be less than max_connections (%d)\n"
+"%s: \"superuser_reserved_connections\" (%d) plus "
+"\"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n"
 msgstr ""
-"%s: значение superuser_reserved_connections (%d) плюс reserved_connections "
-"(%d) должно быть меньше max_connections (%d)\n"
+"%s: значение \"superuser_reserved_connections\" (%d) плюс "
+"\"reserved_connections\" (%d) должно быть меньше \"max_connections\" (%d)\n"
 
-#: postmaster/postmaster.c:931
+#: postmaster/postmaster.c:833
 #, c-format
-msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
-msgstr "Ð\90Ñ\80Ñ\85иваÑ\86иÑ\8e WAL Ð½ÐµÐ»Ñ\8cзÑ\8f Ð²ÐºÐ»Ñ\8eÑ\87иÑ\82Ñ\8c, ÐµÑ\81ли Ñ\83Ñ\81Ñ\82ановлен wal_level \"minimal\""
+msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\""
+msgstr "аÑ\80Ñ\85иваÑ\86иÑ\8e WAL Ð½ÐµÐ»Ñ\8cзÑ\8f Ð²ÐºÐ»Ñ\8eÑ\87иÑ\82Ñ\8c, ÐµÑ\81ли \"wal_level\" = \"minimal\""
 
-#: postmaster/postmaster.c:934
+#: postmaster/postmaster.c:836
 #, c-format
 msgid ""
-"WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or "
-"\"logical\""
+"WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be "
+"\"replica\" or \"logical\""
 msgstr ""
-"Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть "
-"\"replica\" или \"logical\""
+"для потоковой трансляции WAL (\"max_wal_senders\" > 0) \"wal_level\" должен "
+"быть \"replica\" или \"logical\""
+
+#: postmaster/postmaster.c:839
+#, c-format
+msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\""
+msgstr "обобщение WAL нельзя включить, если выбран \"wal_level\" \"minimal\""
 
-#: postmaster/postmaster.c:942
+#: postmaster/postmaster.c:847
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n"
 
-#: postmaster/postmaster.c:1099
+#: postmaster/postmaster.c:1004
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "не удалось создать порт завершения ввода/вывода для очереди потомков"
 
-#: postmaster/postmaster.c:1175
+#: postmaster/postmaster.c:1069
 #, c-format
 msgid "ending log output to stderr"
 msgstr "завершение вывода в stderr"
 
-#: postmaster/postmaster.c:1176
+#: postmaster/postmaster.c:1070
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "В дальнейшем протокол будет выводиться в \"%s\"."
 
-#: postmaster/postmaster.c:1187
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "starting %s"
 msgstr "запускается %s"
 
-#: postmaster/postmaster.c:1239
+#: postmaster/postmaster.c:1143
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "не удалось создать принимающий сокет для \"%s\""
 
-#: postmaster/postmaster.c:1245
+#: postmaster/postmaster.c:1149
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "не удалось создать сокеты TCP/IP"
 
-#: postmaster/postmaster.c:1277
+#: postmaster/postmaster.c:1181
 #, c-format
 msgid "DNSServiceRegister() failed: error code %ld"
 msgstr "функция DNSServiceRegister() выдала ошибку с кодом %ld"
 
-#: postmaster/postmaster.c:1328
+#: postmaster/postmaster.c:1234
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "не удалось создать Unix-сокет в каталоге \"%s\""
 
-#: postmaster/postmaster.c:1334
+#: postmaster/postmaster.c:1240
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "ни один Unix-сокет создать не удалось"
 
-#: postmaster/postmaster.c:1345
+#: postmaster/postmaster.c:1251
 #, c-format
 msgid "no socket created for listening"
 msgstr "отсутствуют принимающие сокеты"
 
-#: postmaster/postmaster.c:1376
+#: postmaster/postmaster.c:1282
 #, c-format
-msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
-msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %s\n"
+msgid "%s: could not change permissions of external PID file \"%s\": %m\n"
+msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %m\n"
 
-#: postmaster/postmaster.c:1380
+#: postmaster/postmaster.c:1286
 #, c-format
-msgid "%s: could not write external PID file \"%s\": %s\n"
-msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n"
+msgid "%s: could not write external PID file \"%s\": %m\n"
+msgstr "%s: не удалось записать внешний файл PID \"%s\": %m\n"
 
 #. translator: %s is a configuration file
-#: postmaster/postmaster.c:1408 utils/init/postinit.c:221
+#: postmaster/postmaster.c:1314 utils/init/postinit.c:221
 #, c-format
 msgid "could not load %s"
 msgstr "не удалось загрузить %s"
 
-#: postmaster/postmaster.c:1434
+#: postmaster/postmaster.c:1340
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "процесс postmaster стал многопоточным при запуске"
 
-#: postmaster/postmaster.c:1435
+#: postmaster/postmaster.c:1341
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Установите в переменной окружения LC_ALL правильную локаль."
 
-#: postmaster/postmaster.c:1536
+#: postmaster/postmaster.c:1440
 #, c-format
 msgid "%s: could not locate my own executable path"
 msgstr "%s: не удалось найти путь к собственному исполняемому файлу"
 
-#: postmaster/postmaster.c:1543
+#: postmaster/postmaster.c:1447
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: подходящий исполняемый файл postgres не найден"
 
-#: postmaster/postmaster.c:1566 utils/misc/tzparser.c:340
+#: postmaster/postmaster.c:1470 utils/misc/tzparser.c:341
 #, c-format
 msgid ""
 "This may indicate an incomplete PostgreSQL installation, or that the file "
@@ -21442,574 +22165,383 @@ msgstr ""
 "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в "
 "положенном месте."
 
-#: postmaster/postmaster.c:1593
+#: postmaster/postmaster.c:1497
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
 "Expected to find it in the directory \"%s\",\n"
-"but could not open file \"%s\": %s\n"
+"but could not open file \"%s\": %m\n"
 msgstr ""
 "%s: не найдена система баз данных\n"
 "Ожидалось найти её в каталоге \"%s\",\n"
-"но открыть файл \"%s\" не удалось: %s\n"
+"но открыть файл \"%s\" не удалось: %m\n"
 
 # well-spelled: неподчиняющимся
 #. translator: %s is SIGKILL or SIGABRT
-#: postmaster/postmaster.c:1890
+#: postmaster/postmaster.c:1787
 #, c-format
 msgid "issuing %s to recalcitrant children"
 msgstr "неподчиняющимся потомкам посылается %s"
 
-#: postmaster/postmaster.c:1912
+#: postmaster/postmaster.c:1809
 #, c-format
 msgid ""
 "performing immediate shutdown because data directory lock file is invalid"
 msgstr ""
 "немедленное отключение из-за ошибочного файла блокировки каталога данных"
 
-#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015
-#, c-format
-msgid "incomplete startup packet"
-msgstr "неполный стартовый пакет"
-
-#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032
-#, c-format
-msgid "invalid length of startup packet"
-msgstr "неверная длина стартового пакета"
-
-#: postmaster/postmaster.c:2061
-#, c-format
-msgid "failed to send SSL negotiation response: %m"
-msgstr "не удалось отправить ответ в процессе SSL-согласования: %m"
-
-#: postmaster/postmaster.c:2079
+#: postmaster/postmaster.c:1872
 #, c-format
-msgid "received unencrypted data after SSL request"
-msgstr "поÑ\81ле Ð·Ð°Ð¿Ñ\80оÑ\81а SSL Ð¿Ð¾Ð»Ñ\83Ñ\87енÑ\8b Ð½ÐµÐ·Ð°Ñ\88иÑ\84Ñ\80ованнÑ\8bе Ð´Ð°Ð½Ð½Ñ\8bе"
+msgid "wrong key in cancel request for process %d"
+msgstr "непÑ\80авилÑ\8cнÑ\8bй ÐºÐ»Ñ\8eÑ\87 Ð² Ð·Ð°Ð¿Ñ\80оÑ\81е Ð½Ð° Ð¾Ñ\82менÑ\83 Ð¿Ñ\80оÑ\86еÑ\81Ñ\81а %d"
 
-#: postmaster/postmaster.c:2080 postmaster/postmaster.c:2124
+#: postmaster/postmaster.c:1884
 #, c-format
-msgid ""
-"This could be either a client-software bug or evidence of an attempted man-"
-"in-the-middle attack."
-msgstr ""
-"Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки "
-"MITM."
+msgid "PID %d in cancel request did not match any process"
+msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден"
 
 #: postmaster/postmaster.c:2105
 #, c-format
-msgid "failed to send GSSAPI negotiation response: %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82пÑ\80авиÑ\82Ñ\8c Ð¾Ñ\82веÑ\82 Ð² Ð¿Ñ\80оÑ\86еÑ\81Ñ\81е Ñ\81оглаÑ\81ованиÑ\8f GSSAPI: %m"
+msgid "received SIGHUP, reloading configuration files"
+msgstr "полÑ\83Ñ\87ен SIGHUP, Ñ\84айлÑ\8b ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ии Ð¿ÐµÑ\80езагÑ\80Ñ\83жаÑ\8eÑ\82Ñ\81Ñ\8f"
 
-#: postmaster/postmaster.c:2123
+#. translator: %s is a configuration file
+#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137
 #, c-format
-msgid "received unencrypted data after GSSAPI encryption request"
-msgstr "после запроса шифрования GSSAPI получены незашифрованные данные"
+msgid "%s was not reloaded"
+msgstr "%s не был перезагружен"
 
 #: postmaster/postmaster.c:2147
 #, c-format
-msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
-msgstr ""
-"неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает "
-"%u.0 - %u.%u"
+msgid "SSL configuration was not reloaded"
+msgstr "конфигурация SSL не была перезагружена"
 
-#: postmaster/postmaster.c:2214
+#: postmaster/postmaster.c:2233
 #, c-format
-msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
-msgstr "Ð\94опÑ\83Ñ\81Ñ\82имÑ\8bе Ð·Ð½Ð°Ñ\87ениÑ\8f: \"false\", 0, \"true\", 1, \"database\"."
+msgid "received smart shutdown request"
+msgstr "полÑ\83Ñ\87ен Ð·Ð°Ð¿Ñ\80оÑ\81 Ð½Ð° \"вежливое\" Ð²Ñ\8bклÑ\8eÑ\87ение"
 
-#: postmaster/postmaster.c:2255
+#: postmaster/postmaster.c:2274
 #, c-format
-msgid "invalid startup packet layout: expected terminator as last byte"
-msgstr ""
-"неверная структура стартового пакета: последним байтом должен быть терминатор"
+msgid "received fast shutdown request"
+msgstr "получен запрос на быстрое выключение"
 
-#: postmaster/postmaster.c:2272
+#: postmaster/postmaster.c:2292
 #, c-format
-msgid "no PostgreSQL user name specified in startup packet"
-msgstr "в Ñ\81Ñ\82аÑ\80Ñ\82овом Ð¿Ð°ÐºÐµÑ\82е Ð½Ðµ Ñ\83казано Ð¸Ð¼Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f PostgreSQL"
+msgid "aborting any active transactions"
+msgstr "пÑ\80еÑ\80Ñ\8bвание Ð²Ñ\81еÑ\85 Ð°ÐºÑ\82ивнÑ\8bÑ\85 Ñ\82Ñ\80анзакÑ\86ий"
 
-#: postmaster/postmaster.c:2336
+#: postmaster/postmaster.c:2316
 #, c-format
-msgid "the database system is starting up"
-msgstr "система баз данных запускается"
+msgid "received immediate shutdown request"
+msgstr "получен запрос на немедленное выключение"
 
-#: postmaster/postmaster.c:2342
+#: postmaster/postmaster.c:2388
 #, c-format
-msgid "the database system is not yet accepting connections"
-msgstr "система БД ещё не принимает подключения"
+msgid "shutdown at recovery target"
+msgstr "выключение при достижении цели восстановления"
 
-#: postmaster/postmaster.c:2343
-#, c-format
-msgid "Consistent recovery state has not been yet reached."
-msgstr "Согласованное состояние восстановления ещё не достигнуто."
+#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442
+msgid "startup process"
+msgstr "стартовый процесс"
 
-#: postmaster/postmaster.c:2347
+#: postmaster/postmaster.c:2409
 #, c-format
-msgid "the database system is not accepting connections"
-msgstr "система БД не принимает подключения"
+msgid "aborting startup due to startup process failure"
+msgstr "прерывание запуска из-за ошибки в стартовом процессе"
 
-#: postmaster/postmaster.c:2348
+#: postmaster/postmaster.c:2484
 #, c-format
-msgid "Hot standby mode is disabled."
-msgstr "Режим горячего резерва отключён."
+msgid "database system is ready to accept connections"
+msgstr "система БД готова принимать подключения"
 
-#: postmaster/postmaster.c:2353
-#, c-format
-msgid "the database system is shutting down"
-msgstr "система баз данных останавливается"
+#: postmaster/postmaster.c:2505
+msgid "background writer process"
+msgstr "процесс фоновой записи"
 
-#: postmaster/postmaster.c:2358
-#, c-format
-msgid "the database system is in recovery mode"
-msgstr "система баз данных в режиме восстановления"
+#: postmaster/postmaster.c:2552
+msgid "checkpointer process"
+msgstr "процесс контрольных точек"
 
-#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491
-#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353
-#, c-format
-msgid "sorry, too many clients already"
-msgstr "извините, уже слишком много клиентов"
-
-#: postmaster/postmaster.c:2450
-#, c-format
-msgid "wrong key in cancel request for process %d"
-msgstr "неправильный ключ в запросе на отмену процесса %d"
-
-#: postmaster/postmaster.c:2462
-#, c-format
-msgid "PID %d in cancel request did not match any process"
-msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден"
-
-#: postmaster/postmaster.c:2729
-#, c-format
-msgid "received SIGHUP, reloading configuration files"
-msgstr "получен SIGHUP, файлы конфигурации перезагружаются"
-
-#. translator: %s is a configuration file
-#: postmaster/postmaster.c:2753 postmaster/postmaster.c:2757
-#, c-format
-msgid "%s was not reloaded"
-msgstr "%s не был перезагружен"
-
-#: postmaster/postmaster.c:2767
-#, c-format
-msgid "SSL configuration was not reloaded"
-msgstr "конфигурация SSL не была перезагружена"
-
-#: postmaster/postmaster.c:2857
-#, c-format
-msgid "received smart shutdown request"
-msgstr "получен запрос на \"вежливое\" выключение"
-
-#: postmaster/postmaster.c:2898
-#, c-format
-msgid "received fast shutdown request"
-msgstr "получен запрос на быстрое выключение"
-
-#: postmaster/postmaster.c:2916
-#, c-format
-msgid "aborting any active transactions"
-msgstr "прерывание всех активных транзакций"
-
-#: postmaster/postmaster.c:2940
-#, c-format
-msgid "received immediate shutdown request"
-msgstr "получен запрос на немедленное выключение"
-
-#: postmaster/postmaster.c:3016
-#, c-format
-msgid "shutdown at recovery target"
-msgstr "выключение при достижении цели восстановления"
-
-#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070
-msgid "startup process"
-msgstr "стартовый процесс"
-
-#: postmaster/postmaster.c:3037
-#, c-format
-msgid "aborting startup due to startup process failure"
-msgstr "прерывание запуска из-за ошибки в стартовом процессе"
-
-#: postmaster/postmaster.c:3110
-#, c-format
-msgid "database system is ready to accept connections"
-msgstr "система БД готова принимать подключения"
-
-#: postmaster/postmaster.c:3131
-msgid "background writer process"
-msgstr "процесс фоновой записи"
-
-#: postmaster/postmaster.c:3178
-msgid "checkpointer process"
-msgstr "процесс контрольных точек"
-
-#: postmaster/postmaster.c:3194
+#: postmaster/postmaster.c:2568
 msgid "WAL writer process"
 msgstr "процесс записи WAL"
 
-#: postmaster/postmaster.c:3209
+#: postmaster/postmaster.c:2583
 msgid "WAL receiver process"
 msgstr "процесс считывания WAL"
 
-#: postmaster/postmaster.c:3224
+#: postmaster/postmaster.c:2597
+msgid "WAL summarizer process"
+msgstr "процесс обобщения WAL"
+
+#: postmaster/postmaster.c:2612
 msgid "autovacuum launcher process"
 msgstr "процесс запуска автоочистки"
 
-#: postmaster/postmaster.c:3242
+#: postmaster/postmaster.c:2630
 msgid "archiver process"
 msgstr "процесс архивации"
 
-#: postmaster/postmaster.c:3255
+#: postmaster/postmaster.c:2643
 msgid "system logger process"
 msgstr "процесс системного протоколирования"
 
-#: postmaster/postmaster.c:3312
+#: postmaster/postmaster.c:2660
+msgid "slot sync worker process"
+msgstr "рабочий процесс синхронизации слотов"
+
+#: postmaster/postmaster.c:2716
 #, c-format
 msgid "background worker \"%s\""
 msgstr "фоновый процесс \"%s\""
 
-#: postmaster/postmaster.c:3391 postmaster/postmaster.c:3411
-#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436
+#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815
+#: postmaster/postmaster.c:2822 postmaster/postmaster.c:2840
 msgid "server process"
 msgstr "процесс сервера"
 
-#: postmaster/postmaster.c:3490
+#: postmaster/postmaster.c:2894
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "завершение всех остальных активных серверных процессов"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3665
+#: postmaster/postmaster.c:3081
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) завершился с кодом выхода %d"
 
-#: postmaster/postmaster.c:3667 postmaster/postmaster.c:3679
-#: postmaster/postmaster.c:3689 postmaster/postmaster.c:3700
+#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095
+#: postmaster/postmaster.c:3105 postmaster/postmaster.c:3116
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Завершившийся процесс выполнял действие: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3676
+#: postmaster/postmaster.c:3092
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) был прерван исключением 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3686
+#: postmaster/postmaster.c:3102
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) был завершён по сигналу %d: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3698
+#: postmaster/postmaster.c:3114
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
-msgstr "%s (PID %d) завершился с неизвестным кодом состояния %d"
+msgstr "%s (PID %d) завершился с нераспознанным кодом состояния %d"
 
-#: postmaster/postmaster.c:3906
+#: postmaster/postmaster.c:3330
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "аварийное выключение системы БД"
 
-#: postmaster/postmaster.c:3932
+#: postmaster/postmaster.c:3356
 #, c-format
 msgid "shutting down due to startup process failure"
 msgstr "сервер останавливается из-за ошибки в стартовом процессе"
 
-#: postmaster/postmaster.c:3938
+#: postmaster/postmaster.c:3362
 #, c-format
-msgid "shutting down because restart_after_crash is off"
-msgstr "сервер останавливается, так как параметр restart_after_crash равен off"
+msgid "shutting down because \"restart_after_crash\" is off"
+msgstr "сервер останавливается, так как \"restart_after_crash\" = \"off\""
 
-#: postmaster/postmaster.c:3950
+#: postmaster/postmaster.c:3374
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "все серверные процессы завершены... переинициализация"
 
-#: postmaster/postmaster.c:4144 postmaster/postmaster.c:5462
-#: postmaster/postmaster.c:5860
+#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983
+#: postmaster/postmaster.c:4372
 #, c-format
 msgid "could not generate random cancel key"
 msgstr "не удалось сгенерировать случайный ключ отмены"
 
-#: postmaster/postmaster.c:4206
+#: postmaster/postmaster.c:3606
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "породить новый процесс для соединения не удалось: %m"
 
-#: postmaster/postmaster.c:4248
+#: postmaster/postmaster.c:3648
 msgid "could not fork new process for connection: "
 msgstr "породить новый процесс для соединения не удалось: "
 
-#: postmaster/postmaster.c:4354
-#, c-format
-msgid "connection received: host=%s port=%s"
-msgstr "принято подключение: узел=%s порт=%s"
-
-#: postmaster/postmaster.c:4359
-#, c-format
-msgid "connection received: host=%s"
-msgstr "принято подключение: узел=%s"
-
-#: postmaster/postmaster.c:4596
-#, c-format
-msgid "could not execute server process \"%s\": %m"
-msgstr "запустить серверный процесс \"%s\" не удалось: %m"
-
-#: postmaster/postmaster.c:4654
-#, c-format
-msgid "could not create backend parameter file mapping: error code %lu"
-msgstr ""
-"создать отображение файла серверных параметров не удалось (код ошибки: %lu)"
-
-#: postmaster/postmaster.c:4663
-#, c-format
-msgid "could not map backend parameter memory: error code %lu"
-msgstr ""
-"отобразить файл серверных параметров в память не удалось (код ошибки: %lu)"
-
-#: postmaster/postmaster.c:4690
-#, c-format
-msgid "subprocess command line too long"
-msgstr "слишком длинная командная строка подпроцесса"
-
-#: postmaster/postmaster.c:4708
-#, c-format
-msgid "CreateProcess() call failed: %m (error code %lu)"
-msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)"
-
-#: postmaster/postmaster.c:4735
-#, c-format
-msgid "could not unmap view of backend parameter file: error code %lu"
-msgstr ""
-"отключить отображение файла серверных параметров не удалось (код ошибки: %lu)"
-
-#: postmaster/postmaster.c:4739
-#, c-format
-msgid "could not close handle to backend parameter file: error code %lu"
-msgstr ""
-"закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)"
-
-#: postmaster/postmaster.c:4761
-#, c-format
-msgid "giving up after too many tries to reserve shared memory"
-msgstr ""
-"число повторных попыток резервирования разделяемой памяти достигло предела"
-
-#: postmaster/postmaster.c:4762
-#, c-format
-msgid "This might be caused by ASLR or antivirus software."
-msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR."
-
-#: postmaster/postmaster.c:4935
-#, c-format
-msgid "SSL configuration could not be loaded in child process"
-msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс"
-
-#: postmaster/postmaster.c:5060
+#: postmaster/postmaster.c:3682
 #, c-format
 msgid "Please report this to <%s>."
 msgstr "Пожалуйста, напишите об этой ошибке по адресу <%s>."
 
-#: postmaster/postmaster.c:5128
+#: postmaster/postmaster.c:3750
 #, c-format
 msgid "database system is ready to accept read-only connections"
 msgstr "система БД готова принимать подключения в режиме \"только чтение\""
 
-#: postmaster/postmaster.c:5386
+#: postmaster/postmaster.c:3933
 #, c-format
-msgid "could not fork startup process: %m"
-msgstr "породить стартовый процесс не удалось: %m"
+msgid "could not fork \"%s\" process: %m"
+msgstr "породить процесс \"%s\" не удалось: %m"
 
-#: postmaster/postmaster.c:5390
-#, c-format
-msgid "could not fork archiver process: %m"
-msgstr "породить процесс архиватора не удалось: %m"
-
-#: postmaster/postmaster.c:5394
-#, c-format
-msgid "could not fork background writer process: %m"
-msgstr "породить процесс фоновой записи не удалось: %m"
-
-#: postmaster/postmaster.c:5398
-#, c-format
-msgid "could not fork checkpointer process: %m"
-msgstr "породить процесс контрольных точек не удалось: %m"
-
-#: postmaster/postmaster.c:5402
-#, c-format
-msgid "could not fork WAL writer process: %m"
-msgstr "породить процесс записи WAL не удалось: %m"
-
-#: postmaster/postmaster.c:5406
-#, c-format
-msgid "could not fork WAL receiver process: %m"
-msgstr "породить процесс считывания WAL не удалось: %m"
-
-#: postmaster/postmaster.c:5410
-#, c-format
-msgid "could not fork process: %m"
-msgstr "породить процесс не удалось: %m"
-
-#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638
+#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr ""
 "при регистрации фонового процесса не указывалось, что ему требуется "
 "подключение к БД"
 
-#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649
+#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "неправильный режим обработки в фоновом процессе"
 
-#: postmaster/postmaster.c:5734
+#: postmaster/postmaster.c:4275
 #, c-format
-msgid "could not fork worker process: %m"
-msgstr "породить рабочий процесс не удалось: %m"
+msgid "could not fork background worker process: %m"
+msgstr "поÑ\80одиÑ\82Ñ\8c Ñ\84оновÑ\8bй Ñ\80абоÑ\87ий Ð¿Ñ\80оÑ\86еÑ\81Ñ\81 Ð½Ðµ Ñ\83далоÑ\81Ñ\8c: %m"
 
-#: postmaster/postmaster.c:5846
+#: postmaster/postmaster.c:4358
 #, c-format
-msgid "no slot available for new worker process"
-msgstr "длÑ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ\80абоÑ\87его Ð¿Ñ\80оÑ\86еÑ\81Ñ\81а Ð½Ðµ Ð½Ð°Ñ\88лоÑ\81Ñ\8c свободного слота"
+msgid "no slot available for new background worker process"
+msgstr "длÑ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ\84онового Ñ\80абоÑ\87его Ð¿Ñ\80оÑ\86еÑ\81Ñ\81а Ð½ÐµÑ\82 свободного слота"
 
-#: postmaster/postmaster.c:6177
-#, c-format
-msgid "could not duplicate socket %d for use in backend: error code %d"
-msgstr ""
-"продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)"
-
-#: postmaster/postmaster.c:6209
-#, c-format
-msgid "could not create inherited socket: error code %d\n"
-msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n"
-
-#: postmaster/postmaster.c:6238
-#, c-format
-msgid "could not open backend variables file \"%s\": %s\n"
-msgstr "открыть файл серверных переменных \"%s\" не удалось: %s\n"
-
-#: postmaster/postmaster.c:6245
-#, c-format
-msgid "could not read from backend variables file \"%s\": %s\n"
-msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n"
-
-#: postmaster/postmaster.c:6254
-#, c-format
-msgid "could not remove file \"%s\": %s\n"
-msgstr "не удалось стереть файл \"%s\": %s\n"
-
-#: postmaster/postmaster.c:6271
-#, c-format
-msgid "could not map view of backend variables: error code %lu\n"
-msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n"
-
-#: postmaster/postmaster.c:6280
-#, c-format
-msgid "could not unmap view of backend variables: error code %lu\n"
-msgstr ""
-"отключить отображение файла серверных переменных не удалось (код ошибки: "
-"%lu)\n"
-
-#: postmaster/postmaster.c:6287
-#, c-format
-msgid "could not close handle to backend parameter variables: error code %lu\n"
-msgstr ""
-"закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n"
-
-#: postmaster/postmaster.c:6446
+#: postmaster/postmaster.c:4621
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "прочитать код завершения процесса не удалось\n"
 
-#: postmaster/postmaster.c:6488
+#: postmaster/postmaster.c:4663
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "отправить состояние завершения потомка не удалось\n"
 
-#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222
+#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "не удалось прочитать из канала протоколирования: %m"
 
-#: postmaster/syslogger.c:598 postmaster/syslogger.c:612
+#: postmaster/syslogger.c:629 postmaster/syslogger.c:643
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "не удалось создать канал для syslog: %m"
 
-#: postmaster/syslogger.c:677
+#: postmaster/syslogger.c:712
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "не удалось породить процесс системного протоколирования: %m"
 
-#: postmaster/syslogger.c:713
+#: postmaster/syslogger.c:731
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "передача вывода в протокол процессу сбора протоколов"
 
-#: postmaster/syslogger.c:714
+#: postmaster/syslogger.c:732
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "В дальнейшем протоколы будут выводиться в каталог \"%s\"."
 
-#: postmaster/syslogger.c:722
+#: postmaster/syslogger.c:740
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "не удалось перенаправить stdout: %m"
 
-#: postmaster/syslogger.c:727 postmaster/syslogger.c:744
+#: postmaster/syslogger.c:745 postmaster/syslogger.c:762
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "не удалось перенаправить stderr: %m"
 
-#: postmaster/syslogger.c:1177
+#: postmaster/syslogger.c:1128
 #, c-format
-msgid "could not write to log file: %s\n"
-msgstr "не удалось записать в файл протокола: %s\n"
+msgid "could not write to log file: %m\n"
+msgstr "не удалось записать в файл протокола: %m\n"
 
-#: postmaster/syslogger.c:1295
+#: postmaster/syslogger.c:1246
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "не удалось открыть файл протокола \"%s\": %m"
 
-#: postmaster/syslogger.c:1385
+#: postmaster/syslogger.c:1336
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "отключение автопрокрутки (чтобы включить, передайте SIGHUP)"
 
-#: regex/regc_pg_locale.c:242
+#: postmaster/walsummarizer.c:740
+#, c-format
+msgid "WAL summarization is not progressing"
+msgstr "процесс обобщения WAL не продвигается"
+
+#: postmaster/walsummarizer.c:741
+#, c-format
+msgid ""
+"Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/"
+"%X in memory."
+msgstr ""
+"Обобщение должно охватить %X/%X, но оно остановилось на позиции %X/%X на "
+"диске и %X/%X в памяти."
+
+#: postmaster/walsummarizer.c:755
+#, c-format
+msgid "still waiting for WAL summarization through %X/%X after %ld second"
+msgid_plural ""
+"still waiting for WAL summarization through %X/%X after %ld seconds"
+msgstr[0] "ожидание обобщения позиции %X/%X продолжается %ld сек."
+msgstr[1] "ожидание обобщения позиции %X/%X продолжается %ld сек."
+msgstr[2] "ожидание обобщения позиции %X/%X продолжается %ld сек."
+
+#: postmaster/walsummarizer.c:760
+#, c-format
+msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
+msgstr "Процесс обобщения достиг позиции %X/%X на диске и %X/%X в памяти."
+
+#: postmaster/walsummarizer.c:1000
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "не удалось найти корректную запись после %X/%X"
+
+#: postmaster/walsummarizer.c:1045
+#, c-format
+msgid "could not read WAL from timeline %u at %X/%X: %s"
+msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X: %s"
+
+#: postmaster/walsummarizer.c:1051
+#, c-format
+msgid "could not read WAL from timeline %u at %X/%X"
+msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X"
+
+#: regex/regc_pg_locale.c:244
 #, c-format
 msgid "could not determine which collation to use for regular expression"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для регулярного "
 "выражения"
 
-#: regex/regc_pg_locale.c:265
+#: regex/regc_pg_locale.c:262
 #, c-format
 msgid "nondeterministic collations are not supported for regular expressions"
 msgstr ""
 "недетерминированные правила сортировки не поддерживаются для регулярных "
 "выражений"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:245
-#: replication/libpqwalreceiver/libpqwalreceiver.c:332
+#: replication/libpqwalreceiver/libpqwalreceiver.c:267
+#: replication/libpqwalreceiver/libpqwalreceiver.c:358
 #, c-format
 msgid "password is required"
 msgstr "требуется пароль"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:246
+#: replication/libpqwalreceiver/libpqwalreceiver.c:268
 #, c-format
 msgid "Non-superuser cannot connect if the server does not request a password."
 msgstr ""
 "Только суперпользователи могут подключаться к серверу, не требующему пароль."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:247
+#: replication/libpqwalreceiver/libpqwalreceiver.c:269
 #, c-format
 msgid ""
 "Target server's authentication method must be changed, or set "
@@ -22018,29 +22550,30 @@ msgstr ""
 "Необходимо сменить метод аутентификации на целевом сервере или задать "
 "password_required=false в параметрах подписки."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:259
+#: replication/libpqwalreceiver/libpqwalreceiver.c:285
 #, c-format
 msgid "could not clear search path: %s"
 msgstr "не удалось очистить путь поиска: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:305
+#: replication/libpqwalreceiver/libpqwalreceiver.c:331
+#: replication/libpqwalreceiver/libpqwalreceiver.c:517
 #, c-format
 msgid "invalid connection string syntax: %s"
 msgstr "ошибочный синтаксис строки подключения: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:333
+#: replication/libpqwalreceiver/libpqwalreceiver.c:359
 #, c-format
 msgid "Non-superusers must provide a password in the connection string."
 msgstr ""
 "Пользователи, не являющиеся суперпользователями, должны задавать пароль в "
 "строке соединения."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:360
+#: replication/libpqwalreceiver/libpqwalreceiver.c:386
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "не удалось разобрать строку подключения: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:433
+#: replication/libpqwalreceiver/libpqwalreceiver.c:459
 #, c-format
 msgid ""
 "could not receive database system identifier and timeline ID from the "
@@ -22049,13 +22582,13 @@ msgstr ""
 "не удалось получить идентификатор СУБД и код линии времени с главного "
 "сервера: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:449
-#: replication/libpqwalreceiver/libpqwalreceiver.c:692
+#: replication/libpqwalreceiver/libpqwalreceiver.c:476
+#: replication/libpqwalreceiver/libpqwalreceiver.c:763
 #, c-format
 msgid "invalid response from primary server"
 msgstr "неверный ответ главного сервера"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:450
+#: replication/libpqwalreceiver/libpqwalreceiver.c:477
 #, c-format
 msgid ""
 "Could not identify system: got %d rows and %d fields, expected %d rows and "
@@ -22064,86 +22597,91 @@ msgstr ""
 "Не удалось идентифицировать систему, получено строк: %d, полей: %d "
 "(ожидалось: %d и %d (или более))."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:535
-#: replication/libpqwalreceiver/libpqwalreceiver.c:542
-#: replication/libpqwalreceiver/libpqwalreceiver.c:572
+#: replication/libpqwalreceiver/libpqwalreceiver.c:606
+#: replication/libpqwalreceiver/libpqwalreceiver.c:613
+#: replication/libpqwalreceiver/libpqwalreceiver.c:643
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "не удалось начать трансляцию WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:596
+#: replication/libpqwalreceiver/libpqwalreceiver.c:667
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "не удалось отправить главному серверу сообщение о конце передачи: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:619
+#: replication/libpqwalreceiver/libpqwalreceiver.c:690
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "неожиданный набор данных после конца передачи"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:634
+#: replication/libpqwalreceiver/libpqwalreceiver.c:705
 #, c-format
 msgid "error while shutting down streaming COPY: %s"
 msgstr "ошибка при остановке потоковой операции COPY: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:644
+#: replication/libpqwalreceiver/libpqwalreceiver.c:715
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "ошибка при чтении результата команды передачи: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:653
-#: replication/libpqwalreceiver/libpqwalreceiver.c:889
+#: replication/libpqwalreceiver/libpqwalreceiver.c:724
+#: replication/libpqwalreceiver/libpqwalreceiver.c:957
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "неожиданный результат после CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:680
+#: replication/libpqwalreceiver/libpqwalreceiver.c:751
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "не удалось получить файл истории линии времени с главного сервера: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:693
+#: replication/libpqwalreceiver/libpqwalreceiver.c:764
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Ожидался 1 кортеж с 2 полями, однако получено кортежей: %d, полей: %d."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:852
-#: replication/libpqwalreceiver/libpqwalreceiver.c:905
-#: replication/libpqwalreceiver/libpqwalreceiver.c:912
+#: replication/libpqwalreceiver/libpqwalreceiver.c:920
+#: replication/libpqwalreceiver/libpqwalreceiver.c:973
+#: replication/libpqwalreceiver/libpqwalreceiver.c:980
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "не удалось получить данные из потока WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:932
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1000
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "не удалось отправить данные в поток WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1024
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1101
 #, c-format
 msgid "could not create replication slot \"%s\": %s"
 msgstr "не удалось создать слот репликации \"%s\": %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1070
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1140
+#, c-format
+msgid "could not alter replication slot \"%s\": %s"
+msgstr "не удалось изменить свойства слота репликации \"%s\": %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1174
 #, c-format
 msgid "invalid query response"
 msgstr "неверный ответ на запрос"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1071
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1175
 #, c-format
 msgid "Expected %d fields, got %d fields."
 msgstr "Ожидалось полей: %d, получено: %d."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1245
 #, c-format
 msgid "the query interface requires a database connection"
 msgstr "для интерфейса запросов требуется подключение к БД"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1172
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1277
 msgid "empty query"
 msgstr "пустой запрос"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1178
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1283
 msgid "unexpected pipeline mode"
 msgstr "неожиданный режим канала"
 
@@ -22156,35 +22694,35 @@ msgstr ""
 "параллельный применяющий процесс логической репликации для подписки \"%s\" "
 "завершён"
 
-#: replication/logical/applyparallelworker.c:825
+#: replication/logical/applyparallelworker.c:822
 #, c-format
 msgid "lost connection to the logical replication apply worker"
 msgstr "потеряна связь с применяющим процессом логической репликации"
 
-#: replication/logical/applyparallelworker.c:1027
-#: replication/logical/applyparallelworker.c:1029
+#: replication/logical/applyparallelworker.c:1024
+#: replication/logical/applyparallelworker.c:1026
 msgid "logical replication parallel apply worker"
 msgstr "параллельный применяющий процесс логической репликации"
 
-#: replication/logical/applyparallelworker.c:1043
+#: replication/logical/applyparallelworker.c:1040
 #, c-format
 msgid "logical replication parallel apply worker exited due to error"
 msgstr ""
 "параллельный применяющий процесс логической репликации завершён из-за ошибки"
 
-#: replication/logical/applyparallelworker.c:1130
-#: replication/logical/applyparallelworker.c:1303
+#: replication/logical/applyparallelworker.c:1127
+#: replication/logical/applyparallelworker.c:1300
 #, c-format
 msgid "lost connection to the logical replication parallel apply worker"
 msgstr ""
 "потеряна связь с параллельным применяющим процессом логическим репликации"
 
-#: replication/logical/applyparallelworker.c:1183
+#: replication/logical/applyparallelworker.c:1180
 #, c-format
 msgid "could not send data to shared-memory queue"
 msgstr "не удалось передать данные в очередь в разделяемой памяти"
 
-#: replication/logical/applyparallelworker.c:1218
+#: replication/logical/applyparallelworker.c:1215
 #, c-format
 msgid ""
 "logical replication apply worker will serialize the remaining changes of "
@@ -22193,47 +22731,48 @@ msgstr ""
 "применяющий процесс логической репликации будет сериализовывать остальное "
 "содержимое удалённой транзакции %u в файл"
 
-#: replication/logical/decode.c:180 replication/logical/logical.c:140
+#: replication/logical/decode.c:177 replication/logical/logical.c:141
 #, c-format
 msgid ""
-"logical decoding on standby requires wal_level >= logical on the primary"
+"logical decoding on standby requires \"wal_level\" >= \"logical\" on the "
+"primary"
 msgstr ""
-"для логического декодирования на ведомом сервере требуется wal_level >= "
-"logical на ведущем"
+"для логического декодирования на ведомом сервере требуется \"wal_level\" >= "
+"\"logical\" на ведущем"
 
-#: replication/logical/launcher.c:331
+#: replication/logical/launcher.c:334
 #, c-format
 msgid "cannot start logical replication workers when max_replication_slots = 0"
 msgstr ""
 "нельзя запустить процессы-обработчики логической репликации при "
 "max_replication_slots = 0"
 
-#: replication/logical/launcher.c:424
+#: replication/logical/launcher.c:427
 #, c-format
 msgid "out of logical replication worker slots"
 msgstr "недостаточно слотов для процессов логической репликации"
 
-#: replication/logical/launcher.c:425 replication/logical/launcher.c:499
-#: replication/slot.c:1297 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002
-#: storage/lmgr/lock.c:2787 storage/lmgr/lock.c:4172 storage/lmgr/lock.c:4237
-#: storage/lmgr/lock.c:4587 storage/lmgr/predicate.c:2413
-#: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825
+#: replication/logical/launcher.c:428 replication/logical/launcher.c:514
+#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023
+#: storage/lmgr/lock.c:2826 storage/lmgr/lock.c:4211 storage/lmgr/lock.c:4276
+#: storage/lmgr/lock.c:4626 storage/lmgr/predicate.c:2464
+#: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876
 #, c-format
-msgid "You might need to increase %s."
-msgstr "Возможно, следует увеличить параметр %s."
+msgid "You might need to increase \"%s\"."
+msgstr "Возможно, следует увеличить параметр \"%s\"."
 
-#: replication/logical/launcher.c:498
+#: replication/logical/launcher.c:513
 #, c-format
 msgid "out of background worker slots"
 msgstr "недостаточно слотов для фоновых рабочих процессов"
 
-#: replication/logical/launcher.c:705
+#: replication/logical/launcher.c:720
 #, c-format
 msgid "logical replication worker slot %d is empty, cannot attach"
 msgstr ""
 "слот обработчика логической репликации %d пуст, подключиться к нему нельзя"
 
-#: replication/logical/launcher.c:714
+#: replication/logical/launcher.c:729
 #, c-format
 msgid ""
 "logical replication worker slot %d is already used by another worker, cannot "
@@ -22242,28 +22781,28 @@ msgstr ""
 "слот обработчика логической репликации %d уже занят другим процессом, "
 "подключиться к нему нельзя"
 
-#: replication/logical/logical.c:120
+#: replication/logical/logical.c:121
 #, c-format
-msgid "logical decoding requires wal_level >= logical"
-msgstr "для логического декодирования требуется wal_level >= logical"
+msgid "logical decoding requires \"wal_level\" >= \"logical\""
+msgstr "для логического декодирования требуется \"wal_level\" >= \"logical\""
 
-#: replication/logical/logical.c:125
+#: replication/logical/logical.c:126
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "для логического декодирования требуется подключение к БД"
 
-#: replication/logical/logical.c:363 replication/logical/logical.c:517
+#: replication/logical/logical.c:365 replication/logical/logical.c:519
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr ""
 "физический слот репликации нельзя использовать для логического декодирования"
 
-#: replication/logical/logical.c:368 replication/logical/logical.c:522
+#: replication/logical/logical.c:370 replication/logical/logical.c:529
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "слот репликации \"%s\" создан не в этой базе данных"
 
-#: replication/logical/logical.c:375
+#: replication/logical/logical.c:377
 #, c-format
 msgid ""
 "cannot create logical replication slot in transaction that has performed "
@@ -22271,12 +22810,29 @@ msgid ""
 msgstr ""
 "нельзя создать слот логической репликации в транзакции, осуществляющей запись"
 
-#: replication/logical/logical.c:534 replication/logical/logical.c:541
+#: replication/logical/logical.c:540
+#, c-format
+msgid "cannot use replication slot \"%s\" for logical decoding"
+msgstr ""
+"слот репликации \"%s\" нельзя использовать для логического декодирования"
+
+#: replication/logical/logical.c:542 replication/slot.c:798
+#: replication/slot.c:829
+#, c-format
+msgid "This replication slot is being synchronized from the primary server."
+msgstr "Этот слот репликации синхронизируется с ведущего сервера."
+
+#: replication/logical/logical.c:543
+#, c-format
+msgid "Specify another replication slot."
+msgstr "Укажите другой слот репликации."
+
+#: replication/logical/logical.c:554 replication/logical/logical.c:561
 #, c-format
 msgid "can no longer get changes from replication slot \"%s\""
 msgstr "из слота репликации \"%s\" больше нельзя получать изменения"
 
-#: replication/logical/logical.c:536
+#: replication/logical/logical.c:556
 #, c-format
 msgid ""
 "This slot has been invalidated because it exceeded the maximum reserved size."
@@ -22284,81 +22840,81 @@ msgstr ""
 "Этот слот был аннулирован из-за превышения максимального зарезервированного "
 "размера."
 
-#: replication/logical/logical.c:543
+#: replication/logical/logical.c:563
 #, c-format
 msgid ""
 "This slot has been invalidated because it was conflicting with recovery."
 msgstr "Этот слот был аннулирован из-за конфликта с восстановлением."
 
-#: replication/logical/logical.c:608
+#: replication/logical/logical.c:628
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "начинается логическое декодирование для слота \"%s\""
 
-#: replication/logical/logical.c:610
+#: replication/logical/logical.c:630
 #, c-format
 msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
 msgstr "Передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X."
 
-#: replication/logical/logical.c:758
+#: replication/logical/logical.c:778
 #, c-format
 msgid ""
 "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
 msgstr ""
 "слот \"%s\", модуль вывода \"%s\", в обработчике %s, связанный LSN: %X/%X"
 
-#: replication/logical/logical.c:764
+#: replication/logical/logical.c:784
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s"
 
-#: replication/logical/logical.c:935 replication/logical/logical.c:980
-#: replication/logical/logical.c:1025 replication/logical/logical.c:1071
+#: replication/logical/logical.c:955 replication/logical/logical.c:1000
+#: replication/logical/logical.c:1045 replication/logical/logical.c:1091
 #, c-format
 msgid "logical replication at prepare time requires a %s callback"
 msgstr "для логической репликации во время подготовки требуется обработчик %s"
 
-#: replication/logical/logical.c:1303 replication/logical/logical.c:1352
-#: replication/logical/logical.c:1393 replication/logical/logical.c:1479
-#: replication/logical/logical.c:1528
+#: replication/logical/logical.c:1323 replication/logical/logical.c:1372
+#: replication/logical/logical.c:1413 replication/logical/logical.c:1499
+#: replication/logical/logical.c:1548
 #, c-format
 msgid "logical streaming requires a %s callback"
 msgstr "для логической потоковой репликации требуется обработчик %s"
 
-#: replication/logical/logical.c:1438
+#: replication/logical/logical.c:1458
 #, c-format
 msgid "logical streaming at prepare time requires a %s callback"
 msgstr ""
 "для логической потоковой репликации во время подготовки требуется обработчик "
 "%s"
 
-#: replication/logical/logicalfuncs.c:126
+#: replication/logical/logicalfuncs.c:123
 #, c-format
 msgid "slot name must not be null"
 msgstr "имя слота не может быть NULL"
 
-#: replication/logical/logicalfuncs.c:142
+#: replication/logical/logicalfuncs.c:139
 #, c-format
 msgid "options array must not be null"
 msgstr "массив параметров не может быть NULL"
 
-#: replication/logical/logicalfuncs.c:159
+#: replication/logical/logicalfuncs.c:156
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "массив должен быть одномерным"
 
-#: replication/logical/logicalfuncs.c:165
+#: replication/logical/logicalfuncs.c:162
 #, c-format
 msgid "array must not contain nulls"
 msgstr "массив не должен содержать элементы null"
 
-#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484
-#: utils/adt/jsonb.c:1403
+#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1406
+#: utils/adt/jsonb.c:1304
 #, c-format
 msgid "array must have even number of elements"
 msgstr "в массиве должно быть чётное число элементов"
 
-#: replication/logical/logicalfuncs.c:227
+#: replication/logical/logicalfuncs.c:224
 #, c-format
 msgid ""
 "logical decoding output plugin \"%s\" produces binary output, but function "
@@ -22370,10 +22926,11 @@ msgstr ""
 #: replication/logical/origin.c:190
 #, c-format
 msgid ""
-"cannot query or manipulate replication origin when max_replication_slots = 0"
+"cannot query or manipulate replication origin when \"max_replication_slots\" "
+"is 0"
 msgstr ""
 "запрашивать или модифицировать источники репликации при "
-"max_replication_slots = 0 нельзя"
+"\"max_replication_slots\" = 0 нельзя"
 
 #: replication/logical/origin.c:195
 #, c-format
@@ -22410,10 +22967,11 @@ msgstr ""
 
 #: replication/logical/origin.c:798
 #, c-format
-msgid "could not find free replication state, increase max_replication_slots"
+msgid ""
+"could not find free replication state, increase \"max_replication_slots\""
 msgstr ""
 "не удалось найти свободную ячейку для состояния репликации, увеличьте "
-"max_replication_slots"
+"\"max_replication_slots\""
 
 #: replication/logical/origin.c:806
 #, c-format
@@ -22427,12 +22985,12 @@ msgstr ""
 "неверная контрольная сумма файла контрольной точки для слота репликации (%u "
 "вместо %u)"
 
-#: replication/logical/origin.c:944 replication/logical/origin.c:1141
+#: replication/logical/origin.c:944 replication/logical/origin.c:1143
 #, c-format
 msgid "replication origin with ID %d is already active for PID %d"
 msgstr "источник репликации с ID %d уже занят процессом с PID %d"
 
-#: replication/logical/origin.c:955 replication/logical/origin.c:1153
+#: replication/logical/origin.c:955 replication/logical/origin.c:1156
 #, c-format
 msgid ""
 "could not find free replication state slot for replication origin with ID %d"
@@ -22440,29 +22998,29 @@ msgstr ""
 "не удалось найти свободный слот состояния репликации для источника "
 "репликации с ID %d"
 
-#: replication/logical/origin.c:957 replication/logical/origin.c:1155
-#: replication/slot.c:2120
+#: replication/logical/origin.c:957 replication/logical/origin.c:1158
+#: replication/slot.c:2384
 #, c-format
-msgid "Increase max_replication_slots and try again."
-msgstr "Увеличьте параметр max_replication_slots и повторите попытку."
+msgid "Increase \"max_replication_slots\" and try again."
+msgstr "Увеличьте параметр \"max_replication_slots\" и повторите попытку."
 
-#: replication/logical/origin.c:1112
+#: replication/logical/origin.c:1114
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "нельзя настроить источник репликации, когда он уже настроен"
 
-#: replication/logical/origin.c:1196 replication/logical/origin.c:1412
-#: replication/logical/origin.c:1432
+#: replication/logical/origin.c:1199 replication/logical/origin.c:1415
+#: replication/logical/origin.c:1435
 #, c-format
 msgid "no replication origin is configured"
 msgstr "ни один источник репликации не настроен"
 
-#: replication/logical/origin.c:1282
+#: replication/logical/origin.c:1285
 #, c-format
 msgid "replication origin name \"%s\" is reserved"
 msgstr "имя источника репликации \"%s\" зарезервировано"
 
-#: replication/logical/origin.c:1284
+#: replication/logical/origin.c:1287
 #, c-format
 msgid ""
 "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved."
@@ -22470,17 +23028,17 @@ msgstr ""
 "Имена источников \"%s\", \"%s\", а также имена, начинающиеся с \"pg_\", "
 "зарезервированы."
 
-#: replication/logical/relation.c:240
+#: replication/logical/relation.c:242
 #, c-format
 msgid "\"%s\""
 msgstr "\"%s\""
 
-#: replication/logical/relation.c:243
+#: replication/logical/relation.c:245
 #, c-format
 msgid ", \"%s\""
 msgstr ", \"%s\""
 
-#: replication/logical/relation.c:249
+#: replication/logical/relation.c:251
 #, c-format
 msgid ""
 "logical replication target relation \"%s.%s\" is missing replicated column: "
@@ -22498,7 +23056,7 @@ msgstr[2] ""
 "в целевом отношении логической репликации (\"%s.%s\") отсутствуют "
 "реплицируемые столбцы: %s"
 
-#: replication/logical/relation.c:304
+#: replication/logical/relation.c:306
 #, c-format
 msgid ""
 "logical replication target relation \"%s.%s\" uses system columns in REPLICA "
@@ -22507,50 +23065,217 @@ msgstr ""
 "в целевом отношении логической репликации (\"%s.%s\") в индексе REPLICA "
 "IDENTITY используются системные столбцы"
 
-#: replication/logical/relation.c:396
+#: replication/logical/relation.c:398
 #, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "целевое отношение логической репликации \"%s.%s\" не существует"
 
-#: replication/logical/reorderbuffer.c:3936
+#: replication/logical/reorderbuffer.c:3994
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "не удалось записать в файл данных для XID %u: %m"
 
-#: replication/logical/reorderbuffer.c:4282
-#: replication/logical/reorderbuffer.c:4307
+#: replication/logical/reorderbuffer.c:4340
+#: replication/logical/reorderbuffer.c:4365
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
-msgstr "не удалось прочитать из файла подкачки буфера пересортировки: %m"
+msgstr "не удалось прочитать файл подкачки буфера пересортировки: %m"
 
-#: replication/logical/reorderbuffer.c:4286
-#: replication/logical/reorderbuffer.c:4311
+#: replication/logical/reorderbuffer.c:4344
+#: replication/logical/reorderbuffer.c:4369
 #, c-format
 msgid ""
 "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr ""
-"не удалось прочитать из файла подкачки буфера пересортировки (прочитано "
-"байт: %d, требовалось: %u)"
+"не удалось прочитать файл подкачки буфера пересортировки (прочитано байт: "
+"%d, требовалось: %u)"
 
-#: replication/logical/reorderbuffer.c:4561
+#: replication/logical/reorderbuffer.c:4619
 #, c-format
 msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
 msgstr ""
 "ошибка при удалении файла \"%s\" в процессе удаления pg_replslot/%s/xid*: %m"
 
-#: replication/logical/reorderbuffer.c:5057
+#: replication/logical/reorderbuffer.c:5115
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d, требовалось: %d)"
+
+#: replication/logical/slotsync.c:215
+#, c-format
+msgid ""
+"could not synchronize replication slot \"%s\" because remote slot precedes "
+"local slot"
 msgstr ""
-"не удалось прочитать из файла \"%s\" (прочитано байт: %d, требовалось: %d)"
+"синхронизировать слот репликации \"%s\" не удалось, так как состояние "
+"удалённого слота предшествует локальному"
+
+#: replication/logical/slotsync.c:217
+#, c-format
+msgid ""
+"The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has "
+"LSN %X/%X and catalog xmin %u."
+msgstr ""
+"Для удалённого слота текущий LSN %X/%X и xmin каталога %u, тогда как для "
+"локального — LSN %X/%X и xmin каталога %u."
+
+#: replication/logical/slotsync.c:459
+#, c-format
+msgid "dropped replication slot \"%s\" of database with OID %u"
+msgstr "слот репликации \"%s\" базы данных с OID %u удалён"
+
+#: replication/logical/slotsync.c:579
+#, c-format
+msgid "could not synchronize replication slot \"%s\""
+msgstr "не удалось синхронизировать слот репликации \"%s\""
+
+#: replication/logical/slotsync.c:580
+#, c-format
+msgid ""
+"Logical decoding could not find consistent point from local slot's LSN %X/%X."
+msgstr ""
+"При логическом декодировании не удалось найти точку согласованности от LSN "
+"локального слота %X/%X."
+
+#: replication/logical/slotsync.c:589
+#, c-format
+msgid "newly created replication slot \"%s\" is sync-ready now"
+msgstr "созданный слот репликации \"%s\" сейчас готов к синхронизации"
+
+#: replication/logical/slotsync.c:628
+#, c-format
+msgid ""
+"skipping slot synchronization because the received slot sync LSN %X/%X for "
+"slot \"%s\" is ahead of the standby position %X/%X"
+msgstr ""
+"синхронизация слота пропускается, потому что полученная позиция LSN %X/%X "
+"для слота \"%s\" предшествует позиции %X/%X на резервном сервере"
+
+#: replication/logical/slotsync.c:650
+#, c-format
+msgid ""
+"exiting from slot synchronization because same name slot \"%s\" already "
+"exists on the standby"
+msgstr ""
+"синхронизация слота отменяется, потому что слот с таким же именем \"%s\" уже "
+"существует на резервном сервере"
+
+#: replication/logical/slotsync.c:819
+#, c-format
+msgid "could not fetch failover logical slots info from the primary server: %s"
+msgstr ""
+"не удалось получить информацию о переносимых логических слотах с главного "
+"сервера: %s"
+
+#: replication/logical/slotsync.c:965
+#, c-format
+msgid ""
+"could not fetch primary_slot_name \"%s\" info from the primary server: %s"
+msgstr "не удалось получить информацию о слоте \"%s\" с главного сервера: %s"
+
+# skip-rule: nastroy1
+#: replication/logical/slotsync.c:967
+#, c-format
+msgid "Check if primary_slot_name is configured correctly."
+msgstr "Проверьте правильность настройки primary_slot_name."
+
+#: replication/logical/slotsync.c:987
+#, c-format
+msgid "cannot synchronize replication slots from a standby server"
+msgstr "синхронизировать слоты репликации с резервного сервера нельзя"
+
+#. translator: second %s is a GUC variable name
+#: replication/logical/slotsync.c:996
+#, c-format
+msgid ""
+"replication slot \"%s\" specified by \"%s\" does not exist on primary server"
+msgstr ""
+"слот репликации \"%s\", заданный в \"%s\", не существует на главном сервере"
+
+#. translator: first %s is a connection option; second %s is a GUC
+#. variable name
+#.
+#: replication/logical/slotsync.c:1029
+#, c-format
+msgid ""
+"replication slot synchronization requires \"%s\" to be specified in \"%s\""
+msgstr "для синхронизации слотов репликации требуется указание \"%s\" в \"%s\""
+
+#: replication/logical/slotsync.c:1050
+#, c-format
+msgid "replication slot synchronization requires \"wal_level\" >= \"logical\""
+msgstr ""
+"для синхронизации слотов репликации требуется \"wal_level\" >= \"logical\""
+
+#. translator: %s is a GUC variable name
+#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091
+#, c-format
+msgid "replication slot synchronization requires \"%s\" to be set"
+msgstr "для синхронизации слотов репликации требуется установить \"%s\""
+
+#. translator: %s is a GUC variable name
+#: replication/logical/slotsync.c:1077
+#, c-format
+msgid "replication slot synchronization requires \"%s\" to be enabled"
+msgstr "для синхронизации слотов репликации требуется включить \"%s\""
+
+#. translator: %s is a GUC variable name
+#: replication/logical/slotsync.c:1129
+#, c-format
+msgid ""
+"replication slot synchronization worker will shut down because \"%s\" is "
+"disabled"
+msgstr ""
+"процесс синхронизации слотов репликации будет остановлен, так как \"%s\" "
+"отключён"
+
+#: replication/logical/slotsync.c:1138
+#, c-format
+msgid ""
+"replication slot synchronization worker will restart because of a parameter "
+"change"
+msgstr ""
+"процесс синхронизации слотов репликации будет перезапущен вследствие "
+"изменения параметров"
+
+#: replication/logical/slotsync.c:1162
+#, c-format
+msgid ""
+"replication slot synchronization worker is shutting down on receiving SIGINT"
+msgstr ""
+"процесс синхронизации слотов репликации останавливается, получив сигнал "
+"SIGINT"
+
+#: replication/logical/slotsync.c:1287
+#, c-format
+msgid "cannot synchronize replication slots when standby promotion is ongoing"
+msgstr ""
+"синхронизировать слоты репликации, когда выполняется повышение резервного "
+"сервера, нельзя"
+
+#: replication/logical/slotsync.c:1295
+#, c-format
+msgid "cannot synchronize replication slots concurrently"
+msgstr "многопоточная синхронизация слотов репликации не поддерживается"
 
-#: replication/logical/snapbuild.c:639
+#: replication/logical/slotsync.c:1403
+#, c-format
+msgid "slot sync worker started"
+msgstr "рабочий процесс синхронизации слотов запущен"
+
+#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900
+#: replication/walreceiver.c:307
+#, c-format
+msgid "could not connect to the primary server: %s"
+msgstr "не удалось подключиться к главному серверу: %s"
+
+#: replication/logical/snapbuild.c:653
 #, c-format
 msgid "initial slot snapshot too large"
 msgstr "изначальный снимок слота слишком большой"
 
 # skip-rule: capital-letter-first
-#: replication/logical/snapbuild.c:693
+#: replication/logical/snapbuild.c:707
 #, c-format
 msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
 msgid_plural ""
@@ -22562,68 +23287,68 @@ msgstr[1] ""
 msgstr[2] ""
 "экспортирован снимок логического декодирования: \"%s\" (ид. транзакций: %u)"
 
-#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480
-#: replication/logical/snapbuild.c:1996
+#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
+#: replication/logical/snapbuild.c:2017
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "процесс логического декодирования достиг точки согласованности в %X/%X"
 
-#: replication/logical/snapbuild.c:1390
+#: replication/logical/snapbuild.c:1406
 #, c-format
 msgid "There are no running transactions."
 msgstr "Больше активных транзакций нет."
 
-#: replication/logical/snapbuild.c:1432
+#: replication/logical/snapbuild.c:1453
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr ""
 "процесс логического декодирования нашёл начальную стартовую точку в %X/%X"
 
-#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458
+#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
 msgid "Waiting for transactions (approximately %d) older than %u to end."
 msgstr "Ожидание транзакций (примерно %d), старее %u до конца."
 
-#: replication/logical/snapbuild.c:1456
+#: replication/logical/snapbuild.c:1477
 #, c-format
 msgid "logical decoding found initial consistent point at %X/%X"
 msgstr ""
 "при логическом декодировании найдена начальная точка согласованности в %X/%X"
 
-#: replication/logical/snapbuild.c:1482
+#: replication/logical/snapbuild.c:1503
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Больше старых транзакций нет."
 
-#: replication/logical/snapbuild.c:1883
+#: replication/logical/snapbuild.c:1904
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr ""
 "файл состояния snapbuild \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1889
+#: replication/logical/snapbuild.c:1910
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr ""
 "файл состояния snapbuild \"%s\" имеет неправильную версию (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1930
+#: replication/logical/snapbuild.c:1951
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr ""
 "в файле состояния snapbuild \"%s\" неверная контрольная сумма (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1998
+#: replication/logical/snapbuild.c:2019
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Логическое декодирование начнётся с сохранённого снимка."
 
-#: replication/logical/snapbuild.c:2105
+#: replication/logical/snapbuild.c:2126
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "не удалось разобрать имя файла \"%s\""
 
-#: replication/logical/tablesync.c:160
+#: replication/logical/tablesync.c:161
 #, c-format
 msgid ""
 "logical replication table synchronization worker for subscription \"%s\", "
@@ -22632,7 +23357,7 @@ msgstr ""
 "процесс синхронизации таблицы при логической репликации для подписки \"%s\", "
 "таблицы \"%s\" закончил обработку"
 
-#: replication/logical/tablesync.c:639
+#: replication/logical/tablesync.c:641
 #, c-format
 msgid ""
 "logical replication apply worker for subscription \"%s\" will restart so "
@@ -22641,25 +23366,25 @@ msgstr ""
 "применяющий процесс логической репликации для подписки \"%s\" будет "
 "перезапущен, чтобы можно было включить режим two_phase"
 
-#: replication/logical/tablesync.c:814 replication/logical/tablesync.c:956
+#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
 msgstr ""
 "не удалось получить информацию о таблице \"%s.%s\" с сервера публикации: %s"
 
-#: replication/logical/tablesync.c:821
+#: replication/logical/tablesync.c:834
 #, c-format
 msgid "table \"%s.%s\" not found on publisher"
 msgstr "таблица \"%s.%s\" не найдена на сервере публикации"
 
-#: replication/logical/tablesync.c:879
+#: replication/logical/tablesync.c:892
 #, c-format
 msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s"
 msgstr ""
 "не удалось получить информацию о списке столбцов таблицы \"%s.%s\" с сервера "
 "публикации: %s"
 
-#: replication/logical/tablesync.c:1058
+#: replication/logical/tablesync.c:1071
 #, c-format
 msgid ""
 "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: "
@@ -22668,25 +23393,25 @@ msgstr ""
 "не удалось получить информацию о предложении WHERE таблицы \"%s.%s\" с "
 "сервера публикации: %s"
 
-#: replication/logical/tablesync.c:1217
+#: replication/logical/tablesync.c:1230
 #, c-format
 msgid "could not start initial contents copy for table \"%s.%s\": %s"
 msgstr ""
 "не удалось начать копирование начального содержимого таблицы \"%s.%s\": %s"
 
-#: replication/logical/tablesync.c:1418
+#: replication/logical/tablesync.c:1429
 #, c-format
 msgid "table copy could not start transaction on publisher: %s"
 msgstr ""
 "при копировании таблицы не удалось начать транзакцию на сервере публикации: "
 "%s"
 
-#: replication/logical/tablesync.c:1460
+#: replication/logical/tablesync.c:1472
 #, c-format
 msgid "replication origin \"%s\" already exists"
 msgstr "источник репликации \"%s\" уже существует"
 
-#: replication/logical/tablesync.c:1493 replication/logical/worker.c:2374
+#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361
 #, c-format
 msgid ""
 "user \"%s\" cannot replicate into relation with row-level security enabled: "
@@ -22695,14 +23420,14 @@ msgstr ""
 "пользователь \"%s\" не может реплицировать данные в отношение с включённой "
 "защитой на уровне строк: \"%s\""
 
-#: replication/logical/tablesync.c:1506
+#: replication/logical/tablesync.c:1518
 #, c-format
 msgid "table copy could not finish transaction on publisher: %s"
 msgstr ""
 "при копировании таблицы не удалось завершить транзакцию на сервере "
 "публикации: %s"
 
-#: replication/logical/worker.c:499
+#: replication/logical/worker.c:481
 #, c-format
 msgid ""
 "logical replication parallel apply worker for subscription \"%s\" will stop"
@@ -22710,7 +23435,7 @@ msgstr ""
 "параллельный применяющий процесс логической репликации для подписки \"%s\" "
 "будет остановлен"
 
-#: replication/logical/worker.c:501
+#: replication/logical/worker.c:483
 #, c-format
 msgid ""
 "Cannot handle streamed replication transactions using parallel apply workers "
@@ -22720,13 +23445,13 @@ msgstr ""
 "транзакций репликации, передаваемых в потоке, пока все таблицы не "
 "синхронизированы."
 
-#: replication/logical/worker.c:863 replication/logical/worker.c:978
+#: replication/logical/worker.c:852 replication/logical/worker.c:967
 #, c-format
 msgid "incorrect binary data format in logical replication column %d"
 msgstr ""
 "неправильный формат двоичных данных для столбца логической репликации %d"
 
-#: replication/logical/worker.c:2513
+#: replication/logical/worker.c:2500
 #, c-format
 msgid ""
 "publisher did not send replica identity column expected by the logical "
@@ -22735,7 +23460,7 @@ msgstr ""
 "сервер публикации не передал столбец идентификации реплики, ожидаемый для "
 "целевого отношения логической репликации \"%s.%s\""
 
-#: replication/logical/worker.c:2520
+#: replication/logical/worker.c:2507
 #, c-format
 msgid ""
 "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY "
@@ -22746,22 +23471,22 @@ msgstr ""
 "IDENTITY, ни ключа PRIMARY KEY, и публикуемое отношение не имеет "
 "характеристики REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:3384
+#: replication/logical/worker.c:3371
 #, c-format
 msgid "invalid logical replication message type \"??? (%d)\""
 msgstr "неверный тип сообщения логической репликации \"??? (%d)\""
 
-#: replication/logical/worker.c:3556
+#: replication/logical/worker.c:3543
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "поток данных с сервера публикации закончился"
 
-#: replication/logical/worker.c:3713
+#: replication/logical/worker.c:3697
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "завершение обработчика логической репликации из-за тайм-аута"
 
-#: replication/logical/worker.c:3907
+#: replication/logical/worker.c:3891
 #, c-format
 msgid ""
 "logical replication worker for subscription \"%s\" will stop because the "
@@ -22770,7 +23495,7 @@ msgstr ""
 "процесс логической репликации для подписки \"%s\" будет остановлен, так как "
 "подписка была удалена"
 
-#: replication/logical/worker.c:3920
+#: replication/logical/worker.c:3905
 #, c-format
 msgid ""
 "logical replication worker for subscription \"%s\" will stop because the "
@@ -22779,7 +23504,7 @@ msgstr ""
 "процесс логической репликации для подписки \"%s\" будет остановлен, так как "
 "подписка была отключена"
 
-#: replication/logical/worker.c:3951
+#: replication/logical/worker.c:3936
 #, c-format
 msgid ""
 "logical replication parallel apply worker for subscription \"%s\" will stop "
@@ -22788,7 +23513,7 @@ msgstr ""
 "параллельный применяющий процесс логической репликации для подписки \"%s\" "
 "будет остановлен вследствие изменения параметров"
 
-#: replication/logical/worker.c:3955
+#: replication/logical/worker.c:3940
 #, c-format
 msgid ""
 "logical replication worker for subscription \"%s\" will restart because of a "
@@ -22797,8 +23522,32 @@ msgstr ""
 "процесс логической репликации для подписки \"%s\" будет перезапущен "
 "вследствие изменения параметров"
 
+#: replication/logical/worker.c:3954
+#, c-format
+msgid ""
+"logical replication parallel apply worker for subscription \"%s\" will stop "
+"because the subscription owner's superuser privileges have been revoked"
+msgstr ""
+"процесс параллельного применения изменений логической репликации для "
+"подписки \"%s\" будет остановлен, потому что владелец подписки был лишён "
+"прав суперпользователя"
+
+#: replication/logical/worker.c:3958
+#, c-format
+msgid ""
+"logical replication worker for subscription \"%s\" will restart because the "
+"subscription owner's superuser privileges have been revoked"
+msgstr ""
+"процесс логической репликации для подписки \"%s\" будет перезапущен, потому "
+"что владелец подписки был лишён прав суперпользователя"
+
 #: replication/logical/worker.c:4478
 #, c-format
+msgid "subscription has no replication slot set"
+msgstr "для подписки не задан слот репликации"
+
+#: replication/logical/worker.c:4591
+#, c-format
 msgid ""
 "logical replication worker for subscription %u will not start because the "
 "subscription was removed during startup"
@@ -22806,7 +23555,7 @@ msgstr ""
 "процесс логической репликации для подписки %u не будет запущен, так как "
 "подписка была удалена при старте"
 
-#: replication/logical/worker.c:4493
+#: replication/logical/worker.c:4607
 #, c-format
 msgid ""
 "logical replication worker for subscription \"%s\" will not start because "
@@ -22815,7 +23564,7 @@ msgstr ""
 "процесс логической репликации для подписки \"%s\" не будет запущен, так как "
 "подписка была отключена при старте"
 
-#: replication/logical/worker.c:4510
+#: replication/logical/worker.c:4631
 #, c-format
 msgid ""
 "logical replication table synchronization worker for subscription \"%s\", "
@@ -22824,40 +23573,35 @@ msgstr ""
 "процесс синхронизации таблицы при логической репликации для подписки \"%s\", "
 "таблицы \"%s\" запущен"
 
-#: replication/logical/worker.c:4515
+#: replication/logical/worker.c:4636
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr ""
 "запускается применяющий процесс логической репликации для подписки \"%s\""
 
-#: replication/logical/worker.c:4590
-#, c-format
-msgid "subscription has no replication slot set"
-msgstr "для подписки не задан слот репликации"
-
-#: replication/logical/worker.c:4757
+#: replication/logical/worker.c:4758
 #, c-format
 msgid "subscription \"%s\" has been disabled because of an error"
 msgstr "подписка \"%s\" была отключена из-за ошибки"
 
-#: replication/logical/worker.c:4805
+#: replication/logical/worker.c:4806
 #, c-format
 msgid "logical replication starts skipping transaction at LSN %X/%X"
 msgstr ""
 "обработчик логической репликации начинает пропускать транзакцию с LSN %X/%X"
 
-#: replication/logical/worker.c:4819
+#: replication/logical/worker.c:4820
 #, c-format
 msgid "logical replication completed skipping transaction at LSN %X/%X"
 msgstr ""
 "обработчик логической репликации завершил пропуск транзакции с LSN %X/%X"
 
-#: replication/logical/worker.c:4901
+#: replication/logical/worker.c:4902
 #, c-format
 msgid "skip-LSN of subscription \"%s\" cleared"
 msgstr "значение skip-LSN для подписки \"%s\" очищено"
 
-#: replication/logical/worker.c:4902
+#: replication/logical/worker.c:4903
 #, c-format
 msgid ""
 "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN "
@@ -22866,7 +23610,7 @@ msgstr ""
 "Позиция завершения удалённой транзакции в WAL (LSN) %X/%X не совпала со "
 "значением skip-LSN %X/%X."
 
-#: replication/logical/worker.c:4928
+#: replication/logical/worker.c:4940
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22875,7 +23619,7 @@ msgstr ""
 "обработка внешних данных для источника репликации \"%s\" в контексте "
 "сообщения типа \"%s\""
 
-#: replication/logical/worker.c:4932
+#: replication/logical/worker.c:4944
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22884,7 +23628,7 @@ msgstr ""
 "обработка внешних данных из источника репликации \"%s\" в контексте "
 "сообщения типа \"%s\" в транзакции %u"
 
-#: replication/logical/worker.c:4937
+#: replication/logical/worker.c:4949
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22893,7 +23637,7 @@ msgstr ""
 "обработка внешних данных для источника репликации \"%s\" в контексте "
 "сообщения типа \"%s\" в транзакции %u, конечная позиция %X/%X"
 
-#: replication/logical/worker.c:4948
+#: replication/logical/worker.c:4960
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22903,7 +23647,7 @@ msgstr ""
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в "
 "транзакции %u"
 
-#: replication/logical/worker.c:4955
+#: replication/logical/worker.c:4967
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22914,7 +23658,7 @@ msgstr ""
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в "
 "транзакции %u, конечная позиция %X/%X"
 
-#: replication/logical/worker.c:4966
+#: replication/logical/worker.c:4978
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22925,7 +23669,7 @@ msgstr ""
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца "
 "\"%s\", в транзакции %u"
 
-#: replication/logical/worker.c:4974
+#: replication/logical/worker.c:4986
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
@@ -22936,22 +23680,27 @@ msgstr ""
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца "
 "\"%s\", в транзакции %u, конечная позиция %X/%X"
 
-#: replication/pgoutput/pgoutput.c:317
+#: replication/pgoutput/pgoutput.c:315
 #, c-format
 msgid "invalid proto_version"
 msgstr "неверное значение proto_version"
 
-#: replication/pgoutput/pgoutput.c:322
+#: replication/pgoutput/pgoutput.c:320
 #, c-format
 msgid "proto_version \"%s\" out of range"
 msgstr "значение proto_verson \"%s\" вне диапазона"
 
-#: replication/pgoutput/pgoutput.c:339
+#: replication/pgoutput/pgoutput.c:337
 #, c-format
 msgid "invalid publication_names syntax"
 msgstr "неверный синтаксис publication_names"
 
-#: replication/pgoutput/pgoutput.c:440
+#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411
+#, c-format
+msgid "option \"%s\" missing"
+msgstr "параметр \"%s\" отсутствует"
+
+#: replication/pgoutput/pgoutput.c:452
 #, c-format
 msgid ""
 "client sent proto_version=%d but server only supports protocol %d or lower"
@@ -22959,7 +23708,7 @@ msgstr ""
 "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и "
 "ниже"
 
-#: replication/pgoutput/pgoutput.c:446
+#: replication/pgoutput/pgoutput.c:458
 #, c-format
 msgid ""
 "client sent proto_version=%d but server only supports protocol %d or higher"
@@ -22967,12 +23716,7 @@ msgstr ""
 "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и "
 "выше"
 
-#: replication/pgoutput/pgoutput.c:452
-#, c-format
-msgid "publication_names parameter missing"
-msgstr "отсутствует параметр publication_names"
-
-#: replication/pgoutput/pgoutput.c:466
+#: replication/pgoutput/pgoutput.c:473
 #, c-format
 msgid ""
 "requested proto_version=%d does not support streaming, need %d or higher"
@@ -22980,7 +23724,7 @@ msgstr ""
 "запрошенная версия proto_version=%d не поддерживает потоковую передачу, "
 "требуется версия %d или выше"
 
-#: replication/pgoutput/pgoutput.c:472
+#: replication/pgoutput/pgoutput.c:479
 #, c-format
 msgid ""
 "requested proto_version=%d does not support parallel streaming, need %d or "
@@ -22989,12 +23733,12 @@ msgstr ""
 "запрошенная версия proto_version=%d не поддерживает параллельную потоковую "
 "передачу, требуется версия %d или выше"
 
-#: replication/pgoutput/pgoutput.c:477
+#: replication/pgoutput/pgoutput.c:484
 #, c-format
 msgid "streaming requested, but not supported by output plugin"
 msgstr "запрошена потоковая передача, но она не поддерживается модулем вывода"
 
-#: replication/pgoutput/pgoutput.c:494
+#: replication/pgoutput/pgoutput.c:498
 #, c-format
 msgid ""
 "requested proto_version=%d does not support two-phase commit, need %d or "
@@ -23003,27 +23747,27 @@ msgstr ""
 "запрошенная версия proto_version=%d не поддерживает двухфазную фиксацию, "
 "требуется версия %d или выше"
 
-#: replication/pgoutput/pgoutput.c:499
+#: replication/pgoutput/pgoutput.c:503
 #, c-format
 msgid "two-phase commit requested, but not supported by output plugin"
 msgstr "запрошена двухфазная фиксация, но она не поддерживается модулем вывода"
 
-#: replication/slot.c:207
+#: replication/slot.c:260
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "имя слота репликации \"%s\" слишком короткое"
 
-#: replication/slot.c:216
+#: replication/slot.c:269
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "имя слота репликации \"%s\" слишком длинное"
 
-#: replication/slot.c:229
+#: replication/slot.c:282
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "имя слота репликации \"%s\" содержит недопустимый символ"
 
-#: replication/slot.c:231
+#: replication/slot.c:284
 #, c-format
 msgid ""
 "Replication slot names may only contain lower case letters, numbers, and the "
@@ -23032,59 +23776,112 @@ msgstr ""
 "Имя слота репликации может содержать только буквы в нижнем регистре, цифры и "
 "знак подчёркивания."
 
-#: replication/slot.c:285
+#: replication/slot.c:333
+#, c-format
+msgid "cannot enable failover for a replication slot created on the standby"
+msgstr ""
+"слот репликации, созданный на ведомом сервере, не может быть переносимым"
+
+#: replication/slot.c:345 replication/slot.c:849
+#, c-format
+msgid "cannot enable failover for a temporary replication slot"
+msgstr "временный слот репликации не может быть переносимым"
+
+#: replication/slot.c:370
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "слот репликации \"%s\" уже существует"
 
-#: replication/slot.c:295
+#: replication/slot.c:380
 #, c-format
 msgid "all replication slots are in use"
 msgstr "используются все слоты репликации"
 
-#: replication/slot.c:296
+#: replication/slot.c:381
 #, c-format
-msgid "Free one or increase max_replication_slots."
-msgstr "Ð\9eÑ\81вободиÑ\82е Ð½ÐµÐ½Ñ\83жнÑ\8bе Ð¸Ð»Ð¸ Ñ\83велиÑ\87Ñ\8cÑ\82е Ð¿Ð°Ñ\80амеÑ\82Ñ\80 max_replication_slots."
+msgid "Free one or increase \"max_replication_slots\"."
+msgstr "Ð\9eÑ\81вободиÑ\82е Ð½ÐµÐ½Ñ\83жнÑ\8bй Ð¸Ð»Ð¸ Ñ\83велиÑ\87Ñ\8cÑ\82е Ð¿Ð°Ñ\80амеÑ\82Ñ\80 \"max_replication_slots\"."
 
-#: replication/slot.c:474 replication/slotfuncs.c:736
-#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774
+#: replication/slot.c:560 replication/slot.c:2453 replication/slotfuncs.c:661
+#: utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:728
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "слот репликации \"%s\" не существует"
 
-#: replication/slot.c:520 replication/slot.c:1110
+#: replication/slot.c:606 replication/slot.c:1337
 #, c-format
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "слот репликации \"%s\" занят процессом с PID %d"
 
-#: replication/slot.c:756 replication/slot.c:1672 replication/slot.c:2055
+#: replication/slot.c:638
+#, c-format
+msgid "acquired logical replication slot \"%s\""
+msgstr "получен слот логической репликации \"%s\""
+
+#: replication/slot.c:640
+#, c-format
+msgid "acquired physical replication slot \"%s\""
+msgstr "получен слот физической репликации \"%s\""
+
+#: replication/slot.c:729
+#, c-format
+msgid "released logical replication slot \"%s\""
+msgstr "освобождён слот логической репликации \"%s\""
+
+#: replication/slot.c:731
+#, c-format
+msgid "released physical replication slot \"%s\""
+msgstr "освобождён слот физической репликации \"%s\""
+
+#: replication/slot.c:797
+#, c-format
+msgid "cannot drop replication slot \"%s\""
+msgstr "удалить слот репликации \"%s\" нельзя"
+
+#: replication/slot.c:816
+#, c-format
+msgid "cannot use %s with a physical replication slot"
+msgstr "выполнить %s со слотом физической репликации нельзя"
+
+#: replication/slot.c:828
+#, c-format
+msgid "cannot alter replication slot \"%s\""
+msgstr "изменить слот репликации \"%s\" нельзя"
+
+#: replication/slot.c:838
+#, c-format
+msgid "cannot enable failover for a replication slot on the standby"
+msgstr "сделать переносимым слот репликации на ведомом сервере нельзя"
+
+#: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "ошибка при удалении каталога \"%s\""
 
-#: replication/slot.c:1145
+#: replication/slot.c:1372
 #, c-format
-msgid "replication slots can only be used if max_replication_slots > 0"
+msgid "replication slots can only be used if \"max_replication_slots\" > 0"
 msgstr ""
-"слоты репликации можно использовать, только если max_replication_slots > 0"
+"слоты репликации можно использовать, только если \"max_replication_slots\" > "
+"0"
 
-#: replication/slot.c:1150
+#: replication/slot.c:1377
 #, c-format
-msgid "replication slots can only be used if wal_level >= replica"
-msgstr "слоты репликации можно использовать, только если wal_level >= replica"
+msgid "replication slots can only be used if \"wal_level\" >= \"replica\""
+msgstr ""
+"слоты репликации можно использовать, только если \"wal_level\" >= \"replica\""
 
-#: replication/slot.c:1162
+#: replication/slot.c:1389
 #, c-format
 msgid "permission denied to use replication slots"
 msgstr "нет прав для использования слотов репликации"
 
-#: replication/slot.c:1163
+#: replication/slot.c:1390
 #, c-format
 msgid "Only roles with the %s attribute may use replication slots."
 msgstr "Использовать слоты репликации могут только роли с атрибутом %s."
 
-#: replication/slot.c:1271
+#: replication/slot.c:1498
 #, c-format
 msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
 msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
@@ -23092,99 +23889,178 @@ msgstr[0] "Позиция restart_lsn %X/%X слота превысила пре
 msgstr[1] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б."
 msgstr[2] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б."
 
-#: replication/slot.c:1279
+#: replication/slot.c:1506
 #, c-format
 msgid "The slot conflicted with xid horizon %u."
 msgstr "Слот конфликтует с горизонтом xid %u."
 
-#: replication/slot.c:1284
+#: replication/slot.c:1511
 msgid ""
-"Logical decoding on standby requires wal_level >= logical on the primary "
-"server."
+"Logical decoding on standby requires \"wal_level\" >= \"logical\" on the "
+"primary server."
 msgstr ""
-"Для логического декодирования на ведомом сервере требуется wal_level >= "
-"logical на ведущем."
+"Для логического декодирования на ведомом сервере требуется \"wal_level\" >= "
+"\"logical\" на ведущем."
 
-#: replication/slot.c:1292
+#: replication/slot.c:1519
 #, c-format
 msgid "terminating process %d to release replication slot \"%s\""
 msgstr "завершение процесса %d для освобождения слота репликации \"%s\""
 
-#: replication/slot.c:1294
+#: replication/slot.c:1521
 #, c-format
 msgid "invalidating obsolete replication slot \"%s\""
 msgstr "аннулирование устаревшего слота репликации \"%s\""
 
-#: replication/slot.c:1993
+#: replication/slot.c:2249
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr ""
 "файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
 
-#: replication/slot.c:2000
+#: replication/slot.c:2256
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u"
 
-#: replication/slot.c:2007
+#: replication/slot.c:2263
+#, c-format
+msgid "replication slot file \"%s\" has corrupted length %u"
+msgstr "у файла слота репликации \"%s\" неверная длина: %u"
+
+#: replication/slot.c:2299
+#, c-format
+msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
+msgstr ""
+"в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)"
+
+#: replication/slot.c:2333
+#, c-format
+msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\""
+msgstr ""
+"существует слот логической репликации \"%s\", но \"wal_level\" < \"logical\""
+
+#: replication/slot.c:2335
+#, c-format
+msgid "Change \"wal_level\" to be \"logical\" or higher."
+msgstr "Смените \"wal_level\" на \"logical\" или более высокий уровень."
+
+#: replication/slot.c:2339
+#, c-format
+msgid ""
+"physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\""
+msgstr ""
+"существует слот физической репликации \"%s\", но \"wal_level\" < \"replica\""
+
+#: replication/slot.c:2341
+#, c-format
+msgid "Change \"wal_level\" to be \"replica\" or higher."
+msgstr "Смените \"wal_level\" на \"replica\" или более высокий уровень."
+
+#: replication/slot.c:2383
+#, c-format
+msgid "too many replication slots active before shutdown"
+msgstr "перед завершением активно слишком много слотов репликации"
+
+#: replication/slot.c:2461
+#, c-format
+msgid "\"%s\" is not a physical replication slot"
+msgstr "\"%s\" не является слотом физической репликации"
+
+#: replication/slot.c:2638
+#, c-format
+msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist"
+msgstr "слот репликации \"%s\", указанный в параметре \"%s\", не существует"
+
+#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696
+#, c-format
+msgid ""
+"Logical replication is waiting on the standby associated with replication "
+"slot \"%s\"."
+msgstr ""
+"Логическая репликация ожидает резервного сервера, связанного со слотом "
+"репликации \"%s\"."
+
+#: replication/slot.c:2642
 #, c-format
-msgid "replication slot file \"%s\" has corrupted length %u"
-msgstr "у файла слота репликации \"%s\" неверная длина: %u"
+msgid "Create the replication slot \"%s\" or amend parameter \"%s\"."
+msgstr "Создайте слот репликации \"%s\" или опустите параметр \"%s\"."
 
-#: replication/slot.c:2043
+#: replication/slot.c:2659
 #, c-format
-msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
+msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\""
 msgstr ""
-"в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)"
+"слот логической репликации \"%s\" не может быть указан в параметре \"%s\""
 
-#: replication/slot.c:2077
+#: replication/slot.c:2661
 #, c-format
-msgid "logical replication slot \"%s\" exists, but wal_level < logical"
-msgstr "существует слот логической репликации \"%s\", но wal_level < logical"
+msgid ""
+"Logical replication is waiting for correction on replication slot \"%s\"."
+msgstr "Логическая репликация ожидает исправления слота репликации \"%s\"."
 
-#: replication/slot.c:2079
+#: replication/slot.c:2663
 #, c-format
-msgid "Change wal_level to be logical or higher."
-msgstr "Смените wal_level на logical или более высокий уровень."
+msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"."
+msgstr ""
+"Удалите указание слота логической репликации \"%s\" из параметра \"%s\"."
 
-#: replication/slot.c:2083
+#: replication/slot.c:2679
 #, c-format
-msgid "physical replication slot \"%s\" exists, but wal_level < replica"
-msgstr "существует слот физической репликации \"%s\", но wal_level < replica"
+msgid ""
+"physical replication slot \"%s\" specified in parameter \"%s\" has been "
+"invalidated"
+msgstr ""
+"слот физической репликации \"%s\", указанный в параметре \"%s\", был "
+"аннулирован"
 
-#: replication/slot.c:2085
+#: replication/slot.c:2683
 #, c-format
-msgid "Change wal_level to be replica or higher."
-msgstr "Смените wal_level на replica или более высокий уровень."
+msgid ""
+"Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"."
+msgstr ""
+"Удалите и пересоздайте слот репликации \"%s\" или опустите параметр \"%s\"."
 
-#: replication/slot.c:2119
+#: replication/slot.c:2694
 #, c-format
-msgid "too many replication slots active before shutdown"
-msgstr "перед завершением активно слишком много слотов репликации"
+msgid ""
+"replication slot \"%s\" specified in parameter \"%s\" does not have "
+"active_pid"
+msgstr ""
+"у слота репликации \"%s\", указанного в параметре \"%s\", нулевое значение "
+"active_pid"
+
+#: replication/slot.c:2698
+#, c-format
+msgid ""
+"Start the standby associated with the replication slot \"%s\", or amend "
+"parameter \"%s\"."
+msgstr ""
+"Запустите резервный сервер, связанный со слотом репликации \"%s\", или "
+"опустите параметр \"%s\"."
 
-#: replication/slotfuncs.c:601
+#: replication/slotfuncs.c:526
 #, c-format
 msgid "invalid target WAL LSN"
 msgstr "неверный целевой LSN"
 
-#: replication/slotfuncs.c:623
+#: replication/slotfuncs.c:548
 #, c-format
 msgid "replication slot \"%s\" cannot be advanced"
 msgstr "слот репликации \"%s\" нельзя продвинуть вперёд"
 
-#: replication/slotfuncs.c:625
+#: replication/slotfuncs.c:550
 #, c-format
 msgid ""
 "This slot has never previously reserved WAL, or it has been invalidated."
 msgstr "Для этого слота ранее не резервировался WAL либо слот был аннулирован."
 
-#: replication/slotfuncs.c:641
+#: replication/slotfuncs.c:566
 #, c-format
 msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
 msgstr ""
 "продвинуть слот репликации к позиции %X/%X нельзя, минимальная позиция: %X/%X"
 
-#: replication/slotfuncs.c:748
+#: replication/slotfuncs.c:673
 #, c-format
 msgid ""
 "cannot copy physical replication slot \"%s\" as a logical replication slot"
@@ -23192,7 +24068,7 @@ msgstr ""
 "слот физической репликации \"%s\" нельзя скопировать как слот логической "
 "репликации"
 
-#: replication/slotfuncs.c:750
+#: replication/slotfuncs.c:675
 #, c-format
 msgid ""
 "cannot copy logical replication slot \"%s\" as a physical replication slot"
@@ -23200,17 +24076,17 @@ msgstr ""
 "слот логической репликации \"%s\" нельзя скопировать как слот физической "
 "репликации"
 
-#: replication/slotfuncs.c:757
+#: replication/slotfuncs.c:682
 #, c-format
 msgid "cannot copy a replication slot that doesn't reserve WAL"
 msgstr "скопировать слот репликации, для которого не резервируется WAL, нельзя"
 
-#: replication/slotfuncs.c:834
+#: replication/slotfuncs.c:768
 #, c-format
 msgid "could not copy replication slot \"%s\""
 msgstr "не удалось скопировать слот репликации \"%s\""
 
-#: replication/slotfuncs.c:836
+#: replication/slotfuncs.c:770
 #, c-format
 msgid ""
 "The source replication slot was modified incompatibly during the copy "
@@ -23219,21 +24095,26 @@ msgstr ""
 "Исходный слот репликации был модифицирован несовместимым образом во время "
 "копирования."
 
-#: replication/slotfuncs.c:842
+#: replication/slotfuncs.c:776
 #, c-format
 msgid "cannot copy unfinished logical replication slot \"%s\""
 msgstr ""
 "скопировать слот логической репликации \"%s\" в незавершённом состоянии "
 "нельзя"
 
-#: replication/slotfuncs.c:844
+#: replication/slotfuncs.c:778
 #, c-format
 msgid "Retry when the source replication slot's confirmed_flush_lsn is valid."
 msgstr ""
 "Повторите попытку, когда для исходного слота репликации будет определена "
 "позиция confirmed_flush_lsn."
 
-#: replication/syncrep.c:262
+#: replication/slotfuncs.c:877
+#, c-format
+msgid "replication slots can only be synchronized to a standby server"
+msgstr "слоты репликации могут синхронизироваться только с резервным сервером"
+
+#: replication/syncrep.c:261
 #, c-format
 msgid ""
 "canceling the wait for synchronous replication and terminating connection "
@@ -23242,7 +24123,7 @@ msgstr ""
 "отмена ожидания синхронной репликации и закрытие соединения по команде "
 "администратора"
 
-#: replication/syncrep.c:263 replication/syncrep.c:280
+#: replication/syncrep.c:262 replication/syncrep.c:279
 #, c-format
 msgid ""
 "The transaction has already committed locally, but might not have been "
@@ -23251,147 +24132,142 @@ msgstr ""
 "Транзакция уже была зафиксирована локально, но, возможно, не была "
 "реплицирована на резервный сервер."
 
-#: replication/syncrep.c:279
+#: replication/syncrep.c:278
 #, c-format
 msgid "canceling wait for synchronous replication due to user request"
 msgstr "отмена ожидания синхронной репликации по запросу пользователя"
 
-#: replication/syncrep.c:486
+#: replication/syncrep.c:485
 #, c-format
-msgid "standby \"%s\" is now a synchronous standby with priority %u"
-msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %u"
+msgid "standby \"%s\" is now a synchronous standby with priority %d"
+msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %d"
 
-#: replication/syncrep.c:490
+#: replication/syncrep.c:489
 #, c-format
 msgid "standby \"%s\" is now a candidate for quorum synchronous standby"
 msgstr ""
 "резервный сервер \"%s\" стал кандидатом для включения в кворум синхронных "
 "резервных"
 
-#: replication/syncrep.c:1019
+#: replication/syncrep.c:1013
 #, c-format
-msgid "synchronous_standby_names parser failed"
-msgstr "ошибка при разборе synchronous_standby_names"
+msgid "\"synchronous_standby_names\" parser failed"
+msgstr "ошибка при разборе \"synchronous_standby_names\""
 
-#: replication/syncrep.c:1025
+#: replication/syncrep.c:1019
 #, c-format
 msgid "number of synchronous standbys (%d) must be greater than zero"
 msgstr "число синхронных резервных серверов (%d) должно быть больше нуля"
 
-#: replication/walreceiver.c:180
+#: replication/walreceiver.c:176
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "завершение процесса считывания журнала по команде администратора"
 
-#: replication/walreceiver.c:305
-#, c-format
-msgid "could not connect to the primary server: %s"
-msgstr "не удалось подключиться к главному серверу: %s"
-
-#: replication/walreceiver.c:352
+#: replication/walreceiver.c:354
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "идентификаторы СУБД на главном и резервном серверах различаются"
 
-#: replication/walreceiver.c:353
+#: replication/walreceiver.c:355
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "Идентификатор на главном сервере: %s, на резервном: %s."
 
-#: replication/walreceiver.c:364
+#: replication/walreceiver.c:366
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr ""
 "последняя линия времени %u на главном сервере отстаёт от восстанавливаемой "
 "линии времени %u"
 
-#: replication/walreceiver.c:417
+#: replication/walreceiver.c:419
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr ""
 "начало передачи журнала с главного сервера, с позиции %X/%X на линии времени "
 "%u"
 
-#: replication/walreceiver.c:421
+#: replication/walreceiver.c:423
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u"
 
-#: replication/walreceiver.c:457
+#: replication/walreceiver.c:458
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "продолжить передачу WAL нельзя, восстановление уже окончено"
 
-#: replication/walreceiver.c:501
+#: replication/walreceiver.c:502
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "репликация прекращена главным сервером"
 
-#: replication/walreceiver.c:502
+#: replication/walreceiver.c:503
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "На линии времени %u в %X/%X достигнут конец журнала."
 
-#: replication/walreceiver.c:592
+#: replication/walreceiver.c:593
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "завершение приёма журнала из-за тайм-аута"
 
-#: replication/walreceiver.c:624
+#: replication/walreceiver.c:625
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr ""
 "на главном сервере больше нет журналов для запрошенной линии времени %u"
 
-#: replication/walreceiver.c:640 replication/walreceiver.c:1066
+#: replication/walreceiver.c:641 replication/walreceiver.c:1071
 #, c-format
 msgid "could not close WAL segment %s: %m"
 msgstr "не удалось закрыть сегмент WAL %s: %m"
 
-#: replication/walreceiver.c:759
+#: replication/walreceiver.c:760
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "загрузка файла истории для линии времени %u с главного сервера"
 
-#: replication/walreceiver.c:954
+#: replication/walreceiver.c:959
 #, c-format
-msgid "could not write to WAL segment %s at offset %u, length %lu: %m"
-msgstr "не удалось записать в сегмент WAL %s (смещение %u, длина %lu): %m"
+msgid "could not write to WAL segment %s at offset %d, length %lu: %m"
+msgstr "не удалось записать в сегмент WAL %s (смещение %d, длина %lu): %m"
 
-#: replication/walsender.c:519
+#: replication/walsender.c:531
 #, c-format
 msgid "cannot use %s with a logical replication slot"
 msgstr "использовать %s со слотом логической репликации нельзя"
 
-#: replication/walsender.c:623 storage/smgr/md.c:1529
+#: replication/walsender.c:635 storage/smgr/md.c:1723
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "не удалось перейти к концу файла \"%s\": %m"
 
-#: replication/walsender.c:627
+#: replication/walsender.c:639
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "не удалось перейти к началу файла \"%s\": %m"
 
-#: replication/walsender.c:704
+#: replication/walsender.c:853
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr ""
 "слот логической репликации нельзя использовать для физической репликации"
 
-#: replication/walsender.c:770
+#: replication/walsender.c:919
 #, c-format
 msgid ""
 "requested starting point %X/%X on timeline %u is not in this server's history"
 msgstr ""
 "в истории сервера нет запрошенной начальной точки %X/%X на линии времени %u"
 
-#: replication/walsender.c:773
+#: replication/walsender.c:922
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "История этого сервера ответвилась от линии времени %u в %X/%X."
 
-#: replication/walsender.c:817
+#: replication/walsender.c:966
 #, c-format
 msgid ""
 "requested starting point %X/%X is ahead of the WAL flush position of this "
@@ -23400,75 +24276,75 @@ msgstr ""
 "запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала "
 "на этом сервере (%X/%X)"
 
-#: replication/walsender.c:1010
+#: replication/walsender.c:1160
 #, c-format
 msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\""
 msgstr ""
 "нераспознанное значение для параметра CREATE_REPLICATION_SLOT \"%s\": \"%s\""
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1095
+#: replication/walsender.c:1266
 #, c-format
 msgid "%s must not be called inside a transaction"
 msgstr "%s требуется выполнять не в транзакции"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1105
+#: replication/walsender.c:1276
 #, c-format
 msgid "%s must be called inside a transaction"
 msgstr "%s требуется выполнять внутри транзакции"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1111
+#: replication/walsender.c:1282
 #, c-format
 msgid "%s must be called in REPEATABLE READ isolation mode transaction"
 msgstr "%s требуется выполнять в транзакции уровня изоляции REPEATABLE READ"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1116
+#: replication/walsender.c:1287
 #, c-format
 msgid "%s must be called in a read-only transaction"
 msgstr "%s требуется выполнять внутри транзакции только для чтения"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1122
+#: replication/walsender.c:1293
 #, c-format
 msgid "%s must be called before any query"
 msgstr "%s требуется выполнять до каких-либо запросов"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1128
+#: replication/walsender.c:1299
 #, c-format
 msgid "%s must not be called in a subtransaction"
 msgstr "%s требуется вызывать не в подтранзакции"
 
-#: replication/walsender.c:1275
+#: replication/walsender.c:1472
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "завершение процесса передачи журнала после повышения"
 
-#: replication/walsender.c:1696
+#: replication/walsender.c:2000
 #, c-format
 msgid "cannot execute new commands while WAL sender is in stopping mode"
 msgstr ""
 "нельзя выполнять новые команды, пока процесс передачи WAL находится в режиме "
 "остановки"
 
-#: replication/walsender.c:1731
+#: replication/walsender.c:2035
 #, c-format
 msgid "cannot execute SQL commands in WAL sender for physical replication"
 msgstr ""
 "нельзя выполнять команды SQL в процессе, передающем WAL для физической "
 "репликации"
 
-#: replication/walsender.c:1764
+#: replication/walsender.c:2068
 #, c-format
 msgid "received replication command: %s"
 msgstr "получена команда репликации: %s"
 
-#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138
-#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210
-#: tcop/postgres.c:2648 tcop/postgres.c:2726
+#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1142
+#: tcop/postgres.c:1500 tcop/postgres.c:1740 tcop/postgres.c:2210
+#: tcop/postgres.c:2648 tcop/postgres.c:2725
 #, c-format
 msgid ""
 "current transaction is aborted, commands ignored until end of transaction "
@@ -23476,147 +24352,147 @@ msgid ""
 msgstr ""
 "текущая транзакция прервана, команды до конца блока транзакции игнорируются"
 
-#: replication/walsender.c:1914 replication/walsender.c:1949
+#: replication/walsender.c:2233 replication/walsender.c:2268
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "неожиданный обрыв соединения с резервным сервером"
 
-#: replication/walsender.c:1937
+#: replication/walsender.c:2256
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "неверный тип сообщения резервного сервера: \"%c\""
 
-#: replication/walsender.c:2026
+#: replication/walsender.c:2345
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "неожиданный тип сообщения \"%c\""
 
-#: replication/walsender.c:2439
+#: replication/walsender.c:2759
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "завершение процесса передачи журнала из-за тайм-аута репликации"
 
-#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842
+#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:835
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "правило \"%s\" для отношения \"%s\" уже существует"
 
-#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780
+#: rewrite/rewriteDefine.c:261 rewrite/rewriteDefine.c:773
 #, c-format
 msgid "relation \"%s\" cannot have rules"
 msgstr "к отношению \"%s\" не могут применяться правила"
 
-#: rewrite/rewriteDefine.c:299
+#: rewrite/rewriteDefine.c:292
 #, c-format
 msgid "rule actions on OLD are not implemented"
 msgstr "действия правил для OLD не реализованы"
 
-#: rewrite/rewriteDefine.c:300
+#: rewrite/rewriteDefine.c:293
 #, c-format
 msgid "Use views or triggers instead."
 msgstr "Воспользуйтесь представлениями или триггерами."
 
-#: rewrite/rewriteDefine.c:304
+#: rewrite/rewriteDefine.c:297
 #, c-format
 msgid "rule actions on NEW are not implemented"
 msgstr "действия правил для NEW не реализованы"
 
-#: rewrite/rewriteDefine.c:305
+#: rewrite/rewriteDefine.c:298
 #, c-format
 msgid "Use triggers instead."
 msgstr "Воспользуйтесь триггерами."
 
-#: rewrite/rewriteDefine.c:319
+#: rewrite/rewriteDefine.c:312
 #, c-format
 msgid "relation \"%s\" cannot have ON SELECT rules"
 msgstr "к отношению \"%s\" не могут применяться правила ON SELECT"
 
-#: rewrite/rewriteDefine.c:329
+#: rewrite/rewriteDefine.c:322
 #, c-format
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "правила INSTEAD NOTHING для SELECT не реализованы"
 
-#: rewrite/rewriteDefine.c:330
+#: rewrite/rewriteDefine.c:323
 #, c-format
 msgid "Use views instead."
 msgstr "Воспользуйтесь представлениями."
 
-#: rewrite/rewriteDefine.c:338
+#: rewrite/rewriteDefine.c:331
 #, c-format
 msgid "multiple actions for rules on SELECT are not implemented"
 msgstr "множественные действия в правилах для SELECT не поддерживаются"
 
-#: rewrite/rewriteDefine.c:348
+#: rewrite/rewriteDefine.c:341
 #, c-format
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "в правилах для SELECT должно быть действие INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:356
+#: rewrite/rewriteDefine.c:349
 #, c-format
 msgid "rules on SELECT must not contain data-modifying statements in WITH"
 msgstr ""
 "правила для SELECT не должны содержать операторы, изменяющие данные, в WITH"
 
-#: rewrite/rewriteDefine.c:364
+#: rewrite/rewriteDefine.c:357
 #, c-format
 msgid "event qualifications are not implemented for rules on SELECT"
 msgstr "в правилах для SELECT не может быть условий"
 
-#: rewrite/rewriteDefine.c:391
+#: rewrite/rewriteDefine.c:384
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "\"%s\" уже является представлением"
 
-#: rewrite/rewriteDefine.c:415
+#: rewrite/rewriteDefine.c:408
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "правило представления для \"%s\" должно называться \"%s\""
 
-#: rewrite/rewriteDefine.c:442
+#: rewrite/rewriteDefine.c:435
 #, c-format
 msgid "cannot have multiple RETURNING lists in a rule"
 msgstr "в правиле нельзя указать несколько списков RETURNING"
 
-#: rewrite/rewriteDefine.c:447
+#: rewrite/rewriteDefine.c:440
 #, c-format
 msgid "RETURNING lists are not supported in conditional rules"
 msgstr "списки RETURNING в условных правилах не поддерживаются"
 
-#: rewrite/rewriteDefine.c:451
+#: rewrite/rewriteDefine.c:444
 #, c-format
 msgid "RETURNING lists are not supported in non-INSTEAD rules"
 msgstr "списки RETURNING поддерживаются только в правилах INSTEAD"
 
-#: rewrite/rewriteDefine.c:465
+#: rewrite/rewriteDefine.c:458
 #, c-format
 msgid "non-view rule for \"%s\" must not be named \"%s\""
 msgstr ""
 "не относящееся к представлению правило для \"%s\" не может называться \"%s\""
 
-#: rewrite/rewriteDefine.c:539
+#: rewrite/rewriteDefine.c:532
 #, c-format
 msgid "SELECT rule's target list has too many entries"
 msgstr "список результата правила для SELECT содержит слишком много столбцов"
 
-#: rewrite/rewriteDefine.c:540
+#: rewrite/rewriteDefine.c:533
 #, c-format
 msgid "RETURNING list has too many entries"
 msgstr "список RETURNING содержит слишком много столбцов"
 
-#: rewrite/rewriteDefine.c:567
+#: rewrite/rewriteDefine.c:560
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr ""
 "преобразовать отношение, содержащее удалённые столбцы, в представление нельзя"
 
-#: rewrite/rewriteDefine.c:568
+#: rewrite/rewriteDefine.c:561
 #, c-format
 msgid ""
 "cannot create a RETURNING list for a relation containing dropped columns"
 msgstr ""
 "создать список RETURNING для отношения, содержащего удалённые столбцы, нельзя"
 
-#: rewrite/rewriteDefine.c:574
+#: rewrite/rewriteDefine.c:567
 #, c-format
 msgid ""
 "SELECT rule's target entry %d has different column name from column \"%s\""
@@ -23624,67 +24500,67 @@ msgstr ""
 "элементу %d результата правила для SELECT присвоено имя, отличное от имени "
 "столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:576
+#: rewrite/rewriteDefine.c:569
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "Имя элемента результата SELECT: \"%s\"."
 
-#: rewrite/rewriteDefine.c:585
+#: rewrite/rewriteDefine.c:578
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет тип, отличный от типа столбца "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:587
+#: rewrite/rewriteDefine.c:580
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет тип, отличный от типа столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614
+#: rewrite/rewriteDefine.c:583 rewrite/rewriteDefine.c:607
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "Элемент результата SELECT имеет тип %s, тогда как тип столбца - %s."
 
-#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618
+#: rewrite/rewriteDefine.c:586 rewrite/rewriteDefine.c:611
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "Элемент списка RETURNING имеет тип %s, тогда как тип столбца - %s."
 
-#: rewrite/rewriteDefine.c:609
+#: rewrite/rewriteDefine.c:602
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет размер, отличный от столбца "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:611
+#: rewrite/rewriteDefine.c:604
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет размер, отличный от столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:628
+#: rewrite/rewriteDefine.c:621
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "список результата правила для SELECT содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:629
+#: rewrite/rewriteDefine.c:622
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "список RETURNING содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833
-#: rewrite/rewriteSupport.c:109
+#: rewrite/rewriteDefine.c:711 rewrite/rewriteDefine.c:826
+#: rewrite/rewriteSupport.c:108
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "правило \"%s\" для отношения\"%s\" не существует"
 
-#: rewrite/rewriteDefine.c:852
+#: rewrite/rewriteDefine.c:845
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "переименовывать правило ON SELECT нельзя"
 
-#: rewrite/rewriteHandler.c:583
+#: rewrite/rewriteHandler.c:582
 #, c-format
 msgid ""
 "WITH query name \"%s\" appears in both a rule action and the query being "
@@ -23693,7 +24569,7 @@ msgstr ""
 "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом "
 "запросе"
 
-#: rewrite/rewriteHandler.c:610
+#: rewrite/rewriteHandler.c:609
 #, c-format
 msgid ""
 "INSERT ... SELECT rule actions are not supported for queries having data-"
@@ -23702,38 +24578,48 @@ msgstr ""
 "правила INSERT ... SELECT не поддерживаются для запросов с операторами, "
 "изменяющими данные, в WITH"
 
-#: rewrite/rewriteHandler.c:663
+#: rewrite/rewriteHandler.c:662
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING можно определить только для одного правила"
 
-#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934
+#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933
 #, c-format
 msgid "cannot insert a non-DEFAULT value into column \"%s\""
 msgstr "в столбец \"%s\" можно вставить только значение по умолчанию"
 
-#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963
+#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962
 #, c-format
 msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
 msgstr ""
 "Столбец \"%s\" является столбцом идентификации со свойством GENERATED ALWAYS."
 
-#: rewrite/rewriteHandler.c:899
+#: rewrite/rewriteHandler.c:898
 #, c-format
 msgid "Use OVERRIDING SYSTEM VALUE to override."
 msgstr "Для переопределения укажите OVERRIDING SYSTEM VALUE."
 
-#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969
+#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968
 #, c-format
 msgid "column \"%s\" can only be updated to DEFAULT"
 msgstr "столбцу \"%s\" можно присвоить только значение DEFAULT"
 
-#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134
+#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "многочисленные присвоения одному столбцу \"%s\""
 
-#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040
+#: rewrite/rewriteHandler.c:1698
+#, c-format
+msgid "MERGE is not supported for relations with rules."
+msgstr "MERGE не поддерживается для отношений с правилами."
+
+#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229
+#, c-format
+msgid "access to non-system view \"%s\" is restricted"
+msgstr "доступ к несистемному представлению \"%s\" ограничен"
+
+#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\""
@@ -23743,72 +24629,72 @@ msgstr "обнаружена бесконечная рекурсия в прав
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\""
 
-#: rewrite/rewriteHandler.c:2524
+#: rewrite/rewriteHandler.c:2556
 msgid "Junk view columns are not updatable."
 msgstr "Утилизируемые столбцы представлений не обновляются."
 
-#: rewrite/rewriteHandler.c:2529
+#: rewrite/rewriteHandler.c:2561
 msgid ""
 "View columns that are not columns of their base relation are not updatable."
 msgstr ""
 "Столбцы представлений, не являющиеся столбцами базовых отношений, не "
 "обновляются."
 
-#: rewrite/rewriteHandler.c:2532
+#: rewrite/rewriteHandler.c:2564
 msgid "View columns that refer to system columns are not updatable."
 msgstr ""
 "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются."
 
-#: rewrite/rewriteHandler.c:2535
+#: rewrite/rewriteHandler.c:2567
 msgid "View columns that return whole-row references are not updatable."
 msgstr ""
 "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются."
 
-#: rewrite/rewriteHandler.c:2596
+#: rewrite/rewriteHandler.c:2628
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Представления с DISTINCT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2599
+#: rewrite/rewriteHandler.c:2631
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Представления с GROUP BY не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2602
+#: rewrite/rewriteHandler.c:2634
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Представления с HAVING не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2605
+#: rewrite/rewriteHandler.c:2637
 msgid ""
 "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr ""
 "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2608
+#: rewrite/rewriteHandler.c:2640
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Представления с WITH не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2611
+#: rewrite/rewriteHandler.c:2643
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Представления с LIMIT или OFFSET не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2623
+#: rewrite/rewriteHandler.c:2655
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие агрегатные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2626
+#: rewrite/rewriteHandler.c:2658
 msgid "Views that return window functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие оконные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2629
+#: rewrite/rewriteHandler.c:2661
 msgid ""
 "Views that return set-returning functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие функции с результатом-множеством, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:2636 rewrite/rewriteHandler.c:2640
-#: rewrite/rewriteHandler.c:2648
+#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672
+#: rewrite/rewriteHandler.c:2680
 msgid ""
 "Views that do not select from a single table or view are not automatically "
 "updatable."
@@ -23816,27 +24702,124 @@ msgstr ""
 "Представления, выбирающие данные не из одной таблицы или представления, не "
 "обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2651
+#: rewrite/rewriteHandler.c:2683
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2675
+#: rewrite/rewriteHandler.c:2707
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr ""
 "Представления, не содержащие обновляемых столбцов, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:3155
+#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123
+#, c-format
+msgid "cannot insert into view \"%s\""
+msgstr "вставить данные в представление \"%s\" нельзя"
+
+#: rewrite/rewriteHandler.c:3091
+#, c-format
+msgid ""
+"To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
+"an unconditional ON INSERT DO INSTEAD rule."
+msgstr ""
+"Чтобы представление допускало добавление данных, установите триггер INSTEAD "
+"OF INSERT или безусловное правило ON INSERT DO INSTEAD."
+
+#: rewrite/rewriteHandler.c:3096 rewrite/rewriteHandler.c:3132
+#, c-format
+msgid "cannot update view \"%s\""
+msgstr "изменить данные в представлении \"%s\" нельзя"
+
+#: rewrite/rewriteHandler.c:3099
+#, c-format
+msgid ""
+"To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
+"unconditional ON UPDATE DO INSTEAD rule."
+msgstr ""
+"Чтобы представление допускало изменение данных, установите триггер INSTEAD "
+"OF UPDATE или безусловное правило ON UPDATE DO INSTEAD."
+
+#: rewrite/rewriteHandler.c:3104 rewrite/rewriteHandler.c:3141
+#, c-format
+msgid "cannot delete from view \"%s\""
+msgstr "удалить данные из представления \"%s\" нельзя"
+
+#: rewrite/rewriteHandler.c:3107
+#, c-format
+msgid ""
+"To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
+"unconditional ON DELETE DO INSTEAD rule."
+msgstr ""
+"Чтобы представление допускало удаление данных, установите триггер INSTEAD OF "
+"DELETE или безусловное правило ON DELETE DO INSTEAD."
+
+#: rewrite/rewriteHandler.c:3126
+#, c-format
+msgid ""
+"To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT "
+"trigger."
+msgstr ""
+"Чтобы представление допускало добавление данных посредством MERGE, создайте "
+"триггер INSTEAD OF INSERT."
+
+#: rewrite/rewriteHandler.c:3135
+#, c-format
+msgid ""
+"To enable updating the view using MERGE, provide an INSTEAD OF UPDATE "
+"trigger."
+msgstr ""
+"Чтобы представление допускало изменение данных посредством MERGE, создайте "
+"триггер INSTEAD OF UPDATE."
+
+#: rewrite/rewriteHandler.c:3144
+#, c-format
+msgid ""
+"To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE "
+"trigger."
+msgstr ""
+"Чтобы представление допускало удаление данных посредством MERGE, создайте "
+"триггер INSTEAD OF DELETE."
+
+#: rewrite/rewriteHandler.c:3319
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3163
+#: rewrite/rewriteHandler.c:3327
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3667
+#: rewrite/rewriteHandler.c:3335
+#, c-format
+msgid "cannot merge into column \"%s\" of view \"%s\""
+msgstr "столбец \"%s\" представления \"%s\" не допускает объединение данных"
+
+#: rewrite/rewriteHandler.c:3363
+#, c-format
+msgid "cannot merge into view \"%s\""
+msgstr "представление \"%s\" не допускает объединение данных"
+
+#: rewrite/rewriteHandler.c:3365
+#, c-format
+msgid ""
+"MERGE is not supported for views with INSTEAD OF triggers for some actions "
+"but not all."
+msgstr ""
+"MERGE не поддерживается для представлений, имеющих триггеры INSTEAD OF для "
+"некоторых, но не всех действий."
+
+#: rewrite/rewriteHandler.c:3366
+#, c-format
+msgid ""
+"To enable merging into the view, either provide a full set of INSTEAD OF "
+"triggers or drop the existing INSTEAD OF triggers."
+msgstr ""
+"Чтобы представление допускало объединение данных, или предоставьте полный "
+"набор триггеров INSTEAD OF, или удалите существующие триггеры INSTEAD OF."
+
+#: rewrite/rewriteHandler.c:3879
 #, c-format
 msgid ""
 "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in "
@@ -23845,7 +24828,7 @@ msgstr ""
 "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, "
 "в WITH"
 
-#: rewrite/rewriteHandler.c:3678
+#: rewrite/rewriteHandler.c:3890
 #, c-format
 msgid ""
 "DO INSTEAD NOTHING rules are not supported for data-modifying statements in "
@@ -23854,7 +24837,7 @@ msgstr ""
 "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3692
+#: rewrite/rewriteHandler.c:3904
 #, c-format
 msgid ""
 "conditional DO INSTEAD rules are not supported for data-modifying statements "
@@ -23863,13 +24846,13 @@ msgstr ""
 "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3696
+#: rewrite/rewriteHandler.c:3908
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3701
+#: rewrite/rewriteHandler.c:3913
 #, c-format
 msgid ""
 "multi-statement DO INSTEAD rules are not supported for data-modifying "
@@ -23878,52 +24861,50 @@ msgstr ""
 "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976
-#: rewrite/rewriteHandler.c:3984
-#, c-format
+#: rewrite/rewriteHandler.c:4173
 msgid ""
 "Views with conditional DO INSTEAD rules are not automatically updatable."
 msgstr ""
 "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:4089
+#: rewrite/rewriteHandler.c:4270
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:4091
+#: rewrite/rewriteHandler.c:4272
 #, c-format
 msgid ""
 "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Необходимо безусловное правило ON INSERT DO INSTEAD с предложением RETURNING."
 
-#: rewrite/rewriteHandler.c:4096
+#: rewrite/rewriteHandler.c:4277
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:4098
+#: rewrite/rewriteHandler.c:4279
 #, c-format
 msgid ""
 "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Необходимо безусловное правило ON UPDATE DO INSTEAD с предложением RETURNING."
 
-#: rewrite/rewriteHandler.c:4103
+#: rewrite/rewriteHandler.c:4284
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:4105
+#: rewrite/rewriteHandler.c:4286
 #, c-format
 msgid ""
 "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Необходимо безусловное правило ON DELETE DO INSTEAD с предложением RETURNING."
 
-#: rewrite/rewriteHandler.c:4123
+#: rewrite/rewriteHandler.c:4304
 #, c-format
 msgid ""
 "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or "
@@ -23932,7 +24913,7 @@ msgstr ""
 "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для "
 "которой заданы правила INSERT или UPDATE"
 
-#: rewrite/rewriteHandler.c:4180
+#: rewrite/rewriteHandler.c:4361
 #, c-format
 msgid ""
 "WITH cannot be used in a query that is rewritten by rules into multiple "
@@ -23941,17 +24922,17 @@ msgstr ""
 "WITH нельзя использовать в запросе, преобразованном правилами в несколько "
 "запросов"
 
-#: rewrite/rewriteManip.c:1075
+#: rewrite/rewriteManip.c:1083
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "условные служебные операторы не реализованы"
 
-#: rewrite/rewriteManip.c:1419
+#: rewrite/rewriteManip.c:1430
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "условие WHERE CURRENT OF для представлений не реализовано"
 
-#: rewrite/rewriteManip.c:1754
+#: rewrite/rewriteManip.c:1765
 #, c-format
 msgid ""
 "NEW variables in ON UPDATE rules cannot reference columns that are part of a "
@@ -23995,41 +24976,41 @@ msgstr "нераспознанный параметр Snowball: \"%s\""
 msgid "missing Language parameter"
 msgstr "отсутствует параметр Language"
 
-#: statistics/extended_stats.c:179
+#: statistics/extended_stats.c:176
 #, c-format
 msgid ""
 "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
 msgstr ""
 "объект статистики \"%s.%s\" не может быть вычислен для отношения \"%s.%s\""
 
-#: statistics/mcv.c:1372
+#: statistics/mcv.c:1368
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr ""
 "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
 
-#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769
+#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "обращаться к временным таблицам других сеансов нельзя"
 
-#: storage/buffer/bufmgr.c:1137
+#: storage/buffer/bufmgr.c:1532
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "неверная страница в блоке %u отношения %s; страница обнуляется"
 
-#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359
+#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361
 #, c-format
 msgid "cannot extend relation %s beyond %u blocks"
 msgstr "не удалось увеличить отношение \"%s\" до блока %u"
 
-#: storage/buffer/bufmgr.c:1998
+#: storage/buffer/bufmgr.c:2348
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "неожиданные данные после EOF в блоке %u отношения %s"
 
-#: storage/buffer/bufmgr.c:2000
+#: storage/buffer/bufmgr.c:2350
 #, c-format
 msgid ""
 "This has been seen to occur with buggy kernels; consider updating your "
@@ -24038,37 +25019,32 @@ msgstr ""
 "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует "
 "обновить ОС."
 
-#: storage/buffer/bufmgr.c:5219
+#: storage/buffer/bufmgr.c:5653
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "не удалось запись блок %u файла %s"
 
-#: storage/buffer/bufmgr.c:5221
+#: storage/buffer/bufmgr.c:5655
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Множественные сбои - возможно, постоянная ошибка записи."
 
-#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263
+#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "запись блока %u отношения %s"
 
-#: storage/buffer/bufmgr.c:5593
-#, c-format
-msgid "snapshot too old"
-msgstr "снимок слишком стар"
-
-#: storage/buffer/localbuf.c:219
+#: storage/buffer/localbuf.c:220
 #, c-format
 msgid "no empty local buffer available"
 msgstr "нет пустого локального буфера"
 
-#: storage/buffer/localbuf.c:592
+#: storage/buffer/localbuf.c:597
 #, c-format
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "обращаться к временным таблицам во время параллельных операций нельзя"
 
-#: storage/buffer/localbuf.c:699
+#: storage/buffer/localbuf.c:712
 #, c-format
 msgid ""
 "\"temp_buffers\" cannot be changed after any temporary tables have been "
@@ -24094,7 +25070,7 @@ msgstr ""
 msgid "could not read from temporary file: read only %zu of %zu bytes"
 msgstr "не удалось прочитать временный файл (прочитано байт: %zu из %zu)"
 
-#: storage/file/buffile.c:774 storage/file/buffile.c:895
+#: storage/file/buffile.c:774 storage/file/buffile.c:877
 #, c-format
 msgid ""
 "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m"
@@ -24102,115 +25078,115 @@ msgstr ""
 "не удалось определить размер временного файла \"%s\", входящего в BufFile "
 "\"%s\": %m"
 
-#: storage/file/buffile.c:974
+#: storage/file/buffile.c:956
 #, c-format
 msgid "could not delete fileset \"%s\": %m"
 msgstr "ошибка удаления набора файлов \"%s\": %m"
 
-#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041
+#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "не удалось обрезать файл \"%s\": %m"
 
-#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645
+#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691
 #, c-format
 msgid "could not flush dirty data: %m"
 msgstr "не удалось сбросить грязные данные: %m"
 
-#: storage/file/fd.c:567
+#: storage/file/fd.c:613
 #, c-format
 msgid "could not determine dirty data size: %m"
 msgstr "не удалось определить размер грязных данных: %m"
 
-#: storage/file/fd.c:619
+#: storage/file/fd.c:665
 #, c-format
 msgid "could not munmap() while flushing data: %m"
 msgstr "ошибка в munmap() при сбросе данных на диск: %m"
 
-#: storage/file/fd.c:937
+#: storage/file/fd.c:983
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "ошибка в getrlimit(): %m"
 
-#: storage/file/fd.c:1027
+#: storage/file/fd.c:1073
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "недостаточно дескрипторов файлов для запуска серверного процесса"
 
-#: storage/file/fd.c:1028
+#: storage/file/fd.c:1074
 #, c-format
 msgid "System allows %d, server needs at least %d."
 msgstr "Система может выделить: %d, серверу требуется минимум: %d."
 
-#: storage/file/fd.c:1116 storage/file/fd.c:2565 storage/file/fd.c:2674
-#: storage/file/fd.c:2825
+#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727
+#: storage/file/fd.c:2878
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "нехватка дескрипторов файлов: %m; освободите их и повторите попытку"
 
-#: storage/file/fd.c:1490
+#: storage/file/fd.c:1536
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "временный файл: путь \"%s\", размер %lu"
 
-#: storage/file/fd.c:1629
+#: storage/file/fd.c:1675
 #, c-format
 msgid "cannot create temporary directory \"%s\": %m"
 msgstr "не удалось создать временный каталог \"%s\": %m"
 
-#: storage/file/fd.c:1636
+#: storage/file/fd.c:1682
 #, c-format
 msgid "cannot create temporary subdirectory \"%s\": %m"
 msgstr "не удалось создать временный подкаталог \"%s\": %m"
 
-#: storage/file/fd.c:1833
+#: storage/file/fd.c:1879
 #, c-format
 msgid "could not create temporary file \"%s\": %m"
 msgstr "не удалось создать временный файл \"%s\": %m"
 
-#: storage/file/fd.c:1869
+#: storage/file/fd.c:1915
 #, c-format
 msgid "could not open temporary file \"%s\": %m"
 msgstr "не удалось открыть временный файл \"%s\": %m"
 
-#: storage/file/fd.c:1910
+#: storage/file/fd.c:1956
 #, c-format
 msgid "could not unlink temporary file \"%s\": %m"
 msgstr "ошибка удаления временного файла \"%s\": %m"
 
-#: storage/file/fd.c:1998
+#: storage/file/fd.c:2044
 #, c-format
 msgid "could not delete file \"%s\": %m"
 msgstr "ошибка удаления файла \"%s\": %m"
 
-#: storage/file/fd.c:2185
+#: storage/file/fd.c:2234
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "размер временного файла превышает предел temp_file_limit (%d КБ)"
 
-#: storage/file/fd.c:2541 storage/file/fd.c:2600
+#: storage/file/fd.c:2594 storage/file/fd.c:2653
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "превышен предел maxAllocatedDescs (%d) при попытке открыть файл \"%s\""
 
-#: storage/file/fd.c:2645
+#: storage/file/fd.c:2698
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке выполнить команду \"%s\""
 
-#: storage/file/fd.c:2801
+#: storage/file/fd.c:2854
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке открыть каталог \"%s\""
 
-#: storage/file/fd.c:3331
+#: storage/file/fd.c:3384
 #, c-format
 msgid "unexpected file found in temporary-files directory: \"%s\""
 msgstr "в каталоге временных файлов обнаружен неуместный файл: \"%s\""
 
-#: storage/file/fd.c:3449
+#: storage/file/fd.c:3502
 #, c-format
 msgid ""
 "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s"
@@ -24218,12 +25194,7 @@ msgstr ""
 "синхронизация каталога данных (syncfs), прошло времени: %ld.%02d с, текущий "
 "путь: %s"
 
-#: storage/file/fd.c:3463
-#, c-format
-msgid "could not synchronize file system for file \"%s\": %m"
-msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
-
-#: storage/file/fd.c:3676
+#: storage/file/fd.c:3729
 #, c-format
 msgid ""
 "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: "
@@ -24232,7 +25203,7 @@ msgstr ""
 "синхронизация каталога данных (подготовка к fsync), прошло времени: %ld.%02d "
 "с, текущий путь: %s"
 
-#: storage/file/fd.c:3708
+#: storage/file/fd.c:3761
 #, c-format
 msgid ""
 "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s"
@@ -24240,25 +25211,36 @@ msgstr ""
 "синхронизация каталога данных (fsync), прошло времени: %ld.%02d с, текущий "
 "путь: %s"
 
-#: storage/file/fd.c:3897
+#: storage/file/fd.c:3950
 #, c-format
-msgid "debug_io_direct is not supported on this platform."
-msgstr "Параметр debug_io_direct на этой платформе не поддерживается."
+msgid "\"debug_io_direct\" is not supported on this platform."
+msgstr "Параметр \"debug_io_direct\" не поддерживается в этой ОС."
 
-#: storage/file/fd.c:3944
+#: storage/file/fd.c:3964
+#, c-format
+msgid "Invalid list syntax in parameter \"%s\""
+msgstr "Неверный формат списка в параметре \"%s\"."
+
+#: storage/file/fd.c:3984
+#, c-format
+msgid "Invalid option \"%s\""
+msgstr "Неверный параметр \"%s\"."
+
+#: storage/file/fd.c:3997
 #, c-format
 msgid ""
-"debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small"
+"\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small"
 msgstr ""
-"режим debug_io_direct не поддерживается для WAL из-за слишком маленького "
+"режим \"debug_io_direct\" не поддерживается для WAL из-за слишком маленького "
 "размера XLOG_BLCKSZ"
 
-#: storage/file/fd.c:3951
+#: storage/file/fd.c:4004
 #, c-format
-msgid "debug_io_direct is not supported for data because BLCKSZ is too small"
+msgid ""
+"\"debug_io_direct\" is not supported for data because BLCKSZ is too small"
 msgstr ""
-"режим debug_io_direct не поддерживается для данных из-за слишком маленького "
-"размера BLCKSZ"
+"режим \"debug_io_direct\" не поддерживается для данных из-за слишком "
+"маленького размера BLCKSZ"
 
 #: storage/file/reinit.c:145
 #, c-format
@@ -24278,22 +25260,22 @@ msgstr ""
 "сброс нежурналируемых отношений (очистка), прошло времени: %ld.%02d s, "
 "текущий путь: %s"
 
-#: storage/file/sharedfileset.c:79
+#: storage/file/sharedfileset.c:73
 #, c-format
 msgid "could not attach to a SharedFileSet that is already destroyed"
 msgstr "не удалось подключиться к уже уничтоженному набору SharedFileSet"
 
-#: storage/ipc/dsm.c:352
+#: storage/ipc/dsm.c:379
 #, c-format
 msgid "dynamic shared memory control segment is corrupt"
 msgstr "сегмент управления динамической разделяемой памятью испорчен"
 
-#: storage/ipc/dsm.c:417
+#: storage/ipc/dsm.c:444
 #, c-format
 msgid "dynamic shared memory control segment is not valid"
 msgstr "сегмент управления динамической разделяемой памятью не в порядке"
 
-#: storage/ipc/dsm.c:599
+#: storage/ipc/dsm.c:626
 #, c-format
 msgid "too many dynamic shared memory segments"
 msgstr "слишком много сегментов динамической разделяемой памяти"
@@ -24354,18 +25336,46 @@ msgstr "не удалось закрыть сегмент разделяемой
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "не удалось продублировать указатель для \"%s\": %m"
 
-#: storage/ipc/procarray.c:3795
+#: storage/ipc/dsm_registry.c:142
+#, c-format
+msgid "DSM segment name cannot be empty"
+msgstr "имя DSM-сегмента не может быть пустым"
+
+#: storage/ipc/dsm_registry.c:146
+#, c-format
+msgid "DSM segment name too long"
+msgstr "имя DSM-сегмента слишком длинное"
+
+#: storage/ipc/dsm_registry.c:150
+#, c-format
+msgid "DSM segment size must be nonzero"
+msgstr "размер DSM-сегмента должен быть ненулевым"
+
+#: storage/ipc/dsm_registry.c:176
+#, c-format
+msgid "requested DSM segment size does not match size of existing segment"
+msgstr ""
+"запрошенный размер сегмента DSM не совпадает с размером существующего "
+"сегмента"
+
+#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352
+#: tcop/backend_startup.c:304
+#, c-format
+msgid "sorry, too many clients already"
+msgstr "извините, уже слишком много клиентов"
+
+#: storage/ipc/procarray.c:3857
 #, c-format
 msgid "database \"%s\" is being used by prepared transactions"
 msgstr "база \"%s\" используется подготовленными транзакциями"
 
-#: storage/ipc/procarray.c:3827 storage/ipc/procarray.c:3836
+#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901
 #: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242
 #, c-format
 msgid "permission denied to terminate process"
 msgstr "нет прав для завершения процесса"
 
-#: storage/ipc/procarray.c:3828 storage/ipc/signalfuncs.c:236
+#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236
 #, c-format
 msgid ""
 "Only roles with the %s attribute may terminate processes of roles with the "
@@ -24374,7 +25384,7 @@ msgstr ""
 "Только роли с атрибутом %s могут завершать процессы, принадлежащие ролям с "
 "атрибутом %s."
 
-#: storage/ipc/procarray.c:3837 storage/ipc/signalfuncs.c:243
+#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243
 #, c-format
 msgid ""
 "Only roles with privileges of the role whose process is being terminated or "
@@ -24383,45 +25393,45 @@ msgstr ""
 "Только роли с правами роли, которой принадлежит процесс, или с правами роли "
 "\"%s\" могут завершить этот процесс."
 
-#: storage/ipc/procsignal.c:420
+#: storage/ipc/procsignal.c:416
 #, c-format
 msgid "still waiting for backend with PID %d to accept ProcSignalBarrier"
 msgstr ""
 "продолжается ожидание получения сигнала ProcSignalBarrier обслуживающим "
 "процессом с PID %d"
 
-#: storage/ipc/shm_mq.c:384
+#: storage/ipc/shm_mq.c:383
 #, c-format
 msgid "cannot send a message of size %zu via shared memory queue"
 msgstr ""
 "не удалось передать сообщение размером %zu через очередь в разделяемой памяти"
 
-#: storage/ipc/shm_mq.c:719
+#: storage/ipc/shm_mq.c:718
 #, c-format
 msgid "invalid message size %zu in shared memory queue"
 msgstr "неверный размер сообщения %zu в очереди в разделяемой памяти"
 
-#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963
-#: storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2786 storage/lmgr/lock.c:4171
-#: storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4586
-#: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427
-#: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871
-#: utils/hash/dynahash.c:1107
+#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984
+#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2825 storage/lmgr/lock.c:4210
+#: storage/lmgr/lock.c:4275 storage/lmgr/lock.c:4625
+#: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478
+#: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922
+#: utils/hash/dynahash.c:1095
 #, c-format
 msgid "out of shared memory"
 msgstr "нехватка разделяемой памяти"
 
-#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266
+#: storage/ipc/shmem.c:161 storage/ipc/shmem.c:257
 #, c-format
 msgid "out of shared memory (%zu bytes requested)"
 msgstr "нехватка разделяемой памяти (требовалось байт: %zu)"
 
-#: storage/ipc/shmem.c:445
+#: storage/ipc/shmem.c:436
 #, c-format
 msgid "could not create ShmemIndex entry for data structure \"%s\""
 msgstr "не удалось создать запись ShmemIndex для структуры данных \"%s\""
 
-#: storage/ipc/shmem.c:460
+#: storage/ipc/shmem.c:451
 #, c-format
 msgid ""
 "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, "
@@ -24430,7 +25440,7 @@ msgstr ""
 "размер записи ShmemIndex не соответствует структуре данных "
 "\"%s\" (ожидалось: %zu, фактически: %zu)"
 
-#: storage/ipc/shmem.c:479
+#: storage/ipc/shmem.c:470
 #, c-format
 msgid ""
 "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
@@ -24438,7 +25448,7 @@ msgstr ""
 "недостаточно разделяемой памяти для структуры данных \"%s\" (требовалось "
 "байт: %zu)"
 
-#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530
+#: storage/ipc/shmem.c:502 storage/ipc/shmem.c:521
 #, c-format
 msgid "requested shared memory size overflows size_t"
 msgstr "запрошенный размер разделяемой памяти не умещается в size_t"
@@ -24448,8 +25458,8 @@ msgstr "запрошенный размер разделяемой памяти
 msgid "PID %d is not a PostgreSQL backend process"
 msgstr "PID %d не относится к обслуживающему процессу PostgreSQL"
 
-#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1387
-#: utils/adt/mcxtfuncs.c:190
+#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448
+#: utils/adt/mcxtfuncs.c:182
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "отправить сигнал процессу %d не удалось: %m"
@@ -24495,96 +25505,90 @@ msgstr[2] "обслуживающий процесс с PID %d не заверш
 msgid "\"timeout\" must not be negative"
 msgstr "\"timeout\" не может быть отрицательным"
 
-#: storage/ipc/signalfuncs.c:284
-#, c-format
-msgid "must be superuser to rotate log files with adminpack 1.0"
-msgstr ""
-"прокручивать файлы протоколов, используя adminpack 1.0, может только "
-"суперпользователь"
-
-#. translator: %s is a SQL function name
-#: storage/ipc/signalfuncs.c:286 utils/adt/genfile.c:250
-#, c-format
-msgid "Consider using %s, which is part of core, instead."
-msgstr "Рассмотрите возможность использования функции %s, включённой в ядро."
-
-#: storage/ipc/signalfuncs.c:292 storage/ipc/signalfuncs.c:312
+#: storage/ipc/signalfuncs.c:285
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "прокрутка невозможна, так как протоколирование отключено"
 
-#: storage/ipc/standby.c:330
+#: storage/ipc/standby.c:329
 #, c-format
 msgid "recovery still waiting after %ld.%03d ms: %s"
 msgstr "процесс восстановления продолжает ожидание после %ld.%03d мс: %s"
 
-#: storage/ipc/standby.c:339
+#: storage/ipc/standby.c:338
 #, c-format
 msgid "recovery finished waiting after %ld.%03d ms: %s"
 msgstr "процесс восстановления завершил ожидание после %ld.%03d мс: %s"
 
-#: storage/ipc/standby.c:921 tcop/postgres.c:3384
+#: storage/ipc/standby.c:920 tcop/postgres.c:3172
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr ""
 "выполнение оператора отменено из-за конфликта с процессом восстановления"
 
-#: storage/ipc/standby.c:922 tcop/postgres.c:2533
+#: storage/ipc/standby.c:921 tcop/postgres.c:2533
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr ""
 "Транзакция пользователя привела к взаимоблокировке с процессом "
 "восстановления."
 
-#: storage/ipc/standby.c:1488
+#: storage/ipc/standby.c:1486
 msgid "unknown reason"
 msgstr "причина неизвестна"
 
-#: storage/ipc/standby.c:1493
+#: storage/ipc/standby.c:1491
 msgid "recovery conflict on buffer pin"
 msgstr "конфликт восстановления при закреплении буфера"
 
-#: storage/ipc/standby.c:1496
+#: storage/ipc/standby.c:1494
 msgid "recovery conflict on lock"
 msgstr "конфликт восстановления при получении блокировки"
 
-#: storage/ipc/standby.c:1499
+#: storage/ipc/standby.c:1497
 msgid "recovery conflict on tablespace"
 msgstr "конфликт восстановления при обращении к табличному пространству"
 
-#: storage/ipc/standby.c:1502
+#: storage/ipc/standby.c:1500
 msgid "recovery conflict on snapshot"
 msgstr "конфликт восстановления при получении снимка"
 
-#: storage/ipc/standby.c:1505
+#: storage/ipc/standby.c:1503
 msgid "recovery conflict on replication slot"
 msgstr "конфликт восстановления со слотом репликации"
 
-#: storage/ipc/standby.c:1508
+#: storage/ipc/standby.c:1506
 msgid "recovery conflict on buffer deadlock"
 msgstr "конфликт восстановления из-за взаимной блокировки буфера"
 
-#: storage/ipc/standby.c:1511
+#: storage/ipc/standby.c:1509
 msgid "recovery conflict on database"
 msgstr "конфликт восстановления при обращении к базе данных"
 
-#: storage/large_object/inv_api.c:191
+#: storage/large_object/inv_api.c:190
 #, c-format
 msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
 msgstr ""
 "в записи pg_largeobject для OID %u, стр. %d неверный размер поля данных (%d)"
 
-#: storage/large_object/inv_api.c:273
+#: storage/large_object/inv_api.c:272
 #, c-format
 msgid "invalid flags for opening a large object: %d"
 msgstr "неверные флаги для открытия большого объекта: %d"
 
-#: storage/large_object/inv_api.c:456
+#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309
+#: storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617
+#: storage/large_object/inv_api.c:807
+#, c-format
+msgid "permission denied for large object %u"
+msgstr "нет доступа к большому объекту %u"
+
+#: storage/large_object/inv_api.c:455
 #, c-format
 msgid "invalid whence setting: %d"
 msgstr "неверное значение ориентира: %d"
 
-#: storage/large_object/inv_api.c:628
+#: storage/large_object/inv_api.c:627
 #, c-format
 msgid "invalid large object write request size: %d"
 msgstr "неверный размер записи большого объекта: %d"
@@ -24610,113 +25614,113 @@ msgstr "обнаружена взаимоблокировка"
 msgid "See server log for query details."
 msgstr "Подробности запроса смотрите в протоколе сервера."
 
-#: storage/lmgr/lmgr.c:859
+#: storage/lmgr/lmgr.c:848
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "при изменении кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:862
+#: storage/lmgr/lmgr.c:851
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "при удалении кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:865
+#: storage/lmgr/lmgr.c:854
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "при блокировке кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:868
+#: storage/lmgr/lmgr.c:857
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "при блокировке изменённой версии (%u,%u) кортежа в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:871
+#: storage/lmgr/lmgr.c:860
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "при добавлении кортежа индекса (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:874
+#: storage/lmgr/lmgr.c:863
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "при проверке уникальности кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:877
+#: storage/lmgr/lmgr.c:866
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "при перепроверке изменённого кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:880
+#: storage/lmgr/lmgr.c:869
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr ""
 "при проверке ограничения-исключения для кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:1212
+#: storage/lmgr/lmgr.c:1239
 #, c-format
 msgid "relation %u of database %u"
 msgstr "отношение %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:1218
+#: storage/lmgr/lmgr.c:1245
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "расширение отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:1224
+#: storage/lmgr/lmgr.c:1251
 #, c-format
 msgid "pg_database.datfrozenxid of database %u"
 msgstr "pg_database.datfrozenxid базы %u"
 
-#: storage/lmgr/lmgr.c:1229
+#: storage/lmgr/lmgr.c:1256
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "страница %u отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:1236
+#: storage/lmgr/lmgr.c:1263
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "кортеж (%u,%u) отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:1244
+#: storage/lmgr/lmgr.c:1271
 #, c-format
 msgid "transaction %u"
 msgstr "транзакция %u"
 
-#: storage/lmgr/lmgr.c:1249
+#: storage/lmgr/lmgr.c:1276
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "виртуальная транзакция %d/%u"
 
-#: storage/lmgr/lmgr.c:1255
+#: storage/lmgr/lmgr.c:1282
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "спекулятивный маркер %u транзакции %u"
 
-#: storage/lmgr/lmgr.c:1261
+#: storage/lmgr/lmgr.c:1288
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "объект %u класса %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:1269
+#: storage/lmgr/lmgr.c:1296
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "пользовательская блокировка [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1276
+#: storage/lmgr/lmgr.c:1303
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "рекомендательная блокировка [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1284
+#: storage/lmgr/lmgr.c:1311
 #, c-format
 msgid "remote transaction %u of subscription %u of database %u"
 msgstr "удалённая транзакция %u подписки %u в базе данных %u"
 
-#: storage/lmgr/lmgr.c:1291
+#: storage/lmgr/lmgr.c:1318
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "нераспознанный тип блокировки %d"
 
-#: storage/lmgr/lock.c:791
+#: storage/lmgr/lock.c:812
 #, c-format
 msgid ""
 "cannot acquire lock mode %s on database objects while recovery is in progress"
@@ -24724,7 +25728,7 @@ msgstr ""
 "пока выполняется восстановление, нельзя получить блокировку объектов базы "
 "данных в режиме %s"
 
-#: storage/lmgr/lock.c:793
+#: storage/lmgr/lock.c:814
 #, c-format
 msgid ""
 "Only RowExclusiveLock or less can be acquired on database objects during "
@@ -24733,7 +25737,7 @@ msgstr ""
 "В процессе восстановления для объектов базы данных может быть получена "
 "только блокировка RowExclusiveLock или менее сильная."
 
-#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419
+#: storage/lmgr/lock.c:3274 storage/lmgr/lock.c:3342 storage/lmgr/lock.c:3458
 #, c-format
 msgid ""
 "cannot PREPARE while holding both session-level and transaction-level locks "
@@ -24742,21 +25746,21 @@ msgstr ""
 "нельзя выполнить PREPARE, удерживая блокировки на уровне сеанса и на уровне "
 "транзакции для одного объекта"
 
-#: storage/lmgr/predicate.c:649
+#: storage/lmgr/predicate.c:653
 #, c-format
 msgid "not enough elements in RWConflictPool to record a read/write conflict"
 msgstr "в пуле недостаточно элементов для записи о конфликте чтения/записи"
 
-#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675
+#: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679
 #, c-format
 msgid ""
 "You might need to run fewer transactions at a time or increase "
-"max_connections."
+"\"max_connections\"."
 msgstr ""
-"Попробуйте уменьшить число транзакций в секунду или увеличить параметр "
-"max_connections."
+"Попробуйте уменьшить число одновременных транзакций или увеличить параметр "
+"\"max_connections\"."
 
-#: storage/lmgr/predicate.c:674
+#: storage/lmgr/predicate.c:678
 #, c-format
 msgid ""
 "not enough elements in RWConflictPool to record a potential read/write "
@@ -24765,13 +25769,13 @@ msgstr ""
 "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/"
 "записи"
 
-#: storage/lmgr/predicate.c:1630
+#: storage/lmgr/predicate.c:1681
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr ""
 "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"."
 
-#: storage/lmgr/predicate.c:1631
+#: storage/lmgr/predicate.c:1682
 #, c-format
 msgid ""
 "You can use \"SET default_transaction_isolation = 'repeatable read'\" to "
@@ -24780,27 +25784,27 @@ msgstr ""
 "Чтобы изменить режим по умолчанию, выполните \"SET "
 "default_transaction_isolation = 'repeatable read'\"."
 
-#: storage/lmgr/predicate.c:1682
+#: storage/lmgr/predicate.c:1733
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570
-#: utils/time/snapmgr.c:576
+#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535
+#: utils/time/snapmgr.c:541
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "не удалось импортировать запрошенный снимок"
 
-#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577
+#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542
 #, c-format
 msgid "The source process with PID %d is not running anymore."
 msgstr "Исходный процесс с PID %d уже не работает."
 
-#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971
-#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012
-#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281
-#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612
-#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695
+#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022
+#: storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063
+#: storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332
+#: storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663
+#: storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746
 #, c-format
 msgid ""
 "could not serialize access due to read/write dependencies among transactions"
@@ -24808,25 +25812,25 @@ msgstr ""
 "не удалось сериализовать доступ из-за зависимостей чтения/записи между "
 "транзакциями"
 
-#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973
-#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014
-#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283
-#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614
-#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697
+#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024
+#: storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065
+#: storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334
+#: storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665
+#: storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "Транзакция может завершиться успешно при следующей попытке."
 
-#: storage/lmgr/proc.c:349
+#: storage/lmgr/proc.c:348
 #, c-format
 msgid ""
-"number of requested standby connections exceeds max_wal_senders (currently "
-"%d)"
+"number of requested standby connections exceeds "
+"\"max_wal_senders\" (currently %d)"
 msgstr ""
-"число запрошенных подключений резервных серверов превосходит max_wal_senders "
-"(сейчас: %d)"
+"число запрошенных подключений резервных серверов превышает "
+"\"max_wal_senders\" (сейчас: %d)"
 
-#: storage/lmgr/proc.c:1480
+#: storage/lmgr/proc.c:1541
 #, c-format
 msgid ""
 "process %d avoided deadlock for %s on %s by rearranging queue order after "
@@ -24835,7 +25839,7 @@ msgstr ""
 "процесс %d избежал взаимоблокировки, ожидая в режиме %s блокировку \"%s\", "
 "изменив порядок очереди через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1495
+#: storage/lmgr/proc.c:1556
 #, c-format
 msgid ""
 "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
@@ -24843,121 +25847,266 @@ msgstr ""
 "процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" "
 "в течение %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1504
+#: storage/lmgr/proc.c:1565
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr ""
 "процесс %d продолжает ожидать в режиме %s блокировку \"%s\" в течение %ld."
 "%03d мс"
 
-#: storage/lmgr/proc.c:1511
+#: storage/lmgr/proc.c:1572
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1528
+#: storage/lmgr/proc.c:1589
+#, c-format
+msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
+msgstr ""
+"процесс %d не смог получить в режиме %s блокировку \"%s\" за %ld.%03d мс"
+
+#: storage/page/bufpage.c:152
+#, c-format
+msgid "page verification failed, calculated checksum %u but expected %u"
+msgstr ""
+"ошибка проверки страницы: получена контрольная сумма %u, а ожидалась - %u"
+
+#: storage/page/bufpage.c:217 storage/page/bufpage.c:730
+#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208
+#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426
+#, c-format
+msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
+msgstr ""
+"испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u"
+
+#: storage/page/bufpage.c:759
+#, c-format
+msgid "corrupted line pointer: %u"
+msgstr "испорченный линейный указатель: %u"
+
+#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266
+#, c-format
+msgid "corrupted item lengths: total %u, available space %u"
+msgstr "испорченный размер элемента (общий размер: %u, доступно: %u)"
+
+#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233
+#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442
+#, c-format
+msgid "corrupted line pointer: offset = %u, size = %u"
+msgstr "испорченный линейный указатель: смещение = %u, размер = %u"
+
+#: storage/smgr/md.c:485 storage/smgr/md.c:547
+#, c-format
+msgid "cannot extend file \"%s\" beyond %u blocks"
+msgstr "не удалось увеличить файл \"%s\" до блока %u"
+
+#: storage/smgr/md.c:500 storage/smgr/md.c:611
+#, c-format
+msgid "could not extend file \"%s\": %m"
+msgstr "не удалось увеличить файл \"%s\": %m"
+
+#: storage/smgr/md.c:506
+#, c-format
+msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
+msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u"
+
+#: storage/smgr/md.c:589
+#, c-format
+msgid "could not extend file \"%s\" with FileFallocate(): %m"
+msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m"
+
+#: storage/smgr/md.c:869
+#, c-format
+msgid "could not read blocks %u..%u in file \"%s\": %m"
+msgstr "не удалось прочитать блоки %u..%u в файле \"%s\": %m"
+
+#: storage/smgr/md.c:895
+#, c-format
+msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes"
+msgstr ""
+"не удалось прочитать блоки %u..%u в файле \"%s\" (прочитано байт: %zu из %zu)"
+
+#: storage/smgr/md.c:995
+#, c-format
+msgid "could not write blocks %u..%u in file \"%s\": %m"
+msgstr "не удалось записать блоки %u..%u в файл \"%s\": %m"
+
+#: storage/smgr/md.c:1163
+#, c-format
+msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
+msgstr ""
+"не удалось обрезать файл \"%s\" (требуемая длина в блоках: %u, но сейчас он "
+"содержит %u)"
+
+#: storage/smgr/md.c:1218
+#, c-format
+msgid "could not truncate file \"%s\" to %u blocks: %m"
+msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m"
+
+#: storage/smgr/md.c:1688
+#, c-format
+msgid ""
+"could not open file \"%s\" (target block %u): previous segment is only %u "
+"blocks"
+msgstr ""
+"не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в "
+"предыдущем сегменте (всего %u)"
+
+#: storage/smgr/md.c:1702
+#, c-format
+msgid "could not open file \"%s\" (target block %u): %m"
+msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m"
+
+#: tcop/backend_startup.c:85
+#, c-format
+msgid "SSL configuration could not be loaded in child process"
+msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс"
+
+#: tcop/backend_startup.c:208
+#, c-format
+msgid "connection received: host=%s port=%s"
+msgstr "принято подключение: узел=%s порт=%s"
+
+#: tcop/backend_startup.c:213
+#, c-format
+msgid "connection received: host=%s"
+msgstr "принято подключение: узел=%s"
+
+#: tcop/backend_startup.c:277
+#, c-format
+msgid "the database system is starting up"
+msgstr "система баз данных запускается"
+
+#: tcop/backend_startup.c:283
+#, c-format
+msgid "the database system is not yet accepting connections"
+msgstr "система БД ещё не принимает подключения"
+
+#: tcop/backend_startup.c:284
+#, c-format
+msgid "Consistent recovery state has not been yet reached."
+msgstr "Согласованное состояние восстановления ещё не достигнуто."
+
+#: tcop/backend_startup.c:288
+#, c-format
+msgid "the database system is not accepting connections"
+msgstr "система БД не принимает подключения"
+
+#: tcop/backend_startup.c:289
+#, c-format
+msgid "Hot standby mode is disabled."
+msgstr "Режим горячего резерва отключён."
+
+#: tcop/backend_startup.c:294
+#, c-format
+msgid "the database system is shutting down"
+msgstr "система баз данных останавливается"
+
+#: tcop/backend_startup.c:299
+#, c-format
+msgid "the database system is in recovery mode"
+msgstr "система баз данных в режиме восстановления"
+
+#: tcop/backend_startup.c:414
 #, c-format
-msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
-msgstr ""
-"процесс %d не смог получить в режиме %s блокировку \"%s\" за %ld.%03d мс"
+msgid ""
+"received direct SSL connection request without ALPN protocol negotiation "
+"extension"
+msgstr "получен запрос прямого SSL-соединения, но в нём нет расширения ALPN"
 
-#: storage/page/bufpage.c:152
+#: tcop/backend_startup.c:420
 #, c-format
-msgid "page verification failed, calculated checksum %u but expected %u"
-msgstr ""
-"ошибка проверки страницы: получена контрольная сумма %u, а ожидалась - %u"
+msgid "direct SSL connection accepted"
+msgstr "запрос прямого SSL-соединения принят"
 
-#: storage/page/bufpage.c:217 storage/page/bufpage.c:730
-#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208
-#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426
+#: tcop/backend_startup.c:430
 #, c-format
-msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
-msgstr ""
-"испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u"
+msgid "direct SSL connection rejected"
+msgstr "запрос прямого SSL-соединения отвергнут"
 
-#: storage/page/bufpage.c:759
+#: tcop/backend_startup.c:489 tcop/backend_startup.c:517
 #, c-format
-msgid "corrupted line pointer: %u"
-msgstr "иÑ\81поÑ\80Ñ\87еннÑ\8bй Ð»Ð¸Ð½ÐµÐ¹Ð½Ñ\8bй Ñ\83казаÑ\82елÑ\8c: %u"
+msgid "incomplete startup packet"
+msgstr "неполнÑ\8bй Ñ\81Ñ\82аÑ\80Ñ\82овÑ\8bй Ð¿Ð°ÐºÐµÑ\82"
 
-#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266
+#: tcop/backend_startup.c:501 tcop/backend_startup.c:538
 #, c-format
-msgid "corrupted item lengths: total %u, available space %u"
-msgstr "иÑ\81поÑ\80Ñ\87еннÑ\8bй Ñ\80азмеÑ\80 Ñ\8dлеменÑ\82а (обÑ\89ий Ñ\80азмеÑ\80: %u, Ð´Ð¾Ñ\81Ñ\82Ñ\83пно: %u)"
+msgid "invalid length of startup packet"
+msgstr "невеÑ\80наÑ\8f Ð´Ð»Ð¸Ð½Ð° Ñ\81Ñ\82аÑ\80Ñ\82ового Ð¿Ð°ÐºÐµÑ\82а"
 
-#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233
-#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442
+#: tcop/backend_startup.c:573
 #, c-format
-msgid "corrupted line pointer: offset = %u, size = %u"
-msgstr "испорченный линейный указатель: смещение = %u, размер = %u"
+msgid "SSLRequest accepted"
+msgstr "SSLRequest принят"
 
-#: storage/smgr/md.c:487 storage/smgr/md.c:549
+#: tcop/backend_startup.c:576
 #, c-format
-msgid "cannot extend file \"%s\" beyond %u blocks"
-msgstr "не удалось увеличить файл \"%s\" до блока %u"
+msgid "SSLRequest rejected"
+msgstr "SSLRequest отвергнут"
 
-#: storage/smgr/md.c:502 storage/smgr/md.c:613
+#: tcop/backend_startup.c:585
 #, c-format
-msgid "could not extend file \"%s\": %m"
-msgstr "не удалось увеличить файл \"%s\": %m"
+msgid "failed to send SSL negotiation response: %m"
+msgstr "не удалось отправить ответ в процессе SSL-согласования: %m"
 
-#: storage/smgr/md.c:508
+#: tcop/backend_startup.c:603
 #, c-format
-msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ñ\83велиÑ\87иÑ\82Ñ\8c Ñ\84айл \"%s\" (запиÑ\81ано Ð±Ð°Ð¹Ñ\82: %d Ð¸Ð· %d) Ð² Ð±Ð»Ð¾ÐºÐµ %u"
+msgid "received unencrypted data after SSL request"
+msgstr "поÑ\81ле Ð·Ð°Ð¿Ñ\80оÑ\81а SSL Ð¿Ð¾Ð»Ñ\83Ñ\87енÑ\8b Ð½ÐµÐ·Ð°Ñ\88иÑ\84Ñ\80ованнÑ\8bе Ð´Ð°Ð½Ð½Ñ\8bе"
 
-#: storage/smgr/md.c:591
+#: tcop/backend_startup.c:604 tcop/backend_startup.c:658
 #, c-format
-msgid "could not extend file \"%s\" with FileFallocate(): %m"
-msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m"
+msgid ""
+"This could be either a client-software bug or evidence of an attempted man-"
+"in-the-middle attack."
+msgstr ""
+"Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки "
+"MITM."
 
-#: storage/smgr/md.c:782
+#: tcop/backend_startup.c:627
 #, c-format
-msgid "could not read block %u in file \"%s\": %m"
-msgstr "не удалось прочитать блок %u в файле \"%s\": %m"
+msgid "GSSENCRequest accepted"
+msgstr "GSSENCRequest принят"
 
-#: storage/smgr/md.c:798
+#: tcop/backend_startup.c:630
 #, c-format
-msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
-msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)"
+msgid "GSSENCRequest rejected"
+msgstr "GSSENCRequest отвергнут"
 
-#: storage/smgr/md.c:856
+#: tcop/backend_startup.c:639
 #, c-format
-msgid "could not write block %u in file \"%s\": %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð±Ð»Ð¾Ðº %u Ð² Ñ\84айл \"%s\": %m"
+msgid "failed to send GSSAPI negotiation response: %m"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82пÑ\80авиÑ\82Ñ\8c Ð¾Ñ\82веÑ\82 Ð² Ð¿Ñ\80оÑ\86еÑ\81Ñ\81е Ñ\81оглаÑ\81ованиÑ\8f GSSAPI: %m"
 
-#: storage/smgr/md.c:861
+#: tcop/backend_startup.c:657
 #, c-format
-msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð±Ð»Ð¾Ðº %u Ð² Ñ\84айл \"%s\" (запиÑ\81ано Ð±Ð°Ð¹Ñ\82: %d Ð¸Ð· %d)"
+msgid "received unencrypted data after GSSAPI encryption request"
+msgstr "поÑ\81ле Ð·Ð°Ð¿Ñ\80оÑ\81а Ñ\88иÑ\84Ñ\80ованиÑ\8f GSSAPI Ð¿Ð¾Ð»Ñ\83Ñ\87енÑ\8b Ð½ÐµÐ·Ð°Ñ\88иÑ\84Ñ\80ованнÑ\8bе Ð´Ð°Ð½Ð½Ñ\8bе"
 
-#: storage/smgr/md.c:1012
+#: tcop/backend_startup.c:681
 #, c-format
-msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
+msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr ""
-"не удалось обрезать файл \"%s\" (требуемая длина в блоках: %u, но сейчас он "
-"содержит %u)"
+"неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает "
+"%u.0 - %u.%u"
 
-#: storage/smgr/md.c:1067
+#: tcop/backend_startup.c:744
 #, c-format
-msgid "could not truncate file \"%s\" to %u blocks: %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ñ\80езаÑ\82Ñ\8c Ñ\84айл \"%s\" Ð´Ð¾ Ð½Ñ\83жного Ñ\87иÑ\81ла Ð±Ð»Ð¾ÐºÐ¾Ð² (%u): %m"
+msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
+msgstr "Ð\94опÑ\83Ñ\81Ñ\82имÑ\8bе Ð·Ð½Ð°Ñ\87ениÑ\8f: \"false\", 0, \"true\", 1, \"database\"."
 
-#: storage/smgr/md.c:1494
+#: tcop/backend_startup.c:785
 #, c-format
-msgid ""
-"could not open file \"%s\" (target block %u): previous segment is only %u "
-"blocks"
+msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
-"не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в "
-"предыдущем сегменте (всего %u)"
+"неверная структура стартового пакета: последним байтом должен быть терминатор"
 
-#: storage/smgr/md.c:1508
+#: tcop/backend_startup.c:802
 #, c-format
-msgid "could not open file \"%s\" (target block %u): %m"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8c Ñ\84айл file \"%s\" (Ñ\86елевой Ð±Ð»Ð¾Ðº %u): %m"
+msgid "no PostgreSQL user name specified in startup packet"
+msgstr "в Ñ\81Ñ\82аÑ\80Ñ\82овом Ð¿Ð°ÐºÐµÑ\82е Ð½Ðµ Ñ\83казано Ð¸Ð¼Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f PostgreSQL"
 
-#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132
+#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "функция с OID %u не существует"
@@ -24972,7 +26121,7 @@ msgstr "вызвать функцию \"%s\" через интерфейс fastp
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "вызов функции (через fastpath): \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601
+#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605
 #: tcop/postgres.c:2059 tcop/postgres.c:2309
 #, c-format
 msgid "duration: %s ms"
@@ -25008,44 +26157,44 @@ msgstr "неверный размер аргумента (%d) в сообщен
 msgid "incorrect binary data format in function argument %d"
 msgstr "неправильный формат двоичных данных в аргументе функции %d"
 
-#: tcop/postgres.c:463 tcop/postgres.c:4882
+#: tcop/postgres.c:467 tcop/postgres.c:4988
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "неправильный тип клиентского сообщения %d"
 
-#: tcop/postgres.c:1072
+#: tcop/postgres.c:1076
 #, c-format
 msgid "statement: %s"
 msgstr "оператор: %s"
 
-#: tcop/postgres.c:1370
+#: tcop/postgres.c:1374
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "продолжительность: %s мс, оператор: %s"
 
-#: tcop/postgres.c:1476
+#: tcop/postgres.c:1480
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "в подготовленный оператор нельзя вставить несколько команд"
 
-#: tcop/postgres.c:1606
+#: tcop/postgres.c:1610
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "продолжительность: %s мс, разбор %s: %s"
 
 # [SM]: TO REVIEW
-#: tcop/postgres.c:1672 tcop/postgres.c:2629
+#: tcop/postgres.c:1676 tcop/postgres.c:2629
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "безымянный подготовленный оператор не существует"
 
-#: tcop/postgres.c:1713
+#: tcop/postgres.c:1717
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr ""
 "неверное число форматов параметров в сообщении Bind (%d, а параметров %d)"
 
-#: tcop/postgres.c:1719
+#: tcop/postgres.c:1723
 #, c-format
 msgid ""
 "bind message supplies %d parameters, but prepared statement \"%s\" requires "
@@ -25064,7 +26213,7 @@ msgstr "неверный формат двоичных данных в пара
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "продолжительность: %s мс, сообщение Bind %s%s%s: %s"
 
-#: tcop/postgres.c:2118 tcop/postgres.c:2712
+#: tcop/postgres.c:2118 tcop/postgres.c:2711
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "портал \"%s\" не существует"
@@ -25094,13 +26243,13 @@ msgstr "подготовка: %s"
 
 #: tcop/postgres.c:2487
 #, c-format
-msgid "parameters: %s"
-msgstr "параметры: %s"
+msgid "Parameters: %s"
+msgstr "Ð\9fараметры: %s"
 
 #: tcop/postgres.c:2502
 #, c-format
-msgid "abort reason: recovery conflict"
-msgstr "причина прерывания: конфликт при восстановлении"
+msgid "Abort reason: recovery conflict"
+msgstr "Ð\9fричина прерывания: конфликт при восстановлении"
 
 #: tcop/postgres.c:2518
 #, c-format
@@ -25157,17 +26306,17 @@ msgstr "неименованный портал, параметр $%d = %s"
 msgid "unnamed portal parameter $%d"
 msgstr "неименованный портал, параметр $%d"
 
-#: tcop/postgres.c:2932
+#: tcop/postgres.c:2931
 #, c-format
 msgid "terminating connection because of unexpected SIGQUIT signal"
 msgstr "закрытие подключения из-за неожиданного сигнала SIGQUIT"
 
-#: tcop/postgres.c:2938
+#: tcop/postgres.c:2937
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "закрытие подключения из-за краха другого серверного процесса"
 
-#: tcop/postgres.c:2939
+#: tcop/postgres.c:2938
 #, c-format
 msgid ""
 "The postmaster has commanded this server process to roll back the current "
@@ -25178,7 +26327,7 @@ msgstr ""
 "транзакцию и завершиться, так как другой серверный процесс завершился "
 "аварийно и, возможно, разрушил разделяемую память."
 
-#: tcop/postgres.c:2943 tcop/postgres.c:3310
+#: tcop/postgres.c:2942 tcop/postgres.c:3195
 #, c-format
 msgid ""
 "In a moment you should be able to reconnect to the database and repeat your "
@@ -25187,18 +26336,18 @@ msgstr ""
 "Вы сможете переподключиться к базе данных и повторить вашу команду сию "
 "минуту."
 
-#: tcop/postgres.c:2950
+#: tcop/postgres.c:2949
 #, c-format
 msgid "terminating connection due to immediate shutdown command"
 msgstr ""
 "закрытие подключения вследствие получения команды для немедленного отключения"
 
-#: tcop/postgres.c:3036
+#: tcop/postgres.c:3027
 #, c-format
 msgid "floating-point exception"
 msgstr "исключение в операции с плавающей точкой"
 
-#: tcop/postgres.c:3037
+#: tcop/postgres.c:3028
 #, c-format
 msgid ""
 "An invalid floating-point operation was signaled. This probably means an out-"
@@ -25208,72 +26357,77 @@ msgstr ""
 "оказался вне допустимых рамок или произошла ошибка вычисления, например, "
 "деление на ноль."
 
-#: tcop/postgres.c:3214
+#: tcop/postgres.c:3193
+#, c-format
+msgid "terminating connection due to conflict with recovery"
+msgstr "закрытие подключения из-за конфликта с процессом восстановления"
+
+#: tcop/postgres.c:3265
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "отмена проверки подлинности из-за тайм-аута"
 
-#: tcop/postgres.c:3218
+#: tcop/postgres.c:3269
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "прекращение процесса автоочистки по команде администратора"
 
-#: tcop/postgres.c:3222
+#: tcop/postgres.c:3273
 #, c-format
 msgid "terminating logical replication worker due to administrator command"
 msgstr "завершение обработчика логической репликации по команде администратора"
 
-#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308
-#, c-format
-msgid "terminating connection due to conflict with recovery"
-msgstr "закрытие подключения из-за конфликта с процессом восстановления"
-
-#: tcop/postgres.c:3260
+#: tcop/postgres.c:3293
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "закрытие подключения по команде администратора"
 
-#: tcop/postgres.c:3291
+#: tcop/postgres.c:3324
 #, c-format
 msgid "connection to client lost"
 msgstr "подключение к клиенту потеряно"
 
-#: tcop/postgres.c:3361
+#: tcop/postgres.c:3376
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "выполнение оператора отменено из-за тайм-аута блокировки"
 
-#: tcop/postgres.c:3368
+#: tcop/postgres.c:3383
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "выполнение оператора отменено из-за тайм-аута"
 
-#: tcop/postgres.c:3375
+#: tcop/postgres.c:3390
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "отмена задачи автоочистки"
 
-#: tcop/postgres.c:3398
+#: tcop/postgres.c:3403
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "выполнение оператора отменено по запросу пользователя"
 
-#: tcop/postgres.c:3412
+#: tcop/postgres.c:3424
 #, c-format
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "закрытие подключения из-за тайм-аута простоя в транзакции"
 
-#: tcop/postgres.c:3423
+#: tcop/postgres.c:3437
+#, c-format
+msgid "terminating connection due to transaction timeout"
+msgstr "закрытие подключения из-за тайм-аута транзакции"
+
+#: tcop/postgres.c:3450
 #, c-format
 msgid "terminating connection due to idle-session timeout"
 msgstr "закрытие подключения из-за тайм-аута простоя сеанса"
 
-#: tcop/postgres.c:3514
+#: tcop/postgres.c:3540
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "превышен предел глубины стека"
 
-#: tcop/postgres.c:3515
+#: tcop/postgres.c:3541
 #, c-format
 msgid ""
 "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), "
@@ -25283,12 +26437,12 @@ msgstr ""
 "КБ), предварительно убедившись, что ОС предоставляет достаточный размер "
 "стека."
 
-#: tcop/postgres.c:3562
+#: tcop/postgres.c:3588
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "Значение \"max_stack_depth\" не должно превышать %ld КБ."
 
-#: tcop/postgres.c:3564
+#: tcop/postgres.c:3590
 #, c-format
 msgid ""
 "Increase the platform's stack depth limit via \"ulimit -s\" or local "
@@ -25297,20 +26451,20 @@ msgstr ""
 "Увеличьте предел глубины стека в системе с помощью команды \"ulimit -s\" или "
 "эквивалента в вашей ОС."
 
-#: tcop/postgres.c:3587
+#: tcop/postgres.c:3613
 #, c-format
-msgid "client_connection_check_interval must be set to 0 on this platform."
+msgid "\"client_connection_check_interval\" must be set to 0 on this platform."
 msgstr ""
-"Значение client_connection_check_interval должно равняться 0 на этой "
+"Значение \"client_connection_check_interval\" должно равняться 0 на этой "
 "платформе."
 
-#: tcop/postgres.c:3608
+#: tcop/postgres.c:3634
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr ""
 "Этот параметр нельзя включить, когда \"log_statement_stats\" равен true."
 
-#: tcop/postgres.c:3623
+#: tcop/postgres.c:3649
 #, c-format
 msgid ""
 "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", "
@@ -25320,49 +26474,49 @@ msgstr ""
 "\"log_parser_stats\", \"log_planner_stats\" или \"log_executor_stats\" равны "
 "true."
 
-#: tcop/postgres.c:3971
+#: tcop/postgres.c:4074
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "неверный аргумент командной строки для серверного процесса: %s"
 
-#: tcop/postgres.c:3972 tcop/postgres.c:3978
+#: tcop/postgres.c:4075 tcop/postgres.c:4081
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: tcop/postgres.c:3976
+#: tcop/postgres.c:4079
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: неверный аргумент командной строки: %s"
 
-#: tcop/postgres.c:4029
+#: tcop/postgres.c:4132
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: не указаны ни база данных, ни пользователь"
 
-#: tcop/postgres.c:4779
+#: tcop/postgres.c:4885
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "неверный подтип сообщения CLOSE: %d"
 
-#: tcop/postgres.c:4816
+#: tcop/postgres.c:4922
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "неверный подтип сообщения DESCRIBE: %d"
 
-#: tcop/postgres.c:4903
+#: tcop/postgres.c:5009
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr ""
 "вызовы функций через fastpath не поддерживаются для реплицирующих соединений"
 
-#: tcop/postgres.c:4907
+#: tcop/postgres.c:5013
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr ""
 "протокол расширенных запросов не поддерживается для реплицирующих соединений"
 
-#: tcop/postgres.c:5087
+#: tcop/postgres.c:5193
 #, c-format
 msgid ""
 "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s "
@@ -25389,42 +26543,42 @@ msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Добавьте в его объявление SCROLL, чтобы он мог перемещаться назад."
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:417
+#: tcop/utility.c:410
 #, c-format
 msgid "cannot execute %s in a read-only transaction"
 msgstr "в транзакции в режиме \"только чтение\" нельзя выполнить %s"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:435
+#: tcop/utility.c:428
 #, c-format
 msgid "cannot execute %s during a parallel operation"
 msgstr "выполнить %s во время параллельных операций нельзя"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:454
+#: tcop/utility.c:447
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "выполнить %s во время восстановления нельзя"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:472
+#: tcop/utility.c:465
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "в рамках операции с ограничениями по безопасности нельзя выполнить %s"
 
 #. translator: %s is name of a SQL command, eg LISTEN
-#: tcop/utility.c:828
+#: tcop/utility.c:821
 #, c-format
 msgid "cannot execute %s within a background process"
 msgstr "выполнять %s в фоновом процессе нельзя"
 
 #. translator: %s is name of a SQL command, eg CHECKPOINT
-#: tcop/utility.c:954
+#: tcop/utility.c:947
 #, c-format
 msgid "permission denied to execute %s command"
 msgstr "нет прав для выполнения команды %s"
 
-#: tcop/utility.c:956
+#: tcop/utility.c:949
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may execute this command."
 msgstr "Выполнять эту команду могут только роли с правами роли \"%s\"."
@@ -25579,13 +26733,13 @@ msgstr "неверный флаг аффиксов \"%s\" со значение
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "не удалось открыть файл словаря \"%s\": %m"
 
-#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559
+#: tsearch/spell.c:749 utils/adt/regexp.c:223 jsonpath_gram.y:629
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "неверное регулярное выражение: %s"
 
 #: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997
-#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18123 gram.y:18140
+#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18728 gram.y:18745
 #, c-format
 msgid "syntax error"
 msgstr "ошибка синтаксиса"
@@ -25625,17 +26779,17 @@ msgstr "количество псевдонимов превышает зада
 msgid "affix file contains both old-style and new-style commands"
 msgstr "файл аффиксов содержит команды и в старом, и в новом стиле"
 
-#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128
+#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "строка слишком длинна для tsvector (%d Б, при максимуме %d)"
 
-#: tsearch/ts_locale.c:238
+#: tsearch/ts_locale.c:236
 #, c-format
 msgid "line %d of configuration file \"%s\": \"%s\""
 msgstr "строка %d файла конфигурации \"%s\": \"%s\""
 
-#: tsearch/ts_locale.c:317
+#: tsearch/ts_locale.c:315
 #, c-format
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "преобразовать wchar_t в кодировку сервера не удалось: %m"
@@ -25662,73 +26816,73 @@ msgstr "неверное имя файла конфигурации тексто
 msgid "could not open stop-word file \"%s\": %m"
 msgstr "не удалось открыть файл стоп-слов \"%s\": %m"
 
-#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473
+#: tsearch/wparser.c:306 tsearch/wparser.c:394 tsearch/wparser.c:471
 #, c-format
 msgid "text search parser does not support headline creation"
 msgstr "анализатор текстового поиска не поддерживает создание выдержек"
 
-#: tsearch/wparser_def.c:2663
+#: tsearch/wparser_def.c:2664
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "нераспознанный параметр функции выдержки: \"%s\""
 
-#: tsearch/wparser_def.c:2673
+#: tsearch/wparser_def.c:2674
 #, c-format
 msgid "MinWords should be less than MaxWords"
 msgstr "Значение MinWords должно быть меньше MaxWords"
 
-#: tsearch/wparser_def.c:2677
+#: tsearch/wparser_def.c:2678
 #, c-format
 msgid "MinWords should be positive"
 msgstr "Значение MinWords должно быть положительным"
 
-#: tsearch/wparser_def.c:2681
+#: tsearch/wparser_def.c:2682
 #, c-format
 msgid "ShortWord should be >= 0"
 msgstr "Значение ShortWord должно быть >= 0"
 
-#: tsearch/wparser_def.c:2685
+#: tsearch/wparser_def.c:2686
 #, c-format
 msgid "MaxFragments should be >= 0"
 msgstr "Значение MaxFragments должно быть >= 0"
 
-#: utils/activity/pgstat.c:438
+#: utils/activity/pgstat.c:435
 #, c-format
 msgid "could not unlink permanent statistics file \"%s\": %m"
 msgstr "ошибка удаления постоянного файла статистики \"%s\": %m"
 
-#: utils/activity/pgstat.c:1255
+#: utils/activity/pgstat.c:1252
 #, c-format
 msgid "invalid statistics kind: \"%s\""
 msgstr "неверный вид статистики: \"%s\""
 
-#: utils/activity/pgstat.c:1335
+#: utils/activity/pgstat.c:1332
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "не удалось открыть временный файл статистики \"%s\": %m"
 
-#: utils/activity/pgstat.c:1447
+#: utils/activity/pgstat.c:1444
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "не удалось записать во временный файл статистики \"%s\": %m"
 
-#: utils/activity/pgstat.c:1456
+#: utils/activity/pgstat.c:1453
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "не удалось закрыть временный файл статистики \"%s\": %m"
 
-#: utils/activity/pgstat.c:1464
+#: utils/activity/pgstat.c:1461
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 "не удалось переименовать временный файл статистики из \"%s\" в \"%s\": %m"
 
-#: utils/activity/pgstat.c:1513
+#: utils/activity/pgstat.c:1510
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "не удалось открыть файл статистики \"%s\": %m"
 
-#: utils/activity/pgstat.c:1675
+#: utils/activity/pgstat.c:1672
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "файл статистики \"%s\" испорчен"
@@ -25738,115 +26892,125 @@ msgstr "файл статистики \"%s\" испорчен"
 msgid "function call to dropped function"
 msgstr "вызвана функция, которая была удалена"
 
-#: utils/activity/pgstat_xact.c:363
+#: utils/activity/pgstat_xact.c:362
 #, c-format
 msgid "resetting existing statistics for kind %s, db=%u, oid=%u"
 msgstr "сбрасывается существующая статистика вида %s, db=%u, oid=%u"
 
-#: utils/adt/acl.c:177 utils/adt/name.c:93
+#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232
+#, c-format
+msgid "wait event \"%s\" already exists in type \"%s\""
+msgstr "событие ожидания \"%s\" в типе \"%s\" уже существует"
+
+#: utils/activity/wait_event.c:246
+#, c-format
+msgid "too many custom wait events"
+msgstr "слишком много пользовательских событий ожидания"
+
+#: utils/adt/acl.c:183 utils/adt/name.c:93
 #, c-format
 msgid "identifier too long"
 msgstr "слишком длинный идентификатор"
 
-#: utils/adt/acl.c:178 utils/adt/name.c:94
+#: utils/adt/acl.c:184 utils/adt/name.c:94
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "Идентификатор должен быть короче %d байт."
 
-#: utils/adt/acl.c:266
+#: utils/adt/acl.c:272
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "нераспознанное ключевое слово: \"%s\""
 
-#: utils/adt/acl.c:267
+#: utils/adt/acl.c:273
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "Ключевым словом ACL должно быть \"group\" или \"user\"."
 
-#: utils/adt/acl.c:275
+#: utils/adt/acl.c:281
 #, c-format
 msgid "missing name"
 msgstr "отсутствует имя"
 
-#: utils/adt/acl.c:276
+#: utils/adt/acl.c:282
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "За ключевыми словами \"group\" или \"user\" должно следовать имя."
 
-#: utils/adt/acl.c:282
+#: utils/adt/acl.c:288
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "отсутствует знак \"=\""
 
-#: utils/adt/acl.c:341
+#: utils/adt/acl.c:350
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "неверный символ режима: должен быть один из \"%s\""
 
-#: utils/adt/acl.c:371
+#: utils/adt/acl.c:380
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "за знаком \"/\" должно следовать имя"
 
-#: utils/adt/acl.c:383
+#: utils/adt/acl.c:392
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "назначившим права считается пользователь с ID %u"
 
-#: utils/adt/acl.c:569
+#: utils/adt/acl.c:578
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "Массив ACL содержит неверный тип данных"
 
-#: utils/adt/acl.c:573
+#: utils/adt/acl.c:582
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "Массивы ACL должны быть одномерными"
 
-#: utils/adt/acl.c:577
+#: utils/adt/acl.c:586
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "Массивы ACL не должны содержать значения null"
 
-#: utils/adt/acl.c:606
+#: utils/adt/acl.c:615
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "лишний мусор в конце спецификации ACL"
 
-#: utils/adt/acl.c:1248
+#: utils/adt/acl.c:1263
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "привилегию назначения прав нельзя вернуть тому, кто назначил её вам"
 
-#: utils/adt/acl.c:1564
+#: utils/adt/acl.c:1579
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert больше не поддерживается"
 
-#: utils/adt/acl.c:1574
+#: utils/adt/acl.c:1589
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove больше не поддерживается"
 
-#: utils/adt/acl.c:1693
+#: utils/adt/acl.c:1709
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "нераспознанный тип прав: \"%s\""
 
-#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265
+#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "функция \"%s\" не существует"
 
-#: utils/adt/acl.c:5023
+#: utils/adt/acl.c:5196
 #, c-format
 msgid "must be able to SET ROLE \"%s\""
 msgstr "нужны права для выполнения SET ROLE \"%s\""
 
 #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489
-#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831
-#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211
-#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827
+#: utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740
+#: utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098
+#: utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728
 #, c-format
 msgid "could not determine input data type"
 msgstr "не удалось определить тип входных данных"
@@ -25857,17 +27021,17 @@ msgid "input data type is not an array"
 msgstr "тип входных данных не является массивом"
 
 #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203
-#: utils/adt/float.c:1228 utils/adt/float.c:1302 utils/adt/float.c:4117
-#: utils/adt/float.c:4155 utils/adt/int.c:778 utils/adt/int.c:800
+#: utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022
+#: utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800
 #: utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859
 #: utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011
 #: utils/adt/int.c:1025 utils/adt/int.c:1058 utils/adt/int.c:1072
 #: utils/adt/int.c:1086 utils/adt/int.c:1117 utils/adt/int.c:1199
 #: utils/adt/int.c:1263 utils/adt/int.c:1331 utils/adt/int.c:1337
-#: utils/adt/int8.c:1272 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388
-#: utils/adt/rangetypes.c:1481 utils/adt/rangetypes.c:1494
-#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1132
-#: utils/adt/varlena.c:3134
+#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454
+#: utils/adt/rangetypes.c:1488 utils/adt/rangetypes.c:1501
+#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1135
+#: utils/adt/varlena.c:3137
 #, c-format
 msgid "integer out of range"
 msgstr "целое вне диапазона"
@@ -25907,188 +27071,199 @@ msgstr "Массивы с разными размерностями элемен
 msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "Массивы с разными размерностями несовместимы для соединения."
 
-#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995
-#: utils/adt/arrayfuncs.c:5639 utils/adt/arrayfuncs.c:5645
+#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983
+#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "аккумулировать массивы различной размерности нельзя"
 
-#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440
+#: utils/adt/array_userfuncs.c:1272 utils/adt/array_userfuncs.c:1426
 #, c-format
 msgid "searching for elements in multidimensional arrays is not supported"
 msgstr "поиск элементов в многомерных массивах не поддерживается"
 
-#: utils/adt/array_userfuncs.c:1315
+#: utils/adt/array_userfuncs.c:1301
 #, c-format
 msgid "initial position must not be null"
 msgstr "начальная позиция не может быть NULL"
 
-#: utils/adt/array_userfuncs.c:1688
+#: utils/adt/array_userfuncs.c:1674
 #, c-format
 msgid "sample size must be between 0 and %d"
 msgstr "размер выборки должен задаваться числом от 0 до %d"
 
-#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:288
-#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:321
-#: utils/adt/arrayfuncs.c:338 utils/adt/arrayfuncs.c:352
-#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367
-#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:522
-#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:548
-#: utils/adt/arrayfuncs.c:569 utils/adt/arrayfuncs.c:599
-#: utils/adt/arrayfuncs.c:606 utils/adt/arrayfuncs.c:614
-#: utils/adt/arrayfuncs.c:648 utils/adt/arrayfuncs.c:671
-#: utils/adt/arrayfuncs.c:691 utils/adt/arrayfuncs.c:808
-#: utils/adt/arrayfuncs.c:817 utils/adt/arrayfuncs.c:847
-#: utils/adt/arrayfuncs.c:862 utils/adt/arrayfuncs.c:915
+#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:273
+#: utils/adt/arrayfuncs.c:284 utils/adt/arrayfuncs.c:307
+#: utils/adt/arrayfuncs.c:440 utils/adt/arrayfuncs.c:454
+#: utils/adt/arrayfuncs.c:466 utils/adt/arrayfuncs.c:636
+#: utils/adt/arrayfuncs.c:668 utils/adt/arrayfuncs.c:703
+#: utils/adt/arrayfuncs.c:718 utils/adt/arrayfuncs.c:777
+#: utils/adt/arrayfuncs.c:782 utils/adt/arrayfuncs.c:870
+#: utils/adt/arrayfuncs.c:897 utils/adt/arrayfuncs.c:904
+#: utils/adt/arrayfuncs.c:941
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "ошибочный литерал массива: \"%s\""
 
-#: utils/adt/arrayfuncs.c:275
-#, c-format
-msgid "\"[\" must introduce explicitly-specified array dimensions."
-msgstr "За \"[\" должны следовать явно задаваемые размерности массива."
-
-#: utils/adt/arrayfuncs.c:289
+#: utils/adt/arrayfuncs.c:265
 #, c-format
-msgid "Missing array dimension value."
-msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð·Ð½Ð°Ñ\87ение Ñ\80азмеÑ\80ноÑ\81Ñ\82и Ð¼Ð°Ñ\81Ñ\81ива."
+msgid "Array value must start with \"{\" or dimension information."
+msgstr "Ð\97наÑ\87ение Ð¼Ð°Ñ\81Ñ\81ива Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð½Ð°Ñ\87инаÑ\82Ñ\8cÑ\81Ñ\8f Ñ\81 \"{\" Ð¸Ð»Ð¸ Ñ\83казаниÑ\8f Ñ\80азмеÑ\80ноÑ\81Ñ\82и."
 
-#: utils/adt/arrayfuncs.c:300 utils/adt/arrayfuncs.c:339
+#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:467
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "После размерностей массива отсутствует \"%s\"."
 
-#: utils/adt/arrayfuncs.c:309 utils/adt/arrayfuncs.c:2969
-#: utils/adt/arrayfuncs.c:3014 utils/adt/arrayfuncs.c:3029
+#: utils/adt/arrayfuncs.c:285
 #, c-format
-msgid "upper bound cannot be less than lower bound"
-msgstr "веÑ\80Ñ\85нÑ\8fÑ\8f Ð³Ñ\80аниÑ\86а Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8cÑ\88е Ð½Ð¸Ð¶Ð½ÐµÐ¹"
+msgid "Array contents must start with \"{\"."
+msgstr "СодеÑ\80жимое Ð¼Ð°Ñ\81Ñ\81ива Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð½Ð°Ñ\87инаÑ\82Ñ\8cÑ\81Ñ\8f Ñ\81 \"{\"."
 
-#: utils/adt/arrayfuncs.c:322
+#: utils/adt/arrayfuncs.c:308 utils/adt/multirangetypes.c:292
 #, c-format
-msgid "Array value must start with \"{\" or dimension information."
-msgstr "Ð\97наÑ\87ение Ð¼Ð°Ñ\81Ñ\81ива Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð½Ð°Ñ\87инаÑ\82Ñ\8cÑ\81Ñ\8f Ñ\81 \"{\" Ð¸Ð»Ð¸ Ñ\83казаниÑ\8f Ñ\80азмеÑ\80ноÑ\81Ñ\82и."
+msgid "Junk after closing right brace."
+msgstr "Ð\9cÑ\83Ñ\81оÑ\80 Ð¿Ð¾Ñ\81ле Ð·Ð°ÐºÑ\80Ñ\8bваÑ\8eÑ\89ей Ñ\84игÑ\83Ñ\80ной Ñ\81кобки."
 
-#: utils/adt/arrayfuncs.c:353
+#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:643
 #, c-format
-msgid "Array contents must start with \"{\"."
-msgstr "Содержимое массива должно начинаться с \"{\"."
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "число размерностей массива превышает предел (%d)"
 
-#: utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:368
+#: utils/adt/arrayfuncs.c:441
 #, c-format
-msgid "Specified array dimensions do not match array contents."
-msgstr "УказаннÑ\8bе Ñ\80азмеÑ\80ноÑ\81Ñ\82и Ð¼Ð°Ñ\81Ñ\81ива Ð½Ðµ Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 ÐµÐ³Ð¾ Ñ\81одеÑ\80жимомÑ\83."
+msgid "\"[\" must introduce explicitly-specified array dimensions."
+msgstr "Ð\97а \"[\" Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ñ\81ледоваÑ\82Ñ\8c Ñ\8fвно Ð·Ð°Ð´Ð°Ð²Ð°ÐµÐ¼Ñ\8bе Ñ\80азмеÑ\80ноÑ\81Ñ\82и Ð¼Ð°Ñ\81Ñ\81ива."
 
-#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:534
-#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405
-#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219
-#: utils/adt/rowtypes.c:230
+#: utils/adt/arrayfuncs.c:455
 #, c-format
-msgid "Unexpected end of input."
-msgstr "Неожиданный конец ввода."
+msgid "Missing array dimension value."
+msgstr "Отсутствует значение размерности массива."
+
+#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940
+#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000
+#, c-format
+msgid "upper bound cannot be less than lower bound"
+msgstr "верхняя граница не может быть меньше нижней"
+
+#: utils/adt/arrayfuncs.c:487
+#, c-format
+msgid "array upper bound is too large: %d"
+msgstr "верхняя граница массива слишком велика: %d"
 
-#: utils/adt/arrayfuncs.c:523 utils/adt/arrayfuncs.c:570
-#: utils/adt/arrayfuncs.c:600 utils/adt/arrayfuncs.c:649
+#: utils/adt/arrayfuncs.c:538
+#, c-format
+msgid "array bound is out of integer range"
+msgstr "граница массива вне целочисленного диапазона"
+
+#: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669
+#: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Неожиданный знак \"%c\"."
 
-#: utils/adt/arrayfuncs.c:549 utils/adt/arrayfuncs.c:672
+#: utils/adt/arrayfuncs.c:719
 #, c-format
 msgid "Unexpected array element."
 msgstr "Неожиданный элемент массива."
 
-#: utils/adt/arrayfuncs.c:607
+#: utils/adt/arrayfuncs.c:778
 #, c-format
-msgid "Unmatched \"%c\" character."
-msgstr "Ð\9dепаÑ\80нÑ\8bй Ð·Ð½Ð°Ðº \"%c\"."
+msgid "Specified array dimensions do not match array contents."
+msgstr "УказаннÑ\8bе Ñ\80азмеÑ\80ноÑ\81Ñ\82и Ð¼Ð°Ñ\81Ñ\81ива Ð½Ðµ Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 ÐµÐ³Ð¾ Ñ\81одеÑ\80жимомÑ\83."
 
-#: utils/adt/arrayfuncs.c:615 utils/adt/jsonfuncs.c:2553
+#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr ""
 "Для многомерных массивов должны задаваться вложенные массивы с "
 "соответствующими размерностями."
 
-#: utils/adt/arrayfuncs.c:692 utils/adt/multirangetypes.c:293
+#: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905
 #, c-format
-msgid "Junk after closing right brace."
-msgstr "Мусор после закрывающей фигурной скобки."
+msgid "Incorrectly quoted array element."
+msgstr "Элемент массива заключён в кавычки некорректно."
+
+#: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165
+#: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472
+#: utils/adt/rowtypes.c:218 utils/adt/rowtypes.c:229
+#, c-format
+msgid "Unexpected end of input."
+msgstr "Неожиданный конец ввода."
 
-#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3528
-#: utils/adt/arrayfuncs.c:6129
+#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499
+#: utils/adt/arrayfuncs.c:6106
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "неверное число размерностей: %d"
 
-#: utils/adt/arrayfuncs.c:1337
+#: utils/adt/arrayfuncs.c:1312
 #, c-format
 msgid "invalid array flags"
 msgstr "неверные флаги массива"
 
-#: utils/adt/arrayfuncs.c:1359
+#: utils/adt/arrayfuncs.c:1334
 #, c-format
 msgid "binary data has array element type %u (%s) instead of expected %u (%s)"
 msgstr ""
 "с бинарными данными связан тип элемента массива %u (%s) вместо ожидаемого %u "
 "(%s)"
 
-#: utils/adt/arrayfuncs.c:1403 utils/adt/multirangetypes.c:451
-#: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916
+#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:450
+#: utils/adt/rangetypes.c:351 utils/cache/lsyscache.c:2958
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "для типа %s нет функции ввода двоичных данных"
 
-#: utils/adt/arrayfuncs.c:1543
+#: utils/adt/arrayfuncs.c:1509
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "неподходящий двоичный формат в элементе массива %d"
 
-#: utils/adt/arrayfuncs.c:1624 utils/adt/multirangetypes.c:456
-#: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949
+#: utils/adt/arrayfuncs.c:1588 utils/adt/multirangetypes.c:455
+#: utils/adt/rangetypes.c:356 utils/cache/lsyscache.c:2991
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "для типа %s нет функции вывода двоичных данных"
 
-#: utils/adt/arrayfuncs.c:2103
+#: utils/adt/arrayfuncs.c:2067
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "разрезание массивов постоянной длины не поддерживается"
 
-#: utils/adt/arrayfuncs.c:2281 utils/adt/arrayfuncs.c:2303
-#: utils/adt/arrayfuncs.c:2352 utils/adt/arrayfuncs.c:2606
-#: utils/adt/arrayfuncs.c:2944 utils/adt/arrayfuncs.c:6115
-#: utils/adt/arrayfuncs.c:6141 utils/adt/arrayfuncs.c:6152
-#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416
-#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587
-#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746
+#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267
+#: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570
+#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092
+#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129
+#: utils/adt/json.c:1419 utils/adt/json.c:1491 utils/adt/jsonb.c:1317
+#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863
+#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "неверное число индексов массива"
 
-#: utils/adt/arrayfuncs.c:2286 utils/adt/arrayfuncs.c:2410
-#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3019
+#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374
+#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990
 #, c-format
 msgid "array subscript out of range"
 msgstr "индекс массива вне диапазона"
 
-#: utils/adt/arrayfuncs.c:2291
+#: utils/adt/arrayfuncs.c:2255
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "нельзя присвоить значение null элементу массива фиксированной длины"
 
-#: utils/adt/arrayfuncs.c:2891
+#: utils/adt/arrayfuncs.c:2855
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "изменения в срезах массивов фиксированной длины не поддерживаются"
 
-#: utils/adt/arrayfuncs.c:2922
+#: utils/adt/arrayfuncs.c:2886
 #, c-format
 msgid "array slice subscript must provide both boundaries"
 msgstr "в указании среза массива должны быть заданы обе границы"
 
-#: utils/adt/arrayfuncs.c:2923
+#: utils/adt/arrayfuncs.c:2887
 #, c-format
 msgid ""
 "When assigning to a slice of an empty array value, slice boundaries must be "
@@ -26097,85 +27272,85 @@ msgstr ""
 "При присвоении значений срезу в пустом массиве, должны полностью задаваться "
 "обе границы."
 
-#: utils/adt/arrayfuncs.c:2934 utils/adt/arrayfuncs.c:3046
+#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017
 #, c-format
 msgid "source array too small"
 msgstr "исходный массив слишком мал"
 
-#: utils/adt/arrayfuncs.c:3686
+#: utils/adt/arrayfuncs.c:3657
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "элемент массива null недопустим в данном контексте"
 
-#: utils/adt/arrayfuncs.c:3857 utils/adt/arrayfuncs.c:4028
-#: utils/adt/arrayfuncs.c:4419
+#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999
+#: utils/adt/arrayfuncs.c:4390
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "нельзя сравнивать массивы с элементами разных типов"
 
-#: utils/adt/arrayfuncs.c:4206 utils/adt/multirangetypes.c:2806
-#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354
-#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885
+#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805
+#: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361
+#: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "не удалось найти функцию хеширования для типа %s"
 
-#: utils/adt/arrayfuncs.c:4334 utils/adt/rowtypes.c:2006
+#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996
 #, c-format
 msgid "could not identify an extended hash function for type %s"
 msgstr "не удалось найти функцию расширенного хеширования для типа %s"
 
-#: utils/adt/arrayfuncs.c:5529
+#: utils/adt/arrayfuncs.c:5506
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "тип данных %s не является типом массива"
 
-#: utils/adt/arrayfuncs.c:5584
+#: utils/adt/arrayfuncs.c:5561
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "аккумулировать NULL-массивы нельзя"
 
-#: utils/adt/arrayfuncs.c:5612
+#: utils/adt/arrayfuncs.c:5589
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "аккумулировать пустые массивы нельзя"
 
-#: utils/adt/arrayfuncs.c:6013 utils/adt/arrayfuncs.c:6053
+#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "массив размерностей или массив нижних границ не может быть null"
 
-#: utils/adt/arrayfuncs.c:6116 utils/adt/arrayfuncs.c:6142
+#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Массив размерностей должен быть одномерным."
 
-#: utils/adt/arrayfuncs.c:6121 utils/adt/arrayfuncs.c:6147
+#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "значения размерностей не могут быть null"
 
-#: utils/adt/arrayfuncs.c:6153
+#: utils/adt/arrayfuncs.c:6130
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "Массив нижних границ и массив размерностей имеют разные размеры."
 
-#: utils/adt/arrayfuncs.c:6431
+#: utils/adt/arrayfuncs.c:6411
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "удаление элементов из многомерных массивов не поддерживается"
 
-#: utils/adt/arrayfuncs.c:6708
+#: utils/adt/arrayfuncs.c:6688
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "границы должны задаваться одномерным массивом"
 
-#: utils/adt/arrayfuncs.c:6713
+#: utils/adt/arrayfuncs.c:6693
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "массив границ не должен содержать NULL"
 
-#: utils/adt/arrayfuncs.c:6946
+#: utils/adt/arrayfuncs.c:6926
 #, c-format
 msgid "number of elements to trim must be between 0 and %d"
 msgstr "число удаляемых элементов должно быть от 0 до %d"
@@ -26190,22 +27365,22 @@ msgstr "индекс элемента массива должен быть це
 msgid "array subscript in assignment must not be null"
 msgstr "индекс элемента массива в присваивании не может быть NULL"
 
-#: utils/adt/arrayutils.c:155
+#: utils/adt/arrayutils.c:140
 #, c-format
 msgid "array lower bound is too large: %d"
 msgstr "нижняя граница массива слишком велика: %d"
 
-#: utils/adt/arrayutils.c:257
+#: utils/adt/arrayutils.c:242
 #, c-format
 msgid "typmod array must be type cstring[]"
 msgstr "массив typmod должен иметь тип cstring[]"
 
-#: utils/adt/arrayutils.c:262
+#: utils/adt/arrayutils.c:247
 #, c-format
 msgid "typmod array must be one-dimensional"
 msgstr "массив typmod должен быть одномерным"
 
-#: utils/adt/arrayutils.c:267
+#: utils/adt/arrayutils.c:252
 #, c-format
 msgid "typmod array must not contain nulls"
 msgstr "массив typmod не должен содержать элементы null"
@@ -26216,48 +27391,52 @@ msgid "encoding conversion from %s to ASCII not supported"
 msgstr "преобразование кодировки из %s в ASCII не поддерживается"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017
-#: utils/adt/float.c:206 utils/adt/float.c:293 utils/adt/float.c:307
-#: utils/adt/float.c:412 utils/adt/float.c:495 utils/adt/float.c:509
+#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142
+#: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301
+#: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503
 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974
 #: utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462
 #: utils/adt/geo_ops.c:3428 utils/adt/geo_ops.c:4650 utils/adt/geo_ops.c:4665
 #: utils/adt/geo_ops.c:4672 utils/adt/int.c:174 utils/adt/int.c:186
-#: utils/adt/jsonpath.c:183 utils/adt/mac.c:94 utils/adt/mac8.c:225
-#: utils/adt/network.c:99 utils/adt/numeric.c:795 utils/adt/numeric.c:7136
-#: utils/adt/numeric.c:7339 utils/adt/numeric.c:8286 utils/adt/numutils.c:357
-#: utils/adt/numutils.c:619 utils/adt/numutils.c:881 utils/adt/numutils.c:920
-#: utils/adt/numutils.c:942 utils/adt/numutils.c:1006 utils/adt/numutils.c:1028
-#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80
-#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:494
-#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:362
+#: utils/adt/jsonpath.c:185 utils/adt/mac.c:94 utils/adt/mac8.c:226
+#: utils/adt/network.c:99 utils/adt/numeric.c:803 utils/adt/numeric.c:7221
+#: utils/adt/numeric.c:7424 utils/adt/numeric.c:8371 utils/adt/numutils.c:356
+#: utils/adt/numutils.c:618 utils/adt/numutils.c:880 utils/adt/numutils.c:919
+#: utils/adt/numutils.c:941 utils/adt/numutils.c:1005 utils/adt/numutils.c:1027
+#: utils/adt/pg_lsn.c:73 utils/adt/tid.c:72 utils/adt/tid.c:80
+#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:510
+#: utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "неверный синтаксис для типа %s: \"%s\""
 
-#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250
-#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:351
-#: utils/adt/numutils.c:613 utils/adt/numutils.c:875 utils/adt/numutils.c:926
-#: utils/adt/numutils.c:965 utils/adt/numutils.c:1012
+#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124
+#: utils/adt/cash.c:137 utils/adt/cash.c:150
 #, c-format
-msgid "value \"%s\" is out of range for type %s"
-msgstr "знаÑ\87ение \"%s\" Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð´Ð»Ñ\8f Ñ\82ипа %s"
+msgid "money out of range"
+msgstr "денежное Ð·Ð½Ð°Ñ\87ение Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
 
-#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753
-#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904
-#: utils/adt/float.c:105 utils/adt/int.c:843 utils/adt/int.c:959
-#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139
-#: utils/adt/int.c:1167 utils/adt/int8.c:515 utils/adt/int8.c:573
-#: utils/adt/int8.c:958 utils/adt/int8.c:1038 utils/adt/int8.c:1100
-#: utils/adt/int8.c:1180 utils/adt/numeric.c:3175 utils/adt/numeric.c:3198
-#: utils/adt/numeric.c:3283 utils/adt/numeric.c:3301 utils/adt/numeric.c:3397
-#: utils/adt/numeric.c:8835 utils/adt/numeric.c:9148 utils/adt/numeric.c:9496
-#: utils/adt/numeric.c:9612 utils/adt/numeric.c:11122
-#: utils/adt/timestamp.c:3442
+#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99
+#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039
+#: utils/adt/int.c:1101 utils/adt/int.c:1139 utils/adt/int.c:1167
+#: utils/adt/int8.c:514 utils/adt/int8.c:572 utils/adt/int8.c:942
+#: utils/adt/int8.c:1022 utils/adt/int8.c:1084 utils/adt/int8.c:1164
+#: utils/adt/numeric.c:3191 utils/adt/numeric.c:3214 utils/adt/numeric.c:3299
+#: utils/adt/numeric.c:3317 utils/adt/numeric.c:3413 utils/adt/numeric.c:8920
+#: utils/adt/numeric.c:9233 utils/adt/numeric.c:9581 utils/adt/numeric.c:9697
+#: utils/adt/numeric.c:11208 utils/adt/timestamp.c:3713
 #, c-format
 msgid "division by zero"
 msgstr "деление на ноль"
 
+#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327
+#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350
+#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925
+#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011
+#, c-format
+msgid "value \"%s\" is out of range for type %s"
+msgstr "значение \"%s\" вне диапазона для типа %s"
+
 #: utils/adt/char.c:197
 #, c-format
 msgid "\"char\" out of range"
@@ -26268,164 +27447,187 @@ msgstr "значение \"char\" вне диапазона"
 msgid "could not compute %s hash: %s"
 msgstr "не удалось вычислить хеш %s: %s"
 
-#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105
-#: utils/adt/varchar.c:49
+#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105
+#: utils/adt/varchar.c:48
 #, c-format
 msgid "invalid type modifier"
 msgstr "неверный модификатор типа"
 
-#: utils/adt/date.c:75
+#: utils/adt/date.c:76
 #, c-format
 msgid "TIME(%d)%s precision must not be negative"
 msgstr "TIME(%d)%s: точность должна быть неотрицательной"
 
-#: utils/adt/date.c:81
+#: utils/adt/date.c:82
 #, c-format
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d"
 
-#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241
-#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363
-#: utils/adt/formatting.c:4373
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424
+#: utils/adt/formatting.c:4433 utils/adt/formatting.c:4538
+#: utils/adt/formatting.c:4548
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "дата вне диапазона: \"%s\""
 
-#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543
-#: utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2470
+#: utils/adt/date.c:222 utils/adt/date.c:520 utils/adt/date.c:544
+#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2531
 #, c-format
 msgid "date out of range"
 msgstr "дата вне диапазона"
 
-#: utils/adt/date.c:267 utils/adt/timestamp.c:582
+#: utils/adt/date.c:268 utils/adt/timestamp.c:598
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "значение поля типа date вне диапазона: %d-%02d-%02d"
 
-#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588
+#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "дата вне диапазона: %d-%02d-%02d"
 
-#: utils/adt/date.c:494
+#: utils/adt/date.c:495
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "вычитать бесконечные даты нельзя"
 
-#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691
-#: utils/adt/date.c:2885 utils/adt/date.c:2895
+#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692
+#: utils/adt/date.c:2906 utils/adt/date.c:2916
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "дата вне диапазона для типа timestamp"
 
-#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220
-#: utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c:4172
-#: utils/adt/timestamp.c:4382 utils/adt/timestamp.c:4524
-#: utils/adt/timestamp.c:4777 utils/adt/timestamp.c:4978
-#: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5249
-#: utils/adt/timestamp.c:5296 utils/adt/timestamp.c:5426
+#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221
+#: utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726
+#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089
+#: utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543
+#: utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814
+#: utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941
+#: utils/adt/timestamp.c:6070
 #, c-format
 msgid "unit \"%s\" not supported for type %s"
 msgstr "единица \"%s\" для типа %s не поддерживается"
 
-#: utils/adt/date.c:1229 utils/adt/date.c:2222 utils/adt/date.c:3010
-#: utils/adt/timestamp.c:4186 utils/adt/timestamp.c:4399
-#: utils/adt/timestamp.c:4538 utils/adt/timestamp.c:4737
-#: utils/adt/timestamp.c:5034 utils/adt/timestamp.c:5305
-#: utils/adt/timestamp.c:5487
+#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031
+#: utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958
+#: utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302
+#: utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870
+#: utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131
 #, c-format
 msgid "unit \"%s\" not recognized for type %s"
 msgstr "единица \"%s\" для типа %s не распознана"
 
-#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918
-#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848
-#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809
-#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117
-#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467
-#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264
-#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709
-#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820
-#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2938
-#: utils/adt/timestamp.c:2957 utils/adt/timestamp.c:2970
-#: utils/adt/timestamp.c:2981 utils/adt/timestamp.c:2987
-#: utils/adt/timestamp.c:2993 utils/adt/timestamp.c:2998
-#: utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064
-#: utils/adt/timestamp.c:3085 utils/adt/timestamp.c:3098
-#: utils/adt/timestamp.c:3112 utils/adt/timestamp.c:3120
-#: utils/adt/timestamp.c:3126 utils/adt/timestamp.c:3131
-#: utils/adt/timestamp.c:3859 utils/adt/timestamp.c:3983
-#: utils/adt/timestamp.c:4054 utils/adt/timestamp.c:4090
-#: utils/adt/timestamp.c:4180 utils/adt/timestamp.c:4254
-#: utils/adt/timestamp.c:4290 utils/adt/timestamp.c:4393
-#: utils/adt/timestamp.c:4842 utils/adt/timestamp.c:5116
-#: utils/adt/timestamp.c:5555 utils/adt/timestamp.c:5565
-#: utils/adt/timestamp.c:5570 utils/adt/timestamp.c:5576
-#: utils/adt/timestamp.c:5609 utils/adt/timestamp.c:5696
-#: utils/adt/timestamp.c:5737 utils/adt/timestamp.c:5741
-#: utils/adt/timestamp.c:5795 utils/adt/timestamp.c:5799
-#: utils/adt/timestamp.c:5805 utils/adt/timestamp.c:5839 utils/adt/xml.c:2492
-#: utils/adt/xml.c:2499 utils/adt/xml.c:2519 utils/adt/xml.c:2526
+#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919
+#: utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869
+#: utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807
+#: utils/adt/formatting.c:4269 utils/adt/formatting.c:4305
+#: utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366
+#: utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280
+#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:725
+#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836
+#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075
+#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097
+#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129
+#: utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146
+#: utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157
+#: utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219
+#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245
+#: utils/adt/timestamp.c:3266 utils/adt/timestamp.c:3279
+#: utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301
+#: utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312
+#: utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532
+#: utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644
+#: utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813
+#: utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952
+#: utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681
+#: utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209
+#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220
+#: utils/adt/timestamp.c:6260 utils/adt/timestamp.c:6347
+#: utils/adt/timestamp.c:6388 utils/adt/timestamp.c:6392
+#: utils/adt/timestamp.c:6446 utils/adt/timestamp.c:6450
+#: utils/adt/timestamp.c:6456 utils/adt/timestamp.c:6497 utils/adt/xml.c:2553
+#: utils/adt/xml.c:2560 utils/adt/xml.c:2580 utils/adt/xml.c:2587
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp вне диапазона"
 
-#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431
+#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597
 #, c-format
 msgid "time out of range"
 msgstr "время вне диапазона"
 
-#: utils/adt/date.c:1587 utils/adt/timestamp.c:597
+#: utils/adt/date.c:1588 utils/adt/timestamp.c:613
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "значение поля типа time вне диапазона: %d:%02d:%02g"
 
-#: utils/adt/date.c:2107 utils/adt/date.c:2647 utils/adt/float.c:1042
-#: utils/adt/float.c:1118 utils/adt/int.c:635 utils/adt/int.c:682
-#: utils/adt/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2579
-#: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540
-#: utils/adt/timestamp.c:3571
+#: utils/adt/date.c:2020
+#, c-format
+msgid "cannot convert infinite interval to time"
+msgstr "бесконечный интервал нельзя привести к типу time"
+
+#: utils/adt/date.c:2061 utils/adt/date.c:2605
+#, c-format
+msgid "cannot add infinite interval to time"
+msgstr "бесконечный интервал нельзя добавить к значению time"
+
+#: utils/adt/date.c:2084 utils/adt/date.c:2632
+#, c-format
+msgid "cannot subtract infinite interval from time"
+msgstr "бесконечный интервал нельзя вычесть из значения time"
+
+#: utils/adt/date.c:2115 utils/adt/date.c:2667 utils/adt/float.c:1036
+#: utils/adt/float.c:1112 utils/adt/int.c:635 utils/adt/int.c:682
+#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2595
+#: utils/adt/timestamp.c:3810 utils/adt/timestamp.c:3847
+#: utils/adt/timestamp.c:3888
 #, c-format
 msgid "invalid preceding or following size in window function"
 msgstr "неверное смещение PRECEDING или FOLLOWING в оконной функции"
 
-#: utils/adt/date.c:2351
+#: utils/adt/date.c:2360
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "смещение часового пояса вне диапазона"
 
-#: utils/adt/date.c:3111 utils/adt/timestamp.c:5598 utils/adt/timestamp.c:5828
+#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479
+#, c-format
+msgid "interval time zone \"%s\" must be finite"
+msgstr "задающий часовой пояс интервал \"%s\" должен быть конечным"
+
+#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr ""
 "интервал \"%s\", задающий часовой пояс, не должен содержать дней или месяцев"
 
-#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002
-#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512
+#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127
+#: utils/adt/datetime.c:4133 utils/adt/timestamp.c:528
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "часовой пояс \"%s\" не распознан"
 
-#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983
+#: utils/adt/datetime.c:4101 utils/adt/datetime.c:4108
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "значение поля типа date/time вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3985
+#: utils/adt/datetime.c:4110
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Возможно, вам нужно изменить настройку \"datestyle\"."
 
-#: utils/adt/datetime.c:3990
+#: utils/adt/datetime.c:4115
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "значение поля interval вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3996
+#: utils/adt/datetime.c:4121
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "смещение часового пояса вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:4010
+#: utils/adt/datetime.c:4135
 #, c-format
 msgid ""
 "This time zone name appears in the configuration file for time zone "
@@ -26434,22 +27636,22 @@ msgstr ""
 "Это имя часового пояса фигурирует в файле конфигурации часового пояса с "
 "кодом \"%s\"."
 
-#: utils/adt/datum.c:91 utils/adt/datum.c:103
+#: utils/adt/datum.c:90 utils/adt/datum.c:102
 #, c-format
 msgid "invalid Datum pointer"
 msgstr "неверный указатель Datum"
 
-#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837
+#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840
 #, c-format
 msgid "invalid size: \"%s\""
 msgstr "некорректная величина: \"%s\""
 
-#: utils/adt/dbsize.c:838
+#: utils/adt/dbsize.c:841
 #, c-format
 msgid "Invalid size unit: \"%s\"."
 msgstr "Неверная единица измерения величины: \"%s\"."
 
-#: utils/adt/dbsize.c:839
+#: utils/adt/dbsize.c:842
 #, c-format
 msgid ""
 "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"."
@@ -26457,7 +27659,7 @@ msgstr ""
 "Допустимые единицы измерения: \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", "
 "\"TB\" и \"PB\"."
 
-#: utils/adt/domains.c:92
+#: utils/adt/domains.c:95
 #, c-format
 msgid "type %s is not a domain"
 msgstr "тип \"%s\" не является доменом"
@@ -26508,10 +27710,10 @@ msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr ""
 "Входные данные лишены выравнивания, обрезаны или повреждены иным образом."
 
-#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648
-#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528
-#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650
-#: jsonpath_scan.l:701
+#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659
+#: utils/adt/varlena.c:333 utils/adt/varlena.c:374 jsonpath_gram.y:266
+#: jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651
+#: jsonpath_scan.l:661 jsonpath_scan.l:712
 #, c-format
 msgid "invalid input syntax for type %s"
 msgstr "неверный синтаксис для типа %s"
@@ -26549,205 +27751,200 @@ msgstr "не удалось определить фактический тип 
 msgid "enum %s contains no values"
 msgstr "перечисление %s не содержит значений"
 
-#: utils/adt/float.c:89
+#: utils/adt/float.c:83
 #, c-format
 msgid "value out of range: overflow"
 msgstr "значение вне диапазона: переполнение"
 
-#: utils/adt/float.c:97
+#: utils/adt/float.c:91
 #, c-format
 msgid "value out of range: underflow"
 msgstr "значение вне диапазона: антипереполнение"
 
-#: utils/adt/float.c:286
+#: utils/adt/float.c:280
 #, c-format
 msgid "\"%s\" is out of range for type real"
 msgstr "\"%s\" вне диапазона для типа real"
 
-#: utils/adt/float.c:488
+#: utils/adt/float.c:482
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "\"%s\" вне диапазона для типа double precision"
 
-#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355
+#: utils/adt/float.c:1247 utils/adt/float.c:1321 utils/adt/int.c:355
 #: utils/adt/int.c:893 utils/adt/int.c:915 utils/adt/int.c:929
 #: utils/adt/int.c:943 utils/adt/int.c:975 utils/adt/int.c:1213
-#: utils/adt/int8.c:1293 utils/adt/numeric.c:4500 utils/adt/numeric.c:4505
+#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint вне диапазона"
 
-#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027
+#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "извлечь квадратный корень отрицательного числа нельзя"
 
-#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093
+#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "ноль в отрицательной степени даёт неопределённость"
 
-#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918
+#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "отрицательное число в дробной степени даёт комплексный результат"
 
-#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893
-#: utils/adt/numeric.c:10698
+#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909
+#: utils/adt/numeric.c:10783
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "вычислить логарифм нуля нельзя"
 
-#: utils/adt/float.c:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3831
-#: utils/adt/numeric.c:3888 utils/adt/numeric.c:10702
+#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3847
+#: utils/adt/numeric.c:3904 utils/adt/numeric.c:10787
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "вычислить логарифм отрицательного числа нельзя"
 
-#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897
-#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979
-#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333
-#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511
-#: utils/adt/float.c:2702 utils/adt/float.c:2726
+#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891
+#: utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973
+#: utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327
+#: utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505
+#: utils/adt/float.c:2696 utils/adt/float.c:2720
 #, c-format
 msgid "input is out of range"
 msgstr "введённое значение вне диапазона"
 
-#: utils/adt/float.c:2867
-#, c-format
-msgid "setseed parameter %g is out of allowed range [-1,1]"
-msgstr "параметр setseed %g вне допустимого диапазона [-1,1]"
-
-#: utils/adt/float.c:4095 utils/adt/numeric.c:1841
+#: utils/adt/float.c:4000 utils/adt/numeric.c:1857
 #, c-format
 msgid "count must be greater than zero"
 msgstr "счётчик должен быть больше нуля"
 
-#: utils/adt/float.c:4100 utils/adt/numeric.c:1852
+#: utils/adt/float.c:4005 utils/adt/numeric.c:1868
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "операнд, нижняя и верхняя границы не могут быть NaN"
 
-#: utils/adt/float.c:4106 utils/adt/numeric.c:1857
+#: utils/adt/float.c:4011 utils/adt/numeric.c:1873
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "нижняя и верхняя границы должны быть конечными"
 
-#: utils/adt/float.c:4172 utils/adt/numeric.c:1871
+#: utils/adt/float.c:4077 utils/adt/numeric.c:1887
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "нижняя граница не может равняться верхней"
 
-#: utils/adt/formatting.c:519
+#: utils/adt/formatting.c:530
 #, c-format
 msgid "invalid format specification for an interval value"
 msgstr "неправильная спецификация формата для целого числа"
 
-#: utils/adt/formatting.c:520
+#: utils/adt/formatting.c:531
 #, c-format
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Интервалы не привязываются к определённым календарным датам."
 
-#: utils/adt/formatting.c:1150
+#: utils/adt/formatting.c:1161
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "\"EEEE\" может быть только последним шаблоном"
 
-#: utils/adt/formatting.c:1158
+#: utils/adt/formatting.c:1169
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "\"9\" должна стоять до \"PR\""
 
-#: utils/adt/formatting.c:1174
+#: utils/adt/formatting.c:1185
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "\"0\" должен стоять до \"PR\""
 
-#: utils/adt/formatting.c:1201
+#: utils/adt/formatting.c:1212
 #, c-format
 msgid "multiple decimal points"
 msgstr "многочисленные десятичные точки"
 
-#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288
+#: utils/adt/formatting.c:1216 utils/adt/formatting.c:1299
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "нельзя использовать \"V\" вместе с десятичной точкой"
 
-#: utils/adt/formatting.c:1217
+#: utils/adt/formatting.c:1228
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "нельзя использовать \"S\" дважды"
 
-#: utils/adt/formatting.c:1221
+#: utils/adt/formatting.c:1232
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\""
 
-#: utils/adt/formatting.c:1241
+#: utils/adt/formatting.c:1252
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "нельзя использовать \"S\" вместе с \"MI\""
 
-#: utils/adt/formatting.c:1251
+#: utils/adt/formatting.c:1262
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\""
 
-#: utils/adt/formatting.c:1261
+#: utils/adt/formatting.c:1272
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "нельзя использовать \"S\" вместе с \"SG\""
 
-#: utils/adt/formatting.c:1270
+#: utils/adt/formatting.c:1281
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\""
 
-#: utils/adt/formatting.c:1296
+#: utils/adt/formatting.c:1307
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "нельзя использовать \"EEEE\" дважды"
 
-#: utils/adt/formatting.c:1302
+#: utils/adt/formatting.c:1313
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "\"EEEE\" несовместим с другими форматами"
 
-#: utils/adt/formatting.c:1303
+#: utils/adt/formatting.c:1314
 #, c-format
 msgid ""
 "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr ""
 "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки."
 
-#: utils/adt/formatting.c:1387
+#: utils/adt/formatting.c:1398
 #, c-format
 msgid "invalid datetime format separator: \"%s\""
 msgstr "неверный разделитель в формате datetime: \"%s\""
 
-#: utils/adt/formatting.c:1514
+#: utils/adt/formatting.c:1525
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "\"%s\" не является числом"
 
-#: utils/adt/formatting.c:1592
+#: utils/adt/formatting.c:1603
 #, c-format
 msgid "case conversion failed: %s"
 msgstr "преобразовать регистр не удалось: %s"
 
-#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768
-#: utils/adt/formatting.c:1891
+#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799
+#: utils/adt/formatting.c:1989
 #, c-format
 msgid "could not determine which collation to use for %s function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции %s"
 
-#: utils/adt/formatting.c:2274
+#: utils/adt/formatting.c:2410
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "неверное сочетание стилей дат"
 
-#: utils/adt/formatting.c:2275
+#: utils/adt/formatting.c:2411
 #, c-format
 msgid ""
 "Do not mix Gregorian and ISO week date conventions in a formatting template."
@@ -26755,27 +27952,27 @@ msgstr ""
 "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне "
 "форматирования."
 
-#: utils/adt/formatting.c:2297
+#: utils/adt/formatting.c:2433
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "конфликтующие значения поля \"%s\" в строке форматирования"
 
-#: utils/adt/formatting.c:2299
+#: utils/adt/formatting.c:2435
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Это значение противоречит предыдущему значению поля того же типа."
 
-#: utils/adt/formatting.c:2366
+#: utils/adt/formatting.c:2502
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "входная строка короче, чем требует поле форматирования \"%s\""
 
-#: utils/adt/formatting.c:2368
+#: utils/adt/formatting.c:2504
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Требуется символов: %d, а осталось только %d."
 
-#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384
+#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520
 #, c-format
 msgid ""
 "If your source string is not fixed-width, try using the \"FM\" modifier."
@@ -26783,132 +27980,132 @@ msgstr ""
 "Если входная строка имеет переменную длину, попробуйте использовать "
 "модификатор \"FM\"."
 
-#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393
-#: utils/adt/formatting.c:2614
+#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529
+#: utils/adt/formatting.c:2750 utils/adt/formatting.c:3650
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "неверное значение \"%s\" для \"%s\""
 
-#: utils/adt/formatting.c:2382
+#: utils/adt/formatting.c:2518
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d."
 
-#: utils/adt/formatting.c:2395
+#: utils/adt/formatting.c:2531
 #, c-format
 msgid "Value must be an integer."
 msgstr "Значение должно быть целым числом."
 
-#: utils/adt/formatting.c:2400
+#: utils/adt/formatting.c:2536
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "значение \"%s\" во входной строке вне диапазона"
 
-#: utils/adt/formatting.c:2402
+#: utils/adt/formatting.c:2538
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Значение должно быть в интервале %d..%d."
 
-#: utils/adt/formatting.c:2616
+#: utils/adt/formatting.c:2752
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr ""
 "Данное значение не соответствует ни одному из допустимых значений для этого "
 "поля."
 
-#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852
-#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892
-#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930
-#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972
-#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008
-#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042
+#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988
+#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3028
+#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3066
+#: utils/adt/formatting.c:3090 utils/adt/formatting.c:3108
+#: utils/adt/formatting.c:3126 utils/adt/formatting.c:3144
+#: utils/adt/formatting.c:3161 utils/adt/formatting.c:3178
 #, c-format
 msgid "localized string format value too long"
 msgstr "слишком длинное значение формата локализованной строки"
 
-#: utils/adt/formatting.c:3322
+#: utils/adt/formatting.c:3458
 #, c-format
 msgid "unmatched format separator \"%c\""
 msgstr "нет соответствия для заданного в формате разделителя \"%c\""
 
-#: utils/adt/formatting.c:3383
+#: utils/adt/formatting.c:3519
 #, c-format
 msgid "unmatched format character \"%s\""
 msgstr "нет соответствия для заданного в формате символа \"%s\""
 
-#: utils/adt/formatting.c:3491
+#: utils/adt/formatting.c:3652
 #, c-format
-msgid "formatting field \"%s\" is only supported in to_char"
-msgstr "поле Ñ\84оÑ\80маÑ\82иÑ\80ованиÑ\8f \"%s\" Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f Ñ\82олÑ\8cко Ð² Ñ\84Ñ\83нкÑ\86ии to_char"
+msgid "Time zone abbreviation is not recognized."
+msgstr "СокÑ\80аÑ\89Ñ\91нное Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ñ\87аÑ\81ового Ð¿Ð¾Ñ\8fÑ\81а Ð½Ðµ Ñ\80аÑ\81познано."
 
-#: utils/adt/formatting.c:3665
+#: utils/adt/formatting.c:3853
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\""
 
-#: utils/adt/formatting.c:3754
+#: utils/adt/formatting.c:3942
 #, c-format
 msgid "input string is too short for datetime format"
 msgstr "входная строка короче, чем требует формат datetime"
 
-#: utils/adt/formatting.c:3762
+#: utils/adt/formatting.c:3950
 #, c-format
 msgid "trailing characters remain in input string after datetime format"
 msgstr ""
 "после разбора формата datetime во входной строке остались дополнительные "
 "символы"
 
-#: utils/adt/formatting.c:4319
+#: utils/adt/formatting.c:4494
 #, c-format
 msgid "missing time zone in input string for type timestamptz"
 msgstr "во входной строке для типа timestamptz нет указания часового пояса"
 
-#: utils/adt/formatting.c:4325
+#: utils/adt/formatting.c:4500
 #, c-format
 msgid "timestamptz out of range"
 msgstr "значение timestamptz вне диапазона"
 
-#: utils/adt/formatting.c:4353
+#: utils/adt/formatting.c:4528
 #, c-format
 msgid "datetime format is zoned but not timed"
 msgstr "в формате datetime указан часовой пояс, но отсутствует время"
 
-#: utils/adt/formatting.c:4411
+#: utils/adt/formatting.c:4577
 #, c-format
 msgid "missing time zone in input string for type timetz"
 msgstr "во входной строке для типа timetz нет указания часового пояса"
 
-#: utils/adt/formatting.c:4417
+#: utils/adt/formatting.c:4583
 #, c-format
 msgid "timetz out of range"
 msgstr "значение timetz вне диапазона"
 
-#: utils/adt/formatting.c:4443
+#: utils/adt/formatting.c:4609
 #, c-format
 msgid "datetime format is not dated and not timed"
 msgstr "в формате datetime нет ни даты, ни времени"
 
-#: utils/adt/formatting.c:4575
+#: utils/adt/formatting.c:4786
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "час \"%d\" не соответствует 12-часовому формату времени"
 
-#: utils/adt/formatting.c:4577
+#: utils/adt/formatting.c:4788
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12."
 
-#: utils/adt/formatting.c:4689
+#: utils/adt/formatting.c:4900
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "нельзя рассчитать день года без информации о годе"
 
-#: utils/adt/formatting.c:5621
+#: utils/adt/formatting.c:5852
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "\"EEEE\" не поддерживается при вводе"
 
-#: utils/adt/formatting.c:5633
+#: utils/adt/formatting.c:5864
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "\"RN\" не поддерживается при вводе"
@@ -26940,12 +28137,7 @@ msgstr "не удалось переместиться в файле \"%s\": %m"
 msgid "file length too large"
 msgstr "длина файла слишком велика"
 
-#: utils/adt/genfile.c:248
-#, c-format
-msgid "must be superuser to read files with adminpack 1.0"
-msgstr "читать файлы, используя adminpack 1.0, может только суперпользователь"
-
-#: utils/adt/genfile.c:702
+#: utils/adt/genfile.c:656
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "табличное пространство с OID %u не существует"
@@ -27001,298 +28193,298 @@ msgstr "точек должно быть минимум 2"
 msgid "invalid int2vector data"
 msgstr "неверные данные int2vector"
 
-#: utils/adt/int.c:1529 utils/adt/int8.c:1419 utils/adt/numeric.c:1749
-#: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971
+#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765
+#: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "размер шага не может быть нулевым"
 
-#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486
-#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555
-#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711
-#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775
-#: utils/adt/int8.c:788 utils/adt/int8.c:915 utils/adt/int8.c:929
-#: utils/adt/int8.c:943 utils/adt/int8.c:974 utils/adt/int8.c:996
-#: utils/adt/int8.c:1010 utils/adt/int8.c:1024 utils/adt/int8.c:1057
-#: utils/adt/int8.c:1071 utils/adt/int8.c:1085 utils/adt/int8.c:1116
-#: utils/adt/int8.c:1138 utils/adt/int8.c:1152 utils/adt/int8.c:1166
-#: utils/adt/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4459
-#: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541
+#: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485
+#: utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554
+#: utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710
+#: utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774
+#: utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913
+#: utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980
+#: utils/adt/int8.c:994 utils/adt/int8.c:1008 utils/adt/int8.c:1041
+#: utils/adt/int8.c:1055 utils/adt/int8.c:1069 utils/adt/int8.c:1100
+#: utils/adt/int8.c:1122 utils/adt/int8.c:1136 utils/adt/int8.c:1150
+#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4542
+#: utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548
 #: utils/adt/varbit.c:1676
 #, c-format
 msgid "bigint out of range"
 msgstr "bigint вне диапазона"
 
-#: utils/adt/int8.c:1376
+#: utils/adt/int8.c:1360
 #, c-format
 msgid "OID out of range"
 msgstr "OID вне диапазона"
 
-#: utils/adt/json.c:320 utils/adt/jsonb.c:781
+#: utils/adt/json.c:202 utils/adt/jsonb.c:664
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr ""
 "значением ключа должен быть скаляр (не массив, композитный тип или json)"
 
-#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2090
+#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "не удалось определить тип данных аргумента %d"
 
-#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513
-#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522
+#: utils/adt/json.c:1067 utils/adt/json.c:1259 utils/adt/json.c:1435
+#: utils/adt/json.c:1513 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "значение null не может быть ключом объекта"
 
-#: utils/adt/json.c:1189 utils/adt/json.c:1352
+#: utils/adt/json.c:1110 utils/adt/json.c:1274
 #, c-format
 msgid "duplicate JSON object key value: %s"
 msgstr "повторяющийся ключ в объекте JSON: %s"
 
-#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233
+#: utils/adt/json.c:1219 utils/adt/jsonb.c:1134
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "в списке аргументов должно быть чётное число элементов"
 
 #. translator: %s is a SQL function name
-#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235
+#: utils/adt/json.c:1221 utils/adt/jsonb.c:1136
 #, c-format
 msgid "The arguments of %s must consist of alternating keys and values."
 msgstr "Аргументы %s должны состоять из пар ключ-значение."
 
-#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410
+#: utils/adt/json.c:1413 utils/adt/jsonb.c:1311
 #, c-format
 msgid "array must have two columns"
 msgstr "массив должен иметь два столбца"
 
-#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511
+#: utils/adt/json.c:1502 utils/adt/jsonb.c:1412
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "неподходящие размерности массива"
 
-#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958
+#: utils/adt/json.c:1688 utils/adt/jsonb_util.c:1956
 #, c-format
 msgid "duplicate JSON object key value"
 msgstr "повторяющиеся ключи в объекте JSON"
 
-#: utils/adt/jsonb.c:294
+#: utils/adt/jsonb.c:282
 #, c-format
 msgid "string too long to represent as jsonb string"
 msgstr "слишком длинная строка для представления в виде строки jsonb"
 
-#: utils/adt/jsonb.c:295
+#: utils/adt/jsonb.c:283
 #, c-format
 msgid ""
 "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
 msgstr ""
 "Из-за ограничений реализации строки jsonb не могут быть длиннее %d байт."
 
-#: utils/adt/jsonb.c:1252
+#: utils/adt/jsonb.c:1153
 #, c-format
 msgid "argument %d: key must not be null"
 msgstr "аргумент %d: ключ не может быть NULL"
 
-#: utils/adt/jsonb.c:1843
+#: utils/adt/jsonb.c:1744
 #, c-format
 msgid "field name must not be null"
 msgstr "имя поля не может быть NULL"
 
-#: utils/adt/jsonb.c:1905
+#: utils/adt/jsonb.c:1806
 #, c-format
 msgid "object keys must be strings"
 msgstr "ключи объектов должны быть строковыми"
 
-#: utils/adt/jsonb.c:2116
+#: utils/adt/jsonb.c:2017
 #, c-format
 msgid "cannot cast jsonb null to type %s"
 msgstr "привести значение jsonb null к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2117
+#: utils/adt/jsonb.c:2018
 #, c-format
 msgid "cannot cast jsonb string to type %s"
 msgstr "привести строку jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2118
+#: utils/adt/jsonb.c:2019
 #, c-format
 msgid "cannot cast jsonb numeric to type %s"
 msgstr "привести числовое значение jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2119
+#: utils/adt/jsonb.c:2020
 #, c-format
 msgid "cannot cast jsonb boolean to type %s"
 msgstr "привести логическое значение jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2120
+#: utils/adt/jsonb.c:2021
 #, c-format
 msgid "cannot cast jsonb array to type %s"
 msgstr "привести массив jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2121
+#: utils/adt/jsonb.c:2022
 #, c-format
 msgid "cannot cast jsonb object to type %s"
 msgstr "привести объект jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb.c:2122
+#: utils/adt/jsonb.c:2023
 #, c-format
 msgid "cannot cast jsonb array or object to type %s"
 msgstr "привести массив или объект jsonb к типу %s нельзя"
 
-#: utils/adt/jsonb_util.c:758
+#: utils/adt/jsonb_util.c:756
 #, c-format
 msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
 msgstr "число пар объекта jsonb превышает предел (%zu)"
 
-#: utils/adt/jsonb_util.c:799
+#: utils/adt/jsonb_util.c:797
 #, c-format
 msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
 msgstr "число элементов массива jsonb превышает предел (%zu)"
 
-#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693
+#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691
 #, c-format
 msgid "total size of jsonb array elements exceeds the maximum of %d bytes"
 msgstr "общий размер элементов массива jsonb превышает предел (%d байт)"
 
-#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789
-#: utils/adt/jsonb_util.c:1809
+#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787
+#: utils/adt/jsonb_util.c:1807
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %d bytes"
 msgstr "общий размер элементов объекта jsonb превышает предел (%d байт)"
 
-#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151
+#: utils/adt/jsonbsubs.c:67 utils/adt/jsonbsubs.c:148
 #, c-format
 msgid "jsonb subscript does not support slices"
 msgstr "jsonb не поддерживает обращение по индексу к срезам"
 
-#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117
+#: utils/adt/jsonbsubs.c:100 utils/adt/jsonbsubs.c:114
 #, c-format
 msgid "subscript type %s is not supported"
 msgstr "индекс элемента имеет неподдерживаемый тип %s"
 
-#: utils/adt/jsonbsubs.c:104
+#: utils/adt/jsonbsubs.c:101
 #, c-format
 msgid "jsonb subscript must be coercible to only one type, integer or text."
 msgstr ""
 "Индекс элемента в jsonb должен приводиться только к одному типу, integer или "
 "text."
 
-#: utils/adt/jsonbsubs.c:118
+#: utils/adt/jsonbsubs.c:115
 #, c-format
 msgid "jsonb subscript must be coercible to either integer or text."
 msgstr "Индекс элемента в jsonb должен приводиться к типу integer или text."
 
-#: utils/adt/jsonbsubs.c:139
+#: utils/adt/jsonbsubs.c:136
 #, c-format
 msgid "jsonb subscript must have text type"
 msgstr "индекс элемента jsonb должен иметь текстовый тип"
 
-#: utils/adt/jsonbsubs.c:207
+#: utils/adt/jsonbsubs.c:204
 #, c-format
 msgid "jsonb subscript in assignment must not be null"
 msgstr "индекс элемента jsonb в присваивании не может быть NULL"
 
-#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821
-#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881
-#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018
+#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830
+#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015
+#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "вызывать %s со скаляром нельзя"
 
-#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806
-#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663
+#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815
+#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "вызывать %s с массивом нельзя"
 
-#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596
+#: utils/adt/jsonfuncs.c:647 jsonpath_scan.l:607
 #, c-format
 msgid "unsupported Unicode escape sequence"
 msgstr "неподдерживаемая спецпоследовательность Unicode"
 
-#: utils/adt/jsonfuncs.c:713
+#: utils/adt/jsonfuncs.c:724
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "данные JSON, строка %d: %s%s%s"
 
-#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912
+#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "получить длину скаляра нельзя"
 
-#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898
+#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "получить длину массива для не массива нельзя"
 
-#: utils/adt/jsonfuncs.c:1978
+#: utils/adt/jsonfuncs.c:1986
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "вызывать %s с не объектом нельзя"
 
-#: utils/adt/jsonfuncs.c:2166
+#: utils/adt/jsonfuncs.c:2174
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "извлечь массив в виде объекта нельзя"
 
-#: utils/adt/jsonfuncs.c:2180
+#: utils/adt/jsonfuncs.c:2188
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "извлечь скаляр нельзя"
 
-#: utils/adt/jsonfuncs.c:2225
+#: utils/adt/jsonfuncs.c:2233
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "извлечь элементы из скаляра нельзя"
 
-#: utils/adt/jsonfuncs.c:2229
+#: utils/adt/jsonfuncs.c:2237
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "извлечь элементы из объекта нельзя"
 
-#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896
+#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "вызывать %s с не массивом нельзя"
 
-#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493
-#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516
+#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520
+#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544
 #, c-format
 msgid "expected JSON array"
 msgstr "ожидался массив JSON"
 
-#: utils/adt/jsonfuncs.c:2489
+#: utils/adt/jsonfuncs.c:2516
 #, c-format
 msgid "See the value of key \"%s\"."
 msgstr "Проверьте значение ключа \"%s\"."
 
-#: utils/adt/jsonfuncs.c:2511
+#: utils/adt/jsonfuncs.c:2539
 #, c-format
 msgid "See the array element %s of key \"%s\"."
 msgstr "Проверьте элемент массива %s ключа \"%s\"."
 
-#: utils/adt/jsonfuncs.c:2517
+#: utils/adt/jsonfuncs.c:2545
 #, c-format
 msgid "See the array element %s."
 msgstr "Проверьте элемент массива %s."
 
-#: utils/adt/jsonfuncs.c:2552
+#: utils/adt/jsonfuncs.c:2597
 #, c-format
 msgid "malformed JSON array"
 msgstr "неправильный массив JSON"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3389
+#: utils/adt/jsonfuncs.c:3647
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "первым аргументом %s должен быть кортеж"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3413
+#: utils/adt/jsonfuncs.c:3671
 #, c-format
 msgid "could not determine row type for result of %s"
 msgstr "не удалось определить тип строки для результата %s"
 
-#: utils/adt/jsonfuncs.c:3415
+#: utils/adt/jsonfuncs.c:3673
 #, c-format
 msgid ""
 "Provide a non-null record argument, or call the function in the FROM clause "
@@ -27301,38 +28493,38 @@ msgstr ""
 "Передайте отличный от NULL аргумент-запись или вызовите эту функцию в "
 "предложении FROM, используя список определений столбцов."
 
-#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94
+#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "требуется режим материализации, но он недопустим в этом контексте"
 
-#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997
+#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "аргументом %s должен быть массив объектов"
 
-#: utils/adt/jsonfuncs.c:3946
+#: utils/adt/jsonfuncs.c:4223
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "вызывать %s с объектом нельзя"
 
-#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439
-#: utils/adt/jsonfuncs.c:4519
+#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715
+#: utils/adt/jsonfuncs.c:4795
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "удаление из скаляра невозможно"
 
-#: utils/adt/jsonfuncs.c:4524
+#: utils/adt/jsonfuncs.c:4800
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "удаление из объекта по числовому индексу невозможно"
 
-#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751
+#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "задать путь в скаляре нельзя"
 
-#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675
+#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951
 #, c-format
 msgid ""
 "null_value_treatment must be \"delete_key\", \"return_target\", "
@@ -27341,12 +28533,12 @@ msgstr ""
 "значением null_value_treatment должно быть \"delete_key\", "
 "\"return_target\", \"use_json_null\" или \"raise_exception\""
 
-#: utils/adt/jsonfuncs.c:4646
+#: utils/adt/jsonfuncs.c:4922
 #, c-format
 msgid "JSON value must not be null"
 msgstr "значение JSON не может быть NULL"
 
-#: utils/adt/jsonfuncs.c:4647
+#: utils/adt/jsonfuncs.c:4923
 #, c-format
 msgid ""
 "Exception was raised because null_value_treatment is \"raise_exception\"."
@@ -27354,7 +28546,7 @@ msgstr ""
 "Выдано исключение, так как значением null_value_treatment является "
 "\"raise_exception\"."
 
-#: utils/adt/jsonfuncs.c:4648
+#: utils/adt/jsonfuncs.c:4924
 #, c-format
 msgid ""
 "To avoid, either change the null_value_treatment argument or ensure that an "
@@ -27363,55 +28555,55 @@ msgstr ""
 "Чтобы исключения не было, либо измените аргумент null_value_treatment, либо "
 "не допускайте передачи SQL NULL."
 
-#: utils/adt/jsonfuncs.c:4703
+#: utils/adt/jsonfuncs.c:4979
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "удалить путь в скаляре нельзя"
 
-#: utils/adt/jsonfuncs.c:4917
+#: utils/adt/jsonfuncs.c:5193
 #, c-format
 msgid "path element at position %d is null"
 msgstr "элемент пути в позиции %d равен NULL"
 
-#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967
-#: utils/adt/jsonfuncs.c:5040
+#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243
+#: utils/adt/jsonfuncs.c:5316
 #, c-format
 msgid "cannot replace existing key"
 msgstr "заменить существующий ключ нельзя"
 
-#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968
+#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244
 #, c-format
 msgid "The path assumes key is a composite object, but it is a scalar value."
 msgstr ""
 "Для заданного пути значение ключа должно быть составным объектом, но оно "
 "оказалось скаляром."
 
-#: utils/adt/jsonfuncs.c:5041
+#: utils/adt/jsonfuncs.c:5317
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Попробуйте применить функцию jsonb_set для замены значения ключа."
 
-#: utils/adt/jsonfuncs.c:5145
+#: utils/adt/jsonfuncs.c:5421
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "элемент пути в позиции %d - не целочисленный: \"%s\""
 
-#: utils/adt/jsonfuncs.c:5162
+#: utils/adt/jsonfuncs.c:5438
 #, c-format
 msgid "path element at position %d is out of range: %d"
 msgstr "элемент пути в позиции %d вне диапазона: %d"
 
-#: utils/adt/jsonfuncs.c:5314
+#: utils/adt/jsonfuncs.c:5590
 #, c-format
 msgid "wrong flag type, only arrays and scalars are allowed"
 msgstr "неверный тип флага, допускаются только массивы и скаляры"
 
-#: utils/adt/jsonfuncs.c:5321
+#: utils/adt/jsonfuncs.c:5597
 #, c-format
 msgid "flag array element is not a string"
 msgstr "элемент массива флагов не является строкой"
 
-#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344
+#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620
 #, c-format
 msgid ""
 "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and "
@@ -27419,179 +28611,294 @@ msgid ""
 msgstr ""
 "Допустимые значения: \"string\", \"numeric\", \"boolean\", \"key\" и \"all\"."
 
-#: utils/adt/jsonfuncs.c:5342
+#: utils/adt/jsonfuncs.c:5618
 #, c-format
 msgid "wrong flag in flag array: \"%s\""
 msgstr "неверный флаг в массиве флагов: \"%s\""
 
-#: utils/adt/jsonpath.c:382
+#: utils/adt/jsonpath.c:389
 #, c-format
 msgid "@ is not allowed in root expressions"
 msgstr "@ не допускается в корневых выражениях"
 
-#: utils/adt/jsonpath.c:388
+#: utils/adt/jsonpath.c:395
 #, c-format
 msgid "LAST is allowed only in array subscripts"
 msgstr "LAST принимается только в качестве индекса массива"
 
-#: utils/adt/jsonpath_exec.c:361
+#: utils/adt/jsonpath_exec.c:490
 #, c-format
 msgid "single boolean result is expected"
 msgstr "ожидался единственный булевский результат"
 
-#: utils/adt/jsonpath_exec.c:557
+#: utils/adt/jsonpath_exec.c:850
 #, c-format
-msgid "\"vars\" argument is not an object"
-msgstr "аргумент \"vars\" не является объектом"
+msgid "jsonpath wildcard array accessor can only be applied to an array"
+msgstr ""
+"выражение обращения по звёздочке в jsonpath может применяться только к "
+"массиву"
 
-#: utils/adt/jsonpath_exec.c:558
+#: utils/adt/jsonpath_exec.c:873
 #, c-format
-msgid ""
-"Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
+msgid "jsonpath wildcard member accessor can only be applied to an object"
 msgstr ""
-"Параметры jsonpath должны передаваться в виде пар ключ-значение в объекте "
-"\"vars\"."
+"выражение обращения по звёздочке в jsonpath может применяться только к "
+"объекту"
+
+#: utils/adt/jsonpath_exec.c:922
+#, c-format
+msgid "jsonpath array subscript is out of bounds"
+msgstr "индекс массива в jsonpath вне диапазона"
+
+#: utils/adt/jsonpath_exec.c:979
+#, c-format
+msgid "jsonpath array accessor can only be applied to an array"
+msgstr ""
+"выражение обращения к массиву в jsonpath может применяться только к массиву"
 
-#: utils/adt/jsonpath_exec.c:675
+#: utils/adt/jsonpath_exec.c:1043
 #, c-format
 msgid "JSON object does not contain key \"%s\""
 msgstr "JSON-объект не содержит ключ \"%s\""
 
-#: utils/adt/jsonpath_exec.c:687
+#: utils/adt/jsonpath_exec.c:1055
 #, c-format
 msgid "jsonpath member accessor can only be applied to an object"
 msgstr ""
 "выражение обращения к члену в jsonpath может применяться только к объекту"
 
-#: utils/adt/jsonpath_exec.c:716
+# skip-rule: space-before-period
+#: utils/adt/jsonpath_exec.c:1113
 #, c-format
-msgid "jsonpath wildcard array accessor can only be applied to an array"
+msgid "jsonpath item method .%s() can only be applied to an array"
+msgstr "метод .%s() в jsonpath может применяться только к массиву"
+
+#: utils/adt/jsonpath_exec.c:1166 utils/adt/jsonpath_exec.c:1192
+#, c-format
+msgid ""
+"argument \"%s\" of jsonpath item method .%s() is invalid for type double "
+"precision"
 msgstr ""
-"вÑ\8bÑ\80ажение Ð¾Ð±Ñ\80аÑ\89ениÑ\8f Ð¿Ð¾ Ð·Ð²Ñ\91здоÑ\87ке Ð² jsonpath Ð¼Ð¾Ð¶ÐµÑ\82 Ð¿Ñ\80именÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ñ\82олÑ\8cко Ðº "
-"массиву"
+"аÑ\80гÑ\83менÑ\82 \"%s\" Ð¼ÐµÑ\82ода Ñ\8dлеменÑ\82а jsonpath .%s() Ð½ÐµÐºÐ¾Ñ\80Ñ\80екÑ\82ен Ð´Ð»Ñ\8f Ñ\82ипа double "
+"precision"
 
-#: utils/adt/jsonpath_exec.c:764
+#: utils/adt/jsonpath_exec.c:1171 utils/adt/jsonpath_exec.c:1197
+#: utils/adt/jsonpath_exec.c:1413 utils/adt/jsonpath_exec.c:1445
 #, c-format
-msgid "jsonpath array subscript is out of bounds"
-msgstr "индекÑ\81 Ð¼Ð°Ñ\81Ñ\81ива Ð² jsonpath Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð°"
+msgid "NaN or Infinity is not allowed for jsonpath item method .%s()"
+msgstr "меÑ\82од Ñ\8dлеменÑ\82а jsonpath .%s() Ð½Ðµ Ð¿Ñ\80инимаеÑ\82 Ð·Ð½Ð°Ñ\87ениÑ\8f NaN Ð¸ Infinity"
 
-#: utils/adt/jsonpath_exec.c:821
+# skip-rule: space-before-period
+#: utils/adt/jsonpath_exec.c:1210 utils/adt/jsonpath_exec.c:1312
+#: utils/adt/jsonpath_exec.c:1454 utils/adt/jsonpath_exec.c:1592
 #, c-format
-msgid "jsonpath array accessor can only be applied to an array"
+msgid ""
+"jsonpath item method .%s() can only be applied to a string or numeric value"
 msgstr ""
-"выражение обращения к массиву в jsonpath может применяться только к массиву"
+"метод .%s() в jsonpath может применяться только к строковому или числовому "
+"значению"
 
-#: utils/adt/jsonpath_exec.c:873
+#: utils/adt/jsonpath_exec.c:1280 utils/adt/jsonpath_exec.c:1304
 #, c-format
-msgid "jsonpath wildcard member accessor can only be applied to an object"
+msgid ""
+"argument \"%s\" of jsonpath item method .%s() is invalid for type bigint"
 msgstr ""
-"выражение обращения по звёздочке в jsonpath может применяться только к "
-"объекту"
+"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа bigint"
+
+#: utils/adt/jsonpath_exec.c:1356 utils/adt/jsonpath_exec.c:1376
+#, c-format
+msgid ""
+"argument \"%s\" of jsonpath item method .%s() is invalid for type boolean"
+msgstr ""
+"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа boolean"
 
 # skip-rule: space-before-period
-#: utils/adt/jsonpath_exec.c:1007
+#: utils/adt/jsonpath_exec.c:1385
 #, c-format
-msgid "jsonpath item method .%s() can only be applied to an array"
-msgstr "метод .%s() в jsonpath может применяться только к массиву"
+msgid ""
+"jsonpath item method .%s() can only be applied to a boolean, string, or "
+"numeric value"
+msgstr ""
+"метод .%s() в jsonpath может применяться только к булевскому, строковому или "
+"числовому значению"
+
+#: utils/adt/jsonpath_exec.c:1438 utils/adt/jsonpath_exec.c:1527
+#, c-format
+msgid ""
+"argument \"%s\" of jsonpath item method .%s() is invalid for type numeric"
+msgstr ""
+"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа numeric"
 
-#: utils/adt/jsonpath_exec.c:1060
+#: utils/adt/jsonpath_exec.c:1486
 #, c-format
 msgid ""
-"numeric argument of jsonpath item method .%s() is out of range for type "
-"double precision"
+"precision of jsonpath item method .%s() is out of range for type integer"
+msgstr "точность в аргументе метода jsonpath .%s() вне диапазона типа integer"
+
+#: utils/adt/jsonpath_exec.c:1500
+#, c-format
+msgid "scale of jsonpath item method .%s() is out of range for type integer"
 msgstr ""
-"числовой аргумент метода элемента jsonpath .%s() вне диапазона для типа "
-"double precision"
+"масштаб в аргументе метода элемента jsonpath .%s() вне диапазона типа integer"
 
-#: utils/adt/jsonpath_exec.c:1081
+#: utils/adt/jsonpath_exec.c:1560 utils/adt/jsonpath_exec.c:1584
 #, c-format
 msgid ""
-"string argument of jsonpath item method .%s() is not a valid representation "
-"of a double precision number"
+"argument \"%s\" of jsonpath item method .%s() is invalid for type integer"
 msgstr ""
-"строковый аргумент метода элемента jsonpath .%s() не является представлением "
-"значения double precision"
+"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа integer"
 
 # skip-rule: space-before-period
-#: utils/adt/jsonpath_exec.c:1094
+#: utils/adt/jsonpath_exec.c:1666
 #, c-format
 msgid ""
-"jsonpath item method .%s() can only be applied to a string or numeric value"
+"jsonpath item method .%s() can only be applied to a boolean, string, "
+"numeric, or datetime value"
 msgstr ""
-"метод .%s() в jsonpath может применяться только к строковому или числовому "
-"значению"
+"метод .%s() в jsonpath может применяться только к булевскому, строковому, "
+"числовому значению или к дате/времени"
 
-#: utils/adt/jsonpath_exec.c:1587
+#: utils/adt/jsonpath_exec.c:2155
 #, c-format
 msgid "left operand of jsonpath operator %s is not a single numeric value"
 msgstr ""
 "левый операнд оператора %s в jsonpath не является одним числовым значением"
 
-#: utils/adt/jsonpath_exec.c:1594
+#: utils/adt/jsonpath_exec.c:2162
 #, c-format
 msgid "right operand of jsonpath operator %s is not a single numeric value"
 msgstr ""
 "правый операнд оператора %s в jsonpath не является одним числовым значением"
 
-#: utils/adt/jsonpath_exec.c:1662
+#: utils/adt/jsonpath_exec.c:2230
 #, c-format
 msgid "operand of unary jsonpath operator %s is not a numeric value"
 msgstr ""
 "операнд унарного оператора %s в jsonpath не является числовым значением"
 
 # skip-rule: space-before-period
-#: utils/adt/jsonpath_exec.c:1761
+#: utils/adt/jsonpath_exec.c:2329
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a numeric value"
 msgstr "метод .%s() в jsonpath может применяться только к числовому значению"
 
 # skip-rule: space-before-period
-#: utils/adt/jsonpath_exec.c:1801
+#: utils/adt/jsonpath_exec.c:2375
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a string"
 msgstr "метод .%s() в jsonpath может применяться только к строке"
 
-#: utils/adt/jsonpath_exec.c:1904
+#: utils/adt/jsonpath_exec.c:2468
+#, c-format
+msgid ""
+"time precision of jsonpath item method .%s() is out of range for type integer"
+msgstr ""
+"точность времени в аргументе метода jsonpath .%s() вне диапазона типа integer"
+
+#: utils/adt/jsonpath_exec.c:2502 utils/adt/jsonpath_exec.c:2508
+#: utils/adt/jsonpath_exec.c:2535 utils/adt/jsonpath_exec.c:2563
+#: utils/adt/jsonpath_exec.c:2616 utils/adt/jsonpath_exec.c:2667
+#: utils/adt/jsonpath_exec.c:2738
 #, c-format
-msgid "datetime format is not recognized: \"%s\""
-msgstr "формат datetime не распознан: \"%s\""
+msgid "%s format is not recognized: \"%s\""
+msgstr "формат %s не распознан: \"%s\""
 
-#: utils/adt/jsonpath_exec.c:1906
+#: utils/adt/jsonpath_exec.c:2504
 #, c-format
 msgid "Use a datetime template argument to specify the input data format."
 msgstr ""
 "Воспользуйтесь аргументом datetime для указания формата входных данных."
 
+#: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2778
+#, c-format
+msgid "time precision of jsonpath item method .%s() is invalid"
+msgstr "точность времени в аргументе метода jsonpath .%s() некорректная"
+
 # skip-rule: space-before-period
-#: utils/adt/jsonpath_exec.c:1974
+#: utils/adt/jsonpath_exec.c:2858
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an object"
 msgstr "метод .%s() в jsonpath может применяться только к объекту"
 
-#: utils/adt/jsonpath_exec.c:2156
+#: utils/adt/jsonpath_exec.c:3142
+#, c-format
+msgid "could not convert value of type %s to jsonpath"
+msgstr "преобразовать значение типа %s в jsonpath не удалось"
+
+#: utils/adt/jsonpath_exec.c:3176
 #, c-format
 msgid "could not find jsonpath variable \"%s\""
 msgstr "не удалось найти в jsonpath переменную \"%s\""
 
-#: utils/adt/jsonpath_exec.c:2420
+#: utils/adt/jsonpath_exec.c:3229
+#, c-format
+msgid "\"vars\" argument is not an object"
+msgstr "аргумент \"vars\" не является объектом"
+
+#: utils/adt/jsonpath_exec.c:3230
+#, c-format
+msgid ""
+"Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
+msgstr ""
+"Параметры jsonpath должны передаваться в виде пар ключ-значение в объекте "
+"\"vars\"."
+
+#: utils/adt/jsonpath_exec.c:3493
+#, c-format
+msgid "jsonpath array subscript is not a single numeric value"
+msgstr "индекс элемента в jsonpath не является одним числовым значением"
+
+#: utils/adt/jsonpath_exec.c:3505
+#, c-format
+msgid "jsonpath array subscript is out of integer range"
+msgstr "индекс массива в jsonpath вне целочисленного диапазона"
+
+#: utils/adt/jsonpath_exec.c:3689
+#, c-format
+msgid "cannot convert value from %s to %s without time zone usage"
+msgstr "значение %s нельзя преобразовать в %s без сведений о часовом поясе"
+
+#: utils/adt/jsonpath_exec.c:3691
+#, c-format
+msgid "Use *_tz() function for time zone support."
+msgstr "Для передачи часового пояса используйте функцию *_tz()."
+
+#: utils/adt/jsonpath_exec.c:3985
+#, c-format
+msgid ""
+"JSON path expression for column \"%s\" should return single item without "
+"wrapper"
+msgstr ""
+"выражение пути JSON для столбца \"%s\" должно возвращать одиночный элемент "
+"без обёртки"
+
+#: utils/adt/jsonpath_exec.c:3987 utils/adt/jsonpath_exec.c:3992
 #, c-format
-msgid "jsonpath array subscript is not a single numeric value"
-msgstr "индекс элемента в jsonpath не является одним числовым значением"
+msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."
+msgstr ""
+"Используйте предложение WITH WRAPPER, чтобы обернуть элементы SQL/JSON в "
+"массив."
 
-#: utils/adt/jsonpath_exec.c:2432
+#: utils/adt/jsonpath_exec.c:3991
 #, c-format
-msgid "jsonpath array subscript is out of integer range"
-msgstr "индекс массива в jsonpath вне целочисленного диапазона"
+msgid ""
+"JSON path expression in JSON_QUERY should return single item without wrapper"
+msgstr ""
+"выражение пути JSON в JSON_QUERY должно возвращать одиночный элемент без "
+"обёртки"
 
-#: utils/adt/jsonpath_exec.c:2609
+#: utils/adt/jsonpath_exec.c:4049 utils/adt/jsonpath_exec.c:4073
 #, c-format
-msgid "cannot convert value from %s to %s without time zone usage"
-msgstr "значение %s нельзя преобразовать в %s без сведений о часовом поясе"
+msgid "JSON path expression for column \"%s\" should return single scalar item"
+msgstr ""
+"выражение пути JSON для столбца \"%s\" должно возвращать один скалярный "
+"элемент"
 
-#: utils/adt/jsonpath_exec.c:2611
+#: utils/adt/jsonpath_exec.c:4054 utils/adt/jsonpath_exec.c:4078
 #, c-format
-msgid "Use *_tz() function for time zone support."
-msgstr "Для передачи часового пояса используйте функцию *_tz()."
+msgid "JSON path expression in JSON_VALUE should return single scalar item"
+msgstr ""
+"выражение пути JSON в JSON_VALUE должно возвращать один скалярный элемент"
 
 # well-spelled: симв
 #: utils/adt/levenshtein.c:132
@@ -27599,17 +28906,17 @@ msgstr "Для передачи часового пояса используйт
 msgid "levenshtein argument exceeds maximum length of %d characters"
 msgstr "длина аргумента levenshtein() превышает максимум (%d симв.)"
 
-#: utils/adt/like.c:161
+#: utils/adt/like.c:159
 #, c-format
 msgid "nondeterministic collations are not supported for LIKE"
 msgstr "недетерминированные правила сортировки не поддерживаются для LIKE"
 
-#: utils/adt/like.c:190 utils/adt/like_support.c:1024
+#: utils/adt/like.c:188 utils/adt/like_support.c:1023
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "не удалось определить, какой порядок сортировки использовать для ILIKE"
 
-#: utils/adt/like.c:202
+#: utils/adt/like.c:200
 #, c-format
 msgid "nondeterministic collations are not supported for ILIKE"
 msgstr "недетерминированные правила сортировки не поддерживаются для ILIKE"
@@ -27619,22 +28926,22 @@ msgstr "недетерминированные правила сортировк
 msgid "LIKE pattern must not end with escape character"
 msgstr "шаблон LIKE не должен заканчиваться защитным символом"
 
-#: utils/adt/like_match.c:293 utils/adt/regexp.c:801
+#: utils/adt/like_match.c:293 utils/adt/regexp.c:800
 #, c-format
 msgid "invalid escape string"
 msgstr "неверный защитный символ"
 
-#: utils/adt/like_match.c:294 utils/adt/regexp.c:802
+#: utils/adt/like_match.c:294 utils/adt/regexp.c:801
 #, c-format
 msgid "Escape string must be empty or one character."
 msgstr "Защитный символ должен быть пустым или состоять из одного байта."
 
-#: utils/adt/like_support.c:1014
+#: utils/adt/like_support.c:1013
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "регистронезависимое сравнение не поддерживается для типа bytea"
 
-#: utils/adt/like_support.c:1115
+#: utils/adt/like_support.c:1114
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "сравнение с регулярными выражениями не поддерживается для типа bytea"
@@ -27644,12 +28951,12 @@ msgstr "сравнение с регулярными выражениями не
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "неверный октет в значении типа macaddr: \"%s\""
 
-#: utils/adt/mac8.c:554
+#: utils/adt/mac8.c:555
 #, c-format
 msgid "macaddr8 data out of range to convert to macaddr"
 msgstr "значение в macaddr8 не допускает преобразование в macaddr"
 
-#: utils/adt/mac8.c:555
+#: utils/adt/mac8.c:556
 #, c-format
 msgid ""
 "Only addresses that have FF and FE as values in the 4th and 5th bytes from "
@@ -27659,7 +28966,7 @@ msgstr ""
 "Преобразование из macaddr8 в macaddr возможно только для адресов, содержащих "
 "FF и FE в 4-ом и 5-ом байтах слева, например xx:xx:xx:ff:fe:xx:xx:xx."
 
-#: utils/adt/mcxtfuncs.c:182
+#: utils/adt/mcxtfuncs.c:173
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "PID %d не относится к серверному процессу PostgreSQL"
@@ -27698,70 +29005,70 @@ msgstr "может быть открытой меткой"
 msgid "requires AS"
 msgstr "требует AS"
 
-#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906
-#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941
+#: utils/adt/misc.c:897 utils/adt/misc.c:911 utils/adt/misc.c:950
+#: utils/adt/misc.c:956 utils/adt/misc.c:962 utils/adt/misc.c:985
 #, c-format
 msgid "string is not a valid identifier: \"%s\""
 msgstr "строка не является допустимым идентификатором: \"%s\""
 
-#: utils/adt/misc.c:855
+#: utils/adt/misc.c:899
 #, c-format
 msgid "String has unclosed double quotes."
 msgstr "В строке не закрыты кавычки."
 
-#: utils/adt/misc.c:869
+#: utils/adt/misc.c:913
 #, c-format
 msgid "Quoted identifier must not be empty."
 msgstr "Идентификатор в кавычках не может быть пустым."
 
-#: utils/adt/misc.c:908
+#: utils/adt/misc.c:952
 #, c-format
 msgid "No valid identifier before \".\"."
 msgstr "Перед \".\" нет допустимого идентификатора."
 
-#: utils/adt/misc.c:914
+#: utils/adt/misc.c:958
 #, c-format
 msgid "No valid identifier after \".\"."
 msgstr "После \".\" нет допустимого идентификатора."
 
-#: utils/adt/misc.c:974
+#: utils/adt/misc.c:1018
 #, c-format
 msgid "log format \"%s\" is not supported"
 msgstr "формат журнала \"%s\" не поддерживается"
 
-#: utils/adt/misc.c:975
+#: utils/adt/misc.c:1019
 #, c-format
 msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"."
 msgstr "Поддерживаются форматы журналов \"stderr\", \"csvlog\" и \"jsonlog\"."
 
-#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164
-#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267
-#: utils/adt/multirangetypes.c:291
+#: utils/adt/multirangetypes.c:150 utils/adt/multirangetypes.c:163
+#: utils/adt/multirangetypes.c:192 utils/adt/multirangetypes.c:266
+#: utils/adt/multirangetypes.c:290
 #, c-format
 msgid "malformed multirange literal: \"%s\""
 msgstr "ошибочный литерал мультидиапазона: \"%s\""
 
-#: utils/adt/multirangetypes.c:153
+#: utils/adt/multirangetypes.c:152
 #, c-format
 msgid "Missing left brace."
 msgstr "Отсутствует левая фигурная скобка."
 
-#: utils/adt/multirangetypes.c:195
+#: utils/adt/multirangetypes.c:194
 #, c-format
 msgid "Expected range start."
 msgstr "Ожидалось начало диапазона."
 
-#: utils/adt/multirangetypes.c:269
+#: utils/adt/multirangetypes.c:268
 #, c-format
 msgid "Expected comma or end of multirange."
 msgstr "Ожидалась запятая или конец мультидиапазона."
 
-#: utils/adt/multirangetypes.c:982
+#: utils/adt/multirangetypes.c:981
 #, c-format
 msgid "multiranges cannot be constructed from multidimensional arrays"
 msgstr "мультидиапазоны нельзя получить из массивов мультидиапазонов"
 
-#: utils/adt/multirangetypes.c:1008
+#: utils/adt/multirangetypes.c:1007
 #, c-format
 msgid "multirange values cannot contain null members"
 msgstr "мультидиапазоны не могут содержать элементы NULL"
@@ -27840,102 +29147,122 @@ msgstr "результат вне диапазона"
 msgid "cannot subtract inet values of different sizes"
 msgstr "нельзя вычитать значения inet разного размера"
 
-#: utils/adt/numeric.c:785 utils/adt/numeric.c:3643 utils/adt/numeric.c:7131
-#: utils/adt/numeric.c:7334 utils/adt/numeric.c:7806 utils/adt/numeric.c:10501
-#: utils/adt/numeric.c:10975 utils/adt/numeric.c:11069
-#: utils/adt/numeric.c:11203
+#: utils/adt/numeric.c:793 utils/adt/numeric.c:3659 utils/adt/numeric.c:7216
+#: utils/adt/numeric.c:7419 utils/adt/numeric.c:7891 utils/adt/numeric.c:10586
+#: utils/adt/numeric.c:11061 utils/adt/numeric.c:11155
+#: utils/adt/numeric.c:11290
 #, c-format
 msgid "value overflows numeric format"
 msgstr "значение переполняет формат numeric"
 
-#: utils/adt/numeric.c:1098
+#: utils/adt/numeric.c:1106
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "неверный знак во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:1104
+#: utils/adt/numeric.c:1112
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "неверный порядок числа во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:1113
+#: utils/adt/numeric.c:1121
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "неверная цифра во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342
+#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "точность NUMERIC %d должна быть между 1 и %d"
 
-#: utils/adt/numeric.c:1333
+#: utils/adt/numeric.c:1341
 #, c-format
 msgid "NUMERIC scale %d must be between %d and %d"
 msgstr "порядок NUMERIC %d должен быть между %d и %d"
 
-#: utils/adt/numeric.c:1351
+#: utils/adt/numeric.c:1359
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "неверный модификатор типа NUMERIC"
 
-#: utils/adt/numeric.c:1709
+#: utils/adt/numeric.c:1725
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "начальное значение не может быть NaN"
 
-#: utils/adt/numeric.c:1713
+#: utils/adt/numeric.c:1729
 #, c-format
 msgid "start value cannot be infinity"
 msgstr "начальное значение не может быть бесконечностью"
 
-#: utils/adt/numeric.c:1720
+#: utils/adt/numeric.c:1736
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "конечное значение не может быть NaN"
 
-#: utils/adt/numeric.c:1724
+#: utils/adt/numeric.c:1740
 #, c-format
 msgid "stop value cannot be infinity"
 msgstr "конечное значение не может быть бесконечностью"
 
-#: utils/adt/numeric.c:1737
+#: utils/adt/numeric.c:1753
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "размер шага не может быть NaN"
 
-#: utils/adt/numeric.c:1741
+#: utils/adt/numeric.c:1757
 #, c-format
 msgid "step size cannot be infinity"
 msgstr "размер шага не может быть бесконечностью"
 
-#: utils/adt/numeric.c:3633
+#: utils/adt/numeric.c:3649
 #, c-format
 msgid "factorial of a negative number is undefined"
 msgstr "факториал отрицательного числа даёт неопределённость"
 
-#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487
-#: utils/adt/numeric.c:4683
+#: utils/adt/numeric.c:4256
+#, c-format
+msgid "lower bound cannot be NaN"
+msgstr "нижняя граница не может быть NaN"
+
+#: utils/adt/numeric.c:4260
+#, c-format
+msgid "lower bound cannot be infinity"
+msgstr "нижняя граница не может быть бесконечностью"
+
+#: utils/adt/numeric.c:4267
+#, c-format
+msgid "upper bound cannot be NaN"
+msgstr "верхняя граница не может быть NaN"
+
+#: utils/adt/numeric.c:4271
+#, c-format
+msgid "upper bound cannot be infinity"
+msgstr "верхняя граница не может быть бесконечностью"
+
+#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580
+#: utils/adt/numeric.c:4776
 #, c-format
 msgid "cannot convert NaN to %s"
 msgstr "нельзя преобразовать NaN в %s"
 
-#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491
-#: utils/adt/numeric.c:4687
+#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584
+#: utils/adt/numeric.c:4780
 #, c-format
 msgid "cannot convert infinity to %s"
 msgstr "нельзя представить бесконечность в %s"
 
-#: utils/adt/numeric.c:4696
+#: utils/adt/numeric.c:4789
 #, c-format
 msgid "pg_lsn out of range"
 msgstr "pg_lsn вне диапазона"
 
-#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947
+#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032
 #, c-format
 msgid "numeric field overflow"
 msgstr "переполнение поля numeric"
 
-#: utils/adt/numeric.c:7897
+#: utils/adt/numeric.c:7982
 #, c-format
 msgid ""
 "A field with precision %d, scale %d must round to an absolute value less "
@@ -27944,13 +29271,19 @@ msgstr ""
 "Поле с точностью %d, порядком %d должно округляться до абсолютного значения "
 "меньше чем %s%d."
 
-#: utils/adt/numeric.c:7948
+#: utils/adt/numeric.c:8033
 #, c-format
 msgid "A field with precision %d, scale %d cannot hold an infinite value."
 msgstr ""
 "Поле с точностью %d, порядком %d не может содержать значение бесконечности."
 
-#: utils/adt/oid.c:216
+#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135
+#: utils/adt/pseudorandomfuncs.c:159
+#, c-format
+msgid "lower bound must be less than or equal to upper bound"
+msgstr "нижняя граница должна быть меньше или равна верхней"
+
+#: utils/adt/oid.c:217
 #, c-format
 msgid "invalid oidvector data"
 msgstr "неверные данные oidvector"
@@ -27980,37 +29313,37 @@ msgstr "код запрошенного символа слишком велик
 msgid "requested character not valid for encoding: %u"
 msgstr "запрошенный символ не подходит для кодировки: %u"
 
-#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553
-#: utils/adt/orderedsetaggs.c:693
+#: utils/adt/orderedsetaggs.c:446 utils/adt/orderedsetaggs.c:551
+#: utils/adt/orderedsetaggs.c:691
 #, c-format
 msgid "percentile value %g is not between 0 and 1"
 msgstr "значение перцентиля %g лежит не в диапазоне 0..1"
 
-#: utils/adt/pg_locale.c:1410
+#: utils/adt/pg_locale.c:1484
 #, c-format
 msgid "could not open collator for locale \"%s\" with rules \"%s\": %s"
 msgstr ""
 "не удалось открыть сортировщик для локали \"%s\" с правилами \"%s\": %s"
 
-#: utils/adt/pg_locale.c:1421 utils/adt/pg_locale.c:2831
-#: utils/adt/pg_locale.c:2904
+#: utils/adt/pg_locale.c:1495 utils/adt/pg_locale.c:2969
+#: utils/adt/pg_locale.c:3042
 #, c-format
 msgid "ICU is not supported in this build"
 msgstr "ICU не поддерживается в данной сборке"
 
-#: utils/adt/pg_locale.c:1450
+#: utils/adt/pg_locale.c:1523
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "не удалось создать локаль \"%s\": %m"
 
-#: utils/adt/pg_locale.c:1453
+#: utils/adt/pg_locale.c:1526
 #, c-format
 msgid ""
 "The operating system could not find any locale data for the locale name "
 "\"%s\"."
 msgstr "Операционная система не может найти данные локали с именем \"%s\"."
 
-#: utils/adt/pg_locale.c:1568
+#: utils/adt/pg_locale.c:1647
 #, c-format
 msgid ""
 "collations with different collate and ctype values are not supported on this "
@@ -28019,22 +29352,17 @@ msgstr ""
 "правила сортировки с разными значениями collate и ctype не поддерживаются на "
 "этой платформе"
 
-#: utils/adt/pg_locale.c:1577
-#, c-format
-msgid "collation provider LIBC is not supported on this platform"
-msgstr "провайдер правил сортировки LIBC не поддерживается на этой платформе"
-
-#: utils/adt/pg_locale.c:1618
+#: utils/adt/pg_locale.c:1694
 #, c-format
 msgid "collation \"%s\" has no actual version, but a version was recorded"
 msgstr "для правила сортировки \"%s\", лишённого версии, была записана версия"
 
-#: utils/adt/pg_locale.c:1624
+#: utils/adt/pg_locale.c:1700
 #, c-format
 msgid "collation \"%s\" has version mismatch"
 msgstr "несовпадение версии для правила сортировки \"%s\""
 
-#: utils/adt/pg_locale.c:1626
+#: utils/adt/pg_locale.c:1702
 #, c-format
 msgid ""
 "The collation in the database was created using version %s, but the "
@@ -28043,7 +29371,7 @@ msgstr ""
 "Правило сортировки в базе данных было создано с версией %s, но операционная "
 "система предоставляет версию %s."
 
-#: utils/adt/pg_locale.c:1629
+#: utils/adt/pg_locale.c:1705
 #, c-format
 msgid ""
 "Rebuild all objects affected by this collation and run ALTER COLLATION %s "
@@ -28053,92 +29381,98 @@ msgstr ""
 "ALTER COLLATION %s REFRESH VERSION либо соберите PostgreSQL с правильной "
 "версией библиотеки."
 
-#: utils/adt/pg_locale.c:1695
+#: utils/adt/pg_locale.c:1749 utils/adt/pg_locale.c:2533
+#: utils/adt/pg_locale.c:2558
+#, c-format
+msgid "invalid locale name \"%s\" for builtin provider"
+msgstr "неверное имя локали \"%s\" для встроенного провайдера"
+
+#: utils/adt/pg_locale.c:1791
 #, c-format
 msgid "could not load locale \"%s\""
 msgstr "не удалось загрузить локаль \"%s\""
 
-#: utils/adt/pg_locale.c:1720
+#: utils/adt/pg_locale.c:1816
 #, c-format
 msgid "could not get collation version for locale \"%s\": error code %lu"
 msgstr ""
 "не удалось получить версию правила сортировки для локали \"%s\" (код ошибки: "
 "%lu)"
 
-#: utils/adt/pg_locale.c:1776 utils/adt/pg_locale.c:1789
+#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1885
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)"
 
-#: utils/adt/pg_locale.c:1803
+#: utils/adt/pg_locale.c:1897
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "не удалось сравнить строки в Unicode: %m"
 
-#: utils/adt/pg_locale.c:1984
+#: utils/adt/pg_locale.c:2071
 #, c-format
 msgid "collation failed: %s"
 msgstr "ошибка в библиотеке сортировки: %s"
 
-#: utils/adt/pg_locale.c:2205 utils/adt/pg_locale.c:2237
+#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322
 #, c-format
 msgid "sort key generation failed: %s"
 msgstr "не удалось сгенерировать ключ сортировки: %s"
 
-#: utils/adt/pg_locale.c:2474
+#: utils/adt/pg_locale.c:2612
 #, c-format
 msgid "could not get language from locale \"%s\": %s"
 msgstr "не удалось определить язык для локали \"%s\": %s"
 
-#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511
+#: utils/adt/pg_locale.c:2633 utils/adt/pg_locale.c:2649
 #, c-format
 msgid "could not open collator for locale \"%s\": %s"
 msgstr "не удалось открыть сортировщик для локали \"%s\": %s"
 
-#: utils/adt/pg_locale.c:2536
+#: utils/adt/pg_locale.c:2674
 #, c-format
 msgid "encoding \"%s\" not supported by ICU"
 msgstr "ICU не поддерживает кодировку \"%s\""
 
-#: utils/adt/pg_locale.c:2543
+#: utils/adt/pg_locale.c:2681
 #, c-format
 msgid "could not open ICU converter for encoding \"%s\": %s"
 msgstr "не удалось открыть преобразователь ICU для кодировки \"%s\": %s"
 
-#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580
-#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647
+#: utils/adt/pg_locale.c:2699 utils/adt/pg_locale.c:2718
+#: utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785
 #, c-format
 msgid "%s failed: %s"
 msgstr "ошибка %s: %s"
 
-#: utils/adt/pg_locale.c:2822
+#: utils/adt/pg_locale.c:2960
 #, c-format
 msgid "could not convert locale name \"%s\" to language tag: %s"
 msgstr "не удалось получить из названия локали \"%s\" метку языка: %s"
 
-#: utils/adt/pg_locale.c:2863
+#: utils/adt/pg_locale.c:3001
 #, c-format
 msgid "could not get language from ICU locale \"%s\": %s"
 msgstr "не удалось определить язык для локали ICU \"%s\": %s"
 
-#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894
+#: utils/adt/pg_locale.c:3003 utils/adt/pg_locale.c:3032
 #, c-format
 msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"."
 msgstr ""
 "Чтобы отключить проверку локалей ICU, установите для параметра \"%s\" "
 "значение \"%s\"."
 
-#: utils/adt/pg_locale.c:2892
+#: utils/adt/pg_locale.c:3030
 #, c-format
 msgid "ICU locale \"%s\" has unknown language \"%s\""
 msgstr "для локали ICU \"%s\" получен неизвестный язык \"%s\""
 
-#: utils/adt/pg_locale.c:3073
+#: utils/adt/pg_locale.c:3181
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "неверный многобайтный символ для локали"
 
-#: utils/adt/pg_locale.c:3074
+#: utils/adt/pg_locale.c:3182
 #, c-format
 msgid ""
 "The server's LC_CTYPE locale is probably incompatible with the database "
@@ -28146,137 +29480,142 @@ msgid ""
 msgstr ""
 "Параметр локали сервера LC_CTYPE, возможно, несовместим с кодировкой БД."
 
-#: utils/adt/pg_lsn.c:263
+#: utils/adt/pg_lsn.c:262
 #, c-format
 msgid "cannot add NaN to pg_lsn"
 msgstr "нельзя добавить NaN к pg_lsn"
 
-#: utils/adt/pg_lsn.c:297
+#: utils/adt/pg_lsn.c:296
 #, c-format
 msgid "cannot subtract NaN from pg_lsn"
 msgstr "нельзя вычесть NaN из pg_lsn"
 
-#: utils/adt/pg_upgrade_support.c:29
+#: utils/adt/pg_upgrade_support.c:39
 #, c-format
 msgid "function can only be called when server is in binary upgrade mode"
 msgstr ""
 "функцию можно вызывать только когда сервер в режиме двоичного обновления"
 
-#: utils/adt/pgstatfuncs.c:254
+#: utils/adt/pgstatfuncs.c:252
 #, c-format
 msgid "invalid command name: \"%s\""
 msgstr "неверное имя команды: \"%s\""
 
-#: utils/adt/pgstatfuncs.c:1774
+#: utils/adt/pgstatfuncs.c:1739
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "запрошен сброс неизвестного счётчика: \"%s\""
 
-#: utils/adt/pgstatfuncs.c:1775
+#: utils/adt/pgstatfuncs.c:1740
 #, c-format
 msgid ""
-"Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or "
-"\"wal\"."
+"Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", "
+"\"recovery_prefetch\", \"slru\", or \"wal\"."
 msgstr ""
 "Допустимые счётчики: \"archiver\", \"bgwriter\", \"io\", "
-"\"recovery_prefetch\" и \"wal\"."
+"\"recovery_prefetch\", \"slru\" и \"wal\"."
 
-#: utils/adt/pgstatfuncs.c:1857
+#: utils/adt/pgstatfuncs.c:1822
 #, c-format
 msgid "invalid subscription OID %u"
 msgstr "неверный OID подписки %u"
 
-#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92
+#: utils/adt/pseudorandomfuncs.c:69
+#, c-format
+msgid "setseed parameter %g is out of allowed range [-1,1]"
+msgstr "параметр setseed %g вне допустимого диапазона [-1,1]"
+
+#: utils/adt/pseudotypes.c:55 utils/adt/pseudotypes.c:89
 #, c-format
 msgid "cannot display a value of type %s"
 msgstr "значение типа %s нельзя вывести"
 
-#: utils/adt/pseudotypes.c:310
+#: utils/adt/pseudotypes.c:307
 #, c-format
 msgid "cannot accept a value of a shell type"
 msgstr "значение типа shell нельзя ввести"
 
-#: utils/adt/pseudotypes.c:320
+#: utils/adt/pseudotypes.c:317
 #, c-format
 msgid "cannot display a value of a shell type"
 msgstr "значение типа shell нельзя вывести"
 
-#: utils/adt/rangetypes.c:415
+#: utils/adt/rangetypes.c:422
 #, c-format
 msgid "range constructor flags argument must not be null"
 msgstr "аргумент flags конструктора диапазона не может быть NULL"
 
-#: utils/adt/rangetypes.c:1014
+#: utils/adt/rangetypes.c:1021
 #, c-format
 msgid "result of range difference would not be contiguous"
 msgstr "результат вычитания диапазонов будет не непрерывным"
 
-#: utils/adt/rangetypes.c:1075
+#: utils/adt/rangetypes.c:1082
 #, c-format
 msgid "result of range union would not be contiguous"
 msgstr "результат объединения диапазонов будет не непрерывным"
 
-#: utils/adt/rangetypes.c:1750
+#: utils/adt/rangetypes.c:1757
 #, c-format
 msgid "range lower bound must be less than or equal to range upper bound"
 msgstr "нижняя граница диапазона должна быть меньше или равна верхней"
 
-#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210
-#: utils/adt/rangetypes.c:2224
+#: utils/adt/rangetypes.c:2256 utils/adt/rangetypes.c:2269
+#: utils/adt/rangetypes.c:2283
 #, c-format
 msgid "invalid range bound flags"
 msgstr "неверные флаги границ диапазона"
 
-#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211
-#: utils/adt/rangetypes.c:2225
+#: utils/adt/rangetypes.c:2257 utils/adt/rangetypes.c:2270
+#: utils/adt/rangetypes.c:2284
 #, c-format
 msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
 msgstr "Допустимые значения: \"[]\", \"[)\", \"(]\" и \"()\"."
 
-#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310
-#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345
-#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403
-#: utils/adt/rangetypes.c:2411
+#: utils/adt/rangetypes.c:2352 utils/adt/rangetypes.c:2369
+#: utils/adt/rangetypes.c:2384 utils/adt/rangetypes.c:2404
+#: utils/adt/rangetypes.c:2415 utils/adt/rangetypes.c:2462
+#: utils/adt/rangetypes.c:2470
 #, c-format
 msgid "malformed range literal: \"%s\""
 msgstr "ошибочный литерал диапазона: \"%s\""
 
-#: utils/adt/rangetypes.c:2295
+#: utils/adt/rangetypes.c:2354
 #, c-format
 msgid "Junk after \"empty\" key word."
 msgstr "Мусор после ключевого слова \"empty\"."
 
-#: utils/adt/rangetypes.c:2312
+#: utils/adt/rangetypes.c:2371
 #, c-format
 msgid "Missing left parenthesis or bracket."
 msgstr "Отсутствует левая скобка (круглая или квадратная)."
 
-#: utils/adt/rangetypes.c:2327
+#: utils/adt/rangetypes.c:2386
 #, c-format
 msgid "Missing comma after lower bound."
 msgstr "Отсутствует запятая после нижней границы."
 
-#: utils/adt/rangetypes.c:2347
+#: utils/adt/rangetypes.c:2406
 #, c-format
 msgid "Too many commas."
 msgstr "Слишком много запятых."
 
-#: utils/adt/rangetypes.c:2358
+#: utils/adt/rangetypes.c:2417
 #, c-format
 msgid "Junk after right parenthesis or bracket."
 msgstr "Мусор после правой скобки."
 
-#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270
+#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "ошибка в регулярном выражении: %s"
 
-#: utils/adt/regexp.c:446 utils/adt/regexp.c:681
+#: utils/adt/regexp.c:445 utils/adt/regexp.c:680
 #, c-format
 msgid "invalid regular expression option: \"%.*s\""
 msgstr "неверный параметр регулярного выражения: \"%.*s\""
 
-#: utils/adt/regexp.c:683
+#: utils/adt/regexp.c:682
 #, c-format
 msgid ""
 "If you meant to use regexp_replace() with a start parameter, cast the fourth "
@@ -28285,15 +29624,15 @@ msgstr ""
 "Если вы хотите вызвать regexp_replace() с параметром start, явно приведите "
 "четвёртый аргумент к целочисленному типу."
 
-#: utils/adt/regexp.c:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083
-#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165
-#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863
-#: utils/adt/regexp.c:1872 utils/misc/guc.c:6627 utils/misc/guc.c:6661
+#: utils/adt/regexp.c:716 utils/adt/regexp.c:725 utils/adt/regexp.c:1082
+#: utils/adt/regexp.c:1146 utils/adt/regexp.c:1155 utils/adt/regexp.c:1164
+#: utils/adt/regexp.c:1173 utils/adt/regexp.c:1853 utils/adt/regexp.c:1862
+#: utils/adt/regexp.c:1871 utils/misc/guc.c:6785 utils/misc/guc.c:6819
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "неверное значение параметра \"%s\": %d"
 
-#: utils/adt/regexp.c:937
+#: utils/adt/regexp.c:936
 #, c-format
 msgid ""
 "SQL regular expression may not contain more than two escape-double-quote "
@@ -28303,19 +29642,19 @@ msgstr ""
 "(экранированных кавычек)"
 
 #. translator: %s is a SQL function name
-#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272
-#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754
-#: utils/adt/regexp.c:1883
+#: utils/adt/regexp.c:1093 utils/adt/regexp.c:1184 utils/adt/regexp.c:1271
+#: utils/adt/regexp.c:1310 utils/adt/regexp.c:1698 utils/adt/regexp.c:1753
+#: utils/adt/regexp.c:1882
 #, c-format
 msgid "%s does not support the \"global\" option"
 msgstr "%s не поддерживает режим \"global\""
 
-#: utils/adt/regexp.c:1313
+#: utils/adt/regexp.c:1312
 #, c-format
 msgid "Use the regexp_matches function instead."
 msgstr "Вместо неё используйте функцию regexp_matches."
 
-#: utils/adt/regexp.c:1501
+#: utils/adt/regexp.c:1500
 #, c-format
 msgid "too many regular expression matches"
 msgstr "слишком много совпадений для регулярного выражения"
@@ -28330,19 +29669,19 @@ msgstr "имя \"%s\" имеют несколько функций"
 msgid "more than one operator named %s"
 msgstr "имя %s имеют несколько операторов"
 
-#: utils/adt/regproc.c:670 gram.y:8841
+#: utils/adt/regproc.c:670 gram.y:8985
 #, c-format
 msgid "missing argument"
 msgstr "отсутствует аргумент"
 
-#: utils/adt/regproc.c:671 gram.y:8842
+#: utils/adt/regproc.c:671 gram.y:8986
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr ""
 "Чтобы обозначить отсутствующий аргумент унарного оператора, укажите NONE."
 
-#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10021
-#: utils/adt/ruleutils.c:10234
+#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498
+#: utils/adt/ruleutils.c:10711
 #, c-format
 msgid "too many arguments"
 msgstr "слишком много аргументов"
@@ -28352,65 +29691,65 @@ msgstr "слишком много аргументов"
 msgid "Provide two argument types for operator."
 msgstr "Предоставьте для оператора два типа аргументов."
 
-#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790
-#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415
+#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810
+#: utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418
 #, c-format
 msgid "invalid name syntax"
 msgstr "ошибка синтаксиса в имени"
 
-#: utils/adt/regproc.c:1904
+#: utils/adt/regproc.c:1924
 #, c-format
 msgid "expected a left parenthesis"
 msgstr "ожидалась левая скобка"
 
-#: utils/adt/regproc.c:1922
+#: utils/adt/regproc.c:1942
 #, c-format
 msgid "expected a right parenthesis"
 msgstr "ожидалась правая скобка"
 
-#: utils/adt/regproc.c:1941
+#: utils/adt/regproc.c:1961
 #, c-format
 msgid "expected a type name"
 msgstr "ожидалось имя типа"
 
-#: utils/adt/regproc.c:1973
+#: utils/adt/regproc.c:1993
 #, c-format
 msgid "improper type name"
 msgstr "ошибочное имя типа"
 
-#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625
-#: utils/adt/ri_triggers.c:2610
+#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616
+#: utils/adt/ri_triggers.c:2601
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
 "INSERT или UPDATE в таблице \"%s\" нарушает ограничение внешнего ключа \"%s\""
 
-#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628
+#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619
 #, c-format
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL не позволяет смешивать в значении ключа null и не null."
 
-#: utils/adt/ri_triggers.c:2045
+#: utils/adt/ri_triggers.c:2036
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr "функция \"%s\" должна запускаться для INSERT"
 
-#: utils/adt/ri_triggers.c:2051
+#: utils/adt/ri_triggers.c:2042
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr "функция \"%s\" должна запускаться для UPDATE"
 
-#: utils/adt/ri_triggers.c:2057
+#: utils/adt/ri_triggers.c:2048
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr "функция \"%s\" должна запускаться для DELETE"
 
-#: utils/adt/ri_triggers.c:2080
+#: utils/adt/ri_triggers.c:2071
 #, c-format
 msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgstr "для триггера \"%s\" таблицы \"%s\" нет записи pg_constraint"
 
-#: utils/adt/ri_triggers.c:2082
+#: utils/adt/ri_triggers.c:2073
 #, c-format
 msgid ""
 "Remove this referential integrity trigger and its mates, then do ALTER TABLE "
@@ -28419,12 +29758,12 @@ msgstr ""
 "Удалите этот триггер ссылочной целостности и связанные объекты, а затем "
 "выполните ALTER TABLE ADD CONSTRAINT."
 
-#: utils/adt/ri_triggers.c:2112 gram.y:4223
+#: utils/adt/ri_triggers.c:2103 gram.y:4340
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "выражение MATCH PARTIAL ещё не реализовано"
 
-#: utils/adt/ri_triggers.c:2435
+#: utils/adt/ri_triggers.c:2426
 #, c-format
 msgid ""
 "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave "
@@ -28433,33 +29772,33 @@ msgstr ""
 "неожиданный результат запроса ссылочной целостности к \"%s\" из ограничения "
 "\"%s\" таблицы \"%s\""
 
-#: utils/adt/ri_triggers.c:2439
+#: utils/adt/ri_triggers.c:2430
 #, c-format
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr "Скорее всего это вызвано правилом, переписавшим запрос."
 
-#: utils/adt/ri_triggers.c:2600
+#: utils/adt/ri_triggers.c:2591
 #, c-format
 msgid "removing partition \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
 "при удалении секции \"%s\" нарушается ограничение внешнего ключа \"%s\""
 
-#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628
+#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr "На ключ (%s)=(%s) всё ещё есть ссылки в таблице \"%s\"."
 
-#: utils/adt/ri_triggers.c:2614
+#: utils/adt/ri_triggers.c:2605
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr "Ключ (%s)=(%s) отсутствует в таблице \"%s\"."
 
-#: utils/adt/ri_triggers.c:2617
+#: utils/adt/ri_triggers.c:2608
 #, c-format
 msgid "Key is not present in table \"%s\"."
 msgstr "Ключ отсутствует в таблице \"%s\"."
 
-#: utils/adt/ri_triggers.c:2623
+#: utils/adt/ri_triggers.c:2614
 #, c-format
 msgid ""
 "update or delete on table \"%s\" violates foreign key constraint \"%s\" on "
@@ -28468,48 +29807,48 @@ msgstr ""
 "UPDATE или DELETE в таблице \"%s\" нарушает ограничение внешнего ключа "
 "\"%s\" таблицы \"%s\""
 
-#: utils/adt/ri_triggers.c:2631
+#: utils/adt/ri_triggers.c:2622
 #, c-format
 msgid "Key is still referenced from table \"%s\"."
 msgstr "На ключ всё ещё есть ссылки в таблице \"%s\"."
 
-#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510
+#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:509
 #, c-format
 msgid "input of anonymous composite types is not implemented"
 msgstr "ввод анонимных составных типов не реализован"
 
-#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217
-#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297
+#: utils/adt/rowtypes.c:158 utils/adt/rowtypes.c:190 utils/adt/rowtypes.c:216
+#: utils/adt/rowtypes.c:227 utils/adt/rowtypes.c:285 utils/adt/rowtypes.c:296
 #, c-format
 msgid "malformed record literal: \"%s\""
 msgstr "ошибка в литерале записи: \"%s\""
 
-#: utils/adt/rowtypes.c:160
+#: utils/adt/rowtypes.c:159
 #, c-format
 msgid "Missing left parenthesis."
 msgstr "Отсутствует левая скобка."
 
-#: utils/adt/rowtypes.c:192
+#: utils/adt/rowtypes.c:191
 #, c-format
 msgid "Too few columns."
 msgstr "Слишком мало столбцов."
 
-#: utils/adt/rowtypes.c:287
+#: utils/adt/rowtypes.c:286
 #, c-format
 msgid "Too many columns."
 msgstr "Слишком много столбцов."
 
-#: utils/adt/rowtypes.c:298
+#: utils/adt/rowtypes.c:297
 #, c-format
 msgid "Junk after right parenthesis."
 msgstr "Мусор после правой скобки."
 
-#: utils/adt/rowtypes.c:559
+#: utils/adt/rowtypes.c:558
 #, c-format
 msgid "wrong number of columns: %d, expected %d"
 msgstr "неверное число столбцов: %d, ожидалось: %d"
 
-#: utils/adt/rowtypes.c:601
+#: utils/adt/rowtypes.c:599
 #, c-format
 msgid ""
 "binary data has type %u (%s) instead of expected %u (%s) in record column %d"
@@ -28517,168 +29856,177 @@ msgstr ""
 "с бинарными данными связан тип %u (%s) вместо ожидаемого %u (%s) в столбце "
 "записи %d"
 
-#: utils/adt/rowtypes.c:668
+#: utils/adt/rowtypes.c:660
 #, c-format
 msgid "improper binary format in record column %d"
 msgstr "неподходящий двоичный формат в столбце записи %d"
 
-#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463
-#: utils/adt/rowtypes.c:1709
+#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453
+#: utils/adt/rowtypes.c:1699
 #, c-format
 msgid "cannot compare dissimilar column types %s and %s at record column %d"
 msgstr "не удалось сравнить различные типы столбцов %s и %s, столбец записи %d"
 
-#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275
-#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745
+#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265
+#: utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735
 #, c-format
 msgid "cannot compare record types with different numbers of columns"
 msgstr "сравнивать типы записей с разным числом столбцов нельзя"
 
-#: utils/adt/ruleutils.c:2679
+#: utils/adt/ruleutils.c:2689
 #, c-format
 msgid "input is a query, not an expression"
 msgstr "на вход поступил запрос, а не выражение"
 
-#: utils/adt/ruleutils.c:2691
+#: utils/adt/ruleutils.c:2701
 #, c-format
 msgid "expression contains variables of more than one relation"
 msgstr "выражение содержит переменные из нескольких отношений"
 
-#: utils/adt/ruleutils.c:2698
+#: utils/adt/ruleutils.c:2708
 #, c-format
 msgid "expression contains variables"
 msgstr "выражение содержит переменные"
 
-#: utils/adt/ruleutils.c:5228
+#: utils/adt/ruleutils.c:5241
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "правило \"%s\" имеет неподдерживаемый тип событий %d"
 
-#: utils/adt/timestamp.c:112
+#: utils/adt/timestamp.c:128
 #, c-format
 msgid "TIMESTAMP(%d)%s precision must not be negative"
 msgstr "TIMESTAMP(%d)%s: точность должна быть неотрицательна"
 
-#: utils/adt/timestamp.c:118
+#: utils/adt/timestamp.c:134
 #, c-format
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIMESTAMP(%d)%s: точность уменьшена до дозволенного максимума: %d"
 
-#: utils/adt/timestamp.c:378
+#: utils/adt/timestamp.c:394
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "точность timestamp(%d) должна быть между %d и %d"
 
-#: utils/adt/timestamp.c:496
+#: utils/adt/timestamp.c:512
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr ""
 "Запись числового часового пояса должна начинаться с символа \"-\" или \"+\"."
 
-#: utils/adt/timestamp.c:508
+#: utils/adt/timestamp.c:524
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "числовой часовой пояс \"%s\" вне диапазона"
 
-#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619
-#: utils/adt/timestamp.c:627
+#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635
+#: utils/adt/timestamp.c:643
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp вне диапазона: %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:728
+#: utils/adt/timestamp.c:744
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "timestamp не может быть NaN"
 
-#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758
+#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774
 #, c-format
 msgid "timestamp out of range: \"%g\""
 msgstr "timestamp вне диапазона: \"%g\""
 
-#: utils/adt/timestamp.c:941 utils/adt/timestamp.c:1518
-#: utils/adt/timestamp.c:2708 utils/adt/timestamp.c:2778
-#: utils/adt/timestamp.c:2795 utils/adt/timestamp.c:2848
-#: utils/adt/timestamp.c:2887 utils/adt/timestamp.c:3215
-#: utils/adt/timestamp.c:3220 utils/adt/timestamp.c:3225
-#: utils/adt/timestamp.c:3275 utils/adt/timestamp.c:3282
-#: utils/adt/timestamp.c:3289 utils/adt/timestamp.c:3309
-#: utils/adt/timestamp.c:3316 utils/adt/timestamp.c:3323
-#: utils/adt/timestamp.c:3410 utils/adt/timestamp.c:3485
-#: utils/adt/timestamp.c:3854 utils/adt/timestamp.c:3978
-#: utils/adt/timestamp.c:4026 utils/adt/timestamp.c:4036
-#: utils/adt/timestamp.c:4226 utils/adt/timestamp.c:4236
-#: utils/adt/timestamp.c:4532
+#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516
+#: utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587
+#: utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816
+#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905
+#: utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979
+#: utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400
+#: utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481
+#: utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514
+#: utils/adt/timestamp.c:3537 utils/adt/timestamp.c:3546
+#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782
+#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226
+#: utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283
+#: utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422
+#: utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527
+#: utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590
+#: utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795
+#: utils/adt/timestamp.c:5097
 #, c-format
 msgid "interval out of range"
 msgstr "interval вне диапазона"
 
-#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098
+#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "неверный модификатор типа INTERVAL"
 
-#: utils/adt/timestamp.c:1081
+#: utils/adt/timestamp.c:1110
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "INTERVAL(%d): точность должна быть неотрицательна"
 
-#: utils/adt/timestamp.c:1087
+#: utils/adt/timestamp.c:1116
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "INTERVAL(%d): точность уменьшена до максимально возможной: %d"
 
-#: utils/adt/timestamp.c:1473
+#: utils/adt/timestamp.c:1506
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "точность interval(%d) должна быть между %d и %d"
 
-#: utils/adt/timestamp.c:2703
-#, c-format
-msgid "cannot subtract infinite timestamps"
-msgstr "вычитать бесконечные значения timestamp нельзя"
-
-#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4215
+#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769
 #, c-format
 msgid "origin out of range"
 msgstr "начало вне диапазона"
 
-#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4220
+#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774
+#, c-format
+msgid "timestamps cannot be binned into infinite intervals"
+msgstr "значения timestamp нельзя подогнать под бесконечные интервалы"
+
+#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779
 #, c-format
 msgid "timestamps cannot be binned into intervals containing months or years"
 msgstr ""
 "значения timestamp нельзя подогнать под интервалы, содержащие месяцы или годы"
 
-#: utils/adt/timestamp.c:4031 utils/adt/timestamp.c:4231
+#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790
 #, c-format
 msgid "stride must be greater than zero"
 msgstr "шаг должен быть больше нуля"
 
-#: utils/adt/timestamp.c:4526
+#: utils/adt/timestamp.c:5091
 #, c-format
 msgid "Months usually have fractional weeks."
 msgstr "В месяцах обычно дробное количество недель."
 
-#: utils/adt/trigfuncs.c:42
+#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637
+#, c-format
+msgid "step size cannot be infinite"
+msgstr "размер шага не может быть бесконечным"
+
+#: utils/adt/trigfuncs.c:41
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called as trigger"
 msgstr ""
 "функция suppress_redundant_updates_trigger должна вызываться как триггер"
 
-#: utils/adt/trigfuncs.c:48
+#: utils/adt/trigfuncs.c:47
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called on update"
 msgstr ""
 "функция suppress_redundant_updates_trigger должна вызываться при обновлении"
 
-#: utils/adt/trigfuncs.c:54
+#: utils/adt/trigfuncs.c:53
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called before update"
 msgstr ""
 "функция suppress_redundant_updates_trigger должна вызываться перед "
 "обновлением"
 
-#: utils/adt/trigfuncs.c:60
+#: utils/adt/trigfuncs.c:59
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called for each row"
 msgstr ""
@@ -28699,32 +30047,32 @@ msgstr ""
 msgid "no operand in tsquery: \"%s\""
 msgstr "нет оператора в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:558
+#: utils/adt/tsquery.c:554
 #, c-format
 msgid "value is too big in tsquery: \"%s\""
 msgstr "слишком большое значение в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:563
+#: utils/adt/tsquery.c:559
 #, c-format
 msgid "operand is too long in tsquery: \"%s\""
 msgstr "слишком длинный операнд в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:591
+#: utils/adt/tsquery.c:587
 #, c-format
 msgid "word is too long in tsquery: \"%s\""
 msgstr "слишком длинное слово в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147
+#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "ошибка синтаксиса в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:883
+#: utils/adt/tsquery.c:879
 #, c-format
 msgid "text-search query doesn't contain lexemes: \"%s\""
 msgstr "запрос поиска текста не содержит лексемы: \"%s\""
 
-#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376
+#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376
 #, c-format
 msgid "tsquery is too large"
 msgstr "tsquery слишком большой"
@@ -28763,72 +30111,72 @@ msgstr "массив весов не может содержать null"
 msgid "weight out of range"
 msgstr "вес вне диапазона"
 
-#: utils/adt/tsvector.c:217
+#: utils/adt/tsvector.c:216
 #, c-format
 msgid "word is too long (%ld bytes, max %ld bytes)"
 msgstr "слово слишком длинное (%ld Б, при максимуме %ld)"
 
-#: utils/adt/tsvector.c:224
+#: utils/adt/tsvector.c:223
 #, c-format
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "строка слишком длинна для tsvector (%ld Б, при максимуме %ld)"
 
-#: utils/adt/tsvector_op.c:773
+#: utils/adt/tsvector_op.c:771
 #, c-format
 msgid "lexeme array may not contain nulls"
 msgstr "массив лексем не может содержать элементы null"
 
-#: utils/adt/tsvector_op.c:778
+#: utils/adt/tsvector_op.c:776
 #, c-format
 msgid "lexeme array may not contain empty strings"
 msgstr "массив лексем не должен содержать пустые строки"
 
-#: utils/adt/tsvector_op.c:847
+#: utils/adt/tsvector_op.c:845
 #, c-format
 msgid "weight array may not contain nulls"
 msgstr "массив весов не может содержать элементы null"
 
-#: utils/adt/tsvector_op.c:871
+#: utils/adt/tsvector_op.c:869
 #, c-format
 msgid "unrecognized weight: \"%c\""
 msgstr "нераспознанный вес: \"%c\""
 
-#: utils/adt/tsvector_op.c:2601
+#: utils/adt/tsvector_op.c:2599
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "запрос ts_stat должен вернуть один столбец tsvector"
 
-#: utils/adt/tsvector_op.c:2790
+#: utils/adt/tsvector_op.c:2788
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "столбец \"%s\" типа tsvector не существует"
 
-#: utils/adt/tsvector_op.c:2797
+#: utils/adt/tsvector_op.c:2795
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "столбец \"%s\" должен иметь тип tsvector"
 
-#: utils/adt/tsvector_op.c:2809
+#: utils/adt/tsvector_op.c:2807
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "столбец конфигурации \"%s\" не существует"
 
-#: utils/adt/tsvector_op.c:2815
+#: utils/adt/tsvector_op.c:2813
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "столбец \"%s\" должен иметь тип regconfig"
 
-#: utils/adt/tsvector_op.c:2822
+#: utils/adt/tsvector_op.c:2820
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "значение столбца конфигурации \"%s\" не должно быть null"
 
-#: utils/adt/tsvector_op.c:2835
+#: utils/adt/tsvector_op.c:2833
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr "имя конфигурации текстового поиска \"%s\" должно указываться со схемой"
 
-#: utils/adt/tsvector_op.c:2860
+#: utils/adt/tsvector_op.c:2858
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "столбец \"%s\" имеет не символьный тип"
@@ -28849,17 +30197,17 @@ msgstr "нет спец. символа \"%s\""
 msgid "wrong position info in tsvector: \"%s\""
 msgstr "неверная информация о позиции в tsvector: \"%s\""
 
-#: utils/adt/uuid.c:413
+#: utils/adt/uuid.c:418
 #, c-format
 msgid "could not generate random values"
 msgstr "не удалось сгенерировать случайные значения"
 
-#: utils/adt/varbit.c:110 utils/adt/varchar.c:54
+#: utils/adt/varbit.c:110 utils/adt/varchar.c:53
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "длина значения типа %s должна быть как минимум 1"
 
-#: utils/adt/varbit.c:115 utils/adt/varchar.c:58
+#: utils/adt/varbit.c:115 utils/adt/varchar.c:57
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "длина значения типа %s не может превышать %d"
@@ -28894,9 +30242,9 @@ msgstr "неверная длина во внешней строке битов"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "строка битов не умещается в тип bit varying(%d)"
 
-#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908
-#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052
-#: utils/adt/varlena.c:3130
+#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911
+#: utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055
+#: utils/adt/varlena.c:3133
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "подстрока должна иметь неотрицательную длину"
@@ -28922,106 +30270,113 @@ msgstr ""
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "индекс бита %d вне диапазона 0..%d"
 
-#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334
+#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "значением бита должен быть 0 или 1"
 
-#: utils/adt/varchar.c:162 utils/adt/varchar.c:313
+#: utils/adt/varchar.c:161 utils/adt/varchar.c:312
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr "значение не умещается в тип character(%d)"
 
-#: utils/adt/varchar.c:476 utils/adt/varchar.c:640
+#: utils/adt/varchar.c:475 utils/adt/varchar.c:639
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr "значение не умещается в тип character varying(%d)"
 
-#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517
+#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для сравнения "
 "строк"
 
-#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806
+#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809
 #, c-format
 msgid "nondeterministic collations are not supported for substring searches"
 msgstr ""
 "недетерминированные правила сортировки не поддерживаются для поиска подстрок"
 
-#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285
+#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "индекс %d вне диапазона 0..%d"
 
-#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321
+#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324
 #, c-format
 msgid "index %lld out of valid range, 0..%lld"
 msgstr "индекс %lld вне диапазона 0..%lld"
 
-#: utils/adt/varlena.c:4382
+#: utils/adt/varlena.c:4385
 #, c-format
 msgid "field position must not be zero"
 msgstr "позиция поля должна быть отлична от 0"
 
-#: utils/adt/varlena.c:5554
+#: utils/adt/varlena.c:5630
 #, c-format
 msgid "unterminated format() type specifier"
 msgstr "незавершённый спецификатор типа format()"
 
-#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810
+#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886
 #, c-format
 msgid "For a single \"%%\" use \"%%%%\"."
 msgstr "Для представления одного знака \"%%\" запишите \"%%%%\"."
 
-#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808
+#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884
 #, c-format
 msgid "unrecognized format() type specifier \"%.*s\""
 msgstr "нераспознанный спецификатор типа format(): \"%.*s\""
 
-#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757
+#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833
 #, c-format
 msgid "too few arguments for format()"
 msgstr "мало аргументов для format()"
 
-#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035
+#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111
 #, c-format
 msgid "number is out of range"
 msgstr "число вне диапазона"
 
-#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944
+#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "формат ссылается на аргумент 0, но аргументы нумеруются с 1"
 
-#: utils/adt/varlena.c:5937
+#: utils/adt/varlena.c:6013
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "указание аргумента ширины должно оканчиваться \"$\""
 
-#: utils/adt/varlena.c:5982
+#: utils/adt/varlena.c:6058
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "значения null нельзя представить в виде SQL-идентификатора"
 
-#: utils/adt/varlena.c:6190
+#: utils/adt/varlena.c:6266
 #, c-format
 msgid "Unicode normalization can only be performed if server encoding is UTF8"
 msgstr ""
 "нормализацию Unicode можно выполнять, только если кодировка сервера — UTF8"
 
-#: utils/adt/varlena.c:6203
+#: utils/adt/varlena.c:6279
 #, c-format
 msgid "invalid normalization form: %s"
 msgstr "неверная форма нормализации: %s"
 
-#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476
+# well-spelled: категоризацию
+#: utils/adt/varlena.c:6324
+#, c-format
+msgid "Unicode categorization can only be performed if server encoding is UTF8"
+msgstr ""
+"категоризацию Unicode можно выполнять, только если кодировка сервера — UTF8"
+
+#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611
 #, c-format
 msgid "invalid Unicode code point: %04X"
 msgstr "неверный код символа Unicode: %04X"
 
-#: utils/adt/varlena.c:6506
+#: utils/adt/varlena.c:6641
 #, c-format
 msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX."
 msgstr ""
@@ -29032,17 +30387,17 @@ msgstr ""
 msgid "argument of ntile must be greater than zero"
 msgstr "аргумент ntile должен быть больше нуля"
 
-#: utils/adt/windowfuncs.c:723
+#: utils/adt/windowfuncs.c:707
 #, c-format
 msgid "argument of nth_value must be greater than zero"
 msgstr "аргумент nth_value должен быть больше нуля"
 
-#: utils/adt/xid8funcs.c:126
+#: utils/adt/xid8funcs.c:124
 #, c-format
 msgid "transaction ID %llu is in the future"
 msgstr "ID транзакции %llu относится к будущему"
 
-#: utils/adt/xid8funcs.c:555
+#: utils/adt/xid8funcs.c:553
 #, c-format
 msgid "invalid external pg_snapshot data"
 msgstr "неверное внешнее представление pg_snapshot"
@@ -29057,7 +30412,7 @@ msgstr "XML-функции не поддерживаются"
 msgid "This functionality requires the server to be built with libxml support."
 msgstr "Для этой функциональности в сервере не хватает поддержки libxml."
 
-#: utils/adt/xml.c:258 utils/mb/mbutils.c:628
+#: utils/adt/xml.c:258 utils/mb/mbutils.c:627
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "неверное имя кодировки: \"%s\""
@@ -29067,37 +30422,37 @@ msgstr "неверное имя кодировки: \"%s\""
 msgid "invalid XML comment"
 msgstr "ошибка в XML-комментарии"
 
-#: utils/adt/xml.c:670
+#: utils/adt/xml.c:691
 #, c-format
 msgid "not an XML document"
 msgstr "не XML-документ"
 
-#: utils/adt/xml.c:966 utils/adt/xml.c:989
+#: utils/adt/xml.c:987 utils/adt/xml.c:1010
 #, c-format
 msgid "invalid XML processing instruction"
 msgstr "неправильная XML-инструкция обработки (PI)"
 
-#: utils/adt/xml.c:967
+#: utils/adt/xml.c:988
 #, c-format
 msgid "XML processing instruction target name cannot be \"%s\"."
 msgstr "назначением XML-инструкции обработки (PI) не может быть \"%s\"."
 
-#: utils/adt/xml.c:990
+#: utils/adt/xml.c:1011
 #, c-format
 msgid "XML processing instruction cannot contain \"?>\"."
 msgstr "XML-инструкция обработки (PI) не может содержать \"?>\"."
 
-#: utils/adt/xml.c:1069
+#: utils/adt/xml.c:1090
 #, c-format
 msgid "xmlvalidate is not implemented"
 msgstr "функция xmlvalidate не реализована"
 
-#: utils/adt/xml.c:1125
+#: utils/adt/xml.c:1146
 #, c-format
 msgid "could not initialize XML library"
 msgstr "не удалось инициализировать библиотеку XML"
 
-#: utils/adt/xml.c:1126
+#: utils/adt/xml.c:1147
 #, c-format
 msgid ""
 "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu."
@@ -29105,12 +30460,12 @@ msgstr ""
 "В libxml2 оказался несовместимый тип char: sizeof(char)=%zu, "
 "sizeof(xmlChar)=%zu."
 
-#: utils/adt/xml.c:1212
+#: utils/adt/xml.c:1233
 #, c-format
 msgid "could not set up XML error handler"
 msgstr "не удалось установить обработчик XML-ошибок"
 
-#: utils/adt/xml.c:1213
+#: utils/adt/xml.c:1234
 #, c-format
 msgid ""
 "This probably indicates that the version of libxml2 being used is not "
@@ -29119,125 +30474,125 @@ msgstr ""
 "Возможно, это означает, что используемая версия libxml2 несовместима с "
 "заголовочными файлами libxml2, с которыми был собран PostgreSQL."
 
-#: utils/adt/xml.c:2199
+#: utils/adt/xml.c:2260
 msgid "Invalid character value."
 msgstr "Неверный символ."
 
-#: utils/adt/xml.c:2202
+#: utils/adt/xml.c:2263
 msgid "Space required."
 msgstr "Требуется пробел."
 
-#: utils/adt/xml.c:2205
+#: utils/adt/xml.c:2266
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "значениями атрибута standalone могут быть только 'yes' и 'no'."
 
-#: utils/adt/xml.c:2208
+#: utils/adt/xml.c:2269
 msgid "Malformed declaration: missing version."
 msgstr "Ошибочное объявление: не указана версия."
 
-#: utils/adt/xml.c:2211
+#: utils/adt/xml.c:2272
 msgid "Missing encoding in text declaration."
 msgstr "В объявлении не указана кодировка."
 
-#: utils/adt/xml.c:2214
+#: utils/adt/xml.c:2275
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Ошибка при разборе XML-объявления: ожидается '?>'."
 
-#: utils/adt/xml.c:2217
+#: utils/adt/xml.c:2278
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Нераспознанный код ошибки libxml: %d."
 
-#: utils/adt/xml.c:2471
+#: utils/adt/xml.c:2532
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML не поддерживает бесконечность в датах."
 
-#: utils/adt/xml.c:2493 utils/adt/xml.c:2520
+#: utils/adt/xml.c:2554 utils/adt/xml.c:2581
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML не поддерживает бесконечность в timestamp."
 
-#: utils/adt/xml.c:2936
+#: utils/adt/xml.c:2997
 #, c-format
 msgid "invalid query"
 msgstr "неверный запрос"
 
-#: utils/adt/xml.c:3028
+#: utils/adt/xml.c:3089
 #, c-format
 msgid "portal \"%s\" does not return tuples"
 msgstr "портал \"%s\" не возвращает кортежи"
 
-#: utils/adt/xml.c:4280
+#: utils/adt/xml.c:4341
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "неправильный массив с сопоставлениями пространств имён XML"
 
-#: utils/adt/xml.c:4281
+#: utils/adt/xml.c:4342
 #, c-format
 msgid ""
 "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr "Массив должен быть двухмерным и содержать 2 элемента по второй оси."
 
-#: utils/adt/xml.c:4305
+#: utils/adt/xml.c:4366
 #, c-format
 msgid "empty XPath expression"
 msgstr "пустое выражение XPath"
 
-#: utils/adt/xml.c:4357
+#: utils/adt/xml.c:4418
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "ни префикс, ни URI пространства имён не может быть null"
 
-#: utils/adt/xml.c:4364
+#: utils/adt/xml.c:4425
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr ""
 "не удалось зарегистрировать пространство имён XML с префиксом \"%s\" и URI "
 "\"%s\""
 
-#: utils/adt/xml.c:4707
+#: utils/adt/xml.c:4768
 #, c-format
 msgid "DEFAULT namespace is not supported"
 msgstr "пространство имён DEFAULT не поддерживается"
 
-#: utils/adt/xml.c:4736
+#: utils/adt/xml.c:4797
 #, c-format
 msgid "row path filter must not be empty string"
 msgstr "путь отбираемых строк не должен быть пустым"
 
-#: utils/adt/xml.c:4767
+#: utils/adt/xml.c:4828
 #, c-format
 msgid "column path filter must not be empty string"
 msgstr "путь отбираемого столбца не должен быть пустым"
 
-#: utils/adt/xml.c:4911
+#: utils/adt/xml.c:4972
 #, c-format
 msgid "more than one value returned by column XPath expression"
 msgstr "выражение XPath, отбирающее столбец, возвратило более одного значения"
 
-#: utils/cache/lsyscache.c:1043
+#: utils/cache/lsyscache.c:1017
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "приведение типа %s к типу %s не существует"
 
-#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878
-#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944
+#: utils/cache/lsyscache.c:2887 utils/cache/lsyscache.c:2920
+#: utils/cache/lsyscache.c:2953 utils/cache/lsyscache.c:2986
 #, c-format
 msgid "type %s is only a shell"
 msgstr "тип %s является пустышкой"
 
-#: utils/cache/lsyscache.c:2850
+#: utils/cache/lsyscache.c:2892
 #, c-format
 msgid "no input function available for type %s"
 msgstr "для типа %s нет функции ввода"
 
-#: utils/cache/lsyscache.c:2883
+#: utils/cache/lsyscache.c:2925
 #, c-format
 msgid "no output function available for type %s"
 msgstr "для типа %s нет функции вывода"
 
-#: utils/cache/partcache.c:219
+#: utils/cache/partcache.c:216
 #, c-format
 msgid ""
 "operator class \"%s\" of access method %s is missing support function %d for "
@@ -29246,56 +30601,56 @@ msgstr ""
 "в классе операторов \"%s\" метода доступа %s нет опорной функции %d для типа "
 "%s"
 
-#: utils/cache/plancache.c:724
+#: utils/cache/plancache.c:747
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "в кешированном плане не должен изменяться тип результата"
 
-#: utils/cache/relcache.c:3741
+#: utils/cache/relcache.c:3800
 #, c-format
 msgid "heap relfilenumber value not set when in binary upgrade mode"
 msgstr ""
 "значение relfilenumber для кучи не задано в режиме двоичного обновления"
 
-#: utils/cache/relcache.c:3749
+#: utils/cache/relcache.c:3808
 #, c-format
 msgid "unexpected request for new relfilenumber in binary upgrade mode"
 msgstr ""
 "неожиданный запрос нового значения relfilenumber в режиме двоичного "
 "обновления"
 
-#: utils/cache/relcache.c:6495
+#: utils/cache/relcache.c:6536
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "создать файл инициализации для кеша отношений \"%s\" не удалось: %m"
 
-#: utils/cache/relcache.c:6497
+#: utils/cache/relcache.c:6538
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Продолжаем всё равно, хотя что-то не так."
 
-#: utils/cache/relcache.c:6819
+#: utils/cache/relcache.c:6868
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "не удалось стереть файл кеша \"%s\": %m"
 
-#: utils/cache/relmapper.c:597
+#: utils/cache/relmapper.c:596
 #, c-format
 msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr ""
 "выполнить PREPARE для транзакции, изменившей сопоставление отношений, нельзя"
 
-#: utils/cache/relmapper.c:853
+#: utils/cache/relmapper.c:852
 #, c-format
 msgid "relation mapping file \"%s\" contains invalid data"
 msgstr "файл сопоставления отношений \"%s\" содержит неверные данные"
 
-#: utils/cache/relmapper.c:863
+#: utils/cache/relmapper.c:862
 #, c-format
 msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr "ошибка контрольной суммы в файле сопоставления отношений \"%s\""
 
-#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:574
+#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574
 #, c-format
 msgid "record type has not been registered"
 msgstr "тип записи не зарегистрирован"
@@ -29310,102 +30665,102 @@ msgstr "ЛОВУШКА: Исключительное условие: невер
 msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n"
 msgstr "ЛОВУШКА: нарушение Assert(\"%s\"), файл: \"%s\", строка: %d, PID: %d\n"
 
-#: utils/error/elog.c:416
+#: utils/error/elog.c:415
 #, c-format
 msgid "error occurred before error message processing is available\n"
 msgstr "произошла ошибка до готовности подсистемы обработки сообщений\n"
 
-#: utils/error/elog.c:2096
+#: utils/error/elog.c:2134
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "открыть файл \"%s\" как stderr не удалось: %m"
 
-#: utils/error/elog.c:2109
+#: utils/error/elog.c:2147
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "открыть файл \"%s\" как stdout не удалось: %m"
 
-#: utils/error/elog.c:2145
+#: utils/error/elog.c:2183
 #, c-format
-msgid "invalid character"
-msgstr "невеÑ\80ный символ"
+msgid "Invalid character"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имый символ"
 
-#: utils/error/elog.c:2851 utils/error/elog.c:2878 utils/error/elog.c:2894
+#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932
 msgid "[unknown]"
 msgstr "[н/д]"
 
-#: utils/error/elog.c:3167 utils/error/elog.c:3488 utils/error/elog.c:3595
+#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633
 msgid "missing error text"
 msgstr "отсутствует текст ошибки"
 
-#: utils/error/elog.c:3170 utils/error/elog.c:3173
+#: utils/error/elog.c:3205 utils/error/elog.c:3208
 #, c-format
 msgid " at character %d"
 msgstr " (символ %d)"
 
-#: utils/error/elog.c:3183 utils/error/elog.c:3190
+#: utils/error/elog.c:3218 utils/error/elog.c:3225
 msgid "DETAIL:  "
 msgstr "ПОДРОБНОСТИ:  "
 
-#: utils/error/elog.c:3197
+#: utils/error/elog.c:3232
 msgid "HINT:  "
 msgstr "ПОДСКАЗКА:  "
 
-#: utils/error/elog.c:3204
+#: utils/error/elog.c:3239
 msgid "QUERY:  "
 msgstr "ЗАПРОС:  "
 
-#: utils/error/elog.c:3211
+#: utils/error/elog.c:3246
 msgid "CONTEXT:  "
 msgstr "КОНТЕКСТ:  "
 
-#: utils/error/elog.c:3221
+#: utils/error/elog.c:3256
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "ПОЛОЖЕНИЕ: %s, %s:%d\n"
 
-#: utils/error/elog.c:3228
+#: utils/error/elog.c:3263
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "ПОЛОЖЕНИЕ: %s:%d\n"
 
-#: utils/error/elog.c:3235
+#: utils/error/elog.c:3270
 msgid "BACKTRACE:  "
 msgstr "СТЕК:  "
 
-#: utils/error/elog.c:3247
+#: utils/error/elog.c:3282
 msgid "STATEMENT:  "
 msgstr "ОПЕРАТОР:  "
 
-#: utils/error/elog.c:3640
+#: utils/error/elog.c:3678
 msgid "DEBUG"
 msgstr "ОТЛАДКА"
 
-#: utils/error/elog.c:3644
+#: utils/error/elog.c:3682
 msgid "LOG"
 msgstr "СООБЩЕНИЕ"
 
-#: utils/error/elog.c:3647
+#: utils/error/elog.c:3685
 msgid "INFO"
 msgstr "ИНФОРМАЦИЯ"
 
-#: utils/error/elog.c:3650
+#: utils/error/elog.c:3688
 msgid "NOTICE"
 msgstr "ЗАМЕЧАНИЕ"
 
-#: utils/error/elog.c:3654
+#: utils/error/elog.c:3692
 msgid "WARNING"
 msgstr "ПРЕДУПРЕЖДЕНИЕ"
 
-#: utils/error/elog.c:3657
+#: utils/error/elog.c:3695
 msgid "ERROR"
 msgstr "ОШИБКА"
 
-#: utils/error/elog.c:3660
+#: utils/error/elog.c:3698
 msgid "FATAL"
 msgstr "ВАЖНО"
 
-#: utils/error/elog.c:3663
+#: utils/error/elog.c:3701
 msgid "PANIC"
 msgstr "ПАНИКА"
 
@@ -29478,22 +30833,22 @@ msgstr "Отличительный блок имеет неверную длин
 msgid "incompatible library \"%s\": magic block mismatch"
 msgstr "несовместимая библиотека \"%s\": несоответствие отличительного блока"
 
-#: utils/fmgr/dfmgr.c:492
+#: utils/fmgr/dfmgr.c:475
 #, c-format
 msgid "access to library \"%s\" is not allowed"
 msgstr "доступ к библиотеке \"%s\" не разрешён"
 
-#: utils/fmgr/dfmgr.c:518
+#: utils/fmgr/dfmgr.c:501
 #, c-format
 msgid "invalid macro name in dynamic library path: %s"
 msgstr "неправильный макрос в пути динамической библиотеки: %s"
 
-#: utils/fmgr/dfmgr.c:558
+#: utils/fmgr/dfmgr.c:541
 #, c-format
 msgid "zero-length component in parameter \"dynamic_library_path\""
 msgstr "параметр dynamic_library_path содержит компонент нулевой длины"
 
-#: utils/fmgr/dfmgr.c:577
+#: utils/fmgr/dfmgr.c:560
 #, c-format
 msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
 msgstr ""
@@ -29524,14 +30879,14 @@ msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr ""
 "версия API (%d), выданная информационной функцией \"%s\", не поддерживается"
 
-#: utils/fmgr/fmgr.c:2080
+#: utils/fmgr/fmgr.c:2109
 #, c-format
 msgid "operator class options info is absent in function call context"
 msgstr ""
 "информация о параметрах класса операторов отсутствует в контексте вызова "
 "функции"
 
-#: utils/fmgr/fmgr.c:2147
+#: utils/fmgr/fmgr.c:2176
 #, c-format
 msgid "language validation function %u called for language %u instead of %u"
 msgstr "функция языковой проверки %u вызвана для языка %u (а не %u)"
@@ -29551,11 +30906,6 @@ msgid "argument declared %s does not contain a range type but type %s"
 msgstr ""
 "аргумент, объявленный как \"%s\", содержит не диапазонный тип, а тип %s"
 
-#: utils/fmgr/funcapi.c:725
-#, c-format
-msgid "could not find multirange type for data type %s"
-msgstr "тип мультидиапазона для типа данных %s не найден"
-
 #: utils/fmgr/funcapi.c:1929 utils/fmgr/funcapi.c:1961
 #, c-format
 msgid "number of aliases does not match number of columns"
@@ -29571,105 +30921,100 @@ msgstr "псевдоним столбца не указан"
 msgid "could not determine row description for function returning record"
 msgstr "не удалось определить описание строки для функции, возвращающей запись"
 
-#: utils/init/miscinit.c:346
+#: utils/init/miscinit.c:352
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "каталог данных \"%s\" не существует"
 
-#: utils/init/miscinit.c:351
+#: utils/init/miscinit.c:357
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
-msgstr "не удалось считать права на каталог \"%s\": %m"
+msgstr "не удалось прочитать права на каталог \"%s\": %m"
 
-#: utils/init/miscinit.c:359
+#: utils/init/miscinit.c:365
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "указанный каталог данных \"%s\" не существует"
 
-#: utils/init/miscinit.c:375
+#: utils/init/miscinit.c:381
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "владелец каталога данных \"%s\" определён неверно"
 
-#: utils/init/miscinit.c:377
+#: utils/init/miscinit.c:383
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr ""
 "Сервер должен запускать пользователь, являющийся владельцем каталога данных."
 
-#: utils/init/miscinit.c:395
+#: utils/init/miscinit.c:401
 #, c-format
 msgid "data directory \"%s\" has invalid permissions"
 msgstr "для каталога данных \"%s\" установлены неправильные права доступа"
 
-#: utils/init/miscinit.c:397
+#: utils/init/miscinit.c:403
 #, c-format
 msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)."
 msgstr "Маска прав должна быть u=rwx (0700) или u=rwx,g=rx (0750)."
 
-#: utils/init/miscinit.c:455
+#: utils/init/miscinit.c:461
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "не удалось перейти в каталог \"%s\": %m"
 
-#: utils/init/miscinit.c:692 utils/misc/guc.c:3557
+#: utils/init/miscinit.c:697 utils/misc/guc.c:3650
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr ""
 "параметр \"%s\" нельзя задать в рамках операции с ограничениями по "
 "безопасности"
 
-#: utils/init/miscinit.c:764
+#: utils/init/miscinit.c:770
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "роль с OID %u не существует"
 
-#: utils/init/miscinit.c:794
+#: utils/init/miscinit.c:800
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "для роли \"%s\" вход запрещён"
 
-#: utils/init/miscinit.c:812
+#: utils/init/miscinit.c:818
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "слишком много подключений для роли \"%s\""
 
-#: utils/init/miscinit.c:919
-#, c-format
-msgid "permission denied to set session authorization"
-msgstr "нет прав для смены объекта авторизации в сеансе"
-
-#: utils/init/miscinit.c:1002
+#: utils/init/miscinit.c:991
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "неверный OID роли: %u"
 
-#: utils/init/miscinit.c:1149
+#: utils/init/miscinit.c:1138
 #, c-format
 msgid "database system is shut down"
 msgstr "система БД выключена"
 
-#: utils/init/miscinit.c:1236
+#: utils/init/miscinit.c:1225
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "не удалось создать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1250
+#: utils/init/miscinit.c:1239
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "не удалось открыть файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1257
+#: utils/init/miscinit.c:1246
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "не удалось прочитать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1266
+#: utils/init/miscinit.c:1255
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "файл блокировки \"%s\" пуст"
 
-#: utils/init/miscinit.c:1267
+#: utils/init/miscinit.c:1256
 #, c-format
 msgid ""
 "Either another server is starting, or the lock file is the remnant of a "
@@ -29678,38 +31023,38 @@ msgstr ""
 "Либо сейчас запускается другой сервер, либо этот файл остался в результате "
 "сбоя при предыдущем запуске."
 
-#: utils/init/miscinit.c:1311
+#: utils/init/miscinit.c:1300
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "файл блокировки \"%s\" уже существует"
 
-#: utils/init/miscinit.c:1315
+#: utils/init/miscinit.c:1304
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr "Другой экземпляр postgres (PID %d) работает с каталогом данных \"%s\"?"
 
-#: utils/init/miscinit.c:1317
+#: utils/init/miscinit.c:1306
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr ""
 "Другой экземпляр postmaster (PID %d) работает с каталогом данных \"%s\"?"
 
-#: utils/init/miscinit.c:1320
+#: utils/init/miscinit.c:1309
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "Другой экземпляр postgres (PID %d) использует файл сокета \"%s\"?"
 
-#: utils/init/miscinit.c:1322
+#: utils/init/miscinit.c:1311
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "Другой экземпляр postmaster (PID %d) использует файл сокета \"%s\"?"
 
-#: utils/init/miscinit.c:1373
+#: utils/init/miscinit.c:1362
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "не удалось стереть старый файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1375
+#: utils/init/miscinit.c:1364
 #, c-format
 msgid ""
 "The file seems accidentally left over, but it could not be removed. Please "
@@ -29718,48 +31063,48 @@ msgstr ""
 "Кажется, файл сохранился по ошибке, но удалить его не получилось. "
 "Пожалуйста, удалите файл вручную и повторите попытку."
 
-#: utils/init/miscinit.c:1412 utils/init/miscinit.c:1426
-#: utils/init/miscinit.c:1437
+#: utils/init/miscinit.c:1401 utils/init/miscinit.c:1415
+#: utils/init/miscinit.c:1426
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "не удалось записать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1548 utils/init/miscinit.c:1690 utils/misc/guc.c:5597
+#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: utils/init/miscinit.c:1678
+#: utils/init/miscinit.c:1667
 #, c-format
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "не удалось открыть файл \"%s\": %m; ошибка игнорируется"
 
-#: utils/init/miscinit.c:1703
+#: utils/init/miscinit.c:1692
 #, c-format
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "файл блокировки \"%s\" содержит неверный PID: %ld вместо %ld"
 
-#: utils/init/miscinit.c:1742 utils/init/miscinit.c:1758
+#: utils/init/miscinit.c:1731 utils/init/miscinit.c:1747
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "\"%s\" не является каталогом данных"
 
-#: utils/init/miscinit.c:1744
+#: utils/init/miscinit.c:1733
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "Файл \"%s\" отсутствует."
 
-#: utils/init/miscinit.c:1760
+#: utils/init/miscinit.c:1749
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "Файл \"%s\" содержит неприемлемые данные."
 
-#: utils/init/miscinit.c:1762
+#: utils/init/miscinit.c:1751
 #, c-format
 msgid "You might need to initdb."
 msgstr "Возможно, вам нужно выполнить initdb."
 
-#: utils/init/miscinit.c:1770
+#: utils/init/miscinit.c:1759
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %s, which is not "
@@ -29880,12 +31225,12 @@ msgstr ""
 "База данных была инициализирована с параметром LC_CTYPE \"%s\", но сейчас "
 "setlocale() не воспринимает его."
 
-#: utils/init/postinit.c:475
+#: utils/init/postinit.c:491
 #, c-format
 msgid "database \"%s\" has a collation version mismatch"
 msgstr "несовпадение версии для правила сортировки в базе данных \"%s\""
 
-#: utils/init/postinit.c:477
+#: utils/init/postinit.c:493
 #, c-format
 msgid ""
 "The database was created using collation version %s, but the operating "
@@ -29894,7 +31239,7 @@ msgstr ""
 "База данных была создана с версией правила сортировки %s, но операционная "
 "система предоставляет версию %s."
 
-#: utils/init/postinit.c:480
+#: utils/init/postinit.c:496
 #, c-format
 msgid ""
 "Rebuild all objects in this database that use the default collation and run "
@@ -29905,31 +31250,31 @@ msgstr ""
 "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо "
 "соберите PostgreSQL с правильной версией библиотеки."
 
-#: utils/init/postinit.c:891
+#: utils/init/postinit.c:902
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "в этой системе баз данных не создано ни одной роли"
 
-#: utils/init/postinit.c:892
+#: utils/init/postinit.c:903
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Вы должны немедленно выполнить CREATE USER \"%s\" CREATEUSER;."
 
-#: utils/init/postinit.c:928
+#: utils/init/postinit.c:940
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr ""
 "нужно быть суперпользователем, чтобы подключиться в режиме двоичного "
 "обновления"
 
-#: utils/init/postinit.c:949
+#: utils/init/postinit.c:961
 #, c-format
 msgid "remaining connection slots are reserved for roles with the %s attribute"
 msgstr ""
 "оставшиеся слоты подключений зарезервированы для подключений ролей с "
 "атрибутом %s"
 
-#: utils/init/postinit.c:955
+#: utils/init/postinit.c:967
 #, c-format
 msgid ""
 "remaining connection slots are reserved for roles with privileges of the "
@@ -29938,32 +31283,32 @@ msgstr ""
 "оставшиеся слоты подключений зарезервированы для подключений ролей с правами "
 "роли \"%s\""
 
-#: utils/init/postinit.c:967
+#: utils/init/postinit.c:979
 #, c-format
 msgid "permission denied to start WAL sender"
 msgstr "нет прав для запуска процесса, передающего WAL"
 
-#: utils/init/postinit.c:968
+#: utils/init/postinit.c:980
 #, c-format
 msgid "Only roles with the %s attribute may start a WAL sender process."
 msgstr "Только роли с атрибутом %s могут запускать процессы, передающие WAL."
 
-#: utils/init/postinit.c:1086
+#: utils/init/postinit.c:1098
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Похоже, она только что была удалена или переименована."
 
-#: utils/init/postinit.c:1090
+#: utils/init/postinit.c:1102
 #, c-format
 msgid "database %u does not exist"
 msgstr "база данных %u не существует"
 
-#: utils/init/postinit.c:1099
+#: utils/init/postinit.c:1111
 #, c-format
 msgid "cannot connect to invalid database \"%s\""
 msgstr "подключиться к некорректной базе \"%s\" нельзя"
 
-#: utils/init/postinit.c:1159
+#: utils/init/postinit.c:1172
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "Подкаталог базы данных \"%s\" отсутствует."
@@ -29990,48 +31335,48 @@ msgstr "неожиданный ID кодировки %d для наборов с
 msgid "unexpected encoding ID %d for WIN character sets"
 msgstr "неожиданный ID кодировки %d для наборов символов WIN"
 
-#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901
+#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900
 #, c-format
 msgid "conversion between %s and %s is not supported"
 msgstr "преобразование %s <-> %s не поддерживается"
 
-#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816
-#: utils/mb/mbutils.c:843
+#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815
+#: utils/mb/mbutils.c:842
 #, c-format
 msgid "String of %d bytes is too long for encoding conversion."
 msgstr "Строка из %d байт слишком длинна для преобразования кодировки."
 
-#: utils/mb/mbutils.c:569
+#: utils/mb/mbutils.c:568
 #, c-format
 msgid "invalid source encoding name \"%s\""
 msgstr "неверное имя исходной кодировки: \"%s\""
 
-#: utils/mb/mbutils.c:574
+#: utils/mb/mbutils.c:573
 #, c-format
 msgid "invalid destination encoding name \"%s\""
 msgstr "неверное имя кодировки результата: \"%s\""
 
-#: utils/mb/mbutils.c:714
+#: utils/mb/mbutils.c:713
 #, c-format
 msgid "invalid byte value for encoding \"%s\": 0x%02x"
 msgstr "недопустимое байтовое значение для кодировки \"%s\": 0x%02x"
 
-#: utils/mb/mbutils.c:878
+#: utils/mb/mbutils.c:877
 #, c-format
 msgid "invalid Unicode code point"
 msgstr "неверный код Unicode"
 
-#: utils/mb/mbutils.c:1204
+#: utils/mb/mbutils.c:1201
 #, c-format
 msgid "bind_textdomain_codeset failed"
 msgstr "ошибка в bind_textdomain_codeset"
 
-#: utils/mb/mbutils.c:1725
+#: utils/mb/mbutils.c:1718
 #, c-format
 msgid "invalid byte sequence for encoding \"%s\": %s"
 msgstr "неверная последовательность байт для кодировки \"%s\": %s"
 
-#: utils/mb/mbutils.c:1758
+#: utils/mb/mbutils.c:1751
 #, c-format
 msgid ""
 "character with byte sequence %s in encoding \"%s\" has no equivalent in "
@@ -30050,14 +31395,14 @@ msgstr "пустое имя каталога конфигурации: \"%s\""
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "открыть каталог конфигурации \"%s\" не удалось: %m"
 
-#: utils/misc/guc.c:115
+#: utils/misc/guc.c:122
 msgid ""
 "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr ""
 "Допустимые единицы измерения для этого параметра: \"B\", \"kB\", \"MB\", "
 "\"GB\" и \"TB\"."
 
-#: utils/misc/guc.c:152
+#: utils/misc/guc.c:159
 msgid ""
 "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", "
 "and \"d\"."
@@ -30065,36 +31410,36 @@ msgstr ""
 "Допустимые единицы измерения для этого параметра: \"us\", \"ms\", \"s\", "
 "\"min\", \"h\" и \"d\"."
 
-#: utils/misc/guc.c:421
+#: utils/misc/guc.c:430
 #, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d"
 msgstr "нераспознанный параметр конфигурации \"%s\" в файле \"%s\", строке %d"
 
-#: utils/misc/guc.c:461 utils/misc/guc.c:3411 utils/misc/guc.c:3655
-#: utils/misc/guc.c:3753 utils/misc/guc.c:3851 utils/misc/guc.c:3975
-#: utils/misc/guc.c:4078
+#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748
+#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068
+#: utils/misc/guc.c:4171
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "параметр \"%s\" изменяется только при перезапуске сервера"
 
-#: utils/misc/guc.c:497
+#: utils/misc/guc.c:506
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr ""
 "параметр \"%s\" удалён из файла конфигурации, он принимает значение по "
 "умолчанию"
 
-#: utils/misc/guc.c:562
+#: utils/misc/guc.c:571
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "параметр \"%s\" принял значение \"%s\""
 
-#: utils/misc/guc.c:604
+#: utils/misc/guc.c:613
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "файл конфигурации \"%s\" содержит ошибки"
 
-#: utils/misc/guc.c:609
+#: utils/misc/guc.c:618
 #, c-format
 msgid ""
 "configuration file \"%s\" contains errors; unaffected changes were applied"
@@ -30102,17 +31447,17 @@ msgstr ""
 "файл конфигурации \"%s\" содержит ошибки; были применены не зависимые "
 "изменения"
 
-#: utils/misc/guc.c:614
+#: utils/misc/guc.c:623
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "файл конфигурации \"%s\" содержит ошибки; изменения не были применены"
 
-#: utils/misc/guc.c:1211 utils/misc/guc.c:1227
+#: utils/misc/guc.c:1139 utils/misc/guc.c:1155
 #, c-format
 msgid "invalid configuration parameter name \"%s\""
 msgstr "неверное имя параметра конфигурации: \"%s\""
 
-#: utils/misc/guc.c:1213
+#: utils/misc/guc.c:1141
 #, c-format
 msgid ""
 "Custom parameter names must be two or more simple identifiers separated by "
@@ -30121,22 +31466,22 @@ msgstr ""
 "Имена нестандартных параметров должны состоять из двух или более простых "
 "идентификаторов, разделённых точками."
 
-#: utils/misc/guc.c:1229
+#: utils/misc/guc.c:1157
 #, c-format
 msgid "\"%s\" is a reserved prefix."
 msgstr "\"%s\" — зарезервированный префикс."
 
-#: utils/misc/guc.c:1243
+#: utils/misc/guc.c:1170 utils/misc/guc.c:1280
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "нераспознанный параметр конфигурации: \"%s\""
 
-#: utils/misc/guc.c:1767
+#: utils/misc/guc.c:1802
 #, c-format
-msgid "%s: could not access directory \"%s\": %s\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ñ\81Ñ\82Ñ\83па Ðº ÐºÐ°Ñ\82алогÑ\83 \"%s\": %s\n"
+msgid "%s: could not access directory \"%s\": %m\n"
+msgstr "%s: Ð¾Ñ\88ибка Ð¿Ñ\80и Ð¾Ð±Ñ\80аÑ\89ении Ðº ÐºÐ°Ñ\82алогÑ\83 \"%s\": %m\n"
 
-#: utils/misc/guc.c:1772
+#: utils/misc/guc.c:1806
 #, c-format
 msgid ""
 "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
@@ -30144,7 +31489,7 @@ msgstr ""
 "Запустите initdb или pg_basebackup для инициализации каталога данных "
 "PostgreSQL.\n"
 
-#: utils/misc/guc.c:1796
+#: utils/misc/guc.c:1830
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -30155,12 +31500,12 @@ msgstr ""
 "Вы должны указать его расположение в параметре --config-file или -D, либо "
 "установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:1819
+#: utils/misc/guc.c:1853
 #, c-format
-msgid "%s: could not access the server configuration file \"%s\": %s\n"
-msgstr "%s не может открыть файл конфигурации сервера \"%s\": %s\n"
+msgid "%s: could not access the server configuration file \"%s\": %m\n"
+msgstr "%s не может открыть файл конфигурации сервера \"%s\": %m\n"
 
-#: utils/misc/guc.c:1847
+#: utils/misc/guc.c:1881
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -30171,7 +31516,7 @@ msgstr ""
 "Их расположение можно задать как значение \"data_directory\" в файле \"%s\", "
 "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:1899
+#: utils/misc/guc.c:1933
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -30182,7 +31527,7 @@ msgstr ""
 "Его расположение можно задать как значение \"hba_file\" в файле \"%s\", либо "
 "передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:1930
+#: utils/misc/guc.c:1964
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -30193,124 +31538,138 @@ msgstr ""
 "Его расположение можно задать как значение \"ident_file\" в файле \"%s\", "
 "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:2896
+#: utils/misc/guc.c:2943
 msgid "Value exceeds integer range."
 msgstr "Значение выходит за рамки целых чисел."
 
-#: utils/misc/guc.c:3132
+#: utils/misc/guc.c:3185
 #, c-format
-msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)"
-msgstr "%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d .. %d)"
+msgid ""
+"%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)"
+msgstr ""
+"%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d%s%s .. %d%s%s)"
 
-#: utils/misc/guc.c:3168
+#: utils/misc/guc.c:3226
 #, c-format
-msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)"
-msgstr "%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g .. %g)"
+msgid ""
+"%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)"
+msgstr ""
+"%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g%s%s .. %g%s%s)"
 
-#: utils/misc/guc.c:3369 utils/misc/guc_funcs.c:54
+#: utils/misc/guc.c:3465
 #, c-format
-msgid "cannot set parameters during a parallel operation"
-msgstr "устанавливать параметры во время параллельных операций нельзя"
+msgid "parameter \"%s\" cannot be set during a parallel operation"
+msgstr "параметр \"%s\" нельзя установить во время параллельной операции"
 
-#: utils/misc/guc.c:3388 utils/misc/guc.c:4539
+#: utils/misc/guc.c:3481 utils/misc/guc.c:4655
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "параметр \"%s\" нельзя изменить"
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3514
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "параметр \"%s\" нельзя изменить сейчас"
 
-#: utils/misc/guc.c:3448 utils/misc/guc.c:3510 utils/misc/guc.c:4515
-#: utils/misc/guc.c:6563
+#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630
+#: utils/misc/guc.c:6721
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "нет прав для изменения параметра \"%s\""
 
-#: utils/misc/guc.c:3490
+#: utils/misc/guc.c:3583
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "параметр \"%s\" нельзя задать после установления соединения"
 
-#: utils/misc/guc.c:3549
+#: utils/misc/guc.c:3642
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr ""
 "параметр \"%s\" нельзя задать в функции с контекстом безопасности "
 "определившего"
 
-#: utils/misc/guc.c:3570
+#: utils/misc/guc.c:3663
 #, c-format
 msgid "parameter \"%s\" cannot be reset"
 msgstr "параметр \"%s\" нельзя сбросить"
 
-#: utils/misc/guc.c:3577
+#: utils/misc/guc.c:3670
 #, c-format
 msgid "parameter \"%s\" cannot be set locally in functions"
 msgstr "параметр \"%s\" нельзя задавать локально в функциях"
 
-#: utils/misc/guc.c:4221 utils/misc/guc.c:4268 utils/misc/guc.c:5282
+#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409
 #, c-format
 msgid "permission denied to examine \"%s\""
 msgstr "нет прав для просмотра параметра \"%s\""
 
-#: utils/misc/guc.c:4222 utils/misc/guc.c:4269 utils/misc/guc.c:5283
+#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410
 #, c-format
 msgid ""
 "Only roles with privileges of the \"%s\" role may examine this parameter."
 msgstr "Просматривать этот параметр могут только роли с правами роли \"%s\"."
 
-#: utils/misc/guc.c:4505
+#: utils/misc/guc.c:4588
+#, c-format
+msgid "ALTER SYSTEM is not allowed in this environment"
+msgstr "команда ALTER SYSTEM запрещена в этом окружении"
+
+#: utils/misc/guc.c:4620
 #, c-format
 msgid "permission denied to perform ALTER SYSTEM RESET ALL"
 msgstr "нет прав для выполнения ALTER SYSTEM RESET ALL"
 
-#: utils/misc/guc.c:4571
+#: utils/misc/guc.c:4699
 #, c-format
 msgid "parameter value for ALTER SYSTEM must not contain a newline"
 msgstr "значение параметра для ALTER SYSTEM не должно быть многострочным"
 
-#: utils/misc/guc.c:4617
+#: utils/misc/guc.c:4744
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "не удалось разобрать содержимое файла \"%s\""
 
-#: utils/misc/guc.c:4799
+#: utils/misc/guc.c:4926
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "попытка переопределить параметр \"%s\""
 
-#: utils/misc/guc.c:5138
+#: utils/misc/guc.c:5265
 #, c-format
 msgid "invalid configuration parameter name \"%s\", removing it"
 msgstr "неверное имя параметра конфигурации: \"%s\", он удаляется"
 
-#: utils/misc/guc.c:5140
+#: utils/misc/guc.c:5267
 #, c-format
 msgid "\"%s\" is now a reserved prefix."
 msgstr "Теперь \"%s\" — зарезервированный префикс."
 
-#: utils/misc/guc.c:6017
+#: utils/misc/guc.c:6144
 #, c-format
 msgid "while setting parameter \"%s\" to \"%s\""
 msgstr "при назначении параметру \"%s\" значения \"%s\""
 
-#: utils/misc/guc.c:6186
+#: utils/misc/guc.c:6313
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "параметр \"%s\" нельзя установить"
 
-#: utils/misc/guc.c:6276
+#: utils/misc/guc.c:6403
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "не удалось разобрать значение параметра \"%s\""
 
-#: utils/misc/guc.c:6695
+#: utils/misc/guc.c:6853
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "неверное значение параметра \"%s\": %g"
 
+#: utils/misc/guc_funcs.c:54
+#, c-format
+msgid "cannot set parameters during a parallel operation"
+msgstr "устанавливать параметры во время параллельных операций нельзя"
+
 #: utils/misc/guc_funcs.c:130
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
@@ -30326,59 +31685,59 @@ msgstr "SET %s принимает только один аргумент"
 msgid "SET requires parameter name"
 msgstr "SET требует имя параметра"
 
-#: utils/misc/guc_tables.c:662
+#: utils/misc/guc_tables.c:676
 msgid "Ungrouped"
 msgstr "Разное"
 
-#: utils/misc/guc_tables.c:664
+#: utils/misc/guc_tables.c:677
 msgid "File Locations"
 msgstr "Расположения файлов"
 
-#: utils/misc/guc_tables.c:666
+#: utils/misc/guc_tables.c:678
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Подключения и аутентификация / Параметры подключений"
 
-#: utils/misc/guc_tables.c:668
+#: utils/misc/guc_tables.c:679
 msgid "Connections and Authentication / TCP Settings"
 msgstr "Подключения и аутентификация / Параметры TCP"
 
-#: utils/misc/guc_tables.c:670
+#: utils/misc/guc_tables.c:680
 msgid "Connections and Authentication / Authentication"
 msgstr "Подключения и аутентификация / Аутентификация"
 
-#: utils/misc/guc_tables.c:672
+#: utils/misc/guc_tables.c:681
 msgid "Connections and Authentication / SSL"
 msgstr "Подключения и аутентификация / SSL"
 
-#: utils/misc/guc_tables.c:674
+#: utils/misc/guc_tables.c:682
 msgid "Resource Usage / Memory"
 msgstr "Использование ресурсов / Память"
 
-#: utils/misc/guc_tables.c:676
+#: utils/misc/guc_tables.c:683
 msgid "Resource Usage / Disk"
 msgstr "Использование ресурсов / Диск"
 
-#: utils/misc/guc_tables.c:678
+#: utils/misc/guc_tables.c:684
 msgid "Resource Usage / Kernel Resources"
 msgstr "Использование ресурсов / Ресурсы ядра"
 
-#: utils/misc/guc_tables.c:680
+#: utils/misc/guc_tables.c:685
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Использование ресурсов / Задержка очистки по стоимости"
 
-#: utils/misc/guc_tables.c:682
+#: utils/misc/guc_tables.c:686
 msgid "Resource Usage / Background Writer"
 msgstr "Использование ресурсов / Фоновая запись"
 
-#: utils/misc/guc_tables.c:684
+#: utils/misc/guc_tables.c:687
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Использование ресурсов / Асинхронное поведение"
 
-#: utils/misc/guc_tables.c:686
+#: utils/misc/guc_tables.c:688
 msgid "Write-Ahead Log / Settings"
 msgstr "Журнал WAL / Параметры"
 
-#: utils/misc/guc_tables.c:688
+#: utils/misc/guc_tables.c:689
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Журнал WAL / Контрольные точки"
 
@@ -30386,210 +31745,214 @@ msgstr "Журнал WAL / Контрольные точки"
 msgid "Write-Ahead Log / Archiving"
 msgstr "Журнал WAL / Архивация"
 
-#: utils/misc/guc_tables.c:692
+#: utils/misc/guc_tables.c:691
 msgid "Write-Ahead Log / Recovery"
 msgstr "Журнал WAL / Восстановление"
 
-#: utils/misc/guc_tables.c:694
+#: utils/misc/guc_tables.c:692
 msgid "Write-Ahead Log / Archive Recovery"
 msgstr "Журнал WAL / Восстановление из архива"
 
-#: utils/misc/guc_tables.c:696
+#: utils/misc/guc_tables.c:693
 msgid "Write-Ahead Log / Recovery Target"
 msgstr "Журнал WAL / Цель восстановления"
 
-#: utils/misc/guc_tables.c:698
+#: utils/misc/guc_tables.c:694
+msgid "Write-Ahead Log / Summarization"
+msgstr "Журнал WAL / Обобщение"
+
+#: utils/misc/guc_tables.c:695
 msgid "Replication / Sending Servers"
 msgstr "Репликация / Передающие серверы"
 
-#: utils/misc/guc_tables.c:700
+#: utils/misc/guc_tables.c:696
 msgid "Replication / Primary Server"
 msgstr "Репликация / Ведущий сервер"
 
-#: utils/misc/guc_tables.c:702
+#: utils/misc/guc_tables.c:697
 msgid "Replication / Standby Servers"
 msgstr "Репликация / Резервные серверы"
 
-#: utils/misc/guc_tables.c:704
+#: utils/misc/guc_tables.c:698
 msgid "Replication / Subscribers"
 msgstr "Репликация / Подписчики"
 
-#: utils/misc/guc_tables.c:706
+#: utils/misc/guc_tables.c:699
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Настройка запросов / Конфигурация методов планировщика"
 
-#: utils/misc/guc_tables.c:708
+#: utils/misc/guc_tables.c:700
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Настройка запросов / Константы стоимости для планировщика"
 
-#: utils/misc/guc_tables.c:710
+#: utils/misc/guc_tables.c:701
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Настройка запросов / Генетический оптимизатор запросов"
 
-#: utils/misc/guc_tables.c:712
+#: utils/misc/guc_tables.c:702
 msgid "Query Tuning / Other Planner Options"
 msgstr "Настройка запросов / Другие параметры планировщика"
 
-#: utils/misc/guc_tables.c:714
+#: utils/misc/guc_tables.c:703
 msgid "Reporting and Logging / Where to Log"
 msgstr "Отчёты и протоколы / Куда записывать"
 
-#: utils/misc/guc_tables.c:716
+#: utils/misc/guc_tables.c:704
 msgid "Reporting and Logging / When to Log"
 msgstr "Отчёты и протоколы / Когда записывать"
 
-#: utils/misc/guc_tables.c:718
+#: utils/misc/guc_tables.c:705
 msgid "Reporting and Logging / What to Log"
 msgstr "Отчёты и протоколы / Что записывать"
 
-#: utils/misc/guc_tables.c:720
+#: utils/misc/guc_tables.c:706
 msgid "Reporting and Logging / Process Title"
 msgstr "Отчёты и протоколы / Заголовок процесса"
 
-#: utils/misc/guc_tables.c:722
+#: utils/misc/guc_tables.c:707
 msgid "Statistics / Monitoring"
 msgstr "Статистика / Мониторинг"
 
-#: utils/misc/guc_tables.c:724
+#: utils/misc/guc_tables.c:708
 msgid "Statistics / Cumulative Query and Index Statistics"
 msgstr "Статистика / Накопительная статистика по запросам и индексам"
 
-#: utils/misc/guc_tables.c:726
+#: utils/misc/guc_tables.c:709
 msgid "Autovacuum"
 msgstr "Автоочистка"
 
-#: utils/misc/guc_tables.c:728
+#: utils/misc/guc_tables.c:710
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Параметры клиентских подключений по умолчанию / Поведение команд"
 
-#: utils/misc/guc_tables.c:730
+#: utils/misc/guc_tables.c:711
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr ""
 "Параметры клиентских подключений по умолчанию / Языковая среда и форматы"
 
-#: utils/misc/guc_tables.c:732
+#: utils/misc/guc_tables.c:712
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr ""
 "Параметры клиентских подключений по умолчанию / Предзагрузка разделяемых "
 "библиотек"
 
-#: utils/misc/guc_tables.c:734
+#: utils/misc/guc_tables.c:713
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Параметры клиентских подключений по умолчанию / Другие параметры"
 
-#: utils/misc/guc_tables.c:736
+#: utils/misc/guc_tables.c:714
 msgid "Lock Management"
 msgstr "Управление блокировками"
 
-#: utils/misc/guc_tables.c:738
+#: utils/misc/guc_tables.c:715
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Версия и совместимость платформ / Предыдущие версии PostgreSQL"
 
-#: utils/misc/guc_tables.c:740
+#: utils/misc/guc_tables.c:716
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Версия и совместимость платформ / Другие платформы и клиенты"
 
-#: utils/misc/guc_tables.c:742
+#: utils/misc/guc_tables.c:717
 msgid "Error Handling"
 msgstr "Обработка ошибок"
 
-#: utils/misc/guc_tables.c:744
+#: utils/misc/guc_tables.c:718
 msgid "Preset Options"
 msgstr "Предопределённые параметры"
 
-#: utils/misc/guc_tables.c:746
+#: utils/misc/guc_tables.c:719
 msgid "Customized Options"
 msgstr "Внесистемные параметры"
 
-#: utils/misc/guc_tables.c:748
+#: utils/misc/guc_tables.c:720
 msgid "Developer Options"
 msgstr "Параметры для разработчиков"
 
-#: utils/misc/guc_tables.c:805
+#: utils/misc/guc_tables.c:775
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr ""
 "Разрешает планировщику использовать планы последовательного сканирования."
 
-#: utils/misc/guc_tables.c:815
+#: utils/misc/guc_tables.c:785
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования по индексу."
 
-#: utils/misc/guc_tables.c:825
+#: utils/misc/guc_tables.c:795
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования только индекса."
 
-#: utils/misc/guc_tables.c:835
+#: utils/misc/guc_tables.c:805
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr ""
 "Разрешает планировщику использовать планы сканирования по битовой карте."
 
-#: utils/misc/guc_tables.c:845
+#: utils/misc/guc_tables.c:815
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования TID."
 
-#: utils/misc/guc_tables.c:855
+#: utils/misc/guc_tables.c:825
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Разрешает планировщику использовать шаги с явной сортировкой."
 
-#: utils/misc/guc_tables.c:865
+#: utils/misc/guc_tables.c:835
 msgid "Enables the planner's use of incremental sort steps."
 msgstr ""
 "Разрешает планировщику использовать шаги с инкрементальной сортировкой."
 
-#: utils/misc/guc_tables.c:875
+#: utils/misc/guc_tables.c:845
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Разрешает планировщику использовать планы агрегирования по хешу."
 
-#: utils/misc/guc_tables.c:885
+#: utils/misc/guc_tables.c:855
 msgid "Enables the planner's use of materialization."
 msgstr "Разрешает планировщику использовать материализацию."
 
 # well-spelled: мемоизацию
-#: utils/misc/guc_tables.c:895
+#: utils/misc/guc_tables.c:865
 msgid "Enables the planner's use of memoization."
 msgstr "Разрешает планировщику использовать мемоизацию."
 
-#: utils/misc/guc_tables.c:905
+#: utils/misc/guc_tables.c:875
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr ""
 "Разрешает планировщику использовать планы соединения с вложенными циклами."
 
-#: utils/misc/guc_tables.c:915
+#: utils/misc/guc_tables.c:885
 msgid "Enables the planner's use of merge join plans."
 msgstr "Разрешает планировщику использовать планы соединения слиянием."
 
-#: utils/misc/guc_tables.c:925
+#: utils/misc/guc_tables.c:895
 msgid "Enables the planner's use of hash join plans."
 msgstr "Разрешает планировщику использовать планы соединения по хешу."
 
-#: utils/misc/guc_tables.c:935
+#: utils/misc/guc_tables.c:905
 msgid "Enables the planner's use of gather merge plans."
 msgstr "Разрешает планировщику использовать планы сбора слиянием."
 
-#: utils/misc/guc_tables.c:945
+#: utils/misc/guc_tables.c:915
 msgid "Enables partitionwise join."
 msgstr "Включает соединения с учётом секционирования."
 
-#: utils/misc/guc_tables.c:955
+#: utils/misc/guc_tables.c:925
 msgid "Enables partitionwise aggregation and grouping."
 msgstr "Включает агрегирование и группировку с учётом секционирования."
 
-#: utils/misc/guc_tables.c:965
+#: utils/misc/guc_tables.c:935
 msgid "Enables the planner's use of parallel append plans."
 msgstr "Разрешает планировщику использовать планы параллельного добавления."
 
-#: utils/misc/guc_tables.c:975
+#: utils/misc/guc_tables.c:945
 msgid "Enables the planner's use of parallel hash plans."
 msgstr ""
 "Разрешает планировщику использовать планы параллельного соединения по хешу."
 
-#: utils/misc/guc_tables.c:985
+#: utils/misc/guc_tables.c:955
 msgid "Enables plan-time and execution-time partition pruning."
 msgstr ""
 "Включает устранение секций во время планирования и во время выполнения "
 "запросов."
 
-#: utils/misc/guc_tables.c:986
+#: utils/misc/guc_tables.c:956
 msgid ""
 "Allows the query planner and executor to compare partition bounds to "
 "conditions in the query to determine which partitions must be scanned."
@@ -30597,7 +31960,7 @@ msgstr ""
 "Разрешает планировщику и исполнителю запросов сопоставлять границы секций с "
 "условиями в запросе и выделять отдельные секции для сканирования."
 
-#: utils/misc/guc_tables.c:997
+#: utils/misc/guc_tables.c:967
 msgid ""
 "Enables the planner's ability to produce plans that provide presorted input "
 "for ORDER BY / DISTINCT aggregate functions."
@@ -30605,7 +31968,7 @@ msgstr ""
 "Включает в планировщике возможность формировать планы, подающие ранее "
 "сортированные данные на вход агрегирующим функциям с ORDER BY / DISTINCT."
 
-#: utils/misc/guc_tables.c:1000
+#: utils/misc/guc_tables.c:970
 msgid ""
 "Allows the query planner to build plans that provide presorted input for "
 "aggregate functions with an ORDER BY / DISTINCT clause.  When disabled, "
@@ -30616,49 +31979,66 @@ msgstr ""
 "данные. Когда этот параметр отключён, во время выполнения всегда неявно "
 "производится сортировка."
 
-#: utils/misc/guc_tables.c:1012
+#: utils/misc/guc_tables.c:982
 msgid "Enables the planner's use of async append plans."
 msgstr "Разрешает планировщику использовать планы асинхронного добавления."
 
-#: utils/misc/guc_tables.c:1022
+#: utils/misc/guc_tables.c:992
+msgid "Enables reordering of GROUP BY keys."
+msgstr "Включает переупорядочивание ключей GROUP BY."
+
+#: utils/misc/guc_tables.c:1002
 msgid "Enables genetic query optimization."
 msgstr "Включает генетическую оптимизацию запросов."
 
-#: utils/misc/guc_tables.c:1023
+#: utils/misc/guc_tables.c:1003
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Этот алгоритм пытается построить план без полного перебора."
 
-#: utils/misc/guc_tables.c:1034
+#: utils/misc/guc_tables.c:1017
 msgid "Shows whether the current user is a superuser."
 msgstr "Показывает, является ли текущий пользователь суперпользователем."
 
-#: utils/misc/guc_tables.c:1044
+#: utils/misc/guc_tables.c:1032
+msgid "Allows running the ALTER SYSTEM command."
+msgstr "Разрешает выполнять команду ALTER SYSTEM."
+
+#: utils/misc/guc_tables.c:1033
+msgid ""
+"Can be set to off for environments where global configuration changes should "
+"be made using a different method."
+msgstr ""
+"Может быть выключен в окружениях, где изменения глобальной конфигурации "
+"должны производиться другим методом."
+
+#: utils/misc/guc_tables.c:1043
 msgid "Enables advertising the server via Bonjour."
 msgstr "Включает объявление сервера посредством Bonjour."
 
-#: utils/misc/guc_tables.c:1053
+#: utils/misc/guc_tables.c:1052
 msgid "Collects transaction commit time."
 msgstr "Записывает время фиксации транзакций."
 
-#: utils/misc/guc_tables.c:1062
+#: utils/misc/guc_tables.c:1061
 msgid "Enables SSL connections."
 msgstr "Разрешает SSL-подключения."
 
-#: utils/misc/guc_tables.c:1071
-msgid "Controls whether ssl_passphrase_command is called during server reload."
+#: utils/misc/guc_tables.c:1070
+msgid ""
+"Controls whether \"ssl_passphrase_command\" is called during server reload."
 msgstr ""
-"Определяет, будет ли вызываться ssl_passphrase_command при перезагрузке "
+"Определяет, будет ли вызываться \"ssl_passphrase_command\" при перезагрузке "
 "сервера."
 
-#: utils/misc/guc_tables.c:1080
+#: utils/misc/guc_tables.c:1079
 msgid "Give priority to server ciphersuite order."
 msgstr "Назначает более приоритетным набор шифров сервера."
 
-#: utils/misc/guc_tables.c:1089
+#: utils/misc/guc_tables.c:1088
 msgid "Forces synchronization of updates to disk."
 msgstr "Принудительная запись изменений на диск."
 
-#: utils/misc/guc_tables.c:1090
+#: utils/misc/guc_tables.c:1089
 msgid ""
 "The server will use the fsync() system call in several places to make sure "
 "that updates are physically written to disk. This ensures that a database "
@@ -30669,11 +32049,11 @@ msgstr ""
 "обеспечивающую физическую запись данных на диск. Тем самым гарантируется, "
 "что кластер БД придёт в целостное состояние после отказа ОС или оборудования."
 
-#: utils/misc/guc_tables.c:1101
+#: utils/misc/guc_tables.c:1100
 msgid "Continues processing after a checksum failure."
 msgstr "Продолжает обработку при ошибке контрольной суммы."
 
-#: utils/misc/guc_tables.c:1102
+#: utils/misc/guc_tables.c:1101
 msgid ""
 "Detection of a checksum failure normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting ignore_checksum_failure to "
@@ -30687,34 +32067,34 @@ msgstr ""
 "что может привести к сбоям или другим серьёзным проблемам. Это имеет место, "
 "только если включён контроль целостности страниц."
 
-#: utils/misc/guc_tables.c:1116
+#: utils/misc/guc_tables.c:1115
 msgid "Continues processing past damaged page headers."
 msgstr "Продолжает обработку при повреждении заголовков страниц."
 
-#: utils/misc/guc_tables.c:1117
+#: utils/misc/guc_tables.c:1116
 msgid ""
 "Detection of a damaged page header normally causes PostgreSQL to report an "
-"error, aborting the current transaction. Setting zero_damaged_pages to true "
-"causes the system to instead report a warning, zero out the damaged page, "
-"and continue processing. This behavior will destroy data, namely all the "
-"rows on the damaged page."
+"error, aborting the current transaction. Setting \"zero_damaged_pages\" to "
+"true causes the system to instead report a warning, zero out the damaged "
+"page, and continue processing. This behavior will destroy data, namely all "
+"the rows on the damaged page."
 msgstr ""
 "Обнаруживая повреждённый заголовок страницы, PostgreSQL обычно сообщает об "
-"ошибке и прерывает текущую транзакцию. Но если zero_damaged_pages равен "
+"ошибке и прерывает текущую транзакцию. Но если \"zero_damaged_pages\" равен "
 "true, система выдаст предупреждение, обнулит повреждённую страницу и "
 "продолжит работу. Это приведёт к потере данных, а именно строк в "
 "повреждённой странице."
 
-#: utils/misc/guc_tables.c:1130
+#: utils/misc/guc_tables.c:1129
 msgid "Continues recovery after an invalid pages failure."
 msgstr ""
 "Продолжает восстановление после ошибок, связанных с неправильными страницами."
 
-#: utils/misc/guc_tables.c:1131
+#: utils/misc/guc_tables.c:1130
 msgid ""
 "Detection of WAL records having references to invalid pages during recovery "
 "causes PostgreSQL to raise a PANIC-level error, aborting the recovery. "
-"Setting ignore_invalid_pages to true causes the system to ignore invalid "
+"Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid "
 "page references in WAL records (but still report a warning), and continue "
 "recovery. This behavior may cause crashes, data loss, propagate or hide "
 "corruption, or other serious problems. Only has an effect during recovery or "
@@ -30722,19 +32102,19 @@ msgid ""
 msgstr ""
 "Обнаруживая в записях WAL ссылки на неправильные страницы во время "
 "восстановления, PostgreSQL выдаёт ошибку уровня ПАНИКА и прерывает "
-"восстановление. Если ignore_invalid_pages равен true, система игнорирует "
+"восстановление. Если \"ignore_invalid_pages\" равен true, система игнорирует "
 "такие некорректные ссылки (но всё же выдаёт предупреждение) и продолжает "
 "восстановление. Это может привести к краху сервера, потере данных, "
 "распространению или сокрытию повреждения данных и другим серьёзным "
 "проблемам. Данный параметр действует только при восстановлении или в режиме "
 "резервного сервера."
 
-#: utils/misc/guc_tables.c:1149
+#: utils/misc/guc_tables.c:1148
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr ""
 "Запись полных страниц в WAL при первом изменении после контрольной точки."
 
-#: utils/misc/guc_tables.c:1150
+#: utils/misc/guc_tables.c:1149
 msgid ""
 "A page write in process during an operating system crash might be only "
 "partially written to disk.  During recovery, the row changes stored in WAL "
@@ -30747,7 +32127,7 @@ msgstr ""
 "при первом изменении после контрольной точки, что позволяет полностью "
 "восстановить данные."
 
-#: utils/misc/guc_tables.c:1163
+#: utils/misc/guc_tables.c:1162
 msgid ""
 "Writes full pages to WAL when first modified after a checkpoint, even for a "
 "non-critical modification."
@@ -30755,93 +32135,98 @@ msgstr ""
 "Запись полных страниц в WAL при первом изменении после контрольной точки, "
 "даже при некритическом изменении."
 
-#: utils/misc/guc_tables.c:1173
+#: utils/misc/guc_tables.c:1172
 msgid "Writes zeroes to new WAL files before first use."
 msgstr "Записывать нули в новые файлы WAL перед первым использованием."
 
-#: utils/misc/guc_tables.c:1183
+#: utils/misc/guc_tables.c:1182
 msgid "Recycles WAL files by renaming them."
 msgstr "Перерабатывать файлы WAL, производя переименование."
 
-#: utils/misc/guc_tables.c:1193
+#: utils/misc/guc_tables.c:1192
 msgid "Logs each checkpoint."
 msgstr "Протоколировать каждую контрольную точку."
 
-#: utils/misc/guc_tables.c:1202
+#: utils/misc/guc_tables.c:1201
 msgid "Logs each successful connection."
 msgstr "Протоколировать устанавливаемые соединения."
 
-#: utils/misc/guc_tables.c:1211
+#: utils/misc/guc_tables.c:1210
+msgid "Logs details of pre-authentication connection handshake."
+msgstr ""
+"Протоколировать сообщения об установлении соединения до аутентификации."
+
+#: utils/misc/guc_tables.c:1220
 msgid "Logs end of a session, including duration."
 msgstr "Протоколировать конец сеанса, отмечая длительность."
 
-#: utils/misc/guc_tables.c:1220
+#: utils/misc/guc_tables.c:1229
 msgid "Logs each replication command."
 msgstr "Протоколировать каждую команду репликации."
 
-#: utils/misc/guc_tables.c:1229
+#: utils/misc/guc_tables.c:1238
 msgid "Shows whether the running server has assertion checks enabled."
 msgstr "Показывает, включены ли проверки истинности на работающем сервере."
 
-#: utils/misc/guc_tables.c:1240
+#: utils/misc/guc_tables.c:1249
 msgid "Terminate session on any error."
 msgstr "Завершать сеансы при любой ошибке."
 
-#: utils/misc/guc_tables.c:1249
+#: utils/misc/guc_tables.c:1258
 msgid "Reinitialize server after backend crash."
 msgstr "Перезапускать систему БД при аварии серверного процесса."
 
-#: utils/misc/guc_tables.c:1258
+#: utils/misc/guc_tables.c:1267
 msgid "Remove temporary files after backend crash."
 msgstr "Удалять временные файлы после аварии обслуживающего процесса."
 
-#: utils/misc/guc_tables.c:1268
+#: utils/misc/guc_tables.c:1277
 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash."
 msgstr ""
 "Посылать дочерним процессам SIGABRT, а не SIGQUIT при сбое серверного "
 "процесса."
 
-#: utils/misc/guc_tables.c:1278
+#: utils/misc/guc_tables.c:1287
 msgid "Send SIGABRT not SIGKILL to stuck child processes."
 msgstr "Посылать SIGABRT, а не SIGKILL зависшим дочерним процессам."
 
-#: utils/misc/guc_tables.c:1289
+#: utils/misc/guc_tables.c:1298
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Протоколировать длительность каждого выполненного SQL-оператора."
 
-#: utils/misc/guc_tables.c:1298
+#: utils/misc/guc_tables.c:1307
 msgid "Logs each query's parse tree."
 msgstr "Протоколировать дерево разбора для каждого запроса."
 
-#: utils/misc/guc_tables.c:1307
+#: utils/misc/guc_tables.c:1316
 msgid "Logs each query's rewritten parse tree."
 msgstr "Протоколировать перезаписанное дерево разбора для каждого запроса."
 
-#: utils/misc/guc_tables.c:1316
+#: utils/misc/guc_tables.c:1325
 msgid "Logs each query's execution plan."
 msgstr "Протоколировать план выполнения каждого запроса."
 
-#: utils/misc/guc_tables.c:1325
+#: utils/misc/guc_tables.c:1334
 msgid "Indents parse and plan tree displays."
 msgstr "Отступы при отображении деревьев разбора и плана запросов."
 
-#: utils/misc/guc_tables.c:1334
+#: utils/misc/guc_tables.c:1343
 msgid "Writes parser performance statistics to the server log."
 msgstr "Запись статистики разбора запросов в протокол сервера."
 
-#: utils/misc/guc_tables.c:1343
+#: utils/misc/guc_tables.c:1352
 msgid "Writes planner performance statistics to the server log."
 msgstr "Запись статистики планирования в протокол сервера."
 
-#: utils/misc/guc_tables.c:1352
+#: utils/misc/guc_tables.c:1361
 msgid "Writes executor performance statistics to the server log."
 msgstr "Запись статистики выполнения запросов в протокол сервера."
 
-#: utils/misc/guc_tables.c:1361
+#: utils/misc/guc_tables.c:1370
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Запись общей статистики производительности в протокол сервера."
 
-#: utils/misc/guc_tables.c:1371
+#: utils/misc/guc_tables.c:1380
 msgid ""
 "Logs system resource usage statistics (memory and CPU) on various B-tree "
 "operations."
@@ -30849,11 +32234,11 @@ msgstr ""
 "Фиксировать статистику использования системных ресурсов (памяти и "
 "процессора) при различных операциях с b-деревом."
 
-#: utils/misc/guc_tables.c:1383
+#: utils/misc/guc_tables.c:1392
 msgid "Collects information about executing commands."
 msgstr "Собирает информацию о выполняющихся командах."
 
-#: utils/misc/guc_tables.c:1384
+#: utils/misc/guc_tables.c:1393
 msgid ""
 "Enables the collection of information on the currently executing command of "
 "each session, along with the time at which that command began execution."
@@ -30861,70 +32246,70 @@ msgstr ""
 "Включает сбор информации о командах, выполняющихся во всех сеансах, а также "
 "время запуска команды."
 
-#: utils/misc/guc_tables.c:1394
+#: utils/misc/guc_tables.c:1403
 msgid "Collects statistics on database activity."
 msgstr "Собирает статистику активности в БД."
 
-#: utils/misc/guc_tables.c:1403
+#: utils/misc/guc_tables.c:1412
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Собирает статистику по времени активности ввода/вывода."
 
-#: utils/misc/guc_tables.c:1412
+#: utils/misc/guc_tables.c:1421
 msgid "Collects timing statistics for WAL I/O activity."
 msgstr "Собирает статистику по времени активности ввода/вывода WAL."
 
-#: utils/misc/guc_tables.c:1422
+#: utils/misc/guc_tables.c:1431
 msgid "Updates the process title to show the active SQL command."
 msgstr "Выводит в заголовок процесса активную SQL-команду."
 
-#: utils/misc/guc_tables.c:1423
+#: utils/misc/guc_tables.c:1432
 msgid ""
 "Enables updating of the process title every time a new SQL command is "
 "received by the server."
 msgstr "Отражает в заголовке процесса каждую SQL-команду, поступающую серверу."
 
-#: utils/misc/guc_tables.c:1432
+#: utils/misc/guc_tables.c:1441
 msgid "Starts the autovacuum subprocess."
 msgstr "Запускает подпроцесс автоочистки."
 
-#: utils/misc/guc_tables.c:1442
+#: utils/misc/guc_tables.c:1451
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Генерирует отладочные сообщения для LISTEN и NOTIFY."
 
-#: utils/misc/guc_tables.c:1454
+#: utils/misc/guc_tables.c:1463
 msgid "Emits information about lock usage."
 msgstr "Выдавать информацию о применяемых блокировках."
 
-#: utils/misc/guc_tables.c:1464
+#: utils/misc/guc_tables.c:1473
 msgid "Emits information about user lock usage."
 msgstr "Выдавать информацию о применяемых пользовательских блокировках."
 
-#: utils/misc/guc_tables.c:1474
+#: utils/misc/guc_tables.c:1483
 msgid "Emits information about lightweight lock usage."
 msgstr "Выдавать информацию о применяемых лёгких блокировках."
 
-#: utils/misc/guc_tables.c:1484
+#: utils/misc/guc_tables.c:1493
 msgid ""
 "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr ""
 "Выводить информацию обо всех текущих блокировках в случае тайм-аута при "
 "взаимоблокировке."
 
-#: utils/misc/guc_tables.c:1496
+#: utils/misc/guc_tables.c:1505
 msgid "Logs long lock waits."
 msgstr "Протоколировать длительные ожидания в блокировках."
 
-#: utils/misc/guc_tables.c:1505
+#: utils/misc/guc_tables.c:1514
 msgid "Logs standby recovery conflict waits."
 msgstr ""
 "Протоколировать события ожидания разрешения конфликтов при восстановлении на "
 "ведомом."
 
-#: utils/misc/guc_tables.c:1514
+#: utils/misc/guc_tables.c:1523
 msgid "Logs the host name in the connection logs."
 msgstr "Записывать имя узла в протоколы подключений."
 
-#: utils/misc/guc_tables.c:1515
+#: utils/misc/guc_tables.c:1524
 msgid ""
 "By default, connection logs only show the IP address of the connecting host. "
 "If you want them to show the host name you can turn this on, but depending "
@@ -30936,11 +32321,11 @@ msgstr ""
 "параметр, но учтите, что это может значительно повлиять на "
 "производительность."
 
-#: utils/misc/guc_tables.c:1526
+#: utils/misc/guc_tables.c:1535
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Обрабатывать \"expr=NULL\" как \"expr IS NULL\"."
 
-#: utils/misc/guc_tables.c:1527
+#: utils/misc/guc_tables.c:1536
 msgid ""
 "When turned on, expressions of the form expr = NULL (or NULL = expr) are "
 "treated as expr IS NULL, that is, they return true if expr evaluates to the "
@@ -30952,10 +32337,6 @@ msgstr ""
 "совпадает с NULL, и false в противном случае. По правилам expr = NULL всегда "
 "должно возвращать null (неопределённость)."
 
-#: utils/misc/guc_tables.c:1539
-msgid "Enables per-database user names."
-msgstr "Включает связывание имён пользователей с базами данных."
-
 #: utils/misc/guc_tables.c:1548
 msgid "Sets the default read-only status of new transactions."
 msgstr ""
@@ -31071,11 +32452,17 @@ msgid "Sets whether to include or exclude transaction with recovery target."
 msgstr "Определяет, включать ли транзакцию в целевую точку восстановления."
 
 #: utils/misc/guc_tables.c:1778
+msgid "Starts the WAL summarizer process to enable incremental backup."
+msgstr ""
+"Запускает процесс обобщения WAL, необходимый для инкрементального "
+"копирования."
+
+#: utils/misc/guc_tables.c:1788
 msgid "Allows connections and queries during recovery."
 msgstr ""
 "Разрешает принимать новые подключения и запросы в процессе восстановления."
 
-#: utils/misc/guc_tables.c:1788
+#: utils/misc/guc_tables.c:1798
 msgid ""
 "Allows feedback from a hot standby to the primary that will avoid query "
 "conflicts."
@@ -31083,19 +32470,19 @@ msgstr ""
 "Разрешает обратную связь сервера горячего резерва с основным для "
 "предотвращения конфликтов при длительных запросах."
 
-#: utils/misc/guc_tables.c:1798
+#: utils/misc/guc_tables.c:1808
 msgid "Shows whether hot standby is currently active."
 msgstr "Показывает, активен ли в настоящий момент режим горячего резерва."
 
-#: utils/misc/guc_tables.c:1809
+#: utils/misc/guc_tables.c:1819
 msgid "Allows modifications of the structure of system tables."
 msgstr "Разрешает модифицировать структуру системных таблиц."
 
-#: utils/misc/guc_tables.c:1820
+#: utils/misc/guc_tables.c:1830
 msgid "Disables reading from system indexes."
 msgstr "Запрещает использование системных индексов."
 
-#: utils/misc/guc_tables.c:1821
+#: utils/misc/guc_tables.c:1831
 msgid ""
 "It does not prevent updating the indexes, so it is safe to use.  The worst "
 "consequence is slowness."
@@ -31103,20 +32490,20 @@ msgstr ""
 "При этом индексы продолжают обновляться, так что данное поведение безопасно. "
 "Худшее следствие - замедление."
 
-#: utils/misc/guc_tables.c:1832
+#: utils/misc/guc_tables.c:1842
 msgid "Allows tablespaces directly inside pg_tblspc, for testing."
 msgstr ""
 "Позволяет размещать табличные пространства внутри pg_tblspc; предназначается "
 "для тестирования."
 
-#: utils/misc/guc_tables.c:1843
+#: utils/misc/guc_tables.c:1853
 msgid ""
 "Enables backward compatibility mode for privilege checks on large objects."
 msgstr ""
 "Включает режим обратной совместимости при проверке привилегий для больших "
 "объектов."
 
-#: utils/misc/guc_tables.c:1844
+#: utils/misc/guc_tables.c:1854
 msgid ""
 "Skips privilege checks when reading or modifying large objects, for "
 "compatibility with PostgreSQL releases prior to 9.0."
@@ -31124,66 +32511,66 @@ msgstr ""
 "Пропускает проверки привилегий при чтении или изменении больших объектов "
 "(для совместимости с версиями PostgreSQL до 9.0)."
 
-#: utils/misc/guc_tables.c:1854
+#: utils/misc/guc_tables.c:1864
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr ""
 "Генерируя SQL-фрагменты, заключать все идентификаторы в двойные кавычки."
 
-#: utils/misc/guc_tables.c:1864
+#: utils/misc/guc_tables.c:1874
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Показывает, включён ли в этом кластере контроль целостности данных."
 
-#: utils/misc/guc_tables.c:1875
+#: utils/misc/guc_tables.c:1885
 msgid "Add sequence number to syslog messages to avoid duplicate suppression."
 msgstr ""
 "Добавлять последовательный номер в сообщения syslog во избежание подавления "
 "повторов."
 
-#: utils/misc/guc_tables.c:1885
+#: utils/misc/guc_tables.c:1895
 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
 msgstr ""
 "Разбивать сообщения, передаваемые в syslog, по строкам размером не больше "
 "1024 байт."
 
-#: utils/misc/guc_tables.c:1895
+#: utils/misc/guc_tables.c:1905
 msgid "Controls whether Gather and Gather Merge also run subplans."
 msgstr ""
 "Определяет, будут ли узлы сбора и сбора слиянием также выполнять подпланы."
 
-#: utils/misc/guc_tables.c:1896
+#: utils/misc/guc_tables.c:1906
 msgid "Should gather nodes also run subplans or just gather tuples?"
 msgstr ""
 "Должны ли узлы сбора также выполнять подпланы или только собирать кортежи?"
 
-#: utils/misc/guc_tables.c:1906
+#: utils/misc/guc_tables.c:1916
 msgid "Allow JIT compilation."
 msgstr "Включить JIT-компиляцию."
 
-#: utils/misc/guc_tables.c:1917
+#: utils/misc/guc_tables.c:1927
 msgid "Register JIT-compiled functions with debugger."
 msgstr "Регистрировать JIT-скомпилированные функции в отладчике."
 
-#: utils/misc/guc_tables.c:1934
+#: utils/misc/guc_tables.c:1944
 msgid "Write out LLVM bitcode to facilitate JIT debugging."
 msgstr "Выводить битовый код LLVM для облегчения отладки JIT."
 
-#: utils/misc/guc_tables.c:1945
+#: utils/misc/guc_tables.c:1955
 msgid "Allow JIT compilation of expressions."
 msgstr "Включить JIT-компиляцию выражений."
 
-#: utils/misc/guc_tables.c:1956
+#: utils/misc/guc_tables.c:1966
 msgid "Register JIT-compiled functions with perf profiler."
 msgstr "Регистрировать JIT-компилируемые функции в профилировщике perf."
 
-#: utils/misc/guc_tables.c:1973
+#: utils/misc/guc_tables.c:1983
 msgid "Allow JIT compilation of tuple deforming."
 msgstr "Разрешить JIT-компиляцию кода преобразования кортежей."
 
-#: utils/misc/guc_tables.c:1984
+#: utils/misc/guc_tables.c:1994
 msgid "Whether to continue running after a failure to sync data files."
 msgstr "Продолжать работу после ошибки при сохранении файлов данных на диске."
 
-#: utils/misc/guc_tables.c:1993
+#: utils/misc/guc_tables.c:2003
 msgid ""
 "Sets whether a WAL receiver should create a temporary replication slot if no "
 "permanent slot is configured."
@@ -31191,28 +32578,46 @@ msgstr ""
 "Определяет, должен ли приёмник WAL создавать временный слот репликации, если "
 "не настроен постоянный слот."
 
-#: utils/misc/guc_tables.c:2011
+#: utils/misc/guc_tables.c:2012
+msgid "Enables event triggers."
+msgstr "Включает событийные триггеры."
+
+#: utils/misc/guc_tables.c:2013
+msgid "When enabled, event triggers will fire for all applicable statements."
+msgstr ""
+"При включении событийные триггеры будут срабатывать для всех операторов, для "
+"которых применимы."
+
+#: utils/misc/guc_tables.c:2022
+msgid ""
+"Enables a physical standby to synchronize logical failover replication slots "
+"from the primary server."
+msgstr ""
+"Позволяет физической реплике синхронизировать переносимые слоты логической "
+"репликации с ведущего сервера."
+
+#: utils/misc/guc_tables.c:2040
 msgid ""
 "Sets the amount of time to wait before forcing a switch to the next WAL file."
 msgstr ""
 "Задаёт время задержки перед принудительным переключением на следующий файл "
 "WAL."
 
-#: utils/misc/guc_tables.c:2022
+#: utils/misc/guc_tables.c:2051
 msgid ""
 "Sets the amount of time to wait after authentication on connection startup."
 msgstr ""
 "Задаёт время ожидания после аутентификации при установлении соединения."
 
-#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658
+#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780
 msgid "This allows attaching a debugger to the process."
 msgstr "Это позволяет подключить к процессу отладчик."
 
-#: utils/misc/guc_tables.c:2033
+#: utils/misc/guc_tables.c:2062
 msgid "Sets the default statistics target."
 msgstr "Устанавливает ориентир статистики по умолчанию."
 
-#: utils/misc/guc_tables.c:2034
+#: utils/misc/guc_tables.c:2063
 msgid ""
 "This applies to table columns that have not had a column-specific target set "
 "via ALTER TABLE SET STATISTICS."
@@ -31220,13 +32625,13 @@ msgstr ""
 "Это значение распространяется на столбцы таблицы, для которых ориентир "
 "статистики не задан явно через ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc_tables.c:2043
+#: utils/misc/guc_tables.c:2072
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого подзапросы не "
 "сворачиваются."
 
-#: utils/misc/guc_tables.c:2045
+#: utils/misc/guc_tables.c:2074
 msgid ""
 "The planner will merge subqueries into upper queries if the resulting FROM "
 "list would have no more than this many items."
@@ -31234,13 +32639,13 @@ msgstr ""
 "Планировщик объединит вложенные запросы с внешними, если в полученном списке "
 "FROM будет не больше заданного числа элементов."
 
-#: utils/misc/guc_tables.c:2056
+#: utils/misc/guc_tables.c:2085
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого конструкции JOIN "
 "сохраняются."
 
-#: utils/misc/guc_tables.c:2058
+#: utils/misc/guc_tables.c:2087
 msgid ""
 "The planner will flatten explicit JOIN constructs into lists of FROM items "
 "whenever a list of no more than this many items would result."
@@ -31248,34 +32653,34 @@ msgstr ""
 "Планировщик будет сносить явные конструкции JOIN в списки FROM, пока в "
 "результирующем списке не больше заданного числа элементов."
 
-#: utils/misc/guc_tables.c:2069
+#: utils/misc/guc_tables.c:2098
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого применяется GEQO."
 
-#: utils/misc/guc_tables.c:2079
+#: utils/misc/guc_tables.c:2108
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr ""
 "GEQO: оценка усилий для планирования, задающая значения по умолчанию для "
 "других параметров GEQO."
 
-#: utils/misc/guc_tables.c:2089
+#: utils/misc/guc_tables.c:2118
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: число особей в популяции."
 
-#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100
+#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129
 msgid "Zero selects a suitable default value."
 msgstr "При нуле выбирается подходящее значение по умолчанию."
 
-#: utils/misc/guc_tables.c:2099
+#: utils/misc/guc_tables.c:2128
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: число итераций алгоритма."
 
-#: utils/misc/guc_tables.c:2111
+#: utils/misc/guc_tables.c:2140
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Задаёт интервал ожидания в блокировке до проверки на взаимоблокировку."
 
-#: utils/misc/guc_tables.c:2122
+#: utils/misc/guc_tables.c:2151
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing archived WAL data."
@@ -31283,7 +32688,7 @@ msgstr ""
 "Задаёт максимальную задержку до отмены запроса, когда сервер горячего "
 "резерва обрабатывает данные WAL из архива."
 
-#: utils/misc/guc_tables.c:2133
+#: utils/misc/guc_tables.c:2162
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing streamed WAL data."
@@ -31291,13 +32696,13 @@ msgstr ""
 "Задаёт максимальную задержку до отмены запроса, когда сервер горячего "
 "резерва обрабатывает данные WAL из потока."
 
-#: utils/misc/guc_tables.c:2144
+#: utils/misc/guc_tables.c:2173
 msgid "Sets the minimum delay for applying changes during recovery."
 msgstr ""
 "Задаёт минимальную задержку для применения изменений в процессе "
 "восстановления."
 
-#: utils/misc/guc_tables.c:2155
+#: utils/misc/guc_tables.c:2184
 msgid ""
 "Sets the maximum interval between WAL receiver status reports to the sending "
 "server."
@@ -31305,21 +32710,21 @@ msgstr ""
 "Задаёт максимальный интервал между отчётами о состоянии приёмника WAL, "
 "отправляемыми передающему серверу."
 
-#: utils/misc/guc_tables.c:2166
+#: utils/misc/guc_tables.c:2195
 msgid "Sets the maximum wait time to receive data from the sending server."
 msgstr ""
 "Задаёт предельное время ожидания для получения данных от передающего сервера."
 
-#: utils/misc/guc_tables.c:2177
+#: utils/misc/guc_tables.c:2206
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Задаёт максимально возможное число подключений."
 
-#: utils/misc/guc_tables.c:2188
+#: utils/misc/guc_tables.c:2217
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr ""
 "Определяет, сколько слотов подключений забронировано для суперпользователей."
 
-#: utils/misc/guc_tables.c:2198
+#: utils/misc/guc_tables.c:2227
 msgid ""
 "Sets the number of connection slots reserved for roles with privileges of "
 "pg_use_reserved_connections."
@@ -31327,19 +32732,19 @@ msgstr ""
 "Определяет, сколько слотов подключений забронировано для ролей с правом "
 "pg_use_reserved_connections."
 
-#: utils/misc/guc_tables.c:2209
+#: utils/misc/guc_tables.c:2238
 msgid "Amount of dynamic shared memory reserved at startup."
 msgstr "Объём динамической разделяемой памяти, резервируемый при запуске."
 
-#: utils/misc/guc_tables.c:2224
+#: utils/misc/guc_tables.c:2253
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Задаёт количество буферов в разделяемой памяти, используемых сервером."
 
-#: utils/misc/guc_tables.c:2235
+#: utils/misc/guc_tables.c:2264
 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum."
 msgstr "Задаёт размер пула буферов для операций VACUUM, ANALYZE и автоочистки."
 
-#: utils/misc/guc_tables.c:2246
+#: utils/misc/guc_tables.c:2275
 msgid ""
 "Shows the size of the server's main shared memory area (rounded up to the "
 "nearest MB)."
@@ -31347,29 +32752,90 @@ msgstr ""
 "Показывает объём основной области общей памяти сервера (округляется до "
 "ближайшего значения в мегабайтах)."
 
-#: utils/misc/guc_tables.c:2257
+#: utils/misc/guc_tables.c:2286
 msgid "Shows the number of huge pages needed for the main shared memory area."
 msgstr ""
 "Показывает количество огромных страниц, необходимое для основной области "
 "общей памяти."
 
-#: utils/misc/guc_tables.c:2258
+#: utils/misc/guc_tables.c:2287
 msgid "-1 indicates that the value could not be determined."
 msgstr "Значение -1 показывает, что определить это количество не удалось."
 
-#: utils/misc/guc_tables.c:2268
+#: utils/misc/guc_tables.c:2297
+msgid ""
+"Sets the size of the dedicated buffer pool used for the commit timestamp "
+"cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования времени "
+"фиксации транзакций."
+
+#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353
+#: utils/misc/guc_tables.c:2364
+msgid ""
+"Specify 0 to have this value determined as a fraction of shared_buffers."
+msgstr "При значении 0 это число определяется как процент от shared_buffers."
+
+#: utils/misc/guc_tables.c:2308
+msgid ""
+"Sets the size of the dedicated buffer pool used for the MultiXact member "
+"cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования "
+"членства в MultiXact."
+
+#: utils/misc/guc_tables.c:2319
+msgid ""
+"Sets the size of the dedicated buffer pool used for the MultiXact offset "
+"cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования "
+"смещений MultiXact."
+
+#: utils/misc/guc_tables.c:2330
+msgid ""
+"Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY "
+"message cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования "
+"сообщений LISTEN/NOTIFY."
+
+#: utils/misc/guc_tables.c:2341
+msgid ""
+"Sets the size of the dedicated buffer pool used for the serializable "
+"transaction cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования "
+"сериализуемых транзакций."
+
+#: utils/misc/guc_tables.c:2352
+msgid ""
+"Sets the size of the dedicated buffer pool used for the subtransaction cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования "
+"подтранзакций."
+
+#: utils/misc/guc_tables.c:2363
+msgid ""
+"Sets the size of the dedicated buffer pool used for the transaction status "
+"cache."
+msgstr ""
+"Задаёт размер выделенного пула буферов, используемых для кеширования статуса "
+"транзакций."
+
+#: utils/misc/guc_tables.c:2374
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Задаёт предельное число временных буферов на один сеанс."
 
-#: utils/misc/guc_tables.c:2279
+#: utils/misc/guc_tables.c:2385
 msgid "Sets the TCP port the server listens on."
 msgstr "Задаёт TCP-порт для работы сервера."
 
-#: utils/misc/guc_tables.c:2289
+#: utils/misc/guc_tables.c:2395
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Задаёт права доступа для Unix-сокета."
 
-#: utils/misc/guc_tables.c:2290
+#: utils/misc/guc_tables.c:2396
 msgid ""
 "Unix-domain sockets use the usual Unix file system permission set. The "
 "parameter value is expected to be a numeric mode specification in the form "
@@ -31381,11 +32847,11 @@ msgstr ""
 "воспринимаемом системными функциями chmod и umask. (Чтобы использовать "
 "привычный восьмеричный формат, добавьте в начало ноль (0).)"
 
-#: utils/misc/guc_tables.c:2304
+#: utils/misc/guc_tables.c:2410
 msgid "Sets the file permissions for log files."
 msgstr "Задаёт права доступа к файлам протоколов."
 
-#: utils/misc/guc_tables.c:2305
+#: utils/misc/guc_tables.c:2411
 msgid ""
 "The parameter value is expected to be a numeric mode specification in the "
 "form accepted by the chmod and umask system calls. (To use the customary "
@@ -31395,11 +32861,11 @@ msgstr ""
 "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, "
 "добавьте в начало ноль (0).)"
 
-#: utils/misc/guc_tables.c:2319
+#: utils/misc/guc_tables.c:2425
 msgid "Shows the mode of the data directory."
 msgstr "Показывает режим каталога данных."
 
-#: utils/misc/guc_tables.c:2320
+#: utils/misc/guc_tables.c:2426
 msgid ""
 "The parameter value is a numeric mode specification in the form accepted by "
 "the chmod and umask system calls. (To use the customary octal format the "
@@ -31409,11 +32875,11 @@ msgstr ""
 "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, "
 "добавьте в начало ноль (0).)"
 
-#: utils/misc/guc_tables.c:2333
+#: utils/misc/guc_tables.c:2439
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Задаёт предельный объём памяти для рабочих пространств запросов."
 
-#: utils/misc/guc_tables.c:2334
+#: utils/misc/guc_tables.c:2440
 msgid ""
 "This much memory can be used by each internal sort operation and hash table "
 "before switching to temporary disk files."
@@ -31421,19 +32887,19 @@ msgstr ""
 "Такой объём памяти может использоваться каждой внутренней операцией "
 "сортировки и таблицей хешей до переключения на временные файлы на диске."
 
-#: utils/misc/guc_tables.c:2346
+#: utils/misc/guc_tables.c:2457
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Задаёт предельный объём памяти для операций по обслуживанию."
 
-#: utils/misc/guc_tables.c:2347
+#: utils/misc/guc_tables.c:2458
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Подразумеваются в частности операции VACUUM и CREATE INDEX."
 
-#: utils/misc/guc_tables.c:2357
+#: utils/misc/guc_tables.c:2468
 msgid "Sets the maximum memory to be used for logical decoding."
 msgstr "Задаёт предельный объём памяти для логического декодирования."
 
-#: utils/misc/guc_tables.c:2358
+#: utils/misc/guc_tables.c:2469
 msgid ""
 "This much memory can be used by each internal reorder buffer before spilling "
 "to disk."
@@ -31441,85 +32907,94 @@ msgstr ""
 "Такой объём памяти может использоваться каждым внутренним буфером "
 "пересортировки до вымещения данных на диск."
 
-#: utils/misc/guc_tables.c:2374
+#: utils/misc/guc_tables.c:2485
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Задаёт максимальную глубину стека (в КБ)."
 
-#: utils/misc/guc_tables.c:2385
+#: utils/misc/guc_tables.c:2496
 msgid "Limits the total size of all temporary files used by each process."
 msgstr ""
 "Ограничивает общий размер всех временных файлов, доступный для каждого "
 "процесса."
 
-#: utils/misc/guc_tables.c:2386
+#: utils/misc/guc_tables.c:2497
 msgid "-1 means no limit."
 msgstr "-1 отключает ограничение."
 
-#: utils/misc/guc_tables.c:2396
+#: utils/misc/guc_tables.c:2507
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Стоимость очистки для страницы, найденной в кеше."
 
-#: utils/misc/guc_tables.c:2406
+#: utils/misc/guc_tables.c:2517
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Стоимость очистки для страницы, не найденной в кеше."
 
-#: utils/misc/guc_tables.c:2416
+#: utils/misc/guc_tables.c:2527
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Стоимость очистки для страницы, которая не была \"грязной\"."
 
-#: utils/misc/guc_tables.c:2426
+#: utils/misc/guc_tables.c:2537
 msgid "Vacuum cost amount available before napping."
 msgstr "Суммарная стоимость очистки, при которой нужна передышка."
 
-#: utils/misc/guc_tables.c:2436
+#: utils/misc/guc_tables.c:2547
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr ""
 "Суммарная стоимость очистки, при которой нужна передышка, для автоочистки."
 
-#: utils/misc/guc_tables.c:2446
+#: utils/misc/guc_tables.c:2557
 msgid ""
 "Sets the maximum number of simultaneously open files for each server process."
 msgstr ""
 "Задаёт предельное число одновременно открытых файлов для каждого серверного "
 "процесса."
 
-#: utils/misc/guc_tables.c:2459
+#: utils/misc/guc_tables.c:2570
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Задаёт предельное число одновременно подготовленных транзакций."
 
-#: utils/misc/guc_tables.c:2470
+#: utils/misc/guc_tables.c:2581
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Задаёт минимальный OID таблиц, для которых отслеживаются блокировки."
 
-#: utils/misc/guc_tables.c:2471
+#: utils/misc/guc_tables.c:2582
 msgid "Is used to avoid output on system tables."
 msgstr "Применяется для игнорирования системных таблиц."
 
-#: utils/misc/guc_tables.c:2480
+#: utils/misc/guc_tables.c:2591
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Задаёт OID таблицы для безусловного отслеживания блокировок."
 
-#: utils/misc/guc_tables.c:2492
+#: utils/misc/guc_tables.c:2603
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Задаёт предельную длительность для любого оператора."
 
-#: utils/misc/guc_tables.c:2493 utils/misc/guc_tables.c:2504
-#: utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526
+#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615
+#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637
+#: utils/misc/guc_tables.c:2648
 msgid "A value of 0 turns off the timeout."
 msgstr "Нулевое значение отключает тайм-аут."
 
-#: utils/misc/guc_tables.c:2503
+#: utils/misc/guc_tables.c:2614
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Задаёт максимальную продолжительность ожидания блокировок."
 
-#: utils/misc/guc_tables.c:2514
+#: utils/misc/guc_tables.c:2625
 msgid ""
 "Sets the maximum allowed idle time between queries, when in a transaction."
 msgstr ""
 "Задаёт предельно допустимую длительность простоя между запросами в "
 "транзакции."
 
-#: utils/misc/guc_tables.c:2525
+#: utils/misc/guc_tables.c:2636
+msgid ""
+"Sets the maximum allowed duration of any transaction within a session (not a "
+"prepared transaction)."
+msgstr ""
+"Задаёт предельно допустимую длительность для любых транзакций в сеансе "
+"(кроме подготовленных)."
+
+#: utils/misc/guc_tables.c:2647
 msgid ""
 "Sets the maximum allowed idle time between queries, when not in a "
 "transaction."
@@ -31527,37 +33002,37 @@ msgstr ""
 "Задаёт предельно допустимую длительность простоя между запросами вне "
 "транзакций."
 
-#: utils/misc/guc_tables.c:2536
+#: utils/misc/guc_tables.c:2658
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr ""
 "Минимальный возраст строк таблицы, при котором VACUUM может их заморозить."
 
-#: utils/misc/guc_tables.c:2546
+#: utils/misc/guc_tables.c:2668
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Возраст, при котором VACUUM должен сканировать всю таблицу с целью "
 "заморозить кортежи."
 
-#: utils/misc/guc_tables.c:2556
+#: utils/misc/guc_tables.c:2678
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr ""
 "Минимальный возраст, при котором VACUUM будет замораживать MultiXactId в "
 "строке таблицы."
 
-#: utils/misc/guc_tables.c:2566
+#: utils/misc/guc_tables.c:2688
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Возраст multixact, при котором VACUUM должен сканировать всю таблицу с целью "
 "заморозить кортежи."
 
-#: utils/misc/guc_tables.c:2576
+#: utils/misc/guc_tables.c:2698
 msgid ""
 "Age at which VACUUM should trigger failsafe to avoid a wraparound outage."
 msgstr ""
 "Возраст, при котором VACUUM должен включить защиту от зацикливания во "
 "избежание отказа."
 
-#: utils/misc/guc_tables.c:2585
+#: utils/misc/guc_tables.c:2707
 msgid ""
 "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound "
 "outage."
@@ -31565,44 +33040,44 @@ msgstr ""
 "Возраст мультитранзакций, при котором VACUUM должен включить защиту от "
 "зацикливания во избежание отказа."
 
-#: utils/misc/guc_tables.c:2598
+#: utils/misc/guc_tables.c:2720
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Задаёт предельное число блокировок на транзакцию."
 
-#: utils/misc/guc_tables.c:2599
+#: utils/misc/guc_tables.c:2721
 msgid ""
 "The shared lock table is sized on the assumption that at most "
-"max_locks_per_transaction objects per server process or prepared transaction "
-"will need to be locked at any one time."
+"\"max_locks_per_transaction\" objects per server process or prepared "
+"transaction will need to be locked at any one time."
 msgstr ""
 "Размер разделяемой таблицы блокировок выбирается из предположения, что в "
 "один момент времени потребуется заблокировать не более "
-"max_locks_per_transaction объектов для одного серверного процесса или "
+"\"max_locks_per_transaction\" объектов для одного серверного процесса или "
 "подготовленной транзакции."
 
-#: utils/misc/guc_tables.c:2610
+#: utils/misc/guc_tables.c:2732
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Задаёт предельное число предикатных блокировок на транзакцию."
 
-#: utils/misc/guc_tables.c:2611
+#: utils/misc/guc_tables.c:2733
 msgid ""
 "The shared predicate lock table is sized on the assumption that at most "
-"max_pred_locks_per_transaction objects per server process or prepared "
+"\"max_pred_locks_per_transaction\" objects per server process or prepared "
 "transaction will need to be locked at any one time."
 msgstr ""
 "Размер разделяемой таблицы предикатных блокировок выбирается из "
 "предположения, что в один момент времени потребуется заблокировать не более "
-"max_pred_locks_per_transaction объектов для одного серверного процесса или "
-"подготовленной транзакции."
+"\"max_pred_locks_per_transaction\" объектов для одного серверного процесса "
+"или Ð¿Ð¾Ð´Ð³Ð¾Ñ\82овленной Ñ\82Ñ\80анзакÑ\86ии."
 
-#: utils/misc/guc_tables.c:2622
+#: utils/misc/guc_tables.c:2744
 msgid ""
 "Sets the maximum number of predicate-locked pages and tuples per relation."
 msgstr ""
 "Задаёт максимальное число страниц и кортежей, блокируемых предикатными "
 "блокировками в одном отношении."
 
-#: utils/misc/guc_tables.c:2623
+#: utils/misc/guc_tables.c:2745
 msgid ""
 "If more than this total of pages and tuples in the same relation are locked "
 "by a connection, those locks are replaced by a relation-level lock."
@@ -31610,13 +33085,13 @@ msgstr ""
 "Если одним соединением блокируется больше этого общего числа страниц и "
 "кортежей, эти блокировки заменяются блокировкой на уровне отношения."
 
-#: utils/misc/guc_tables.c:2633
+#: utils/misc/guc_tables.c:2755
 msgid "Sets the maximum number of predicate-locked tuples per page."
 msgstr ""
 "Задаёт максимальное число кортежей, блокируемых предикатными блокировками в "
 "одной странице."
 
-#: utils/misc/guc_tables.c:2634
+#: utils/misc/guc_tables.c:2756
 msgid ""
 "If more than this number of tuples on the same page are locked by a "
 "connection, those locks are replaced by a page-level lock."
@@ -31624,45 +33099,50 @@ msgstr ""
 "Если одним соединением блокируется больше этого числа кортежей на одной "
 "странице, эти блокировки заменяются блокировкой на уровне страницы."
 
-#: utils/misc/guc_tables.c:2644
+#: utils/misc/guc_tables.c:2766
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Ограничивает время, за которое клиент должен пройти аутентификацию."
 
-#: utils/misc/guc_tables.c:2656
+#: utils/misc/guc_tables.c:2778
 msgid ""
 "Sets the amount of time to wait before authentication on connection startup."
 msgstr "Задаёт время ожидания до аутентификации при установлении соединения."
 
-#: utils/misc/guc_tables.c:2668
+#: utils/misc/guc_tables.c:2790
+msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue."
+msgstr ""
+"Задаёт максимальное число страниц, выделяемых для очереди NOTIFY / LISTEN."
+
+#: utils/misc/guc_tables.c:2800
 msgid "Buffer size for reading ahead in the WAL during recovery."
 msgstr "Размер буфера для упреждающего чтения WAL во время восстановления."
 
-#: utils/misc/guc_tables.c:2669
+#: utils/misc/guc_tables.c:2801
 msgid ""
 "Maximum distance to read ahead in the WAL to prefetch referenced data blocks."
 msgstr ""
 "Максимальный объём WAL, прочитываемый наперёд для осуществления предвыборки "
 "изменяемых блоков данных."
 
-#: utils/misc/guc_tables.c:2679
+#: utils/misc/guc_tables.c:2811
 msgid "Sets the size of WAL files held for standby servers."
 msgstr ""
 "Определяет предельный объём файлов WAL, сохраняемых для резервных серверов."
 
-#: utils/misc/guc_tables.c:2690
+#: utils/misc/guc_tables.c:2822
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "Задаёт минимальный размер WAL при сжатии."
 
-#: utils/misc/guc_tables.c:2702
+#: utils/misc/guc_tables.c:2834
 msgid "Sets the WAL size that triggers a checkpoint."
 msgstr "Задаёт размер WAL, при котором инициируется контрольная точка."
 
-#: utils/misc/guc_tables.c:2714
+#: utils/misc/guc_tables.c:2846
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr ""
 "Задаёт максимальное время между автоматическими контрольными точками WAL."
 
-#: utils/misc/guc_tables.c:2725
+#: utils/misc/guc_tables.c:2857
 msgid ""
 "Sets the maximum time before warning if checkpoints triggered by WAL volume "
 "happen too frequently."
@@ -31670,7 +33150,7 @@ msgstr ""
 "Задаёт максимальный интервал, в котором выдаётся предупреждение о том, что "
 "контрольные точки, вызванные активностью WAL, происходят слишком часто."
 
-#: utils/misc/guc_tables.c:2727
+#: utils/misc/guc_tables.c:2859
 msgid ""
 "Write a message to the server log if checkpoints caused by the filling of "
 "WAL segment files happen more frequently than this amount of time. Zero "
@@ -31680,49 +33160,54 @@ msgstr ""
 "контрольными точками, вызванными заполнением файлов сегментов WAL, меньше "
 "заданного значения. Нулевое значение отключает эти предупреждения."
 
-#: utils/misc/guc_tables.c:2740 utils/misc/guc_tables.c:2958
-#: utils/misc/guc_tables.c:2998
+#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090
+#: utils/misc/guc_tables.c:3144
 msgid ""
 "Number of pages after which previously performed writes are flushed to disk."
 msgstr ""
 "Число страниц, по достижении которого ранее выполненные операции записи "
 "сбрасываются на диск."
 
-#: utils/misc/guc_tables.c:2751
+#: utils/misc/guc_tables.c:2883
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Задаёт число буферов дисковых страниц в разделяемой памяти для WAL."
 
-#: utils/misc/guc_tables.c:2762
+#: utils/misc/guc_tables.c:2884
+msgid ""
+"Specify -1 to have this value determined as a fraction of shared_buffers."
+msgstr "При значении -1 это число определяется как процент от shared_buffers."
+
+#: utils/misc/guc_tables.c:2894
 msgid "Time between WAL flushes performed in the WAL writer."
 msgstr "Задержка между сбросом WAL в процессе, записывающем WAL."
 
-#: utils/misc/guc_tables.c:2773
+#: utils/misc/guc_tables.c:2905
 msgid "Amount of WAL written out by WAL writer that triggers a flush."
 msgstr ""
 "Объём WAL, обработанный пишущим WAL процессом, при котором инициируется "
 "сброс журнала на диск."
 
-#: utils/misc/guc_tables.c:2784
+#: utils/misc/guc_tables.c:2916
 msgid "Minimum size of new file to fsync instead of writing WAL."
 msgstr ""
 "Размер нового файла, при достижении которого файл не пишется в WAL, а "
 "сбрасывается на диск."
 
-#: utils/misc/guc_tables.c:2795
+#: utils/misc/guc_tables.c:2927
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr ""
 "Задаёт предельное число одновременно работающих процессов передачи WAL."
 
-#: utils/misc/guc_tables.c:2806
+#: utils/misc/guc_tables.c:2938
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Задаёт предельное число одновременно существующих слотов репликации."
 
-#: utils/misc/guc_tables.c:2816
+#: utils/misc/guc_tables.c:2948
 msgid "Sets the maximum WAL size that can be reserved by replication slots."
 msgstr ""
 "Задаёт максимальный размер WAL, который могут резервировать слоты репликации."
 
-#: utils/misc/guc_tables.c:2817
+#: utils/misc/guc_tables.c:2949
 msgid ""
 "Replication slots will be marked as failed, and segments released for "
 "deletion or recycling, if this much space is occupied by WAL on disk."
@@ -31731,11 +33216,11 @@ msgstr ""
 "помечены как нерабочие, а сегменты будут освобождены для удаления или "
 "переработки."
 
-#: utils/misc/guc_tables.c:2829
+#: utils/misc/guc_tables.c:2961
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Задаёт предельное время ожидания репликации WAL."
 
-#: utils/misc/guc_tables.c:2840
+#: utils/misc/guc_tables.c:2972
 msgid ""
 "Sets the delay in microseconds between transaction commit and flushing WAL "
 "to disk."
@@ -31743,19 +33228,19 @@ msgstr ""
 "Задаёт задержку в микросекундах между фиксированием транзакций и сбросом WAL "
 "на диск."
 
-#: utils/misc/guc_tables.c:2852
+#: utils/misc/guc_tables.c:2984
 msgid ""
 "Sets the minimum number of concurrent open transactions required before "
-"performing commit_delay."
+"performing \"commit_delay\"."
 msgstr ""
 "Задаёт минимальное число одновременно открытых транзакций, которое требуется "
-"для применения commit_delay."
+"для применения \"commit_delay\"."
 
-#: utils/misc/guc_tables.c:2863
+#: utils/misc/guc_tables.c:2995
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Задаёт число выводимых цифр для чисел с плавающей точкой."
 
-#: utils/misc/guc_tables.c:2864
+#: utils/misc/guc_tables.c:2996
 msgid ""
 "This affects real, double precision, and geometric data types. A zero or "
 "negative parameter value is added to the standard number of digits (FLT_DIG "
@@ -31767,7 +33252,7 @@ msgstr ""
 "(FLT_DIG или DBL_DIG соответственно). Положительное значение включает режим "
 "точного вывода."
 
-#: utils/misc/guc_tables.c:2876
+#: utils/misc/guc_tables.c:3008
 msgid ""
 "Sets the minimum execution time above which a sample of statements will be "
 "logged. Sampling is determined by log_statement_sample_rate."
@@ -31776,22 +33261,22 @@ msgstr ""
 "которого он выводится в журнал. Выборка определяется параметром "
 "log_statement_sample_rate."
 
-#: utils/misc/guc_tables.c:2879
+#: utils/misc/guc_tables.c:3011
 msgid "Zero logs a sample of all queries. -1 turns this feature off."
 msgstr "При 0 выводятся все запросы в выборке; -1 отключает эти сообщения."
 
-#: utils/misc/guc_tables.c:2889
+#: utils/misc/guc_tables.c:3021
 msgid ""
 "Sets the minimum execution time above which all statements will be logged."
 msgstr ""
 "Задаёт предельное время выполнения любого оператора, при превышении которого "
 "он выводится в журнал."
 
-#: utils/misc/guc_tables.c:2891
+#: utils/misc/guc_tables.c:3023
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "При 0 выводятся все запросы; -1 отключает эти сообщения."
 
-#: utils/misc/guc_tables.c:2901
+#: utils/misc/guc_tables.c:3033
 msgid ""
 "Sets the minimum execution time above which autovacuum actions will be "
 "logged."
@@ -31799,12 +33284,12 @@ msgstr ""
 "Задаёт предельное время выполнения автоочистки, при превышении которого эта "
 "операция протоколируется в журнале."
 
-#: utils/misc/guc_tables.c:2903
+#: utils/misc/guc_tables.c:3035
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr ""
 "При 0 протоколируются все операции автоочистки; -1 отключает эти сообщения."
 
-#: utils/misc/guc_tables.c:2913
+#: utils/misc/guc_tables.c:3045
 msgid ""
 "Sets the maximum length in bytes of data logged for bind parameter values "
 "when logging statements."
@@ -31812,11 +33297,11 @@ msgstr ""
 "Задаёт максимальный размер данных (в байтах), выводимых в значениях "
 "привязанных параметров при протоколировании операторов."
 
-#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927
+#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059
 msgid "-1 to print values in full."
 msgstr "При -1 значения выводятся полностью."
 
-#: utils/misc/guc_tables.c:2925
+#: utils/misc/guc_tables.c:3057
 msgid ""
 "Sets the maximum length in bytes of data logged for bind parameter values "
 "when logging statements, on error."
@@ -31824,17 +33309,17 @@ msgstr ""
 "Задаёт максимальный размер данных (в байтах), выводимых в значениях "
 "привязанных параметров при протоколировании операторов в случае ошибки."
 
-#: utils/misc/guc_tables.c:2937
+#: utils/misc/guc_tables.c:3069
 msgid "Background writer sleep time between rounds."
 msgstr "Время простоя в процессе фоновой записи между подходами."
 
-#: utils/misc/guc_tables.c:2948
+#: utils/misc/guc_tables.c:3080
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr ""
 "Максимальное число LRU-страниц, сбрасываемых за один подход, в процессе "
 "фоновой записи."
 
-#: utils/misc/guc_tables.c:2971
+#: utils/misc/guc_tables.c:3103
 msgid ""
 "Number of simultaneous requests that can be handled efficiently by the disk "
 "subsystem."
@@ -31842,89 +33327,97 @@ msgstr ""
 "Число одновременных запросов, которые могут быть эффективно обработаны "
 "дисковой подсистемой."
 
-#: utils/misc/guc_tables.c:2985
+#: utils/misc/guc_tables.c:3117
 msgid ""
-"A variant of effective_io_concurrency that is used for maintenance work."
+"A variant of \"effective_io_concurrency\" that is used for maintenance work."
 msgstr ""
-"Вариация параметра effective_io_concurrency, предназначенная для операций "
-"обслуживания БД."
+"Вариация параметра \"effective_io_concurrency\", предназначенная для "
+"опеÑ\80аÑ\86ий Ð¾Ð±Ñ\81лÑ\83живаниÑ\8f Ð\91Ð\94."
 
-#: utils/misc/guc_tables.c:3011
+#: utils/misc/guc_tables.c:3132
+msgid "Limit on the size of data reads and writes."
+msgstr "Предельный размер для операций чтения и записи данных."
+
+#: utils/misc/guc_tables.c:3157
 msgid "Maximum number of concurrent worker processes."
 msgstr "Задаёт максимально возможное число рабочих процессов."
 
-#: utils/misc/guc_tables.c:3023
+#: utils/misc/guc_tables.c:3169
 msgid "Maximum number of logical replication worker processes."
 msgstr ""
 "Задаёт максимально возможное число рабочих процессов логической репликации."
 
-#: utils/misc/guc_tables.c:3035
+#: utils/misc/guc_tables.c:3181
 msgid "Maximum number of table synchronization workers per subscription."
 msgstr ""
 "Задаёт максимально возможное число процессов синхронизации таблиц для одной "
 "подписки."
 
-#: utils/misc/guc_tables.c:3047
+#: utils/misc/guc_tables.c:3193
 msgid "Maximum number of parallel apply workers per subscription."
 msgstr ""
 "Задаёт максимально возможное число параллельных применяющих процессов для "
 "одной подписки."
 
-#: utils/misc/guc_tables.c:3057
+#: utils/misc/guc_tables.c:3203
 msgid "Sets the amount of time to wait before forcing log file rotation."
 msgstr ""
 "Задаёт время задержки перед принудительным переключением на следующий файл "
 "журнала."
 
-#: utils/misc/guc_tables.c:3069
+#: utils/misc/guc_tables.c:3215
 msgid "Sets the maximum size a log file can reach before being rotated."
 msgstr ""
 "Задаёт максимальный размер, которого может достичь файл журнала до "
 "переключения на другой файл."
 
-#: utils/misc/guc_tables.c:3081
+#: utils/misc/guc_tables.c:3227
 msgid "Shows the maximum number of function arguments."
 msgstr "Показывает максимально возможное число аргументов функций."
 
-#: utils/misc/guc_tables.c:3092
+#: utils/misc/guc_tables.c:3238
 msgid "Shows the maximum number of index keys."
 msgstr "Показывает максимально возможное число ключей в индексе."
 
-#: utils/misc/guc_tables.c:3103
+#: utils/misc/guc_tables.c:3249
 msgid "Shows the maximum identifier length."
 msgstr "Показывает максимально возможную длину идентификатора."
 
-#: utils/misc/guc_tables.c:3114
+#: utils/misc/guc_tables.c:3260
 msgid "Shows the size of a disk block."
 msgstr "Показывает размер дискового блока."
 
-#: utils/misc/guc_tables.c:3125
+#: utils/misc/guc_tables.c:3271
 msgid "Shows the number of pages per disk file."
 msgstr "Показывает число страниц в одном файле."
 
-#: utils/misc/guc_tables.c:3136
+#: utils/misc/guc_tables.c:3282
 msgid "Shows the block size in the write ahead log."
 msgstr "Показывает размер блока в журнале WAL."
 
-#: utils/misc/guc_tables.c:3147
+#: utils/misc/guc_tables.c:3293
 msgid ""
 "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr ""
 "Задаёт время задержки перед повторной попыткой обращения к WAL после неудачи."
 
-#: utils/misc/guc_tables.c:3159
+#: utils/misc/guc_tables.c:3305
 msgid "Shows the size of write ahead log segments."
 msgstr "Показывает размер сегментов журнала предзаписи."
 
-#: utils/misc/guc_tables.c:3172
+#: utils/misc/guc_tables.c:3318
+msgid "Time for which WAL summary files should be kept."
+msgstr "Время, в течение которого должны сохраняться файлы обобщения WAL."
+
+#: utils/misc/guc_tables.c:3331
 msgid "Time to sleep between autovacuum runs."
 msgstr "Время простоя между запусками автоочистки."
 
-#: utils/misc/guc_tables.c:3182
+#: utils/misc/guc_tables.c:3341
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Минимальное число изменений или удалений кортежей, вызывающее очистку."
 
-#: utils/misc/guc_tables.c:3191
+#: utils/misc/guc_tables.c:3350
 msgid ""
 "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert "
 "vacuums."
@@ -31932,27 +33425,27 @@ msgstr ""
 "Минимальное число добавлений кортежей, вызывающее очистку; при -1 такая "
 "очистка отключается."
 
-#: utils/misc/guc_tables.c:3200
+#: utils/misc/guc_tables.c:3359
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr ""
 "Минимальное число добавлений, изменений или удалений кортежей, вызывающее "
 "анализ."
 
-#: utils/misc/guc_tables.c:3210
+#: utils/misc/guc_tables.c:3369
 msgid ""
 "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr ""
 "Возраст, при котором необходима автоочистка таблицы для предотвращения "
 "зацикливания ID транзакций."
 
-#: utils/misc/guc_tables.c:3222
+#: utils/misc/guc_tables.c:3381
 msgid ""
 "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr ""
 "Возраст multixact, при котором необходима автоочистка таблицы для "
 "предотвращения зацикливания multixact."
 
-#: utils/misc/guc_tables.c:3232
+#: utils/misc/guc_tables.c:3391
 msgid ""
 "Sets the maximum number of simultaneously running autovacuum worker "
 "processes."
@@ -31960,65 +33453,53 @@ msgstr ""
 "Задаёт предельное число одновременно выполняющихся рабочих процессов "
 "автоочистки."
 
-#: utils/misc/guc_tables.c:3242
+#: utils/misc/guc_tables.c:3401
 msgid ""
 "Sets the maximum number of parallel processes per maintenance operation."
 msgstr ""
 "Задаёт максимальное число параллельных процессов на одну операцию "
 "обслуживания."
 
-#: utils/misc/guc_tables.c:3252
+#: utils/misc/guc_tables.c:3411
 msgid "Sets the maximum number of parallel processes per executor node."
 msgstr "Задаёт максимальное число параллельных процессов на узел исполнителя."
 
-#: utils/misc/guc_tables.c:3263
+#: utils/misc/guc_tables.c:3422
 msgid ""
 "Sets the maximum number of parallel workers that can be active at one time."
 msgstr ""
-"Ð\97адаÑ\91Ñ\82 Ð¼Ð°ÐºÑ\81ималÑ\8cное Ñ\87иÑ\81ло Ð¿Ð°Ñ\80аллелÑ\8cнÑ\8bÑ\85 Ð¿Ñ\80оÑ\86еÑ\81Ñ\81ов, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð¼Ð¾Ð³Ñ\83Ñ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð°ÐºÑ\82ивнÑ\8b "
-"одновременно."
+"Ð\97адаÑ\91Ñ\82 Ð¼Ð°ÐºÑ\81ималÑ\8cное Ñ\87иÑ\81ло Ð¿Ð°Ñ\80аллелÑ\8cнÑ\8bÑ\85 Ð¸Ñ\81полниÑ\82елей, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð¼Ð¾Ð³Ñ\83Ñ\82 Ð±Ñ\8bÑ\82Ñ\8c "
+"акÑ\82ивнÑ\8b Ð¾Ð´Ð½Ð¾Ð²Ñ\80еменно."
 
-#: utils/misc/guc_tables.c:3274
+#: utils/misc/guc_tables.c:3433
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr ""
 "Задаёт предельный объём памяти для каждого рабочего процесса автоочистки."
 
-#: utils/misc/guc_tables.c:3285
-msgid ""
-"Time before a snapshot is too old to read pages changed after the snapshot "
-"was taken."
-msgstr ""
-"Срок, по истечении которого снимок считается слишком старым для получения "
-"страниц, изменённых после создания снимка."
-
-#: utils/misc/guc_tables.c:3286
-msgid "A value of -1 disables this feature."
-msgstr "Значение -1 отключает это поведение."
-
-#: utils/misc/guc_tables.c:3296
+#: utils/misc/guc_tables.c:3444
 msgid "Time between issuing TCP keepalives."
 msgstr "Интервал между TCP-пакетами пульса (keep-alive)."
 
-#: utils/misc/guc_tables.c:3297 utils/misc/guc_tables.c:3308
-#: utils/misc/guc_tables.c:3432
+#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456
+#: utils/misc/guc_tables.c:3580
 msgid "A value of 0 uses the system default."
 msgstr "При нулевом значении действует системный параметр."
 
-#: utils/misc/guc_tables.c:3307
+#: utils/misc/guc_tables.c:3455
 msgid "Time between TCP keepalive retransmits."
 msgstr "Интервал между повторениями TCP-пакетов пульса (keep-alive)."
 
-#: utils/misc/guc_tables.c:3318
+#: utils/misc/guc_tables.c:3466
 msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr ""
 "Повторное согласование SSL более не поддерживается; единственное допустимое "
 "значение - 0."
 
-#: utils/misc/guc_tables.c:3329
+#: utils/misc/guc_tables.c:3477
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Максимальное число повторений TCP-пакетов пульса (keep-alive)."
 
-#: utils/misc/guc_tables.c:3330
+#: utils/misc/guc_tables.c:3478
 msgid ""
 "Number of consecutive keepalive retransmits that can be lost before a "
 "connection is considered dead. A value of 0 uses the system default."
@@ -32027,15 +33508,15 @@ msgstr ""
 "чем соединение будет считаться пропавшим. При нулевом значении действует "
 "системный параметр."
 
-#: utils/misc/guc_tables.c:3341
+#: utils/misc/guc_tables.c:3489
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Ограничивает результат точного поиска с использованием GIN."
 
-#: utils/misc/guc_tables.c:3352
+#: utils/misc/guc_tables.c:3500
 msgid "Sets the planner's assumption about the total size of the data caches."
 msgstr "Подсказывает планировщику примерный общий размер кешей данных."
 
-#: utils/misc/guc_tables.c:3353
+#: utils/misc/guc_tables.c:3501
 msgid ""
 "That is, the total size of the caches (kernel cache and shared buffers) used "
 "for PostgreSQL data files. This is measured in disk pages, which are "
@@ -32045,12 +33526,12 @@ msgstr ""
 "попадают файлы данных PostgreSQL. Размер задаётся в дисковых страницах "
 "(обычно это 8 КБ)."
 
-#: utils/misc/guc_tables.c:3364
+#: utils/misc/guc_tables.c:3512
 msgid "Sets the minimum amount of table data for a parallel scan."
 msgstr ""
 "Задаёт минимальный объём данных в таблице для параллельного сканирования."
 
-#: utils/misc/guc_tables.c:3365
+#: utils/misc/guc_tables.c:3513
 msgid ""
 "If the planner estimates that it will read a number of table pages too small "
 "to reach this limit, a parallel scan will not be considered."
@@ -32059,12 +33540,12 @@ msgstr ""
 "задано этим ограничением, он исключает параллельное сканирование из "
 "рассмотрения."
 
-#: utils/misc/guc_tables.c:3375
+#: utils/misc/guc_tables.c:3523
 msgid "Sets the minimum amount of index data for a parallel scan."
 msgstr ""
 "Задаёт минимальный объём данных в индексе для параллельного сканирования."
 
-#: utils/misc/guc_tables.c:3376
+#: utils/misc/guc_tables.c:3524
 msgid ""
 "If the planner estimates that it will read a number of index pages too small "
 "to reach this limit, a parallel scan will not be considered."
@@ -32073,68 +33554,68 @@ msgstr ""
 "задано этим ограничением, он исключает параллельное сканирование из "
 "рассмотрения."
 
-#: utils/misc/guc_tables.c:3387
+#: utils/misc/guc_tables.c:3535
 msgid "Shows the server version as an integer."
 msgstr "Показывает версию сервера в виде целого числа."
 
-#: utils/misc/guc_tables.c:3398
+#: utils/misc/guc_tables.c:3546
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr ""
 "Фиксирует в протоколе превышение временными файлами заданного размера (в КБ)."
 
-#: utils/misc/guc_tables.c:3399
+#: utils/misc/guc_tables.c:3547
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr ""
 "При 0 отмечаются все файлы; при -1 эти сообщения отключаются (по умолчанию)."
 
-#: utils/misc/guc_tables.c:3409
+#: utils/misc/guc_tables.c:3557
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Задаёт размер, резервируемый для pg_stat_activity.query (в байтах)."
 
-#: utils/misc/guc_tables.c:3420
+#: utils/misc/guc_tables.c:3568
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "Задаёт максимальный размер списка-очереди для GIN-индекса."
 
-#: utils/misc/guc_tables.c:3431
+#: utils/misc/guc_tables.c:3579
 msgid "TCP user timeout."
 msgstr "Пользовательский таймаут TCP."
 
-#: utils/misc/guc_tables.c:3442
+#: utils/misc/guc_tables.c:3590
 msgid "The size of huge page that should be requested."
 msgstr "Запрашиваемый размер огромных страниц."
 
-#: utils/misc/guc_tables.c:3453
+#: utils/misc/guc_tables.c:3601
 msgid "Aggressively flush system caches for debugging purposes."
 msgstr "Включает агрессивный сброс системных кешей для целей отладки."
 
-#: utils/misc/guc_tables.c:3476
+#: utils/misc/guc_tables.c:3624
 msgid ""
 "Sets the time interval between checks for disconnection while running "
 "queries."
 msgstr ""
 "Задаёт интервал между проверками подключения во время выполнения запросов."
 
-#: utils/misc/guc_tables.c:3487
+#: utils/misc/guc_tables.c:3635
 msgid "Time between progress updates for long-running startup operations."
 msgstr ""
 "Интервал между обновлениями состояния длительных операций, выполняемых при "
 "запуске."
 
-#: utils/misc/guc_tables.c:3489
+#: utils/misc/guc_tables.c:3637
 msgid "0 turns this feature off."
 msgstr "При 0 эта функциональность отключается."
 
-#: utils/misc/guc_tables.c:3499
+#: utils/misc/guc_tables.c:3647
 msgid "Sets the iteration count for SCRAM secret generation."
 msgstr "Задаёт количество итераций для формирования секрета SCRAM."
 
-#: utils/misc/guc_tables.c:3519
+#: utils/misc/guc_tables.c:3667
 msgid ""
 "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr ""
 "Задаёт для планировщика ориентир стоимости последовательного чтения страницы."
 
-#: utils/misc/guc_tables.c:3530
+#: utils/misc/guc_tables.c:3678
 msgid ""
 "Sets the planner's estimate of the cost of a nonsequentially fetched disk "
 "page."
@@ -32142,13 +33623,13 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости непоследовательного чтения "
 "страницы."
 
-#: utils/misc/guc_tables.c:3541
+#: utils/misc/guc_tables.c:3689
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого кортежа "
 "(строки)."
 
-#: utils/misc/guc_tables.c:3552
+#: utils/misc/guc_tables.c:3700
 msgid ""
 "Sets the planner's estimate of the cost of processing each index entry "
 "during an index scan."
@@ -32156,7 +33637,7 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого элемента "
 "индекса в процессе сканирования индекса."
 
-#: utils/misc/guc_tables.c:3563
+#: utils/misc/guc_tables.c:3711
 msgid ""
 "Sets the planner's estimate of the cost of processing each operator or "
 "function call."
@@ -32164,7 +33645,7 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого оператора или "
 "вызова функции."
 
-#: utils/misc/guc_tables.c:3574
+#: utils/misc/guc_tables.c:3722
 msgid ""
 "Sets the planner's estimate of the cost of passing each tuple (row) from "
 "worker to leader backend."
@@ -32172,7 +33653,7 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости передачи каждого кортежа (строки) "
 "ведущему процессу от рабочего."
 
-#: utils/misc/guc_tables.c:3585
+#: utils/misc/guc_tables.c:3733
 msgid ""
 "Sets the planner's estimate of the cost of starting up worker processes for "
 "parallel query."
@@ -32180,40 +33661,40 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости запуска рабочих процессов для "
 "параллельного выполнения запроса."
 
-#: utils/misc/guc_tables.c:3597
+#: utils/misc/guc_tables.c:3745
 msgid "Perform JIT compilation if query is more expensive."
 msgstr "Стоимость запроса, при превышении которой производится JIT-компиляция."
 
-#: utils/misc/guc_tables.c:3598
+#: utils/misc/guc_tables.c:3746
 msgid "-1 disables JIT compilation."
 msgstr "-1 отключает JIT-компиляцию."
 
-#: utils/misc/guc_tables.c:3608
+#: utils/misc/guc_tables.c:3756
 msgid "Optimize JIT-compiled functions if query is more expensive."
 msgstr ""
 "Стоимость запроса, при превышении которой оптимизируются JIT-"
 "скомпилированные функции."
 
-#: utils/misc/guc_tables.c:3609
+#: utils/misc/guc_tables.c:3757
 msgid "-1 disables optimization."
 msgstr "-1 отключает оптимизацию."
 
-#: utils/misc/guc_tables.c:3619
+#: utils/misc/guc_tables.c:3767
 msgid "Perform JIT inlining if query is more expensive."
 msgstr "Стоимость запроса, при которой выполняется встраивание JIT."
 
-#: utils/misc/guc_tables.c:3620
+#: utils/misc/guc_tables.c:3768
 msgid "-1 disables inlining."
 msgstr "-1 отключает встраивание кода."
 
-#: utils/misc/guc_tables.c:3630
+#: utils/misc/guc_tables.c:3778
 msgid ""
 "Sets the planner's estimate of the fraction of a cursor's rows that will be "
 "retrieved."
 msgstr ""
 "Задаёт для планировщика ориентир доли требуемых строк курсора в общем числе."
 
-#: utils/misc/guc_tables.c:3642
+#: utils/misc/guc_tables.c:3790
 msgid ""
 "Sets the planner's estimate of the average size of a recursive query's "
 "working table."
@@ -32221,37 +33702,37 @@ msgstr ""
 "Задаёт для планировщика ориентир среднего размера рабочей таблицы в "
 "рекурсивном запросе."
 
-#: utils/misc/guc_tables.c:3654
+#: utils/misc/guc_tables.c:3802
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: селективное давление в популяции."
 
-#: utils/misc/guc_tables.c:3665
+#: utils/misc/guc_tables.c:3813
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: отправное значение для случайного выбора пути."
 
-#: utils/misc/guc_tables.c:3676
-msgid "Multiple of work_mem to use for hash tables."
-msgstr "Множитель work_mem, определяющий объём памяти для хеш-таблиц."
+#: utils/misc/guc_tables.c:3824
+msgid "Multiple of \"work_mem\" to use for hash tables."
+msgstr "Множитель \"work_mem\", определяющий объём памяти для хеш-таблиц."
 
-#: utils/misc/guc_tables.c:3687
+#: utils/misc/guc_tables.c:3835
 msgid "Multiple of the average buffer usage to free per round."
 msgstr ""
 "Множитель для среднего числа использованных буферов, определяющий число "
 "буферов, освобождаемых за один подход."
 
-#: utils/misc/guc_tables.c:3697
+#: utils/misc/guc_tables.c:3845
 msgid "Sets the seed for random-number generation."
 msgstr "Задаёт отправное значение для генератора случайных чисел."
 
-#: utils/misc/guc_tables.c:3708
+#: utils/misc/guc_tables.c:3856
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Задержка очистки (в миллисекундах)."
 
-#: utils/misc/guc_tables.c:3719
+#: utils/misc/guc_tables.c:3867
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Задержка очистки для автоочистки (в миллисекундах)."
 
-#: utils/misc/guc_tables.c:3730
+#: utils/misc/guc_tables.c:3878
 msgid ""
 "Number of tuple updates or deletes prior to vacuum as a fraction of "
 "reltuples."
@@ -32259,13 +33740,13 @@ msgstr ""
 "Отношение числа обновлений или удалений кортежей к reltuples, определяющее "
 "потребность в очистке."
 
-#: utils/misc/guc_tables.c:3740
+#: utils/misc/guc_tables.c:3888
 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples."
 msgstr ""
 "Отношение числа добавлений кортежей к reltuples, определяющее потребность в "
 "очистке."
 
-#: utils/misc/guc_tables.c:3750
+#: utils/misc/guc_tables.c:3898
 msgid ""
 "Number of tuple inserts, updates, or deletes prior to analyze as a fraction "
 "of reltuples."
@@ -32273,7 +33754,7 @@ msgstr ""
 "Отношение числа добавлений, обновлений или удалений кортежей к reltuples, "
 "определяющее потребность в анализе."
 
-#: utils/misc/guc_tables.c:3760
+#: utils/misc/guc_tables.c:3908
 msgid ""
 "Time spent flushing dirty buffers during checkpoint, as fraction of "
 "checkpoint interval."
@@ -32281,25 +33762,26 @@ msgstr ""
 "Отношение продолжительности сброса \"грязных\" буферов во время контрольной "
 "точки к интервалу контрольных точек."
 
-#: utils/misc/guc_tables.c:3770
-msgid "Fraction of statements exceeding log_min_duration_sample to be logged."
+#: utils/misc/guc_tables.c:3918
+msgid ""
+"Fraction of statements exceeding \"log_min_duration_sample\" to be logged."
 msgstr ""
 "Доля записываемых в журнал операторов с длительностью, превышающей "
-"log_min_duration_sample."
+"\"log_min_duration_sample\"."
 
-#: utils/misc/guc_tables.c:3771
+#: utils/misc/guc_tables.c:3919
 msgid "Use a value between 0.0 (never log) and 1.0 (always log)."
 msgstr ""
 "Может задаваться значением от 0.0 (не записывать никакие операторы) и 1.0 "
 "(записывать все)."
 
-#: utils/misc/guc_tables.c:3780
+#: utils/misc/guc_tables.c:3928
 msgid "Sets the fraction of transactions from which to log all statements."
 msgstr ""
 "Задаёт долю транзакций, все операторы которых будут записываться в журнал "
 "сервера."
 
-#: utils/misc/guc_tables.c:3781
+#: utils/misc/guc_tables.c:3929
 msgid ""
 "Use a value between 0.0 (never log) and 1.0 (log all statements for all "
 "transactions)."
@@ -32307,48 +33789,48 @@ msgstr ""
 "Значение 0.0 означает — не записывать никакие транзакции, а значение 1.0 — "
 "записывать все операторы всех транзакций."
 
-#: utils/misc/guc_tables.c:3800
+#: utils/misc/guc_tables.c:3948
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "Задаёт команду оболочки, вызываемую для архивации файла WAL."
 
-#: utils/misc/guc_tables.c:3801
+#: utils/misc/guc_tables.c:3949
 msgid "This is used only if \"archive_library\" is not set."
 msgstr "Это параметр используется, только если не задан \"archive_library\"."
 
-#: utils/misc/guc_tables.c:3810
+#: utils/misc/guc_tables.c:3958
 msgid "Sets the library that will be called to archive a WAL file."
 msgstr "Задаёт библиотеку, вызываемую для архивации файла WAL."
 
-#: utils/misc/guc_tables.c:3811
+#: utils/misc/guc_tables.c:3959
 msgid "An empty string indicates that \"archive_command\" should be used."
 msgstr ""
 "Пустая строка указывает, что должен использоваться параметр "
 "\"archive_command\"."
 
-#: utils/misc/guc_tables.c:3820
+#: utils/misc/guc_tables.c:3968
 msgid ""
 "Sets the shell command that will be called to retrieve an archived WAL file."
 msgstr ""
 "Задаёт команду оболочки, которая будет вызываться для извлечения из архива "
 "файла WAL."
 
-#: utils/misc/guc_tables.c:3830
+#: utils/misc/guc_tables.c:3978
 msgid "Sets the shell command that will be executed at every restart point."
 msgstr ""
 "Задаёт команду оболочки, которая будет выполняться при каждой точке "
 "перезапуска."
 
-#: utils/misc/guc_tables.c:3840
+#: utils/misc/guc_tables.c:3988
 msgid ""
 "Sets the shell command that will be executed once at the end of recovery."
 msgstr ""
 "Задаёт команду оболочки, которая будет выполняться в конце восстановления."
 
-#: utils/misc/guc_tables.c:3850
+#: utils/misc/guc_tables.c:3998
 msgid "Specifies the timeline to recover into."
 msgstr "Указывает линию времени для выполнения восстановления."
 
-#: utils/misc/guc_tables.c:3860
+#: utils/misc/guc_tables.c:4008
 msgid ""
 "Set to \"immediate\" to end recovery as soon as a consistent state is "
 "reached."
@@ -32356,24 +33838,24 @@ msgstr ""
 "Задайте значение \"immediate\", чтобы восстановление остановилось сразу "
 "после достижения согласованного состояния."
 
-#: utils/misc/guc_tables.c:3869
+#: utils/misc/guc_tables.c:4017
 msgid "Sets the transaction ID up to which recovery will proceed."
 msgstr ""
 "Задаёт идентификатор транзакции, вплоть до которой будет производиться "
 "восстановление."
 
-#: utils/misc/guc_tables.c:3878
+#: utils/misc/guc_tables.c:4026
 msgid "Sets the time stamp up to which recovery will proceed."
 msgstr ""
 "Задаёт момент времени, вплоть до которого будет производиться восстановление."
 
-#: utils/misc/guc_tables.c:3887
+#: utils/misc/guc_tables.c:4035
 msgid "Sets the named restore point up to which recovery will proceed."
 msgstr ""
 "Задаёт именованную точку восстановления, до которой будет производиться "
 "восстановление."
 
-#: utils/misc/guc_tables.c:3896
+#: utils/misc/guc_tables.c:4044
 msgid ""
 "Sets the LSN of the write-ahead log location up to which recovery will "
 "proceed."
@@ -32381,61 +33863,61 @@ msgstr ""
 "Задаёт в виде LSN позицию в журнале предзаписи, до которой будет "
 "производиться восстановление."
 
-#: utils/misc/guc_tables.c:3906
+#: utils/misc/guc_tables.c:4054
 msgid "Sets the connection string to be used to connect to the sending server."
 msgstr ""
 "Задаёт строку соединения, которая будет использоваться для подключения к "
 "передающему серверу."
 
-#: utils/misc/guc_tables.c:3917
+#: utils/misc/guc_tables.c:4065
 msgid "Sets the name of the replication slot to use on the sending server."
 msgstr ""
 "Задаёт имя слота репликации, который будет использоваться на передающем "
 "сервере."
 
-#: utils/misc/guc_tables.c:3927
+#: utils/misc/guc_tables.c:4075
 msgid "Sets the client's character set encoding."
 msgstr "Задаёт кодировку символов, используемую клиентом."
 
-#: utils/misc/guc_tables.c:3938
+#: utils/misc/guc_tables.c:4086
 msgid "Controls information prefixed to each log line."
 msgstr "Определяет содержимое префикса каждой строки протокола."
 
-#: utils/misc/guc_tables.c:3939
+#: utils/misc/guc_tables.c:4087
 msgid "If blank, no prefix is used."
 msgstr "При пустом значении префикс также отсутствует."
 
-#: utils/misc/guc_tables.c:3948
+#: utils/misc/guc_tables.c:4096
 msgid "Sets the time zone to use in log messages."
 msgstr "Задаёт часовой пояс для вывода времени в сообщениях протокола."
 
-#: utils/misc/guc_tables.c:3958
+#: utils/misc/guc_tables.c:4106
 msgid "Sets the display format for date and time values."
 msgstr "Устанавливает формат вывода дат и времени."
 
-#: utils/misc/guc_tables.c:3959
+#: utils/misc/guc_tables.c:4107
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Также помогает разбирать неоднозначно заданные вводимые даты."
 
-#: utils/misc/guc_tables.c:3970
+#: utils/misc/guc_tables.c:4118
 msgid "Sets the default table access method for new tables."
 msgstr "Задаёт табличный метод доступа по умолчанию для новых таблиц."
 
-#: utils/misc/guc_tables.c:3981
+#: utils/misc/guc_tables.c:4129
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr ""
 "Задаёт табличное пространство по умолчанию для новых таблиц и индексов."
 
-#: utils/misc/guc_tables.c:3982
+#: utils/misc/guc_tables.c:4130
 msgid "An empty string selects the database's default tablespace."
 msgstr "При пустом значении используется табличное пространство базы данных."
 
-#: utils/misc/guc_tables.c:3992
+#: utils/misc/guc_tables.c:4140
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr ""
 "Задаёт табличное пространство(а) для временных таблиц и файлов сортировки."
 
-#: utils/misc/guc_tables.c:4003
+#: utils/misc/guc_tables.c:4151
 msgid ""
 "Sets whether a CREATEROLE user automatically grants the role to themselves, "
 "and with which options."
@@ -32443,11 +33925,11 @@ msgstr ""
 "Определяет, будет ли пользователь CREATEROLE автоматически включать себя в "
 "создаваемую роль и с какими параметрами."
 
-#: utils/misc/guc_tables.c:4015
+#: utils/misc/guc_tables.c:4163
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Задаёт путь для динамически загружаемых модулей."
 
-#: utils/misc/guc_tables.c:4016
+#: utils/misc/guc_tables.c:4164
 msgid ""
 "If a dynamically loadable module needs to be opened and the specified name "
 "does not have a directory component (i.e., the name does not contain a "
@@ -32457,71 +33939,71 @@ msgstr ""
 "указан путь (нет символа '/'), система будет искать этот файл в заданном "
 "пути."
 
-#: utils/misc/guc_tables.c:4029
+#: utils/misc/guc_tables.c:4177
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Задаёт размещение файла с ключом Kerberos для данного сервера."
 
-#: utils/misc/guc_tables.c:4040
+#: utils/misc/guc_tables.c:4188
 msgid "Sets the Bonjour service name."
 msgstr "Задаёт название службы Bonjour."
 
-#: utils/misc/guc_tables.c:4050
+#: utils/misc/guc_tables.c:4198
 msgid "Sets the language in which messages are displayed."
 msgstr "Задаёт язык выводимых сообщений."
 
-#: utils/misc/guc_tables.c:4060
+#: utils/misc/guc_tables.c:4208
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Задаёт локаль для форматирования денежных сумм."
 
-#: utils/misc/guc_tables.c:4070
+#: utils/misc/guc_tables.c:4218
 msgid "Sets the locale for formatting numbers."
 msgstr "Задаёт локаль для форматирования чисел."
 
-#: utils/misc/guc_tables.c:4080
+#: utils/misc/guc_tables.c:4228
 msgid "Sets the locale for formatting date and time values."
 msgstr "Задаёт локаль для форматирования дат и времени."
 
-#: utils/misc/guc_tables.c:4090
+#: utils/misc/guc_tables.c:4238
 msgid "Lists shared libraries to preload into each backend."
 msgstr ""
 "Список разделяемых библиотек, заранее загружаемых в каждый обслуживающий "
 "процесс."
 
-#: utils/misc/guc_tables.c:4101
+#: utils/misc/guc_tables.c:4249
 msgid "Lists shared libraries to preload into server."
 msgstr "Список разделяемых библиотек, заранее загружаемых в память сервера."
 
-#: utils/misc/guc_tables.c:4112
+#: utils/misc/guc_tables.c:4260
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr ""
 "Список непривилегированных разделяемых библиотек, заранее загружаемых в "
 "каждый обслуживающий процесс."
 
-#: utils/misc/guc_tables.c:4123
+#: utils/misc/guc_tables.c:4271
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Задаёт порядок просмотра схемы при поиске неполных имён."
 
-#: utils/misc/guc_tables.c:4135
+#: utils/misc/guc_tables.c:4283
 msgid "Shows the server (database) character set encoding."
 msgstr "Показывает кодировку символов сервера (базы данных)."
 
-#: utils/misc/guc_tables.c:4147
+#: utils/misc/guc_tables.c:4295
 msgid "Shows the server version."
 msgstr "Показывает версию сервера."
 
-#: utils/misc/guc_tables.c:4159
+#: utils/misc/guc_tables.c:4307
 msgid "Sets the current role."
 msgstr "Задаёт текущую роль."
 
-#: utils/misc/guc_tables.c:4171
+#: utils/misc/guc_tables.c:4319
 msgid "Sets the session user name."
 msgstr "Задаёт имя пользователя в сеансе."
 
-#: utils/misc/guc_tables.c:4182
+#: utils/misc/guc_tables.c:4330
 msgid "Sets the destination for server log output."
 msgstr "Определяет, куда будет выводиться протокол сервера."
 
-#: utils/misc/guc_tables.c:4183
+#: utils/misc/guc_tables.c:4331
 msgid ""
 "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", "
 "\"jsonlog\", and \"eventlog\", depending on the platform."
@@ -32529,24 +34011,24 @@ msgstr ""
 "Значение может включать сочетание слов \"stderr\", \"syslog\", \"csvlog\", "
 "\"jsonlog\" и \"eventlog\", в зависимости от платформы."
 
-#: utils/misc/guc_tables.c:4194
+#: utils/misc/guc_tables.c:4342
 msgid "Sets the destination directory for log files."
 msgstr "Задаёт целевой каталог для файлов протоколов."
 
-#: utils/misc/guc_tables.c:4195
+#: utils/misc/guc_tables.c:4343
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr ""
 "Путь может быть абсолютным или указываться относительно каталога данных."
 
-#: utils/misc/guc_tables.c:4205
+#: utils/misc/guc_tables.c:4353
 msgid "Sets the file name pattern for log files."
 msgstr "Задаёт шаблон имени для файлов протоколов."
 
-#: utils/misc/guc_tables.c:4216
+#: utils/misc/guc_tables.c:4364
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Задаёт имя программы для идентификации сообщений PostgreSQL в syslog."
 
-#: utils/misc/guc_tables.c:4227
+#: utils/misc/guc_tables.c:4375
 msgid ""
 "Sets the application name used to identify PostgreSQL messages in the event "
 "log."
@@ -32554,121 +34036,121 @@ msgstr ""
 "Задаёт имя приложения для идентификации сообщений PostgreSQL в журнале "
 "событий."
 
-#: utils/misc/guc_tables.c:4238
+#: utils/misc/guc_tables.c:4386
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr ""
 "Задаёт часовой пояс для вывода и разбора строкового представления времени."
 
-#: utils/misc/guc_tables.c:4248
+#: utils/misc/guc_tables.c:4396
 msgid "Selects a file of time zone abbreviations."
 msgstr "Выбирает файл с сокращёнными названиями часовых поясов."
 
-#: utils/misc/guc_tables.c:4258
+#: utils/misc/guc_tables.c:4406
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Задаёт группу-владельца Unix-сокета."
 
-#: utils/misc/guc_tables.c:4259
+#: utils/misc/guc_tables.c:4407
 msgid ""
 "The owning user of the socket is always the user that starts the server."
 msgstr ""
 "Собственно владельцем сокета всегда будет пользователь, запускающий сервер."
 
-#: utils/misc/guc_tables.c:4269
+#: utils/misc/guc_tables.c:4417
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Задаёт каталоги, где будут создаваться Unix-сокеты."
 
-#: utils/misc/guc_tables.c:4280
+#: utils/misc/guc_tables.c:4428
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Задаёт имя узла или IP-адрес(а) для привязки."
 
-#: utils/misc/guc_tables.c:4295
+#: utils/misc/guc_tables.c:4443
 msgid "Sets the server's data directory."
 msgstr "Определяет каталог данных сервера."
 
-#: utils/misc/guc_tables.c:4306
+#: utils/misc/guc_tables.c:4454
 msgid "Sets the server's main configuration file."
 msgstr "Определяет основной файл конфигурации сервера."
 
-#: utils/misc/guc_tables.c:4317
+#: utils/misc/guc_tables.c:4465
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Задаёт путь к файлу конфигурации \"hba\"."
 
-#: utils/misc/guc_tables.c:4328
+#: utils/misc/guc_tables.c:4476
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Задаёт путь к файлу конфигурации \"ident\"."
 
-#: utils/misc/guc_tables.c:4339
+#: utils/misc/guc_tables.c:4487
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Файл, в который будет записан код процесса postmaster."
 
-#: utils/misc/guc_tables.c:4350
+#: utils/misc/guc_tables.c:4498
 msgid "Shows the name of the SSL library."
 msgstr "Показывает имя библиотеки SSL."
 
-#: utils/misc/guc_tables.c:4365
+#: utils/misc/guc_tables.c:4513
 msgid "Location of the SSL server certificate file."
 msgstr "Размещение файла сертификата сервера для SSL."
 
-#: utils/misc/guc_tables.c:4375
+#: utils/misc/guc_tables.c:4523
 msgid "Location of the SSL server private key file."
 msgstr "Размещение файла с закрытым ключом сервера для SSL."
 
-#: utils/misc/guc_tables.c:4385
+#: utils/misc/guc_tables.c:4533
 msgid "Location of the SSL certificate authority file."
 msgstr "Размещение файла центра сертификации для SSL."
 
-#: utils/misc/guc_tables.c:4395
+#: utils/misc/guc_tables.c:4543
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Размещение файла со списком отзыва сертификатов для SSL."
 
-#: utils/misc/guc_tables.c:4405
+#: utils/misc/guc_tables.c:4553
 msgid "Location of the SSL certificate revocation list directory."
 msgstr "Размещение каталога со списками отзыва сертификатов для SSL."
 
-#: utils/misc/guc_tables.c:4415
+#: utils/misc/guc_tables.c:4563
 msgid ""
 "Number of synchronous standbys and list of names of potential synchronous "
 "ones."
 msgstr ""
 "Количество потенциально синхронных резервных серверов и список их имён."
 
-#: utils/misc/guc_tables.c:4426
+#: utils/misc/guc_tables.c:4574
 msgid "Sets default text search configuration."
 msgstr "Задаёт конфигурацию текстового поиска по умолчанию."
 
-#: utils/misc/guc_tables.c:4436
+#: utils/misc/guc_tables.c:4584
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Задаёт список допустимых алгоритмов шифрования для SSL."
 
-#: utils/misc/guc_tables.c:4451
+#: utils/misc/guc_tables.c:4599
 msgid "Sets the curve to use for ECDH."
 msgstr "Задаёт кривую для ECDH."
 
-#: utils/misc/guc_tables.c:4466
+#: utils/misc/guc_tables.c:4614
 msgid "Location of the SSL DH parameters file."
 msgstr "Размещение файла с параметрами SSL DH."
 
-#: utils/misc/guc_tables.c:4477
+#: utils/misc/guc_tables.c:4625
 msgid "Command to obtain passphrases for SSL."
 msgstr "Команда, позволяющая получить пароль для SSL."
 
-#: utils/misc/guc_tables.c:4488
+#: utils/misc/guc_tables.c:4636
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr ""
 "Задаёт имя приложения, которое будет выводиться в статистике и протоколах."
 
-#: utils/misc/guc_tables.c:4499
+#: utils/misc/guc_tables.c:4647
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr "Задаёт имя кластера, которое будет добавляться в название процесса."
 
-#: utils/misc/guc_tables.c:4510
+#: utils/misc/guc_tables.c:4658
 msgid ""
 "Sets the WAL resource managers for which WAL consistency checks are done."
 msgstr ""
 "Задаёт перечень менеджеров ресурсов WAL, для которых выполняются проверки "
 "целостности WAL."
 
-#: utils/misc/guc_tables.c:4511
+#: utils/misc/guc_tables.c:4659
 msgid ""
 "Full-page images will be logged for all data blocks and cross-checked "
 "against the results of WAL replay."
@@ -32676,32 +34158,53 @@ msgstr ""
 "При этом в журнал будут записываться образы полных страниц для всех блоков "
 "данных для сверки с результатами воспроизведения WAL."
 
-#: utils/misc/guc_tables.c:4521
+#: utils/misc/guc_tables.c:4669
 msgid "JIT provider to use."
 msgstr "Используемый провайдер JIT."
 
-#: utils/misc/guc_tables.c:4532
+#: utils/misc/guc_tables.c:4680
 msgid "Log backtrace for errors in these functions."
 msgstr "Записывать в журнал стек в случае ошибок в перечисленных функциях."
 
-#: utils/misc/guc_tables.c:4543
+#: utils/misc/guc_tables.c:4691
 msgid "Use direct I/O for file access."
 msgstr "Использовать прямой ввод/вывод для работы с файлами."
 
-#: utils/misc/guc_tables.c:4563
+#: utils/misc/guc_tables.c:4702
+msgid ""
+"Lists streaming replication standby server replication slot names that "
+"logical WAL sender processes will wait for."
+msgstr ""
+"Определяет список имён слотов потовой репликации, готовности которых будут "
+"ждать процессы передачи логических изменений."
+
+#: utils/misc/guc_tables.c:4704
+msgid ""
+"Logical WAL sender processes will send decoded changes to output plugins "
+"only after the specified replication slots have confirmed receiving WAL."
+msgstr ""
+"Процессы передачи логических изменений из WAL будут передавать "
+"декодированные изменения модулям вывода только после того, как указанные "
+"слоты репликации подтвердят получение WAL."
+
+#: utils/misc/guc_tables.c:4716
+msgid "Prohibits access to non-system relations of specified kinds."
+msgstr "Запрещает доступ к несистемным отношениям указанных видов."
+
+#: utils/misc/guc_tables.c:4736
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Определяет, можно ли использовать \"\\'\" в текстовых строках."
 
-#: utils/misc/guc_tables.c:4573
+#: utils/misc/guc_tables.c:4746
 msgid "Sets the output format for bytea."
 msgstr "Задаёт формат вывода данных типа bytea."
 
-#: utils/misc/guc_tables.c:4583
+#: utils/misc/guc_tables.c:4756
 msgid "Sets the message levels that are sent to the client."
 msgstr "Ограничивает уровень сообщений, передаваемых клиенту."
 
-#: utils/misc/guc_tables.c:4584 utils/misc/guc_tables.c:4680
-#: utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763
+#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853
+#: utils/misc/guc_tables.c:4864
 msgid ""
 "Each level includes all the levels that follow it. The later the level, the "
 "fewer messages are sent."
@@ -32709,16 +34212,16 @@ msgstr ""
 "Каждый уровень включает все последующие. Чем выше уровень, тем меньше "
 "сообщений."
 
-#: utils/misc/guc_tables.c:4594
+#: utils/misc/guc_tables.c:4767
 msgid "Enables in-core computation of query identifiers."
 msgstr "Включает внутреннее вычисление идентификаторов запросов."
 
-#: utils/misc/guc_tables.c:4604
+#: utils/misc/guc_tables.c:4777
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr ""
 "Разрешает планировщику оптимизировать запросы, полагаясь на ограничения."
 
-#: utils/misc/guc_tables.c:4605
+#: utils/misc/guc_tables.c:4778
 msgid ""
 "Table scans will be skipped if their constraints guarantee that no rows "
 "match the query."
@@ -32726,93 +34229,88 @@ msgstr ""
 "Сканирование таблицы не будет выполняться, если её ограничения гарантируют, "
 "что запросу не удовлетворяют никакие строки."
 
-#: utils/misc/guc_tables.c:4616
+#: utils/misc/guc_tables.c:4789
 msgid "Sets the default compression method for compressible values."
 msgstr "Задаёт выбираемый по умолчанию метод сжатия для сжимаемых значений."
 
-#: utils/misc/guc_tables.c:4627
+#: utils/misc/guc_tables.c:4800
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Задаёт уровень изоляции транзакций для новых транзакций."
 
-#: utils/misc/guc_tables.c:4637
+#: utils/misc/guc_tables.c:4810
 msgid "Sets the current transaction's isolation level."
 msgstr "Задаёт текущий уровень изоляции транзакций."
 
-#: utils/misc/guc_tables.c:4648
+#: utils/misc/guc_tables.c:4821
 msgid "Sets the display format for interval values."
 msgstr "Задаёт формат отображения для внутренних значений."
 
-#: utils/misc/guc_tables.c:4659
+#: utils/misc/guc_tables.c:4832
 msgid "Log level for reporting invalid ICU locale strings."
 msgstr "Уровень протоколирования сообщений о некорректных строках локалей ICU."
 
-#: utils/misc/guc_tables.c:4669
+#: utils/misc/guc_tables.c:4842
 msgid "Sets the verbosity of logged messages."
 msgstr "Задаёт детализацию протоколируемых сообщений."
 
-#: utils/misc/guc_tables.c:4679
+#: utils/misc/guc_tables.c:4852
 msgid "Sets the message levels that are logged."
 msgstr "Ограничивает уровни протоколируемых сообщений."
 
-#: utils/misc/guc_tables.c:4690
+#: utils/misc/guc_tables.c:4863
 msgid ""
 "Causes all statements generating error at or above this level to be logged."
 msgstr ""
 "Включает протоколирование для SQL-операторов, выполненных с ошибкой этого "
 "или большего уровня."
 
-#: utils/misc/guc_tables.c:4701
+#: utils/misc/guc_tables.c:4874
 msgid "Sets the type of statements logged."
 msgstr "Задаёт тип протоколируемых операторов."
 
-#: utils/misc/guc_tables.c:4711
+#: utils/misc/guc_tables.c:4884
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "Задаёт получателя сообщений, отправляемых в syslog."
 
-#: utils/misc/guc_tables.c:4722
+#: utils/misc/guc_tables.c:4895
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr ""
 "Задаёт режим срабатывания триггеров и правил перезаписи для текущего сеанса."
 
-#: utils/misc/guc_tables.c:4732
+#: utils/misc/guc_tables.c:4905
 msgid "Sets the current transaction's synchronization level."
 msgstr "Задаёт уровень синхронизации текущей транзакции."
 
-#: utils/misc/guc_tables.c:4742
-msgid "Allows archiving of WAL files using archive_command."
-msgstr "Разрешает архивацию файлов WAL командой archive_command."
+#: utils/misc/guc_tables.c:4915
+msgid "Allows archiving of WAL files using \"archive_command\"."
+msgstr "Разрешает архивацию файлов WAL с использованием \"archive_command\"."
 
-#: utils/misc/guc_tables.c:4752
+#: utils/misc/guc_tables.c:4925
 msgid "Sets the action to perform upon reaching the recovery target."
 msgstr ""
 "Задаёт действие, которое будет выполняться по достижении цели восстановления."
 
-#: utils/misc/guc_tables.c:4762
-msgid "Enables logging of recovery-related debugging information."
-msgstr ""
-"Включает протоколирование отладочной информации, связанной с репликацией."
-
-#: utils/misc/guc_tables.c:4779
+#: utils/misc/guc_tables.c:4935
 msgid "Collects function-level statistics on database activity."
 msgstr "Включает сбор статистики активности в БД на уровне функций."
 
-#: utils/misc/guc_tables.c:4790
+#: utils/misc/guc_tables.c:4946
 msgid "Sets the consistency of accesses to statistics data."
 msgstr "Задаёт режим согласования доступа к данным статистики."
 
-#: utils/misc/guc_tables.c:4800
+#: utils/misc/guc_tables.c:4956
 msgid "Compresses full-page writes written in WAL file with specified method."
 msgstr "Сжимать данные записываемых в WAL полных страниц заданным методом."
 
-#: utils/misc/guc_tables.c:4810
+#: utils/misc/guc_tables.c:4966
 msgid "Sets the level of information written to the WAL."
 msgstr "Задаёт уровень информации, записываемой в WAL."
 
-#: utils/misc/guc_tables.c:4820
+#: utils/misc/guc_tables.c:4976
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Выбирает используемую реализацию динамической разделяемой памяти."
 
-#: utils/misc/guc_tables.c:4830
+#: utils/misc/guc_tables.c:4986
 msgid ""
 "Selects the shared memory implementation used for the main shared memory "
 "region."
@@ -32820,15 +34318,15 @@ msgstr ""
 "Выбирает реализацию разделяемой памяти для управления основным блоком "
 "разделяемой памяти."
 
-#: utils/misc/guc_tables.c:4840
+#: utils/misc/guc_tables.c:4996
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Выбирает метод принудительной записи изменений в WAL на диск."
 
-#: utils/misc/guc_tables.c:4850
+#: utils/misc/guc_tables.c:5006
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Определяет, как должны кодироваться двоичные значения в XML."
 
-#: utils/misc/guc_tables.c:4860
+#: utils/misc/guc_tables.c:5016
 msgid ""
 "Sets whether XML data in implicit parsing and serialization operations is to "
 "be considered as documents or content fragments."
@@ -32836,23 +34334,27 @@ msgstr ""
 "Определяет, следует ли рассматривать XML-данные в неявных операциях разбора "
 "и сериализации как документы или как фрагменты содержания."
 
-#: utils/misc/guc_tables.c:4871
+#: utils/misc/guc_tables.c:5027
 msgid "Use of huge pages on Linux or Windows."
 msgstr "Включает использование огромных страниц в Linux и в Windows."
 
-#: utils/misc/guc_tables.c:4881
+#: utils/misc/guc_tables.c:5037
+msgid "Indicates the status of huge pages."
+msgstr "Показывает состояние использования огромных страниц."
+
+#: utils/misc/guc_tables.c:5048
 msgid "Prefetch referenced blocks during recovery."
 msgstr "Осуществлять предвыборку изменяемых блоков в процессе восстановления."
 
-#: utils/misc/guc_tables.c:4882
+#: utils/misc/guc_tables.c:5049
 msgid "Look ahead in the WAL to find references to uncached data."
 msgstr "Прочитывать WAL наперёд для вычисления ещё не кешированных блоков."
 
-#: utils/misc/guc_tables.c:4891
+#: utils/misc/guc_tables.c:5058
 msgid "Forces the planner's use parallel query nodes."
 msgstr "Принудительно включает в планировщике узлы параллельного выполнения."
 
-#: utils/misc/guc_tables.c:4892
+#: utils/misc/guc_tables.c:5059
 msgid ""
 "This can be useful for testing the parallel query infrastructure by forcing "
 "the planner to generate plans that contain nodes that perform tuple "
@@ -32862,15 +34364,15 @@ msgstr ""
 "выполнения, так как планировщик будет строить планы с передачей кортежей "
 "между параллельными исполнителями и основным процессом."
 
-#: utils/misc/guc_tables.c:4904
+#: utils/misc/guc_tables.c:5071
 msgid "Chooses the algorithm for encrypting passwords."
 msgstr "Выбирает алгоритм шифрования паролей."
 
-#: utils/misc/guc_tables.c:4914
+#: utils/misc/guc_tables.c:5081
 msgid "Controls the planner's selection of custom or generic plan."
 msgstr "Управляет выбором специализированных или общих планов планировщиком."
 
-#: utils/misc/guc_tables.c:4915
+#: utils/misc/guc_tables.c:5082
 msgid ""
 "Prepared statements can have custom and generic plans, and the planner will "
 "attempt to choose which is better.  This can be set to override the default "
@@ -32880,30 +34382,30 @@ msgstr ""
 "планы, и планировщик пытается выбрать лучший вариант. Этот параметр "
 "позволяет переопределить поведение по умолчанию."
 
-#: utils/misc/guc_tables.c:4927
+#: utils/misc/guc_tables.c:5094
 msgid "Sets the minimum SSL/TLS protocol version to use."
 msgstr ""
 "Задаёт минимальную версию протокола SSL/TLS, которая может использоваться."
 
-#: utils/misc/guc_tables.c:4939
+#: utils/misc/guc_tables.c:5106
 msgid "Sets the maximum SSL/TLS protocol version to use."
 msgstr ""
 "Задаёт максимальную версию протокола SSL/TLS, которая может использоваться."
 
-#: utils/misc/guc_tables.c:4951
+#: utils/misc/guc_tables.c:5118
 msgid ""
 "Sets the method for synchronizing the data directory before crash recovery."
 msgstr ""
 "Задаёт метод синхронизации каталога данных перед восстановления после сбоя."
 
-#: utils/misc/guc_tables.c:4960
+#: utils/misc/guc_tables.c:5127
 msgid ""
 "Forces immediate streaming or serialization of changes in large transactions."
 msgstr ""
 "Включает непосредственную передачу или сериализацию изменений в больших "
 "транзакциях."
 
-#: utils/misc/guc_tables.c:4961
+#: utils/misc/guc_tables.c:5128
 msgid ""
 "On the publisher, it allows streaming or serializing each change in logical "
 "decoding. On the subscriber, it allows serialization of all changes to files "
@@ -32921,8 +34423,8 @@ msgstr ""
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "внутренняя ошибка: нераспознанный тип параметра времени выполнения\n"
 
-#: utils/misc/pg_controldata.c:51 utils/misc/pg_controldata.c:91
-#: utils/misc/pg_controldata.c:182 utils/misc/pg_controldata.c:223
+#: utils/misc/pg_controldata.c:50 utils/misc/pg_controldata.c:90
+#: utils/misc/pg_controldata.c:181 utils/misc/pg_controldata.c:222
 #, c-format
 msgid "calculated CRC checksum does not match value stored in file"
 msgstr ""
@@ -32951,12 +34453,12 @@ msgstr ""
 "Чтобы отключить политику для владельца таблицы, воспользуйтесь командой "
 "ALTER TABLE NO FORCE ROW LEVEL SECURITY."
 
-#: utils/misc/timeout.c:524
+#: utils/misc/timeout.c:520
 #, c-format
 msgid "cannot add more timeout reasons"
 msgstr "добавить другие причины тайм-аута нельзя"
 
-#: utils/misc/tzparser.c:60
+#: utils/misc/tzparser.c:61
 #, c-format
 msgid ""
 "time zone abbreviation \"%s\" is too long (maximum %d characters) in time "
@@ -32965,44 +34467,44 @@ msgstr ""
 "краткое обозначение часового пояса \"%s\" должно содержать меньше символов "
 "(максимум %d) (файл часовых поясов \"%s\", строка %d)"
 
-#: utils/misc/tzparser.c:72
+#: utils/misc/tzparser.c:73
 #, c-format
 msgid "time zone offset %d is out of range in time zone file \"%s\", line %d"
 msgstr ""
 "смещение часового пояса %d выходит за рамки (файл часовых поясов \"%s\", "
 "строка %d)"
 
-#: utils/misc/tzparser.c:111
+#: utils/misc/tzparser.c:112
 #, c-format
 msgid "missing time zone abbreviation in time zone file \"%s\", line %d"
 msgstr ""
 "отсутствует краткое обозначение часового пояса (файл часовых поясов \"%s\", "
 "строка %d)"
 
-#: utils/misc/tzparser.c:120
+#: utils/misc/tzparser.c:121
 #, c-format
 msgid "missing time zone offset in time zone file \"%s\", line %d"
 msgstr ""
 "отсутствует смещение часового пояса (файл часовых поясов \"%s\", строка %d)"
 
-#: utils/misc/tzparser.c:132
+#: utils/misc/tzparser.c:133
 #, c-format
 msgid "invalid number for time zone offset in time zone file \"%s\", line %d"
 msgstr ""
 "смещение часового пояса должно быть числом (файл часовых поясов \"%s\", "
 "строка %d)"
 
-#: utils/misc/tzparser.c:168
+#: utils/misc/tzparser.c:169
 #, c-format
 msgid "invalid syntax in time zone file \"%s\", line %d"
 msgstr "ошибка синтаксиса в файле часовых поясов \"%s\", строке %d"
 
-#: utils/misc/tzparser.c:236
+#: utils/misc/tzparser.c:237
 #, c-format
 msgid "time zone abbreviation \"%s\" is multiply defined"
 msgstr "краткое обозначение часового пояса \"%s\" определено неоднократно"
 
-#: utils/misc/tzparser.c:238
+#: utils/misc/tzparser.c:239
 #, c-format
 msgid ""
 "Entry in time zone file \"%s\", line %d, conflicts with entry in file "
@@ -33011,86 +34513,84 @@ msgstr ""
 "Запись в файле часовых поясов \"%s\", строке %d, противоречит записи в файле "
 "\"%s\", строке %d."
 
-#: utils/misc/tzparser.c:300
+#: utils/misc/tzparser.c:301
 #, c-format
 msgid "invalid time zone file name \"%s\""
 msgstr "неправильное имя файла часовых поясов: \"%s\""
 
-#: utils/misc/tzparser.c:313
+#: utils/misc/tzparser.c:314
 #, c-format
 msgid "time zone file recursion limit exceeded in file \"%s\""
 msgstr "предел вложенности файлов часовых поясов превышен в файле \"%s\""
 
-#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365
+#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366
 #, c-format
 msgid "could not read time zone file \"%s\": %m"
 msgstr "прочитать файл часовых поясов \"%s\" не удалось: %m"
 
-#: utils/misc/tzparser.c:376
+#: utils/misc/tzparser.c:377
 #, c-format
 msgid "line is too long in time zone file \"%s\", line %d"
 msgstr "слишком длинная строка в файле часовых поясов \"%s\" (строка %d)"
 
-#: utils/misc/tzparser.c:400
+#: utils/misc/tzparser.c:401
 #, c-format
 msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr ""
 "в @INCLUDE не указано имя файла (файл часовых поясов \"%s\", строка %d)"
 
-#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367
+#: utils/mmgr/aset.c:452 utils/mmgr/bump.c:184 utils/mmgr/generation.c:216
+#: utils/mmgr/slab.c:371
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Ошибка при создании контекста памяти \"%s\"."
 
-#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1350
+#: utils/mmgr/dsa.c:523 utils/mmgr/dsa.c:1364
 #, c-format
 msgid "could not attach to dynamic shared area"
 msgstr "не удалось подключиться к динамической разделяемой области"
 
-#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121
-#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278
-#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548
-#: utils/mmgr/mcxt.c:1605
+#: utils/mmgr/mcxt.c:1155
 #, c-format
 msgid "Failed on request of size %zu in memory context \"%s\"."
 msgstr "Ошибка при запросе блока размером %zu в контексте памяти \"%s\"."
 
-#: utils/mmgr/mcxt.c:1210
+#: utils/mmgr/mcxt.c:1299
 #, c-format
 msgid "logging memory contexts of PID %d"
 msgstr "вывод информации о памяти процесса с PID %d"
 
-#: utils/mmgr/portalmem.c:188
+#: utils/mmgr/portalmem.c:187
 #, c-format
 msgid "cursor \"%s\" already exists"
 msgstr "курсор \"%s\" уже существует"
 
-#: utils/mmgr/portalmem.c:192
+#: utils/mmgr/portalmem.c:191
 #, c-format
 msgid "closing existing cursor \"%s\""
 msgstr "существующий курсор (\"%s\") закрывается"
 
-#: utils/mmgr/portalmem.c:402
+#: utils/mmgr/portalmem.c:401
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "портал \"%s\" не может быть запущен"
 
-#: utils/mmgr/portalmem.c:480
+#: utils/mmgr/portalmem.c:479
 #, c-format
 msgid "cannot drop pinned portal \"%s\""
 msgstr "удалить закреплённый портал \"%s\" нельзя"
 
-#: utils/mmgr/portalmem.c:488
+#: utils/mmgr/portalmem.c:487
 #, c-format
 msgid "cannot drop active portal \"%s\""
 msgstr "удалить активный портал \"%s\" нельзя"
 
-#: utils/mmgr/portalmem.c:739
+#: utils/mmgr/portalmem.c:738
 #, c-format
 msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
 msgstr "нельзя выполнить PREPARE для транзакции, создавшей курсор WITH HOLD"
 
-#: utils/mmgr/portalmem.c:1230
+#: utils/mmgr/portalmem.c:1229
 #, c-format
 msgid ""
 "cannot perform transaction commands inside a cursor loop that is not read-"
@@ -33101,15 +34601,15 @@ msgstr ""
 
 #: utils/sort/logtape.c:266 utils/sort/logtape.c:287
 #, c-format
-msgid "could not seek to block %ld of temporary file"
-msgstr "не удалось переместиться к блоку %ld временного файла"
+msgid "could not seek to block %lld of temporary file"
+msgstr "не удалось переместиться к блоку %lld временного файла"
 
-#: utils/sort/sharedtuplestore.c:467
+#: utils/sort/sharedtuplestore.c:466
 #, c-format
 msgid "unexpected chunk in shared tuplestore temporary file"
 msgstr "неожиданный фрагмент в файле общего временного хранилища кортежей"
 
-#: utils/sort/sharedtuplestore.c:549
+#: utils/sort/sharedtuplestore.c:548
 #, c-format
 msgid "could not seek to block %u in shared tuplestore temporary file"
 msgstr ""
@@ -33121,17 +34621,17 @@ msgstr ""
 msgid "cannot have more than %d runs for an external sort"
 msgstr "число потоков данных для внешней сортировки не может превышать %d"
 
-#: utils/sort/tuplesortvariants.c:1363
+#: utils/sort/tuplesortvariants.c:1552
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "создать уникальный индекс \"%s\" не удалось"
 
-#: utils/sort/tuplesortvariants.c:1365
+#: utils/sort/tuplesortvariants.c:1554
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "Ключ %s дублируется."
 
-#: utils/sort/tuplesortvariants.c:1366
+#: utils/sort/tuplesortvariants.c:1555
 #, c-format
 msgid "Duplicate keys exist."
 msgstr "Данные содержат дублирующиеся ключи."
@@ -33145,32 +34645,32 @@ msgstr "Данные содержат дублирующиеся ключи."
 msgid "could not seek in tuplestore temporary file"
 msgstr "не удалось переместиться во временном файле хранилища кортежей"
 
-#: utils/time/snapmgr.c:571
+#: utils/time/snapmgr.c:536
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "Исходная транзакция уже не выполняется."
 
-#: utils/time/snapmgr.c:1166
+#: utils/time/snapmgr.c:1136
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "экспортировать снимок из вложенной транзакции нельзя"
 
-#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330
-#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350
-#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360
-#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380
-#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487
-#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528
+#: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301
+#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321
+#: utils/time/snapmgr.c:1326 utils/time/snapmgr.c:1331
+#: utils/time/snapmgr.c:1346 utils/time/snapmgr.c:1351
+#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1470
+#: utils/time/snapmgr.c:1486 utils/time/snapmgr.c:1511
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "неверные данные снимка в файле \"%s\""
 
-#: utils/time/snapmgr.c:1422
+#: utils/time/snapmgr.c:1393
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "команда SET TRANSACTION SNAPSHOT должна выполняться до запросов"
 
-#: utils/time/snapmgr.c:1431
+#: utils/time/snapmgr.c:1402
 #, c-format
 msgid ""
 "a snapshot-importing transaction must have isolation level SERIALIZABLE or "
@@ -33179,12 +34679,17 @@ msgstr ""
 "транзакция, импортирующая снимок, должна иметь уровень изоляции SERIALIZABLE "
 "или REPEATABLE READ"
 
-#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449
+#: utils/time/snapmgr.c:1411
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "неверный идентификатор снимка: \"%s\""
 
-#: utils/time/snapmgr.c:1541
+#: utils/time/snapmgr.c:1426
+#, c-format
+msgid "snapshot \"%s\" does not exist"
+msgstr "снимок \"%s\" не существует"
+
+#: utils/time/snapmgr.c:1524
 #, c-format
 msgid ""
 "a serializable transaction cannot import a snapshot from a non-serializable "
@@ -33192,7 +34697,7 @@ msgid ""
 msgstr ""
 "сериализуемая транзакция не может импортировать снимок из не сериализуемой"
 
-#: utils/time/snapmgr.c:1545
+#: utils/time/snapmgr.c:1528
 #, c-format
 msgid ""
 "a non-read-only serializable transaction cannot import a snapshot from a "
@@ -33201,279 +34706,294 @@ msgstr ""
 "сериализуемая транзакция в режиме \"чтение-запись\" не может импортировать "
 "снимок из транзакции в режиме \"только чтение\""
 
-#: utils/time/snapmgr.c:1560
+#: utils/time/snapmgr.c:1543
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "нельзя импортировать снимок из другой базы данных"
 
-#: gram.y:1197
+#: gram.y:1231
 #, c-format
 msgid "UNENCRYPTED PASSWORD is no longer supported"
 msgstr "вариант UNENCRYPTED PASSWORD более не поддерживается"
 
-#: gram.y:1198
+#: gram.y:1232
 #, c-format
 msgid "Remove UNENCRYPTED to store the password in encrypted form instead."
 msgstr ""
 "Удалите слово UNENCRYPTED, чтобы сохранить пароль в зашифрованном виде."
 
-#: gram.y:1525 gram.y:1541
+#: gram.y:1559 gram.y:1575
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS не может включать элементы схемы"
 
-#: gram.y:1693
+#: gram.y:1727
 #, c-format
 msgid "current database cannot be changed"
 msgstr "сменить текущую базу данных нельзя"
 
-#: gram.y:1826
+#: gram.y:1860
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr ""
 "интервал, задающий часовой пояс, должен иметь точность HOUR или HOUR TO "
 "MINUTE"
 
-#: gram.y:2443
+#: gram.y:2487
 #, c-format
 msgid "column number must be in range from 1 to %d"
 msgstr "номер столбца должен быть в диапазоне от 1 до %d"
 
-#: gram.y:3039
+#: gram.y:3083
 #, c-format
 msgid "sequence option \"%s\" not supported here"
 msgstr "параметр последовательности \"%s\" здесь не поддерживается"
 
-#: gram.y:3068
+#: gram.y:3122
 #, c-format
 msgid "modulus for hash partition provided more than once"
 msgstr "модуль для хеш-секции указан неоднократно"
 
-#: gram.y:3077
+#: gram.y:3131
 #, c-format
 msgid "remainder for hash partition provided more than once"
 msgstr "остаток для хеш-секции указан неоднократно"
 
-#: gram.y:3084
+#: gram.y:3138
 #, c-format
 msgid "unrecognized hash partition bound specification \"%s\""
 msgstr "нераспознанное указание ограничения хеш-секции \"%s\""
 
-#: gram.y:3092
+#: gram.y:3146
 #, c-format
 msgid "modulus for hash partition must be specified"
 msgstr "необходимо указать модуль для хеш-секции"
 
-#: gram.y:3096
+#: gram.y:3150
 #, c-format
 msgid "remainder for hash partition must be specified"
 msgstr "необходимо указать остаток для хеш-секции"
 
-#: gram.y:3304 gram.y:3338
+#: gram.y:3358 gram.y:3392
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "указания STDIN/STDOUT несовместимы с PROGRAM"
 
-#: gram.y:3310
+#: gram.y:3364
 #, c-format
 msgid "WHERE clause not allowed with COPY TO"
 msgstr "предложение WHERE не допускается с COPY TO"
 
-#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829
+#: gram.y:3712 gram.y:3719 gram.y:13016 gram.y:13024
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "указание GLOBAL при создании временных таблиц устарело"
 
-#: gram.y:3932
+#: gram.y:3995
 #, c-format
 msgid "for a generated column, GENERATED ALWAYS must be specified"
 msgstr "для генерируемого столбца должно указываться GENERATED ALWAYS"
 
-#: gram.y:4315
+#: gram.y:4432
 #, c-format
 msgid "a column list with %s is only supported for ON DELETE actions"
 msgstr "список столбцов с %s поддерживается только для действий ON DELETE"
 
-#: gram.y:5027
+#: gram.y:5144
 #, c-format
 msgid "CREATE EXTENSION ... FROM is no longer supported"
 msgstr "CREATE EXTENSION ... FROM более не поддерживается"
 
-#: gram.y:5725
+#: gram.y:5842
 #, c-format
 msgid "unrecognized row security option \"%s\""
 msgstr "нераспознанный вариант политики безопасности строк \"%s\""
 
-#: gram.y:5726
+#: gram.y:5843
 #, c-format
 msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
 msgstr ""
 "В настоящее время поддерживаются только политики PERMISSIVE и RESTRICTIVE."
 
-#: gram.y:5811
+#: gram.y:5928
 #, c-format
 msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"
 msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER не поддерживается"
 
-#: gram.y:5848
+#: gram.y:5965
 msgid "duplicate trigger events specified"
 msgstr "события триггера повторяются"
 
-#: gram.y:5997
+#: gram.y:6114
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "противоречащие характеристики ограничения"
 
-#: gram.y:6096
+#: gram.y:6213
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "оператор CREATE ASSERTION ещё не реализован"
 
-#: gram.y:6504
+#: gram.y:6530
+#, c-format
+msgid "dropping an enum value is not implemented"
+msgstr "удаление значения из перечисления не поддерживается"
+
+#: gram.y:6648
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK более не требуется"
 
-#: gram.y:6505
+#: gram.y:6649
 #, c-format
 msgid "Update your data type."
 msgstr "Обновите тип данных."
 
-#: gram.y:8378
+#: gram.y:8522
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "у агрегатных функций не может быть выходных аргументов"
 
-#: gram.y:11054 gram.y:11073
+#: gram.y:11214 gram.y:11233
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr ""
 "предложение WITH CHECK OPTION не поддерживается для рекурсивных представлений"
 
-#: gram.y:12960
+#: gram.y:13155
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "синтаксис LIMIT #,# не поддерживается"
 
-#: gram.y:12961
+#: gram.y:13156
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Используйте отдельные предложения LIMIT и OFFSET."
 
-#: gram.y:13821
+#: gram.y:14031
 #, c-format
 msgid "only one DEFAULT value is allowed"
 msgstr "допускается только одно значение DEFAULT"
 
-#: gram.y:13830
+#: gram.y:14040
 #, c-format
 msgid "only one PATH value per column is allowed"
 msgstr "для столбца допускается только одно значение PATH"
 
-#: gram.y:13839
+#: gram.y:14049
 #, c-format
 msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
 msgstr ""
 "конфликтующие или избыточные объявления NULL/NOT NULL для столбца \"%s\""
 
-#: gram.y:13848
+#: gram.y:14058
 #, c-format
 msgid "unrecognized column option \"%s\""
 msgstr "нераспознанный параметр столбца \"%s\""
 
-#: gram.y:14102
+#: gram.y:14140
+#, c-format
+msgid "only string constants are supported in JSON_TABLE path specification"
+msgstr "в указании пути JSON_TABLE поддерживаются только строковые константы"
+
+#: gram.y:14462
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "тип float должен иметь точность минимум 1 бит"
 
-#: gram.y:14111
+#: gram.y:14471
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "тип float должен иметь точность меньше 54 бит"
 
-#: gram.y:14614
+#: gram.y:14988
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "неверное число параметров в левой части выражения OVERLAPS"
 
-#: gram.y:14619
+#: gram.y:14993
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "неверное число параметров в правой части выражения OVERLAPS"
 
-#: gram.y:14796
+#: gram.y:15170
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "предикат UNIQUE ещё не реализован"
 
-#: gram.y:15212
+#: gram.y:15584
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "ORDER BY с WITHIN GROUP можно указать только один раз"
 
-#: gram.y:15217
+#: gram.y:15589
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT нельзя использовать с WITHIN GROUP"
 
-#: gram.y:15222
+#: gram.y:15594
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC нельзя использовать с WITHIN GROUP"
 
-#: gram.y:15856 gram.y:15880
+#: gram.y:16321 gram.y:16345
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "началом рамки не может быть UNBOUNDED FOLLOWING"
 
-#: gram.y:15861
+#: gram.y:16326
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr ""
 "рамка, начинающаяся со следующей строки, не может заканчиваться текущей"
 
-#: gram.y:15885
+#: gram.y:16350
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "концом рамки не может быть UNBOUNDED PRECEDING"
 
-#: gram.y:15891
+#: gram.y:16356
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr ""
 "рамка, начинающаяся с текущей строки, не может иметь предшествующих строк"
 
-#: gram.y:15898
+#: gram.y:16363
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr ""
 "рамка, начинающаяся со следующей строки, не может иметь предшествующих строк"
 
-#: gram.y:16659
+#: gram.y:16912
+#, c-format
+msgid "unrecognized JSON encoding: %s"
+msgstr "нераспознанная кодировка JSON: %s"
+
+#: gram.y:17236
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "параметр функции-модификатора типа должен быть безымянным"
 
-#: gram.y:16665
+#: gram.y:17242
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "модификатор типа не может включать ORDER BY"
 
-#: gram.y:16733 gram.y:16740 gram.y:16747
+#: gram.y:17310 gram.y:17317 gram.y:17324
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s нельзя использовать здесь как имя роли"
 
-#: gram.y:16837 gram.y:18294
+#: gram.y:17414 gram.y:18899
 #, c-format
 msgid "WITH TIES cannot be specified without ORDER BY clause"
 msgstr "WITH TIES нельзя задать без предложения ORDER BY"
 
-#: gram.y:17973 gram.y:18160
+#: gram.y:18590 gram.y:18765
 msgid "improper use of \"*\""
 msgstr "недопустимое использование \"*\""
 
-#: gram.y:18224
+#: gram.y:18829
 #, c-format
 msgid ""
 "an ordered-set aggregate with a VARIADIC direct argument must have one "
@@ -33482,70 +35002,70 @@ msgstr ""
 "сортирующая агрегатная функция с непосредственным аргументом VARIADIC должна "
 "иметь один агрегатный аргумент VARIADIC того же типа данных"
 
-#: gram.y:18261
+#: gram.y:18866
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "ORDER BY можно указать только один раз"
 
-#: gram.y:18272
+#: gram.y:18877
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "OFFSET можно указать только один раз"
 
-#: gram.y:18281
+#: gram.y:18886
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "LIMIT можно указать только один раз"
 
-#: gram.y:18290
+#: gram.y:18895
 #, c-format
 msgid "multiple limit options not allowed"
 msgstr "параметры LIMIT можно указать только один раз"
 
-#: gram.y:18317
+#: gram.y:18922
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "WITH можно указать только один раз"
 
-#: gram.y:18510
+#: gram.y:19115
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "в табличных функциях не может быть аргументов OUT и INOUT"
 
-#: gram.y:18643
+#: gram.y:19248
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "COLLATE можно указать только один раз"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:18681 gram.y:18694
+#: gram.y:19286 gram.y:19299
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "ограничения %s не могут иметь характеристики DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:18707
+#: gram.y:19312
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "ограничения %s не могут иметь характеристики NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:18720
+#: gram.y:19325
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "ограничения %s не могут иметь характеристики NO INHERIT"
 
-#: gram.y:18742
+#: gram.y:19347
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "нераспознанная стратегия секционирования \"%s\""
 
-#: gram.y:18766
+#: gram.y:19371
 #, c-format
 msgid "invalid publication object list"
 msgstr "неверный список объектов публикации"
 
-#: gram.y:18767
+#: gram.y:19372
 #, c-format
 msgid ""
 "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table "
@@ -33554,22 +35074,22 @@ msgstr ""
 "Перед именем отдельной таблицы или схемы нужно указать TABLE либо TABLES IN "
 "SCHEMA."
 
-#: gram.y:18783
+#: gram.y:19388
 #, c-format
 msgid "invalid table name"
 msgstr "неверное имя таблицы"
 
-#: gram.y:18804
+#: gram.y:19409
 #, c-format
 msgid "WHERE clause not allowed for schema"
 msgstr "предложение WHERE не допускается для схемы"
 
-#: gram.y:18811
+#: gram.y:19416
 #, c-format
 msgid "column specification not allowed for schema"
 msgstr "указание столбца не допускается для схемы"
 
-#: gram.y:18825
+#: gram.y:19430
 #, c-format
 msgid "invalid schema name"
 msgstr "неверное имя схемы"
@@ -33618,12 +35138,18 @@ msgstr ""
 "обнаружено слишком много синтаксических ошибок, обработка файла \"%s\" "
 "прекращается"
 
-#: jsonpath_gram.y:529
+# skip-rule: space-after-comma, space-before-period
+#: jsonpath_gram.y:267
+#, c-format
+msgid ".decimal() can only have an optional precision[,scale]."
+msgstr "Аргументами .decimal() могут быть только точность[,масштаб]."
+
+#: jsonpath_gram.y:599
 #, c-format
 msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate."
 msgstr "Нераспознанный символ флага \"%.*s\" в предикате LIKE_REGEX."
 
-#: jsonpath_gram.y:607
+#: jsonpath_gram.y:677
 #, c-format
 msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented"
 msgstr ""
@@ -33641,7 +35167,7 @@ msgstr "неверная последовательность шестнадца
 msgid "unexpected end after backslash"
 msgstr "неожиданный конец строки после обратной косой черты"
 
-#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741
+#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:742
 msgid "unterminated quoted string"
 msgstr "незавершённая строка в кавычках"
 
@@ -33653,8 +35179,8 @@ msgstr "неожиданный конец комментария"
 msgid "invalid numeric literal"
 msgstr "неверная числовая строка"
 
-#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1049
-#: scan.l:1053 scan.l:1057 scan.l:1061 scan.l:1065 scan.l:1069 scan.l:1073
+#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1050
+#: scan.l:1054 scan.l:1058 scan.l:1062 scan.l:1066 scan.l:1070 scan.l:1074
 msgid "trailing junk after numeric literal"
 msgstr "мусорное содержимое после числовой константы"
 
@@ -33670,70 +35196,70 @@ msgstr "%s в конце аргумента jsonpath"
 msgid "%s at or near \"%s\" of jsonpath input"
 msgstr "%s в строке jsonpath (примерное положение: \"%s\")"
 
-#: jsonpath_scan.l:557
+#: jsonpath_scan.l:568
 msgid "invalid input"
 msgstr "некорректные входные данные"
 
-#: jsonpath_scan.l:583
+#: jsonpath_scan.l:594
 msgid "invalid hexadecimal digit"
 msgstr "неверная шестнадцатеричная цифра"
 
-#: jsonpath_scan.l:614
+#: jsonpath_scan.l:625
 #, c-format
 msgid "could not convert Unicode to server encoding"
 msgstr "не удалось преобразовать символ Unicode в серверную кодировку"
 
-#: repl_gram.y:301 repl_gram.y:333
+#: repl_gram.y:318 repl_gram.y:359
 #, c-format
 msgid "invalid timeline %u"
 msgstr "неверная линия времени %u"
 
-#: repl_scanner.l:152
+#: repl_scanner.l:154
 msgid "invalid streaming start location"
 msgstr "неверная позиция начала потока"
 
-#: scan.l:482
+#: scan.l:483
 msgid "unterminated /* comment"
 msgstr "незавершённый комментарий /*"
 
-#: scan.l:502
+#: scan.l:503
 msgid "unterminated bit string literal"
 msgstr "оборванная битовая строка"
 
-#: scan.l:516
+#: scan.l:517
 msgid "unterminated hexadecimal string literal"
 msgstr "оборванная шестнадцатеричная строка"
 
-#: scan.l:566
+#: scan.l:567
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "небезопасное использование строковой константы со спецкодами Unicode"
 
-#: scan.l:567
+#: scan.l:568
 #, c-format
 msgid ""
 "String constants with Unicode escapes cannot be used when "
-"standard_conforming_strings is off."
+"\"standard_conforming_strings\" is off."
 msgstr ""
 "Строки со спецкодами Unicode нельзя использовать, когда параметр "
-"standard_conforming_strings выключен."
+"\"standard_conforming_strings\" выключен."
 
-#: scan.l:628
+#: scan.l:629
 msgid "unhandled previous state in xqs"
 msgstr ""
 "необрабатываемое предыдущее состояние при обнаружении закрывающего апострофа"
 
-#: scan.l:702
+#: scan.l:703
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX."
 
-#: scan.l:713
+#: scan.l:714
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "небезопасное использование символа \\' в строке"
 
-#: scan.l:714
+#: scan.l:715
 #, c-format
 msgid ""
 "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
@@ -33741,56 +35267,56 @@ msgstr ""
 "Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для "
 "исключительно клиентских кодировок."
 
-#: scan.l:786
+#: scan.l:787
 msgid "unterminated dollar-quoted string"
 msgstr "незавершённая строка с $"
 
-#: scan.l:803 scan.l:813
+#: scan.l:804 scan.l:814
 msgid "zero-length delimited identifier"
 msgstr "пустой идентификатор в кавычках"
 
-#: scan.l:824 syncrep_scanner.l:101
+#: scan.l:825 syncrep_scanner.l:101
 msgid "unterminated quoted identifier"
 msgstr "незавершённый идентификатор в кавычках"
 
-#: scan.l:987
+#: scan.l:988
 msgid "operator too long"
 msgstr "слишком длинный оператор"
 
-#: scan.l:1000
+#: scan.l:1001
 msgid "trailing junk after parameter"
 msgstr "мусорное содержимое после параметра"
 
-#: scan.l:1021
+#: scan.l:1022
 msgid "invalid hexadecimal integer"
 msgstr "неверное шестнадцатеричное целое"
 
-#: scan.l:1025
+#: scan.l:1026
 msgid "invalid octal integer"
 msgstr "неверное восьмеричное целое"
 
-#: scan.l:1029
+#: scan.l:1030
 msgid "invalid binary integer"
 msgstr "неверное двоичное целое"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1236
+#: scan.l:1237
 #, c-format
 msgid "%s at end of input"
 msgstr "%s в конце"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1244
+#: scan.l:1245
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s (примерное положение: \"%s\")"
 
-#: scan.l:1434
+#: scan.l:1437
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "нестандартное применение \\' в строке"
 
-#: scan.l:1435
+#: scan.l:1438
 #, c-format
 msgid ""
 "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
@@ -33798,27 +35324,299 @@ msgstr ""
 "Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок "
 "(E'...')."
 
-#: scan.l:1444
+#: scan.l:1447
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "нестандартное применение \\\\ в строке"
 
-#: scan.l:1445
+#: scan.l:1448
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr ""
 "Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'."
 
-#: scan.l:1459
+#: scan.l:1462
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "нестандартное использование спецсимвола в строке"
 
-#: scan.l:1460
+#: scan.l:1463
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'."
 
+#, c-format
+#~ msgid ""
+#~ "database is not accepting commands to avoid wraparound data loss in "
+#~ "database \"%s\""
+#~ msgstr ""
+#~ "база данных не принимает команды во избежание потери данных из-за "
+#~ "зацикливания транзакций в базе данных \"%s\""
+
+#, c-format
+#~ msgid ""
+#~ "Stop the postmaster and vacuum that database in single-user mode.\n"
+#~ "You might also need to commit or roll back old prepared transactions, or "
+#~ "drop stale replication slots."
+#~ msgstr ""
+#~ "Остановите управляющий процесс (postmaster) и выполните очистку (VACUUM) "
+#~ "базы данных в монопольном режиме.\n"
+#~ "Возможно, вам также придётся зафиксировать или откатить старые "
+#~ "подготовленные транзакции и удалить неиспользуемые слоты репликации."
+
+#, c-format
+#~ msgid ""
+#~ "database is not accepting commands to avoid wraparound data loss in "
+#~ "database with OID %u"
+#~ msgstr ""
+#~ "база данных не принимает команды во избежание потери данных из-за "
+#~ "зацикливания транзакций в базе данных с OID %u"
+
+#, c-format
+#~ msgid "cannot commit subtransactions during a parallel operation"
+#~ msgstr "фиксировать подтранзакции во время параллельных операций нельзя"
+
+#, c-format
+#~ msgid "invalid segment number %d in file \"%s\""
+#~ msgstr "неверный номер сегмента %d в файле \"%s\""
+
+#, c-format
+#~ msgid "-X requires a power of two value between 1 MB and 1 GB"
+#~ msgstr ""
+#~ "для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ"
+
+#, c-format
+#~ msgid "invalid parameter name \"%s\""
+#~ msgstr "неверное имя параметра \"%s\""
+
+#, c-format
+#~ msgid "MERGE not supported in COPY"
+#~ msgstr "MERGE не поддерживается в COPY"
+
+#, c-format
+#~ msgid "cannot specify DELIMITER in BINARY mode"
+#~ msgstr "в режиме BINARY нельзя указывать DELIMITER"
+
+#, c-format
+#~ msgid "cannot specify DEFAULT in BINARY mode"
+#~ msgstr "в режиме BINARY нельзя указывать DEFAULT"
+
+#, c-format
+#~ msgid "cannot specify HEADER in BINARY mode"
+#~ msgstr "в режиме BINARY нельзя использовать HEADER"
+
+#, c-format
+#~ msgid "COPY quote available only in CSV mode"
+#~ msgstr "определить кавычки для COPY можно только в режиме CSV"
+
+#, c-format
+#~ msgid "COPY escape available only in CSV mode"
+#~ msgstr "определить спецсимвол для COPY можно только в режиме CSV"
+
+#, c-format
+#~ msgid "COPY force quote available only in CSV mode"
+#~ msgstr ""
+#~ "параметр force quote для COPY можно использовать только в режиме CSV"
+
+#, c-format
+#~ msgid "COPY force quote only available using COPY TO"
+#~ msgstr "параметр force quote для COPY можно использовать только с COPY TO"
+
+#, c-format
+#~ msgid "COPY force not null available only in CSV mode"
+#~ msgstr ""
+#~ "параметр force not null для COPY можно использовать только в режиме CSV"
+
+#, c-format
+#~ msgid "COPY force not null only available using COPY FROM"
+#~ msgstr ""
+#~ "параметр force not null для COPY можно использовать только с COPY FROM"
+
+#, c-format
+#~ msgid "COPY force null available only in CSV mode"
+#~ msgstr "параметр force null для COPY можно использовать только в режиме CSV"
+
+#, c-format
+#~ msgid "COPY force null only available using COPY FROM"
+#~ msgstr "параметр force null для COPY можно использовать только с COPY FROM"
+
+#, c-format
+#~ msgid "COPY DEFAULT only available using COPY FROM"
+#~ msgstr "параметр DEFAULT для COPY можно использовать только с COPY FROM"
+
+#, c-format
+#~ msgid "COPY delimiter must not appear in the DEFAULT specification"
+#~ msgstr ""
+#~ "разделитель для COPY не должен присутствовать в представлении DEFAULT"
+
+#, c-format
+#~ msgid "CSV quote character must not appear in the DEFAULT specification"
+#~ msgstr ""
+#~ "символ кавычек в CSV не должен присутствовать в представлении DEFAULT"
+
+#, c-format
+#~ msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
+#~ msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY"
+
+#, c-format
+#~ msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
+#~ msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY"
+
+#, c-format
+#~ msgid "cannot create exclusion constraints on partitioned table \"%s\""
+#~ msgstr ""
+#~ "создать ограничение-исключение в секционированной таблице \"%s\" нельзя"
+
+#, c-format
+#~ msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping"
+#~ msgstr ""
+#~ "перестроить нерабочий индекс \"%s.%s\" неблокирующим способом нельзя, он "
+#~ "пропускается"
+
+#, c-format
+#~ msgid ""
+#~ "specifying a table access method is not supported on a partitioned table"
+#~ msgstr ""
+#~ "указание табличного метода доступа для секционированных таблиц не "
+#~ "поддерживаются"
+
+#, c-format
+#~ msgid "cannot change access method of a partitioned table"
+#~ msgstr "менять метод доступа для секционированной таблицы нельзя"
+
+#, c-format
+#~ msgid ""
+#~ "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
+#~ msgstr ""
+#~ "проверка подлинности MD5 не поддерживается, когда включён режим "
+#~ "\"db_user_namespace\""
+
+#, c-format
+#~ msgid "could not unbind after searching for user \"%s\" on server \"%s\""
+#~ msgstr ""
+#~ "не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\""
+
+#, c-format
+#~ msgid "MERGE not supported in WITH query"
+#~ msgstr "MERGE не поддерживается в запросе WITH"
+
+#, c-format
+#~ msgid "IS DISTINCT FROM requires = operator to yield boolean"
+#~ msgstr ""
+#~ "для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое "
+#~ "значение"
+
+#, c-format
+#~ msgid "could not fork autovacuum launcher process: %m"
+#~ msgstr "породить процесс запуска автоочистки не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork autovacuum worker process: %m"
+#~ msgstr "не удалось породить рабочий процесс автоочистки: %m"
+
+#, c-format
+#~ msgid ""
+#~ "Consider increasing the configuration parameter \"max_worker_processes\"."
+#~ msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"."
+
+#, c-format
+#~ msgid "could not fork startup process: %m"
+#~ msgstr "породить стартовый процесс не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork archiver process: %m"
+#~ msgstr "породить процесс архиватора не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork checkpointer process: %m"
+#~ msgstr "породить процесс контрольных точек не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork WAL writer process: %m"
+#~ msgstr "породить процесс записи WAL не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork WAL receiver process: %m"
+#~ msgstr "породить процесс считывания WAL не удалось: %m"
+
+#, c-format
+#~ msgid "could not fork worker process: %m"
+#~ msgstr "породить рабочий процесс не удалось: %m"
+
+#, c-format
+#~ msgid "could not remove file \"%s\": %s\n"
+#~ msgstr "не удалось стереть файл \"%s\": %s\n"
+
+#, c-format
+#~ msgid "publication_names parameter missing"
+#~ msgstr "отсутствует параметр publication_names"
+
+#, c-format
+#~ msgid "snapshot too old"
+#~ msgstr "снимок слишком стар"
+
+#, c-format
+#~ msgid "must be superuser to rotate log files with adminpack 1.0"
+#~ msgstr ""
+#~ "прокручивать файлы протоколов, используя adminpack 1.0, может только "
+#~ "суперпользователь"
+
+#, c-format
+#~ msgid "Consider using %s, which is part of core, instead."
+#~ msgstr ""
+#~ "Рассмотрите возможность использования функции %s, включённой в ядро."
+
+#, c-format
+#~ msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
+#~ msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)"
+
+#, c-format
+#~ msgid "Unmatched \"%c\" character."
+#~ msgstr "Непарный знак \"%c\"."
+
+#, c-format
+#~ msgid "formatting field \"%s\" is only supported in to_char"
+#~ msgstr "поле форматирования \"%s\" поддерживается только в функции to_char"
+
+#, c-format
+#~ msgid "must be superuser to read files with adminpack 1.0"
+#~ msgstr ""
+#~ "читать файлы, используя adminpack 1.0, может только суперпользователь"
+
+#, c-format
+#~ msgid ""
+#~ "string argument of jsonpath item method .%s() is not a valid "
+#~ "representation of a double precision number"
+#~ msgstr ""
+#~ "строковый аргумент метода элемента jsonpath .%s() не является "
+#~ "представлением значения double precision"
+
+#, c-format
+#~ msgid "collation provider LIBC is not supported on this platform"
+#~ msgstr ""
+#~ "провайдер правил сортировки LIBC не поддерживается на этой платформе"
+
+#, c-format
+#~ msgid "cannot subtract infinite timestamps"
+#~ msgstr "вычитать бесконечные значения timestamp нельзя"
+
+#~ msgid "Enables per-database user names."
+#~ msgstr "Включает связывание имён пользователей с базами данных."
+
+#~ msgid ""
+#~ "Time before a snapshot is too old to read pages changed after the "
+#~ "snapshot was taken."
+#~ msgstr ""
+#~ "Срок, по истечении которого снимок считается слишком старым для получения "
+#~ "страниц, изменённых после создания снимка."
+
+#~ msgid "A value of -1 disables this feature."
+#~ msgstr "Значение -1 отключает это поведение."
+
+#~ msgid "Enables logging of recovery-related debugging information."
+#~ msgstr ""
+#~ "Включает протоколирование отладочной информации, связанной с репликацией."
+
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "не удалось выделить память для декодирования записи длины %u"
@@ -34216,10 +36014,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ "слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%X превышает "
 #~ "max_slot_wal_keep_size"
 
-#, c-format
-#~ msgid "cannot read from logical replication slot \"%s\""
-#~ msgstr "прочитать из слота логической репликации \"%s\" нельзя"
-
 #, c-format
 #~ msgid "cannot convert partitioned table \"%s\" to a view"
 #~ msgstr ""
@@ -34450,9 +36244,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "oidvector has too many elements"
 #~ msgstr "oidvector содержит слишком много элементов"
 
-#~ msgid "Enables reordering of GROUP BY keys."
-#~ msgstr "Включает переупорядочивание ключей GROUP BY."
-
 #~ msgid "unknown compression option \"%s\""
 #~ msgstr "неизвестный параметр сжатия \"%s\""
 
@@ -34522,14 +36313,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "JSON_TABLE path name is not allowed here"
 #~ msgstr "SELECT ... INTO здесь не допускается"
 
-#, fuzzy
-#~ msgid "JSON path expression must be type %s, not type %s"
-#~ msgstr "аргумент конструкции %s должен иметь тип %s, а не %s"
-
-#, fuzzy
-#~ msgid "cannot cast DEFAULT expression type %s to %s"
-#~ msgstr "привести тип %s к %s нельзя"
-
 #, fuzzy
 #~ msgid "JSON_TABLE() is not yet implemented for the json type"
 #~ msgstr "REINDEX для секционированных индексов ещё не реализован"
@@ -34538,10 +36321,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "%s() is not yet implemented for the json type"
 #~ msgstr "политики для этой команды ещё не реализованы"
 
-#, fuzzy
-#~ msgid "cannot use RETURNING type %s in %s"
-#~ msgstr "привести тип %s к %s нельзя"
-
 #, fuzzy
 #~ msgid "invalid JSON_TABLE plan"
 #~ msgstr "неверное указание OWNED BY"
@@ -34988,9 +36767,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "Writes temporary statistics files to the specified directory."
 #~ msgstr "Каталог, в который будут записываться временные файлы статистики."
 
-#~ msgid "must be superuser to execute ALTER SYSTEM command"
-#~ msgstr "выполнить команду ALTER SYSTEM может только суперпользователь"
-
 #~ msgid ""
 #~ "query-specified return tuple and function return type are not compatible"
 #~ msgstr ""
@@ -36287,9 +38063,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "using previous checkpoint record at %X/%X"
 #~ msgstr "используется предыдущая запись контрольной точки по смещению %X/%X"
 
-#~ msgid "invalid secondary checkpoint link in control file"
-#~ msgstr "неверная ссылка на вторичную контрольную точку в файле pg_control"
-
 #~ msgid "invalid secondary checkpoint record"
 #~ msgstr "неверная запись вторичной контрольной точки"
 
@@ -36400,9 +38173,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "data directory \"%s\" has group or world access"
 #~ msgstr "к каталогу данных \"%s\" имеют доступ все или группа"
 
-#~ msgid "worker process"
-#~ msgstr "рабочий процесс"
-
 #~ msgid "built-in type %u not found"
 #~ msgstr "встроенный тип %u не найден"
 
@@ -36417,13 +38187,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr ""
 #~ "тип данных \"%s.%s\", требуемый для логической репликации, не существует"
 
-#~ msgid ""
-#~ "logical replication could not find row for delete in replication target "
-#~ "relation \"%s\""
-#~ msgstr ""
-#~ "при логической репликации не удалось найти строку для удаления в целевом "
-#~ "отношении репликации \"%s\""
-
 #~ msgid "memory for serializable conflict tracking is nearly exhausted"
 #~ msgstr ""
 #~ "память для отслеживания конфликтов сериализации практически исчерпана"
@@ -36848,9 +38611,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "Proceeding with relation creation anyway."
 #~ msgstr "Несмотря на это, создание отношения продолжается."
 
-#~ msgid "default expression must not return a set"
-#~ msgstr "выражение по умолчанию не может возвращать множество"
-
 #~ msgid "access method name cannot be qualified"
 #~ msgstr "имя метода доступа не может быть составным"
 
@@ -37512,12 +39272,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "neither input type is an array"
 #~ msgstr "входной тип так же не является массивом"
 
-#~ msgid "unexpected \"=\""
-#~ msgstr "неожиданный знак \"=\""
-
-#~ msgid "invalid symbol"
-#~ msgstr "неверный символ"
-
 #~ msgid ""
 #~ "must be superuser or have the same role to cancel queries running in "
 #~ "other server processes"
@@ -37574,11 +39328,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr ""
 #~ "распознать идентификатор локального пользователя (%ld) не удалось: %s"
 
-#~ msgid "cannot use physical replication slot created for logical decoding"
-#~ msgstr ""
-#~ "для логического декодирования нельзя использовать созданный физический "
-#~ "слот репликации"
-
 #~ msgid ""
 #~ "incomplete read from reorderbuffer spill file: read %d instead of %u bytes"
 #~ msgstr ""
@@ -38065,9 +39814,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ "Недостаточно памяти для переназначения блокировок подготовленных "
 #~ "транзакций."
 
-#~ msgid "\"interval\" time zone \"%s\" not valid"
-#~ msgstr "\"интервал\" содержит неверный часовой пояс \"%s\""
-
 #~ msgid "inconsistent use of year %04d and \"BC\""
 #~ msgstr "несогласованное использование в годе %04d и \"BC\""
 
index e38a6e35e2915e4ace30352798d5a06508e188cd..d5e74cb90cf677381b65b7b5de4799f477884370 100644 (file)
@@ -4,14 +4,14 @@
 # Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2001-2005.
 # Oleg Bartunov <oleg@sai.msu.su>, 2004-2005.
 # Sergey Burladyan <eshkinkot@gmail.com>, 2012.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
 # Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021.
 msgid ""
 msgstr ""
 "Project-Id-Version: psql (PostgreSQL current)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-05-04 10:36+0300\n"
-"PO-Revision-Date: 2024-06-26 08:50+0200\n"
+"POT-Creation-Date: 2024-09-02 09:29+0300\n"
+"PO-Revision-Date: 2024-09-07 06:49+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
 "Language: ru\n"
@@ -41,33 +41,48 @@ msgstr "подробности: "
 msgid "hint: "
 msgstr "подсказка: "
 
-#: ../../common/exec.c:172
+#: ../../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "неверный исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:215
+#: ../../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "не удалось прочитать исполняемый файл \"%s\": %m"
 
-#: ../../common/exec.c:223
+#: ../../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../common/exec.c:250
+#: ../../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m"
 
-#: ../../common/exec.c:412
+#: ../../common/exec.c:382 copy.c:326
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "не удалось выполнить команду \"%s\": %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "не удалось прочитать вывод команды \"%s\": %m"
+
+#: ../../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "команда \"%s\" не выдала данные"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "ошибка в %s(): %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
-#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
+#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225
 #: mainloop.c:80 mainloop.c:398
 #, c-format
 msgid "out of memory"
@@ -89,7 +104,7 @@ msgstr "попытка дублирования нулевого указате
 msgid "could not look up effective user ID %ld: %s"
 msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
 
-#: ../../common/username.c:45 command.c:613
+#: ../../common/username.c:45 command.c:616
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
@@ -126,13 +141,13 @@ msgstr "дочерний процесс завершён по сигналу %d:
 #: ../../common/wait_error.c:82
 #, c-format
 msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d"
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Сигнал отмены отправлен\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "Отправить сигнал отмены не удалось: "
 
@@ -149,76 +164,98 @@ msgstr[2] "(%lu строк)"
 msgid "Interrupted\n"
 msgstr "Прервано\n"
 
-#: ../../fe_utils/print.c:3218
+#: ../../fe_utils/print.c:3188
+#, c-format
+msgid ""
+"Cannot print table contents: number of cells %lld is equal to or exceeds "
+"maximum %lld.\n"
+msgstr ""
+"Вывести содержимое таблицы нельзя: число ячеек %lld достигло максимума "
+"%lld.\n"
+
+#: ../../fe_utils/print.c:3229
 #, c-format
 msgid "Cannot add header to table content: column count of %d exceeded.\n"
 msgstr ""
 "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n"
 
-#: ../../fe_utils/print.c:3258
+#: ../../fe_utils/print.c:3272
 #, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n"
 msgstr ""
-"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n"
+"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%lld).\n"
 
-#: ../../fe_utils/print.c:3516
+#: ../../fe_utils/print.c:3530
 #, c-format
 msgid "invalid output format (internal error): %d"
 msgstr "неверный формат вывода (внутренняя ошибка): %d"
 
-#: ../../fe_utils/psqlscan.l:717
+#: ../../fe_utils/psqlscan.l:718
 #, c-format
 msgid "skipping recursive expansion of variable \"%s\""
 msgstr "рекурсивное расширение переменной \"%s\" пропускается"
 
-#: ../../port/thread.c:50 ../../port/thread.c:86
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"аргумент команды оболочки содержит символ новой строки или перевода каретки: "
+"\"%s\"\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n"
+
+#: ../../port/user.c:43 ../../port/user.c:79
 #, c-format
 msgid "could not look up local user ID %d: %s"
 msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s"
 
-#: ../../port/thread.c:55 ../../port/thread.c:91
+#: ../../port/user.c:48 ../../port/user.c:84
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "локальный пользователь с ID %d не существует"
 
-#: command.c:234
+#: command.c:235
 #, c-format
 msgid "invalid command \\%s"
 msgstr "неверная команда \\%s"
 
-#: command.c:236
+#: command.c:237
 #, c-format
 msgid "Try \\? for help."
 msgstr "Введите \\? для получения справки."
 
-#: command.c:254
+#: command.c:255
 #, c-format
 msgid "\\%s: extra argument \"%s\" ignored"
 msgstr "\\%s: лишний аргумент \"%s\" пропущен"
 
-#: command.c:306
+#: command.c:307
 #, c-format
 msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block"
 msgstr ""
 "команда \\%s игнорируется; добавьте \\endif или нажмите Ctrl-C для "
 "завершения текущего блока \\if"
 
-#: command.c:611
+#: command.c:614
 #, c-format
 msgid "could not get home directory for user ID %ld: %s"
 msgstr "не удалось получить домашний каталог пользователя c ид. %ld: %s"
 
-#: command.c:630
+#: command.c:633
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %m"
 msgstr "\\%s: не удалось перейти в каталог \"%s\": %m"
 
-#: command.c:654
+#: command.c:657
 #, c-format
 msgid "You are currently not connected to a database.\n"
 msgstr "В данный момент вы не подключены к базе данных.\n"
 
-#: command.c:664
+#: command.c:667
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at "
@@ -227,7 +264,7 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес сервера "
 "\"%s\", порт \"%s\").\n"
 
-#: command.c:667
+#: command.c:670
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at "
@@ -236,221 +273,231 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в "
 "\"%s\", порт \"%s\".\n"
 
-#: command.c:673
+#: command.c:676
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address "
 "\"%s\") at port \"%s\".\n"
 msgstr ""
-"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\": "
-"адрес \"%s\", порт \"%s\").\n"
+"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер "
+"\"%s\": адрес \"%s\", порт \"%s\").\n"
 
-#: command.c:676
+#: command.c:679
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port "
 "\"%s\".\n"
 msgstr ""
-"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", "
-"порт \"%s\").\n"
+"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер "
+"\"%s\", порт \"%s\").\n"
 
-#: command.c:1066 command.c:1159 command.c:2682
+#: command.c:1069 command.c:1170 command.c:2675
 #, c-format
 msgid "no query buffer"
 msgstr "нет буфера запросов"
 
-#: command.c:1099 command.c:5689
+#: command.c:1102 command.c:5771
 #, c-format
 msgid "invalid line number: %s"
 msgstr "неверный номер строки: %s"
 
-#: command.c:1237
+#: command.c:1248
 msgid "No changes"
 msgstr "Изменений нет"
 
-#: command.c:1315
+#: command.c:1333
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found"
 msgstr ""
 "%s: неверное название кодировки символов или не найдена процедура "
 "перекодировки"
 
-#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795
-#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120
-#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480
-#: copy.c:486 copy.c:721 help.c:66 large_obj.c:157 large_obj.c:192
-#: large_obj.c:254 startup.c:304
+#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877
+#: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160
+#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548
+#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254
+#: startup.c:304
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: command.c:1357
+#: command.c:1375
 msgid "There is no previous error."
 msgstr "Ошибки не было."
 
-#: command.c:1470
+#: command.c:1488
 #, c-format
 msgid "\\%s: missing right parenthesis"
 msgstr "\\%s: отсутствует правая скобка"
 
-#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021
-#: command.c:2203 command.c:2444 command.c:2649 command.c:2689
+#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028
+#: command.c:2196 command.c:2437 command.c:2642 command.c:2682
 #, c-format
 msgid "\\%s: missing required argument"
 msgstr "отсутствует необходимый аргумент \\%s"
 
-#: command.c:1815
+#: command.c:1822
 #, c-format
 msgid "\\elif: cannot occur after \\else"
 msgstr "\\elif не может находиться после \\else"
 
-#: command.c:1820
+#: command.c:1827
 #, c-format
 msgid "\\elif: no matching \\if"
 msgstr "\\elif без соответствующего \\if"
 
-#: command.c:1884
+#: command.c:1891
 #, c-format
 msgid "\\else: cannot occur after \\else"
 msgstr "\\else не может находиться после \\else"
 
-#: command.c:1889
+#: command.c:1896
 #, c-format
 msgid "\\else: no matching \\if"
 msgstr "\\else без соответствующего \\if"
 
-#: command.c:1929
+#: command.c:1936
 #, c-format
 msgid "\\endif: no matching \\if"
 msgstr "\\endif без соответствующего \\if"
 
-#: command.c:2085
+#: command.c:2092
 msgid "Query buffer is empty."
 msgstr "Буфер запроса пуст."
 
-#: command.c:2128
+#: command.c:2135
 #, c-format
 msgid "Enter new password for user \"%s\": "
 msgstr "Введите новый пароль для пользователя \"%s\": "
 
-#: command.c:2132
+#: command.c:2139
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: command.c:2141
+#: command.c:2148
 #, c-format
 msgid "Passwords didn't match."
 msgstr "Пароли не совпадают."
 
-#: command.c:2238
+#: command.c:2231
 #, c-format
 msgid "\\%s: could not read value for variable"
 msgstr "\\%s: не удалось прочитать значение переменной"
 
-#: command.c:2340
+#: command.c:2333
 msgid "Query buffer reset (cleared)."
 msgstr "Буфер запроса сброшен (очищен)."
 
-#: command.c:2362
+#: command.c:2355
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "История записана в файл \"%s\".\n"
 
-#: command.c:2449
+#: command.c:2442
 #, c-format
 msgid "\\%s: environment variable name must not contain \"=\""
 msgstr "\\%s: имя переменной окружения не может содержать знак \"=\""
 
-#: command.c:2497
+#: command.c:2490
 #, c-format
 msgid "function name is required"
 msgstr "требуется имя функции"
 
-#: command.c:2499
+#: command.c:2492
 #, c-format
 msgid "view name is required"
 msgstr "требуется имя представления"
 
-#: command.c:2621
+#: command.c:2614
 msgid "Timing is on."
 msgstr "Секундомер включён."
 
-#: command.c:2623
+#: command.c:2616
 msgid "Timing is off."
 msgstr "Секундомер выключен."
 
-#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080
-#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136
-#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329
-#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818
+#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169
+#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225
+#: command.c:4239 command.c:4266 command.c:4324 common.c:77 copy.c:329
+#: copy.c:401 psqlscanslash.l:805 psqlscanslash.l:817 psqlscanslash.l:835
 #, c-format
 msgid "%s: %m"
 msgstr "%s: %m"
 
-#: command.c:2736 copy.c:388
+#: command.c:2729 copy.c:388
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: command.c:2806 command.c:2852
+#: command.c:2801 command.c:2867
 #, c-format
 msgid "\\watch: interval value is specified more than once"
 msgstr "\\watch: длительность интервала указана неоднократно"
 
-#: command.c:2816 command.c:2862
+#: command.c:2811 command.c:2877
 #, c-format
 msgid "\\watch: incorrect interval value \"%s\""
 msgstr "\\watch: некорректная длительность интервала \"%s\""
 
-#: command.c:2826
+#: command.c:2821
 #, c-format
 msgid "\\watch: iteration count is specified more than once"
 msgstr "\\watch: число итераций указано неоднократно"
 
-#: command.c:2836
+#: command.c:2831
 #, c-format
 msgid "\\watch: incorrect iteration count \"%s\""
 msgstr "\\watch: некорректное число итераций \"%s\""
 
-#: command.c:2843
+#: command.c:2841
+#, c-format
+msgid "\\watch: minimum row count specified more than once"
+msgstr "\\watch: минимальное число строк указано неоднократно"
+
+#: command.c:2851
+#, c-format
+msgid "\\watch: incorrect minimum row count \"%s\""
+msgstr "\\watch: некорректное минимальное число строк \"%s\""
+
+#: command.c:2858
 #, c-format
 msgid "\\watch: unrecognized parameter \"%s\""
 msgstr "\\watch: нераспознанный параметр \"%s\""
 
-#: command.c:3236 startup.c:243 startup.c:293
+#: command.c:3255 startup.c:243 startup.c:293
 msgid "Password: "
 msgstr "Пароль: "
 
-#: command.c:3241 startup.c:290
+#: command.c:3260 startup.c:290
 #, c-format
 msgid "Password for user %s: "
 msgstr "Пароль пользователя %s: "
 
-#: command.c:3297
+#: command.c:3316
 #, c-format
 msgid ""
 "Do not give user, host, or port separately when using a connection string"
 msgstr ""
-"Не указывайте пользователя, сервер или порт отдельно, когда используете "
+"Не указывайте пользователя, компьютер или порт отдельно, когда используете "
 "строку подключения"
 
-#: command.c:3332
+#: command.c:3351
 #, c-format
 msgid "No database connection exists to re-use parameters from"
 msgstr ""
 "Нет подключения к базе, из которого можно было бы использовать параметры"
 
-#: command.c:3638
+#: command.c:3658
 #, c-format
 msgid "Previous connection kept"
 msgstr "Сохранено предыдущее подключение"
 
-#: command.c:3644
+#: command.c:3664
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\connect: %s"
 
-#: command.c:3700
+#: command.c:3720
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at "
@@ -459,7 +506,7 @@ msgstr ""
 "Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес "
 "сервера \"%s\", порт \"%s\").\n"
 
-#: command.c:3703
+#: command.c:3723
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" "
@@ -468,35 +515,35 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в "
 "\"%s\", порт \"%s\".\n"
 
-#: command.c:3709
+#: command.c:3729
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" on host "
 "\"%s\" (address \"%s\") at port \"%s\".\n"
 msgstr ""
-"Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер "
+"Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер "
 "\"%s\": адрес \"%s\", порт \"%s\").\n"
 
-#: command.c:3712
+#: command.c:3732
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at "
 "port \"%s\".\n"
 msgstr ""
-"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", "
-"порт \"%s\").\n"
+"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер "
+"\"%s\", порт \"%s\").\n"
 
-#: command.c:3717
+#: command.c:3737
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "Вы подключены к базе данных \"%s\" как пользователь \"%s\".\n"
 
-#: command.c:3757
+#: command.c:3843
 #, c-format
 msgid "%s (%s, server %s)\n"
 msgstr "%s (%s, сервер %s)\n"
 
-#: command.c:3770
+#: command.c:3856
 #, c-format
 msgid ""
 "WARNING: %s major version %s, server major version %s.\n"
@@ -505,29 +552,33 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: %s имеет базовую версию %s, а сервер - %s.\n"
 "                Часть функций psql может не работать.\n"
 
-#: command.c:3807
+#: command.c:3895
 #, c-format
-msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n"
-msgstr "SSL-соединение (протокол: %s, шифр: %s, сжатие: %s)\n"
+msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n"
+msgstr "SSL-соединение (протокол: %s, шифр: %s, сжатие: %s, ALPN: %s)\n"
 
-#: command.c:3808 command.c:3809
+#: command.c:3896 command.c:3897
 msgid "unknown"
 msgstr "неизвестно"
 
-#: command.c:3810 help.c:42
+#: command.c:3898 help.c:42
 msgid "off"
 msgstr "выкл."
 
-#: command.c:3810 help.c:42
+#: command.c:3898 help.c:42
 msgid "on"
 msgstr "вкл."
 
-#: command.c:3824
+#: command.c:3899
+msgid "none"
+msgstr "нет"
+
+#: command.c:3913
 #, c-format
 msgid "GSSAPI-encrypted connection\n"
 msgstr "Соединение зашифровано GSSAPI\n"
 
-#: command.c:3844
+#: command.c:3933
 #, c-format
 msgid ""
 "WARNING: Console code page (%u) differs from Windows code page (%u)\n"
@@ -540,7 +591,7 @@ msgstr ""
 "                Подробнее об этом смотрите документацию psql, раздел\n"
 "                \"Notes for Windows users\".\n"
 
-#: command.c:3949
+#: command.c:4038
 #, c-format
 msgid ""
 "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a "
@@ -549,33 +600,33 @@ msgstr ""
 "в переменной окружения PSQL_EDITOR_LINENUMBER_ARG должен быть указан номер "
 "строки"
 
-#: command.c:3979
+#: command.c:4068
 #, c-format
 msgid "could not start editor \"%s\""
 msgstr "не удалось запустить редактор \"%s\""
 
-#: command.c:3981
+#: command.c:4070
 #, c-format
 msgid "could not start /bin/sh"
 msgstr "не удалось запустить /bin/sh"
 
-#: command.c:4031
+#: command.c:4120
 #, c-format
 msgid "could not locate temporary directory: %s"
 msgstr "не удалось найти временный каталог: %s"
 
-#: command.c:4058
+#: command.c:4147
 #, c-format
 msgid "could not open temporary file \"%s\": %m"
 msgstr "не удалось открыть временный файл \"%s\": %m"
 
-#: command.c:4394
+#: command.c:4483
 #, c-format
 msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\""
 msgstr ""
 "\\pset: неоднозначному сокращению \"%s\" соответствует и \"%s\", и \"%s\""
 
-#: command.c:4414
+#: command.c:4503
 #, c-format
 msgid ""
 "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-"
@@ -584,27 +635,27 @@ msgstr ""
 "\\pset: допустимые форматы: aligned, asciidoc, csv, html, latex, latex-"
 "longtable, troff-ms, unaligned, wrapped"
 
-#: command.c:4433
+#: command.c:4522
 #, c-format
 msgid "\\pset: allowed line styles are ascii, old-ascii, unicode"
 msgstr "\\pset: допустимые стили линий: ascii, old-ascii, unicode"
 
-#: command.c:4448
+#: command.c:4537
 #, c-format
 msgid "\\pset: allowed Unicode border line styles are single, double"
 msgstr "\\pset: допустимые стили Unicode-линий границ: single, double"
 
-#: command.c:4463
+#: command.c:4552
 #, c-format
 msgid "\\pset: allowed Unicode column line styles are single, double"
 msgstr "\\pset: допустимые стили Unicode-линий столбцов: single, double"
 
-#: command.c:4478
+#: command.c:4567
 #, c-format
 msgid "\\pset: allowed Unicode header line styles are single, double"
 msgstr "\\pset: допустимые стили Unicode-линий заголовков: single, double"
 
-#: command.c:4530
+#: command.c:4619
 #, c-format
 msgid ""
 "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", "
@@ -613,12 +664,12 @@ msgstr ""
 "\\pset: допустимые значения xheader_width: \"%s\" (по умолчанию), \"%s\", "
 "\"%s\", а также число, задающее точную ширину"
 
-#: command.c:4547
+#: command.c:4636
 #, c-format
 msgid "\\pset: csv_fieldsep must be a single one-byte character"
 msgstr "\\pset: символ csv_fieldsep должен быть однобайтовым"
 
-#: command.c:4552
+#: command.c:4641
 #, c-format
 msgid ""
 "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage "
@@ -627,117 +678,117 @@ msgstr ""
 "\\pset: в качестве csv_fieldsep нельзя выбрать символ кавычек, новой строки "
 "или возврата каретки"
 
-#: command.c:4690 command.c:4891
+#: command.c:4779 command.c:4980
 #, c-format
 msgid "\\pset: unknown option: %s"
 msgstr "неизвестный параметр \\pset: %s"
 
-#: command.c:4710
+#: command.c:4799
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "Стиль границ: %d.\n"
 
-#: command.c:4716
+#: command.c:4805
 #, c-format
 msgid "Target width is unset.\n"
 msgstr "Ширина вывода сброшена.\n"
 
-#: command.c:4718
+#: command.c:4807
 #, c-format
 msgid "Target width is %d.\n"
 msgstr "Ширина вывода: %d.\n"
 
-#: command.c:4725
+#: command.c:4814
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "Расширенный вывод включён.\n"
 
-#: command.c:4727
+#: command.c:4816
 #, c-format
 msgid "Expanded display is used automatically.\n"
 msgstr "Расширенный вывод применяется автоматически.\n"
 
-#: command.c:4729
+#: command.c:4818
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "Расширенный вывод выключен.\n"
 
-#: command.c:4736 command.c:4738 command.c:4740
+#: command.c:4825 command.c:4827 command.c:4829
 #, c-format
 msgid "Expanded header width is \"%s\".\n"
 msgstr "Ширина расширенного заголовка: \"%s\".\n"
 
-#: command.c:4742
+#: command.c:4831
 #, c-format
 msgid "Expanded header width is %d.\n"
 msgstr "Ширина расширенного заголовка: %d.\n"
 
-#: command.c:4748
+#: command.c:4837
 #, c-format
 msgid "Field separator for CSV is \"%s\".\n"
 msgstr "Разделитель полей для CSV: \"%s\".\n"
 
-#: command.c:4756 command.c:4764
+#: command.c:4845 command.c:4853
 #, c-format
 msgid "Field separator is zero byte.\n"
 msgstr "Разделитель полей - нулевой байт.\n"
 
-#: command.c:4758
+#: command.c:4847
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "Разделитель полей: \"%s\".\n"
 
-#: command.c:4771
+#: command.c:4860
 #, c-format
 msgid "Default footer is on.\n"
 msgstr "Строка итогов включена.\n"
 
-#: command.c:4773
+#: command.c:4862
 #, c-format
 msgid "Default footer is off.\n"
 msgstr "Строка итогов выключена.\n"
 
-#: command.c:4779
+#: command.c:4868
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "Формат вывода: %s.\n"
 
-#: command.c:4785
+#: command.c:4874
 #, c-format
 msgid "Line style is %s.\n"
 msgstr "Установлен стиль линий: %s.\n"
 
-#: command.c:4792
+#: command.c:4881
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr "Null выводится как: \"%s\".\n"
 
-#: command.c:4800
+#: command.c:4889
 #, c-format
 msgid "Locale-adjusted numeric output is on.\n"
 msgstr "Локализованный вывод чисел включён.\n"
 
-#: command.c:4802
+#: command.c:4891
 #, c-format
 msgid "Locale-adjusted numeric output is off.\n"
 msgstr "Локализованный вывод чисел выключен.\n"
 
-#: command.c:4809
+#: command.c:4898
 #, c-format
 msgid "Pager is used for long output.\n"
 msgstr "Постраничник используется для вывода длинного текста.\n"
 
-#: command.c:4811
+#: command.c:4900
 #, c-format
 msgid "Pager is always used.\n"
 msgstr "Постраничник используется всегда.\n"
 
-#: command.c:4813
+#: command.c:4902
 #, c-format
 msgid "Pager usage is off.\n"
 msgstr "Постраничник выключен.\n"
 
-#: command.c:4819
+#: command.c:4908
 #, c-format
 msgid "Pager won't be used for less than %d line.\n"
 msgid_plural "Pager won't be used for less than %d lines.\n"
@@ -745,182 +796,182 @@ msgstr[0] "Постраничник не будет использоваться
 msgstr[1] "Постраничник не будет использоваться, если строк меньше %d\n"
 msgstr[2] "Постраничник не будет использоваться, если строк меньше %d\n"
 
-#: command.c:4829 command.c:4839
+#: command.c:4918 command.c:4928
 #, c-format
 msgid "Record separator is zero byte.\n"
 msgstr "Разделитель записей - нулевой байт.\n"
 
-#: command.c:4831
+#: command.c:4920
 #, c-format
 msgid "Record separator is <newline>.\n"
 msgstr "Разделитель записей: <новая строка>.\n"
 
-#: command.c:4833
+#: command.c:4922
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "Разделитель записей: \"%s\".\n"
 
-#: command.c:4846
+#: command.c:4935
 #, c-format
 msgid "Table attributes are \"%s\".\n"
 msgstr "Атрибуты HTML-таблицы: \"%s\".\n"
 
-#: command.c:4849
+#: command.c:4938
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "Атрибуты HTML-таблицы не заданы.\n"
 
-#: command.c:4856
+#: command.c:4945
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "Заголовок: \"%s\".\n"
 
-#: command.c:4858
+#: command.c:4947
 #, c-format
 msgid "Title is unset.\n"
 msgstr "Заголовок не задан.\n"
 
-#: command.c:4865
+#: command.c:4954
 #, c-format
 msgid "Tuples only is on.\n"
 msgstr "Режим вывода только кортежей включён.\n"
 
-#: command.c:4867
+#: command.c:4956
 #, c-format
 msgid "Tuples only is off.\n"
 msgstr "Режим вывода только кортежей выключен.\n"
 
-#: command.c:4873
+#: command.c:4962
 #, c-format
 msgid "Unicode border line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий границ: \"%s\".\n"
 
-#: command.c:4879
+#: command.c:4968
 #, c-format
 msgid "Unicode column line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий столбцов: \"%s\".\n"
 
-#: command.c:4885
+#: command.c:4974
 #, c-format
 msgid "Unicode header line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий границ: \"%s\".\n"
 
-#: command.c:5134
+#: command.c:5223
 #, c-format
 msgid "\\!: failed"
 msgstr "\\!: ошибка"
 
-#: command.c:5168
+#: command.c:5257
 #, c-format
 msgid "\\watch cannot be used with an empty query"
 msgstr "\\watch нельзя использовать с пустым запросом"
 
-#: command.c:5200
+#: command.c:5289
 #, c-format
 msgid "could not set timer: %m"
 msgstr "не удалось установить таймер: %m"
 
-#: command.c:5269
+#: command.c:5358
 #, c-format
 msgid "%s\t%s (every %gs)\n"
 msgstr "%s\t%s (обновление: %g с)\n"
 
-#: command.c:5272
+#: command.c:5361
 #, c-format
 msgid "%s (every %gs)\n"
 msgstr "%s (обновление: %g с)\n"
 
-#: command.c:5340
+#: command.c:5424
 #, c-format
 msgid "could not wait for signals: %m"
 msgstr "сбой при ожидании сигналов: %m"
 
-#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083
+#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123
 #, c-format
 msgid ""
-"********* QUERY **********\n"
+"/******** QUERY *********/\n"
 "%s\n"
-"**************************\n"
+"/************************/\n"
 "\n"
 msgstr ""
-"********* ЗАПРОС *********\n"
+"/******** ЗАПРОС ********/\n"
 "%s\n"
-"**************************\n"
+"/************************/\n"
 "\n"
 
-#: command.c:5584
+#: command.c:5666
 #, c-format
 msgid "\"%s.%s\" is not a view"
 msgstr "\"%s.%s\" — не представление"
 
-#: command.c:5600
+#: command.c:5682
 #, c-format
 msgid "could not parse reloptions array"
 msgstr "не удалось разобрать массив reloptions"
 
-#: common.c:167
+#: common.c:206
 #, c-format
 msgid "cannot escape without active connection"
 msgstr "экранирование строк не работает без подключения к БД"
 
-#: common.c:208
+#: common.c:247
 #, c-format
 msgid "shell command argument contains a newline or carriage return: \"%s\""
 msgstr ""
 "аргумент команды оболочки содержит символ новой строки или перевода каретки: "
 "\"%s\""
 
-#: common.c:312
+#: common.c:351
 #, c-format
 msgid "connection to server was lost"
 msgstr "подключение к серверу было потеряно"
 
-#: common.c:316
+#: common.c:355
 #, c-format
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "Подключение к серверу потеряно. Попытка восстановления "
 
-#: common.c:321
+#: common.c:360
 #, c-format
 msgid "Failed.\n"
 msgstr "неудачна.\n"
 
-#: common.c:338
+#: common.c:377
 #, c-format
 msgid "Succeeded.\n"
 msgstr "удачна.\n"
 
-#: common.c:390 common.c:1021
+#: common.c:430 common.c:1061
 #, c-format
 msgid "unexpected PQresultStatus: %d"
 msgstr "неожиданное значение PQresultStatus: %d"
 
-#: common.c:531
+#: common.c:571
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "Время: %.3f мс\n"
 
-#: common.c:546
+#: common.c:586
 #, c-format
 msgid "Time: %.3f ms (%02d:%06.3f)\n"
 msgstr "Время: %.3f мс (%02d:%06.3f)\n"
 
-#: common.c:555
+#: common.c:595
 #, c-format
 msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n"
 msgstr "Время: %.3f мс (%02d:%02d:%06.3f)\n"
 
-#: common.c:562
+#: common.c:602
 #, c-format
 msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n"
 msgstr "Время: %.3f мс (%.0f д. %02d:%02d:%06.3f)\n"
 
-#: common.c:586 common.c:643 common.c:1054 describe.c:6214
+#: common.c:626 common.c:683 common.c:1094 describe.c:6192
 #, c-format
 msgid "You are currently not connected to a database."
 msgstr "В данный момент вы не подключены к базе данных."
 
-#: common.c:674
+#: common.c:714
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" with payload \"%s\" received from server "
@@ -929,73 +980,79 @@ msgstr ""
 "Получено асинхронное уведомление \"%s\" с сообщением-нагрузкой \"%s\" от "
 "серверного процесса с PID %d.\n"
 
-#: common.c:677
+#: common.c:717
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr ""
 "Получено асинхронное уведомление \"%s\" от серверного процесса с PID %d.\n"
 
-#: common.c:708
+#: common.c:748
 #, c-format
 msgid "could not print result table: %m"
 msgstr "не удалось вывести таблицу результатов: %m"
 
-#: common.c:728
+#: common.c:768
 #, c-format
 msgid "no rows returned for \\gset"
 msgstr "сервер не возвратил строк для \\gset"
 
-#: common.c:733
+#: common.c:773
 #, c-format
 msgid "more than one row returned for \\gset"
 msgstr "сервер возвратил больше одной строки для \\gset"
 
-#: common.c:751
+#: common.c:791
 #, c-format
 msgid "attempt to \\gset into specially treated variable \"%s\" ignored"
 msgstr "попытка выполнить \\gset со специальной переменной \"%s\" игнорируется"
 
-#: common.c:1063
+#: common.c:1103
 #, c-format
 msgid ""
-"***(Single step mode: verify "
-"command)*******************************************\n"
+"/**(Single step mode: verify "
+"command)******************************************/\n"
 "%s\n"
-"***(press return to proceed or enter x and return to "
-"cancel)********************\n"
+"/**(press return to proceed or enter x and return to "
+"cancel)*******************/\n"
 msgstr ""
-"***(Пошаговый режим: проверка "
-"команды)******************************************\n"
+"/**(Пошаговый режим: проверка "
+"команды)*****************************************/\n"
 "%s\n"
-"***(Enter - выполнение; x и Enter - отмена)**************\n"
+"/**(Enter - выполнение; x и Enter - "
+"отмена)************************************/\n"
 
-#: common.c:1146
+#: common.c:1180
 #, c-format
 msgid "STATEMENT:  %s"
 msgstr "ОПЕРАТОР:  %s"
 
-#: common.c:1182
+#: common.c:1216
 #, c-format
 msgid "unexpected transaction status (%d)"
 msgstr "неожиданное состояние транзакции (%d)"
 
-#: common.c:1335 describe.c:2026
+#: common.c:1369 describe.c:2025
 msgid "Column"
 msgstr "Столбец"
 
-#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046
-#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027
-#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571
-#: describe.c:5846
+#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043
+#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026
+#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564
+#: describe.c:5829
 msgid "Type"
 msgstr "Тип"
 
-#: common.c:1385
+#: common.c:1419
 #, c-format
 msgid "The command has no result, or the result has no columns.\n"
 msgstr "Команда не выдала результат, либо в результате нет столбцов.\n"
 
+#: common.c:1511
+#, c-format
+msgid "fetching results in chunked mode failed"
+msgstr "получить результаты в блочном режиме не удалось"
+
 #: copy.c:98
 #, c-format
 msgid "\\copy: arguments required"
@@ -1011,11 +1068,6 @@ msgstr "\\copy: ошибка разбора аргумента \"%s\""
 msgid "\\copy: parse error at end of line"
 msgstr "\\copy: ошибка разбора в конце строки"
 
-#: copy.c:326
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "не удалось выполнить команду \"%s\": %m"
-
 #: copy.c:342
 #, c-format
 msgid "could not stat file \"%s\": %m"
@@ -1053,25 +1105,25 @@ msgstr ""
 "Вводите данные для копирования, разделяя строки переводом строки.\n"
 "Закончите ввод строкой '\\.' или сигналом EOF."
 
-#: copy.c:683
+#: copy.c:684
 msgid "aborted because of read failure"
 msgstr "прерывание из-за ошибки чтения"
 
-#: copy.c:717
+#: copy.c:718
 msgid "trying to exit copy mode"
 msgstr "попытка выйти из режима копирования"
 
-#: crosstabview.c:123
+#: crosstabview.c:124
 #, c-format
 msgid "\\crosstabview: statement did not return a result set"
 msgstr "\\crosstabview: оператор не возвратил результирующий набор"
 
-#: crosstabview.c:129
+#: crosstabview.c:130
 #, c-format
 msgid "\\crosstabview: query must return at least three columns"
 msgstr "\\crosstabview: запрос должен возвращать минимум три столбца"
 
-#: crosstabview.c:156
+#: crosstabview.c:157
 #, c-format
 msgid ""
 "\\crosstabview: vertical and horizontal headers must be different columns"
@@ -1079,7 +1131,7 @@ msgstr ""
 "\\crosstabview: для вертикальных и горизонтальных заголовков должны "
 "задаваться разные столбцы"
 
-#: crosstabview.c:172
+#: crosstabview.c:173
 #, c-format
 msgid ""
 "\\crosstabview: data column must be specified when query returns more than "
@@ -1088,12 +1140,12 @@ msgstr ""
 "\\crosstabview: когда запрос возвращает больше трёх столбцов, необходимо "
 "указать столбец данных"
 
-#: crosstabview.c:228
+#: crosstabview.c:229
 #, c-format
 msgid "\\crosstabview: maximum number of columns (%d) exceeded"
 msgstr "\\crosstabview: превышен максимум числа столбцов (%d)"
 
-#: crosstabview.c:397
+#: crosstabview.c:398
 #, c-format
 msgid ""
 "\\crosstabview: query result contains multiple data values for row \"%s\", "
@@ -1102,302 +1154,303 @@ msgstr ""
 "\\crosstabview: в результатах запроса содержится несколько значений данных "
 "для строки \"%s\", столбца \"%s\""
 
-#: crosstabview.c:645
+#: crosstabview.c:646
 #, c-format
 msgid "\\crosstabview: column number %d is out of range 1..%d"
 msgstr "\\crosstabview: номер столбца %d выходит за рамки диапазона 1..%d"
 
-#: crosstabview.c:670
+#: crosstabview.c:671
 #, c-format
 msgid "\\crosstabview: ambiguous column name: \"%s\""
 msgstr "\\crosstabview: неоднозначное имя столбца: \"%s\""
 
-#: crosstabview.c:678
+#: crosstabview.c:679
 #, c-format
 msgid "\\crosstabview: column name not found: \"%s\""
 msgstr "\\crosstabview: имя столбца не найдено: \"%s\""
 
-#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038
-#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157
-#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932
-#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499
-#: describe.c:5556 describe.c:5960 describe.c:6038
+#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035
+#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154
+#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921
+#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486
+#: describe.c:5542 describe.c:5941 describe.c:6018
 msgid "Schema"
 msgstr "Схема"
 
-#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631
-#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265
-#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408
-#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933
-#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489
-#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827
-#: describe.c:6036 describe.c:6265 describe.c:6573
+#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627
+#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265
+#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403
+#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922
+#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476
+#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810
+#: describe.c:6016 describe.c:6243 describe.c:6551
 msgid "Name"
 msgstr "Имя"
 
-#: describe.c:89 describe.c:351 describe.c:369
+#: describe.c:89 describe.c:348 describe.c:366
 msgid "Result data type"
 msgstr "Тип данных результата"
 
-#: describe.c:90 describe.c:352 describe.c:370
+#: describe.c:90 describe.c:349 describe.c:367
 msgid "Argument data types"
 msgstr "Типы данных аргументов"
 
-#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418
-#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047
-#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347
-#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844
-#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327
-#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501
-#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974
-#: describe.c:6039 describe.c:7093
+#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415
+#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046
+#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343
+#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834
+#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317
+#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488
+#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955
+#: describe.c:6019 describe.c:7078
 msgid "Description"
 msgstr "Описание"
 
-#: describe.c:128
+#: describe.c:127
 msgid "List of aggregate functions"
 msgstr "Список агрегатных функций"
 
-#: describe.c:153
+#: describe.c:152
 #, c-format
 msgid "The server (version %s) does not support access methods."
 msgstr "Сервер (версия %s) не поддерживает методы доступа."
 
-#: describe.c:168
+#: describe.c:167
 msgid "Index"
 msgstr "Индекс"
 
-#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961
+#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942
 msgid "Table"
 msgstr "Таблица"
 
-#: describe.c:177 describe.c:5758
+#: describe.c:176 describe.c:5742
 msgid "Handler"
 msgstr "Обработчик"
 
-#: describe.c:201
+#: describe.c:199
 msgid "List of access methods"
 msgstr "Список методов доступа"
 
-#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188
-#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655
-#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266
-#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819
-#: describe.c:7081
+#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189
+#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647
+#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244
+#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807
+#: describe.c:7066
 msgid "Owner"
 msgstr "Владелец"
 
-#: describe.c:231
+#: describe.c:229
 msgid "Location"
 msgstr "Расположение"
 
-#: describe.c:241 describe.c:3517 describe.c:3858
+#: describe.c:239 describe.c:3517 describe.c:3857
 msgid "Options"
 msgstr "Параметры"
 
-#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001
+#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999
 msgid "Size"
 msgstr "Размер"
 
-#: describe.c:266
+#: describe.c:263
 msgid "List of tablespaces"
 msgstr "Список табличных пространств"
 
-#: describe.c:311
+#: describe.c:308
 #, c-format
 msgid "\\df only takes [anptwS+] as options"
 msgstr "\\df принимает в качестве параметров только [anptwS+]"
 
-#: describe.c:319
+#: describe.c:316
 #, c-format
 msgid "\\df does not take a \"%c\" option with server version %s"
 msgstr "\\df не поддерживает параметр \"%c\" с сервером версии %s"
 
 # well-spelled: агр
 #. translator: "agg" is short for "aggregate"
-#: describe.c:354 describe.c:372
+#: describe.c:351 describe.c:369
 msgid "agg"
 msgstr "агр."
 
-#: describe.c:355 describe.c:373
+#: describe.c:352 describe.c:370
 msgid "window"
 msgstr "оконная"
 
-#: describe.c:356
+#: describe.c:353
 msgid "proc"
 msgstr "проц."
 
 # well-spelled: функ
-#: describe.c:357 describe.c:375
+#: describe.c:354 describe.c:372
 msgid "func"
 msgstr "функ."
 
-#: describe.c:374 describe.c:1397
+#: describe.c:371 describe.c:1397
 msgid "trigger"
 msgstr "триггерная"
 
-#: describe.c:386
+#: describe.c:383
 msgid "immutable"
 msgstr "постоянная"
 
-#: describe.c:387
+#: describe.c:384
 msgid "stable"
 msgstr "стабильная"
 
-#: describe.c:388
+#: describe.c:385
 msgid "volatile"
 msgstr "изменчивая"
 
-#: describe.c:389
+#: describe.c:386
 msgid "Volatility"
 msgstr "Изменчивость"
 
-#: describe.c:397
+#: describe.c:394
 msgid "restricted"
 msgstr "ограниченная"
 
-#: describe.c:398
+#: describe.c:395
 msgid "safe"
 msgstr "безопасная"
 
-#: describe.c:399
+#: describe.c:396
 msgid "unsafe"
 msgstr "небезопасная"
 
-#: describe.c:400
+#: describe.c:397
 msgid "Parallel"
 msgstr "Параллельность"
 
-#: describe.c:405
+#: describe.c:402
 msgid "definer"
 msgstr "определившего"
 
-#: describe.c:406
+#: describe.c:403
 msgid "invoker"
 msgstr "вызывающего"
 
-#: describe.c:407
+#: describe.c:404
 msgid "Security"
 msgstr "Безопасность"
 
-#: describe.c:412
+#: describe.c:409
 msgid "Language"
 msgstr "Язык"
 
-#: describe.c:415 describe.c:652
+#: describe.c:412 describe.c:648
 msgid "Internal name"
 msgstr "Внутреннее имя"
 
-#: describe.c:589
+#: describe.c:585
 msgid "List of functions"
 msgstr "Список функций"
 
-#: describe.c:654
+#: describe.c:650
 msgid "Elements"
 msgstr "Элементы"
 
-#: describe.c:706
+#: describe.c:701
 msgid "List of data types"
 msgstr "Список типов данных"
 
-#: describe.c:809
+#: describe.c:804
 msgid "Left arg type"
 msgstr "Тип левого аргумента"
 
-#: describe.c:810
+#: describe.c:805
 msgid "Right arg type"
 msgstr "Тип правого аргумента"
 
-#: describe.c:811
+#: describe.c:806
 msgid "Result type"
 msgstr "Результирующий тип"
 
-#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326
-#: describe.c:7010 describe.c:7014
+#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316
+#: describe.c:6996 describe.c:7000
 msgid "Function"
 msgstr "Функция"
 
-#: describe.c:897
+#: describe.c:891
 msgid "List of operators"
 msgstr "Список операторов"
 
-#: describe.c:932
+#: describe.c:926
 msgid "Encoding"
 msgstr "Кодировка"
 
-#: describe.c:936 describe.c:940
+#: describe.c:930 describe.c:934
 msgid "Locale Provider"
 msgstr "Провайдер локали"
 
-#: describe.c:944 describe.c:4947
+#: describe.c:938 describe.c:4936
 msgid "Collate"
 msgstr "LC_COLLATE"
 
-#: describe.c:945 describe.c:4948
+#: describe.c:939 describe.c:4937
 msgid "Ctype"
 msgstr "LC_CTYPE"
 
-#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957
-msgid "ICU Locale"
-msgstr "локаль ICU"
+#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946
+#: describe.c:4950
+msgid "Locale"
+msgstr "Локаль"
 
-#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966
+#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959
 msgid "ICU Rules"
 msgstr "Правила ICU"
 
-#: describe.c:973
+#: describe.c:971
 msgid "Tablespace"
 msgstr "Табл. пространство"
 
-#: describe.c:999
+#: describe.c:996
 msgid "List of databases"
 msgstr "Список баз данных"
 
-#: describe.c:1040 describe.c:1191 describe.c:3949
+#: describe.c:1037 describe.c:1192 describe.c:3947
 msgid "table"
 msgstr "таблица"
 
-#: describe.c:1041 describe.c:3950
+#: describe.c:1038 describe.c:3948
 msgid "view"
 msgstr "представление"
 
-#: describe.c:1042 describe.c:3951
+#: describe.c:1039 describe.c:3949
 msgid "materialized view"
 msgstr "материализованное представление"
 
-#: describe.c:1043 describe.c:1193 describe.c:3953
+#: describe.c:1040 describe.c:1194 describe.c:3951
 msgid "sequence"
 msgstr "последовательность"
 
-#: describe.c:1044 describe.c:3955
+#: describe.c:1041 describe.c:3953
 msgid "foreign table"
 msgstr "сторонняя таблица"
 
-#: describe.c:1045 describe.c:3956 describe.c:4168
+#: describe.c:1042 describe.c:3954 describe.c:4165
 msgid "partitioned table"
 msgstr "секционированная таблица"
 
-#: describe.c:1056
+#: describe.c:1058
 msgid "Column privileges"
 msgstr "Права для столбцов"
 
-#: describe.c:1087 describe.c:1121
+#: describe.c:1089 describe.c:1123
 msgid "Policies"
 msgstr "Политики"
 
-#: describe.c:1150 describe.c:4577 describe.c:6678
+#: describe.c:1151 describe.c:4570 describe.c:6667
 msgid "Access privileges"
 msgstr "Права доступа"
 
-#: describe.c:1195
+#: describe.c:1196
 msgid "function"
 msgstr "функция"
 
-#: describe.c:1197
+#: describe.c:1198
 msgid "type"
 msgstr "тип"
 
-#: describe.c:1199
+#: describe.c:1200
 msgid "schema"
 msgstr "схема"
 
@@ -1429,295 +1482,295 @@ msgstr "семейство операторов"
 msgid "rule"
 msgstr "правило"
 
-#: describe.c:1421
+#: describe.c:1420
 msgid "Object descriptions"
 msgstr "Описание объекта"
 
-#: describe.c:1486 describe.c:4074
+#: describe.c:1485 describe.c:4072
 #, c-format
 msgid "Did not find any relation named \"%s\"."
 msgstr "Отношение \"%s\" не найдено."
 
-#: describe.c:1489 describe.c:4077
+#: describe.c:1488 describe.c:4075
 #, c-format
 msgid "Did not find any relations."
 msgstr "Отношения не найдены."
 
-#: describe.c:1685
+#: describe.c:1684
 #, c-format
 msgid "Did not find any relation with OID %s."
 msgstr "Отношение с OID %s не найдено."
 
-#: describe.c:1733 describe.c:1757
+#: describe.c:1732 describe.c:1756
 msgid "Start"
 msgstr "Начальное_значение"
 
-#: describe.c:1734 describe.c:1758
+#: describe.c:1733 describe.c:1757
 msgid "Minimum"
 msgstr "Минимум"
 
-#: describe.c:1735 describe.c:1759
+#: describe.c:1734 describe.c:1758
 msgid "Maximum"
 msgstr "Максимум"
 
-#: describe.c:1736 describe.c:1760
+#: describe.c:1735 describe.c:1759
 msgid "Increment"
 msgstr "Шаг"
 
-#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493
-#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721
+#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487
+#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710
 msgid "yes"
 msgstr "да"
 
-#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493
-#: describe.c:4835 describe.c:4971 describe.c:6722
+#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487
+#: describe.c:4825 describe.c:4964 describe.c:6711
 msgid "no"
 msgstr "нет"
 
-#: describe.c:1739 describe.c:1763
+#: describe.c:1738 describe.c:1762
 msgid "Cycles?"
 msgstr "Зацикливается?"
 
-#: describe.c:1740 describe.c:1764
+#: describe.c:1739 describe.c:1763
 msgid "Cache"
 msgstr "Кешируется"
 
-#: describe.c:1805
+#: describe.c:1804
 #, c-format
 msgid "Owned by: %s"
 msgstr "Владелец: %s"
 
-#: describe.c:1809
+#: describe.c:1808
 #, c-format
 msgid "Sequence for identity column: %s"
 msgstr "Последовательность для столбца идентификации: %s"
 
-#: describe.c:1817
+#: describe.c:1816
 #, c-format
 msgid "Unlogged sequence \"%s.%s\""
 msgstr "Нежурналируемая последовательность \"%s.%s\""
 
-#: describe.c:1820
+#: describe.c:1819
 #, c-format
 msgid "Sequence \"%s.%s\""
 msgstr "Последовательность \"%s.%s\""
 
-#: describe.c:1963
+#: describe.c:1962
 #, c-format
 msgid "Unlogged table \"%s.%s\""
 msgstr "Нежурналируемая таблица \"%s.%s\""
 
-#: describe.c:1966
+#: describe.c:1965
 #, c-format
 msgid "Table \"%s.%s\""
 msgstr "Таблица \"%s.%s\""
 
-#: describe.c:1970
+#: describe.c:1969
 #, c-format
 msgid "View \"%s.%s\""
 msgstr "Представление \"%s.%s\""
 
-#: describe.c:1975
+#: describe.c:1974
 #, c-format
 msgid "Unlogged materialized view \"%s.%s\""
 msgstr "Нежурналируемое материализованное представление \"%s.%s\""
 
-#: describe.c:1978
+#: describe.c:1977
 #, c-format
 msgid "Materialized view \"%s.%s\""
 msgstr "Материализованное представление \"%s.%s\""
 
-#: describe.c:1983
+#: describe.c:1982
 #, c-format
 msgid "Unlogged index \"%s.%s\""
 msgstr "Нежурналируемый индекс \"%s.%s\""
 
-#: describe.c:1986
+#: describe.c:1985
 #, c-format
 msgid "Index \"%s.%s\""
 msgstr "Индекс \"%s.%s\""
 
-#: describe.c:1991
+#: describe.c:1990
 #, c-format
 msgid "Unlogged partitioned index \"%s.%s\""
 msgstr "Нежурналируемый секционированный индекс \"%s.%s\""
 
-#: describe.c:1994
+#: describe.c:1993
 #, c-format
 msgid "Partitioned index \"%s.%s\""
 msgstr "Секционированный индекс \"%s.%s\""
 
-#: describe.c:1998
+#: describe.c:1997
 #, c-format
 msgid "TOAST table \"%s.%s\""
 msgstr "TOAST-таблица \"%s.%s\""
 
-#: describe.c:2002
+#: describe.c:2001
 #, c-format
 msgid "Composite type \"%s.%s\""
 msgstr "Составной тип \"%s.%s\""
 
-#: describe.c:2006
+#: describe.c:2005
 #, c-format
 msgid "Foreign table \"%s.%s\""
 msgstr "Сторонняя таблица \"%s.%s\""
 
-#: describe.c:2011
+#: describe.c:2010
 #, c-format
 msgid "Unlogged partitioned table \"%s.%s\""
 msgstr "Нежурналируемая секционированная таблица \"%s.%s\""
 
-#: describe.c:2014
+#: describe.c:2013
 #, c-format
 msgid "Partitioned table \"%s.%s\""
 msgstr "Секционированная таблица \"%s.%s\""
 
-#: describe.c:2030 describe.c:4410
+#: describe.c:2029 describe.c:4405
 msgid "Collation"
 msgstr "Правило сортировки"
 
-#: describe.c:2031 describe.c:4411
+#: describe.c:2030 describe.c:4406
 msgid "Nullable"
 msgstr "Допустимость NULL"
 
-#: describe.c:2032 describe.c:4412
+#: describe.c:2031 describe.c:4407
 msgid "Default"
 msgstr "По умолчанию"
 
-#: describe.c:2035
+#: describe.c:2034
 msgid "Key?"
 msgstr "Ключевой?"
 
-#: describe.c:2037 describe.c:4732 describe.c:4743
+#: describe.c:2036 describe.c:4723 describe.c:4734
 msgid "Definition"
 msgstr "Определение"
 
 # well-spelled: ОСД
-#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914
-#: describe.c:5973
+#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896
+#: describe.c:5954
 msgid "FDW options"
 msgstr "Параметры ОСД"
 
-#: describe.c:2041
+#: describe.c:2040
 msgid "Storage"
 msgstr "Хранилище"
 
-#: describe.c:2043
+#: describe.c:2042
 msgid "Compression"
 msgstr "Сжатие"
 
-#: describe.c:2045
+#: describe.c:2044
 msgid "Stats target"
 msgstr "Цель для статистики"
 
-#: describe.c:2181
+#: describe.c:2180
 #, c-format
 msgid "Partition of: %s %s%s"
 msgstr "Секция: %s %s%s"
 
-#: describe.c:2194
+#: describe.c:2193
 msgid "No partition constraint"
 msgstr "Нет ограничения секции"
 
-#: describe.c:2196
+#: describe.c:2195
 #, c-format
 msgid "Partition constraint: %s"
 msgstr "Ограничение секции: %s"
 
-#: describe.c:2220
+#: describe.c:2219
 #, c-format
 msgid "Partition key: %s"
 msgstr "Ключ разбиения: %s"
 
-#: describe.c:2246
+#: describe.c:2245
 #, c-format
 msgid "Owning table: \"%s.%s\""
 msgstr "Принадлежит таблице: \"%s.%s\""
 
-#: describe.c:2315
+#: describe.c:2314
 msgid "primary key, "
 msgstr "первичный ключ, "
 
-#: describe.c:2318
+#: describe.c:2317
 msgid "unique"
 msgstr "уникальный"
 
-#: describe.c:2320
+#: describe.c:2319
 msgid " nulls not distinct"
 msgstr " null не различаются"
 
-#: describe.c:2321
+#: describe.c:2320
 msgid ", "
 msgstr ", "
 
-#: describe.c:2328
+#: describe.c:2327
 #, c-format
 msgid "for table \"%s.%s\""
 msgstr "для таблицы \"%s.%s\""
 
-#: describe.c:2332
+#: describe.c:2331
 #, c-format
 msgid ", predicate (%s)"
 msgstr ", предикат (%s)"
 
-#: describe.c:2335
+#: describe.c:2334
 msgid ", clustered"
 msgstr ", кластеризованный"
 
-#: describe.c:2338
+#: describe.c:2337
 msgid ", invalid"
 msgstr ", нерабочий"
 
-#: describe.c:2341
+#: describe.c:2340
 msgid ", deferrable"
 msgstr ", откладываемый"
 
-#: describe.c:2344
+#: describe.c:2343
 msgid ", initially deferred"
 msgstr ", изначально отложенный"
 
-#: describe.c:2347
+#: describe.c:2346
 msgid ", replica identity"
 msgstr ", репликационный"
 
-#: describe.c:2401
+#: describe.c:2400
 msgid "Indexes:"
 msgstr "Индексы:"
 
-#: describe.c:2484
+#: describe.c:2483
 msgid "Check constraints:"
 msgstr "Ограничения-проверки:"
 
 # TO REWVIEW
-#: describe.c:2552
+#: describe.c:2551
 msgid "Foreign-key constraints:"
 msgstr "Ограничения внешнего ключа:"
 
-#: describe.c:2615
+#: describe.c:2614
 msgid "Referenced by:"
 msgstr "Ссылки извне:"
 
-#: describe.c:2665
+#: describe.c:2664
 msgid "Policies:"
 msgstr "Политики:"
 
-#: describe.c:2668
+#: describe.c:2667
 msgid "Policies (forced row security enabled):"
 msgstr "Политики (усиленная защита строк включена):"
 
-#: describe.c:2671
+#: describe.c:2670
 msgid "Policies (row security enabled): (none)"
 msgstr "Политики (защита строк включена): (Нет)"
 
-#: describe.c:2674
+#: describe.c:2673
 msgid "Policies (forced row security enabled): (none)"
 msgstr "Политики (усиленная защита строк включена): (Нет)"
 
-#: describe.c:2677
+#: describe.c:2676
 msgid "Policies (row security disabled):"
 msgstr "Политики (защита строк выключена):"
 
-#: describe.c:2737 describe.c:2841
+#: describe.c:2736 describe.c:2841
 msgid "Statistics objects:"
 msgstr "Объекты статистики:"
 
@@ -1737,7 +1790,7 @@ msgstr "Правила, срабатывающие всегда:"
 msgid "Rules firing on replica only:"
 msgstr "Правила, срабатывающие только в реплике:"
 
-#: describe.c:3031 describe.c:5109
+#: describe.c:3031 describe.c:5100
 msgid "Publications:"
 msgstr "Публикации:"
 
@@ -1837,7 +1890,7 @@ msgstr ", табл. пространство \"%s\""
 msgid "List of roles"
 msgstr "Список ролей"
 
-#: describe.c:3672 describe.c:3841
+#: describe.c:3672 describe.c:3840
 msgid "Role name"
 msgstr "Имя роли"
 
@@ -1916,370 +1969,370 @@ msgstr "Параметры для роли \"%s\" не найдены."
 msgid "Did not find any settings."
 msgstr "Никакие параметры не найдены."
 
-#: describe.c:3812
+#: describe.c:3811
 msgid "List of settings"
 msgstr "Список параметров"
 
-#: describe.c:3842
+#: describe.c:3841
 msgid "Member of"
 msgstr "Член ролей"
 
-#: describe.c:3859
+#: describe.c:3858
 msgid "Grantor"
 msgstr "Праводатель"
 
-#: describe.c:3886
+#: describe.c:3884
 msgid "List of role grants"
 msgstr "Список назначений ролей"
 
-#: describe.c:3952
+#: describe.c:3950
 msgid "index"
 msgstr "индекс"
 
-#: describe.c:3954
+#: describe.c:3952
 msgid "TOAST table"
 msgstr "TOAST-таблица"
 
-#: describe.c:3957 describe.c:4169
+#: describe.c:3955 describe.c:4166
 msgid "partitioned index"
 msgstr "секционированный индекс"
 
-#: describe.c:3977
+#: describe.c:3975
 msgid "permanent"
 msgstr "постоянное"
 
-#: describe.c:3978
+#: describe.c:3976
 msgid "temporary"
 msgstr "временное"
 
-#: describe.c:3979
+#: describe.c:3977
 msgid "unlogged"
 msgstr "нежурналируемое"
 
-#: describe.c:3980
+#: describe.c:3978
 msgid "Persistence"
 msgstr "Хранение"
 
-#: describe.c:3996
+#: describe.c:3994
 msgid "Access method"
 msgstr "Метод доступа"
 
-#: describe.c:4082
+#: describe.c:4079
 msgid "List of relations"
 msgstr "Список отношений"
 
-#: describe.c:4130
+#: describe.c:4127
 #, c-format
 msgid ""
 "The server (version %s) does not support declarative table partitioning."
 msgstr ""
 "Сервер (версия %s) не поддерживает декларативное секционирование таблиц."
 
-#: describe.c:4141
+#: describe.c:4138
 msgid "List of partitioned indexes"
 msgstr "Список секционированных индексов"
 
-#: describe.c:4143
+#: describe.c:4140
 msgid "List of partitioned tables"
 msgstr "Список секционированных таблиц"
 
-#: describe.c:4147
+#: describe.c:4144
 msgid "List of partitioned relations"
 msgstr "Список секционированных отношений"
 
-#: describe.c:4178
+#: describe.c:4175
 msgid "Parent name"
 msgstr "Имя родителя"
 
-#: describe.c:4191
+#: describe.c:4188
 msgid "Leaf partition size"
 msgstr "Размер конечной секции"
 
-#: describe.c:4194 describe.c:4200
+#: describe.c:4191 describe.c:4197
 msgid "Total size"
 msgstr "Общий размер"
 
-#: describe.c:4325
+#: describe.c:4321
 msgid "Trusted"
 msgstr "Доверенный"
 
-#: describe.c:4334
+#: describe.c:4330
 msgid "Internal language"
 msgstr "Внутренний язык"
 
-#: describe.c:4335
+#: describe.c:4331
 msgid "Call handler"
 msgstr "Обработчик вызова"
 
-#: describe.c:4336 describe.c:5759
+#: describe.c:4332 describe.c:5743
 msgid "Validator"
 msgstr "Функция проверки"
 
-#: describe.c:4337
+#: describe.c:4333
 msgid "Inline handler"
 msgstr "Обработчик внедрённого кода"
 
-#: describe.c:4372
+#: describe.c:4367
 msgid "List of languages"
 msgstr "Список языков"
 
-#: describe.c:4413
+#: describe.c:4408
 msgid "Check"
 msgstr "Проверка"
 
-#: describe.c:4457
+#: describe.c:4451
 msgid "List of domains"
 msgstr "Список доменов"
 
-#: describe.c:4491
+#: describe.c:4485
 msgid "Source"
 msgstr "Источник"
 
-#: describe.c:4492
+#: describe.c:4486
 msgid "Destination"
 msgstr "Назначение"
 
-#: describe.c:4494 describe.c:6723
+#: describe.c:4488 describe.c:6712
 msgid "Default?"
 msgstr "По умолчанию?"
 
-#: describe.c:4536
+#: describe.c:4529
 msgid "List of conversions"
 msgstr "Список преобразований"
 
-#: describe.c:4564
+#: describe.c:4557
 msgid "Parameter"
 msgstr "Параметр"
 
-#: describe.c:4565
+#: describe.c:4558
 msgid "Value"
 msgstr "Значение"
 
-#: describe.c:4572
+#: describe.c:4565
 msgid "Context"
 msgstr "Контекст"
 
-#: describe.c:4605
+#: describe.c:4597
 msgid "List of configuration parameters"
 msgstr "Список параметров конфигурации"
 
-#: describe.c:4607
+#: describe.c:4599
 msgid "List of non-default configuration parameters"
 msgstr "Список изменённых параметров конфигурации"
 
-#: describe.c:4634
+#: describe.c:4626
 #, c-format
 msgid "The server (version %s) does not support event triggers."
 msgstr "Сервер (версия %s) не поддерживает событийные триггеры."
 
-#: describe.c:4654
+#: describe.c:4646
 msgid "Event"
 msgstr "Событие"
 
-#: describe.c:4656
+#: describe.c:4648
 msgid "enabled"
 msgstr "включён"
 
-#: describe.c:4657
+#: describe.c:4649
 msgid "replica"
 msgstr "реплика"
 
-#: describe.c:4658
+#: describe.c:4650
 msgid "always"
 msgstr "всегда"
 
-#: describe.c:4659
+#: describe.c:4651
 msgid "disabled"
 msgstr "отключён"
 
-#: describe.c:4660 describe.c:6575
+#: describe.c:4652 describe.c:6553
 msgid "Enabled"
 msgstr "Включён"
 
-#: describe.c:4662
+#: describe.c:4654
 msgid "Tags"
 msgstr "Теги"
 
-#: describe.c:4686
+#: describe.c:4677
 msgid "List of event triggers"
 msgstr "Список событийных триггеров"
 
-#: describe.c:4713
+#: describe.c:4704
 #, c-format
 msgid "The server (version %s) does not support extended statistics."
 msgstr "Сервер (версия %s) не поддерживает расширенные статистики."
 
-#: describe.c:4750
+#: describe.c:4741
 msgid "Ndistinct"
 msgstr "Ndistinct"
 
-#: describe.c:4751
+#: describe.c:4742
 msgid "Dependencies"
 msgstr "Зависимости"
 
-#: describe.c:4761
+#: describe.c:4752
 msgid "MCV"
 msgstr "MCV"
 
-#: describe.c:4785
+#: describe.c:4775
 msgid "List of extended statistics"
 msgstr "Список расширенных статистик"
 
-#: describe.c:4812
+#: describe.c:4802
 msgid "Source type"
 msgstr "Исходный тип"
 
-#: describe.c:4813
+#: describe.c:4803
 msgid "Target type"
 msgstr "Целевой тип"
 
-#: describe.c:4837
+#: describe.c:4827
 msgid "in assignment"
 msgstr "в присваивании"
 
-#: describe.c:4839
+#: describe.c:4829
 msgid "Implicit?"
 msgstr "Неявное?"
 
-#: describe.c:4898
+#: describe.c:4887
 msgid "List of casts"
 msgstr "Список приведений типов"
 
-#: describe.c:4938 describe.c:4942
+#: describe.c:4927 describe.c:4931
 msgid "Provider"
 msgstr "Провайдер"
 
-#: describe.c:4972 describe.c:4977
+#: describe.c:4965 describe.c:4970
 msgid "Deterministic?"
 msgstr "Детерминированное?"
 
-#: describe.c:5017
+#: describe.c:5009
 msgid "List of collations"
 msgstr "Список правил сортировки"
 
-#: describe.c:5079
+#: describe.c:5070
 msgid "List of schemas"
 msgstr "Список схем"
 
-#: describe.c:5196
+#: describe.c:5186
 msgid "List of text search parsers"
 msgstr "Список анализаторов текстового поиска"
 
-#: describe.c:5246
+#: describe.c:5236
 #, c-format
 msgid "Did not find any text search parser named \"%s\"."
 msgstr "Анализатор текстового поиска \"%s\" не найден."
 
-#: describe.c:5249
+#: describe.c:5239
 #, c-format
 msgid "Did not find any text search parsers."
 msgstr "Никакие анализаторы текстового поиска не найдены."
 
-#: describe.c:5324
+#: describe.c:5314
 msgid "Start parse"
 msgstr "Начало разбора"
 
-#: describe.c:5325
+#: describe.c:5315
 msgid "Method"
 msgstr "Метод"
 
-#: describe.c:5329
+#: describe.c:5319
 msgid "Get next token"
 msgstr "Получение следующего фрагмента"
 
-#: describe.c:5331
+#: describe.c:5321
 msgid "End parse"
 msgstr "Окончание разбора"
 
-#: describe.c:5333
+#: describe.c:5323
 msgid "Get headline"
 msgstr "Получение выдержки"
 
-#: describe.c:5335
+#: describe.c:5325
 msgid "Get token types"
 msgstr "Получение типов фрагментов"
 
-#: describe.c:5346
+#: describe.c:5335
 #, c-format
 msgid "Text search parser \"%s.%s\""
 msgstr "Анализатор текстового поиска \"%s.%s\""
 
-#: describe.c:5349
+#: describe.c:5338
 #, c-format
 msgid "Text search parser \"%s\""
 msgstr "Анализатор текстового поиска \"%s\""
 
-#: describe.c:5368
+#: describe.c:5357
 msgid "Token name"
 msgstr "Имя фрагмента"
 
-#: describe.c:5382
+#: describe.c:5370
 #, c-format
 msgid "Token types for parser \"%s.%s\""
 msgstr "Типы фрагментов для анализатора \"%s.%s\""
 
-#: describe.c:5385
+#: describe.c:5373
 #, c-format
 msgid "Token types for parser \"%s\""
 msgstr "Типы фрагментов для анализатора \"%s\""
 
-#: describe.c:5429
+#: describe.c:5417
 msgid "Template"
 msgstr "Шаблон"
 
-#: describe.c:5430
+#: describe.c:5418
 msgid "Init options"
 msgstr "Параметры инициализации"
 
-#: describe.c:5457
+#: describe.c:5444
 msgid "List of text search dictionaries"
 msgstr "Список словарей текстового поиска"
 
-#: describe.c:5490
+#: describe.c:5477
 msgid "Init"
 msgstr "Инициализация"
 
-#: describe.c:5491
+#: describe.c:5478
 msgid "Lexize"
 msgstr "Выделение лексем"
 
-#: describe.c:5523
+#: describe.c:5509
 msgid "List of text search templates"
 msgstr "Список шаблонов текстового поиска"
 
-#: describe.c:5578
+#: describe.c:5563
 msgid "List of text search configurations"
 msgstr "Список конфигураций текстового поиска"
 
-#: describe.c:5629
+#: describe.c:5614
 #, c-format
 msgid "Did not find any text search configuration named \"%s\"."
 msgstr "Конфигурация текстового поиска \"%s\" не найдена."
 
-#: describe.c:5632
+#: describe.c:5617
 #, c-format
 msgid "Did not find any text search configurations."
 msgstr "Никакие конфигурации текстового поиска не найдены."
 
-#: describe.c:5698
+#: describe.c:5683
 msgid "Token"
 msgstr "Фрагмент"
 
-#: describe.c:5699
+#: describe.c:5684
 msgid "Dictionaries"
 msgstr "Словари"
 
-#: describe.c:5710
+#: describe.c:5695
 #, c-format
 msgid "Text search configuration \"%s.%s\""
 msgstr "Конфигурация текстового поиска \"%s.%s\""
 
-#: describe.c:5713
+#: describe.c:5698
 #, c-format
 msgid "Text search configuration \"%s\""
 msgstr "Конфигурация текстового поиска \"%s\""
 
-#: describe.c:5717
+#: describe.c:5702
 #, c-format
 msgid ""
 "\n"
@@ -2288,7 +2341,7 @@ msgstr ""
 "\n"
 "Анализатор: \"%s.%s\""
 
-#: describe.c:5720
+#: describe.c:5705
 #, c-format
 msgid ""
 "\n"
@@ -2297,265 +2350,273 @@ msgstr ""
 "\n"
 "Анализатор: \"%s\""
 
-#: describe.c:5801
+#: describe.c:5784
 msgid "List of foreign-data wrappers"
 msgstr "Список обёрток сторонних данных"
 
-#: describe.c:5829
+#: describe.c:5812
 msgid "Foreign-data wrapper"
 msgstr "Обёртка сторонних данных"
 
-#: describe.c:5847 describe.c:6037
+#: describe.c:5830 describe.c:6017
 msgid "Version"
 msgstr "Версия"
 
-#: describe.c:5878
+#: describe.c:5860
 msgid "List of foreign servers"
 msgstr "Список сторонних серверов"
 
-#: describe.c:5903 describe.c:5962
+#: describe.c:5885 describe.c:5943
 msgid "Server"
 msgstr "Сервер"
 
-#: describe.c:5904
+#: describe.c:5886
 msgid "User name"
 msgstr "Имя пользователя"
 
-#: describe.c:5934
+#: describe.c:5915
 msgid "List of user mappings"
 msgstr "Список сопоставлений пользователей"
 
-#: describe.c:6007
+#: describe.c:5987
 msgid "List of foreign tables"
 msgstr "Список сторонних таблиц"
 
-#: describe.c:6059
+#: describe.c:6038
 msgid "List of installed extensions"
 msgstr "Список установленных расширений"
 
-#: describe.c:6107
+#: describe.c:6086
 #, c-format
 msgid "Did not find any extension named \"%s\"."
 msgstr "Расширение \"%s\" не найдено."
 
-#: describe.c:6110
+#: describe.c:6089
 #, c-format
 msgid "Did not find any extensions."
 msgstr "Никакие расширения не найдены."
 
-#: describe.c:6154
+#: describe.c:6133
 msgid "Object description"
 msgstr "Описание объекта"
 
-#: describe.c:6164
+#: describe.c:6142
 #, c-format
 msgid "Objects in extension \"%s\""
 msgstr "Объекты в расширении \"%s\""
 
-#: describe.c:6205
+#: describe.c:6183
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: describe.c:6219
+#: describe.c:6197
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
-#: describe.c:6250 describe.c:6377
+#: describe.c:6228 describe.c:6354
 #, c-format
 msgid "The server (version %s) does not support publications."
 msgstr "Сервер (версия %s) не поддерживает публикации."
 
-#: describe.c:6267 describe.c:6455
+#: describe.c:6245 describe.c:6432
 msgid "All tables"
 msgstr "Все таблицы"
 
-#: describe.c:6268 describe.c:6456
+#: describe.c:6246 describe.c:6433
 msgid "Inserts"
 msgstr "Добавления"
 
-#: describe.c:6269 describe.c:6457
+#: describe.c:6247 describe.c:6434
 msgid "Updates"
 msgstr "Изменения"
 
-#: describe.c:6270 describe.c:6458
+#: describe.c:6248 describe.c:6435
 msgid "Deletes"
 msgstr "Удаления"
 
-#: describe.c:6274 describe.c:6460
+#: describe.c:6252 describe.c:6437
 msgid "Truncates"
 msgstr "Опустошения"
 
-#: describe.c:6278 describe.c:6462
+#: describe.c:6256 describe.c:6439
 msgid "Via root"
 msgstr "Через корень"
 
-#: describe.c:6300
+#: describe.c:6277
 msgid "List of publications"
 msgstr "Список публикаций"
 
-#: describe.c:6424
+#: describe.c:6401
 #, c-format
 msgid "Did not find any publication named \"%s\"."
 msgstr "Публикация \"%s\" не найдена."
 
-#: describe.c:6427
+#: describe.c:6404
 #, c-format
 msgid "Did not find any publications."
 msgstr "Никакие публикации не найдены."
 
-#: describe.c:6451
+#: describe.c:6428
 #, c-format
 msgid "Publication %s"
 msgstr "Публикация %s"
 
-#: describe.c:6504
+#: describe.c:6481
 msgid "Tables:"
 msgstr "Таблицы:"
 
-#: describe.c:6516
+#: describe.c:6493
 msgid "Tables from schemas:"
 msgstr "Таблицы из схем:"
 
-#: describe.c:6560
+#: describe.c:6538
 #, c-format
 msgid "The server (version %s) does not support subscriptions."
 msgstr "Сервер (версия %s) не поддерживает подписки."
 
-#: describe.c:6576
+#: describe.c:6554
 msgid "Publication"
 msgstr "Публикация"
 
-#: describe.c:6585
+#: describe.c:6563
 msgid "Binary"
 msgstr "Бинарная"
 
-#: describe.c:6594 describe.c:6598
+#: describe.c:6572 describe.c:6576
 msgid "Streaming"
 msgstr "Потоковая"
 
-#: describe.c:6606
+#: describe.c:6584
 msgid "Two-phase commit"
 msgstr "Двухфазная фиксация"
 
-#: describe.c:6607
+#: describe.c:6585
 msgid "Disable on error"
 msgstr "Отключается при ошибке"
 
-#: describe.c:6614
+#: describe.c:6592
 msgid "Origin"
 msgstr "Источник"
 
-#: describe.c:6615
+#: describe.c:6593
 msgid "Password required"
 msgstr "Требуется пароль"
 
-#: describe.c:6616
+#: describe.c:6594
 msgid "Run as owner?"
 msgstr "Использовать владельца?"
 
-#: describe.c:6621
+#: describe.c:6599
+msgid "Failover"
+msgstr "Переносимая"
+
+#: describe.c:6604
 msgid "Synchronous commit"
 msgstr "Синхронная фиксация"
 
-#: describe.c:6622
+#: describe.c:6605
 msgid "Conninfo"
 msgstr "Строка подключения"
 
-#: describe.c:6628
+#: describe.c:6611
 msgid "Skip LSN"
 msgstr "Пропустить LSN"
 
-#: describe.c:6655
+#: describe.c:6637
 msgid "List of subscriptions"
 msgstr "Список подписок"
 
-#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001
+#: describe.c:6666
+msgid "(none)"
+msgstr "(нет)"
+
+#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987
 msgid "AM"
 msgstr "МД"
 
-#: describe.c:6718
+#: describe.c:6707
 msgid "Input type"
 msgstr "Входной тип"
 
-#: describe.c:6719
+#: describe.c:6708
 msgid "Storage type"
 msgstr "Тип хранения"
 
-#: describe.c:6720
+#: describe.c:6709
 msgid "Operator class"
 msgstr "Класс операторов"
 
-#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002
+#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988
 msgid "Operator family"
 msgstr "Семейство операторов"
 
-#: describe.c:6768
+#: describe.c:6756
 msgid "List of operator classes"
 msgstr "Список классов операторов"
 
-#: describe.c:6815
+#: describe.c:6803
 msgid "Applicable types"
 msgstr "Применимые типы"
 
-#: describe.c:6857
+#: describe.c:6844
 msgid "List of operator families"
 msgstr "Список семейств операторов"
 
-#: describe.c:6908
+#: describe.c:6895
 msgid "Operator"
 msgstr "Оператор"
 
-#: describe.c:6909
+#: describe.c:6896
 msgid "Strategy"
 msgstr "Стратегия"
 
-#: describe.c:6910
+#: describe.c:6897
 msgid "ordering"
 msgstr "сортировка"
 
-#: describe.c:6911
+#: describe.c:6898
 msgid "search"
 msgstr "поиск"
 
-#: describe.c:6912
+#: describe.c:6899
 msgid "Purpose"
 msgstr "Назначение"
 
-#: describe.c:6917
+#: describe.c:6904
 msgid "Sort opfamily"
 msgstr "Семейство для сортировки"
 
-#: describe.c:6956
+#: describe.c:6942
 msgid "List of operators of operator families"
 msgstr "Список операторов из семейств операторов"
 
-#: describe.c:7003
+#: describe.c:6989
 msgid "Registered left type"
 msgstr "Зарегистрированный левый тип"
 
-#: describe.c:7004
+#: describe.c:6990
 msgid "Registered right type"
 msgstr "Зарегистрированный правый тип"
 
-#: describe.c:7005
+#: describe.c:6991
 msgid "Number"
 msgstr "Номер"
 
-#: describe.c:7049
+#: describe.c:7034
 msgid "List of support functions of operator families"
 msgstr "Список опорных функций из семейств операторов"
 
-#: describe.c:7080
+#: describe.c:7065
 msgid "ID"
 msgstr "ID"
 
-#: describe.c:7101
+#: describe.c:7085
 msgid "Large objects"
 msgstr "Большие объекты"
 
-#: help.c:75
+#: help.c:63
 msgid ""
 "psql is the PostgreSQL interactive terminal.\n"
 "\n"
@@ -2563,11 +2624,11 @@ msgstr ""
 "psql - это интерактивный терминал PostgreSQL.\n"
 "\n"
 
-#: help.c:76 help.c:395 help.c:479 help.c:522
+#: help.c:64 help.c:372 help.c:456 help.c:499
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: help.c:77
+#: help.c:65
 msgid ""
 "  psql [OPTION]... [DBNAME [USERNAME]]\n"
 "\n"
@@ -2575,11 +2636,11 @@ msgstr ""
 "  psql [ПАРАМЕТР]... [БД [ПОЛЬЗОВАТЕЛЬ]]\n"
 "\n"
 
-#: help.c:79
+#: help.c:67
 msgid "General options:\n"
 msgstr "Общие параметры:\n"
 
-#: help.c:84
+#: help.c:68
 msgid ""
 "  -c, --command=COMMAND    run only single command (SQL or internal) and "
 "exit\n"
@@ -2587,23 +2648,19 @@ msgstr ""
 "  -c, --command=КОМАНДА    выполнить одну команду (SQL или внутреннюю) и "
 "выйти\n"
 
-#: help.c:85
-#, c-format
-msgid ""
-"  -d, --dbname=DBNAME      database name to connect to (default: \"%s\")\n"
-msgstr ""
-"  -d, --dbname=БД          имя подключаемой базы данных (по умолчанию "
-"\"%s\")\n"
+#: help.c:69
+msgid "  -d, --dbname=DBNAME      database name to connect to\n"
+msgstr "  -d, --dbname=БД          имя целевой базы данных\n"
 
-#: help.c:87
+#: help.c:70
 msgid "  -f, --file=FILENAME      execute commands from file, then exit\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА     выполнить команды из файла и выйти\n"
 
-#: help.c:88
+#: help.c:71
 msgid "  -l, --list               list available databases, then exit\n"
 msgstr "  -l, --list               вывести список баз данных и выйти\n"
 
-#: help.c:89
+#: help.c:72
 msgid ""
 "  -v, --set=, --variable=NAME=VALUE\n"
 "                           set psql variable NAME to VALUE\n"
@@ -2613,16 +2670,16 @@ msgstr ""
 "                           присвоить переменной psql ИМЯ заданное ЗНАЧЕНИЕ\n"
 "                           (например: -v ON_ERROR_STOP=1)\n"
 
-#: help.c:92
+#: help.c:75
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: help.c:93
+#: help.c:76
 msgid "  -X, --no-psqlrc          do not read startup file (~/.psqlrc)\n"
 msgstr ""
 "  -X, --no-psqlrc          игнорировать файл параметров запуска (~/.psqlrc)\n"
 
-#: help.c:94
+#: help.c:77
 msgid ""
 "  -1 (\"one\"), --single-transaction\n"
 "                           execute as a single transaction (if non-"
@@ -2632,20 +2689,20 @@ msgstr ""
 "                           выполнить как одну транзакцию\n"
 "                           (в неинтерактивном режиме)\n"
 
-#: help.c:96
+#: help.c:79
 msgid "  -?, --help[=options]     show this help, then exit\n"
 msgstr "  -?, --help[=options]     показать эту справку и выйти\n"
 
-#: help.c:97
+#: help.c:80
 msgid "      --help=commands      list backslash commands, then exit\n"
 msgstr "      --help=commands      перечислить команды с \\ и выйти\n"
 
-#: help.c:98
+#: help.c:81
 msgid "      --help=variables     list special variables, then exit\n"
 msgstr ""
 "      --help=variables     перечислить специальные переменные и выйти\n"
 
-#: help.c:100
+#: help.c:83
 msgid ""
 "\n"
 "Input and output options:\n"
@@ -2653,54 +2710,54 @@ msgstr ""
 "\n"
 "Параметры ввода/вывода:\n"
 
-#: help.c:101
+#: help.c:84
 msgid "  -a, --echo-all           echo all input from script\n"
 msgstr "  -a, --echo-all           отображать все команды из скрипта\n"
 
-#: help.c:102
+#: help.c:85
 msgid "  -b, --echo-errors        echo failed commands\n"
 msgstr "  -b, --echo-errors        отображать команды с ошибками\n"
 
-#: help.c:103
+#: help.c:86
 msgid "  -e, --echo-queries       echo commands sent to server\n"
 msgstr "  -e, --echo-queries       отображать команды, отправляемые серверу\n"
 
-#: help.c:104
+#: help.c:87
 msgid ""
 "  -E, --echo-hidden        display queries that internal commands generate\n"
 msgstr ""
 "  -E, --echo-hidden        выводить запросы, порождённые внутренними "
 "командами\n"
 
-#: help.c:105
+#: help.c:88
 msgid "  -L, --log-file=FILENAME  send session log to file\n"
 msgstr "  -L, --log-file=ИМЯ_ФАЙЛА сохранять протокол работы в файл\n"
 
-#: help.c:106
+#: help.c:89
 msgid ""
 "  -n, --no-readline        disable enhanced command line editing (readline)\n"
 msgstr ""
 "  -n, --no-readline        отключить редактор командной строки readline\n"
 
-#: help.c:107
+#: help.c:90
 msgid "  -o, --output=FILENAME    send query results to file (or |pipe)\n"
 msgstr ""
 "  -o, --output=ИМЯ_ФАЙЛА   направить результаты запроса в файл (или канал "
 "|)\n"
 
-#: help.c:108
+#: help.c:91
 msgid ""
 "  -q, --quiet              run quietly (no messages, only query output)\n"
 msgstr ""
 "  -q, --quiet              показывать только результаты запросов, без "
 "сообщений\n"
 
-#: help.c:109
+#: help.c:92
 msgid "  -s, --single-step        single-step mode (confirm each query)\n"
 msgstr ""
 "  -s, --single-step        пошаговый режим (подтверждение каждого запроса)\n"
 
-#: help.c:110
+#: help.c:93
 msgid ""
 "  -S, --single-line        single-line mode (end of line terminates SQL "
 "command)\n"
@@ -2708,7 +2765,7 @@ msgstr ""
 "  -S, --single-line        однострочный режим (конец строки завершает "
 "команду)\n"
 
-#: help.c:112
+#: help.c:95
 msgid ""
 "\n"
 "Output format options:\n"
@@ -2716,11 +2773,11 @@ msgstr ""
 "\n"
 "Параметры вывода:\n"
 
-#: help.c:113
+#: help.c:96
 msgid "  -A, --no-align           unaligned table output mode\n"
 msgstr "  -A, --no-align           режим вывода невыровненной таблицы\n"
 
-#: help.c:114
+#: help.c:97
 msgid ""
 "      --csv                CSV (Comma-Separated Values) table output mode\n"
 msgstr ""
@@ -2728,7 +2785,7 @@ msgstr ""
 "разделённые\n"
 "                           запятыми)\n"
 
-#: help.c:115
+#: help.c:98
 #, c-format
 msgid ""
 "  -F, --field-separator=STRING\n"
@@ -2739,11 +2796,11 @@ msgstr ""
 "                           разделителей полей при невыровненном выводе\n"
 "                           (по умолчанию: \"%s\")\n"
 
-#: help.c:118
+#: help.c:101
 msgid "  -H, --html               HTML table output mode\n"
 msgstr "  -H, --html               вывод таблицы в формате HTML\n"
 
-#: help.c:119
+#: help.c:102
 msgid ""
 "  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \\pset "
 "command)\n"
@@ -2752,7 +2809,7 @@ msgstr ""
 "ЗНАЧЕНИЕМ)\n"
 "                           (см. описание \\pset)\n"
 
-#: help.c:120
+#: help.c:103
 msgid ""
 "  -R, --record-separator=STRING\n"
 "                           record separator for unaligned output (default: "
@@ -2762,22 +2819,22 @@ msgstr ""
 "                           разделитель записей при невыровненном выводе\n"
 "                           (по умолчанию: новая строка)\n"
 
-#: help.c:122
+#: help.c:105
 msgid "  -t, --tuples-only        print rows only\n"
 msgstr "  -t, --tuples-only        выводить только кортежи\n"
 
-#: help.c:123
+#: help.c:106
 msgid ""
 "  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, "
 "border)\n"
 msgstr ""
 "  -T, --table-attr=ТЕКСТ   установить атрибуты HTML-таблицы (width, border)\n"
 
-#: help.c:124
+#: help.c:107
 msgid "  -x, --expanded           turn on expanded table output\n"
 msgstr "  -x, --expanded           включить развёрнутый вывод таблицы\n"
 
-#: help.c:125
+#: help.c:108
 msgid ""
 "  -z, --field-separator-zero\n"
 "                           set field separator for unaligned output to zero "
@@ -2787,7 +2844,7 @@ msgstr ""
 "                           сделать разделителем полей при невыровненном\n"
 "                           выводе нулевой байт\n"
 
-#: help.c:127
+#: help.c:110
 msgid ""
 "  -0, --record-separator-zero\n"
 "                           set record separator for unaligned output to zero "
@@ -2797,7 +2854,7 @@ msgstr ""
 "                           сделать разделителем записей при невыровненном\n"
 "                           нулевой байт\n"
 
-#: help.c:130
+#: help.c:113
 msgid ""
 "\n"
 "Connection options:\n"
@@ -2805,42 +2862,32 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: help.c:133
-#, c-format
-msgid ""
-"  -h, --host=HOSTNAME      database server host or socket directory "
-"(default: \"%s\")\n"
+#: help.c:114
+msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
-"  -h, --host=Ð\98Ð\9cЯ           Ð¸Ð¼Ñ\8f Ñ\81еÑ\80веÑ\80а Ð±Ð°Ð· Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð»Ð¸ ÐºÐ°Ñ\82алог Ñ\81океÑ\82ов\n"
-"                           (по умолчанию: \"%s\")\n"
+"  -h, --host=Ð\98Ð\9cЯ           ÐºÐ¾Ð¼Ð¿Ñ\8cÑ\8eÑ\82еÑ\80 Ñ\81 Ñ\81еÑ\80веÑ\80ом Ð±Ð°Ð· Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¸Ð»Ð¸ ÐºÐ°Ñ\82алог "
+"сокетов\n"
 
-#: help.c:134
-msgid "local socket"
-msgstr "локальный сокет"
-
-#: help.c:137
-#, c-format
-msgid "  -p, --port=PORT          database server port (default: \"%s\")\n"
-msgstr ""
-"  -p, --port=ПОРТ          порт сервера баз данных (по умолчанию: \"%s\")\n"
+#: help.c:115
+msgid "  -p, --port=PORT          database server port\n"
+msgstr "  -p, --port=ПОРТ          порт сервера баз данных\n"
 
-#: help.c:140
-#, c-format
-msgid "  -U, --username=USERNAME  database user name (default: \"%s\")\n"
-msgstr "  -U, --username=ИМЯ       имя пользователя (по умолчанию: \"%s\")\n"
+#: help.c:116
+msgid "  -U, --username=USERNAME  database user name\n"
+msgstr "  -U, --username=ИМЯ       имя пользователя БД\n"
 
-#: help.c:142
+#: help.c:117
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        не запрашивать пароль\n"
 
-#: help.c:143
+#: help.c:118
 msgid ""
 "  -W, --password           force password prompt (should happen "
 "automatically)\n"
 msgstr ""
 "  -W, --password           запрашивать пароль всегда (обычно не требуется)\n"
 
-#: help.c:145
+#: help.c:120
 msgid ""
 "\n"
 "For more information, type \"\\?\" (for internal commands) or "
@@ -2856,40 +2903,40 @@ msgstr ""
 "документации PostgreSQL.\n"
 "\n"
 
-#: help.c:148
+#: help.c:123
 #, c-format
 msgid "Report bugs to <%s>.\n"
 msgstr "Об ошибках сообщайте по адресу <%s>.\n"
 
-#: help.c:149
+#: help.c:124
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: <%s>\n"
 
-#: help.c:191
+#: help.c:166
 msgid "General\n"
 msgstr "Общие\n"
 
-#: help.c:192
+#: help.c:167
 msgid "  \\bind [PARAM]...       set query parameters\n"
 msgstr "  \\bind [ПАРАМЕТР]...    задать параметры запроса\n"
 
 # skip-rule: copyright
-#: help.c:193
+#: help.c:168
 msgid ""
 "  \\copyright             show PostgreSQL usage and distribution terms\n"
 msgstr ""
 "  \\copyright             условия использования и распространения "
 "PostgreSQL\n"
 
-#: help.c:194
+#: help.c:169
 msgid ""
 "  \\crosstabview [COLUMNS] execute query and display result in crosstab\n"
 msgstr ""
 "  \\crosstabview [СТОЛБЦЫ] выполнить запрос и вывести результат в "
 "перекрёстном виде\n"
 
-#: help.c:195
+#: help.c:170
 msgid ""
 "  \\errverbose            show most recent error message at maximum "
 "verbosity\n"
@@ -2897,7 +2944,7 @@ msgstr ""
 "  \\errverbose            вывести максимально подробное сообщение о "
 "последней ошибке\n"
 
-#: help.c:196
+#: help.c:171
 msgid ""
 "  \\g [(OPTIONS)] [FILE]  execute query (and send result to file or |pipe);\n"
 "                         \\g with no arguments is equivalent to a semicolon\n"
@@ -2906,13 +2953,13 @@ msgstr ""
 "                          или канал |); \\g без аргументов равнозначно \";"
 "\"\n"
 
-#: help.c:198
+#: help.c:173
 msgid ""
 "  \\gdesc                 describe result of query, without executing it\n"
 msgstr ""
 "  \\gdesc                 описать результат запроса, но не выполнять его\n"
 
-#: help.c:199
+#: help.c:174
 msgid ""
 "  \\gexec                 execute query, then execute each value in its "
 "result\n"
@@ -2920,7 +2967,7 @@ msgstr ""
 "  \\gexec                 выполнить запрос, а затем выполнить каждую строку "
 "в результате\n"
 
-#: help.c:200
+#: help.c:175
 msgid ""
 "  \\gset [PREFIX]         execute query and store result in psql variables\n"
 msgstr ""
@@ -2928,56 +2975,60 @@ msgstr ""
 "переменных\n"
 "                         psql\n"
 
-#: help.c:201
+#: help.c:176
 msgid "  \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n"
 msgstr ""
 "  \\gx [(ПАРАМЕТРЫ)] [ФАЙЛ] то же, что \\g, но в режиме развёрнутого вывода\n"
 
-#: help.c:202
+#: help.c:177
 msgid "  \\q                     quit psql\n"
 msgstr "  \\q                     выйти из psql\n"
 
-#: help.c:203
+#: help.c:178
 msgid ""
-"  \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n"
+"  \\watch [[i=]SEC] [c=N] [m=MIN]\n"
+"                         execute query every SEC seconds, up to N times,\n"
+"                         stop if less than MIN rows are returned\n"
 msgstr ""
-"  \\watch [[i=]СЕК] [c=N] повторять запрос через заданное число секунд, не\n"
-"                         более N раз\n"
+"  \\watch [[i=]СЕК] [c=N] [m=MIN]\n"
+"                         повторять запрос через заданное число секунд, не "
+"более\n"
+"                         N раз, остановиться, если получено менее MIN строк\n"
 
-#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306
-#: help.c:326 help.c:339 help.c:348
+#: help.c:181 help.c:189 help.c:201 help.c:211 help.c:218 help.c:275 help.c:283
+#: help.c:303 help.c:316 help.c:325
 msgid "\n"
 msgstr "\n"
 
-#: help.c:206
+#: help.c:183
 msgid "Help\n"
 msgstr "Справка\n"
 
-#: help.c:208
+#: help.c:185
 msgid "  \\? [commands]          show help on backslash commands\n"
 msgstr "  \\? [commands]          справка по командам psql c \\\n"
 
-#: help.c:209
+#: help.c:186
 msgid "  \\? options             show help on psql command-line options\n"
 msgstr ""
 "  \\? options             справка по параметрам командной строки psql\n"
 
-#: help.c:210
+#: help.c:187
 msgid "  \\? variables           show help on special variables\n"
 msgstr "  \\? variables           справка по специальным переменным\n"
 
-#: help.c:211
+#: help.c:188
 msgid ""
 "  \\h [NAME]              help on syntax of SQL commands, * for all "
 "commands\n"
 msgstr ""
 "  \\h [ИМЯ]               справка по заданному SQL-оператору; * - по всем\n"
 
-#: help.c:214
+#: help.c:191
 msgid "Query Buffer\n"
 msgstr "Буфер запроса\n"
 
-#: help.c:215
+#: help.c:192
 msgid ""
 "  \\e [FILE] [LINE]       edit the query buffer (or file) with external "
 "editor\n"
@@ -2985,45 +3036,45 @@ msgstr ""
 "  \\e [ФАЙЛ] [СТРОКА]     править буфер запроса (или файл) во внешнем "
 "редакторе\n"
 
-#: help.c:216
+#: help.c:193
 msgid ""
 "  \\ef [FUNCNAME [LINE]]  edit function definition with external editor\n"
 msgstr ""
 "  \\ef [ФУНКЦИЯ [СТРОКА]] править определение функции во внешнем редакторе\n"
 
-#: help.c:217
+#: help.c:194
 msgid "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
 msgstr ""
 "  \\ev [VIEWNAME [LINE]]  править определение представления во внешнем "
 "редакторе\n"
 
-#: help.c:218
+#: help.c:195
 msgid "  \\p                     show the contents of the query buffer\n"
 msgstr "  \\p                     вывести содержимое буфера запросов\n"
 
-#: help.c:219
+#: help.c:196
 msgid "  \\r                     reset (clear) the query buffer\n"
 msgstr "  \\r                     очистить буфер запроса\n"
 
-#: help.c:221
+#: help.c:198
 msgid "  \\s [FILE]              display history or save it to file\n"
 msgstr "  \\s [ФАЙЛ]              вывести историю или сохранить её в файл\n"
 
-#: help.c:223
+#: help.c:200
 msgid "  \\w FILE                write query buffer to file\n"
 msgstr "  \\w ФАЙЛ                записать буфер запроса в файл\n"
 
-#: help.c:226
+#: help.c:203
 msgid "Input/Output\n"
 msgstr "Ввод/Вывод\n"
 
-#: help.c:227
+#: help.c:204
 msgid ""
 "  \\copy ...              perform SQL COPY with data stream to the client "
 "host\n"
 msgstr "  \\copy ...              выполнить SQL COPY на стороне клиента\n"
 
-#: help.c:228
+#: help.c:205
 msgid ""
 "  \\echo [-n] [STRING]    write string to standard output (-n for no "
 "newline)\n"
@@ -3031,11 +3082,11 @@ msgstr ""
 "  \\echo [-n] [СТРОКА]    записать строку в поток стандартного вывода\n"
 "                         (-n отключает перевод строки)\n"
 
-#: help.c:229
+#: help.c:206
 msgid "  \\i FILE                execute commands from file\n"
 msgstr "  \\i ФАЙЛ                выполнить команды из файла\n"
 
-#: help.c:230
+#: help.c:207
 msgid ""
 "  \\ir FILE               as \\i, but relative to location of current "
 "script\n"
@@ -3043,13 +3094,13 @@ msgstr ""
 "  \\ir ФАЙЛ               подобно \\i, но путь задаётся относительно\n"
 "                         текущего скрипта\n"
 
-#: help.c:231
+#: help.c:208
 msgid "  \\o [FILE]              send all query results to file or |pipe\n"
 msgstr ""
 "  \\o [ФАЙЛ]              выводить все результаты запросов в файл или канал "
 "|\n"
 
-#: help.c:232
+#: help.c:209
 msgid ""
 "  \\qecho [-n] [STRING]   write string to \\o output stream (-n for no "
 "newline)\n"
@@ -3057,7 +3108,7 @@ msgstr ""
 "  \\qecho [-n] [СТРОКА]   записать строку в выходной поток \\o\n"
 "                         (-n отключает перевод строки)\n"
 
-#: help.c:233
+#: help.c:210
 msgid ""
 "  \\warn [-n] [STRING]    write string to standard error (-n for no "
 "newline)\n"
@@ -3065,136 +3116,136 @@ msgstr ""
 "  \\warn [-n] [СТРОКА]    записать строку в поток вывода ошибок\n"
 "                         (-n отключает перевод строки)\n"
 
-#: help.c:236
+#: help.c:213
 msgid "Conditional\n"
 msgstr "Условия\n"
 
-#: help.c:237
+#: help.c:214
 msgid "  \\if EXPR               begin conditional block\n"
 msgstr "  \\if ВЫРАЖЕНИЕ          начало блока условия\n"
 
-#: help.c:238
+#: help.c:215
 msgid ""
 "  \\elif EXPR             alternative within current conditional block\n"
 msgstr ""
 "  \\elif ВЫРАЖЕНИЕ        альтернативная ветвь в текущем блоке условия\n"
 
-#: help.c:239
+#: help.c:216
 msgid ""
 "  \\else                  final alternative within current conditional "
 "block\n"
 msgstr ""
 "  \\else                  окончательная ветвь в текущем блоке условия\n"
 
-#: help.c:240
+#: help.c:217
 msgid "  \\endif                 end conditional block\n"
 msgstr "  \\endif                 конец блока условия\n"
 
-#: help.c:243
+#: help.c:220
 msgid "Informational\n"
 msgstr "Информационные\n"
 
-#: help.c:244
+#: help.c:221
 msgid "  (options: S = show system objects, + = additional detail)\n"
 msgstr ""
 "  (дополнения: S = показывать системные объекты, + = дополнительные "
 "подробности)\n"
 
-#: help.c:245
+#: help.c:222
 msgid "  \\d[S+]                 list tables, views, and sequences\n"
 msgstr ""
 "  \\d[S+]                 список таблиц, представлений и "
 "последовательностей\n"
 
-#: help.c:246
+#: help.c:223
 msgid "  \\d[S+]  NAME           describe table, view, sequence, or index\n"
 msgstr ""
 "  \\d[S+]  ИМЯ            описание таблицы, представления, "
 "последовательности\n"
 "                         или индекса\n"
 
-#: help.c:247
+#: help.c:224
 msgid "  \\da[S]  [PATTERN]      list aggregates\n"
 msgstr "  \\da[S]  [МАСКА]        список агрегатных функций\n"
 
-#: help.c:248
+#: help.c:225
 msgid "  \\dA[+]  [PATTERN]      list access methods\n"
 msgstr "  \\dA[+]  [МАСКА]        список методов доступа\n"
 
 # well-spelled: МСК
-#: help.c:249
+#: help.c:226
 msgid "  \\dAc[+] [AMPTRN [TYPEPTRN]]  list operator classes\n"
 msgstr "  \\dAc[+] [МСК_МД [МСК_ТИПА]]  список классов операторов\n"
 
 # well-spelled: МСК
-#: help.c:250
+#: help.c:227
 msgid "  \\dAf[+] [AMPTRN [TYPEPTRN]]  list operator families\n"
 msgstr "  \\dAf[+] [МСК_МД [МСК_ТИПА]]  список семейств операторов\n"
 
 # well-spelled: МСК
-#: help.c:251
+#: help.c:228
 msgid "  \\dAo[+] [AMPTRN [OPFPTRN]]   list operators of operator families\n"
 msgstr ""
 "  \\dAo[+] [МСК_МД [МСК_СОП]]   список операторов из семейств операторов\n"
 
 # well-spelled: МСК
-#: help.c:252
+#: help.c:229
 msgid ""
 "  \\dAp[+] [AMPTRN [OPFPTRN]]   list support functions of operator families\n"
 msgstr "  \\dAp[+] [МСК_МД [МСК_СОП]]   список опорных функций из семейств\n"
 
-#: help.c:253
+#: help.c:230
 msgid "  \\db[+]  [PATTERN]      list tablespaces\n"
 msgstr "  \\db[+]  [МАСКА]        список табличных пространств\n"
 
-#: help.c:254
+#: help.c:231
 msgid "  \\dc[S+] [PATTERN]      list conversions\n"
 msgstr "  \\dc[S+] [МАСКА]        список преобразований\n"
 
-#: help.c:255
+#: help.c:232
 msgid "  \\dconfig[+] [PATTERN]  list configuration parameters\n"
 msgstr "  \\dconfig[+] [МАСКА]    список параметров конфигурации\n"
 
-#: help.c:256
+#: help.c:233
 msgid "  \\dC[+]  [PATTERN]      list casts\n"
 msgstr "  \\dC[+]  [МАСКА]        список приведений типов\n"
 
-#: help.c:257
+#: help.c:234
 msgid ""
 "  \\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\n"
 msgstr ""
 "  \\dd[S]  [МАСКА]        описания объектов, не выводимые в других режимах\n"
 
-#: help.c:258
+#: help.c:235
 msgid "  \\dD[S+] [PATTERN]      list domains\n"
 msgstr "  \\dD[S+] [МАСКА]        список доменов\n"
 
-#: help.c:259
+#: help.c:236
 msgid "  \\ddp    [PATTERN]      list default privileges\n"
 msgstr "  \\ddp    [МАСКА]        список прав по умолчанию\n"
 
-#: help.c:260
+#: help.c:237
 msgid "  \\dE[S+] [PATTERN]      list foreign tables\n"
 msgstr "  \\dE[S+] [МАСКА]        список сторонних таблиц\n"
 
-#: help.c:261
+#: help.c:238
 msgid "  \\des[+] [PATTERN]      list foreign servers\n"
 msgstr "  \\des[+] [МАСКА]        список сторонних серверов\n"
 
-#: help.c:262
+#: help.c:239
 msgid "  \\det[+] [PATTERN]      list foreign tables\n"
 msgstr "  \\det[+] [МАСКА]        список сторонних таблиц\n"
 
-#: help.c:263
+#: help.c:240
 msgid "  \\deu[+] [PATTERN]      list user mappings\n"
 msgstr "  \\deu[+] [МАСКА]        список сопоставлений пользователей\n"
 
-#: help.c:264
+#: help.c:241
 msgid "  \\dew[+] [PATTERN]      list foreign-data wrappers\n"
 msgstr "  \\dew[+] [МАСКА]        список обёрток сторонних данных\n"
 
 # well-spelled: МСК, ФУНК
-#: help.c:265
+#: help.c:242
 msgid ""
 "  \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n"
 "                         list [only agg/normal/procedure/trigger/window] "
@@ -3204,49 +3255,49 @@ msgstr ""
 "                         список функций [только агрегатных/обычных/процедур/"
 "триггеров/оконных]\n"
 
-#: help.c:267
+#: help.c:244
 msgid "  \\dF[+]  [PATTERN]      list text search configurations\n"
 msgstr "  \\dF[+]  [МАСКА]        список конфигураций текстового поиска\n"
 
-#: help.c:268
+#: help.c:245
 msgid "  \\dFd[+] [PATTERN]      list text search dictionaries\n"
 msgstr "  \\dFd[+] [МАСКА]        список словарей текстового поиска\n"
 
-#: help.c:269
+#: help.c:246
 msgid "  \\dFp[+] [PATTERN]      list text search parsers\n"
 msgstr "  \\dFp[+] [МАСКА]        список анализаторов текстового поиска\n"
 
-#: help.c:270
+#: help.c:247
 msgid "  \\dFt[+] [PATTERN]      list text search templates\n"
 msgstr "  \\dFt[+] [МАСКА]        список шаблонов текстового поиска\n"
 
-#: help.c:271
+#: help.c:248
 msgid "  \\dg[S+] [PATTERN]      list roles\n"
 msgstr "  \\dg[S+] [МАСКА]        список ролей\n"
 
-#: help.c:272
+#: help.c:249
 msgid "  \\di[S+] [PATTERN]      list indexes\n"
 msgstr "  \\di[S+] [МАСКА]        список индексов\n"
 
-#: help.c:273
+#: help.c:250
 msgid "  \\dl[+]                 list large objects, same as \\lo_list\n"
 msgstr ""
 "  \\dl[+]                 список больших объектов (то же, что и \\lo_list)\n"
 
-#: help.c:274
+#: help.c:251
 msgid "  \\dL[S+] [PATTERN]      list procedural languages\n"
 msgstr "  \\dL[S+] [МАСКА]        список языков процедур\n"
 
-#: help.c:275
+#: help.c:252
 msgid "  \\dm[S+] [PATTERN]      list materialized views\n"
 msgstr "  \\dm[S+] [МАСКА]        список материализованных представлений\n"
 
-#: help.c:276
+#: help.c:253
 msgid "  \\dn[S+] [PATTERN]      list schemas\n"
 msgstr "  \\dn[S+] [МАСКА]        список схем\n"
 
 # well-spelled: МСК
-#: help.c:277
+#: help.c:254
 msgid ""
 "  \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n"
 "                         list operators\n"
@@ -3254,18 +3305,18 @@ msgstr ""
 "  \\do[S+] [МСК_ОП [МСК_ТИПА [МСК_ТИПА]]]\n"
 "                         список операторов\n"
 
-#: help.c:279
+#: help.c:256
 msgid "  \\dO[S+] [PATTERN]      list collations\n"
 msgstr "  \\dO[S+] [МАСКА]        список правил сортировки\n"
 
-#: help.c:280
+#: help.c:257
 msgid ""
 "  \\dp[S]  [PATTERN]      list table, view, and sequence access privileges\n"
 msgstr ""
 "  \\dp[S]  [МАСКА]        список прав доступа к таблицам, представлениям и\n"
 "                         последовательностям\n"
 
-#: help.c:281
+#: help.c:258
 msgid ""
 "  \\dP[itn+] [PATTERN]    list [only index/table] partitioned relations "
 "[n=nested]\n"
@@ -3275,80 +3326,80 @@ msgstr ""
 "(n)\n"
 
 # well-spelled: МСК
-#: help.c:282
+#: help.c:259
 msgid "  \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n"
 msgstr "  \\drds [МСК_РОЛИ [МСК_БД]] список параметров роли на уровне БД\n"
 
-#: help.c:283
+#: help.c:260
 msgid "  \\drg[S] [PATTERN]      list role grants\n"
 msgstr "  \\drg[S] [МАСКА]        список назначений ролей\n"
 
-#: help.c:284
+#: help.c:261
 msgid "  \\dRp[+] [PATTERN]      list replication publications\n"
 msgstr "  \\dRp[+] [МАСКА]        список публикаций для репликации\n"
 
-#: help.c:285
+#: help.c:262
 msgid "  \\dRs[+] [PATTERN]      list replication subscriptions\n"
 msgstr "  \\dRs[+] [МАСКА]        список подписок на репликацию\n"
 
-#: help.c:286
+#: help.c:263
 msgid "  \\ds[S+] [PATTERN]      list sequences\n"
 msgstr "  \\ds[S+] [МАСКА]        список последовательностей\n"
 
-#: help.c:287
+#: help.c:264
 msgid "  \\dt[S+] [PATTERN]      list tables\n"
 msgstr "  \\dt[S+] [МАСКА]        список таблиц\n"
 
-#: help.c:288
+#: help.c:265
 msgid "  \\dT[S+] [PATTERN]      list data types\n"
 msgstr "  \\dT[S+] [МАСКА]        список типов данных\n"
 
-#: help.c:289
+#: help.c:266
 msgid "  \\du[S+] [PATTERN]      list roles\n"
 msgstr "  \\du[S+] [МАСКА]        список ролей\n"
 
-#: help.c:290
+#: help.c:267
 msgid "  \\dv[S+] [PATTERN]      list views\n"
 msgstr "  \\dv[S+] [МАСКА]        список представлений\n"
 
-#: help.c:291
+#: help.c:268
 msgid "  \\dx[+]  [PATTERN]      list extensions\n"
 msgstr "  \\dx[+]  [МАСКА]        список расширений\n"
 
-#: help.c:292
+#: help.c:269
 msgid "  \\dX     [PATTERN]      list extended statistics\n"
 msgstr "  \\dX     [МАСКА]        список расширенных статистик\n"
 
-#: help.c:293
+#: help.c:270
 msgid "  \\dy[+]  [PATTERN]      list event triggers\n"
 msgstr "  \\dy[+]  [МАСКА]        список событийных триггеров\n"
 
-#: help.c:294
+#: help.c:271
 msgid "  \\l[+]   [PATTERN]      list databases\n"
 msgstr "  \\l[+]   [МАСКА]        список баз данных\n"
 
-#: help.c:295
+#: help.c:272
 msgid "  \\sf[+]  FUNCNAME       show a function's definition\n"
 msgstr "  \\sf[+]  ИМЯ_ФУНКЦИИ    показать определение функции\n"
 
 # well-spelled: ПРЕДСТ
-#: help.c:296
+#: help.c:273
 msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
 msgstr "  \\sv[+]  ИМЯ_ПРЕДСТ     показать определение представления\n"
 
-#: help.c:297
+#: help.c:274
 msgid "  \\z[S]   [PATTERN]      same as \\dp\n"
 msgstr "  \\z[S]   [МАСКА]        то же, что и \\dp\n"
 
-#: help.c:300
+#: help.c:277
 msgid "Large Objects\n"
 msgstr "Большие объекты\n"
 
-#: help.c:301
+#: help.c:278
 msgid "  \\lo_export LOBOID FILE write large object to file\n"
 msgstr "  \\lo_export OID_БО ФАЙЛ записать большой объект в файл\n"
 
-#: help.c:302
+#: help.c:279
 msgid ""
 "  \\lo_import FILE [COMMENT]\n"
 "                         read large object from file\n"
@@ -3356,32 +3407,32 @@ msgstr ""
 "  \\lo_import ФАЙЛ [КОММЕНТАРИЙ]\n"
 "                         прочитать большой объект из файла\n"
 
-#: help.c:304
+#: help.c:281
 msgid "  \\lo_list[+]            list large objects\n"
 msgstr "  \\lo_list[+]            список больших объектов\n"
 
-#: help.c:305
+#: help.c:282
 msgid "  \\lo_unlink LOBOID      delete a large object\n"
 msgstr "  \\lo_unlink OID_БО      удалить большой объект\n"
 
-#: help.c:308
+#: help.c:285
 msgid "Formatting\n"
 msgstr "Форматирование\n"
 
-#: help.c:309
+#: help.c:286
 msgid ""
 "  \\a                     toggle between unaligned and aligned output mode\n"
 msgstr ""
 "  \\a                     переключение режимов вывода:\n"
 "                         неформатированный/выровненный\n"
 
-#: help.c:310
+#: help.c:287
 msgid "  \\C [STRING]            set table title, or unset if none\n"
 msgstr ""
 "  \\C [СТРОКА]            задать заголовок таблицы или убрать, если не "
 "задан\n"
 
-#: help.c:311
+#: help.c:288
 msgid ""
 "  \\f [STRING]            show or set field separator for unaligned query "
 "output\n"
@@ -3389,13 +3440,13 @@ msgstr ""
 "  \\f [СТРОКА]            показать или установить разделитель полей для\n"
 "                         неформатированного вывода\n"
 
-#: help.c:312
+#: help.c:289
 #, c-format
 msgid "  \\H                     toggle HTML output mode (currently %s)\n"
 msgstr ""
 "  \\H                     переключить режим вывода в HTML (текущий: %s)\n"
 
-#: help.c:314
+#: help.c:291
 msgid ""
 "  \\pset [NAME [VALUE]]   set table output option\n"
 "                         (border|columns|csv_fieldsep|expanded|fieldsep|\n"
@@ -3413,89 +3464,89 @@ msgstr ""
 "                         unicode_border_linestyle|unicode_column_linestyle|\n"
 "                         unicode_header_linestyle)\n"
 
-#: help.c:321
+#: help.c:298
 #, c-format
 msgid "  \\t [on|off]            show only rows (currently %s)\n"
 msgstr "  \\t [on|off]            режим вывода только строк (сейчас: %s)\n"
 
-#: help.c:323
+#: help.c:300
 msgid ""
 "  \\T [STRING]            set HTML <table> tag attributes, or unset if none\n"
 msgstr ""
 "  \\T [СТРОКА]            задать атрибуты для <table> или убрать, если не "
 "заданы\n"
 
-#: help.c:324
+#: help.c:301
 #, c-format
 msgid "  \\x [on|off|auto]       toggle expanded output (currently %s)\n"
 msgstr ""
 "  \\x [on|off|auto]       переключить режим расширенного вывода (сейчас: "
 "%s)\n"
 
-#: help.c:325
+#: help.c:302
 msgid "auto"
 msgstr "auto"
 
-#: help.c:328
+#: help.c:305
 msgid "Connection\n"
 msgstr "Соединение\n"
 
-#: help.c:330
+#: help.c:307
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
 "                         connect to new database (currently \"%s\")\n"
 msgstr ""
-"  \\c[onnect] {[Ð\91Ð\94|- Ð\9fÐ\9eÐ\9bЬÐ\97Ð\9eÐ\92Ð\90ТÐ\95Ð\9bЬ|- Ð¡Ð\95РÐ\92ЕР|- ПОРТ|-] | conninfo}\n"
+"  \\c[onnect] {[Ð\91Ð\94|- Ð\9fÐ\9eÐ\9bЬÐ\97Ð\9eÐ\92Ð\90ТÐ\95Ð\9bЬ|- Ð\9aÐ\9eÐ\9cÐ\9fЬЮТЕР|- ПОРТ|-] | conninfo}\n"
 "                         подключиться к другой базе данных\n"
 "                         (текущая: \"%s\")\n"
 
-#: help.c:334
+#: help.c:311
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
 "                         connect to new database (currently no connection)\n"
 msgstr ""
-"  \\c[onnect] {[Ð\91Ð\94|- Ð\9fÐ\9eÐ\9bЬÐ\97Ð\9eÐ\92Ð\90ТÐ\95Ð\9bЬ|- Ð¡Ð\95РÐ\92ЕР|- ПОРТ|-] | conninfo}\n"
+"  \\c[onnect] {[Ð\91Ð\94|- Ð\9fÐ\9eÐ\9bЬÐ\97Ð\9eÐ\92Ð\90ТÐ\95Ð\9bЬ|- Ð\9aÐ\9eÐ\9cÐ\9fЬЮТЕР|- ПОРТ|-] | conninfo}\n"
 "                         подключиться к другой базе данных\n"
 "                         (сейчас подключения нет)\n"
 
-#: help.c:336
+#: help.c:313
 msgid ""
 "  \\conninfo              display information about current connection\n"
 msgstr "  \\conninfo              информация о текущем соединении\n"
 
-#: help.c:337
+#: help.c:314
 msgid "  \\encoding [ENCODING]   show or set client encoding\n"
 msgstr "  \\encoding [КОДИРОВКА]  показать/установить клиентскую кодировку\n"
 
-#: help.c:338
+#: help.c:315
 msgid "  \\password [USERNAME]   securely change the password for a user\n"
 msgstr "  \\password [ИМЯ]        безопасно сменить пароль пользователя\n"
 
-#: help.c:341
+#: help.c:318
 msgid "Operating System\n"
 msgstr "Операционная система\n"
 
-#: help.c:342
+#: help.c:319
 msgid "  \\cd [DIR]              change the current working directory\n"
 msgstr "  \\cd [ПУТЬ]             сменить текущий каталог\n"
 
 # well-spelled: ОКР
-#: help.c:343
+#: help.c:320
 msgid "  \\getenv PSQLVAR ENVVAR fetch environment variable\n"
 msgstr "  \\getenv ПЕР_PSQL ПЕР_ОКР прочитать переменную окружения\n"
 
-#: help.c:344
+#: help.c:321
 msgid "  \\setenv NAME [VALUE]   set or unset environment variable\n"
 msgstr ""
 "  \\setenv ИМЯ [ЗНАЧЕНИЕ] установить или сбросить переменную окружения\n"
 
-#: help.c:345
+#: help.c:322
 #, c-format
 msgid "  \\timing [on|off]       toggle timing of commands (currently %s)\n"
 msgstr "  \\timing [on|off]       включить/выключить секундомер (сейчас: %s)\n"
 
-#: help.c:347
+#: help.c:324
 msgid ""
 "  \\! [COMMAND]           execute command in shell or start interactive "
 "shell\n"
@@ -3503,17 +3554,17 @@ msgstr ""
 "  \\! [КОМАНДА]           выполнить команду в командной оболочке\n"
 "                         или запустить интерактивную оболочку\n"
 
-#: help.c:350
+#: help.c:327
 msgid "Variables\n"
 msgstr "Переменные\n"
 
-#: help.c:351
+#: help.c:328
 msgid "  \\prompt [TEXT] NAME    prompt user to set internal variable\n"
 msgstr ""
 "  \\prompt [ТЕКСТ] ИМЯ    предложить пользователю задать внутреннюю "
 "переменную\n"
 
-#: help.c:352
+#: help.c:329
 msgid ""
 "  \\set [NAME [VALUE]]    set internal variable, or list all if no "
 "parameters\n"
@@ -3521,11 +3572,11 @@ msgstr ""
 "  \\set [ИМЯ [ЗНАЧЕНИЕ]]  установить внутреннюю переменную или вывести все,\n"
 "                         если имя не задано\n"
 
-#: help.c:353
+#: help.c:330
 msgid "  \\unset NAME            unset (delete) internal variable\n"
 msgstr "  \\unset ИМЯ             сбросить (удалить) внутреннюю переменную\n"
 
-#: help.c:392
+#: help.c:369
 msgid ""
 "List of specially treated variables\n"
 "\n"
@@ -3533,11 +3584,11 @@ msgstr ""
 "Список специальных переменных\n"
 "\n"
 
-#: help.c:394
+#: help.c:371
 msgid "psql variables:\n"
 msgstr "Переменные psql:\n"
 
-#: help.c:396
+#: help.c:373
 msgid ""
 "  psql --set=NAME=VALUE\n"
 "  or \\set NAME VALUE inside psql\n"
@@ -3547,7 +3598,7 @@ msgstr ""
 "  или \\set ИМЯ ЗНАЧЕНИЕ в приглашении psql\n"
 "\n"
 
-#: help.c:398
+#: help.c:375
 msgid ""
 "  AUTOCOMMIT\n"
 "    if set, successful SQL commands are automatically committed\n"
@@ -3555,7 +3606,7 @@ msgstr ""
 "  AUTOCOMMIT\n"
 "    если установлен, успешные SQL-команды фиксируются автоматически\n"
 
-#: help.c:400
+#: help.c:377
 msgid ""
 "  COMP_KEYWORD_CASE\n"
 "    determines the case used to complete SQL key words\n"
@@ -3563,10 +3614,11 @@ msgid ""
 msgstr ""
 "  COMP_KEYWORD_CASE\n"
 "    определяет регистр для автодополнения ключевых слов SQL\n"
-"    [lower (нижний), upper (верхний), preserve-lower (сохранять нижний),\n"
-"    preserve-upper (сохранять верхний)]\n"
+"                     [lower (нижний), upper (верхний),\n"
+"                      preserve-lower (сохранять нижний),\n"
+"                      preserve-upper (сохранять верхний)]\n"
 
-#: help.c:403
+#: help.c:380
 msgid ""
 "  DBNAME\n"
 "    the currently connected database name\n"
@@ -3574,7 +3626,7 @@ msgstr ""
 "  DBNAME\n"
 "    имя текущей подключённой базы данных\n"
 
-#: help.c:405
+#: help.c:382
 msgid ""
 "  ECHO\n"
 "    controls what input is written to standard output\n"
@@ -3585,7 +3637,7 @@ msgstr ""
 "    [all (всё), errors (ошибки), none (ничего),\n"
 "    queries (запросы)]\n"
 
-#: help.c:408
+#: help.c:385
 msgid ""
 "  ECHO_HIDDEN\n"
 "    if set, display internal queries executed by backslash commands;\n"
@@ -3595,7 +3647,7 @@ msgstr ""
 "    если включено, выводит внутренние запросы, порождаемые командами с \\;\n"
 "    если установлено значение \"noexec\", они выводятся, но не выполняются\n"
 
-#: help.c:411
+#: help.c:388
 msgid ""
 "  ENCODING\n"
 "    current client character set encoding\n"
@@ -3603,7 +3655,7 @@ msgstr ""
 "  ENCODING\n"
 "    текущая кодировка клиентского набора символов\n"
 
-#: help.c:413
+#: help.c:390
 msgid ""
 "  ERROR\n"
 "    \"true\" if last query failed, else \"false\"\n"
@@ -3611,7 +3663,7 @@ msgstr ""
 "  ERROR\n"
 "    \"true\" в случае ошибки в последнем запросе, иначе — \"false\"\n"
 
-#: help.c:415
+#: help.c:392
 msgid ""
 "  FETCH_COUNT\n"
 "    the number of result rows to fetch and display at a time (0 = "
@@ -3621,7 +3673,7 @@ msgstr ""
 "    число результирующих строк, извлекаемых и отображаемых за раз\n"
 "    (0 = без ограничений)\n"
 
-#: help.c:417
+#: help.c:394
 msgid ""
 "  HIDE_TABLEAM\n"
 "    if set, table access methods are not displayed\n"
@@ -3629,7 +3681,7 @@ msgstr ""
 "  HIDE_TABLEAM\n"
 "    если установлено, табличные методы доступа не выводятся\n"
 
-#: help.c:419
+#: help.c:396
 msgid ""
 "  HIDE_TOAST_COMPRESSION\n"
 "    if set, compression methods are not displayed\n"
@@ -3637,7 +3689,7 @@ msgstr ""
 "  HIDE_TOAST_COMPRESSION\n"
 "    если установлено, методы сжатия не выводятся\n"
 
-#: help.c:421
+#: help.c:398
 msgid ""
 "  HISTCONTROL\n"
 "    controls command history [ignorespace, ignoredups, ignoreboth]\n"
@@ -3646,7 +3698,7 @@ msgstr ""
 "    управляет историей команд [ignorespace (игнорировать пробелы),\n"
 "    ignoredups (игнорировать дубли), ignoreboth (и то, и другое)]\n"
 
-#: help.c:423
+#: help.c:400
 msgid ""
 "  HISTFILE\n"
 "    file name used to store the command history\n"
@@ -3654,7 +3706,7 @@ msgstr ""
 "  HISTFILE\n"
 "    имя файла, в котором будет сохраняться история команд\n"
 
-#: help.c:425
+#: help.c:402
 msgid ""
 "  HISTSIZE\n"
 "    maximum number of commands to store in the command history\n"
@@ -3662,15 +3714,15 @@ msgstr ""
 "  HISTSIZE\n"
 "    максимальное число команд, сохраняемых в истории\n"
 
-#: help.c:427
+#: help.c:404
 msgid ""
 "  HOST\n"
 "    the currently connected database server host\n"
 msgstr ""
 "  HOST\n"
-"    сервер баз данных, к которому установлено подключение\n"
+"    компьютер с сервером баз данных, к которому установлено подключение\n"
 
-#: help.c:429
+#: help.c:406
 msgid ""
 "  IGNOREEOF\n"
 "    number of EOFs needed to terminate an interactive session\n"
@@ -3678,7 +3730,7 @@ msgstr ""
 "  IGNOREEOF\n"
 "    количество EOF для завершения интерактивного сеанса\n"
 
-#: help.c:431
+#: help.c:408
 msgid ""
 "  LASTOID\n"
 "    value of the last affected OID\n"
@@ -3686,7 +3738,7 @@ msgstr ""
 "  LASTOID\n"
 "    значение последнего задействованного OID\n"
 
-#: help.c:433
+#: help.c:410
 msgid ""
 "  LAST_ERROR_MESSAGE\n"
 "  LAST_ERROR_SQLSTATE\n"
@@ -3699,7 +3751,7 @@ msgstr ""
 "\"00000\",\n"
 "    если ошибки не было\n"
 
-#: help.c:436
+#: help.c:413
 msgid ""
 "  ON_ERROR_ROLLBACK\n"
 "    if set, an error doesn't stop a transaction (uses implicit savepoints)\n"
@@ -3708,7 +3760,7 @@ msgstr ""
 "    если установлено, транзакция не прекращается при ошибке\n"
 "    (используются неявные точки сохранения)\n"
 
-#: help.c:438
+#: help.c:415
 msgid ""
 "  ON_ERROR_STOP\n"
 "    stop batch execution after error\n"
@@ -3716,7 +3768,7 @@ msgstr ""
 "  ON_ERROR_STOP\n"
 "    останавливать выполнение пакета команд после ошибки\n"
 
-#: help.c:440
+#: help.c:417
 msgid ""
 "  PORT\n"
 "    server port of the current connection\n"
@@ -3724,7 +3776,7 @@ msgstr ""
 "  PORT\n"
 "    порт сервера для текущего соединения\n"
 
-#: help.c:442
+#: help.c:419
 msgid ""
 "  PROMPT1\n"
 "    specifies the standard psql prompt\n"
@@ -3732,7 +3784,7 @@ msgstr ""
 "  PROMPT1\n"
 "    устанавливает стандартное приглашение psql\n"
 
-#: help.c:444
+#: help.c:421
 msgid ""
 "  PROMPT2\n"
 "    specifies the prompt used when a statement continues from a previous "
@@ -3742,7 +3794,7 @@ msgstr ""
 "    устанавливает приглашение, которое выводится при переносе оператора\n"
 "    на новую строку\n"
 
-#: help.c:446
+#: help.c:423
 msgid ""
 "  PROMPT3\n"
 "    specifies the prompt used during COPY ... FROM STDIN\n"
@@ -3750,7 +3802,7 @@ msgstr ""
 "  PROMPT3\n"
 "    устанавливает приглашение для выполнения COPY ... FROM STDIN\n"
 
-#: help.c:448
+#: help.c:425
 msgid ""
 "  QUIET\n"
 "    run quietly (same as -q option)\n"
@@ -3758,7 +3810,7 @@ msgstr ""
 "  QUIET\n"
 "    выводить минимум сообщений (как и с параметром -q)\n"
 
-#: help.c:450
+#: help.c:427
 msgid ""
 "  ROW_COUNT\n"
 "    number of rows returned or affected by last query, or 0\n"
@@ -3767,7 +3819,7 @@ msgstr ""
 "    число строк, возвращённых или обработанных последним SQL-запросом, либо "
 "0\n"
 
-#: help.c:452
+#: help.c:429
 msgid ""
 "  SERVER_VERSION_NAME\n"
 "  SERVER_VERSION_NUM\n"
@@ -3777,7 +3829,7 @@ msgstr ""
 "  SERVER_VERSION_NUM\n"
 "    версия сервера (в коротком текстовом и числовом формате)\n"
 
-#: help.c:455
+#: help.c:432
 msgid ""
 "  SHELL_ERROR\n"
 "    \"true\" if the last shell command failed, \"false\" if it succeeded\n"
@@ -3786,7 +3838,7 @@ msgstr ""
 "    \"true\" в случае ошибки последней команды оболочки, \"false\" в ином "
 "случае\n"
 
-#: help.c:457
+#: help.c:434
 msgid ""
 "  SHELL_EXIT_CODE\n"
 "    exit status of the last shell command\n"
@@ -3794,7 +3846,7 @@ msgstr ""
 "  SHELL_EXIT_CODE\n"
 "    код завершения последней команды оболочки\n"
 
-#: help.c:459
+#: help.c:436
 msgid ""
 "  SHOW_ALL_RESULTS\n"
 "    show all results of a combined query (\\;) instead of only the last\n"
@@ -3803,7 +3855,7 @@ msgstr ""
 "    выводить все результаты объединённых запросов (\\;), а не только "
 "последнего\n"
 
-#: help.c:461
+#: help.c:438
 msgid ""
 "  SHOW_CONTEXT\n"
 "    controls display of message context fields [never, errors, always]\n"
@@ -3812,7 +3864,7 @@ msgstr ""
 "    управляет отображением полей контекста сообщений\n"
 "    [never (не отображать никогда), errors (ошибки), always (всегда]\n"
 
-#: help.c:463
+#: help.c:440
 msgid ""
 "  SINGLELINE\n"
 "    if set, end of line terminates SQL commands (same as -S option)\n"
@@ -3821,7 +3873,7 @@ msgstr ""
 "    если установлено, конец строки завершает режим ввода SQL-команды\n"
 "    (как и с параметром -S)\n"
 
-#: help.c:465
+#: help.c:442
 msgid ""
 "  SINGLESTEP\n"
 "    single-step mode (same as -s option)\n"
@@ -3829,7 +3881,7 @@ msgstr ""
 "  SINGLESTEP\n"
 "    пошаговый режим (как и с параметром -s)\n"
 
-#: help.c:467
+#: help.c:444
 msgid ""
 "  SQLSTATE\n"
 "    SQLSTATE of last query, or \"00000\" if no error\n"
@@ -3838,7 +3890,7 @@ msgstr ""
 "    SQLSTATE последнего запроса или \"00000\", если он выполнился без "
 "ошибок\n"
 
-#: help.c:469
+#: help.c:446
 msgid ""
 "  USER\n"
 "    the currently connected database user\n"
@@ -3846,7 +3898,7 @@ msgstr ""
 "  USER\n"
 "    текущий пользователь, подключённый к БД\n"
 
-#: help.c:471
+#: help.c:448
 msgid ""
 "  VERBOSITY\n"
 "    controls verbosity of error reports [default, verbose, terse, sqlstate]\n"
@@ -3855,7 +3907,7 @@ msgstr ""
 "    управляет детализацией отчётов об ошибках [default (по умолчанию),\n"
 "    verbose (подробно), terse (кратко), sqlstate (код состояния)]\n"
 
-#: help.c:473
+#: help.c:450
 msgid ""
 "  VERSION\n"
 "  VERSION_NAME\n"
@@ -3867,7 +3919,7 @@ msgstr ""
 "  VERSION_NUM\n"
 "    версия psql (в развёрнутом, в коротком текстовом и в числовом формате)\n"
 
-#: help.c:478
+#: help.c:455
 msgid ""
 "\n"
 "Display settings:\n"
@@ -3875,7 +3927,7 @@ msgstr ""
 "\n"
 "Параметры отображения:\n"
 
-#: help.c:480
+#: help.c:457
 msgid ""
 "  psql --pset=NAME[=VALUE]\n"
 "  or \\pset NAME [VALUE] inside psql\n"
@@ -3885,7 +3937,7 @@ msgstr ""
 "  или \\pset ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n"
 "\n"
 
-#: help.c:482
+#: help.c:459
 msgid ""
 "  border\n"
 "    border style (number)\n"
@@ -3893,7 +3945,7 @@ msgstr ""
 "  border\n"
 "    стиль границы (число)\n"
 
-#: help.c:484
+#: help.c:461
 msgid ""
 "  columns\n"
 "    target width for the wrapped format\n"
@@ -3901,7 +3953,7 @@ msgstr ""
 "  columns\n"
 "    целевая ширина для формата с переносом\n"
 
-#: help.c:486
+#: help.c:463
 msgid ""
 "  expanded (or x)\n"
 "    expanded output [on, off, auto]\n"
@@ -3909,7 +3961,7 @@ msgstr ""
 "  expanded (или x)\n"
 "    расширенный вывод [on (вкл.), off (выкл.), auto (авто)]\n"
 
-#: help.c:488
+#: help.c:465
 #, c-format
 msgid ""
 "  fieldsep\n"
@@ -3918,7 +3970,7 @@ msgstr ""
 "  fieldsep\n"
 "    разделитель полей для неформатированного вывода (по умолчанию \"%s\")\n"
 
-#: help.c:491
+#: help.c:468
 msgid ""
 "  fieldsep_zero\n"
 "    set field separator for unaligned output to a zero byte\n"
@@ -3926,7 +3978,7 @@ msgstr ""
 "  fieldsep_zero\n"
 "    устанавливает ноль разделителем полей при неформатированном выводе\n"
 
-#: help.c:493
+#: help.c:470
 msgid ""
 "  footer\n"
 "    enable or disable display of the table footer [on, off]\n"
@@ -3934,16 +3986,17 @@ msgstr ""
 "  footer\n"
 "    включает или выключает вывод подписей таблицы [on (вкл.), off (выкл.)]\n"
 
-#: help.c:495
+#: help.c:472
 msgid ""
 "  format\n"
 "    set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
 msgstr ""
 "  format\n"
 "    устанавливает формат вывода [unaligned (неформатированный),\n"
+"\n"
 "    aligned (выровненный), wrapped (с переносом), html, asciidoc, ...]\n"
 
-#: help.c:497
+#: help.c:474
 msgid ""
 "  linestyle\n"
 "    set the border line drawing style [ascii, old-ascii, unicode]\n"
@@ -3951,7 +4004,7 @@ msgstr ""
 "  linestyle\n"
 "    задаёт стиль рисования линий границы [ascii, old-ascii, unicode]\n"
 
-#: help.c:499
+#: help.c:476
 msgid ""
 "  null\n"
 "    set the string to be printed in place of a null value\n"
@@ -3959,7 +4012,7 @@ msgstr ""
 "  null\n"
 "    устанавливает строку, выводимую вместо значения NULL\n"
 
-#: help.c:501
+#: help.c:478
 msgid ""
 "  numericlocale\n"
 "    enable display of a locale-specific character to separate groups of "
@@ -3968,7 +4021,7 @@ msgstr ""
 "  numericlocale\n"
 "    отключает вывод заданного локалью разделителя группы цифр\n"
 
-#: help.c:503
+#: help.c:480
 msgid ""
 "  pager\n"
 "    control when an external pager is used [yes, no, always]\n"
@@ -3977,7 +4030,7 @@ msgstr ""
 "    определяет, используется ли внешний постраничник\n"
 "    [yes (да), no (нет), always (всегда)]\n"
 
-#: help.c:505
+#: help.c:482
 msgid ""
 "  recordsep\n"
 "    record (line) separator for unaligned output\n"
@@ -3985,7 +4038,7 @@ msgstr ""
 "  recordsep\n"
 "    разделитель записей (строк) при неформатированном выводе\n"
 
-#: help.c:507
+#: help.c:484
 msgid ""
 "  recordsep_zero\n"
 "    set record separator for unaligned output to a zero byte\n"
@@ -3993,7 +4046,7 @@ msgstr ""
 "  recordsep_zero\n"
 "    устанавливает ноль разделителем записей при неформатированном выводе\n"
 
-#: help.c:509
+#: help.c:486
 msgid ""
 "  tableattr (or T)\n"
 "    specify attributes for table tag in html format, or proportional\n"
@@ -4003,7 +4056,7 @@ msgstr ""
 "    задаёт атрибуты для тега table в формате html или пропорциональные\n"
 "    ширины столбцов для выровненных влево данных, в формате latex-longtable\n"
 
-#: help.c:512
+#: help.c:489
 msgid ""
 "  title\n"
 "    set the table title for subsequently printed tables\n"
@@ -4011,7 +4064,7 @@ msgstr ""
 "  title\n"
 "    задаёт заголовок таблицы для последовательно печатаемых таблиц\n"
 
-#: help.c:514
+#: help.c:491
 msgid ""
 "  tuples_only\n"
 "    if set, only actual table data is shown\n"
@@ -4019,7 +4072,7 @@ msgstr ""
 "  tuples_only\n"
 "    если установлено, выводятся только непосредственно табличные данные\n"
 
-#: help.c:516
+#: help.c:493
 msgid ""
 "  unicode_border_linestyle\n"
 "  unicode_column_linestyle\n"
@@ -4032,7 +4085,7 @@ msgstr ""
 "    задаёт стиль рисуемых линий Unicode [single (одинарные), double "
 "(двойные)]\n"
 
-#: help.c:521
+#: help.c:498
 msgid ""
 "\n"
 "Environment variables:\n"
@@ -4040,7 +4093,7 @@ msgstr ""
 "\n"
 "Переменные окружения:\n"
 
-#: help.c:525
+#: help.c:502
 msgid ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
 "  or \\setenv NAME [VALUE] inside psql\n"
@@ -4050,7 +4103,7 @@ msgstr ""
 "  или \\setenv ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n"
 "\n"
 
-#: help.c:527
+#: help.c:504
 msgid ""
 "  set NAME=VALUE\n"
 "  psql ...\n"
@@ -4062,7 +4115,7 @@ msgstr ""
 "  или \\setenv ИМЯ ЗНАЧЕНИЕ в приглашении psql\n"
 "\n"
 
-#: help.c:530
+#: help.c:507
 msgid ""
 "  COLUMNS\n"
 "    number of columns for wrapped format\n"
@@ -4070,7 +4123,7 @@ msgstr ""
 "  COLUMNS\n"
 "    число столбцов для форматирования с переносом\n"
 
-#: help.c:532
+#: help.c:509
 msgid ""
 "  PGAPPNAME\n"
 "    same as the application_name connection parameter\n"
@@ -4078,7 +4131,7 @@ msgstr ""
 "  PGAPPNAME\n"
 "    синоним параметра подключения application_name\n"
 
-#: help.c:534
+#: help.c:511
 msgid ""
 "  PGDATABASE\n"
 "    same as the dbname connection parameter\n"
@@ -4086,7 +4139,7 @@ msgstr ""
 "  PGDATABASE\n"
 "    синоним параметра подключения dbname\n"
 
-#: help.c:536
+#: help.c:513
 msgid ""
 "  PGHOST\n"
 "    same as the host connection parameter\n"
@@ -4094,7 +4147,7 @@ msgstr ""
 "  PGHOST\n"
 "    синоним параметра подключения host\n"
 
-#: help.c:538
+#: help.c:515
 msgid ""
 "  PGPASSFILE\n"
 "    password file name\n"
@@ -4102,7 +4155,7 @@ msgstr ""
 "  PGPASSFILE\n"
 "    имя файла с паролем\n"
 
-#: help.c:540
+#: help.c:517
 msgid ""
 "  PGPASSWORD\n"
 "    connection password (not recommended)\n"
@@ -4110,7 +4163,7 @@ msgstr ""
 "  PGPASSWORD\n"
 "    пароль для подключения (использовать не рекомендуется)\n"
 
-#: help.c:542
+#: help.c:519
 msgid ""
 "  PGPORT\n"
 "    same as the port connection parameter\n"
@@ -4118,7 +4171,7 @@ msgstr ""
 "  PGPORT\n"
 "    синоним параметра подключения port\n"
 
-#: help.c:544
+#: help.c:521
 msgid ""
 "  PGUSER\n"
 "    same as the user connection parameter\n"
@@ -4126,7 +4179,7 @@ msgstr ""
 "  PGUSER\n"
 "    синоним параметра подключения user\n"
 
-#: help.c:546
+#: help.c:523
 msgid ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
 "    editor used by the \\e, \\ef, and \\ev commands\n"
@@ -4134,7 +4187,7 @@ msgstr ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
 "    редактор, вызываемый командами \\e, \\ef и \\ev\n"
 
-#: help.c:548
+#: help.c:525
 msgid ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
 "    how to specify a line number when invoking the editor\n"
@@ -4142,7 +4195,7 @@ msgstr ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
 "    определяет способ передачи номера строки при вызове редактора\n"
 
-#: help.c:550
+#: help.c:527
 msgid ""
 "  PSQL_HISTORY\n"
 "    alternative location for the command history file\n"
@@ -4150,7 +4203,7 @@ msgstr ""
 "  PSQL_HISTORY\n"
 "    альтернативное размещение файла с историей команд\n"
 
-#: help.c:552
+#: help.c:529
 msgid ""
 "  PSQL_PAGER, PAGER\n"
 "    name of external pager program\n"
@@ -4158,7 +4211,7 @@ msgstr ""
 "  PSQL_PAGER, PAGER\n"
 "    имя программы внешнего постраничника\n"
 
-#: help.c:555
+#: help.c:532
 msgid ""
 "  PSQL_WATCH_PAGER\n"
 "    name of external pager program used for \\watch\n"
@@ -4166,7 +4219,7 @@ msgstr ""
 "  PSQL_WATCH_PAGER\n"
 "    имя программы внешнего постраничника для \\watch\n"
 
-#: help.c:558
+#: help.c:535
 msgid ""
 "  PSQLRC\n"
 "    alternative location for the user's .psqlrc file\n"
@@ -4174,7 +4227,7 @@ msgstr ""
 "  PSQLRC\n"
 "    альтернативное размещение пользовательского файла .psqlrc\n"
 
-#: help.c:560
+#: help.c:537
 msgid ""
 "  SHELL\n"
 "    shell used by the \\! command\n"
@@ -4182,7 +4235,7 @@ msgstr ""
 "  SHELL\n"
 "    оболочка, вызываемая командой \\!\n"
 
-#: help.c:562
+#: help.c:539
 msgid ""
 "  TMPDIR\n"
 "    directory for temporary files\n"
@@ -4190,11 +4243,11 @@ msgstr ""
 "  TMPDIR\n"
 "    каталог для временных файлов\n"
 
-#: help.c:622
+#: help.c:599
 msgid "Available help:\n"
 msgstr "Имеющаяся справка:\n"
 
-#: help.c:717
+#: help.c:694
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -4213,7 +4266,7 @@ msgstr ""
 "URL: %s\n"
 "\n"
 
-#: help.c:740
+#: help.c:717
 #, c-format
 msgid ""
 "No help available for \"%s\".\n"
@@ -4222,17 +4275,17 @@ msgstr ""
 "Нет справки по команде \"%s\".\n"
 "Попробуйте \\h без аргументов и посмотрите, что есть.\n"
 
-#: input.c:216
+#: input.c:215
 #, c-format
 msgid "could not read from input file: %m"
 msgstr "не удалось прочитать входной файл: %m"
 
-#: input.c:477 input.c:515
+#: input.c:476 input.c:514
 #, c-format
 msgid "could not save history to file \"%s\": %m"
 msgstr "не удалось сохранить историю в файле \"%s\": %m"
 
-#: input.c:534
+#: input.c:533
 #, c-format
 msgid "history is not supported by this installation"
 msgstr "в данной среде история не поддерживается"
@@ -4325,12 +4378,12 @@ msgstr ""
 msgid "reached EOF without finding closing \\endif(s)"
 msgstr "в закончившемся потоке команд не хватает \\endif"
 
-#: psqlscanslash.l:640
+#: psqlscanslash.l:642
 #, c-format
 msgid "unterminated quoted string"
 msgstr "незавершённая строка в кавычках"
 
-#: psqlscanslash.l:825
+#: psqlscanslash.l:842
 #, c-format
 msgid "%s: out of memory"
 msgstr "%s: нехватка памяти"
@@ -4347,193 +4400,193 @@ msgstr "%s: нехватка памяти"
 #: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597
 #: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608
 #: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670
-#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:716
-#: sql_help.c:720 sql_help.c:724 sql_help.c:743 sql_help.c:746 sql_help.c:749
-#: sql_help.c:778 sql_help.c:790 sql_help.c:798 sql_help.c:801 sql_help.c:804
-#: sql_help.c:819 sql_help.c:822 sql_help.c:851 sql_help.c:856 sql_help.c:861
-#: sql_help.c:866 sql_help.c:871 sql_help.c:898 sql_help.c:900 sql_help.c:902
-#: sql_help.c:904 sql_help.c:907 sql_help.c:909 sql_help.c:956 sql_help.c:1001
-#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021
-#: sql_help.c:1040 sql_help.c:1051 sql_help.c:1053 sql_help.c:1073
-#: sql_help.c:1083 sql_help.c:1084 sql_help.c:1086 sql_help.c:1088
-#: sql_help.c:1100 sql_help.c:1104 sql_help.c:1106 sql_help.c:1118
-#: sql_help.c:1120 sql_help.c:1122 sql_help.c:1124 sql_help.c:1143
-#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 sql_help.c:1157
-#: sql_help.c:1160 sql_help.c:1161 sql_help.c:1162 sql_help.c:1165
-#: sql_help.c:1168 sql_help.c:1170 sql_help.c:1309 sql_help.c:1311
-#: sql_help.c:1314 sql_help.c:1317 sql_help.c:1319 sql_help.c:1321
-#: sql_help.c:1324 sql_help.c:1327 sql_help.c:1447 sql_help.c:1449
-#: sql_help.c:1451 sql_help.c:1454 sql_help.c:1475 sql_help.c:1478
-#: sql_help.c:1481 sql_help.c:1484 sql_help.c:1488 sql_help.c:1490
-#: sql_help.c:1492 sql_help.c:1494 sql_help.c:1508 sql_help.c:1511
-#: sql_help.c:1513 sql_help.c:1515 sql_help.c:1525 sql_help.c:1527
-#: sql_help.c:1537 sql_help.c:1539 sql_help.c:1549 sql_help.c:1552
-#: sql_help.c:1575 sql_help.c:1577 sql_help.c:1579 sql_help.c:1581
-#: sql_help.c:1584 sql_help.c:1586 sql_help.c:1589 sql_help.c:1592
-#: sql_help.c:1643 sql_help.c:1686 sql_help.c:1689 sql_help.c:1691
-#: sql_help.c:1693 sql_help.c:1696 sql_help.c:1698 sql_help.c:1700
-#: sql_help.c:1703 sql_help.c:1755 sql_help.c:1771 sql_help.c:2004
-#: sql_help.c:2073 sql_help.c:2092 sql_help.c:2105 sql_help.c:2163
-#: sql_help.c:2171 sql_help.c:2181 sql_help.c:2208 sql_help.c:2240
-#: sql_help.c:2258 sql_help.c:2286 sql_help.c:2397 sql_help.c:2443
-#: sql_help.c:2468 sql_help.c:2491 sql_help.c:2495 sql_help.c:2529
-#: sql_help.c:2549 sql_help.c:2571 sql_help.c:2585 sql_help.c:2606
-#: sql_help.c:2635 sql_help.c:2670 sql_help.c:2695 sql_help.c:2742
-#: sql_help.c:3040 sql_help.c:3053 sql_help.c:3070 sql_help.c:3086
-#: sql_help.c:3126 sql_help.c:3180 sql_help.c:3184 sql_help.c:3186
-#: sql_help.c:3193 sql_help.c:3212 sql_help.c:3239 sql_help.c:3274
-#: sql_help.c:3286 sql_help.c:3295 sql_help.c:3339 sql_help.c:3353
-#: sql_help.c:3381 sql_help.c:3389 sql_help.c:3401 sql_help.c:3411
-#: sql_help.c:3419 sql_help.c:3427 sql_help.c:3435 sql_help.c:3443
-#: sql_help.c:3452 sql_help.c:3463 sql_help.c:3471 sql_help.c:3479
-#: sql_help.c:3487 sql_help.c:3495 sql_help.c:3505 sql_help.c:3514
-#: sql_help.c:3523 sql_help.c:3531 sql_help.c:3541 sql_help.c:3552
-#: sql_help.c:3560 sql_help.c:3569 sql_help.c:3580 sql_help.c:3589
-#: sql_help.c:3597 sql_help.c:3605 sql_help.c:3613 sql_help.c:3621
-#: sql_help.c:3629 sql_help.c:3637 sql_help.c:3645 sql_help.c:3653
-#: sql_help.c:3661 sql_help.c:3669 sql_help.c:3686 sql_help.c:3695
-#: sql_help.c:3703 sql_help.c:3720 sql_help.c:3735 sql_help.c:4047
-#: sql_help.c:4161 sql_help.c:4190 sql_help.c:4206 sql_help.c:4208
-#: sql_help.c:4711 sql_help.c:4759 sql_help.c:4917
+#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720
+#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755
+#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810
+#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867
+#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908
+#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007
+#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027
+#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079
+#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094
+#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124
+#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149
+#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163
+#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171
+#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1316 sql_help.c:1318
+#: sql_help.c:1321 sql_help.c:1324 sql_help.c:1326 sql_help.c:1328
+#: sql_help.c:1331 sql_help.c:1334 sql_help.c:1456 sql_help.c:1458
+#: sql_help.c:1460 sql_help.c:1463 sql_help.c:1484 sql_help.c:1487
+#: sql_help.c:1490 sql_help.c:1493 sql_help.c:1497 sql_help.c:1499
+#: sql_help.c:1501 sql_help.c:1503 sql_help.c:1517 sql_help.c:1520
+#: sql_help.c:1522 sql_help.c:1524 sql_help.c:1534 sql_help.c:1536
+#: sql_help.c:1546 sql_help.c:1548 sql_help.c:1558 sql_help.c:1561
+#: sql_help.c:1584 sql_help.c:1586 sql_help.c:1588 sql_help.c:1590
+#: sql_help.c:1593 sql_help.c:1595 sql_help.c:1598 sql_help.c:1601
+#: sql_help.c:1652 sql_help.c:1695 sql_help.c:1698 sql_help.c:1700
+#: sql_help.c:1702 sql_help.c:1705 sql_help.c:1707 sql_help.c:1709
+#: sql_help.c:1712 sql_help.c:1762 sql_help.c:1778 sql_help.c:2011
+#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2112 sql_help.c:2170
+#: sql_help.c:2178 sql_help.c:2188 sql_help.c:2216 sql_help.c:2249
+#: sql_help.c:2267 sql_help.c:2295 sql_help.c:2406 sql_help.c:2452
+#: sql_help.c:2477 sql_help.c:2500 sql_help.c:2504 sql_help.c:2538
+#: sql_help.c:2558 sql_help.c:2580 sql_help.c:2594 sql_help.c:2615
+#: sql_help.c:2644 sql_help.c:2677 sql_help.c:2700 sql_help.c:2747
+#: sql_help.c:3045 sql_help.c:3058 sql_help.c:3075 sql_help.c:3091
+#: sql_help.c:3131 sql_help.c:3185 sql_help.c:3189 sql_help.c:3191
+#: sql_help.c:3198 sql_help.c:3217 sql_help.c:3244 sql_help.c:3279
+#: sql_help.c:3291 sql_help.c:3300 sql_help.c:3344 sql_help.c:3358
+#: sql_help.c:3386 sql_help.c:3394 sql_help.c:3406 sql_help.c:3416
+#: sql_help.c:3424 sql_help.c:3432 sql_help.c:3440 sql_help.c:3448
+#: sql_help.c:3457 sql_help.c:3468 sql_help.c:3476 sql_help.c:3484
+#: sql_help.c:3492 sql_help.c:3500 sql_help.c:3510 sql_help.c:3519
+#: sql_help.c:3528 sql_help.c:3536 sql_help.c:3546 sql_help.c:3557
+#: sql_help.c:3565 sql_help.c:3574 sql_help.c:3585 sql_help.c:3594
+#: sql_help.c:3602 sql_help.c:3610 sql_help.c:3618 sql_help.c:3626
+#: sql_help.c:3634 sql_help.c:3642 sql_help.c:3650 sql_help.c:3658
+#: sql_help.c:3666 sql_help.c:3674 sql_help.c:3691 sql_help.c:3700
+#: sql_help.c:3708 sql_help.c:3725 sql_help.c:3740 sql_help.c:4053
+#: sql_help.c:4174 sql_help.c:4203 sql_help.c:4219 sql_help.c:4221
+#: sql_help.c:4725 sql_help.c:4773 sql_help.c:4932
 msgid "name"
 msgstr "имя"
 
-#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1852
-#: sql_help.c:3354 sql_help.c:4479
+#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1855
+#: sql_help.c:3359 sql_help.c:4492
 msgid "aggregate_signature"
 msgstr "сигнатура_агр_функции"
 
 #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255
 #: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578
-#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:745 sql_help.c:800
-#: sql_help.c:821 sql_help.c:860 sql_help.c:910 sql_help.c:957 sql_help.c:1010
-#: sql_help.c:1042 sql_help.c:1052 sql_help.c:1087 sql_help.c:1107
-#: sql_help.c:1121 sql_help.c:1171 sql_help.c:1318 sql_help.c:1448
-#: sql_help.c:1491 sql_help.c:1512 sql_help.c:1526 sql_help.c:1538
-#: sql_help.c:1551 sql_help.c:1578 sql_help.c:1644 sql_help.c:1697
+#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806
+#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016
+#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113
+#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1325 sql_help.c:1457
+#: sql_help.c:1500 sql_help.c:1521 sql_help.c:1535 sql_help.c:1547
+#: sql_help.c:1560 sql_help.c:1587 sql_help.c:1653 sql_help.c:1706
 msgid "new_name"
 msgstr "новое_имя"
 
 #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253
 #: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625
-#: sql_help.c:634 sql_help.c:699 sql_help.c:719 sql_help.c:748 sql_help.c:803
-#: sql_help.c:865 sql_help.c:908 sql_help.c:1015 sql_help.c:1054
-#: sql_help.c:1085 sql_help.c:1105 sql_help.c:1119 sql_help.c:1169
-#: sql_help.c:1382 sql_help.c:1450 sql_help.c:1493 sql_help.c:1514
-#: sql_help.c:1576 sql_help.c:1692 sql_help.c:3026
+#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809
+#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060
+#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175
+#: sql_help.c:1391 sql_help.c:1459 sql_help.c:1502 sql_help.c:1523
+#: sql_help.c:1585 sql_help.c:1701 sql_help.c:3031
 msgid "new_owner"
 msgstr "новый_владелец"
 
 #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324
-#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:723 sql_help.c:751
-#: sql_help.c:806 sql_help.c:870 sql_help.c:1020 sql_help.c:1089
-#: sql_help.c:1123 sql_help.c:1320 sql_help.c:1495 sql_help.c:1516
-#: sql_help.c:1528 sql_help.c:1540 sql_help.c:1580 sql_help.c:1699
+#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757
+#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095
+#: sql_help.c:1129 sql_help.c:1327 sql_help.c:1504 sql_help.c:1525
+#: sql_help.c:1537 sql_help.c:1549 sql_help.c:1589 sql_help.c:1708
 msgid "new_schema"
 msgstr "новая_схема"
 
-#: sql_help.c:44 sql_help.c:1916 sql_help.c:3355 sql_help.c:4508
+#: sql_help.c:44 sql_help.c:1919 sql_help.c:3360 sql_help.c:4521
 msgid "where aggregate_signature is:"
 msgstr "где сигнатура_агр_функции:"
 
 #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355
 #: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522
-#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852
-#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002
-#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022
-#: sql_help.c:1870 sql_help.c:1887 sql_help.c:1893 sql_help.c:1917
-#: sql_help.c:1920 sql_help.c:1923 sql_help.c:2074 sql_help.c:2093
-#: sql_help.c:2096 sql_help.c:2398 sql_help.c:2607 sql_help.c:3356
-#: sql_help.c:3359 sql_help.c:3362 sql_help.c:3453 sql_help.c:3542
-#: sql_help.c:3570 sql_help.c:3922 sql_help.c:4378 sql_help.c:4485
-#: sql_help.c:4492 sql_help.c:4498 sql_help.c:4509 sql_help.c:4512
-#: sql_help.c:4515
+#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858
+#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008
+#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028
+#: sql_help.c:1873 sql_help.c:1890 sql_help.c:1896 sql_help.c:1920
+#: sql_help.c:1923 sql_help.c:1926 sql_help.c:2081 sql_help.c:2100
+#: sql_help.c:2103 sql_help.c:2407 sql_help.c:2616 sql_help.c:3361
+#: sql_help.c:3364 sql_help.c:3367 sql_help.c:3458 sql_help.c:3547
+#: sql_help.c:3575 sql_help.c:3928 sql_help.c:4391 sql_help.c:4498
+#: sql_help.c:4505 sql_help.c:4511 sql_help.c:4522 sql_help.c:4525
+#: sql_help.c:4528
 msgid "argmode"
 msgstr "режим_аргумента"
 
 #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356
 #: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523
-#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:853
-#: sql_help.c:858 sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:1003
-#: sql_help.c:1008 sql_help.c:1013 sql_help.c:1018 sql_help.c:1023
-#: sql_help.c:1871 sql_help.c:1888 sql_help.c:1894 sql_help.c:1918
-#: sql_help.c:1921 sql_help.c:1924 sql_help.c:2075 sql_help.c:2094
-#: sql_help.c:2097 sql_help.c:2399 sql_help.c:2608 sql_help.c:3357
-#: sql_help.c:3360 sql_help.c:3363 sql_help.c:3454 sql_help.c:3543
-#: sql_help.c:3571 sql_help.c:4486 sql_help.c:4493 sql_help.c:4499
-#: sql_help.c:4510 sql_help.c:4513 sql_help.c:4516
+#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859
+#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009
+#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029
+#: sql_help.c:1874 sql_help.c:1891 sql_help.c:1897 sql_help.c:1921
+#: sql_help.c:1924 sql_help.c:1927 sql_help.c:2082 sql_help.c:2101
+#: sql_help.c:2104 sql_help.c:2408 sql_help.c:2617 sql_help.c:3362
+#: sql_help.c:3365 sql_help.c:3368 sql_help.c:3459 sql_help.c:3548
+#: sql_help.c:3576 sql_help.c:4499 sql_help.c:4506 sql_help.c:4512
+#: sql_help.c:4523 sql_help.c:4526 sql_help.c:4529
 msgid "argname"
 msgstr "имя_аргумента"
 
 #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357
 #: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524
-#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:854
-#: sql_help.c:859 sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:1004
-#: sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 sql_help.c:1024
-#: sql_help.c:1872 sql_help.c:1889 sql_help.c:1895 sql_help.c:1919
-#: sql_help.c:1922 sql_help.c:1925 sql_help.c:2400 sql_help.c:2609
-#: sql_help.c:3358 sql_help.c:3361 sql_help.c:3364 sql_help.c:3455
-#: sql_help.c:3544 sql_help.c:3572 sql_help.c:4487 sql_help.c:4494
-#: sql_help.c:4500 sql_help.c:4511 sql_help.c:4514 sql_help.c:4517
+#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860
+#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010
+#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030
+#: sql_help.c:1875 sql_help.c:1892 sql_help.c:1898 sql_help.c:1922
+#: sql_help.c:1925 sql_help.c:1928 sql_help.c:2409 sql_help.c:2618
+#: sql_help.c:3363 sql_help.c:3366 sql_help.c:3369 sql_help.c:3460
+#: sql_help.c:3549 sql_help.c:3577 sql_help.c:4500 sql_help.c:4507
+#: sql_help.c:4513 sql_help.c:4524 sql_help.c:4527 sql_help.c:4530
 msgid "argtype"
 msgstr "тип_аргумента"
 
-#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:951
-#: sql_help.c:1102 sql_help.c:1509 sql_help.c:1638 sql_help.c:1670
-#: sql_help.c:1723 sql_help.c:1787 sql_help.c:1974 sql_help.c:1981
-#: sql_help.c:2289 sql_help.c:2339 sql_help.c:2346 sql_help.c:2355
-#: sql_help.c:2444 sql_help.c:2671 sql_help.c:2764 sql_help.c:3055
-#: sql_help.c:3240 sql_help.c:3262 sql_help.c:3402 sql_help.c:3758
-#: sql_help.c:3966 sql_help.c:4205 sql_help.c:4207 sql_help.c:4984
+#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957
+#: sql_help.c:1108 sql_help.c:1518 sql_help.c:1647 sql_help.c:1679
+#: sql_help.c:1731 sql_help.c:1790 sql_help.c:1979 sql_help.c:1986
+#: sql_help.c:2298 sql_help.c:2348 sql_help.c:2355 sql_help.c:2364
+#: sql_help.c:2453 sql_help.c:2678 sql_help.c:2769 sql_help.c:3060
+#: sql_help.c:3245 sql_help.c:3267 sql_help.c:3407 sql_help.c:3764
+#: sql_help.c:3972 sql_help.c:4218 sql_help.c:4220 sql_help.c:4998
 msgid "option"
 msgstr "параметр"
 
-#: sql_help.c:115 sql_help.c:952 sql_help.c:1639 sql_help.c:2445
-#: sql_help.c:2672 sql_help.c:3241 sql_help.c:3403
+#: sql_help.c:115 sql_help.c:958 sql_help.c:1648 sql_help.c:2454
+#: sql_help.c:2679 sql_help.c:3246 sql_help.c:3408
 msgid "where option can be:"
 msgstr "где допустимые параметры:"
 
-#: sql_help.c:116 sql_help.c:2221
+#: sql_help.c:116 sql_help.c:2230
 msgid "allowconn"
 msgstr "разр_подключения"
 
-#: sql_help.c:117 sql_help.c:953 sql_help.c:1640 sql_help.c:2222
-#: sql_help.c:2446 sql_help.c:2673 sql_help.c:3242
+#: sql_help.c:117 sql_help.c:959 sql_help.c:1649 sql_help.c:2231
+#: sql_help.c:2455 sql_help.c:2680 sql_help.c:3247
 msgid "connlimit"
 msgstr "предел_подключений"
 
-#: sql_help.c:118 sql_help.c:2223
+#: sql_help.c:118 sql_help.c:2232
 msgid "istemplate"
 msgstr "это_шаблон"
 
-#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1323
-#: sql_help.c:1375 sql_help.c:4211
+#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1330
+#: sql_help.c:1384 sql_help.c:4224
 msgid "new_tablespace"
 msgstr "новое_табл_пространство"
 
 #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552
-#: sql_help.c:553 sql_help.c:877 sql_help.c:879 sql_help.c:880 sql_help.c:960
-#: sql_help.c:964 sql_help.c:967 sql_help.c:1029 sql_help.c:1031
-#: sql_help.c:1032 sql_help.c:1182 sql_help.c:1184 sql_help.c:1647
-#: sql_help.c:1651 sql_help.c:1654 sql_help.c:2410 sql_help.c:2613
-#: sql_help.c:3934 sql_help.c:4229 sql_help.c:4390 sql_help.c:4699
+#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966
+#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037
+#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1656
+#: sql_help.c:1660 sql_help.c:1663 sql_help.c:2419 sql_help.c:2622
+#: sql_help.c:3940 sql_help.c:4242 sql_help.c:4403 sql_help.c:4713
 msgid "configuration_parameter"
 msgstr "параметр_конфигурации"
 
 #: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489
-#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:878
-#: sql_help.c:906 sql_help.c:961 sql_help.c:1030 sql_help.c:1103
-#: sql_help.c:1148 sql_help.c:1152 sql_help.c:1156 sql_help.c:1159
-#: sql_help.c:1164 sql_help.c:1167 sql_help.c:1183 sql_help.c:1354
-#: sql_help.c:1377 sql_help.c:1425 sql_help.c:1433 sql_help.c:1453
-#: sql_help.c:1510 sql_help.c:1594 sql_help.c:1648 sql_help.c:1671
-#: sql_help.c:2290 sql_help.c:2340 sql_help.c:2347 sql_help.c:2356
-#: sql_help.c:2411 sql_help.c:2412 sql_help.c:2476 sql_help.c:2479
-#: sql_help.c:2513 sql_help.c:2614 sql_help.c:2615 sql_help.c:2638
-#: sql_help.c:2765 sql_help.c:2804 sql_help.c:2914 sql_help.c:2927
-#: sql_help.c:2941 sql_help.c:2982 sql_help.c:2990 sql_help.c:3012
-#: sql_help.c:3029 sql_help.c:3056 sql_help.c:3263 sql_help.c:3967
-#: sql_help.c:4700 sql_help.c:4701 sql_help.c:4702 sql_help.c:4703
+#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884
+#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109
+#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165
+#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1363
+#: sql_help.c:1386 sql_help.c:1434 sql_help.c:1442 sql_help.c:1462
+#: sql_help.c:1519 sql_help.c:1603 sql_help.c:1657 sql_help.c:1680
+#: sql_help.c:2299 sql_help.c:2349 sql_help.c:2356 sql_help.c:2365
+#: sql_help.c:2420 sql_help.c:2421 sql_help.c:2485 sql_help.c:2488
+#: sql_help.c:2522 sql_help.c:2623 sql_help.c:2624 sql_help.c:2647
+#: sql_help.c:2770 sql_help.c:2809 sql_help.c:2919 sql_help.c:2932
+#: sql_help.c:2946 sql_help.c:2987 sql_help.c:2995 sql_help.c:3017
+#: sql_help.c:3034 sql_help.c:3061 sql_help.c:3268 sql_help.c:3973
+#: sql_help.c:4714 sql_help.c:4715 sql_help.c:4716 sql_help.c:4717
 msgid "value"
 msgstr "значение"
 
@@ -4541,10 +4594,10 @@ msgstr "значение"
 msgid "target_role"
 msgstr "целевая_роль"
 
-#: sql_help.c:203 sql_help.c:915 sql_help.c:2274 sql_help.c:2643
-#: sql_help.c:2720 sql_help.c:2725 sql_help.c:3897 sql_help.c:3906
-#: sql_help.c:3925 sql_help.c:3937 sql_help.c:4353 sql_help.c:4362
-#: sql_help.c:4381 sql_help.c:4393
+#: sql_help.c:203 sql_help.c:921 sql_help.c:2283 sql_help.c:2652
+#: sql_help.c:2725 sql_help.c:2730 sql_help.c:3903 sql_help.c:3912
+#: sql_help.c:3931 sql_help.c:3943 sql_help.c:4366 sql_help.c:4375
+#: sql_help.c:4394 sql_help.c:4406
 msgid "schema_name"
 msgstr "имя_схемы"
 
@@ -4558,52 +4611,52 @@ msgstr "где допустимое предложение_GRANT_или_REVOKE:"
 
 #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210
 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215
-#: sql_help.c:576 sql_help.c:612 sql_help.c:680 sql_help.c:824 sql_help.c:971
-#: sql_help.c:1322 sql_help.c:1658 sql_help.c:2449 sql_help.c:2450
-#: sql_help.c:2451 sql_help.c:2452 sql_help.c:2453 sql_help.c:2587
-#: sql_help.c:2676 sql_help.c:2677 sql_help.c:2678 sql_help.c:2679
-#: sql_help.c:2680 sql_help.c:3245 sql_help.c:3246 sql_help.c:3247
-#: sql_help.c:3248 sql_help.c:3249 sql_help.c:3946 sql_help.c:3950
-#: sql_help.c:4402 sql_help.c:4406 sql_help.c:4721
+#: sql_help.c:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977
+#: sql_help.c:1329 sql_help.c:1667 sql_help.c:2458 sql_help.c:2459
+#: sql_help.c:2460 sql_help.c:2461 sql_help.c:2462 sql_help.c:2596
+#: sql_help.c:2683 sql_help.c:2684 sql_help.c:2685 sql_help.c:3250
+#: sql_help.c:3251 sql_help.c:3252 sql_help.c:3253 sql_help.c:3254
+#: sql_help.c:3952 sql_help.c:3956 sql_help.c:4415 sql_help.c:4419
+#: sql_help.c:4735
 msgid "role_name"
 msgstr "имя_роли"
 
-#: sql_help.c:241 sql_help.c:464 sql_help.c:914 sql_help.c:1338 sql_help.c:1340
-#: sql_help.c:1392 sql_help.c:1404 sql_help.c:1429 sql_help.c:1688
-#: sql_help.c:2243 sql_help.c:2247 sql_help.c:2359 sql_help.c:2364
-#: sql_help.c:2472 sql_help.c:2642 sql_help.c:2781 sql_help.c:2786
-#: sql_help.c:2788 sql_help.c:2909 sql_help.c:2922 sql_help.c:2936
-#: sql_help.c:2945 sql_help.c:2957 sql_help.c:2986 sql_help.c:3998
-#: sql_help.c:4013 sql_help.c:4015 sql_help.c:4104 sql_help.c:4107
-#: sql_help.c:4109 sql_help.c:4572 sql_help.c:4573 sql_help.c:4582
-#: sql_help.c:4629 sql_help.c:4630 sql_help.c:4631 sql_help.c:4632
-#: sql_help.c:4633 sql_help.c:4634 sql_help.c:4674 sql_help.c:4675
-#: sql_help.c:4680 sql_help.c:4685 sql_help.c:4829 sql_help.c:4830
-#: sql_help.c:4839 sql_help.c:4886 sql_help.c:4887 sql_help.c:4888
-#: sql_help.c:4889 sql_help.c:4890 sql_help.c:4891 sql_help.c:4945
-#: sql_help.c:4947 sql_help.c:5015 sql_help.c:5075 sql_help.c:5076
-#: sql_help.c:5085 sql_help.c:5132 sql_help.c:5133 sql_help.c:5134
-#: sql_help.c:5135 sql_help.c:5136 sql_help.c:5137
+#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1345 sql_help.c:1347
+#: sql_help.c:1351 sql_help.c:1401 sql_help.c:1413 sql_help.c:1438
+#: sql_help.c:1697 sql_help.c:2252 sql_help.c:2256 sql_help.c:2368
+#: sql_help.c:2373 sql_help.c:2481 sql_help.c:2651 sql_help.c:2786
+#: sql_help.c:2791 sql_help.c:2793 sql_help.c:2914 sql_help.c:2927
+#: sql_help.c:2941 sql_help.c:2950 sql_help.c:2962 sql_help.c:2991
+#: sql_help.c:4004 sql_help.c:4019 sql_help.c:4021 sql_help.c:4117
+#: sql_help.c:4120 sql_help.c:4122 sql_help.c:4585 sql_help.c:4586
+#: sql_help.c:4595 sql_help.c:4642 sql_help.c:4643 sql_help.c:4644
+#: sql_help.c:4645 sql_help.c:4646 sql_help.c:4647 sql_help.c:4688
+#: sql_help.c:4689 sql_help.c:4694 sql_help.c:4699 sql_help.c:4843
+#: sql_help.c:4844 sql_help.c:4853 sql_help.c:4900 sql_help.c:4901
+#: sql_help.c:4902 sql_help.c:4903 sql_help.c:4904 sql_help.c:4905
+#: sql_help.c:4960 sql_help.c:4962 sql_help.c:5028 sql_help.c:5088
+#: sql_help.c:5089 sql_help.c:5098 sql_help.c:5145 sql_help.c:5146
+#: sql_help.c:5147 sql_help.c:5148 sql_help.c:5149 sql_help.c:5150
 msgid "expression"
 msgstr "выражение"
 
-#: sql_help.c:244
+#: sql_help.c:244 sql_help.c:2253
 msgid "domain_constraint"
 msgstr "ограничение_домена"
 
 #: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480
-#: sql_help.c:1315 sql_help.c:1362 sql_help.c:1363 sql_help.c:1364
-#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1420 sql_help.c:1858
-#: sql_help.c:1860 sql_help.c:2246 sql_help.c:2358 sql_help.c:2363
-#: sql_help.c:2944 sql_help.c:2956 sql_help.c:4010
+#: sql_help.c:1322 sql_help.c:1371 sql_help.c:1372 sql_help.c:1373
+#: sql_help.c:1400 sql_help.c:1412 sql_help.c:1429 sql_help.c:1861
+#: sql_help.c:1863 sql_help.c:2255 sql_help.c:2367 sql_help.c:2372
+#: sql_help.c:2949 sql_help.c:2961 sql_help.c:4016
 msgid "constraint_name"
 msgstr "имя_ограничения"
 
-#: sql_help.c:249 sql_help.c:1316
+#: sql_help.c:249 sql_help.c:1323
 msgid "new_constraint_name"
 msgstr "имя_нового_ограничения"
 
-#: sql_help.c:322 sql_help.c:1101
+#: sql_help.c:322 sql_help.c:1107
 msgid "new_version"
 msgstr "новая_версия"
 
@@ -4619,83 +4672,83 @@ msgstr "где элемент_объект:"
 #: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351
 #: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365
 #: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372
-#: sql_help.c:373 sql_help.c:1850 sql_help.c:1855 sql_help.c:1862
-#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1865 sql_help.c:1866
-#: sql_help.c:1867 sql_help.c:1868 sql_help.c:1873 sql_help.c:1875
-#: sql_help.c:1879 sql_help.c:1881 sql_help.c:1885 sql_help.c:1890
-#: sql_help.c:1891 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900
-#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904
-#: sql_help.c:1905 sql_help.c:1906 sql_help.c:1907 sql_help.c:1908
-#: sql_help.c:1913 sql_help.c:1914 sql_help.c:4475 sql_help.c:4480
-#: sql_help.c:4481 sql_help.c:4482 sql_help.c:4483 sql_help.c:4489
-#: sql_help.c:4490 sql_help.c:4495 sql_help.c:4496 sql_help.c:4501
-#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4505
-#: sql_help.c:4506
+#: sql_help.c:373 sql_help.c:1853 sql_help.c:1858 sql_help.c:1865
+#: sql_help.c:1866 sql_help.c:1867 sql_help.c:1868 sql_help.c:1869
+#: sql_help.c:1870 sql_help.c:1871 sql_help.c:1876 sql_help.c:1878
+#: sql_help.c:1882 sql_help.c:1884 sql_help.c:1888 sql_help.c:1893
+#: sql_help.c:1894 sql_help.c:1901 sql_help.c:1902 sql_help.c:1903
+#: sql_help.c:1904 sql_help.c:1905 sql_help.c:1906 sql_help.c:1907
+#: sql_help.c:1908 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911
+#: sql_help.c:1916 sql_help.c:1917 sql_help.c:4488 sql_help.c:4493
+#: sql_help.c:4494 sql_help.c:4495 sql_help.c:4496 sql_help.c:4502
+#: sql_help.c:4503 sql_help.c:4508 sql_help.c:4509 sql_help.c:4514
+#: sql_help.c:4515 sql_help.c:4516 sql_help.c:4517 sql_help.c:4518
+#: sql_help.c:4519
 msgid "object_name"
 msgstr "имя_объекта"
 
 # well-spelled: агр
-#: sql_help.c:331 sql_help.c:1851 sql_help.c:4478
+#: sql_help.c:331 sql_help.c:1854 sql_help.c:4491
 msgid "aggregate_name"
 msgstr "имя_агр_функции"
 
-#: sql_help.c:333 sql_help.c:1853 sql_help.c:2139 sql_help.c:2143
-#: sql_help.c:2145 sql_help.c:3372
+#: sql_help.c:333 sql_help.c:1856 sql_help.c:2146 sql_help.c:2150
+#: sql_help.c:2152 sql_help.c:3377
 msgid "source_type"
 msgstr "исходный_тип"
 
-#: sql_help.c:334 sql_help.c:1854 sql_help.c:2140 sql_help.c:2144
-#: sql_help.c:2146 sql_help.c:3373
+#: sql_help.c:334 sql_help.c:1857 sql_help.c:2147 sql_help.c:2151
+#: sql_help.c:2153 sql_help.c:3378
 msgid "target_type"
 msgstr "целевой_тип"
 
-#: sql_help.c:341 sql_help.c:788 sql_help.c:1869 sql_help.c:2141
-#: sql_help.c:2184 sql_help.c:2262 sql_help.c:2530 sql_help.c:2561
-#: sql_help.c:3132 sql_help.c:4377 sql_help.c:4484 sql_help.c:4601
-#: sql_help.c:4605 sql_help.c:4609 sql_help.c:4612 sql_help.c:4858
-#: sql_help.c:4862 sql_help.c:4866 sql_help.c:4869 sql_help.c:5104
-#: sql_help.c:5108 sql_help.c:5112 sql_help.c:5115
+#: sql_help.c:341 sql_help.c:794 sql_help.c:1872 sql_help.c:2148
+#: sql_help.c:2191 sql_help.c:2271 sql_help.c:2539 sql_help.c:2570
+#: sql_help.c:3137 sql_help.c:4390 sql_help.c:4497 sql_help.c:4614
+#: sql_help.c:4618 sql_help.c:4622 sql_help.c:4625 sql_help.c:4872
+#: sql_help.c:4876 sql_help.c:4880 sql_help.c:4883 sql_help.c:5117
+#: sql_help.c:5121 sql_help.c:5125 sql_help.c:5128
 msgid "function_name"
 msgstr "имя_функции"
 
-#: sql_help.c:346 sql_help.c:781 sql_help.c:1876 sql_help.c:2554
+#: sql_help.c:346 sql_help.c:787 sql_help.c:1879 sql_help.c:2563
 msgid "operator_name"
 msgstr "имя_оператора"
 
-#: sql_help.c:347 sql_help.c:717 sql_help.c:721 sql_help.c:725 sql_help.c:1877
-#: sql_help.c:2531 sql_help.c:3496
+#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1880
+#: sql_help.c:2540 sql_help.c:3501
 msgid "left_type"
 msgstr "тип_слева"
 
-#: sql_help.c:348 sql_help.c:718 sql_help.c:722 sql_help.c:726 sql_help.c:1878
-#: sql_help.c:2532 sql_help.c:3497
+#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1881
+#: sql_help.c:2541 sql_help.c:3502
 msgid "right_type"
 msgstr "тип_справа"
 
-#: sql_help.c:350 sql_help.c:352 sql_help.c:744 sql_help.c:747 sql_help.c:750
-#: sql_help.c:779 sql_help.c:791 sql_help.c:799 sql_help.c:802 sql_help.c:805
-#: sql_help.c:1409 sql_help.c:1880 sql_help.c:1882 sql_help.c:2551
-#: sql_help.c:2572 sql_help.c:2962 sql_help.c:3506 sql_help.c:3515
+#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756
+#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811
+#: sql_help.c:1418 sql_help.c:1883 sql_help.c:1885 sql_help.c:2560
+#: sql_help.c:2581 sql_help.c:2967 sql_help.c:3511 sql_help.c:3520
 msgid "index_method"
 msgstr "метод_индекса"
 
-#: sql_help.c:354 sql_help.c:1886 sql_help.c:4491
+#: sql_help.c:354 sql_help.c:1889 sql_help.c:4504
 msgid "procedure_name"
 msgstr "имя_процедуры"
 
-#: sql_help.c:358 sql_help.c:1892 sql_help.c:3921 sql_help.c:4497
+#: sql_help.c:358 sql_help.c:1895 sql_help.c:3927 sql_help.c:4510
 msgid "routine_name"
 msgstr "имя_подпрограммы"
 
-#: sql_help.c:370 sql_help.c:1381 sql_help.c:1909 sql_help.c:2406
-#: sql_help.c:2612 sql_help.c:2917 sql_help.c:3099 sql_help.c:3677
-#: sql_help.c:3943 sql_help.c:4399
+#: sql_help.c:370 sql_help.c:1390 sql_help.c:1912 sql_help.c:2415
+#: sql_help.c:2621 sql_help.c:2922 sql_help.c:3104 sql_help.c:3682
+#: sql_help.c:3949 sql_help.c:4412
 msgid "type_name"
 msgstr "имя_типа"
 
-#: sql_help.c:371 sql_help.c:1910 sql_help.c:2405 sql_help.c:2611
-#: sql_help.c:3100 sql_help.c:3330 sql_help.c:3678 sql_help.c:3928
-#: sql_help.c:4384
+#: sql_help.c:371 sql_help.c:1913 sql_help.c:2414 sql_help.c:2620
+#: sql_help.c:3105 sql_help.c:3335 sql_help.c:3683 sql_help.c:3934
+#: sql_help.c:4397
 msgid "lang_name"
 msgstr "имя_языка"
 
@@ -4703,147 +4756,147 @@ msgstr "имя_языка"
 msgid "and aggregate_signature is:"
 msgstr "и сигнатура_агр_функции:"
 
-#: sql_help.c:397 sql_help.c:2006 sql_help.c:2287
+#: sql_help.c:397 sql_help.c:2013 sql_help.c:2296
 msgid "handler_function"
 msgstr "функция_обработчик"
 
-#: sql_help.c:398 sql_help.c:2288
+#: sql_help.c:398 sql_help.c:2297
 msgid "validator_function"
 msgstr "функция_проверки"
 
-#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:855 sql_help.c:1005
-#: sql_help.c:1310 sql_help.c:1585
+#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011
+#: sql_help.c:1317 sql_help.c:1594
 msgid "action"
 msgstr "действие"
 
 #: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463
 #: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472
 #: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685
-#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:913 sql_help.c:1082
-#: sql_help.c:1312 sql_help.c:1330 sql_help.c:1334 sql_help.c:1335
-#: sql_help.c:1339 sql_help.c:1341 sql_help.c:1342 sql_help.c:1343
-#: sql_help.c:1344 sql_help.c:1346 sql_help.c:1349 sql_help.c:1350
-#: sql_help.c:1352 sql_help.c:1355 sql_help.c:1357 sql_help.c:1358
-#: sql_help.c:1405 sql_help.c:1407 sql_help.c:1414 sql_help.c:1423
-#: sql_help.c:1428 sql_help.c:1435 sql_help.c:1436 sql_help.c:1687
-#: sql_help.c:1690 sql_help.c:1694 sql_help.c:1732 sql_help.c:1857
-#: sql_help.c:1971 sql_help.c:1977 sql_help.c:1991 sql_help.c:1992
-#: sql_help.c:1993 sql_help.c:2337 sql_help.c:2350 sql_help.c:2403
-#: sql_help.c:2471 sql_help.c:2477 sql_help.c:2510 sql_help.c:2641
-#: sql_help.c:2750 sql_help.c:2785 sql_help.c:2787 sql_help.c:2899
-#: sql_help.c:2908 sql_help.c:2918 sql_help.c:2921 sql_help.c:2931
-#: sql_help.c:2935 sql_help.c:2958 sql_help.c:2960 sql_help.c:2967
-#: sql_help.c:2980 sql_help.c:2985 sql_help.c:2992 sql_help.c:2993
-#: sql_help.c:3009 sql_help.c:3135 sql_help.c:3275 sql_help.c:3900
-#: sql_help.c:3901 sql_help.c:3997 sql_help.c:4012 sql_help.c:4014
-#: sql_help.c:4016 sql_help.c:4103 sql_help.c:4106 sql_help.c:4108
-#: sql_help.c:4110 sql_help.c:4356 sql_help.c:4357 sql_help.c:4477
-#: sql_help.c:4638 sql_help.c:4644 sql_help.c:4646 sql_help.c:4895
-#: sql_help.c:4901 sql_help.c:4903 sql_help.c:4944 sql_help.c:4946
-#: sql_help.c:4948 sql_help.c:5003 sql_help.c:5141 sql_help.c:5147
-#: sql_help.c:5149
+#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088
+#: sql_help.c:1319 sql_help.c:1337 sql_help.c:1341 sql_help.c:1342
+#: sql_help.c:1346 sql_help.c:1348 sql_help.c:1349 sql_help.c:1350
+#: sql_help.c:1352 sql_help.c:1353 sql_help.c:1355 sql_help.c:1358
+#: sql_help.c:1359 sql_help.c:1361 sql_help.c:1364 sql_help.c:1366
+#: sql_help.c:1367 sql_help.c:1414 sql_help.c:1416 sql_help.c:1423
+#: sql_help.c:1432 sql_help.c:1437 sql_help.c:1444 sql_help.c:1445
+#: sql_help.c:1696 sql_help.c:1699 sql_help.c:1703 sql_help.c:1739
+#: sql_help.c:1860 sql_help.c:1976 sql_help.c:1982 sql_help.c:1996
+#: sql_help.c:1997 sql_help.c:1998 sql_help.c:2346 sql_help.c:2359
+#: sql_help.c:2412 sql_help.c:2480 sql_help.c:2486 sql_help.c:2519
+#: sql_help.c:2650 sql_help.c:2755 sql_help.c:2790 sql_help.c:2792
+#: sql_help.c:2904 sql_help.c:2913 sql_help.c:2923 sql_help.c:2926
+#: sql_help.c:2936 sql_help.c:2940 sql_help.c:2963 sql_help.c:2965
+#: sql_help.c:2972 sql_help.c:2985 sql_help.c:2990 sql_help.c:2997
+#: sql_help.c:2998 sql_help.c:3014 sql_help.c:3140 sql_help.c:3280
+#: sql_help.c:3906 sql_help.c:3907 sql_help.c:4003 sql_help.c:4018
+#: sql_help.c:4020 sql_help.c:4022 sql_help.c:4116 sql_help.c:4119
+#: sql_help.c:4121 sql_help.c:4123 sql_help.c:4369 sql_help.c:4370
+#: sql_help.c:4490 sql_help.c:4651 sql_help.c:4658 sql_help.c:4660
+#: sql_help.c:4909 sql_help.c:4916 sql_help.c:4918 sql_help.c:4959
+#: sql_help.c:4961 sql_help.c:4963 sql_help.c:5016 sql_help.c:5154
+#: sql_help.c:5161 sql_help.c:5163
 msgid "column_name"
 msgstr "имя_столбца"
 
-#: sql_help.c:449 sql_help.c:674 sql_help.c:1313 sql_help.c:1695
+#: sql_help.c:449 sql_help.c:674 sql_help.c:1320 sql_help.c:1704
 msgid "new_column_name"
 msgstr "новое_имя_столбца"
 
-#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:876 sql_help.c:1026
-#: sql_help.c:1329 sql_help.c:1595
+#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032
+#: sql_help.c:1336 sql_help.c:1604
 msgid "where action is one of:"
 msgstr "где допустимое действие:"
 
-#: sql_help.c:456 sql_help.c:461 sql_help.c:1074 sql_help.c:1331
-#: sql_help.c:1336 sql_help.c:1597 sql_help.c:1601 sql_help.c:2241
-#: sql_help.c:2338 sql_help.c:2550 sql_help.c:2743 sql_help.c:2900
-#: sql_help.c:3182 sql_help.c:4162
+#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1338
+#: sql_help.c:1343 sql_help.c:1606 sql_help.c:1610 sql_help.c:2250
+#: sql_help.c:2347 sql_help.c:2559 sql_help.c:2748 sql_help.c:2905
+#: sql_help.c:3187 sql_help.c:4175
 msgid "data_type"
 msgstr "тип_данных"
 
-#: sql_help.c:457 sql_help.c:462 sql_help.c:1332 sql_help.c:1337
-#: sql_help.c:1430 sql_help.c:1598 sql_help.c:1602 sql_help.c:2242
-#: sql_help.c:2341 sql_help.c:2473 sql_help.c:2902 sql_help.c:2910
-#: sql_help.c:2923 sql_help.c:2937 sql_help.c:2987 sql_help.c:3183
-#: sql_help.c:3189 sql_help.c:4007
+#: sql_help.c:457 sql_help.c:462 sql_help.c:1339 sql_help.c:1344
+#: sql_help.c:1439 sql_help.c:1607 sql_help.c:1611 sql_help.c:2251
+#: sql_help.c:2350 sql_help.c:2482 sql_help.c:2907 sql_help.c:2915
+#: sql_help.c:2928 sql_help.c:2942 sql_help.c:2992 sql_help.c:3188
+#: sql_help.c:3194 sql_help.c:4013
 msgid "collation"
 msgstr "правило_сортировки"
 
-#: sql_help.c:458 sql_help.c:1333 sql_help.c:2342 sql_help.c:2351
-#: sql_help.c:2903 sql_help.c:2919 sql_help.c:2932
+#: sql_help.c:458 sql_help.c:1340 sql_help.c:2351 sql_help.c:2360
+#: sql_help.c:2908 sql_help.c:2924 sql_help.c:2937
 msgid "column_constraint"
 msgstr "ограничение_столбца"
 
-#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1351 sql_help.c:4997
+#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1360 sql_help.c:5010
 msgid "integer"
 msgstr "целое"
 
-#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1353
-#: sql_help.c:1356
+#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1362
+#: sql_help.c:1365
 msgid "attribute_option"
 msgstr "атрибут"
 
-#: sql_help.c:478 sql_help.c:1360 sql_help.c:2343 sql_help.c:2352
-#: sql_help.c:2904 sql_help.c:2920 sql_help.c:2933
+#: sql_help.c:478 sql_help.c:1369 sql_help.c:2352 sql_help.c:2361
+#: sql_help.c:2909 sql_help.c:2925 sql_help.c:2938
 msgid "table_constraint"
 msgstr "ограничение_таблицы"
 
-#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1365
-#: sql_help.c:1366 sql_help.c:1367 sql_help.c:1368 sql_help.c:1911
+#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1374
+#: sql_help.c:1375 sql_help.c:1376 sql_help.c:1377 sql_help.c:1914
 msgid "trigger_name"
 msgstr "имя_триггера"
 
-#: sql_help.c:485 sql_help.c:486 sql_help.c:1379 sql_help.c:1380
-#: sql_help.c:2344 sql_help.c:2349 sql_help.c:2907 sql_help.c:2930
+#: sql_help.c:485 sql_help.c:486 sql_help.c:1388 sql_help.c:1389
+#: sql_help.c:2353 sql_help.c:2358 sql_help.c:2912 sql_help.c:2935
 msgid "parent_table"
 msgstr "таблица_родитель"
 
-#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:875 sql_help.c:1025
-#: sql_help.c:1554 sql_help.c:2273
+#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031
+#: sql_help.c:1563 sql_help.c:2282
 msgid "extension_name"
 msgstr "имя_расширения"
 
-#: sql_help.c:547 sql_help.c:1027 sql_help.c:2407
+#: sql_help.c:547 sql_help.c:1033 sql_help.c:2416
 msgid "execution_cost"
 msgstr "стоимость_выполнения"
 
-#: sql_help.c:548 sql_help.c:1028 sql_help.c:2408
+#: sql_help.c:548 sql_help.c:1034 sql_help.c:2417
 msgid "result_rows"
 msgstr "строк_в_результате"
 
-#: sql_help.c:549 sql_help.c:2409
+#: sql_help.c:549 sql_help.c:2418
 msgid "support_function"
 msgstr "вспомогательная_функция"
 
-#: sql_help.c:571 sql_help.c:573 sql_help.c:950 sql_help.c:958 sql_help.c:962
-#: sql_help.c:965 sql_help.c:968 sql_help.c:1637 sql_help.c:1645
-#: sql_help.c:1649 sql_help.c:1652 sql_help.c:1655 sql_help.c:2721
-#: sql_help.c:2723 sql_help.c:2726 sql_help.c:2727 sql_help.c:3898
-#: sql_help.c:3899 sql_help.c:3903 sql_help.c:3904 sql_help.c:3907
-#: sql_help.c:3908 sql_help.c:3910 sql_help.c:3911 sql_help.c:3913
+#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968
+#: sql_help.c:971 sql_help.c:974 sql_help.c:1646 sql_help.c:1654
+#: sql_help.c:1658 sql_help.c:1661 sql_help.c:1664 sql_help.c:2726
+#: sql_help.c:2728 sql_help.c:2731 sql_help.c:2732 sql_help.c:3904
+#: sql_help.c:3905 sql_help.c:3909 sql_help.c:3910 sql_help.c:3913
 #: sql_help.c:3914 sql_help.c:3916 sql_help.c:3917 sql_help.c:3919
-#: sql_help.c:3920 sql_help.c:3926 sql_help.c:3927 sql_help.c:3929
-#: sql_help.c:3930 sql_help.c:3932 sql_help.c:3933 sql_help.c:3935
+#: sql_help.c:3920 sql_help.c:3922 sql_help.c:3923 sql_help.c:3925
+#: sql_help.c:3926 sql_help.c:3932 sql_help.c:3933 sql_help.c:3935
 #: sql_help.c:3936 sql_help.c:3938 sql_help.c:3939 sql_help.c:3941
 #: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947
-#: sql_help.c:3948 sql_help.c:4354 sql_help.c:4355 sql_help.c:4359
-#: sql_help.c:4360 sql_help.c:4363 sql_help.c:4364 sql_help.c:4366
-#: sql_help.c:4367 sql_help.c:4369 sql_help.c:4370 sql_help.c:4372
-#: sql_help.c:4373 sql_help.c:4375 sql_help.c:4376 sql_help.c:4382
-#: sql_help.c:4383 sql_help.c:4385 sql_help.c:4386 sql_help.c:4388
-#: sql_help.c:4389 sql_help.c:4391 sql_help.c:4392 sql_help.c:4394
-#: sql_help.c:4395 sql_help.c:4397 sql_help.c:4398 sql_help.c:4400
-#: sql_help.c:4401 sql_help.c:4403 sql_help.c:4404
+#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953
+#: sql_help.c:3954 sql_help.c:4367 sql_help.c:4368 sql_help.c:4372
+#: sql_help.c:4373 sql_help.c:4376 sql_help.c:4377 sql_help.c:4379
+#: sql_help.c:4380 sql_help.c:4382 sql_help.c:4383 sql_help.c:4385
+#: sql_help.c:4386 sql_help.c:4388 sql_help.c:4389 sql_help.c:4395
+#: sql_help.c:4396 sql_help.c:4398 sql_help.c:4399 sql_help.c:4401
+#: sql_help.c:4402 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407
+#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413
+#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417
 msgid "role_specification"
 msgstr "указание_роли"
 
-#: sql_help.c:572 sql_help.c:574 sql_help.c:1668 sql_help.c:2209
-#: sql_help.c:2729 sql_help.c:3260 sql_help.c:3711 sql_help.c:4731
+#: sql_help.c:572 sql_help.c:574 sql_help.c:1677 sql_help.c:2217
+#: sql_help.c:2734 sql_help.c:3265 sql_help.c:3716 sql_help.c:4745
 msgid "user_name"
 msgstr "имя_пользователя"
 
-#: sql_help.c:575 sql_help.c:970 sql_help.c:1657 sql_help.c:2728
-#: sql_help.c:3949 sql_help.c:4405
+#: sql_help.c:575 sql_help.c:976 sql_help.c:1666 sql_help.c:2733
+#: sql_help.c:3955 sql_help.c:4418
 msgid "where role_specification can be:"
 msgstr "где допустимое указание_роли:"
 
@@ -4851,22 +4904,22 @@ msgstr "где допустимое указание_роли:"
 msgid "group_name"
 msgstr "имя_группы"
 
-#: sql_help.c:598 sql_help.c:1426 sql_help.c:2220 sql_help.c:2480
-#: sql_help.c:2514 sql_help.c:2915 sql_help.c:2928 sql_help.c:2942
-#: sql_help.c:2983 sql_help.c:3013 sql_help.c:3025 sql_help.c:3940
-#: sql_help.c:4396
+#: sql_help.c:598 sql_help.c:1435 sql_help.c:2229 sql_help.c:2489
+#: sql_help.c:2523 sql_help.c:2920 sql_help.c:2933 sql_help.c:2947
+#: sql_help.c:2988 sql_help.c:3018 sql_help.c:3030 sql_help.c:3946
+#: sql_help.c:4409
 msgid "tablespace_name"
 msgstr "табл_пространство"
 
-#: sql_help.c:600 sql_help.c:693 sql_help.c:1373 sql_help.c:1383
-#: sql_help.c:1421 sql_help.c:1786 sql_help.c:1789
+#: sql_help.c:600 sql_help.c:693 sql_help.c:1382 sql_help.c:1392
+#: sql_help.c:1430 sql_help.c:1792
 msgid "index_name"
 msgstr "имя_индекса"
 
-#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1376
-#: sql_help.c:1378 sql_help.c:1424 sql_help.c:2478 sql_help.c:2512
-#: sql_help.c:2913 sql_help.c:2926 sql_help.c:2940 sql_help.c:2981
-#: sql_help.c:3011
+#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1385
+#: sql_help.c:1387 sql_help.c:1433 sql_help.c:2487 sql_help.c:2521
+#: sql_help.c:2918 sql_help.c:2931 sql_help.c:2945 sql_help.c:2986
+#: sql_help.c:3016
 msgid "storage_parameter"
 msgstr "параметр_хранения"
 
@@ -4874,1866 +4927,1883 @@ msgstr "параметр_хранения"
 msgid "column_number"
 msgstr "номер_столбца"
 
-#: sql_help.c:633 sql_help.c:1874 sql_help.c:4488
+#: sql_help.c:633 sql_help.c:1877 sql_help.c:4501
 msgid "large_object_oid"
 msgstr "oid_большого_объекта"
 
-#: sql_help.c:692 sql_help.c:1359 sql_help.c:2901
+#: sql_help.c:692 sql_help.c:1368 sql_help.c:2906
 msgid "compression_method"
 msgstr "метод_сжатия"
 
-#: sql_help.c:694 sql_help.c:1374
+#: sql_help.c:694 sql_help.c:1383
 msgid "new_access_method"
 msgstr "новый_метод_доступа"
 
-#: sql_help.c:727 sql_help.c:2535
+#: sql_help.c:731 sql_help.c:2544
 msgid "res_proc"
 msgstr "процедура_ограничения"
 
-#: sql_help.c:728 sql_help.c:2536
+#: sql_help.c:732 sql_help.c:2545
 msgid "join_proc"
 msgstr "процедура_соединения"
 
-#: sql_help.c:780 sql_help.c:792 sql_help.c:2553
+#: sql_help.c:733 sql_help.c:2542
+msgid "com_op"
+msgstr "коммут_оператор"
+
+#: sql_help.c:734 sql_help.c:2543
+msgid "neg_op"
+msgstr "обратный_оператор"
+
+#: sql_help.c:786 sql_help.c:798 sql_help.c:2562
 msgid "strategy_number"
 msgstr "номер_стратегии"
 
-#: sql_help.c:782 sql_help.c:783 sql_help.c:786 sql_help.c:787 sql_help.c:793
-#: sql_help.c:794 sql_help.c:796 sql_help.c:797 sql_help.c:2555 sql_help.c:2556
-#: sql_help.c:2559 sql_help.c:2560
+#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799
+#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2564 sql_help.c:2565
+#: sql_help.c:2568 sql_help.c:2569
 msgid "op_type"
 msgstr "тип_операции"
 
-#: sql_help.c:784 sql_help.c:2557
+#: sql_help.c:790 sql_help.c:2566
 msgid "sort_family_name"
 msgstr "семейство_сортировки"
 
-#: sql_help.c:785 sql_help.c:795 sql_help.c:2558
+#: sql_help.c:791 sql_help.c:801 sql_help.c:2567
 msgid "support_number"
 msgstr "номер_опорной_процедуры"
 
-#: sql_help.c:789 sql_help.c:2142 sql_help.c:2562 sql_help.c:3102
-#: sql_help.c:3104
+#: sql_help.c:795 sql_help.c:2149 sql_help.c:2571 sql_help.c:3107
+#: sql_help.c:3109
 msgid "argument_type"
 msgstr "тип_аргумента"
 
-#: sql_help.c:820 sql_help.c:823 sql_help.c:912 sql_help.c:1041 sql_help.c:1081
-#: sql_help.c:1550 sql_help.c:1553 sql_help.c:1731 sql_help.c:1785
-#: sql_help.c:1788 sql_help.c:1859 sql_help.c:1884 sql_help.c:1897
-#: sql_help.c:1912 sql_help.c:1970 sql_help.c:1976 sql_help.c:2336
-#: sql_help.c:2348 sql_help.c:2469 sql_help.c:2509 sql_help.c:2586
-#: sql_help.c:2640 sql_help.c:2697 sql_help.c:2749 sql_help.c:2782
-#: sql_help.c:2789 sql_help.c:2898 sql_help.c:2916 sql_help.c:2929
-#: sql_help.c:3008 sql_help.c:3128 sql_help.c:3309 sql_help.c:3532
-#: sql_help.c:3581 sql_help.c:3687 sql_help.c:3896 sql_help.c:3902
-#: sql_help.c:3963 sql_help.c:3995 sql_help.c:4352 sql_help.c:4358
-#: sql_help.c:4476 sql_help.c:4587 sql_help.c:4589 sql_help.c:4651
-#: sql_help.c:4690 sql_help.c:4844 sql_help.c:4846 sql_help.c:4908
-#: sql_help.c:4942 sql_help.c:5002 sql_help.c:5090 sql_help.c:5092
-#: sql_help.c:5154
+#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087
+#: sql_help.c:1559 sql_help.c:1562 sql_help.c:1738 sql_help.c:1791
+#: sql_help.c:1862 sql_help.c:1887 sql_help.c:1900 sql_help.c:1915
+#: sql_help.c:1975 sql_help.c:1981 sql_help.c:2345 sql_help.c:2357
+#: sql_help.c:2478 sql_help.c:2518 sql_help.c:2595 sql_help.c:2649
+#: sql_help.c:2702 sql_help.c:2754 sql_help.c:2787 sql_help.c:2794
+#: sql_help.c:2903 sql_help.c:2921 sql_help.c:2934 sql_help.c:3013
+#: sql_help.c:3133 sql_help.c:3314 sql_help.c:3537 sql_help.c:3586
+#: sql_help.c:3692 sql_help.c:3902 sql_help.c:3908 sql_help.c:3969
+#: sql_help.c:4001 sql_help.c:4365 sql_help.c:4371 sql_help.c:4489
+#: sql_help.c:4602 sql_help.c:4665 sql_help.c:4704 sql_help.c:4860
+#: sql_help.c:4923 sql_help.c:4957 sql_help.c:5015 sql_help.c:5105
+#: sql_help.c:5168
 msgid "table_name"
 msgstr "имя_таблицы"
 
-#: sql_help.c:825 sql_help.c:2588
+#: sql_help.c:831 sql_help.c:2597
 msgid "using_expression"
 msgstr "выражение_использования"
 
-#: sql_help.c:826 sql_help.c:2589
+#: sql_help.c:832 sql_help.c:2598
 msgid "check_expression"
 msgstr "выражение_проверки"
 
-#: sql_help.c:899 sql_help.c:901 sql_help.c:903 sql_help.c:2636
+#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2645
 msgid "publication_object"
 msgstr "объект_публикации"
 
-#: sql_help.c:905 sql_help.c:2637
+#: sql_help.c:911 sql_help.c:2646
 msgid "publication_parameter"
 msgstr "параметр_публикации"
 
-#: sql_help.c:911 sql_help.c:2639
+#: sql_help.c:917 sql_help.c:2648
 msgid "where publication_object is one of:"
 msgstr "где объект_публикации:"
 
-#: sql_help.c:954 sql_help.c:1641 sql_help.c:2447 sql_help.c:2674
-#: sql_help.c:3243
+#: sql_help.c:960 sql_help.c:1650 sql_help.c:2456 sql_help.c:2681
+#: sql_help.c:3248
 msgid "password"
 msgstr "пароль"
 
-#: sql_help.c:955 sql_help.c:1642 sql_help.c:2448 sql_help.c:2675
-#: sql_help.c:3244
+#: sql_help.c:961 sql_help.c:1651 sql_help.c:2457 sql_help.c:2682
+#: sql_help.c:3249
 msgid "timestamp"
 msgstr "timestamp"
 
-#: sql_help.c:959 sql_help.c:963 sql_help.c:966 sql_help.c:969 sql_help.c:1646
-#: sql_help.c:1650 sql_help.c:1653 sql_help.c:1656 sql_help.c:3909
-#: sql_help.c:4365
+#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1655
+#: sql_help.c:1659 sql_help.c:1662 sql_help.c:1665 sql_help.c:3915
+#: sql_help.c:4378
 msgid "database_name"
 msgstr "имя_БД"
 
-#: sql_help.c:1075 sql_help.c:2744
+#: sql_help.c:1081 sql_help.c:2749
 msgid "increment"
 msgstr "шаг"
 
-#: sql_help.c:1076 sql_help.c:2745
+#: sql_help.c:1082 sql_help.c:2750
 msgid "minvalue"
 msgstr "мин_значение"
 
-#: sql_help.c:1077 sql_help.c:2746
+#: sql_help.c:1083 sql_help.c:2751
 msgid "maxvalue"
 msgstr "макс_значение"
 
-#: sql_help.c:1078 sql_help.c:2747 sql_help.c:4585 sql_help.c:4688
-#: sql_help.c:4842 sql_help.c:5019 sql_help.c:5088
+#: sql_help.c:1084 sql_help.c:2752 sql_help.c:4598 sql_help.c:4702
+#: sql_help.c:4856 sql_help.c:5032 sql_help.c:5101
 msgid "start"
 msgstr "начальное_значение"
 
-#: sql_help.c:1079 sql_help.c:1348
+#: sql_help.c:1085 sql_help.c:1357
 msgid "restart"
 msgstr "значение_перезапуска"
 
-#: sql_help.c:1080 sql_help.c:2748
+#: sql_help.c:1086 sql_help.c:2753
 msgid "cache"
 msgstr "кеш"
 
-#: sql_help.c:1125
+#: sql_help.c:1131
 msgid "new_target"
 msgstr "новое_имя"
 
-#: sql_help.c:1144 sql_help.c:2801
+#: sql_help.c:1150 sql_help.c:2806
 msgid "conninfo"
 msgstr "строка_подключения"
 
-#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:2802
+#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2807
 msgid "publication_name"
 msgstr "имя_публикации"
 
-#: sql_help.c:1147 sql_help.c:1151 sql_help.c:1155
+#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161
 msgid "publication_option"
 msgstr "параметр_публикации"
 
-#: sql_help.c:1158
+#: sql_help.c:1164
 msgid "refresh_option"
 msgstr "параметр_обновления"
 
-#: sql_help.c:1163 sql_help.c:2803
+#: sql_help.c:1169 sql_help.c:2808
 msgid "subscription_parameter"
 msgstr "параметр_подписки"
 
-#: sql_help.c:1166
+#: sql_help.c:1172
 msgid "skip_option"
 msgstr "параметр_пропуска"
 
-#: sql_help.c:1325 sql_help.c:1328
+#: sql_help.c:1332 sql_help.c:1335
 msgid "partition_name"
 msgstr "имя_секции"
 
-#: sql_help.c:1326 sql_help.c:2353 sql_help.c:2934
+#: sql_help.c:1333 sql_help.c:2362 sql_help.c:2939
 msgid "partition_bound_spec"
 msgstr "указание_границ_секции"
 
-#: sql_help.c:1345 sql_help.c:1395 sql_help.c:2948
+#: sql_help.c:1354 sql_help.c:1404 sql_help.c:2953
 msgid "sequence_options"
 msgstr "параметры_последовательности"
 
-#: sql_help.c:1347
+#: sql_help.c:1356
 msgid "sequence_option"
 msgstr "параметр_последовательности"
 
-#: sql_help.c:1361
+#: sql_help.c:1370
 msgid "table_constraint_using_index"
 msgstr "ограничение_таблицы_с_индексом"
 
-#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372
+#: sql_help.c:1378 sql_help.c:1379 sql_help.c:1380 sql_help.c:1381
 msgid "rewrite_rule_name"
 msgstr "имя_правила_перезаписи"
 
-#: sql_help.c:1384 sql_help.c:2365 sql_help.c:2973
+#: sql_help.c:1393 sql_help.c:2374 sql_help.c:2978
 msgid "and partition_bound_spec is:"
 msgstr "и указание_границ_секции:"
 
-#: sql_help.c:1385 sql_help.c:1386 sql_help.c:1387 sql_help.c:2366
-#: sql_help.c:2367 sql_help.c:2368 sql_help.c:2974 sql_help.c:2975
-#: sql_help.c:2976
+#: sql_help.c:1394 sql_help.c:1395 sql_help.c:1396 sql_help.c:2375
+#: sql_help.c:2376 sql_help.c:2377 sql_help.c:2979 sql_help.c:2980
+#: sql_help.c:2981
 msgid "partition_bound_expr"
 msgstr "выражение_границ_секции"
 
-#: sql_help.c:1388 sql_help.c:1389 sql_help.c:2369 sql_help.c:2370
-#: sql_help.c:2977 sql_help.c:2978
+#: sql_help.c:1397 sql_help.c:1398 sql_help.c:2378 sql_help.c:2379
+#: sql_help.c:2982 sql_help.c:2983
 msgid "numeric_literal"
 msgstr "числовая_константа"
 
-#: sql_help.c:1390
+#: sql_help.c:1399
 msgid "and column_constraint is:"
 msgstr "и ограничение_столбца:"
 
-#: sql_help.c:1393 sql_help.c:2360 sql_help.c:2401 sql_help.c:2610
-#: sql_help.c:2946
+#: sql_help.c:1402 sql_help.c:2369 sql_help.c:2410 sql_help.c:2619
+#: sql_help.c:2951
 msgid "default_expr"
 msgstr "выражение_по_умолчанию"
 
-#: sql_help.c:1394 sql_help.c:2361 sql_help.c:2947
+#: sql_help.c:1403 sql_help.c:2370 sql_help.c:2952
 msgid "generation_expr"
 msgstr "генерирующее_выражение"
 
-#: sql_help.c:1396 sql_help.c:1397 sql_help.c:1406 sql_help.c:1408
-#: sql_help.c:1412 sql_help.c:2949 sql_help.c:2950 sql_help.c:2959
-#: sql_help.c:2961 sql_help.c:2965
+#: sql_help.c:1405 sql_help.c:1406 sql_help.c:1415 sql_help.c:1417
+#: sql_help.c:1421 sql_help.c:2954 sql_help.c:2955 sql_help.c:2964
+#: sql_help.c:2966 sql_help.c:2970
 msgid "index_parameters"
 msgstr "параметры_индекса"
 
-#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2951 sql_help.c:2968
+#: sql_help.c:1407 sql_help.c:1424 sql_help.c:2956 sql_help.c:2973
 msgid "reftable"
 msgstr "целевая_таблица"
 
-#: sql_help.c:1399 sql_help.c:1416 sql_help.c:2952 sql_help.c:2969
+#: sql_help.c:1408 sql_help.c:1425 sql_help.c:2957 sql_help.c:2974
 msgid "refcolumn"
 msgstr "целевой_столбец"
 
-#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1417 sql_help.c:1418
-#: sql_help.c:2953 sql_help.c:2954 sql_help.c:2970 sql_help.c:2971
+#: sql_help.c:1409 sql_help.c:1410 sql_help.c:1426 sql_help.c:1427
+#: sql_help.c:2958 sql_help.c:2959 sql_help.c:2975 sql_help.c:2976
 msgid "referential_action"
 msgstr "ссылочное_действие"
 
-#: sql_help.c:1402 sql_help.c:2362 sql_help.c:2955
+#: sql_help.c:1411 sql_help.c:2371 sql_help.c:2960
 msgid "and table_constraint is:"
 msgstr "и ограничение_таблицы:"
 
-#: sql_help.c:1410 sql_help.c:2963
+#: sql_help.c:1419 sql_help.c:2968
 msgid "exclude_element"
 msgstr "объект_исключения"
 
-#: sql_help.c:1411 sql_help.c:2964 sql_help.c:4583 sql_help.c:4686
-#: sql_help.c:4840 sql_help.c:5017 sql_help.c:5086
+#: sql_help.c:1420 sql_help.c:2969 sql_help.c:4596 sql_help.c:4700
+#: sql_help.c:4854 sql_help.c:5030 sql_help.c:5099
 msgid "operator"
 msgstr "оператор"
 
-#: sql_help.c:1413 sql_help.c:2481 sql_help.c:2966
+#: sql_help.c:1422 sql_help.c:2490 sql_help.c:2971
 msgid "predicate"
 msgstr "предикат"
 
-#: sql_help.c:1419
+#: sql_help.c:1428
 msgid "and table_constraint_using_index is:"
 msgstr "и ограничение_таблицы_с_индексом:"
 
-#: sql_help.c:1422 sql_help.c:2979
+#: sql_help.c:1431 sql_help.c:2984
 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
 msgstr "параметры_индекса в ограничениях UNIQUE, PRIMARY KEY и EXCLUDE:"
 
-#: sql_help.c:1427 sql_help.c:2984
+#: sql_help.c:1436 sql_help.c:2989
 msgid "exclude_element in an EXCLUDE constraint is:"
 msgstr "объект_исключения в ограничении EXCLUDE:"
 
-#: sql_help.c:1431 sql_help.c:2474 sql_help.c:2911 sql_help.c:2924
-#: sql_help.c:2938 sql_help.c:2988 sql_help.c:4008
+#: sql_help.c:1440 sql_help.c:2483 sql_help.c:2916 sql_help.c:2929
+#: sql_help.c:2943 sql_help.c:2993 sql_help.c:4014
 msgid "opclass"
 msgstr "класс_оператора"
 
-#: sql_help.c:1432 sql_help.c:2475 sql_help.c:2989
+#: sql_help.c:1441 sql_help.c:2484 sql_help.c:2994
 msgid "opclass_parameter"
 msgstr "параметр_класса_оп"
 
-#: sql_help.c:1434 sql_help.c:2991
+#: sql_help.c:1443 sql_help.c:2996
 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:"
 msgstr "ссылочное действие в ограничении FOREIGN KEY/REFERENCES:"
 
-#: sql_help.c:1452 sql_help.c:1455 sql_help.c:3028
+#: sql_help.c:1461 sql_help.c:1464 sql_help.c:3033
 msgid "tablespace_option"
 msgstr "параметр_табл_пространства"
 
-#: sql_help.c:1476 sql_help.c:1479 sql_help.c:1485 sql_help.c:1489
+#: sql_help.c:1485 sql_help.c:1488 sql_help.c:1494 sql_help.c:1498
 msgid "token_type"
 msgstr "тип_фрагмента"
 
-#: sql_help.c:1477 sql_help.c:1480
+#: sql_help.c:1486 sql_help.c:1489
 msgid "dictionary_name"
 msgstr "имя_словаря"
 
-#: sql_help.c:1482 sql_help.c:1486
+#: sql_help.c:1491 sql_help.c:1495
 msgid "old_dictionary"
 msgstr "старый_словарь"
 
-#: sql_help.c:1483 sql_help.c:1487
+#: sql_help.c:1492 sql_help.c:1496
 msgid "new_dictionary"
 msgstr "новый_словарь"
 
-#: sql_help.c:1582 sql_help.c:1596 sql_help.c:1599 sql_help.c:1600
-#: sql_help.c:3181
+#: sql_help.c:1591 sql_help.c:1605 sql_help.c:1608 sql_help.c:1609
+#: sql_help.c:3186
 msgid "attribute_name"
 msgstr "имя_атрибута"
 
-#: sql_help.c:1583
+#: sql_help.c:1592
 msgid "new_attribute_name"
 msgstr "новое_имя_атрибута"
 
-#: sql_help.c:1587 sql_help.c:1591
+#: sql_help.c:1596 sql_help.c:1600
 msgid "new_enum_value"
 msgstr "новое_значение_перечисления"
 
-#: sql_help.c:1588
+#: sql_help.c:1597
 msgid "neighbor_enum_value"
 msgstr "соседнее_значение_перечисления"
 
-#: sql_help.c:1590
+#: sql_help.c:1599
 msgid "existing_enum_value"
 msgstr "существующее_значение_перечисления"
 
-#: sql_help.c:1593
+#: sql_help.c:1602
 msgid "property"
 msgstr "свойство"
 
-#: sql_help.c:1669 sql_help.c:2345 sql_help.c:2354 sql_help.c:2760
-#: sql_help.c:3261 sql_help.c:3712 sql_help.c:3918 sql_help.c:3964
-#: sql_help.c:4374
+#: sql_help.c:1678 sql_help.c:2354 sql_help.c:2363 sql_help.c:2765
+#: sql_help.c:3266 sql_help.c:3717 sql_help.c:3924 sql_help.c:3970
+#: sql_help.c:4387
 msgid "server_name"
 msgstr "имя_сервера"
 
-#: sql_help.c:1701 sql_help.c:1704 sql_help.c:3276
+#: sql_help.c:1710 sql_help.c:1713 sql_help.c:3281
 msgid "view_option_name"
 msgstr "имя_параметра_представления"
 
-#: sql_help.c:1702 sql_help.c:3277
+#: sql_help.c:1711 sql_help.c:3282
 msgid "view_option_value"
 msgstr "значение_параметра_представления"
 
-#: sql_help.c:1724 sql_help.c:1725 sql_help.c:4985 sql_help.c:4986
+#: sql_help.c:1732 sql_help.c:4999
 msgid "table_and_columns"
 msgstr "таблица_и_столбцы"
 
-#: sql_help.c:1726 sql_help.c:1790 sql_help.c:1982 sql_help.c:3761
-#: sql_help.c:4209 sql_help.c:4987
+#: sql_help.c:1733 sql_help.c:1793 sql_help.c:1987 sql_help.c:3766
+#: sql_help.c:4222 sql_help.c:5000
 msgid "where option can be one of:"
 msgstr "где допустимый параметр:"
 
-#: sql_help.c:1727 sql_help.c:1728 sql_help.c:1791 sql_help.c:1984
-#: sql_help.c:1988 sql_help.c:2168 sql_help.c:3762 sql_help.c:3763
-#: sql_help.c:3764 sql_help.c:3765 sql_help.c:3766 sql_help.c:3767
-#: sql_help.c:3768 sql_help.c:3769 sql_help.c:3770 sql_help.c:4210
-#: sql_help.c:4212 sql_help.c:4988 sql_help.c:4989 sql_help.c:4990
-#: sql_help.c:4991 sql_help.c:4992 sql_help.c:4993 sql_help.c:4994
-#: sql_help.c:4995 sql_help.c:4996 sql_help.c:4998 sql_help.c:4999
+#: sql_help.c:1734 sql_help.c:1735 sql_help.c:1794 sql_help.c:1989
+#: sql_help.c:1993 sql_help.c:2175 sql_help.c:3767 sql_help.c:3768
+#: sql_help.c:3769 sql_help.c:3770 sql_help.c:3771 sql_help.c:3772
+#: sql_help.c:3773 sql_help.c:3774 sql_help.c:3775 sql_help.c:3776
+#: sql_help.c:4223 sql_help.c:4225 sql_help.c:5001 sql_help.c:5002
+#: sql_help.c:5003 sql_help.c:5004 sql_help.c:5005 sql_help.c:5006
+#: sql_help.c:5007 sql_help.c:5008 sql_help.c:5009 sql_help.c:5011
+#: sql_help.c:5012
 msgid "boolean"
 msgstr "логическое_значение"
 
-#: sql_help.c:1729 sql_help.c:5000
+#: sql_help.c:1736 sql_help.c:5013
 msgid "size"
 msgstr "размер"
 
-#: sql_help.c:1730 sql_help.c:5001
+#: sql_help.c:1737 sql_help.c:5014
 msgid "and table_and_columns is:"
 msgstr "и таблица_и_столбцы:"
 
-#: sql_help.c:1746 sql_help.c:4747 sql_help.c:4749 sql_help.c:4773
+#: sql_help.c:1753 sql_help.c:4761 sql_help.c:4763 sql_help.c:4787
 msgid "transaction_mode"
 msgstr "режим_транзакции"
 
-#: sql_help.c:1747 sql_help.c:4750 sql_help.c:4774
+#: sql_help.c:1754 sql_help.c:4764 sql_help.c:4788
 msgid "where transaction_mode is one of:"
 msgstr "где допустимый режим_транзакции:"
 
-#: sql_help.c:1756 sql_help.c:4593 sql_help.c:4602 sql_help.c:4606
-#: sql_help.c:4610 sql_help.c:4613 sql_help.c:4850 sql_help.c:4859
-#: sql_help.c:4863 sql_help.c:4867 sql_help.c:4870 sql_help.c:5096
-#: sql_help.c:5105 sql_help.c:5109 sql_help.c:5113 sql_help.c:5116
+#: sql_help.c:1763 sql_help.c:4606 sql_help.c:4615 sql_help.c:4619
+#: sql_help.c:4623 sql_help.c:4626 sql_help.c:4864 sql_help.c:4873
+#: sql_help.c:4877 sql_help.c:4881 sql_help.c:4884 sql_help.c:5109
+#: sql_help.c:5118 sql_help.c:5122 sql_help.c:5126 sql_help.c:5129
 msgid "argument"
 msgstr "аргумент"
 
-#: sql_help.c:1856
+#: sql_help.c:1859
 msgid "relation_name"
 msgstr "имя_отношения"
 
-#: sql_help.c:1861 sql_help.c:3912 sql_help.c:4368
+#: sql_help.c:1864 sql_help.c:3918 sql_help.c:4381
 msgid "domain_name"
 msgstr "имя_домена"
 
-#: sql_help.c:1883
+#: sql_help.c:1886
 msgid "policy_name"
 msgstr "имя_политики"
 
-#: sql_help.c:1896
+#: sql_help.c:1899
 msgid "rule_name"
 msgstr "имя_правила"
 
-#: sql_help.c:1915 sql_help.c:4507
+#: sql_help.c:1918 sql_help.c:4520
 msgid "string_literal"
 msgstr "строковая_константа"
 
-#: sql_help.c:1940 sql_help.c:4171 sql_help.c:4421
+#: sql_help.c:1943 sql_help.c:4184 sql_help.c:4434
 msgid "transaction_id"
 msgstr "код_транзакции"
 
-#: sql_help.c:1972 sql_help.c:1979 sql_help.c:4034
+#: sql_help.c:1977 sql_help.c:1984 sql_help.c:4040
 msgid "filename"
 msgstr "имя_файла"
 
-#: sql_help.c:1973 sql_help.c:1980 sql_help.c:2699 sql_help.c:2700
-#: sql_help.c:2701
+#: sql_help.c:1978 sql_help.c:1985 sql_help.c:2704 sql_help.c:2705
+#: sql_help.c:2706
 msgid "command"
 msgstr "команда"
 
-#: sql_help.c:1975 sql_help.c:2698 sql_help.c:3131 sql_help.c:3312
-#: sql_help.c:4018 sql_help.c:4097 sql_help.c:4100 sql_help.c:4576
-#: sql_help.c:4578 sql_help.c:4679 sql_help.c:4681 sql_help.c:4833
-#: sql_help.c:4835 sql_help.c:4951 sql_help.c:5079 sql_help.c:5081
+#: sql_help.c:1980 sql_help.c:2703 sql_help.c:3136 sql_help.c:3317
+#: sql_help.c:4024 sql_help.c:4107 sql_help.c:4110 sql_help.c:4113
+#: sql_help.c:4589 sql_help.c:4591 sql_help.c:4693 sql_help.c:4695
+#: sql_help.c:4847 sql_help.c:4849 sql_help.c:4966 sql_help.c:5092
+#: sql_help.c:5094
 msgid "condition"
 msgstr "условие"
 
-#: sql_help.c:1978 sql_help.c:2515 sql_help.c:3014 sql_help.c:3278
-#: sql_help.c:3296 sql_help.c:3999
+#: sql_help.c:1983 sql_help.c:2524 sql_help.c:3019 sql_help.c:3283
+#: sql_help.c:3301 sql_help.c:4005
 msgid "query"
 msgstr "запрос"
 
-#: sql_help.c:1983
+#: sql_help.c:1988
 msgid "format_name"
 msgstr "имя_формата"
 
-#: sql_help.c:1985
+#: sql_help.c:1990
 msgid "delimiter_character"
 msgstr "символ_разделитель"
 
-#: sql_help.c:1986
+#: sql_help.c:1991
 msgid "null_string"
 msgstr "представление_NULL"
 
-#: sql_help.c:1987
+#: sql_help.c:1992
 msgid "default_string"
 msgstr "представление_DEFAULT"
 
-#: sql_help.c:1989
+#: sql_help.c:1994
 msgid "quote_character"
 msgstr "символ_кавычек"
 
-#: sql_help.c:1990
+#: sql_help.c:1995
 msgid "escape_character"
 msgstr "спецсимвол"
 
-#: sql_help.c:1994
+#: sql_help.c:1999
+msgid "error_action"
+msgstr "действие_при_ошибке"
+
+#: sql_help.c:2000
 msgid "encoding_name"
 msgstr "имя_кодировки"
 
-#: sql_help.c:2005
+#: sql_help.c:2001
+msgid "verbosity"
+msgstr "детализация"
+
+#: sql_help.c:2012
 msgid "access_method_type"
 msgstr "тип_метода_доступа"
 
-#: sql_help.c:2076 sql_help.c:2095 sql_help.c:2098
+#: sql_help.c:2083 sql_help.c:2102 sql_help.c:2105
 msgid "arg_data_type"
 msgstr "тип_данных_аргумента"
 
-#: sql_help.c:2077 sql_help.c:2099 sql_help.c:2107
+#: sql_help.c:2084 sql_help.c:2106 sql_help.c:2114
 msgid "sfunc"
 msgstr "функция_состояния"
 
-#: sql_help.c:2078 sql_help.c:2100 sql_help.c:2108
+#: sql_help.c:2085 sql_help.c:2107 sql_help.c:2115
 msgid "state_data_type"
 msgstr "тип_данных_состояния"
 
-#: sql_help.c:2079 sql_help.c:2101 sql_help.c:2109
+#: sql_help.c:2086 sql_help.c:2108 sql_help.c:2116
 msgid "state_data_size"
 msgstr "размер_данных_состояния"
 
-#: sql_help.c:2080 sql_help.c:2102 sql_help.c:2110
+#: sql_help.c:2087 sql_help.c:2109 sql_help.c:2117
 msgid "ffunc"
 msgstr "функция_завершения"
 
-#: sql_help.c:2081 sql_help.c:2111
+#: sql_help.c:2088 sql_help.c:2118
 msgid "combinefunc"
 msgstr "комбинирующая_функция"
 
-#: sql_help.c:2082 sql_help.c:2112
+#: sql_help.c:2089 sql_help.c:2119
 msgid "serialfunc"
 msgstr "функция_сериализации"
 
-#: sql_help.c:2083 sql_help.c:2113
+#: sql_help.c:2090 sql_help.c:2120
 msgid "deserialfunc"
 msgstr "функция_десериализации"
 
-#: sql_help.c:2084 sql_help.c:2103 sql_help.c:2114
+#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2121
 msgid "initial_condition"
 msgstr "начальное_условие"
 
-#: sql_help.c:2085 sql_help.c:2115
+#: sql_help.c:2092 sql_help.c:2122
 msgid "msfunc"
 msgstr "функция_состояния_движ"
 
-#: sql_help.c:2086 sql_help.c:2116
+#: sql_help.c:2093 sql_help.c:2123
 msgid "minvfunc"
 msgstr "обратная_функция_движ"
 
-#: sql_help.c:2087 sql_help.c:2117
+#: sql_help.c:2094 sql_help.c:2124
 msgid "mstate_data_type"
 msgstr "тип_данных_состояния_движ"
 
-#: sql_help.c:2088 sql_help.c:2118
+#: sql_help.c:2095 sql_help.c:2125
 msgid "mstate_data_size"
 msgstr "размер_данных_состояния_движ"
 
-#: sql_help.c:2089 sql_help.c:2119
+#: sql_help.c:2096 sql_help.c:2126
 msgid "mffunc"
 msgstr "функция_завершения_движ"
 
-#: sql_help.c:2090 sql_help.c:2120
+#: sql_help.c:2097 sql_help.c:2127
 msgid "minitial_condition"
 msgstr "начальное_условие_движ"
 
-#: sql_help.c:2091 sql_help.c:2121
+#: sql_help.c:2098 sql_help.c:2128
 msgid "sort_operator"
 msgstr "оператор_сортировки"
 
-#: sql_help.c:2104
+#: sql_help.c:2111
 msgid "or the old syntax"
 msgstr "или старый синтаксис"
 
-#: sql_help.c:2106
+#: sql_help.c:2113
 msgid "base_type"
 msgstr "базовый_тип"
 
-#: sql_help.c:2164 sql_help.c:2213
+#: sql_help.c:2171 sql_help.c:2221
 msgid "locale"
 msgstr "код_локали"
 
-#: sql_help.c:2165 sql_help.c:2214
+#: sql_help.c:2172 sql_help.c:2222
 msgid "lc_collate"
 msgstr "код_правила_сортировки"
 
-#: sql_help.c:2166 sql_help.c:2215
+#: sql_help.c:2173 sql_help.c:2223
 msgid "lc_ctype"
 msgstr "код_классификации_символов"
 
-#: sql_help.c:2167 sql_help.c:4474
+#: sql_help.c:2174 sql_help.c:4487
 msgid "provider"
 msgstr "провайдер"
 
-#: sql_help.c:2169
+#: sql_help.c:2176
 msgid "rules"
 msgstr "правила"
 
-#: sql_help.c:2170 sql_help.c:2275
+#: sql_help.c:2177 sql_help.c:2284
 msgid "version"
 msgstr "версия"
 
-#: sql_help.c:2172
+#: sql_help.c:2179
 msgid "existing_collation"
 msgstr "существующее_правило_сортировки"
 
-#: sql_help.c:2182
+#: sql_help.c:2189
 msgid "source_encoding"
 msgstr "исходная_кодировка"
 
-#: sql_help.c:2183
+#: sql_help.c:2190
 msgid "dest_encoding"
 msgstr "целевая_кодировка"
 
-#: sql_help.c:2210 sql_help.c:3054
+#: sql_help.c:2218 sql_help.c:3059
 msgid "template"
 msgstr "шаблон"
 
-#: sql_help.c:2211
+#: sql_help.c:2219
 msgid "encoding"
 msgstr "кодировка"
 
-#: sql_help.c:2212
+#: sql_help.c:2220
 msgid "strategy"
 msgstr "стратегия"
 
-#: sql_help.c:2216
+#: sql_help.c:2224
+msgid "builtin_locale"
+msgstr "встроенная_локаль"
+
+#: sql_help.c:2225
 msgid "icu_locale"
 msgstr "локаль_icu"
 
-#: sql_help.c:2217
+#: sql_help.c:2226
 msgid "icu_rules"
 msgstr "правила_icu"
 
-#: sql_help.c:2218
+#: sql_help.c:2227
 msgid "locale_provider"
 msgstr "провайдер_локали"
 
-#: sql_help.c:2219
+#: sql_help.c:2228
 msgid "collation_version"
 msgstr "версия_правила_сортировки"
 
-#: sql_help.c:2224
+#: sql_help.c:2233
 msgid "oid"
 msgstr "oid"
 
-#: sql_help.c:2244
-msgid "constraint"
-msgstr "ограничение"
-
-#: sql_help.c:2245
-msgid "where constraint is:"
-msgstr "где ограничение:"
+#: sql_help.c:2254
+msgid "where domain_constraint is:"
+msgstr "где ограничение_домена может быть следующим:"
 
-#: sql_help.c:2259 sql_help.c:2696 sql_help.c:3127
+#: sql_help.c:2268 sql_help.c:2701 sql_help.c:3132
 msgid "event"
 msgstr "событие"
 
-#: sql_help.c:2260
+#: sql_help.c:2269
 msgid "filter_variable"
 msgstr "переменная_фильтра"
 
-#: sql_help.c:2261
+#: sql_help.c:2270
 msgid "filter_value"
 msgstr "значение_фильтра"
 
-#: sql_help.c:2357 sql_help.c:2943
+#: sql_help.c:2366 sql_help.c:2948
 msgid "where column_constraint is:"
 msgstr "где ограничение_столбца:"
 
-#: sql_help.c:2402
+#: sql_help.c:2411
 msgid "rettype"
 msgstr "тип_возврата"
 
-#: sql_help.c:2404
+#: sql_help.c:2413
 msgid "column_type"
 msgstr "тип_столбца"
 
-#: sql_help.c:2413 sql_help.c:2616
+#: sql_help.c:2422 sql_help.c:2625
 msgid "definition"
 msgstr "определение"
 
-#: sql_help.c:2414 sql_help.c:2617
+#: sql_help.c:2423 sql_help.c:2626
 msgid "obj_file"
 msgstr "объектный_файл"
 
-#: sql_help.c:2415 sql_help.c:2618
+#: sql_help.c:2424 sql_help.c:2627
 msgid "link_symbol"
 msgstr "символ_в_экспорте"
 
-#: sql_help.c:2416 sql_help.c:2619
+#: sql_help.c:2425 sql_help.c:2628
 msgid "sql_body"
 msgstr "тело_sql"
 
-#: sql_help.c:2454 sql_help.c:2681 sql_help.c:3250
+#: sql_help.c:2463 sql_help.c:2686 sql_help.c:3255
 msgid "uid"
 msgstr "uid"
 
-#: sql_help.c:2470 sql_help.c:2511 sql_help.c:2912 sql_help.c:2925
-#: sql_help.c:2939 sql_help.c:3010
+#: sql_help.c:2479 sql_help.c:2520 sql_help.c:2917 sql_help.c:2930
+#: sql_help.c:2944 sql_help.c:3015
 msgid "method"
 msgstr "метод"
 
-#: sql_help.c:2492
+#: sql_help.c:2501
 msgid "call_handler"
 msgstr "обработчик_вызова"
 
-#: sql_help.c:2493
+#: sql_help.c:2502
 msgid "inline_handler"
 msgstr "обработчик_внедрённого_кода"
 
-#: sql_help.c:2494
+#: sql_help.c:2503
 msgid "valfunction"
 msgstr "функция_проверки"
 
-#: sql_help.c:2533
-msgid "com_op"
-msgstr "коммут_оператор"
-
-#: sql_help.c:2534
-msgid "neg_op"
-msgstr "обратный_оператор"
-
-#: sql_help.c:2552
+#: sql_help.c:2561
 msgid "family_name"
 msgstr "имя_семейства"
 
-#: sql_help.c:2563
+#: sql_help.c:2572
 msgid "storage_type"
 msgstr "тип_хранения"
 
-#: sql_help.c:2702 sql_help.c:3134
+#: sql_help.c:2707 sql_help.c:3139
 msgid "where event can be one of:"
 msgstr "где допустимое событие:"
 
-#: sql_help.c:2722 sql_help.c:2724
+#: sql_help.c:2727 sql_help.c:2729
 msgid "schema_element"
 msgstr "элемент_схемы"
 
-#: sql_help.c:2761
+#: sql_help.c:2766
 msgid "server_type"
 msgstr "тип_сервера"
 
-#: sql_help.c:2762
+#: sql_help.c:2767
 msgid "server_version"
 msgstr "версия_сервера"
 
-#: sql_help.c:2763 sql_help.c:3915 sql_help.c:4371
+#: sql_help.c:2768 sql_help.c:3921 sql_help.c:4384
 msgid "fdw_name"
 msgstr "имя_обёртки_сторонних_данных"
 
-#: sql_help.c:2780 sql_help.c:2783
+#: sql_help.c:2785 sql_help.c:2788
 msgid "statistics_name"
 msgstr "имя_статистики"
 
-#: sql_help.c:2784
+#: sql_help.c:2789
 msgid "statistics_kind"
 msgstr "вид_статистики"
 
-#: sql_help.c:2800
+#: sql_help.c:2805
 msgid "subscription_name"
 msgstr "имя_подписки"
 
-#: sql_help.c:2905
+#: sql_help.c:2910
 msgid "source_table"
 msgstr "исходная_таблица"
 
-#: sql_help.c:2906
+#: sql_help.c:2911
 msgid "like_option"
 msgstr "параметр_порождения"
 
-#: sql_help.c:2972
+#: sql_help.c:2977
 msgid "and like_option is:"
 msgstr "и параметр_порождения:"
 
-#: sql_help.c:3027
+#: sql_help.c:3032
 msgid "directory"
 msgstr "каталог"
 
-#: sql_help.c:3041
+#: sql_help.c:3046
 msgid "parser_name"
 msgstr "имя_анализатора"
 
-#: sql_help.c:3042
+#: sql_help.c:3047
 msgid "source_config"
 msgstr "исходная_конфигурация"
 
-#: sql_help.c:3071
+#: sql_help.c:3076
 msgid "start_function"
 msgstr "функция_начала"
 
-#: sql_help.c:3072
+#: sql_help.c:3077
 msgid "gettoken_function"
 msgstr "функция_выдачи_фрагмента"
 
-#: sql_help.c:3073
+#: sql_help.c:3078
 msgid "end_function"
 msgstr "функция_окончания"
 
-#: sql_help.c:3074
+#: sql_help.c:3079
 msgid "lextypes_function"
 msgstr "функция_лекс_типов"
 
-#: sql_help.c:3075
+#: sql_help.c:3080
 msgid "headline_function"
 msgstr "функция_создания_выдержек"
 
-#: sql_help.c:3087
+#: sql_help.c:3092
 msgid "init_function"
 msgstr "функция_инициализации"
 
-#: sql_help.c:3088
+#: sql_help.c:3093
 msgid "lexize_function"
 msgstr "функция_выделения_лексем"
 
-#: sql_help.c:3101
+#: sql_help.c:3106
 msgid "from_sql_function_name"
 msgstr "имя_функции_из_sql"
 
-#: sql_help.c:3103
+#: sql_help.c:3108
 msgid "to_sql_function_name"
 msgstr "имя_функции_в_sql"
 
-#: sql_help.c:3129
+#: sql_help.c:3134
 msgid "referenced_table_name"
 msgstr "ссылающаяся_таблица"
 
-#: sql_help.c:3130
+#: sql_help.c:3135
 msgid "transition_relation_name"
 msgstr "имя_переходного_отношения"
 
-#: sql_help.c:3133
+#: sql_help.c:3138
 msgid "arguments"
 msgstr "аргументы"
 
-#: sql_help.c:3185
+#: sql_help.c:3190
 msgid "label"
 msgstr "метка"
 
-#: sql_help.c:3187
+#: sql_help.c:3192
 msgid "subtype"
 msgstr "подтип"
 
-#: sql_help.c:3188
+#: sql_help.c:3193
 msgid "subtype_operator_class"
 msgstr "класс_оператора_подтипа"
 
-#: sql_help.c:3190
+#: sql_help.c:3195
 msgid "canonical_function"
 msgstr "каноническая_функция"
 
-#: sql_help.c:3191
+#: sql_help.c:3196
 msgid "subtype_diff_function"
 msgstr "функция_различий_подтипа"
 
-#: sql_help.c:3192
+#: sql_help.c:3197
 msgid "multirange_type_name"
 msgstr "имя_мультидиапазонного_типа"
 
-#: sql_help.c:3194
+#: sql_help.c:3199
 msgid "input_function"
 msgstr "функция_ввода"
 
-#: sql_help.c:3195
+#: sql_help.c:3200
 msgid "output_function"
 msgstr "функция_вывода"
 
-#: sql_help.c:3196
+#: sql_help.c:3201
 msgid "receive_function"
 msgstr "функция_получения"
 
-#: sql_help.c:3197
+#: sql_help.c:3202
 msgid "send_function"
 msgstr "функция_отправки"
 
-#: sql_help.c:3198
+#: sql_help.c:3203
 msgid "type_modifier_input_function"
 msgstr "функция_ввода_модификатора_типа"
 
-#: sql_help.c:3199
+#: sql_help.c:3204
 msgid "type_modifier_output_function"
 msgstr "функция_вывода_модификатора_типа"
 
-#: sql_help.c:3200
+#: sql_help.c:3205
 msgid "analyze_function"
 msgstr "функция_анализа"
 
-#: sql_help.c:3201
+#: sql_help.c:3206
 msgid "subscript_function"
 msgstr "функция_обращения_по_индексу"
 
-#: sql_help.c:3202
+#: sql_help.c:3207
 msgid "internallength"
 msgstr "внутр_длина"
 
-#: sql_help.c:3203
+#: sql_help.c:3208
 msgid "alignment"
 msgstr "выравнивание"
 
-#: sql_help.c:3204
+#: sql_help.c:3209
 msgid "storage"
 msgstr "хранение"
 
-#: sql_help.c:3205
+#: sql_help.c:3210
 msgid "like_type"
 msgstr "тип_образец"
 
-#: sql_help.c:3206
+#: sql_help.c:3211
 msgid "category"
 msgstr "категория"
 
-#: sql_help.c:3207
+#: sql_help.c:3212
 msgid "preferred"
 msgstr "предпочитаемый"
 
-#: sql_help.c:3208
+#: sql_help.c:3213
 msgid "default"
 msgstr "по_умолчанию"
 
-#: sql_help.c:3209
+#: sql_help.c:3214
 msgid "element"
 msgstr "элемент"
 
-#: sql_help.c:3210
+#: sql_help.c:3215
 msgid "delimiter"
 msgstr "разделитель"
 
-#: sql_help.c:3211
+#: sql_help.c:3216
 msgid "collatable"
 msgstr "сортируемый"
 
-#: sql_help.c:3308 sql_help.c:3994 sql_help.c:4086 sql_help.c:4571
-#: sql_help.c:4673 sql_help.c:4828 sql_help.c:4941 sql_help.c:5074
+#: sql_help.c:3313 sql_help.c:4000 sql_help.c:4094 sql_help.c:4584
+#: sql_help.c:4687 sql_help.c:4842 sql_help.c:4956 sql_help.c:5087
 msgid "with_query"
 msgstr "запрос_WITH"
 
-#: sql_help.c:3310 sql_help.c:3996 sql_help.c:4590 sql_help.c:4596
-#: sql_help.c:4599 sql_help.c:4603 sql_help.c:4607 sql_help.c:4615
-#: sql_help.c:4847 sql_help.c:4853 sql_help.c:4856 sql_help.c:4860
-#: sql_help.c:4864 sql_help.c:4872 sql_help.c:4943 sql_help.c:5093
-#: sql_help.c:5099 sql_help.c:5102 sql_help.c:5106 sql_help.c:5110
-#: sql_help.c:5118
+#: sql_help.c:3315 sql_help.c:4002 sql_help.c:4603 sql_help.c:4609
+#: sql_help.c:4612 sql_help.c:4616 sql_help.c:4620 sql_help.c:4628
+#: sql_help.c:4861 sql_help.c:4867 sql_help.c:4870 sql_help.c:4874
+#: sql_help.c:4878 sql_help.c:4886 sql_help.c:4958 sql_help.c:5106
+#: sql_help.c:5112 sql_help.c:5115 sql_help.c:5119 sql_help.c:5123
+#: sql_help.c:5131
 msgid "alias"
 msgstr "псевдоним"
 
-#: sql_help.c:3311 sql_help.c:4575 sql_help.c:4617 sql_help.c:4619
-#: sql_help.c:4623 sql_help.c:4625 sql_help.c:4626 sql_help.c:4627
-#: sql_help.c:4678 sql_help.c:4832 sql_help.c:4874 sql_help.c:4876
-#: sql_help.c:4880 sql_help.c:4882 sql_help.c:4883 sql_help.c:4884
-#: sql_help.c:4950 sql_help.c:5078 sql_help.c:5120 sql_help.c:5122
-#: sql_help.c:5126 sql_help.c:5128 sql_help.c:5129 sql_help.c:5130
+#: sql_help.c:3316 sql_help.c:4588 sql_help.c:4630 sql_help.c:4632
+#: sql_help.c:4636 sql_help.c:4638 sql_help.c:4639 sql_help.c:4640
+#: sql_help.c:4692 sql_help.c:4846 sql_help.c:4888 sql_help.c:4890
+#: sql_help.c:4894 sql_help.c:4896 sql_help.c:4897 sql_help.c:4898
+#: sql_help.c:4965 sql_help.c:5091 sql_help.c:5133 sql_help.c:5135
+#: sql_help.c:5139 sql_help.c:5141 sql_help.c:5142 sql_help.c:5143
 msgid "from_item"
 msgstr "источник_данных"
 
-#: sql_help.c:3313 sql_help.c:3796 sql_help.c:4138 sql_help.c:4952
+#: sql_help.c:3318 sql_help.c:3802 sql_help.c:4151 sql_help.c:4967
 msgid "cursor_name"
 msgstr "имя_курсора"
 
-#: sql_help.c:3314 sql_help.c:4002 sql_help.c:4953
+#: sql_help.c:3319 sql_help.c:4008 sql_help.c:4100 sql_help.c:4968
 msgid "output_expression"
 msgstr "выражение_результата"
 
-#: sql_help.c:3315 sql_help.c:4003 sql_help.c:4574 sql_help.c:4676
-#: sql_help.c:4831 sql_help.c:4954 sql_help.c:5077
+#: sql_help.c:3320 sql_help.c:4009 sql_help.c:4101 sql_help.c:4587
+#: sql_help.c:4690 sql_help.c:4845 sql_help.c:4969 sql_help.c:5090
 msgid "output_name"
 msgstr "имя_результата"
 
-#: sql_help.c:3331
+#: sql_help.c:3336
 msgid "code"
 msgstr "внедрённый_код"
 
-#: sql_help.c:3736
+#: sql_help.c:3741
 msgid "parameter"
 msgstr "параметр"
 
-#: sql_help.c:3759 sql_help.c:3760 sql_help.c:4163
+#: sql_help.c:3765 sql_help.c:4176
 msgid "statement"
 msgstr "оператор"
 
-#: sql_help.c:3795 sql_help.c:4137
+#: sql_help.c:3801 sql_help.c:4150
 msgid "direction"
 msgstr "направление"
 
-#: sql_help.c:3797 sql_help.c:4139
+#: sql_help.c:3803 sql_help.c:4152
 msgid "where direction can be one of:"
 msgstr "где допустимое направление:"
 
-#: sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 sql_help.c:3801
-#: sql_help.c:3802 sql_help.c:4140 sql_help.c:4141 sql_help.c:4142
-#: sql_help.c:4143 sql_help.c:4144 sql_help.c:4584 sql_help.c:4586
-#: sql_help.c:4687 sql_help.c:4689 sql_help.c:4841 sql_help.c:4843
-#: sql_help.c:5018 sql_help.c:5020 sql_help.c:5087 sql_help.c:5089
+#: sql_help.c:3804 sql_help.c:3805 sql_help.c:3806 sql_help.c:3807
+#: sql_help.c:3808 sql_help.c:4153 sql_help.c:4154 sql_help.c:4155
+#: sql_help.c:4156 sql_help.c:4157 sql_help.c:4597 sql_help.c:4599
+#: sql_help.c:4701 sql_help.c:4703 sql_help.c:4855 sql_help.c:4857
+#: sql_help.c:5031 sql_help.c:5033 sql_help.c:5100 sql_help.c:5102
 msgid "count"
 msgstr "число"
 
-#: sql_help.c:3905 sql_help.c:4361
+#: sql_help.c:3911 sql_help.c:4374
 msgid "sequence_name"
 msgstr "имя_последовательности"
 
-#: sql_help.c:3923 sql_help.c:4379
+#: sql_help.c:3929 sql_help.c:4392
 msgid "arg_name"
 msgstr "имя_аргумента"
 
-#: sql_help.c:3924 sql_help.c:4380
+#: sql_help.c:3930 sql_help.c:4393
 msgid "arg_type"
 msgstr "тип_аргумента"
 
-#: sql_help.c:3931 sql_help.c:4387
+#: sql_help.c:3937 sql_help.c:4400
 msgid "loid"
 msgstr "код_БО"
 
-#: sql_help.c:3962
+#: sql_help.c:3968
 msgid "remote_schema"
 msgstr "удалённая_схема"
 
-#: sql_help.c:3965
+#: sql_help.c:3971
 msgid "local_schema"
 msgstr "локальная_схема"
 
-#: sql_help.c:4000
+#: sql_help.c:4006
 msgid "conflict_target"
 msgstr "объект_конфликта"
 
-#: sql_help.c:4001
+#: sql_help.c:4007
 msgid "conflict_action"
 msgstr "действие_при_конфликте"
 
-#: sql_help.c:4004
+#: sql_help.c:4010
 msgid "where conflict_target can be one of:"
 msgstr "где допустимый объект_конфликта:"
 
-#: sql_help.c:4005
+#: sql_help.c:4011
 msgid "index_column_name"
 msgstr "имя_столбца_индекса"
 
-#: sql_help.c:4006
+#: sql_help.c:4012
 msgid "index_expression"
 msgstr "выражение_индекса"
 
-#: sql_help.c:4009
+#: sql_help.c:4015
 msgid "index_predicate"
 msgstr "предикат_индекса"
 
-#: sql_help.c:4011
+#: sql_help.c:4017
 msgid "and conflict_action is one of:"
 msgstr "а допустимое действие_при_конфликте:"
 
-#: sql_help.c:4017 sql_help.c:4111 sql_help.c:4949
+#: sql_help.c:4023 sql_help.c:4124 sql_help.c:4964
 msgid "sub-SELECT"
 msgstr "вложенный_SELECT"
 
-#: sql_help.c:4026 sql_help.c:4152 sql_help.c:4925
+#: sql_help.c:4032 sql_help.c:4165 sql_help.c:4940
 msgid "channel"
 msgstr "канал"
 
-#: sql_help.c:4048
+#: sql_help.c:4054
 msgid "lockmode"
 msgstr "режим_блокировки"
 
-#: sql_help.c:4049
+#: sql_help.c:4055
 msgid "where lockmode is one of:"
 msgstr "где допустимый режим_блокировки:"
 
-#: sql_help.c:4087
+#: sql_help.c:4095
 msgid "target_table_name"
 msgstr "имя_целевой_таблицы"
 
-#: sql_help.c:4088
+#: sql_help.c:4096
 msgid "target_alias"
 msgstr "псевдоним_назначения"
 
-#: sql_help.c:4089
+#: sql_help.c:4097
 msgid "data_source"
 msgstr "источник_данных"
 
-#: sql_help.c:4090 sql_help.c:4620 sql_help.c:4877 sql_help.c:5123
+#: sql_help.c:4098 sql_help.c:4633 sql_help.c:4891 sql_help.c:5136
 msgid "join_condition"
 msgstr "условие_соединения"
 
-#: sql_help.c:4091
+#: sql_help.c:4099
 msgid "when_clause"
 msgstr "предложение_when"
 
-#: sql_help.c:4092
+#: sql_help.c:4102
 msgid "where data_source is:"
 msgstr "где источник_данных:"
 
-#: sql_help.c:4093
+#: sql_help.c:4103
 msgid "source_table_name"
 msgstr "имя_исходной_таблицы"
 
-#: sql_help.c:4094
+#: sql_help.c:4104
 msgid "source_query"
 msgstr "исходный_запрос"
 
-#: sql_help.c:4095
+#: sql_help.c:4105
 msgid "source_alias"
 msgstr "псевдоним_источника"
 
-#: sql_help.c:4096
+#: sql_help.c:4106
 msgid "and when_clause is:"
 msgstr "и предложение_when:"
 
-#: sql_help.c:4098
+#: sql_help.c:4108 sql_help.c:4111
 msgid "merge_update"
 msgstr "merge_update"
 
-#: sql_help.c:4099
+#: sql_help.c:4109 sql_help.c:4112
 msgid "merge_delete"
 msgstr "merge_delete"
 
-#: sql_help.c:4101
+#: sql_help.c:4114
 msgid "merge_insert"
 msgstr "merge_insert"
 
-#: sql_help.c:4102
+#: sql_help.c:4115
 msgid "and merge_insert is:"
 msgstr "и merge_insert:"
 
-#: sql_help.c:4105
+#: sql_help.c:4118
 msgid "and merge_update is:"
 msgstr "и merge_update:"
 
-#: sql_help.c:4112
+#: sql_help.c:4125
 msgid "and merge_delete is:"
 msgstr "и merge_delete:"
 
-#: sql_help.c:4153
+#: sql_help.c:4166
 msgid "payload"
 msgstr "сообщение_нагрузка"
 
-#: sql_help.c:4180
+#: sql_help.c:4193
 msgid "old_role"
 msgstr "старая_роль"
 
-#: sql_help.c:4181
+#: sql_help.c:4194
 msgid "new_role"
 msgstr "новая_роль"
 
-#: sql_help.c:4220 sql_help.c:4429 sql_help.c:4437
+#: sql_help.c:4233 sql_help.c:4442 sql_help.c:4450
 msgid "savepoint_name"
 msgstr "имя_точки_сохранения"
 
-#: sql_help.c:4577 sql_help.c:4635 sql_help.c:4834 sql_help.c:4892
-#: sql_help.c:5080 sql_help.c:5138
+#: sql_help.c:4590 sql_help.c:4648 sql_help.c:4848 sql_help.c:4906
+#: sql_help.c:5093 sql_help.c:5151
 msgid "grouping_element"
 msgstr "элемент_группирования"
 
-#: sql_help.c:4579 sql_help.c:4682 sql_help.c:4836 sql_help.c:5082
+#: sql_help.c:4592 sql_help.c:4696 sql_help.c:4850 sql_help.c:5095
 msgid "window_name"
 msgstr "имя_окна"
 
-#: sql_help.c:4580 sql_help.c:4683 sql_help.c:4837 sql_help.c:5083
+#: sql_help.c:4593 sql_help.c:4697 sql_help.c:4851 sql_help.c:5096
 msgid "window_definition"
 msgstr "определение_окна"
 
-#: sql_help.c:4581 sql_help.c:4595 sql_help.c:4639 sql_help.c:4684
-#: sql_help.c:4838 sql_help.c:4852 sql_help.c:4896 sql_help.c:5084
-#: sql_help.c:5098 sql_help.c:5142
+#: sql_help.c:4594 sql_help.c:4608 sql_help.c:4652 sql_help.c:4698
+#: sql_help.c:4852 sql_help.c:4866 sql_help.c:4910 sql_help.c:5097
+#: sql_help.c:5111 sql_help.c:5155
 msgid "select"
 msgstr "select"
 
-#: sql_help.c:4588 sql_help.c:4845 sql_help.c:5091
+#: sql_help.c:4600 sql_help.c:4858 sql_help.c:5103
+msgid "from_reference"
+msgstr "ссылка_FROM"
+
+#: sql_help.c:4601 sql_help.c:4859 sql_help.c:5104
 msgid "where from_item can be one of:"
 msgstr "где допустимый источник_данных:"
 
-#: sql_help.c:4591 sql_help.c:4597 sql_help.c:4600 sql_help.c:4604
-#: sql_help.c:4616 sql_help.c:4848 sql_help.c:4854 sql_help.c:4857
-#: sql_help.c:4861 sql_help.c:4873 sql_help.c:5094 sql_help.c:5100
-#: sql_help.c:5103 sql_help.c:5107 sql_help.c:5119
+#: sql_help.c:4604 sql_help.c:4610 sql_help.c:4613 sql_help.c:4617
+#: sql_help.c:4629 sql_help.c:4862 sql_help.c:4868 sql_help.c:4871
+#: sql_help.c:4875 sql_help.c:4887 sql_help.c:5107 sql_help.c:5113
+#: sql_help.c:5116 sql_help.c:5120 sql_help.c:5132
 msgid "column_alias"
 msgstr "псевдоним_столбца"
 
-#: sql_help.c:4592 sql_help.c:4849 sql_help.c:5095
+#: sql_help.c:4605 sql_help.c:4863 sql_help.c:5108
 msgid "sampling_method"
 msgstr "метод_выборки"
 
-#: sql_help.c:4594 sql_help.c:4851 sql_help.c:5097
+#: sql_help.c:4607 sql_help.c:4865 sql_help.c:5110
 msgid "seed"
 msgstr "начальное_число"
 
-#: sql_help.c:4598 sql_help.c:4637 sql_help.c:4855 sql_help.c:4894
-#: sql_help.c:5101 sql_help.c:5140
+#: sql_help.c:4611 sql_help.c:4650 sql_help.c:4869 sql_help.c:4908
+#: sql_help.c:5114 sql_help.c:5153
 msgid "with_query_name"
 msgstr "имя_запроса_WITH"
 
-#: sql_help.c:4608 sql_help.c:4611 sql_help.c:4614 sql_help.c:4865
-#: sql_help.c:4868 sql_help.c:4871 sql_help.c:5111 sql_help.c:5114
-#: sql_help.c:5117
+#: sql_help.c:4621 sql_help.c:4624 sql_help.c:4627 sql_help.c:4879
+#: sql_help.c:4882 sql_help.c:4885 sql_help.c:5124 sql_help.c:5127
+#: sql_help.c:5130
 msgid "column_definition"
 msgstr "определение_столбца"
 
-#: sql_help.c:4618 sql_help.c:4624 sql_help.c:4875 sql_help.c:4881
-#: sql_help.c:5121 sql_help.c:5127
+#: sql_help.c:4631 sql_help.c:4637 sql_help.c:4889 sql_help.c:4895
+#: sql_help.c:5134 sql_help.c:5140
 msgid "join_type"
 msgstr "тип_соединения"
 
-#: sql_help.c:4621 sql_help.c:4878 sql_help.c:5124
+#: sql_help.c:4634 sql_help.c:4892 sql_help.c:5137
 msgid "join_column"
 msgstr "столбец_соединения"
 
-#: sql_help.c:4622 sql_help.c:4879 sql_help.c:5125
+#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138
 msgid "join_using_alias"
 msgstr "псевдоним_использования_соединения"
 
-#: sql_help.c:4628 sql_help.c:4885 sql_help.c:5131
+#: sql_help.c:4641 sql_help.c:4899 sql_help.c:5144
 msgid "and grouping_element can be one of:"
 msgstr "где допустимый элемент_группирования:"
 
-#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139
+#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152
 msgid "and with_query is:"
 msgstr "и запрос_WITH:"
 
-#: sql_help.c:4640 sql_help.c:4897 sql_help.c:5143
+#: sql_help.c:4653 sql_help.c:4911 sql_help.c:5156
 msgid "values"
 msgstr "значения"
 
-#: sql_help.c:4641 sql_help.c:4898 sql_help.c:5144
+#: sql_help.c:4654 sql_help.c:4912 sql_help.c:5157
 msgid "insert"
 msgstr "insert"
 
-#: sql_help.c:4642 sql_help.c:4899 sql_help.c:5145
+#: sql_help.c:4655 sql_help.c:4913 sql_help.c:5158
 msgid "update"
 msgstr "update"
 
-#: sql_help.c:4643 sql_help.c:4900 sql_help.c:5146
+#: sql_help.c:4656 sql_help.c:4914 sql_help.c:5159
 msgid "delete"
 msgstr "delete"
 
-#: sql_help.c:4645 sql_help.c:4902 sql_help.c:5148
+#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160
+msgid "merge"
+msgstr "merge"
+
+#: sql_help.c:4659 sql_help.c:4917 sql_help.c:5162
 msgid "search_seq_col_name"
 msgstr "имя_столбца_послед_поиска"
 
-#: sql_help.c:4647 sql_help.c:4904 sql_help.c:5150
+#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164
 msgid "cycle_mark_col_name"
 msgstr "имя_столбца_пометки_цикла"
 
-#: sql_help.c:4648 sql_help.c:4905 sql_help.c:5151
+#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165
 msgid "cycle_mark_value"
 msgstr "значение_пометки_цикла"
 
-#: sql_help.c:4649 sql_help.c:4906 sql_help.c:5152
+#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166
 msgid "cycle_mark_default"
 msgstr "пометка_цикла_по_умолчанию"
 
-#: sql_help.c:4650 sql_help.c:4907 sql_help.c:5153
+#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167
 msgid "cycle_path_col_name"
 msgstr "имя_столбца_пути_цикла"
 
-#: sql_help.c:4677
+#: sql_help.c:4691
 msgid "new_table"
 msgstr "новая_таблица"
 
-#: sql_help.c:4748
+#: sql_help.c:4762
 msgid "snapshot_id"
 msgstr "код_снимка"
 
-#: sql_help.c:5016
+#: sql_help.c:5029
 msgid "sort_expression"
 msgstr "выражение_сортировки"
 
-#: sql_help.c:5160 sql_help.c:6144
+#: sql_help.c:5174 sql_help.c:6158
 msgid "abort the current transaction"
 msgstr "прервать текущую транзакцию"
 
-#: sql_help.c:5166
+#: sql_help.c:5180
 msgid "change the definition of an aggregate function"
 msgstr "изменить определение агрегатной функции"
 
-#: sql_help.c:5172
+#: sql_help.c:5186
 msgid "change the definition of a collation"
 msgstr "изменить определение правила сортировки"
 
-#: sql_help.c:5178
+#: sql_help.c:5192
 msgid "change the definition of a conversion"
 msgstr "изменить определение преобразования"
 
-#: sql_help.c:5184
+#: sql_help.c:5198
 msgid "change a database"
 msgstr "изменить атрибуты базы данных"
 
-#: sql_help.c:5190
+#: sql_help.c:5204
 msgid "define default access privileges"
 msgstr "определить права доступа по умолчанию"
 
-#: sql_help.c:5196
+#: sql_help.c:5210
 msgid "change the definition of a domain"
 msgstr "изменить определение домена"
 
-#: sql_help.c:5202
+#: sql_help.c:5216
 msgid "change the definition of an event trigger"
 msgstr "изменить определение событийного триггера"
 
-#: sql_help.c:5208
+#: sql_help.c:5222
 msgid "change the definition of an extension"
 msgstr "изменить определение расширения"
 
-#: sql_help.c:5214
+#: sql_help.c:5228
 msgid "change the definition of a foreign-data wrapper"
 msgstr "изменить определение обёртки сторонних данных"
 
-#: sql_help.c:5220
+#: sql_help.c:5234
 msgid "change the definition of a foreign table"
 msgstr "изменить определение сторонней таблицы"
 
-#: sql_help.c:5226
+#: sql_help.c:5240
 msgid "change the definition of a function"
 msgstr "изменить определение функции"
 
-#: sql_help.c:5232
+#: sql_help.c:5246
 msgid "change role name or membership"
 msgstr "изменить имя роли или членство"
 
-#: sql_help.c:5238
+#: sql_help.c:5252
 msgid "change the definition of an index"
 msgstr "изменить определение индекса"
 
-#: sql_help.c:5244
+#: sql_help.c:5258
 msgid "change the definition of a procedural language"
 msgstr "изменить определение процедурного языка"
 
-#: sql_help.c:5250
+#: sql_help.c:5264
 msgid "change the definition of a large object"
 msgstr "изменить определение большого объекта"
 
-#: sql_help.c:5256
+#: sql_help.c:5270
 msgid "change the definition of a materialized view"
 msgstr "изменить определение материализованного представления"
 
-#: sql_help.c:5262
+#: sql_help.c:5276
 msgid "change the definition of an operator"
 msgstr "изменить определение оператора"
 
-#: sql_help.c:5268
+#: sql_help.c:5282
 msgid "change the definition of an operator class"
 msgstr "изменить определение класса операторов"
 
-#: sql_help.c:5274
+#: sql_help.c:5288
 msgid "change the definition of an operator family"
 msgstr "изменить определение семейства операторов"
 
-#: sql_help.c:5280
+#: sql_help.c:5294
 msgid "change the definition of a row-level security policy"
 msgstr "изменить определение политики защиты на уровне строк"
 
-#: sql_help.c:5286
+#: sql_help.c:5300
 msgid "change the definition of a procedure"
 msgstr "изменить определение процедуры"
 
-#: sql_help.c:5292
+#: sql_help.c:5306
 msgid "change the definition of a publication"
 msgstr "изменить определение публикации"
 
-#: sql_help.c:5298 sql_help.c:5400
+#: sql_help.c:5312 sql_help.c:5414
 msgid "change a database role"
 msgstr "изменить роль пользователя БД"
 
-#: sql_help.c:5304
+#: sql_help.c:5318
 msgid "change the definition of a routine"
 msgstr "изменить определение подпрограммы"
 
-#: sql_help.c:5310
+#: sql_help.c:5324
 msgid "change the definition of a rule"
 msgstr "изменить определение правила"
 
-#: sql_help.c:5316
+#: sql_help.c:5330
 msgid "change the definition of a schema"
 msgstr "изменить определение схемы"
 
-#: sql_help.c:5322
+#: sql_help.c:5336
 msgid "change the definition of a sequence generator"
 msgstr "изменить определение генератора последовательности"
 
-#: sql_help.c:5328
+#: sql_help.c:5342
 msgid "change the definition of a foreign server"
 msgstr "изменить определение стороннего сервера"
 
-#: sql_help.c:5334
+#: sql_help.c:5348
 msgid "change the definition of an extended statistics object"
 msgstr "изменить определение объекта расширенной статистики"
 
-#: sql_help.c:5340
+#: sql_help.c:5354
 msgid "change the definition of a subscription"
 msgstr "изменить определение подписки"
 
-#: sql_help.c:5346
+#: sql_help.c:5360
 msgid "change a server configuration parameter"
 msgstr "изменить параметр конфигурации сервера"
 
-#: sql_help.c:5352
+#: sql_help.c:5366
 msgid "change the definition of a table"
 msgstr "изменить определение таблицы"
 
-#: sql_help.c:5358
+#: sql_help.c:5372
 msgid "change the definition of a tablespace"
 msgstr "изменить определение табличного пространства"
 
-#: sql_help.c:5364
+#: sql_help.c:5378
 msgid "change the definition of a text search configuration"
 msgstr "изменить определение конфигурации текстового поиска"
 
-#: sql_help.c:5370
+#: sql_help.c:5384
 msgid "change the definition of a text search dictionary"
 msgstr "изменить определение словаря текстового поиска"
 
-#: sql_help.c:5376
+#: sql_help.c:5390
 msgid "change the definition of a text search parser"
 msgstr "изменить определение анализатора текстового поиска"
 
-#: sql_help.c:5382
+#: sql_help.c:5396
 msgid "change the definition of a text search template"
 msgstr "изменить определение шаблона текстового поиска"
 
-#: sql_help.c:5388
+#: sql_help.c:5402
 msgid "change the definition of a trigger"
 msgstr "изменить определение триггера"
 
-#: sql_help.c:5394
+#: sql_help.c:5408
 msgid "change the definition of a type"
 msgstr "изменить определение типа"
 
-#: sql_help.c:5406
+#: sql_help.c:5420
 msgid "change the definition of a user mapping"
 msgstr "изменить сопоставление пользователей"
 
-#: sql_help.c:5412
+#: sql_help.c:5426
 msgid "change the definition of a view"
 msgstr "изменить определение представления"
 
-#: sql_help.c:5418
+#: sql_help.c:5432
 msgid "collect statistics about a database"
 msgstr "собрать статистику о базе данных"
 
-#: sql_help.c:5424 sql_help.c:6222
+#: sql_help.c:5438 sql_help.c:6236
 msgid "start a transaction block"
 msgstr "начать транзакцию"
 
-#: sql_help.c:5430
+#: sql_help.c:5444
 msgid "invoke a procedure"
 msgstr "вызвать процедуру"
 
-#: sql_help.c:5436
+#: sql_help.c:5450
 msgid "force a write-ahead log checkpoint"
 msgstr "произвести контрольную точку в журнале предзаписи"
 
-#: sql_help.c:5442
+#: sql_help.c:5456
 msgid "close a cursor"
 msgstr "закрыть курсор"
 
-#: sql_help.c:5448
+#: sql_help.c:5462
 msgid "cluster a table according to an index"
 msgstr "перегруппировать таблицу по индексу"
 
-#: sql_help.c:5454
+#: sql_help.c:5468
 msgid "define or change the comment of an object"
 msgstr "задать или изменить комментарий объекта"
 
-#: sql_help.c:5460 sql_help.c:6018
+#: sql_help.c:5474 sql_help.c:6032
 msgid "commit the current transaction"
 msgstr "зафиксировать текущую транзакцию"
 
-#: sql_help.c:5466
+#: sql_help.c:5480
 msgid "commit a transaction that was earlier prepared for two-phase commit"
 msgstr "зафиксировать транзакцию, ранее подготовленную для двухфазной фиксации"
 
-#: sql_help.c:5472
+#: sql_help.c:5486
 msgid "copy data between a file and a table"
 msgstr "импорт/экспорт данных в файл"
 
-#: sql_help.c:5478
+#: sql_help.c:5492
 msgid "define a new access method"
 msgstr "создать новый метод доступа"
 
-#: sql_help.c:5484
+#: sql_help.c:5498
 msgid "define a new aggregate function"
 msgstr "создать агрегатную функцию"
 
-#: sql_help.c:5490
+#: sql_help.c:5504
 msgid "define a new cast"
 msgstr "создать приведение типов"
 
-#: sql_help.c:5496
+#: sql_help.c:5510
 msgid "define a new collation"
 msgstr "создать правило сортировки"
 
-#: sql_help.c:5502
+#: sql_help.c:5516
 msgid "define a new encoding conversion"
 msgstr "создать преобразование кодировки"
 
-#: sql_help.c:5508
+#: sql_help.c:5522
 msgid "create a new database"
 msgstr "создать базу данных"
 
-#: sql_help.c:5514
+#: sql_help.c:5528
 msgid "define a new domain"
 msgstr "создать домен"
 
-#: sql_help.c:5520
+#: sql_help.c:5534
 msgid "define a new event trigger"
 msgstr "создать событийный триггер"
 
-#: sql_help.c:5526
+#: sql_help.c:5540
 msgid "install an extension"
 msgstr "установить расширение"
 
-#: sql_help.c:5532
+#: sql_help.c:5546
 msgid "define a new foreign-data wrapper"
 msgstr "создать обёртку сторонних данных"
 
-#: sql_help.c:5538
+#: sql_help.c:5552
 msgid "define a new foreign table"
 msgstr "создать стороннюю таблицу"
 
-#: sql_help.c:5544
+#: sql_help.c:5558
 msgid "define a new function"
 msgstr "создать функцию"
 
-#: sql_help.c:5550 sql_help.c:5610 sql_help.c:5712
+#: sql_help.c:5564 sql_help.c:5624 sql_help.c:5726
 msgid "define a new database role"
 msgstr "создать роль пользователя БД"
 
-#: sql_help.c:5556
+#: sql_help.c:5570
 msgid "define a new index"
 msgstr "создать индекс"
 
-#: sql_help.c:5562
+#: sql_help.c:5576
 msgid "define a new procedural language"
 msgstr "создать процедурный язык"
 
-#: sql_help.c:5568
+#: sql_help.c:5582
 msgid "define a new materialized view"
 msgstr "создать материализованное представление"
 
-#: sql_help.c:5574
+#: sql_help.c:5588
 msgid "define a new operator"
 msgstr "создать оператор"
 
-#: sql_help.c:5580
+#: sql_help.c:5594
 msgid "define a new operator class"
 msgstr "создать класс операторов"
 
-#: sql_help.c:5586
+#: sql_help.c:5600
 msgid "define a new operator family"
 msgstr "создать семейство операторов"
 
-#: sql_help.c:5592
+#: sql_help.c:5606
 msgid "define a new row-level security policy for a table"
 msgstr "создать новую политику защиты на уровне строк для таблицы"
 
-#: sql_help.c:5598
+#: sql_help.c:5612
 msgid "define a new procedure"
 msgstr "создать процедуру"
 
-#: sql_help.c:5604
+#: sql_help.c:5618
 msgid "define a new publication"
 msgstr "создать публикацию"
 
-#: sql_help.c:5616
+#: sql_help.c:5630
 msgid "define a new rewrite rule"
 msgstr "создать правило перезаписи"
 
-#: sql_help.c:5622
+#: sql_help.c:5636
 msgid "define a new schema"
 msgstr "создать схему"
 
-#: sql_help.c:5628
+#: sql_help.c:5642
 msgid "define a new sequence generator"
 msgstr "создать генератор последовательностей"
 
-#: sql_help.c:5634
+#: sql_help.c:5648
 msgid "define a new foreign server"
 msgstr "создать сторонний сервер"
 
-#: sql_help.c:5640
+#: sql_help.c:5654
 msgid "define extended statistics"
 msgstr "создать расширенную статистику"
 
-#: sql_help.c:5646
+#: sql_help.c:5660
 msgid "define a new subscription"
 msgstr "создать подписку"
 
-#: sql_help.c:5652
+#: sql_help.c:5666
 msgid "define a new table"
 msgstr "создать таблицу"
 
-#: sql_help.c:5658 sql_help.c:6180
+#: sql_help.c:5672 sql_help.c:6194
 msgid "define a new table from the results of a query"
 msgstr "создать таблицу из результатов запроса"
 
-#: sql_help.c:5664
+#: sql_help.c:5678
 msgid "define a new tablespace"
 msgstr "создать табличное пространство"
 
-#: sql_help.c:5670
+#: sql_help.c:5684
 msgid "define a new text search configuration"
 msgstr "создать конфигурацию текстового поиска"
 
-#: sql_help.c:5676
+#: sql_help.c:5690
 msgid "define a new text search dictionary"
 msgstr "создать словарь текстового поиска"
 
-#: sql_help.c:5682
+#: sql_help.c:5696
 msgid "define a new text search parser"
 msgstr "создать анализатор текстового поиска"
 
-#: sql_help.c:5688
+#: sql_help.c:5702
 msgid "define a new text search template"
 msgstr "создать шаблон текстового поиска"
 
-#: sql_help.c:5694
+#: sql_help.c:5708
 msgid "define a new transform"
 msgstr "создать преобразование"
 
-#: sql_help.c:5700
+#: sql_help.c:5714
 msgid "define a new trigger"
 msgstr "создать триггер"
 
-#: sql_help.c:5706
+#: sql_help.c:5720
 msgid "define a new data type"
 msgstr "создать тип данных"
 
-#: sql_help.c:5718
+#: sql_help.c:5732
 msgid "define a new mapping of a user to a foreign server"
 msgstr "создать сопоставление пользователя для стороннего сервера"
 
-#: sql_help.c:5724
+#: sql_help.c:5738
 msgid "define a new view"
 msgstr "создать представление"
 
-#: sql_help.c:5730
+#: sql_help.c:5744
 msgid "deallocate a prepared statement"
 msgstr "освободить подготовленный оператор"
 
-#: sql_help.c:5736
+#: sql_help.c:5750
 msgid "define a cursor"
 msgstr "создать курсор"
 
-#: sql_help.c:5742
+#: sql_help.c:5756
 msgid "delete rows of a table"
 msgstr "удалить записи таблицы"
 
-#: sql_help.c:5748
+#: sql_help.c:5762
 msgid "discard session state"
 msgstr "очистить состояние сеанса"
 
-#: sql_help.c:5754
+#: sql_help.c:5768
 msgid "execute an anonymous code block"
 msgstr "выполнить анонимный блок кода"
 
-#: sql_help.c:5760
+#: sql_help.c:5774
 msgid "remove an access method"
 msgstr "удалить метод доступа"
 
-#: sql_help.c:5766
+#: sql_help.c:5780
 msgid "remove an aggregate function"
 msgstr "удалить агрегатную функцию"
 
-#: sql_help.c:5772
+#: sql_help.c:5786
 msgid "remove a cast"
 msgstr "удалить приведение типа"
 
-#: sql_help.c:5778
+#: sql_help.c:5792
 msgid "remove a collation"
 msgstr "удалить правило сортировки"
 
-#: sql_help.c:5784
+#: sql_help.c:5798
 msgid "remove a conversion"
 msgstr "удалить преобразование"
 
-#: sql_help.c:5790
+#: sql_help.c:5804
 msgid "remove a database"
 msgstr "удалить базу данных"
 
-#: sql_help.c:5796
+#: sql_help.c:5810
 msgid "remove a domain"
 msgstr "удалить домен"
 
-#: sql_help.c:5802
+#: sql_help.c:5816
 msgid "remove an event trigger"
 msgstr "удалить событийный триггер"
 
-#: sql_help.c:5808
+#: sql_help.c:5822
 msgid "remove an extension"
 msgstr "удалить расширение"
 
-#: sql_help.c:5814
+#: sql_help.c:5828
 msgid "remove a foreign-data wrapper"
 msgstr "удалить обёртку сторонних данных"
 
-#: sql_help.c:5820
+#: sql_help.c:5834
 msgid "remove a foreign table"
 msgstr "удалить стороннюю таблицу"
 
-#: sql_help.c:5826
+#: sql_help.c:5840
 msgid "remove a function"
 msgstr "удалить функцию"
 
-#: sql_help.c:5832 sql_help.c:5898 sql_help.c:6000
+#: sql_help.c:5846 sql_help.c:5912 sql_help.c:6014
 msgid "remove a database role"
 msgstr "удалить роль пользователя БД"
 
-#: sql_help.c:5838
+#: sql_help.c:5852
 msgid "remove an index"
 msgstr "удалить индекс"
 
-#: sql_help.c:5844
+#: sql_help.c:5858
 msgid "remove a procedural language"
 msgstr "удалить процедурный язык"
 
-#: sql_help.c:5850
+#: sql_help.c:5864
 msgid "remove a materialized view"
 msgstr "удалить материализованное представление"
 
-#: sql_help.c:5856
+#: sql_help.c:5870
 msgid "remove an operator"
 msgstr "удалить оператор"
 
-#: sql_help.c:5862
+#: sql_help.c:5876
 msgid "remove an operator class"
 msgstr "удалить класс операторов"
 
-#: sql_help.c:5868
+#: sql_help.c:5882
 msgid "remove an operator family"
 msgstr "удалить семейство операторов"
 
-#: sql_help.c:5874
+#: sql_help.c:5888
 msgid "remove database objects owned by a database role"
 msgstr "удалить объекты базы данных, принадлежащие роли"
 
-#: sql_help.c:5880
+#: sql_help.c:5894
 msgid "remove a row-level security policy from a table"
 msgstr "удалить из таблицы политику защиты на уровне строк"
 
-#: sql_help.c:5886
+#: sql_help.c:5900
 msgid "remove a procedure"
 msgstr "удалить процедуру"
 
-#: sql_help.c:5892
+#: sql_help.c:5906
 msgid "remove a publication"
 msgstr "удалить публикацию"
 
-#: sql_help.c:5904
+#: sql_help.c:5918
 msgid "remove a routine"
 msgstr "удалить подпрограмму"
 
-#: sql_help.c:5910
+#: sql_help.c:5924
 msgid "remove a rewrite rule"
 msgstr "удалить правило перезаписи"
 
-#: sql_help.c:5916
+#: sql_help.c:5930
 msgid "remove a schema"
 msgstr "удалить схему"
 
-#: sql_help.c:5922
+#: sql_help.c:5936
 msgid "remove a sequence"
 msgstr "удалить последовательность"
 
-#: sql_help.c:5928
+#: sql_help.c:5942
 msgid "remove a foreign server descriptor"
 msgstr "удалить описание стороннего сервера"
 
-#: sql_help.c:5934
+#: sql_help.c:5948
 msgid "remove extended statistics"
 msgstr "удалить расширенную статистику"
 
-#: sql_help.c:5940
+#: sql_help.c:5954
 msgid "remove a subscription"
 msgstr "удалить подписку"
 
-#: sql_help.c:5946
+#: sql_help.c:5960
 msgid "remove a table"
 msgstr "удалить таблицу"
 
-#: sql_help.c:5952
+#: sql_help.c:5966
 msgid "remove a tablespace"
 msgstr "удалить табличное пространство"
 
-#: sql_help.c:5958
+#: sql_help.c:5972
 msgid "remove a text search configuration"
 msgstr "удалить конфигурацию текстового поиска"
 
-#: sql_help.c:5964
+#: sql_help.c:5978
 msgid "remove a text search dictionary"
 msgstr "удалить словарь текстового поиска"
 
-#: sql_help.c:5970
+#: sql_help.c:5984
 msgid "remove a text search parser"
 msgstr "удалить анализатор текстового поиска"
 
-#: sql_help.c:5976
+#: sql_help.c:5990
 msgid "remove a text search template"
 msgstr "удалить шаблон текстового поиска"
 
-#: sql_help.c:5982
+#: sql_help.c:5996
 msgid "remove a transform"
 msgstr "удалить преобразование"
 
-#: sql_help.c:5988
+#: sql_help.c:6002
 msgid "remove a trigger"
 msgstr "удалить триггер"
 
-#: sql_help.c:5994
+#: sql_help.c:6008
 msgid "remove a data type"
 msgstr "удалить тип данных"
 
-#: sql_help.c:6006
+#: sql_help.c:6020
 msgid "remove a user mapping for a foreign server"
 msgstr "удалить сопоставление пользователя для стороннего сервера"
 
-#: sql_help.c:6012
+#: sql_help.c:6026
 msgid "remove a view"
 msgstr "удалить представление"
 
-#: sql_help.c:6024
+#: sql_help.c:6038
 msgid "execute a prepared statement"
 msgstr "выполнить подготовленный оператор"
 
-#: sql_help.c:6030
+#: sql_help.c:6044
 msgid "show the execution plan of a statement"
 msgstr "показать план выполнения оператора"
 
-#: sql_help.c:6036
+#: sql_help.c:6050
 msgid "retrieve rows from a query using a cursor"
 msgstr "получить результат запроса через курсор"
 
-#: sql_help.c:6042
+#: sql_help.c:6056
 msgid "define access privileges"
 msgstr "определить права доступа"
 
-#: sql_help.c:6048
+#: sql_help.c:6062
 msgid "import table definitions from a foreign server"
 msgstr "импортировать определения таблиц со стороннего сервера"
 
-#: sql_help.c:6054
+#: sql_help.c:6068
 msgid "create new rows in a table"
 msgstr "добавить строки в таблицу"
 
-#: sql_help.c:6060
+#: sql_help.c:6074
 msgid "listen for a notification"
 msgstr "ожидать уведомления"
 
-#: sql_help.c:6066
+#: sql_help.c:6080
 msgid "load a shared library file"
 msgstr "загрузить файл разделяемой библиотеки"
 
-#: sql_help.c:6072
+#: sql_help.c:6086
 msgid "lock a table"
 msgstr "заблокировать таблицу"
 
-#: sql_help.c:6078
+#: sql_help.c:6092
 msgid "conditionally insert, update, or delete rows of a table"
 msgstr "добавление, изменение или удаление строк таблицы по условию"
 
-#: sql_help.c:6084
+#: sql_help.c:6098
 msgid "position a cursor"
 msgstr "установить курсор"
 
-#: sql_help.c:6090
+#: sql_help.c:6104
 msgid "generate a notification"
 msgstr "сгенерировать уведомление"
 
-#: sql_help.c:6096
+#: sql_help.c:6110
 msgid "prepare a statement for execution"
 msgstr "подготовить оператор для выполнения"
 
-#: sql_help.c:6102
+#: sql_help.c:6116
 msgid "prepare the current transaction for two-phase commit"
 msgstr "подготовить текущую транзакцию для двухфазной фиксации"
 
-#: sql_help.c:6108
+#: sql_help.c:6122
 msgid "change the ownership of database objects owned by a database role"
 msgstr "изменить владельца объектов БД, принадлежащих заданной роли"
 
-#: sql_help.c:6114
+#: sql_help.c:6128
 msgid "replace the contents of a materialized view"
 msgstr "заменить содержимое материализованного представления"
 
-#: sql_help.c:6120
+#: sql_help.c:6134
 msgid "rebuild indexes"
 msgstr "перестроить индексы"
 
-#: sql_help.c:6126
+#: sql_help.c:6140
 msgid "release a previously defined savepoint"
 msgstr "освободить ранее определённую точку сохранения"
 
-#: sql_help.c:6132
+#: sql_help.c:6146
 msgid "restore the value of a run-time parameter to the default value"
 msgstr "восстановить исходное значение параметра выполнения"
 
-#: sql_help.c:6138
+#: sql_help.c:6152
 msgid "remove access privileges"
 msgstr "удалить права доступа"
 
-#: sql_help.c:6150
+#: sql_help.c:6164
 msgid "cancel a transaction that was earlier prepared for two-phase commit"
 msgstr "отменить транзакцию, подготовленную ранее для двухфазной фиксации"
 
-#: sql_help.c:6156
+#: sql_help.c:6170
 msgid "roll back to a savepoint"
 msgstr "откатиться к точке сохранения"
 
-#: sql_help.c:6162
+#: sql_help.c:6176
 msgid "define a new savepoint within the current transaction"
 msgstr "определить новую точку сохранения в текущей транзакции"
 
-#: sql_help.c:6168
+#: sql_help.c:6182
 msgid "define or change a security label applied to an object"
 msgstr "задать или изменить метку безопасности, применённую к объекту"
 
-#: sql_help.c:6174 sql_help.c:6228 sql_help.c:6264
+#: sql_help.c:6188 sql_help.c:6242 sql_help.c:6278
 msgid "retrieve rows from a table or view"
 msgstr "выбрать строки из таблицы или представления"
 
-#: sql_help.c:6186
+#: sql_help.c:6200
 msgid "change a run-time parameter"
 msgstr "изменить параметр выполнения"
 
-#: sql_help.c:6192
+#: sql_help.c:6206
 msgid "set constraint check timing for the current transaction"
 msgstr "установить время проверки ограничений для текущей транзакции"
 
-#: sql_help.c:6198
+#: sql_help.c:6212
 msgid "set the current user identifier of the current session"
 msgstr "задать идентификатор текущего пользователя в текущем сеансе"
 
-#: sql_help.c:6204
+#: sql_help.c:6218
 msgid ""
 "set the session user identifier and the current user identifier of the "
 "current session"
@@ -6741,31 +6811,31 @@ msgstr ""
 "задать идентификатор пользователя сеанса и идентификатор текущего "
 "пользователя в текущем сеансе"
 
-#: sql_help.c:6210
+#: sql_help.c:6224
 msgid "set the characteristics of the current transaction"
 msgstr "задать свойства текущей транзакции"
 
-#: sql_help.c:6216
+#: sql_help.c:6230
 msgid "show the value of a run-time parameter"
 msgstr "показать значение параметра выполнения"
 
-#: sql_help.c:6234
+#: sql_help.c:6248
 msgid "empty a table or set of tables"
 msgstr "опустошить таблицу или набор таблиц"
 
-#: sql_help.c:6240
+#: sql_help.c:6254
 msgid "stop listening for a notification"
 msgstr "прекратить ожидание уведомлений"
 
-#: sql_help.c:6246
+#: sql_help.c:6260
 msgid "update rows of a table"
 msgstr "изменить строки таблицы"
 
-#: sql_help.c:6252
+#: sql_help.c:6266
 msgid "garbage-collect and optionally analyze a database"
 msgstr "произвести сборку мусора и проанализировать базу данных"
 
-#: sql_help.c:6258
+#: sql_help.c:6272
 msgid "compute a set of rows"
 msgstr "получить набор строк"
 
@@ -6808,7 +6878,7 @@ msgstr "лишний аргумент \"%s\" проигнорирован"
 msgid "could not find own program executable"
 msgstr "не удалось найти свой исполняемый файл"
 
-#: tab-complete.c:6078
+#: tab-complete.c:6216
 #, c-format
 msgid ""
 "tab completion query failed: %s\n"
@@ -6844,6 +6914,25 @@ msgstr ""
 "нераспознанное значение \"%s\" для \"%s\"\n"
 "Допустимые значения: %s."
 
+#~ msgid "ICU Locale"
+#~ msgstr "локаль ICU"
+
+#~ msgid "local socket"
+#~ msgstr "локальный сокет"
+
+#~ msgid ""
+#~ "  \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n"
+#~ msgstr ""
+#~ "  \\watch [[i=]СЕК] [c=N] повторять запрос через заданное число секунд, "
+#~ "не\n"
+#~ "                         более N раз\n"
+
+#~ msgid "constraint"
+#~ msgstr "ограничение"
+
+#~ msgid "where constraint is:"
+#~ msgstr "где ограничение:"
+
 #, c-format
 #~ msgid "could not identify current directory: %m"
 #~ msgstr "не удалось определить текущий каталог: %m"