Translation updates for 9.4
authorAlexander Lakhin <exclusion@gmail.com>
Sun, 24 Aug 2014 19:11:05 +0000 (23:11 +0400)
committerAlexander Lakhin <exclusion@gmail.com>
Sun, 24 Aug 2014 19:11:05 +0000 (23:11 +0400)
ru/initdb.po
ru/pg_basebackup.po
ru/pg_ctl.po
ru/pg_dump.po
ru/pg_resetxlog.po
ru/pgscripts.po
ru/plpgsql.po
ru/postgres.po
ru/psql.po

index e3e049adc956063397ccbe65921a735ad30fbaeb..d5ec44e6c3d8054430f30c2b74c224257990ebc1 100644 (file)
@@ -11,7 +11,8 @@
 # http://wiki.postgresql.org/wiki/NLS/ru/dict
 #
 # ChangeLog:
-#   - April 2, 2014: Alexander Lakhin <exclusion@gmail.com>.
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
+#     - With corrections from Dmitriy Olshevskiy <olshevskiy87@bk.ru>
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 2, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -26,18 +27,20 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-08-02 06:42+0000\n"
-"PO-Revision-Date: 2014-08-14 22:23+0400\n"
-"Last-Translator: Dmitriy Olshevskiy <olshevskiy87@bk.ru>\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-24 08:59+0400\n"
+"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Russian\n"
+"X-Poedit-Country: RUSSIAN FEDERATION\n"
 "X-Poedit-SourceCharset: utf-8\n"
 "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"
-"X-Generator: Poedit 1.6.7\n"
+"X-Generator: Lokalize 1.5\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -112,18 +115,17 @@ msgstr "ошибка при удалении файла или каталога
 
 #: ../../common/username.c:45
 #, c-format
-msgid "failed to look up effective user id %ld: %s"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð´ÐµÐ¹Ñ\81Ñ\82вÑ\83Ñ\8eÑ\89ий id Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %ld: %s"
+msgid "could not look up effective user ID %ld: %s"
+msgstr "вÑ\8bÑ\8fÑ\81ниÑ\82Ñ\8c Ñ\8dÑ\84Ñ\84екÑ\82ивнÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f (%ld) Ð½Ðµ Ñ\83далоÑ\81Ñ\8c: %s"
 
 #: ../../common/username.c:47
-#, c-format
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
 #: ../../common/username.c:61
 #, c-format
 msgid "user name lookup failure: %s"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð¸Ð¼Ñ\8f пользователя: %s"
+msgstr "оÑ\88ибка Ð¿Ñ\80еобÑ\80азованиÑ\8f Ð¸Ð¼ÐµÐ½Ð¸ пользователя: %s"
 
 #: ../../common/wait_error.c:47
 #, c-format
@@ -334,7 +336,7 @@ msgstr "выбирается значение shared_buffers... "
 #: initdb.c:1187
 #, c-format
 msgid "selecting dynamic shared memory implementation ... "
-msgstr "вÑ\8bбиÑ\80аеÑ\82Ñ\81Ñ\8f Ñ\80еализаÑ\86иÑ\8f Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ\87еÑ\81ки Ð²Ñ\8bделяемой памяти ... "
+msgstr "вÑ\8bбоÑ\80 Ñ\80еализаÑ\86ии Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ\87еÑ\81кой Ñ\80азделяемой памяти ... "
 
 #: initdb.c:1205
 msgid "creating configuration files ... "
@@ -372,6 +374,7 @@ msgid "Enter it again: "
 msgstr "Повторите его: "
 
 #: initdb.c:1581
+#, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
@@ -381,6 +384,7 @@ msgid "%s: could not read password from file \"%s\": %s\n"
 msgstr "%s: не удалось прочитать пароль из файла \"%s\": %s\n"
 
 #: initdb.c:1621
+#, c-format
 msgid "setting password ... "
 msgstr "установка пароля... "
 
@@ -478,8 +482,8 @@ msgstr "ок\n"
 
 #: initdb.c:2555
 #, c-format
-msgid "%s: setlocale failed\n"
-msgstr "%s: ошибка в setlocale\n"
+msgid "%s: setlocale() failed\n"
+msgstr "%s: ошибка в setlocale()\n"
 
 #: initdb.c:2573
 #, c-format
@@ -1092,13 +1096,13 @@ msgstr ""
 "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n"
 "\n"
 
-#~ msgid "Using the top-level directory of a mount point is not recommended.\n"
-#~ msgstr ""
-#~ "Использовать в качестве основного каталога точку монтирования не "
-#~ "рекомендуется.\n"
+#~ msgid "%s: could not obtain information about current user: %s\n"
+#~ msgstr "%s: не удалось получить информацию о текущем пользователе: %s\n"
 
 #~ msgid "%s: could not get current user name: %s\n"
 #~ msgstr "%s: не удалось узнать имя текущего пользователя: %s\n"
 
-#~ msgid "%s: could not obtain information about current user: %s\n"
-#~ msgstr "%s: не удалось получить информацию о текущем пользователе: %s\n"
+#~ msgid "Using the top-level directory of a mount point is not recommended.\n"
+#~ msgstr ""
+#~ "Использовать в качестве основного каталога точку монтирования не "
+#~ "рекомендуется.\n"
index 846557b205831647b7fa71e6e73d77ec8bb4be25..ffdbc62722d389cee6802b866825660faf42dc0b 100644 (file)
@@ -4,6 +4,7 @@
 # This file is distributed under the same license as the PostgreSQL package.
 #
 # ChangeLog:
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 2, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -12,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-04-02 01:48+0000\n"
-"PO-Revision-Date: 2014-04-02 09:51+0400\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-24 22:49+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
@@ -35,7 +36,39 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: pg_basebackup.c:128
+#: pg_basebackup.c:154
+#, c-format
+msgid "%s: directory name too long\n"
+msgstr "%s: слишком длинное имя каталога\n"
+
+#: pg_basebackup.c:164
+#, c-format
+msgid "%s: multiple \"=\" signs in tablespace mapping\n"
+msgstr "%s: несколько знаков \"=\" в сопоставлении табличного пространства\n"
+
+#: pg_basebackup.c:177
+#, c-format
+msgid ""
+"%s: invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"\n"
+msgstr ""
+"%s: сопоставление табл. пространства записано неверно: \"%s\", должно быть "
+"\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\"\n"
+
+#: pg_basebackup.c:190
+#, c-format
+msgid "%s: old directory is not an absolute path in tablespace mapping: %s\n"
+msgstr ""
+"%s: старый каталог в сопоставлении табл. пространства задан не абсолютным "
+"путём: %s\n"
+
+#: pg_basebackup.c:197
+#, c-format
+msgid "%s: new directory is not an absolute path in tablespace mapping: %s\n"
+msgstr ""
+"%s: новый каталог в сопоставлении табл. пространства задан не абсолютным "
+"путём: %s\n"
+
+#: pg_basebackup.c:228
 #, c-format
 msgid ""
 "%s takes a base backup of a running PostgreSQL server.\n"
@@ -44,17 +77,17 @@ msgstr ""
 "%s делает базовую резервную копию работающего сервера PostgreSQL.\n"
 "\n"
 
-#: pg_basebackup.c:130 pg_receivexlog.c:60
+#: pg_basebackup.c:230 pg_receivexlog.c:60 pg_recvlogical.c:67
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_basebackup.c:131 pg_receivexlog.c:61
+#: pg_basebackup.c:231 pg_receivexlog.c:61 pg_recvlogical.c:68
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_basebackup.c:132
+#: pg_basebackup.c:232
 #, c-format
 msgid ""
 "\n"
@@ -63,19 +96,28 @@ msgstr ""
 "\n"
 "Параметры, управляющие выводом:\n"
 
-#: pg_basebackup.c:133
+#: pg_basebackup.c:233
 #, c-format
 msgid "  -D, --pgdata=DIRECTORY receive base backup into directory\n"
 msgstr "  -D, --pgdata=КАТАЛОГ   сохранить базовую копию в указанный каталог\n"
 
-#: pg_basebackup.c:134
+#: pg_basebackup.c:234
 #, 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:135
+#: pg_basebackup.c:235
+#, c-format
+msgid ""
+"  -r, --max-rate=RATE    maximum transfer rate to transfer data directory\n"
+"                         (in kB/s, or use suffix \"k\" or \"M\")\n"
+msgstr ""
+"  -r, --max-rate=СКОРОСТЬ макс. скорость передачи данных в целевой каталог\n"
+"                         (в КБ/с, либо добавьте суффикс \"k\" или \"M\")\n"
+
+#: pg_basebackup.c:237
 #, c-format
 msgid ""
 "  -R, --write-recovery-conf\n"
@@ -84,14 +126,25 @@ msgstr ""
 "  -R, --write-recovery-conf\n"
 "                         записать recovery.conf после копирования\n"
 
-#: pg_basebackup.c:137
+#: pg_basebackup.c:239
+#, c-format
+msgid ""
+"  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+"                         relocate tablespace in OLDDIR to NEWDIR\n"
+msgstr ""
+"  -T, --tablespace-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\n"
+"                         перенести табличное пространство из старого "
+"каталога\n"
+"                         в новый\n"
+
+#: pg_basebackup.c:241
 #, c-format
 msgid ""
 "  -x, --xlog             include required WAL files in backup (fetch mode)\n"
 msgstr ""
 "  -x, --xlog             включить в копию требуемые файлы WAL (режим fetch)\n"
 
-#: pg_basebackup.c:138
+#: pg_basebackup.c:242
 #, c-format
 msgid ""
 "  -X, --xlog-method=fetch|stream\n"
@@ -101,18 +154,25 @@ msgstr ""
 "                         включить в копию требуемые файлы WAL, используя\n"
 "                         заданный метод\n"
 
-#: pg_basebackup.c:140
+#: pg_basebackup.c:244
+#, c-format
+msgid "      --xlogdir=XLOGDIR  location for the transaction log directory\n"
+msgstr ""
+"      --xlogdir=КАТАЛОГ_XLOG\n"
+"                         расположение каталога с журналом транзакций\n"
+
+#: pg_basebackup.c:245
 #, c-format
 msgid "  -z, --gzip             compress tar output\n"
 msgstr "  -z, --gzip             сжать выходной tar\n"
 
-#: pg_basebackup.c:141
+#: pg_basebackup.c:246
 #, c-format
 msgid ""
 "  -Z, --compress=0-9     compress tar output with given compression level\n"
 msgstr "  -Z, --compress=0-9     установить уровень сжатия выходного архива\n"
 
-#: pg_basebackup.c:142
+#: pg_basebackup.c:247
 #, c-format
 msgid ""
 "\n"
@@ -121,7 +181,7 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_basebackup.c:143
+#: pg_basebackup.c:248
 #, c-format
 msgid ""
 "  -c, --checkpoint=fast|spread\n"
@@ -130,32 +190,32 @@ msgstr ""
 "  -c, --checkpoint=fast|spread\n"
 "                         режим быстрых или распределённых контрольных точек\n"
 
-#: pg_basebackup.c:145
+#: pg_basebackup.c:250
 #, c-format
 msgid "  -l, --label=LABEL      set backup label\n"
 msgstr "  -l, --label=МЕТКА      установить метку резервной копии\n"
 
-#: pg_basebackup.c:146
+#: pg_basebackup.c:251
 #, c-format
 msgid "  -P, --progress         show progress information\n"
 msgstr "  -P, --progress         показывать прогресс операции\n"
 
-#: pg_basebackup.c:147 pg_receivexlog.c:65
+#: pg_basebackup.c:252 pg_receivexlog.c:65 pg_recvlogical.c:74
 #, c-format
 msgid "  -v, --verbose          output verbose messages\n"
 msgstr "  -v, --verbose          выводить подробные сообщения\n"
 
-#: pg_basebackup.c:148 pg_receivexlog.c:66
+#: pg_basebackup.c:253 pg_receivexlog.c:66 pg_recvlogical.c:75
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          показать версию и выйти\n"
 
-#: pg_basebackup.c:149 pg_receivexlog.c:67
+#: pg_basebackup.c:254 pg_receivexlog.c:67 pg_recvlogical.c:76
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             показать эту справку и выйти\n"
 
-#: pg_basebackup.c:150 pg_receivexlog.c:68
+#: pg_basebackup.c:255 pg_receivexlog.c:68 pg_recvlogical.c:77
 #, c-format
 msgid ""
 "\n"
@@ -164,22 +224,22 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_basebackup.c:151 pg_receivexlog.c:69
+#: pg_basebackup.c:256 pg_receivexlog.c:69
 #, c-format
 msgid "  -d, --dbname=CONNSTR   connection string\n"
 msgstr "  -d, --dbname=СТРОКА    строка подключения\n"
 
-#: pg_basebackup.c:152 pg_receivexlog.c:70
+#: pg_basebackup.c:257 pg_receivexlog.c:70 pg_recvlogical.c:79
 #, c-format
 msgid "  -h, --host=HOSTNAME    database server host or socket directory\n"
 msgstr "  -h, --host=ИМЯ         имя сервера баз данных или каталог сокетов\n"
 
-#: pg_basebackup.c:153 pg_receivexlog.c:71
+#: pg_basebackup.c:258 pg_receivexlog.c:71 pg_recvlogical.c:80
 #, c-format
 msgid "  -p, --port=PORT        database server port number\n"
 msgstr "  -p, --port=ПОРТ        номер порта сервера БД\n"
 
-#: pg_basebackup.c:154 pg_receivexlog.c:72
+#: pg_basebackup.c:259 pg_receivexlog.c:72
 #, c-format
 msgid ""
 "  -s, --status-interval=INTERVAL\n"
@@ -190,19 +250,19 @@ msgstr ""
 "                         интервал между передаваемыми серверу\n"
 "                         пакетами состояния (в секундах)\n"
 
-#: pg_basebackup.c:156 pg_receivexlog.c:74
+#: pg_basebackup.c:261 pg_receivexlog.c:74 pg_recvlogical.c:81
 #, 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:157 pg_receivexlog.c:75
+#: pg_basebackup.c:262 pg_receivexlog.c:75 pg_recvlogical.c:82
 #, c-format
 msgid "  -w, --no-password      never prompt for password\n"
 msgstr "  -w, --no-password      не запрашивать пароль\n"
 
-#: pg_basebackup.c:158 pg_receivexlog.c:76
+#: pg_basebackup.c:263 pg_receivexlog.c:76 pg_recvlogical.c:83
 #, c-format
 msgid ""
 "  -W, --password         force password prompt (should happen "
@@ -210,7 +270,7 @@ msgid ""
 msgstr ""
 "  -W, --password         запрашивать пароль всегда (обычно не требуется)\n"
 
-#: pg_basebackup.c:159 pg_receivexlog.c:77
+#: pg_basebackup.c:264 pg_receivexlog.c:78 pg_recvlogical.c:97
 #, c-format
 msgid ""
 "\n"
@@ -219,48 +279,48 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_basebackup.c:202
+#: pg_basebackup.c:307
 #, c-format
 msgid "%s: could not read from ready pipe: %s\n"
 msgstr "%s: не удалось прочитать из готового канала: %s\n"
 
-#: pg_basebackup.c:210 pg_basebackup.c:302 pg_basebackup.c:1621
-#: pg_receivexlog.c:306
+#: pg_basebackup.c:315 pg_basebackup.c:407 pg_basebackup.c:1901
+#: pg_receivexlog.c:301 pg_recvlogical.c:938
 #, c-format
 msgid "%s: could not parse transaction log location \"%s\"\n"
 msgstr "%s: не удалось разобрать положение в журнале транзакций \"%s\"\n"
 
-#: pg_basebackup.c:315
+#: pg_basebackup.c:420
 #, c-format
 msgid "%s: could not create pipe for background process: %s\n"
 msgstr "%s: не удалось создать канал для фонового процесса: %s\n"
 
-#: pg_basebackup.c:348
+#: pg_basebackup.c:453
 #, c-format
 msgid "%s: could not create background process: %s\n"
 msgstr "%s: не удалось создать фоновый процесс: %s\n"
 
-#: pg_basebackup.c:360
+#: pg_basebackup.c:465
 #, c-format
 msgid "%s: could not create background thread: %s\n"
 msgstr "%s: не удалось создать фоновый поток выполнения: %s\n"
 
-#: pg_basebackup.c:385 pg_basebackup.c:1012
+#: pg_basebackup.c:490 pg_basebackup.c:1271
 #, c-format
 msgid "%s: could not create directory \"%s\": %s\n"
 msgstr "%s: не удалось создать каталог \"%s\": %s\n"
 
-#: pg_basebackup.c:404
+#: pg_basebackup.c:509
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: каталог \"%s\" существует, но он не пуст\n"
 
-#: pg_basebackup.c:412
+#: pg_basebackup.c:517
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: нет доступа к каталогу \"%s\": %s\n"
 
-#: pg_basebackup.c:460
+#: pg_basebackup.c:579
 #, c-format
 msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
@@ -268,7 +328,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:472
+#: pg_basebackup.c:591
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
@@ -276,7 +336,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:488
+#: pg_basebackup.c:607
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
@@ -284,123 +344,167 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d
 msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 
-#: pg_basebackup.c:515
+#: pg_basebackup.c:629
+#, c-format
+msgid "%s: transfer rate \"%s\" is not a valid value\n"
+msgstr "%s: неверное значение (\"%s\") для скорости передачи данных\n"
+
+#: pg_basebackup.c:636
+#, c-format
+msgid "%s: invalid transfer rate \"%s\": %s\n"
+msgstr "%s: неверная скорость передачи данных \"%s\": %s\n"
+
+#: pg_basebackup.c:646
+#, c-format
+msgid "%s: transfer rate must be greater than zero\n"
+msgstr "%s: скорость передачи должна быть больше 0\n"
+
+#: pg_basebackup.c:680
+#, c-format
+msgid "%s: invalid --max-rate unit: \"%s\"\n"
+msgstr "%s: неверная единица измерения в --max-rate: \"%s\"\n"
+
+#: pg_basebackup.c:689
+#, c-format
+msgid "%s: transfer rate \"%s\" exceeds integer range\n"
+msgstr "%s: скорость передачи \"%s\" вне целочисленного диапазона\n"
+
+#: pg_basebackup.c:701
+#, c-format
+msgid "%s: transfer rate \"%s\" is out of range\n"
+msgstr "%s: скорость передачи \"%s\" вне диапазона\n"
+
+#: pg_basebackup.c:725
 #, c-format
 msgid "%s: could not write to compressed file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл сжатого архива \"%s\": %s\n"
 
-#: pg_basebackup.c:525 pg_basebackup.c:1094 pg_basebackup.c:1312
+#: pg_basebackup.c:735 pg_basebackup.c:1353 pg_basebackup.c:1571
 #, c-format
 msgid "%s: could not write to file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл \"%s\": %s\n"
 
-#: pg_basebackup.c:580 pg_basebackup.c:601 pg_basebackup.c:629
+#: pg_basebackup.c:790 pg_basebackup.c:811 pg_basebackup.c:839
 #, c-format
 msgid "%s: could not set compression level %d: %s\n"
 msgstr "%s: не удалось установить уровень сжатия %d: %s\n"
 
-#: pg_basebackup.c:650
+#: pg_basebackup.c:860
 #, c-format
 msgid "%s: could not create compressed file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл сжатого архива \"%s\": %s\n"
 
-#: pg_basebackup.c:661 pg_basebackup.c:1054 pg_basebackup.c:1305
+#: pg_basebackup.c:871 pg_basebackup.c:1313 pg_basebackup.c:1564
 #, c-format
 msgid "%s: could not create file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл \"%s\": %s\n"
 
-#: pg_basebackup.c:673 pg_basebackup.c:916
+#: pg_basebackup.c:883 pg_basebackup.c:1171
 #, c-format
 msgid "%s: could not get COPY data stream: %s"
 msgstr "%s: не удалось получить поток данных COPY: %s"
 
-#: pg_basebackup.c:730
+#: pg_basebackup.c:940
 #, c-format
 msgid "%s: could not close compressed file \"%s\": %s\n"
 msgstr "%s: не удалось закрыть сжатый файл \"%s\": %s\n"
 
-#: pg_basebackup.c:743 receivelog.c:161 receivelog.c:352 receivelog.c:724
+#: pg_basebackup.c:953 pg_recvlogical.c:555 receivelog.c:160 receivelog.c:295
+#: receivelog.c:674
 #, c-format
 msgid "%s: could not close file \"%s\": %s\n"
 msgstr "%s: не удалось закрыть файл \"%s\": %s\n"
 
-#: pg_basebackup.c:754 pg_basebackup.c:945 receivelog.c:937
+#: pg_basebackup.c:964 pg_basebackup.c:1200 pg_recvlogical.c:421
+#: receivelog.c:890
 #, c-format
 msgid "%s: could not read COPY data: %s"
 msgstr "%s: не удалось прочитать данные COPY: %s"
 
-#: pg_basebackup.c:959
+#: pg_basebackup.c:1126
+#, c-format
+msgid "%s: could not remove symbolic link \"%s\": %s\n"
+msgstr "%s: ошибка при удалении символической ссылки \"%s\": %s\n"
+
+#: pg_basebackup.c:1132 pg_basebackup.c:2245
+#, c-format
+msgid "%s: could not create symbolic link \"%s\": %s\n"
+msgstr "%s: не удалось создать символическую ссылку \"%s\": %s\n"
+
+#: pg_basebackup.c:1214
 #, c-format
 msgid "%s: invalid tar block header size: %d\n"
 msgstr "%s: неверный размер заголовка блока tar: %d\n"
 
-#: pg_basebackup.c:967
+#: pg_basebackup.c:1222
 #, c-format
 msgid "%s: could not parse file size\n"
 msgstr "%s: не удалось разобрать размер файла\n"
 
-#: pg_basebackup.c:975
+#: pg_basebackup.c:1230
 #, c-format
 msgid "%s: could not parse file mode\n"
 msgstr "%s: не удалось разобрать режим файла\n"
 
-#: pg_basebackup.c:1020
+#: pg_basebackup.c:1279
 #, c-format
 msgid "%s: could not set permissions on directory \"%s\": %s\n"
 msgstr "%s: не удалось установить права для каталога \"%s\": %s\n"
 
-#: pg_basebackup.c:1033
+#: pg_basebackup.c:1292
 #, c-format
 msgid "%s: could not create symbolic link from \"%s\" to \"%s\": %s\n"
 msgstr "%s: не удалось создать символическую ссылку \"%s\" в \"%s\": %s\n"
 
-#: pg_basebackup.c:1041
+#: pg_basebackup.c:1300
 #, c-format
 msgid "%s: unrecognized link indicator \"%c\"\n"
 msgstr "%s: нераспознанный индикатор связи \"%c\"\n"
 
-#: pg_basebackup.c:1061
+#: pg_basebackup.c:1320
 #, c-format
 msgid "%s: could not set permissions on file \"%s\": %s\n"
 msgstr "%s: не удалось установить права доступа для файла \"%s\": %s\n"
 
-#: pg_basebackup.c:1120
+#: pg_basebackup.c:1379
 #, c-format
 msgid "%s: COPY stream ended before last file was finished\n"
 msgstr "%s: поток COPY закончился до завершения последнего файла\n"
 
-#: pg_basebackup.c:1206 pg_basebackup.c:1226 pg_basebackup.c:1233
-#: pg_basebackup.c:1280
+#: pg_basebackup.c:1465 pg_basebackup.c:1485 pg_basebackup.c:1492
+#: pg_basebackup.c:1539
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: нехватка памяти\n"
 
-#: pg_basebackup.c:1356
+#: pg_basebackup.c:1616
 #, c-format
 msgid "%s: incompatible server version %s\n"
 msgstr "%s: несовместимая версия сервера %s\n"
 
-#: pg_basebackup.c:1383 pg_basebackup.c:1412 pg_receivexlog.c:291
-#: receivelog.c:531 receivelog.c:576 receivelog.c:615
+#: pg_basebackup.c:1643 pg_basebackup.c:1677 pg_receivexlog.c:286
+#: pg_recvlogical.c:256 pg_recvlogical.c:854 pg_recvlogical.c:887
+#: pg_recvlogical.c:922 receivelog.c:470 receivelog.c:521 receivelog.c:561
 #, c-format
 msgid "%s: could not send replication command \"%s\": %s"
 msgstr "%s: не удалось передать команду репликации \"%s\": %s"
 
-#: pg_basebackup.c:1390 pg_receivexlog.c:298 receivelog.c:539
+#: pg_basebackup.c:1650 pg_receivexlog.c:293 pg_recvlogical.c:862
+#: receivelog.c:478
 #, c-format
 msgid ""
 "%s: could not identify system: got %d rows and %d fields, expected %d rows "
-"and %d fields\n"
+"and %d or more fields\n"
 msgstr ""
 "%s: не удалось идентифицировать систему, получено строк: %d, полей: %d "
-"(ожидалось: %d и %d)\n"
+"(ожидалось: %d и %d (или более))\n"
 
-#: pg_basebackup.c:1423
+#: pg_basebackup.c:1688
 #, c-format
 msgid "%s: could not initiate base backup: %s"
 msgstr "%s: не удалось инициализировать базовое резервное копирование: %s"
 
-#: pg_basebackup.c:1430
+#: pg_basebackup.c:1695
 #, c-format
 msgid ""
 "%s: server returned unexpected response to BASE_BACKUP command; got %d rows "
@@ -409,105 +513,105 @@ msgstr ""
 "%s: сервер вернул неожиданный ответ на команду BASE_BACKUP; получено строк: "
 "%d, полей: %d, а ожидалось строк: %d, полей: %d\n"
 
-#: pg_basebackup.c:1450
+#: pg_basebackup.c:1715
 #, c-format
 msgid "transaction log start point: %s on timeline %u\n"
 msgstr "стартовая точка журнала транзакций: %s на линии времени %u\n"
 
-#: pg_basebackup.c:1459
+#: pg_basebackup.c:1724
 #, c-format
 msgid "%s: could not get backup header: %s"
 msgstr "%s: не удалось получить заголовок резервной копии: %s"
 
-#: pg_basebackup.c:1465
+#: pg_basebackup.c:1730
 #, c-format
 msgid "%s: no data returned from server\n"
 msgstr "%s: сервер не вернул данные\n"
 
-#: pg_basebackup.c:1494
+#: pg_basebackup.c:1762
 #, c-format
 msgid "%s: can only write single tablespace to stdout, database has %d\n"
 msgstr ""
 "%s: в stdout можно вывести только одно табличное пространство, всего в СУБД "
 "их %d\n"
 
-#: pg_basebackup.c:1506
+#: pg_basebackup.c:1774
 #, c-format
 msgid "%s: starting background WAL receiver\n"
 msgstr "%s: запуск фонового процесса считывания WAL\n"
 
-#: pg_basebackup.c:1536
+#: pg_basebackup.c:1816
 #, c-format
 msgid "%s: could not get transaction log end position from server: %s"
 msgstr ""
 "%s: не удалось получить конечную позицию в журнале транзакций с сервера: %s"
 
-#: pg_basebackup.c:1543
+#: pg_basebackup.c:1823
 #, c-format
 msgid "%s: no transaction log end position returned from server\n"
 msgstr "%s: сервер не вернул конечную позицию в журнале транзакций\n"
 
-#: pg_basebackup.c:1555
+#: pg_basebackup.c:1835
 #, c-format
 msgid "%s: final receive failed: %s"
 msgstr "%s: ошибка в конце передачи: %s"
 
-#: pg_basebackup.c:1573
+#: pg_basebackup.c:1853
 #, c-format
 msgid "%s: waiting for background process to finish streaming ...\n"
 msgstr "%s: ожидание завершения потоковой передачи фоновым процессом...\n"
 
-#: pg_basebackup.c:1579
+#: pg_basebackup.c:1859
 #, c-format
 msgid "%s: could not send command to background pipe: %s\n"
 msgstr "%s: не удалось отправить команду в канал фонового процесса: %s\n"
 
-#: pg_basebackup.c:1588
+#: pg_basebackup.c:1868
 #, c-format
 msgid "%s: could not wait for child process: %s\n"
 msgstr "%s: сбой при ожидании дочернего процесса: %s\n"
 
-#: pg_basebackup.c:1594
+#: pg_basebackup.c:1874
 #, c-format
 msgid "%s: child %d died, expected %d\n"
 msgstr "%s: завершился дочерний процесс %d вместо ожидаемого %d\n"
 
-#: pg_basebackup.c:1600
+#: pg_basebackup.c:1880
 #, c-format
 msgid "%s: child process did not exit normally\n"
 msgstr "%s: дочерний процесс завершён ненормально\n"
 
-#: pg_basebackup.c:1606
+#: pg_basebackup.c:1886
 #, c-format
 msgid "%s: child process exited with error %d\n"
 msgstr "%s: дочерний процесс завершился с ошибкой %d\n"
 
-#: pg_basebackup.c:1633
+#: pg_basebackup.c:1913
 #, c-format
 msgid "%s: could not wait for child thread: %s\n"
 msgstr "%s: сбой при ожидании дочернего потока: %s\n"
 
-#: pg_basebackup.c:1640
+#: pg_basebackup.c:1920
 #, c-format
 msgid "%s: could not get child thread exit status: %s\n"
 msgstr "%s: не удалось получить состояние завершения дочернего потока: %s\n"
 
-#: pg_basebackup.c:1646
+#: pg_basebackup.c:1926
 #, c-format
 msgid "%s: child thread exited with error %u\n"
 msgstr "%s: дочерний поток завершился с ошибкой %u\n"
 
-#: pg_basebackup.c:1732
+#: pg_basebackup.c:2015
 #, c-format
 msgid "%s: invalid output format \"%s\", must be \"plain\" or \"tar\"\n"
 msgstr "%s: неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\"\n"
 
-#: pg_basebackup.c:1744 pg_basebackup.c:1756
+#: pg_basebackup.c:2033 pg_basebackup.c:2045
 #, c-format
 msgid "%s: cannot specify both --xlog and --xlog-method\n"
 msgstr "%s: указать и --xlog, и --xlog-method одновременно нельзя\n"
 
-#: pg_basebackup.c:1771
+#: pg_basebackup.c:2060
 #, c-format
 msgid ""
 "%s: invalid xlog-method option \"%s\", must be \"fetch\" or \"stream\"\n"
@@ -515,12 +619,12 @@ msgstr ""
 "%s: неверный аргумент для xlog-method - \"%s\", допускается только \"fetch\" "
 "или \"stream\"\n"
 
-#: pg_basebackup.c:1790
+#: pg_basebackup.c:2082
 #, c-format
 msgid "%s: invalid compression level \"%s\"\n"
 msgstr "%s: неверный уровень сжатия \"%s\"\n"
 
-#: pg_basebackup.c:1802
+#: pg_basebackup.c:2094
 #, c-format
 msgid ""
 "%s: invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"\n"
@@ -528,43 +632,66 @@ msgstr ""
 "%s: неверный аргумент режима контрольных точек \"%s\", должен быть \"fast\" "
 "или \"spread\"\n"
 
-#: pg_basebackup.c:1829 pg_receivexlog.c:432
+#: pg_basebackup.c:2121 pg_receivexlog.c:428 pg_recvlogical.c:737
 #, c-format
 msgid "%s: invalid status interval \"%s\"\n"
 msgstr "%s: неверный интервал сообщений о состоянии \"%s\"\n"
 
-#: pg_basebackup.c:1845 pg_basebackup.c:1859 pg_basebackup.c:1870
-#: pg_basebackup.c:1883 pg_basebackup.c:1893 pg_receivexlog.c:448
-#: pg_receivexlog.c:462 pg_receivexlog.c:473
+#: pg_basebackup.c:2137 pg_basebackup.c:2151 pg_basebackup.c:2162
+#: pg_basebackup.c:2175 pg_basebackup.c:2185 pg_basebackup.c:2197
+#: pg_basebackup.c:2208 pg_receivexlog.c:447 pg_receivexlog.c:461
+#: pg_receivexlog.c:472 pg_recvlogical.c:761 pg_recvlogical.c:775
+#: pg_recvlogical.c:786 pg_recvlogical.c:794 pg_recvlogical.c:802
+#: pg_recvlogical.c:810 pg_recvlogical.c:818 pg_recvlogical.c:826
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_basebackup.c:1857 pg_receivexlog.c:460
+#: pg_basebackup.c:2149 pg_receivexlog.c:459 pg_recvlogical.c:773
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: pg_basebackup.c:1869 pg_receivexlog.c:472
+#: pg_basebackup.c:2161 pg_receivexlog.c:471
 #, c-format
 msgid "%s: no target directory specified\n"
 msgstr "%s: целевой каталог не указан\n"
 
-#: pg_basebackup.c:1881
+#: pg_basebackup.c:2173
 #, c-format
 msgid "%s: only tar mode backups can be compressed\n"
 msgstr "%s: сжимать можно только резервные копии в архиве tar\n"
 
-#: pg_basebackup.c:1891
+#: pg_basebackup.c:2183
 #, c-format
 msgid "%s: WAL streaming can only be used in plain mode\n"
 msgstr "%s: потоковая передача WAL поддерживается только в режиме plain\n"
 
-#: pg_basebackup.c:1902
+#: pg_basebackup.c:2195
+#, c-format
+msgid ""
+"%s: transaction log directory location can only be specified in plain mode\n"
+msgstr ""
+"%s: расположение каталога журнала транзакций можно указать только в режиме "
+"plain\n"
+
+#: pg_basebackup.c:2206
+#, c-format
+msgid "%s: transaction log directory location must be an absolute path\n"
+msgstr ""
+"%s: расположение каталога журнала транзакций должно определяться абсолютным "
+"путём\n"
+
+#: pg_basebackup.c:2218
 #, c-format
 msgid "%s: this build does not support compression\n"
 msgstr "%s: эта сборка программы не поддерживает сжатие\n"
 
+#: pg_basebackup.c:2250
+#, c-format
+msgid "%s: symlinks are not supported on this platform"
+msgstr "%s: символические ссылки не поддерживаются в этой ОС"
+
 #: pg_receivexlog.c:58
 #, c-format
 msgid ""
@@ -574,7 +701,7 @@ msgstr ""
 "%s получает транслируемые журналы транзакций PostgreSQL.\n"
 "\n"
 
-#: pg_receivexlog.c:62
+#: pg_receivexlog.c:62 pg_recvlogical.c:69
 #, c-format
 msgid ""
 "\n"
@@ -591,161 +718,420 @@ msgstr ""
 "  -D, --directory=ПУТЬ   сохранять файлы журналов транзакций в данный "
 "каталог\n"
 
-#: pg_receivexlog.c:64
+#: pg_receivexlog.c:64 pg_recvlogical.c:73
 #, c-format
 msgid "  -n, --no-loop          do not loop on connection lost\n"
 msgstr "  -n, --no-loop           прерывать работу при потере соединения\n"
 
-#: pg_receivexlog.c:88
+#: pg_receivexlog.c:77
+#, c-format
+msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
+msgstr "  -S, --slot=ИМЯ_СЛОТА   использовать заданный слот репликации\n"
+
+#: pg_receivexlog.c:89
 #, c-format
 msgid "%s: finished segment at %X/%X (timeline %u)\n"
 msgstr "%s: завершён сегмент %X/%X (линия времени %u)\n"
 
-#: pg_receivexlog.c:101
+#: pg_receivexlog.c:102
 #, c-format
 msgid "%s: switched to timeline %u at %X/%X\n"
 msgstr "%s: переключение на линию времени %u (позиция %X/%X)\n"
 
-#: pg_receivexlog.c:110
+#: pg_receivexlog.c:111
 #, c-format
 msgid "%s: received interrupt signal, exiting\n"
 msgstr "%s: получен сигнал прерывания, работа завершается\n"
 
-#: pg_receivexlog.c:136
+#: pg_receivexlog.c:137
 #, c-format
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: не удалось открыть каталог \"%s\": %s\n"
 
-#: pg_receivexlog.c:186
+#: pg_receivexlog.c:187
 #, c-format
 msgid "%s: could not stat file \"%s\": %s\n"
 msgstr "%s: не удалось получить информацию о файле \"%s\": %s\n"
 
-#: pg_receivexlog.c:194
+#: pg_receivexlog.c:195
 #, c-format
 msgid "%s: segment file \"%s\" has incorrect size %d, skipping\n"
 msgstr ""
 "%s: файл сегмента \"%s\" имеет неправильный размер %d, файл пропускается\n"
 
-#: pg_receivexlog.c:219
+#: pg_receivexlog.c:214
 #, c-format
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: не удалось прочитать каталог \"%s\": %s\n"
 
-#: pg_receivexlog.c:226
+#: pg_receivexlog.c:221
 #, c-format
 msgid "%s: could not close directory \"%s\": %s\n"
 msgstr "%s: не удалось закрыть каталог \"%s\": %s\n"
 
-#: pg_receivexlog.c:333
+#: pg_receivexlog.c:328
 #, c-format
 msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
 msgstr "%s: начало передачи журнала с позиции %X/%X (линия времени %u)\n"
 
-#: pg_receivexlog.c:413
+#: pg_receivexlog.c:409 pg_recvlogical.c:684
 #, c-format
 msgid "%s: invalid port number \"%s\"\n"
 msgstr "%s: неверный номер порта \"%s\"\n"
 
-#: pg_receivexlog.c:495
+#: pg_receivexlog.c:494 pg_recvlogical.c:965
 #, c-format
 msgid "%s: disconnected\n"
 msgstr "%s: отключение\n"
 
 #. translator: check source for value for %d
-#: pg_receivexlog.c:502
+#: pg_receivexlog.c:501 pg_recvlogical.c:972
 #, c-format
 msgid "%s: disconnected; waiting %d seconds to try again\n"
 msgstr "%s: отключение; через %d сек. последует повторное подключение\n"
 
-#: receivelog.c:69
+#: pg_recvlogical.c:65
+#, c-format
+msgid ""
+"%s receives PostgreSQL logical change stream.\n"
+"\n"
+msgstr ""
+"%s получает поток логических изменений PostgreSQL.\n"
+"\n"
+
+#: pg_recvlogical.c:70
+#, c-format
+msgid "  -f, --file=FILE        receive log into this file. - for stdout\n"
+msgstr ""
+"  -f, --file=ФАЙЛ        сохранять журнал в этот файл. - обозначает stdout\n"
+
+#: pg_recvlogical.c:71
+#, c-format
+msgid ""
+"  -F  --fsync-interval=SECS\n"
+"                         frequency of syncs to the output file (default: "
+"%d)\n"
+msgstr ""
+"  -F  --fsync-interval=СЕК\n"
+"                         интервал синхронизации выходного файла (по "
+"умолчанию: %d)\n"
+
+#: pg_recvlogical.c:78
+#, c-format
+msgid "  -d, --dbname=DBNAME    database to connect to\n"
+msgstr "  -d, --dbname=ИМЯ_БД    целевая база данных\n"
+
+#: pg_recvlogical.c:84
+#, c-format
+msgid ""
+"\n"
+"Replication options:\n"
+msgstr ""
+"\n"
+"Параметры репликации:\n"
+
+#: pg_recvlogical.c:85
+#, c-format
+msgid ""
+"  -I, --startpos=PTR     where in an existing slot should the streaming "
+"start\n"
+msgstr ""
+"  -I, --startpos=УКЗ     определяет, с какой позиции в существующем слоте "
+"начнётся передача\n"
+
+#: pg_recvlogical.c:86
+#, c-format
+msgid ""
+"  -o, --option=NAME[=VALUE]\n"
+"                         specify option NAME with optional value VALUE, to "
+"be passed\n"
+"                         to the output plugin\n"
+msgstr ""
+"  -o, --option=ИМЯ[=ЗНАЧЕНИЕ]\n"
+"                         передать параметр с заданным именем и "
+"необязательным значением\n"
+"                         модулю вывода\n"
+
+#: pg_recvlogical.c:89
+#, c-format
+msgid "  -P, --plugin=PLUGIN    use output plugin PLUGIN (default: %s)\n"
+msgstr ""
+"  -P, --plugin=МОДУЛЬ    использовать заданный модуль вывода (по умолчанию: "
+"%s)\n"
+
+#: pg_recvlogical.c:90
+#, c-format
+msgid ""
+"  -s, --status-interval=SECS\n"
+"                         time between status packets sent to server "
+"(default: %d)\n"
+msgstr ""
+"  -s, --status-interval=СЕК\n"
+"                         интервал между отправкой статусных пакетов серверу "
+"(по умолчанию: %d)\n"
+
+#: pg_recvlogical.c:92
+#, c-format
+msgid "  -S, --slot=SLOT        name of the logical replication slot\n"
+msgstr "  -S, --slot=СЛОТ        имя слота логической репликации\n"
+
+#: pg_recvlogical.c:93
+#, c-format
+msgid ""
+"\n"
+"Action to be performed:\n"
+msgstr ""
+"\n"
+"Действие, которое будет выполнено:\n"
+
+#: pg_recvlogical.c:94
+#, c-format
+msgid ""
+"      --create           create a new replication slot (for the slot's name "
+"see --slot)\n"
+msgstr ""
+"      --create           создать новый слот репликации (имя слота задаёт "
+"параметр --slot)\n"
+
+#: pg_recvlogical.c:95
+#, c-format
+msgid ""
+"      --start            start streaming in a replication slot (for the "
+"slot's name see --slot)\n"
+msgstr ""
+"      --start            начать передачу в слоте репликации (имя слота "
+"задаёт параметр --slot)\n"
+
+#: pg_recvlogical.c:96
+#, c-format
+msgid ""
+"      --drop             drop the replication slot (for the slot's name see "
+"--slot)\n"
+msgstr ""
+"      --drop             удалить слот репликации (имя слота задаёт параметр "
+"--slot)\n"
+
+#: pg_recvlogical.c:124
+#, c-format
+msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
+msgstr ""
+"%s: подтверждается запись до %X/%X, синхронизация с ФС до %X/%X (слот %s)\n"
+
+#: pg_recvlogical.c:149 receivelog.c:340
+#, c-format
+msgid "%s: could not send feedback packet: %s"
+msgstr "%s: не удалось отправить пакет отзыва: %s"
+
+#: pg_recvlogical.c:185
+#, c-format
+msgid "%s: could not fsync log file \"%s\": %s\n"
+msgstr "%s: не удалось синхронизировать с ФС файл журнала \"%s\": %s\n"
+
+#: pg_recvlogical.c:224
+#, c-format
+msgid "%s: starting log streaming at %X/%X (slot %s)\n"
+msgstr "%s: начало передачи журнала с позиции %X/%X (слот %s)\n"
+
+#: pg_recvlogical.c:266
+#, c-format
+msgid "%s: streaming initiated\n"
+msgstr "%s: передача запущена\n"
+
+#: pg_recvlogical.c:329
+#, c-format
+msgid "%s: could not open log file \"%s\": %s\n"
+msgstr "%s: не удалось открыть файл журнала \"%s\": %s\n"
+
+#: pg_recvlogical.c:398 receivelog.c:837
+#, c-format
+msgid "%s: select() failed: %s\n"
+msgstr "%s: ошибка в select(): %s\n"
+
+#: pg_recvlogical.c:407 receivelog.c:845
+#, c-format
+msgid "%s: could not receive data from WAL stream: %s"
+msgstr "%s: не удалось получить данные из потока WAL: %s"
+
+#: pg_recvlogical.c:448 pg_recvlogical.c:487 receivelog.c:912 receivelog.c:947
+#, c-format
+msgid "%s: streaming header too small: %d\n"
+msgstr "%s: заголовок потока слишком мал: %d\n"
+
+#: pg_recvlogical.c:470 receivelog.c:1053
+#, c-format
+msgid "%s: unrecognized streaming header: \"%c\"\n"
+msgstr "%s: нераспознанный заголовок потока: \"%c\"\n"
+
+#: pg_recvlogical.c:516 pg_recvlogical.c:530
+#, c-format
+msgid "%s: could not write %u bytes to log file \"%s\": %s\n"
+msgstr "%s: не удалось записать %u байт в файл журнала \"%s\": %s\n"
+
+#: pg_recvlogical.c:541 receivelog.c:627 receivelog.c:665
+#, c-format
+msgid "%s: unexpected termination of replication stream: %s"
+msgstr "%s: неожиданный конец потока репликации: %s"
+
+#: pg_recvlogical.c:663
+#, c-format
+msgid "%s: invalid fsync interval \"%s\"\n"
+msgstr "%s: неверный интервал синхронизации с ФС \"%s\"\n"
+
+#: pg_recvlogical.c:704
+#, c-format
+msgid "%s: could not parse start position \"%s\"\n"
+msgstr "%s: не удалось разобрать начальную позицию \"%s\"\n"
+
+#: pg_recvlogical.c:785
+#, c-format
+msgid "%s: no slot specified\n"
+msgstr "%s: слот не указан\n"
+
+#: pg_recvlogical.c:793
+#, c-format
+msgid "%s: no target file specified\n"
+msgstr "%s: целевой файл не задан\n"
+
+#: pg_recvlogical.c:801
+#, c-format
+msgid "%s: no database specified\n"
+msgstr "%s: база данных не задана\n"
+
+#: pg_recvlogical.c:809
+#, c-format
+msgid "%s: at least one action needs to be specified\n"
+msgstr "%s: необходимо задать минимум одно действие\n"
+
+#: pg_recvlogical.c:817
+#, c-format
+msgid "%s: cannot use --create or --start together with --drop\n"
+msgstr "%s: --create или --start нельзя применять вместе с --drop\n"
+
+#: pg_recvlogical.c:825
+#, c-format
+msgid "%s: cannot use --create or --drop together with --startpos\n"
+msgstr "%s: --create или --drop нельзя применять вместе с --startpos\n"
+
+#: pg_recvlogical.c:879
+#, c-format
+msgid "%s: freeing replication slot \"%s\"\n"
+msgstr "%s: освобождение слота репликации \"%s\"\n"
+
+#: pg_recvlogical.c:895
+#, c-format
+msgid ""
+"%s: could not stop logical replication: got %d rows and %d fields, expected "
+"%d rows and %d fields\n"
+msgstr ""
+"%s: не удалось остановить логическую репликацию; получено строк: %d, полей: "
+"%d (ожидалось: %d и %d)\n"
+
+#: pg_recvlogical.c:913
+#, c-format
+msgid "%s: initializing replication slot \"%s\"\n"
+msgstr "%s: инициализируется слот репликации \"%s\"\n"
+
+#: pg_recvlogical.c:930
+#, c-format
+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"
+
+#: receivelog.c:68
 #, c-format
 msgid "%s: could not open transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:81
+#: receivelog.c:80
 #, c-format
 msgid "%s: could not stat transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось проверить файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:95
+#: receivelog.c:94
 #, c-format
 msgid "%s: transaction log file \"%s\" has %d bytes, should be 0 or %d\n"
 msgstr ""
 "%s: файл журнала транзакций \"%s\" имеет размер %d Б, а должен - 0 или %d\n"
 
-#: receivelog.c:108
+#: receivelog.c:107
 #, c-format
 msgid "%s: could not pad transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось дополнить файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:121
+#: receivelog.c:120
 #, c-format
 msgid "%s: could not seek to beginning of transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось перейти к началу файла журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:147
+#: receivelog.c:146
 #, c-format
 msgid "%s: could not determine seek position in file \"%s\": %s\n"
 msgstr "%s: не удалось определить текущую позицию в файле \"%s\": %s\n"
 
-#: receivelog.c:154 receivelog.c:345
+#: receivelog.c:153 receivelog.c:288
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: не удалось синхронизировать с ФС файл \"%s\": %s\n"
 
-#: receivelog.c:180
+#: receivelog.c:179
 #, c-format
 msgid "%s: could not rename file \"%s\": %s\n"
 msgstr "%s: не удалось переименовать файл \"%s\": %s\n"
 
-#: receivelog.c:187
+#: receivelog.c:186
 #, c-format
 msgid "%s: not renaming \"%s%s\", segment is not complete\n"
 msgstr ""
 "%s: файл \"%s%s\" не переименовывается, так как это не полный сегмент\n"
 
-#: receivelog.c:276
+#: receivelog.c:219
 #, c-format
 msgid "%s: could not open timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:303
+#: receivelog.c:246
 #, c-format
 msgid "%s: server reported unexpected history file name for timeline %u: %s\n"
 msgstr ""
 "%s: сервер сообщил неожиданное имя файла истории для линии времени %u: %s\n"
 
-#: receivelog.c:320
+#: receivelog.c:263
 #, c-format
 msgid "%s: could not create timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:337
+#: receivelog.c:280
 #, c-format
 msgid "%s: could not write timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:362
+#: receivelog.c:305
 #, c-format
 msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
 msgstr "%s: не удалось переименовать файл \"%s\" в \"%s\": %s\n"
 
-#: receivelog.c:435
+#: receivelog.c:374
 #, c-format
-msgid "%s: could not send feedback packet: %s"
-msgstr "%s: не удалось отправить пакет отзыва: %s"
+msgid ""
+"%s: incompatible server version %s; client does not support streaming from "
+"server versions older than %s\n"
+msgstr ""
+"%s: несовместимая версия сервера %s; клиент не поддерживает репликацию с "
+"серверов версии ниже %s\n"
 
-#: receivelog.c:469
+#: receivelog.c:384
 #, c-format
 msgid ""
-"%s: incompatible server version %s; streaming is only supported with server "
-"version %s\n"
+"%s: incompatible server version %s; client does not support streaming from "
+"server versions newer than %s\n"
 msgstr ""
-"%s: Ð½ÐµÑ\81овмеÑ\81Ñ\82имаÑ\8f Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81еÑ\80веÑ\80а %s; Ð¿Ð¾Ñ\82оковаÑ\8f Ð¿ÐµÑ\80едаÑ\87а Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f "
-"Ñ\82олÑ\8cко Ñ\81 Ð²ÐµÑ\80Ñ\81ией %s\n"
+"%s: Ð½ÐµÑ\81овмеÑ\81Ñ\82имаÑ\8f Ð²ÐµÑ\80Ñ\81иÑ\8f Ñ\81еÑ\80веÑ\80а %s; ÐºÐ»Ð¸ÐµÐ½Ñ\82 Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82 Ñ\80епликаÑ\86иÑ\8e Ñ\81 "
+"Ñ\81еÑ\80веÑ\80ов Ð²ÐµÑ\80Ñ\81ии Ð²Ñ\8bÑ\88е %s\n"
 
-#: receivelog.c:547
+#: receivelog.c:486
 #, c-format
 msgid ""
 "%s: system identifier does not match between base backup and streaming "
@@ -754,12 +1140,12 @@ msgstr ""
 "%s: системный идентификатор базовой резервной копии отличается от "
 "идентификатора потоковой передачи\n"
 
-#: receivelog.c:555
+#: receivelog.c:494
 #, c-format
 msgid "%s: starting timeline %u is not present in the server\n"
 msgstr "%s: на сервере нет начальной линии времени %u\n"
 
-#: receivelog.c:589
+#: receivelog.c:534
 #, c-format
 msgid ""
 "%s: unexpected response to TIMELINE_HISTORY command: got %d rows and %d "
@@ -768,14 +1154,14 @@ msgstr ""
 "%s: сервер вернул неожиданный ответ на команду TIMELINE_HISTORY; получено "
 "строк: %d, полей: %d, а ожидалось строк: %d, полей: %d\n"
 
-#: receivelog.c:662
+#: receivelog.c:608
 #, c-format
 msgid ""
 "%s: server reported unexpected next timeline %u, following timeline %u\n"
 msgstr ""
 "%s: сервер неожиданно сообщил линию времени %u после линии времени %u\n"
 
-#: receivelog.c:669
+#: receivelog.c:615
 #, c-format
 msgid ""
 "%s: server stopped streaming timeline %u at %X/%X, but reported next "
@@ -784,17 +1170,12 @@ msgstr ""
 "%s: сервер прекратил передачу линии времени %u в %X/%X, но сообщил, что "
 "следующая линии времени %u начнётся в %X/%X\n"
 
-#: receivelog.c:681 receivelog.c:716
-#, c-format
-msgid "%s: unexpected termination of replication stream: %s"
-msgstr "%s: неожиданный конец потока репликации: %s"
-
-#: receivelog.c:707
+#: receivelog.c:656
 #, c-format
 msgid "%s: replication stream was terminated before stop point\n"
 msgstr "%s: поток репликации закончился до точки останова\n"
 
-#: receivelog.c:755
+#: receivelog.c:705
 #, c-format
 msgid ""
 "%s: unexpected result set after end-of-timeline: got %d rows and %d fields, "
@@ -803,78 +1184,61 @@ msgstr ""
 "%s: сервер вернул неожиданный набор данных после конца линии времени - "
 "получено строк: %d, полей: %d, а ожидалось строк: %d, полей: %d\n"
 
-#: receivelog.c:765
+#: receivelog.c:715
 #, c-format
 msgid "%s: could not parse next timeline's starting point \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать начальную точку следующей линии времени \"%s\"\n"
 
-#: receivelog.c:820 receivelog.c:922 receivelog.c:1087
+#: receivelog.c:770 receivelog.c:873 receivelog.c:1040
 #, c-format
 msgid "%s: could not send copy-end packet: %s"
 msgstr "%s: не удалось отправить пакет \"конец COPY\": %s"
 
-#: receivelog.c:887
-#, c-format
-msgid "%s: select() failed: %s\n"
-msgstr "%s: ошибка в select(): %s\n"
-
-#: receivelog.c:895
-#, c-format
-msgid "%s: could not receive data from WAL stream: %s"
-msgstr "%s: не удалось получить данные из потока WAL: %s"
-
-#: receivelog.c:959 receivelog.c:994
-#, c-format
-msgid "%s: streaming header too small: %d\n"
-msgstr "%s: заголовок потока слишком мал: %d\n"
-
-#: receivelog.c:1013
+#: receivelog.c:966
 #, c-format
 msgid "%s: received transaction log record for offset %u with no file open\n"
 msgstr ""
 "%s: получена запись журнала транзакций по смещению %u, но файл не открыт\n"
 
-#: receivelog.c:1025
+#: receivelog.c:978
 #, c-format
 msgid "%s: got WAL data offset %08x, expected %08x\n"
 msgstr "%s: получено смещение данных WAL %08x, но ожидалось %08x\n"
 
-#: receivelog.c:1062
+#: receivelog.c:1015
 #, c-format
 msgid "%s: could not write %u bytes to WAL file \"%s\": %s\n"
 msgstr "%s: не удалось записать %u байт в файл WAL \"%s\": %s\n"
 
-#: receivelog.c:1100
-#, c-format
-msgid "%s: unrecognized streaming header: \"%c\"\n"
-msgstr "%s: нераспознанный заголовок потока: \"%c\"\n"
-
-#: streamutil.c:135
+#: streamutil.c:142
 msgid "Password: "
 msgstr "Пароль: "
 
-#: streamutil.c:148
+#: streamutil.c:166
 #, c-format
 msgid "%s: could not connect to server\n"
 msgstr "%s: не удалось подключиться к серверу\n"
 
-#: streamutil.c:164
+#: streamutil.c:184
 #, c-format
 msgid "%s: could not connect to server: %s\n"
 msgstr "%s: не удалось подключиться к серверу: %s\n"
 
-#: streamutil.c:188
+#: streamutil.c:208
 #, c-format
 msgid "%s: could not determine server setting for integer_datetimes\n"
 msgstr "%s: не удалось получить настройку сервера integer_datetimes\n"
 
-#: streamutil.c:201
+#: streamutil.c:221
 #, c-format
 msgid "%s: integer_datetimes compile flag does not match server\n"
 msgstr ""
 "%s: флаг компиляции integer_datetimes не соответствует настройке сервера\n"
 
+#~ msgid "%s: could not create symbolic link \"%s\": %s"
+#~ msgstr "%s: не удалось создать символическую ссылку \"%s\": %s"
+
 #~ msgid "%s: could not parse transaction log file name \"%s\"\n"
 #~ msgstr "%s: не удалось разобрать имя файла журнала транзакций \"%s\"\n"
 
@@ -906,10 +1270,6 @@ msgstr ""
 #~ msgid "%s: could not identify system: %s\n"
 #~ msgstr "%s: не удалось идентифицировать систему: %s\n"
 
-#~ msgid "%s: could not parse log start position from value \"%s\"\n"
-#~ msgstr ""
-#~ "%s: не удалось получить начальную позицию в журнале из значения \"%s\"\n"
-
 #~ msgid "%s: could not open WAL segment %s: %s\n"
 #~ msgstr "%s: не удалось открыть сегмент WAL %s: %s\n"
 
index a689da799b92606c3b282a05a23ecd1aab2d776b..cc07554c166633bfe6e11536dd13fa28634958a3 100644 (file)
@@ -11,7 +11,8 @@
 # http://wiki.postgresql.org/wiki/NLS/ru/dict
 #
 # ChangeLog:
-#   - May 20, 2013: Alexander Lakhin <exclusion@gmail.com>.
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
+#     - With corrections from Dmitriy Olshevskiy <olshevskiy87@bk.ru>
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 2, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -27,18 +28,20 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-08-02 06:42+0000\n"
-"PO-Revision-Date: 2014-08-14 22:52+0400\n"
-"Last-Translator: Dmitriy Olshevskiy <olshevskiy87@bk.ru>\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-24 13:13+0400\n"
+"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Russian\n"
+"X-Poedit-Country: RUSSIAN FEDERATION\n"
 "X-Poedit-SourceCharset: utf-8\n"
 "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"
-"X-Generator: Poedit 1.6.7\n"
+"X-Generator: Lokalize 1.5\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -134,7 +137,7 @@ msgstr "%s: нет доступа к каталогу \"%s\": %s\n"
 #: pg_ctl.c:275
 #, c-format
 msgid "%s: directory \"%s\" is not a database cluster directory\n"
-msgstr "%s: ÐºÐ°Ñ\82алог \"%s\" Ð½Ðµ Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80ом Ð±Ð°Ð·Ñ\8b данных\n"
+msgstr "%s: ÐºÐ°Ñ\82алог \"%s\" Ð½Ðµ Ñ\81одеÑ\80жиÑ\82 Ñ\81Ñ\82Ñ\80Ñ\83кÑ\82Ñ\83Ñ\80Ñ\8b ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80а Ð±Ð°Ð· данных\n"
 
 #: pg_ctl.c:288
 #, c-format
@@ -695,10 +698,10 @@ msgstr "  -p ПУТЬ-К-POSTGRES     обычно не требуется\n"
 #, c-format
 msgid ""
 "\n"
-"Options for stop, restart, or promote:\n"
+"Options for stop or restart:\n"
 msgstr ""
 "\n"
-"Параметры остановки, перезапуска и повышения:\n"
+"Параметры остановки и перезапуска:\n"
 
 #: pg_ctl.c:1900
 #, c-format
@@ -872,23 +875,21 @@ msgstr ""
 "установлена\n"
 
 #~ msgid ""
-#~ "  fast        promote quickly without waiting for checkpoint completion\n"
+#~ "\n"
+#~ "Options for stop, restart, or promote:\n"
 #~ msgstr ""
-#~ "  fast        быстрое повышение, без ожидания завершения контрольной "
-#~ "точки\n"
+#~ "\n"
+#~ "Параметры остановки, перезапуска и повышения:\n"
 
-#~ msgid "  smart       promote after performing a checkpoint\n"
-#~ msgstr "  smart       повышение после выполнения контрольной точки\n"
+#~ msgid "%s: another server might be running\n"
+#~ msgstr "%s: возможно, работает другой сервер\n"
 
 #~ msgid ""
 #~ "\n"
-#~ "Promotion modes are:\n"
+#~ "Options for start or stop:\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Режимы повышения:\n"
-
-#~ msgid "  %s promote [-D DATADIR] [-s] [-m PROMOTION-MODE]\n"
-#~ msgstr "  %s promote [-D КАТАЛОГ-ДАННЫХ] [-s] [-m РЕЖИМ-ПОВЫШЕНИЯ]\n"
+#~ "Параметры запуска и остановки сервера:\n"
 
 #~ msgid ""
 #~ "  -I, --idempotent       don't error if server already running or "
@@ -897,12 +898,21 @@ msgstr ""
 #~ "  -I, --idempotent       не считать ошибкой, если он уже запущен или "
 #~ "остановлен\n"
 
+#~ msgid "  %s promote [-D DATADIR] [-s] [-m PROMOTION-MODE]\n"
+#~ msgstr "  %s promote [-D КАТАЛОГ-ДАННЫХ] [-s] [-m РЕЖИМ-ПОВЫШЕНИЯ]\n"
+
 #~ msgid ""
 #~ "\n"
-#~ "Options for start or stop:\n"
+#~ "Promotion modes are:\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Ð\9fаÑ\80амеÑ\82Ñ\80Ñ\8b Ð·Ð°Ð¿Ñ\83Ñ\81ка Ð¸ Ð¾Ñ\81Ñ\82ановки Ñ\81еÑ\80веÑ\80а:\n"
+#~ "РежимÑ\8b Ð¿Ð¾Ð²Ñ\8bÑ\88ениÑ\8f:\n"
 
-#~ msgid "%s: another server might be running\n"
-#~ msgstr "%s: возможно, работает другой сервер\n"
+#~ msgid "  smart       promote after performing a checkpoint\n"
+#~ msgstr "  smart       повышение после выполнения контрольной точки\n"
+
+#~ msgid ""
+#~ "  fast        promote quickly without waiting for checkpoint completion\n"
+#~ msgstr ""
+#~ "  fast        быстрое повышение, без ожидания завершения контрольной "
+#~ "точки\n"
index 84a33d70337c43299af3be812c62056794218e8c..827a4b9768f68f29f0341c7d96957e588a9c82ce 100644 (file)
@@ -7,6 +7,8 @@
 # $Id: pg_dump.po,v 1.2 2009/10/14 21:08:40 petere Exp $
 #
 # ChangeLog:
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
+#     - With corrections from Dmitriy Olshevskiy <olshevskiy87@bk.ru>
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 3, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -25,8 +27,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-04-02 01:49+0000\n"
-"PO-Revision-Date: 2014-04-02 09:52+0400\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-20 22:27+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
@@ -39,53 +41,88 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 1.5\n"
 
-#: ../../common/fe_memutils.c:33 ../../common/fe_memutils.c:60
-#: ../../common/fe_memutils.c:83 pg_backup_db.c:134 pg_backup_db.c:189
-#: pg_backup_db.c:233 pg_backup_db.c:279
-#, c-format
-msgid "out of memory\n"
-msgstr "нехватка памяти\n"
-
-#: ../../common/fe_memutils.c:77
-#, c-format
-msgid "cannot duplicate null pointer (internal error)\n"
-msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
-
-#: ../../port/exec.c:127 ../../port/exec.c:241 ../../port/exec.c:284
+#: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
 msgstr "не удалось определить текущий каталог: %s"
 
-#: ../../port/exec.c:146
+#: ../../common/exec.c:146
 #, c-format
 msgid "invalid binary \"%s\""
 msgstr "неверный исполняемый файл \"%s\""
 
-#: ../../port/exec.c:195
+#: ../../common/exec.c:195
 #, c-format
 msgid "could not read binary \"%s\""
 msgstr "не удалось прочитать исполняемый файл \"%s\""
 
-#: ../../port/exec.c:202
+#: ../../common/exec.c:202
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../../port/exec.c:257 ../../port/exec.c:293
+#: ../../common/exec.c:257 ../../common/exec.c:293
 #, c-format
 msgid "could not change directory to \"%s\": %s"
 msgstr "не удалось перейти в каталог \"%s\": %s"
 
-#: ../../port/exec.c:272
+#: ../../common/exec.c:272
 #, c-format
 msgid "could not read symbolic link \"%s\""
 msgstr "не удалось прочитать символическую ссылку \"%s\""
 
-#: ../../port/exec.c:523
+#: ../../common/exec.c:523
 #, c-format
 msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
+#: ../../common/fe_memutils.c:33 ../../common/fe_memutils.c:60
+#: ../../common/fe_memutils.c:83 pg_backup_db.c:134 pg_backup_db.c:189
+#: pg_backup_db.c:233 pg_backup_db.c:279
+#, c-format
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../../common/fe_memutils.c:77
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
+
+#: ../../common/wait_error.c:47
+#, c-format
+msgid "command not executable"
+msgstr "неисполняемая команда"
+
+#: ../../common/wait_error.c:51
+#, c-format
+msgid "command not found"
+msgstr "команда не найдена"
+
+#: ../../common/wait_error.c:56
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "дочерний процесс завершился с кодом возврата %d"
+
+#: ../../common/wait_error.c:63
+#, c-format
+msgid "child process was terminated by exception 0x%X"
+msgstr "дочерний процесс прерван исключением 0x%X"
+
+#: ../../common/wait_error.c:73
+#, c-format
+msgid "child process was terminated by signal %s"
+msgstr "дочерний процесс завершён по сигналу %s"
+
+#: ../../common/wait_error.c:77
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "дочерний процесс завершён по сигналу %d"
+
+#: ../../common/wait_error.c:82
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+
 #: common.c:105
 #, c-format
 msgid "reading schemas\n"
@@ -261,44 +298,49 @@ msgstr "compress_io"
 msgid "invalid compression code: %d\n"
 msgstr "неверный код сжатия: %d\n"
 
-#: compress_io.c:138 compress_io.c:174 compress_io.c:195 compress_io.c:528
-#: compress_io.c:555
+#: compress_io.c:138 compress_io.c:174 compress_io.c:195 compress_io.c:514
+#: compress_io.c:541
 #, c-format
 msgid "not built with zlib support\n"
 msgstr "программа собрана без поддержки zlib\n"
 
-#: compress_io.c:243 compress_io.c:352
+#: compress_io.c:245 compress_io.c:347
 #, c-format
 msgid "could not initialize compression library: %s\n"
 msgstr "не удалось инициализировать библиотеку сжатия: %s\n"
 
-#: compress_io.c:264
+#: compress_io.c:266
 #, c-format
 msgid "could not close compression stream: %s\n"
 msgstr "не удалось закрыть поток сжатых данных: %s\n"
 
-#: compress_io.c:282
+#: compress_io.c:284
 #, c-format
 msgid "could not compress data: %s\n"
 msgstr "не удалось сжать данные: %s\n"
 
-#: compress_io.c:303 compress_io.c:440 pg_backup_archiver.c:1441
-#: pg_backup_archiver.c:1464 pg_backup_custom.c:661 pg_backup_directory.c:542
-#: pg_backup_tar.c:598 pg_backup_tar.c:1087 pg_backup_tar.c:1308
-#, c-format
-msgid "could not write to output file: %s\n"
-msgstr "не удалось записать в выходной файл: %s\n"
-
-#: compress_io.c:372 compress_io.c:388
+#: compress_io.c:367 compress_io.c:383
 #, c-format
 msgid "could not uncompress data: %s\n"
 msgstr "не удалось распаковать данные: %s\n"
 
-#: compress_io.c:396
+#: compress_io.c:391
 #, c-format
 msgid "could not close compression library: %s\n"
 msgstr "не удалось закрыть библиотеку сжатия: %s\n"
 
+#: compress_io.c:575 compress_io.c:611 pg_backup_custom.c:590
+#: pg_backup_tar.c:563
+#, c-format
+msgid "could not read from input file: %s\n"
+msgstr "не удалось прочитать входной файл: %s\n"
+
+#: compress_io.c:614 pg_backup_custom.c:587 pg_backup_directory.c:551
+#: pg_backup_tar.c:799 pg_backup_tar.c:823
+#, c-format
+msgid "could not read from input file: end of file\n"
+msgstr "не удалось прочитать входной файл: конец файла\n"
+
 #: parallel.c:77
 msgid "parallel archiver"
 msgstr "параллельный архиватор"
@@ -318,17 +360,17 @@ msgstr "рабочий процесс прерывается\n"
 msgid "could not create communication channels: %s\n"
 msgstr "не удалось создать каналы межпроцессного взаимодействия: %s\n"
 
-#: parallel.c:605
+#: parallel.c:608
 #, c-format
 msgid "could not create worker process: %s\n"
 msgstr "не удалось создать рабочий процесс: %s\n"
 
-#: parallel.c:822
+#: parallel.c:825
 #, c-format
 msgid "could not get relation name for OID %u: %s\n"
 msgstr "не удалось получить имя отношения с OID %u: %s\n"
 
-#: parallel.c:839
+#: parallel.c:842
 #, c-format
 msgid ""
 "could not obtain lock on relation \"%s\"\n"
@@ -341,77 +383,77 @@ msgstr ""
 "этой таблицы после того, как родительский процесс pg_dump получил для неё "
 "начальную блокировку ACCESS SHARE.\n"
 
-#: parallel.c:923
+#: parallel.c:926
 #, c-format
 msgid "unrecognized command on communication channel: %s\n"
 msgstr "Неизвестная команда в канале взаимодействия: %s\n"
 
-#: parallel.c:956
+#: parallel.c:959
 #, c-format
 msgid "a worker process died unexpectedly\n"
 msgstr "рабочий процесс неожиданно прекратился\n"
 
-#: parallel.c:983 parallel.c:992
+#: parallel.c:986 parallel.c:995
 #, c-format
 msgid "invalid message received from worker: %s\n"
 msgstr "от рабочего процесса получено ошибочное сообщение: %s\n"
 
-#: parallel.c:989 pg_backup_db.c:336
+#: parallel.c:992 pg_backup_db.c:336
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: parallel.c:1041 parallel.c:1085
+#: parallel.c:1044 parallel.c:1088
 #, c-format
 msgid "error processing a parallel work item\n"
 msgstr "ошибка выполнения части параллельной работы\n"
 
-#: parallel.c:1113 parallel.c:1251
+#: parallel.c:1116 parallel.c:1254
 #, c-format
 msgid "could not write to the communication channel: %s\n"
 msgstr "не удалось записать в канал взаимодействия: %s\n"
 
-#: parallel.c:1162
+#: parallel.c:1165
 #, c-format
 msgid "terminated by user\n"
 msgstr "прервано пользователем\n"
 
-#: parallel.c:1214
+#: parallel.c:1217
 #, c-format
 msgid "error in ListenToWorkers(): %s\n"
 msgstr "ошибка в ListenToWorkers(): %s\n"
 
-#: parallel.c:1333
+#: parallel.c:1341
 #, c-format
 msgid "pgpipe: could not create socket: error code %d\n"
 msgstr "pgpipe: не удалось создать сокет (код ошибки %d)\n"
 
-#: parallel.c:1344
+#: parallel.c:1352
 #, c-format
 msgid "pgpipe: could not bind: error code %d\n"
 msgstr "pgpipe: не удалось привязаться к сокету (код ошибки %d)\n"
 
-#: parallel.c:1351
+#: parallel.c:1359
 #, c-format
 msgid "pgpipe: could not listen: error code %d\n"
 msgstr "pgpipe: не удалось начать приём (код ошибки %d)\n"
 
-#: parallel.c:1358
+#: parallel.c:1366
 #, c-format
 msgid "pgpipe: getsockname() failed: error code %d\n"
 msgstr "pgpipe: ошибка в getsockname() (код ошибки %d)\n"
 
-#: parallel.c:1365
+#: parallel.c:1377
 #, c-format
 msgid "pgpipe: could not create second socket: error code %d\n"
 msgstr "pgpipe: не удалось создать второй сокет (код ошибки %d)\n"
 
-#: parallel.c:1373
+#: parallel.c:1386
 #, c-format
 msgid "pgpipe: could not connect socket: error code %d\n"
 msgstr "pgpipe: не удалось подключить сокет (код ошибки %d)\n"
 
-#: parallel.c:1380
+#: parallel.c:1393
 #, c-format
 msgid "pgpipe: could not accept connection: error code %d\n"
 msgstr "pgpipe: не удалось принять соединение (код ошибки: %d)\n"
@@ -421,7 +463,7 @@ msgstr "pgpipe: не удалось принять соединение (код
 msgid "archiver"
 msgstr "архиватор"
 
-#: pg_backup_archiver.c:169 pg_backup_archiver.c:1304
+#: pg_backup_archiver.c:169 pg_backup_archiver.c:1386
 #, c-format
 msgid "could not close output file: %s\n"
 msgstr "не удалось закрыть выходной файл: %s\n"
@@ -488,52 +530,52 @@ msgstr "подразумевается восстановление только
 msgid "dropping %s %s\n"
 msgstr "удаляется %s %s\n"
 
-#: pg_backup_archiver.c:479
+#: pg_backup_archiver.c:548
 #, c-format
 msgid "setting owner and privileges for %s %s\n"
 msgstr "установка владельца и прав: %s %s\n"
 
-#: pg_backup_archiver.c:545 pg_backup_archiver.c:547
+#: pg_backup_archiver.c:614 pg_backup_archiver.c:616
 #, c-format
 msgid "warning from original dump file: %s\n"
 msgstr "предупреждение из исходного файла: %s\n"
 
-#: pg_backup_archiver.c:554
+#: pg_backup_archiver.c:623
 #, c-format
 msgid "creating %s %s\n"
 msgstr "создаётся %s %s\n"
 
-#: pg_backup_archiver.c:598
+#: pg_backup_archiver.c:667
 #, c-format
 msgid "connecting to new database \"%s\"\n"
 msgstr "подключение к новой базе данных \"%s\"\n"
 
-#: pg_backup_archiver.c:626
+#: pg_backup_archiver.c:695
 #, c-format
 msgid "processing %s\n"
 msgstr "обрабатывается %s\n"
 
-#: pg_backup_archiver.c:640
+#: pg_backup_archiver.c:715
 #, c-format
 msgid "processing data for table \"%s\"\n"
 msgstr "обрабатываются данные таблицы \"%s\"\n"
 
-#: pg_backup_archiver.c:702
+#: pg_backup_archiver.c:777
 #, c-format
 msgid "executing %s %s\n"
 msgstr "выполняется %s %s\n"
 
-#: pg_backup_archiver.c:739
+#: pg_backup_archiver.c:814
 #, c-format
 msgid "disabling triggers for %s\n"
 msgstr "отключаются триггеры таблицы %s\n"
 
-#: pg_backup_archiver.c:765
+#: pg_backup_archiver.c:840
 #, c-format
 msgid "enabling triggers for %s\n"
 msgstr "включаются триггеры таблицы %s\n"
 
-#: pg_backup_archiver.c:795
+#: pg_backup_archiver.c:870
 #, c-format
 msgid ""
 "internal error -- WriteData cannot be called outside the context of a "
@@ -542,12 +584,12 @@ msgstr ""
 "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры "
 "DataDumper\n"
 
-#: pg_backup_archiver.c:952
+#: pg_backup_archiver.c:1029
 #, c-format
 msgid "large-object output not supported in chosen format\n"
 msgstr "выбранный формат не поддерживает выгрузку больших объектов\n"
 
-#: pg_backup_archiver.c:1006
+#: pg_backup_archiver.c:1083
 #, c-format
 msgid "restored %d large object\n"
 msgid_plural "restored %d large objects\n"
@@ -555,55 +597,55 @@ msgstr[0] "восстановлен %d большой объект\n"
 msgstr[1] "восстановлено %d больших объекта\n"
 msgstr[2] "восстановлено %d больших объектов\n"
 
-#: pg_backup_archiver.c:1027 pg_backup_tar.c:731
+#: pg_backup_archiver.c:1104 pg_backup_tar.c:741
 #, c-format
 msgid "restoring large object with OID %u\n"
 msgstr "восстановление большого объекта с OID %u\n"
 
-#: pg_backup_archiver.c:1039
+#: pg_backup_archiver.c:1116
 #, c-format
 msgid "could not create large object %u: %s"
 msgstr "не удалось создать большой объект %u: %s"
 
-#: pg_backup_archiver.c:1044 pg_dump.c:2662
+#: pg_backup_archiver.c:1121 pg_dump.c:2732
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "не удалось открыть большой объект %u: %s"
 
-#: pg_backup_archiver.c:1101
+#: pg_backup_archiver.c:1178
 #, c-format
 msgid "could not open TOC file \"%s\": %s\n"
 msgstr "не удалось открыть файл оглавления \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1142
+#: pg_backup_archiver.c:1219
 #, c-format
 msgid "WARNING: line ignored: %s\n"
 msgstr "ВНИМАНИЕ: строка проигнорирована: %s\n"
 
-#: pg_backup_archiver.c:1149
+#: pg_backup_archiver.c:1226
 #, c-format
 msgid "could not find entry for ID %d\n"
 msgstr "не найдена запись для ID %d\n"
 
-#: pg_backup_archiver.c:1170 pg_backup_directory.c:235
-#: pg_backup_directory.c:608
+#: pg_backup_archiver.c:1247 pg_backup_directory.c:229
+#: pg_backup_directory.c:600
 #, c-format
 msgid "could not close TOC file: %s\n"
 msgstr "не удалось закрыть файл оглавления: %s\n"
 
-#: pg_backup_archiver.c:1274 pg_backup_custom.c:161 pg_backup_directory.c:346
-#: pg_backup_directory.c:594 pg_backup_directory.c:652
-#: pg_backup_directory.c:672
+#: pg_backup_archiver.c:1356 pg_backup_custom.c:161 pg_backup_directory.c:340
+#: pg_backup_directory.c:586 pg_backup_directory.c:644
+#: pg_backup_directory.c:664
 #, c-format
 msgid "could not open output file \"%s\": %s\n"
 msgstr "не удалось открыть выходной файл \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1277 pg_backup_custom.c:168
+#: pg_backup_archiver.c:1359 pg_backup_custom.c:168
 #, c-format
 msgid "could not open output file: %s\n"
 msgstr "не удалось открыть выходной файл: %s\n"
 
-#: pg_backup_archiver.c:1377
+#: pg_backup_archiver.c:1463
 #, c-format
 msgid "wrote %lu byte of large object data (result = %lu)\n"
 msgid_plural "wrote %lu bytes of large object data (result = %lu)\n"
@@ -611,182 +653,171 @@ msgstr[0] "записан %lu байт данных большого объек
 msgstr[1] "записано %lu байта данных большого объекта (результат = %lu)\n"
 msgstr[2] "записано %lu байт данных большого объекта (результат = %lu)\n"
 
-#: pg_backup_archiver.c:1383
+#: pg_backup_archiver.c:1469
 #, c-format
 msgid "could not write to large object (result: %lu, expected: %lu)\n"
 msgstr "не удалось записать большой объект (результат: %lu, ожидалось: %lu)\n"
 
-#: pg_backup_archiver.c:1449
-#, c-format
-msgid "could not write to custom output routine\n"
-msgstr "не удалось вывести данную в пользовательскую процедуру\n"
-
-#: pg_backup_archiver.c:1487
+#: pg_backup_archiver.c:1562
 #, c-format
 msgid "Error while INITIALIZING:\n"
 msgstr "Ошибка при инициализации:\n"
 
-#: pg_backup_archiver.c:1492
+#: pg_backup_archiver.c:1567
 #, c-format
 msgid "Error while PROCESSING TOC:\n"
 msgstr "Ошибка при обработке оглавления:\n"
 
-#: pg_backup_archiver.c:1497
+#: pg_backup_archiver.c:1572
 #, c-format
 msgid "Error while FINALIZING:\n"
 msgstr "Ошибка при завершении:\n"
 
-#: pg_backup_archiver.c:1502
+#: pg_backup_archiver.c:1577
 #, c-format
 msgid "Error from TOC entry %d; %u %u %s %s %s\n"
 msgstr "Ошибка из записи оглавления %d; %u %u %s %s %s\n"
 
-#: pg_backup_archiver.c:1575
+#: pg_backup_archiver.c:1650
 #, c-format
 msgid "bad dumpId\n"
 msgstr "неверный dumpId\n"
 
-#: pg_backup_archiver.c:1596
+#: pg_backup_archiver.c:1671
 #, c-format
 msgid "bad table dumpId for TABLE DATA item\n"
 msgstr "неверный dumpId таблицы в элементе TABLE DATA\n"
 
-#: pg_backup_archiver.c:1688
+#: pg_backup_archiver.c:1763
 #, c-format
 msgid "unexpected data offset flag %d\n"
 msgstr "неожиданный флаг смещения данных: %d\n"
 
-#: pg_backup_archiver.c:1701
+#: pg_backup_archiver.c:1776
 #, c-format
 msgid "file offset in dump file is too large\n"
 msgstr "слишком большое смещение в файле вывода\n"
 
-#: pg_backup_archiver.c:1795 pg_backup_archiver.c:3251 pg_backup_custom.c:639
-#: pg_backup_directory.c:522 pg_backup_tar.c:787
-#, c-format
-msgid "unexpected end of file\n"
-msgstr "неожиданный конец файла\n"
-
-#: pg_backup_archiver.c:1812
+#: pg_backup_archiver.c:1889
 #, c-format
 msgid "attempting to ascertain archive format\n"
 msgstr "попытка выяснить формат архива\n"
 
-#: pg_backup_archiver.c:1838 pg_backup_archiver.c:1848
+#: pg_backup_archiver.c:1915 pg_backup_archiver.c:1925
 #, c-format
 msgid "directory name too long: \"%s\"\n"
 msgstr "слишком длинное имя каталога: \"%s\"\n"
 
-#: pg_backup_archiver.c:1856
+#: pg_backup_archiver.c:1933
 #, c-format
 msgid ""
 "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not "
 "exist)\n"
 msgstr "каталог \"%s\" не похож на архивный (в нём отсутствует \"toc.dat\")\n"
 
-#: pg_backup_archiver.c:1864 pg_backup_custom.c:180 pg_backup_custom.c:771
-#: pg_backup_directory.c:219 pg_backup_directory.c:407
+#: pg_backup_archiver.c:1941 pg_backup_custom.c:180 pg_backup_custom.c:769
+#: pg_backup_directory.c:213 pg_backup_directory.c:401
 #, c-format
 msgid "could not open input file \"%s\": %s\n"
 msgstr "не удалось открыть входной файл \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1872 pg_backup_custom.c:187
+#: pg_backup_archiver.c:1949 pg_backup_custom.c:187
 #, c-format
 msgid "could not open input file: %s\n"
 msgstr "не удалось открыть входной файл: %s\n"
 
-#: pg_backup_archiver.c:1881
+#: pg_backup_archiver.c:1956
 #, c-format
 msgid "could not read input file: %s\n"
 msgstr "не удалось прочитать входной файл: %s\n"
 
-#: pg_backup_archiver.c:1883
+#: pg_backup_archiver.c:1958
 #, c-format
 msgid "input file is too short (read %lu, expected 5)\n"
 msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)\n"
 
-#: pg_backup_archiver.c:1948
+#: pg_backup_archiver.c:2041
 #, c-format
 msgid "input file appears to be a text format dump. Please use psql.\n"
 msgstr ""
 "входной файл похоже имеет текстовый формат. Загрузите его с помощью psql.\n"
 
-#: pg_backup_archiver.c:1952
+#: pg_backup_archiver.c:2047
 #, c-format
 msgid "input file does not appear to be a valid archive (too short?)\n"
 msgstr "входной файл не похож на архив (возможно, слишком мал?)\n"
 
-#: pg_backup_archiver.c:1955
+#: pg_backup_archiver.c:2053
 #, c-format
 msgid "input file does not appear to be a valid archive\n"
 msgstr "входной файл не похож на архив\n"
 
-#: pg_backup_archiver.c:1975
+#: pg_backup_archiver.c:2073
 #, c-format
 msgid "could not close input file: %s\n"
 msgstr "не удалось закрыть входной файл: %s\n"
 
-#: pg_backup_archiver.c:1992
+#: pg_backup_archiver.c:2090
 #, c-format
 msgid "allocating AH for %s, format %d\n"
 msgstr "выделение структуры AH для %s, формат %d\n"
 
-#: pg_backup_archiver.c:2097
+#: pg_backup_archiver.c:2195
 #, c-format
 msgid "unrecognized file format \"%d\"\n"
 msgstr "неопознанный формат файла: \"%d\"\n"
 
-#: pg_backup_archiver.c:2247
+#: pg_backup_archiver.c:2345
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC\n"
 msgstr "ID записи %d вне диапазона - возможно повреждено оглавление\n"
 
-#: pg_backup_archiver.c:2363
+#: pg_backup_archiver.c:2461
 #, c-format
 msgid "read TOC entry %d (ID %d) for %s %s\n"
 msgstr "прочитана запись оглавления %d (ID %d): %s %s\n"
 
-#: pg_backup_archiver.c:2397
+#: pg_backup_archiver.c:2495
 #, c-format
 msgid "unrecognized encoding \"%s\"\n"
 msgstr "нераспознанная кодировка \"%s\"\n"
 
-#: pg_backup_archiver.c:2402
+#: pg_backup_archiver.c:2500
 #, c-format
 msgid "invalid ENCODING item: %s\n"
 msgstr "неверный элемент ENCODING: %s\n"
 
-#: pg_backup_archiver.c:2420
+#: pg_backup_archiver.c:2518
 #, c-format
 msgid "invalid STDSTRINGS item: %s\n"
 msgstr "неверный элемент STDSTRINGS: %s\n"
 
-#: pg_backup_archiver.c:2637
+#: pg_backup_archiver.c:2735
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "не удалось переключить пользователя сессии на \"%s\": %s"
 
-#: pg_backup_archiver.c:2669
+#: pg_backup_archiver.c:2767
 #, c-format
 msgid "could not set default_with_oids: %s"
 msgstr "не удалось установить параметр default_with_oids: %s"
 
-#: pg_backup_archiver.c:2807
+#: pg_backup_archiver.c:2905
 #, c-format
 msgid "could not set search_path to \"%s\": %s"
 msgstr "не удалось присвоить search_path значение \"%s\": %s"
 
-#: pg_backup_archiver.c:2868
+#: pg_backup_archiver.c:2966
 #, c-format
 msgid "could not set default_tablespace to %s: %s"
 msgstr "не удалось задать для default_tablespace значение %s: %s"
 
-#: pg_backup_archiver.c:2978 pg_backup_archiver.c:3161
+#: pg_backup_archiver.c:3053 pg_backup_archiver.c:3236
 #, c-format
 msgid "WARNING: don't know how to set owner for object type %s\n"
 msgstr "ВНИМАНИЕ: неизвестно, как назначить владельца для объекта типа %s\n"
 
-#: pg_backup_archiver.c:3214
+#: pg_backup_archiver.c:3289
 #, c-format
 msgid ""
 "WARNING: requested compression not available in this installation -- archive "
@@ -795,22 +826,22 @@ msgstr ""
 "ВНИМАНИЕ: установленная версия программы не поддерживает сжатие -- архив не "
 "будет сжиматься\n"
 
-#: pg_backup_archiver.c:3254
+#: pg_backup_archiver.c:3328
 #, c-format
 msgid "did not find magic string in file header\n"
 msgstr "в файле заголовка не найдена магическая строка\n"
 
-#: pg_backup_archiver.c:3267
+#: pg_backup_archiver.c:3341
 #, c-format
 msgid "unsupported version (%d.%d) in file header\n"
 msgstr "неподдерживаемая версия (%d.%d) в заголовке файла\n"
 
-#: pg_backup_archiver.c:3272
+#: pg_backup_archiver.c:3346
 #, c-format
 msgid "sanity check on integer size (%lu) failed\n"
 msgstr "несоответствие размера integer (%lu)\n"
 
-#: pg_backup_archiver.c:3276
+#: pg_backup_archiver.c:3350
 #, c-format
 msgid ""
 "WARNING: archive was made on a machine with larger integers, some operations "
@@ -819,12 +850,12 @@ msgstr ""
 "ВНИМАНИЕ: архив был сделан на компьютере большей разрядности -- возможен "
 "сбой некоторых операций\n"
 
-#: pg_backup_archiver.c:3286
+#: pg_backup_archiver.c:3360
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)\n"
 msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)\n"
 
-#: pg_backup_archiver.c:3302
+#: pg_backup_archiver.c:3376
 #, c-format
 msgid ""
 "WARNING: archive is compressed, but this installation does not support "
@@ -833,87 +864,87 @@ msgstr ""
 "ВНИМАНИЕ: архив сжат, но установленная версия не поддерживает сжатие -- "
 "данные недоступны\n"
 
-#: pg_backup_archiver.c:3320
+#: pg_backup_archiver.c:3394
 #, c-format
 msgid "WARNING: invalid creation date in header\n"
 msgstr "ВНИМАНИЕ: неверная дата создания в заголовке\n"
 
-#: pg_backup_archiver.c:3409
+#: pg_backup_archiver.c:3482
 #, c-format
 msgid "entering restore_toc_entries_prefork\n"
 msgstr "вход в restore_toc_entries_prefork\n"
 
-#: pg_backup_archiver.c:3453
+#: pg_backup_archiver.c:3526
 #, c-format
 msgid "processing item %d %s %s\n"
 msgstr "обработка объекта %d %s %s\n"
 
-#: pg_backup_archiver.c:3505
+#: pg_backup_archiver.c:3578
 #, c-format
 msgid "entering restore_toc_entries_parallel\n"
 msgstr "вход в restore_toc_entries_parallel\n"
 
-#: pg_backup_archiver.c:3553
+#: pg_backup_archiver.c:3626
 #, c-format
 msgid "entering main parallel loop\n"
 msgstr "вход в основной параллельный цикл\n"
 
-#: pg_backup_archiver.c:3564
+#: pg_backup_archiver.c:3637
 #, c-format
 msgid "skipping item %d %s %s\n"
 msgstr "объект %d %s %s пропускается\n"
 
-#: pg_backup_archiver.c:3574
+#: pg_backup_archiver.c:3647
 #, c-format
 msgid "launching item %d %s %s\n"
 msgstr "объект %d %s %s запускается\n"
 
-#: pg_backup_archiver.c:3632
+#: pg_backup_archiver.c:3705
 #, c-format
 msgid "finished main parallel loop\n"
 msgstr "основной параллельный цикл закончен\n"
 
-#: pg_backup_archiver.c:3641
+#: pg_backup_archiver.c:3714
 #, c-format
 msgid "entering restore_toc_entries_postfork\n"
 msgstr "вход в restore_toc_entries_postfork\n"
 
-#: pg_backup_archiver.c:3659
+#: pg_backup_archiver.c:3732
 #, c-format
 msgid "processing missed item %d %s %s\n"
 msgstr "обработка пропущенного объекта %d %s %s\n"
 
-#: pg_backup_archiver.c:3808
+#: pg_backup_archiver.c:3881
 #, c-format
 msgid "no item ready\n"
 msgstr "элемент не готов\n"
 
-#: pg_backup_archiver.c:3858
+#: pg_backup_archiver.c:3931
 #, c-format
 msgid "could not find slot of finished worker\n"
 msgstr "не удалось найти слот законченного рабочего объекта\n"
 
-#: pg_backup_archiver.c:3860
+#: pg_backup_archiver.c:3933
 #, c-format
 msgid "finished item %d %s %s\n"
 msgstr "закончен объект %d %s %s\n"
 
-#: pg_backup_archiver.c:3873
+#: pg_backup_archiver.c:3946
 #, c-format
 msgid "worker process failed: exit code %d\n"
 msgstr "рабочий процесс завершился с кодом возврата %d\n"
 
-#: pg_backup_archiver.c:4035
+#: pg_backup_archiver.c:4108
 #, c-format
 msgid "transferring dependency %d -> %d to %d\n"
 msgstr "переключение зависимости %d -> %d на %d\n"
 
-#: pg_backup_archiver.c:4104
+#: pg_backup_archiver.c:4177
 #, c-format
 msgid "reducing dependencies for %d\n"
 msgstr "уменьшение зависимостей для %d\n"
 
-#: pg_backup_archiver.c:4143
+#: pg_backup_archiver.c:4216
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data\n"
 msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены\n"
@@ -923,22 +954,22 @@ msgstr "создать таблицу \"%s\" не удалось, её данн
 msgid "custom archiver"
 msgstr "внешний архиватор"
 
-#: pg_backup_custom.c:382 pg_backup_null.c:152
+#: pg_backup_custom.c:383 pg_backup_null.c:151
 #, c-format
 msgid "invalid OID for large object\n"
 msgstr "неверный OID большого объекта\n"
 
-#: pg_backup_custom.c:453
+#: pg_backup_custom.c:454
 #, c-format
 msgid "unrecognized data block type (%d) while searching archive\n"
 msgstr "нераспознанный тип блока данных (%d) при поиске архива\n"
 
-#: pg_backup_custom.c:464
+#: pg_backup_custom.c:465
 #, c-format
 msgid "error during file seek: %s\n"
 msgstr "ошибка при перемещении в файле: %s\n"
 
-#: pg_backup_custom.c:474
+#: pg_backup_custom.c:475
 #, c-format
 msgid ""
 "could not find block ID %d in archive -- possibly due to out-of-order "
@@ -949,7 +980,7 @@ msgstr ""
 "последовательного запроса восстановления, который нельзя обработать из-за "
 "отсутствия смещений данных в архиве\n"
 
-#: pg_backup_custom.c:479
+#: pg_backup_custom.c:480
 #, c-format
 msgid ""
 "could not find block ID %d in archive -- possibly due to out-of-order "
@@ -959,73 +990,59 @@ msgstr ""
 "последовательного запроса восстановления, который нельзя обработать с "
 "файлом, не допускающим произвольный доступ\n"
 
-#: pg_backup_custom.c:484
+#: pg_backup_custom.c:485
 #, c-format
 msgid "could not find block ID %d in archive -- possibly corrupt archive\n"
 msgstr "не удалось найти в архиве блок с ID %d -- возможно, архив испорчен\n"
 
-#: pg_backup_custom.c:491
+#: pg_backup_custom.c:492
 #, c-format
 msgid "found unexpected block ID (%d) when reading data -- expected %d\n"
 msgstr "при чтении данных получен неожиданный ID блока (%d) -- ожидался: %d\n"
 
-#: pg_backup_custom.c:505
+#: pg_backup_custom.c:506
 #, c-format
 msgid "unrecognized data block type %d while restoring archive\n"
 msgstr "нераспознанный тип блока данных %d при восстановлении архива\n"
 
-#: pg_backup_custom.c:587 pg_backup_custom.c:995
-#, c-format
-msgid "could not read from input file: end of file\n"
-msgstr "не удалось прочитать входной файл: конец файла\n"
-
-#: pg_backup_custom.c:590 pg_backup_custom.c:998
-#, c-format
-msgid "could not read from input file: %s\n"
-msgstr "не удалось прочитать входной файл: %s\n"
-
-#: pg_backup_custom.c:619
+#: pg_backup_custom.c:708 pg_backup_custom.c:758 pg_backup_custom.c:907
+#: pg_backup_tar.c:1086
 #, c-format
-msgid "could not write byte: %s\n"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð±Ð°Ð¹Ñ\82: %s\n"
+msgid "could not determine seek position in archive file: %s\n"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ð¿Ñ\80еделиÑ\82Ñ\8c Ð¿Ð¾Ð·Ð¸Ñ\86иÑ\8e Ð² Ñ\84айле Ð°Ñ\80Ñ\85ива: %s\n"
 
-#: pg_backup_custom.c:727 pg_backup_custom.c:765
+#: pg_backup_custom.c:726 pg_backup_custom.c:763
 #, c-format
 msgid "could not close archive file: %s\n"
 msgstr "не удалось закрыть файл архива: %s\n"
 
-#: pg_backup_custom.c:746
+#: pg_backup_custom.c:745
 #, c-format
 msgid "can only reopen input archives\n"
 msgstr "повторно открыть можно только входные файлы\n"
 
-#: pg_backup_custom.c:753
+#: pg_backup_custom.c:752
 #, c-format
 msgid "parallel restore from standard input is not supported\n"
 msgstr "параллельное восстановление из стандартного ввода не поддерживается\n"
 
-#: pg_backup_custom.c:755
+#: pg_backup_custom.c:754
 #, c-format
 msgid "parallel restore from non-seekable file is not supported\n"
 msgstr ""
 "параллельное восстановление возможно только с файлом произвольного доступа\n"
 
-#: pg_backup_custom.c:760
-#, c-format
-msgid "could not determine seek position in archive file: %s\n"
-msgstr "не удалось определить позицию в файле архива: %s\n"
-
-#: pg_backup_custom.c:775
+#: pg_backup_custom.c:773
 #, c-format
 msgid "could not set seek position in archive file: %s\n"
 msgstr "не удалось задать текущую позицию в файле архива: %s\n"
 
-#: pg_backup_custom.c:793
+#: pg_backup_custom.c:791
 #, c-format
 msgid "compressor active\n"
 msgstr "сжатие активно\n"
 
-#: pg_backup_custom.c:903
+#: pg_backup_custom.c:911
 #, c-format
 msgid "WARNING: ftell mismatch with expected position -- ftell used\n"
 msgstr ""
@@ -1041,12 +1058,12 @@ msgstr "архиватор (БД)"
 msgid "could not get server_version from libpq\n"
 msgstr "не удалось получить версию сервера из libpq\n"
 
-#: pg_backup_db.c:54 pg_dumpall.c:1910
+#: pg_backup_db.c:54 pg_dumpall.c:1933
 #, c-format
 msgid "server version: %s; %s version: %s\n"
 msgstr "версия сервера: %s; версия %s: %s\n"
 
-#: pg_backup_db.c:56 pg_dumpall.c:1912
+#: pg_backup_db.c:56 pg_dumpall.c:1935
 #, c-format
 msgid "aborting because of server version mismatch\n"
 msgstr "продолжение работы с другой версией сервера невозможно\n"
@@ -1057,7 +1074,7 @@ msgid "connecting to database \"%s\" as user \"%s\"\n"
 msgstr "подключение к базе \"%s\" с именем пользователя \"%s\"\n"
 
 #: pg_backup_db.c:132 pg_backup_db.c:184 pg_backup_db.c:231 pg_backup_db.c:277
-#: pg_dumpall.c:1740 pg_dumpall.c:1848
+#: pg_dumpall.c:1763 pg_dumpall.c:1871
 msgid "Password: "
 msgstr "Пароль: "
 
@@ -1106,30 +1123,30 @@ msgstr "запрос: %s\n"
 msgid "%s: %s    Command was: %s\n"
 msgstr "%s: %s    Выполнялась команда: %s\n"
 
-#: pg_backup_db.c:460 pg_backup_db.c:531 pg_backup_db.c:538
+#: pg_backup_db.c:465 pg_backup_db.c:537 pg_backup_db.c:544
 msgid "could not execute query"
 msgstr "не удалось выполнить запрос"
 
-#: pg_backup_db.c:511
+#: pg_backup_db.c:516
 #, c-format
 msgid "error returned by PQputCopyData: %s"
 msgstr "ошибка в PQputCopyData: %s"
 
-#: pg_backup_db.c:557
+#: pg_backup_db.c:563
 #, c-format
 msgid "error returned by PQputCopyEnd: %s"
 msgstr "ошибка в PQputCopyEnd: %s"
 
-#: pg_backup_db.c:563
+#: pg_backup_db.c:569
 #, c-format
 msgid "COPY failed for table \"%s\": %s"
 msgstr "сбой команды COPY для таблицы \"%s\": %s"
 
-#: pg_backup_db.c:574
+#: pg_backup_db.c:580
 msgid "could not start database transaction"
 msgstr "не удаётся начать транзакцию"
 
-#: pg_backup_db.c:580
+#: pg_backup_db.c:586
 msgid "could not commit database transaction"
 msgstr "не удалось зафиксировать транзакцию"
 
@@ -1143,68 +1160,63 @@ msgstr "каталоговый архиватор"
 msgid "no output directory specified\n"
 msgstr "выходной каталог не указан\n"
 
-#: pg_backup_directory.c:196
+#: pg_backup_directory.c:190
 #, c-format
 msgid "could not read directory \"%s\": %s\n"
 msgstr "не удалось прочитать каталог \"%s\": %s\n"
 
-#: pg_backup_directory.c:200
+#: pg_backup_directory.c:194
 #, c-format
 msgid "could not close directory \"%s\": %s\n"
 msgstr "не удалось закрыть каталог \"%s\": %s\n"
 
-#: pg_backup_directory.c:206
+#: pg_backup_directory.c:200
 #, c-format
 msgid "could not create directory \"%s\": %s\n"
 msgstr "создать каталог \"%s\" не удалось: %s\n"
 
-#: pg_backup_directory.c:418
+#: pg_backup_directory.c:412
 #, c-format
 msgid "could not close data file: %s\n"
 msgstr "не удалось закрыть файл данных: %s\n"
 
-#: pg_backup_directory.c:459
+#: pg_backup_directory.c:453
 #, c-format
 msgid "could not open large object TOC file \"%s\" for input: %s\n"
 msgstr ""
 "не удалось открыть для чтения файл оглавления больших объектов \"%s\": %s\n"
 
-#: pg_backup_directory.c:469
+#: pg_backup_directory.c:464
 #, c-format
 msgid "invalid line in large object TOC file \"%s\": \"%s\"\n"
 msgstr "неверная строка в файле оглавления больших объектов \"%s\": \"%s\"\n"
 
-#: pg_backup_directory.c:478
+#: pg_backup_directory.c:473
 #, c-format
 msgid "error reading large object TOC file \"%s\"\n"
 msgstr "ошибка чтения файла оглавления больших объектов \"%s\"\n"
 
-#: pg_backup_directory.c:482
+#: pg_backup_directory.c:477
 #, c-format
 msgid "could not close large object TOC file \"%s\": %s\n"
 msgstr "не удалось закрыть файл оглавления больших объектов \"%s\": %s\n"
 
-#: pg_backup_directory.c:503
-#, c-format
-msgid "could not write byte\n"
-msgstr "не удалось записать байт\n"
-
-#: pg_backup_directory.c:695
+#: pg_backup_directory.c:687
 #, c-format
 msgid "could not write to blobs TOC file\n"
 msgstr "не удалось записать в файл оглавления больших объектов\n"
 
-#: pg_backup_directory.c:727
+#: pg_backup_directory.c:719
 #, c-format
 msgid "file name too long: \"%s\"\n"
 msgstr "слишком длинное имя файла: \"%s\"\n"
 
-#: pg_backup_directory.c:813
+#: pg_backup_directory.c:805
 #, c-format
 msgid "error during backup\n"
 msgstr "ошибка в процессе резервного копирования\n"
 
-#: pg_backup_null.c:77
+#: pg_backup_null.c:76
 #, c-format
 msgid "this format cannot be read\n"
 msgstr "этот формат нельзя прочитать\n"
@@ -1259,67 +1271,57 @@ msgstr "не удалось открыть временный файл\n"
 msgid "could not close tar member\n"
 msgstr "не удалось закрыть компонент tar-архива\n"
 
-#: pg_backup_tar.c:560
+#: pg_backup_tar.c:573
 #, c-format
 msgid "internal error -- neither th nor fh specified in tarReadRaw()\n"
 msgstr "внутренняя ошибка -- в tarReadRaw() не указан ни th, ни fh\n"
 
-#: pg_backup_tar.c:686
+#: pg_backup_tar.c:696
 #, c-format
 msgid "unexpected COPY statement syntax: \"%s\"\n"
 msgstr "недопустимый синтаксис оператора COPY: \"%s\"\n"
 
-#: pg_backup_tar.c:889
-#, c-format
-msgid "could not write null block at end of tar archive\n"
-msgstr "не удалось записать нулевой блок в конец tar-архива\n"
-
-#: pg_backup_tar.c:944
+#: pg_backup_tar.c:958
 #, c-format
 msgid "invalid OID for large object (%u)\n"
 msgstr "неверный OID для большого объекта (%u)\n"
 
-#: pg_backup_tar.c:1078
+#: pg_backup_tar.c:1095
 #, c-format
 msgid "archive member too large for tar format\n"
 msgstr "компонент архива слишком велик для формата tar\n"
 
-#: pg_backup_tar.c:1093
+#: pg_backup_tar.c:1109
 #, c-format
 msgid "could not close temporary file: %s\n"
 msgstr "не удалось закрыть временный файл: %s\n"
 
-#: pg_backup_tar.c:1103
+#: pg_backup_tar.c:1119
 #, c-format
 msgid "actual file length (%s) does not match expected (%s)\n"
 msgstr "действительная длина файла (%s) не равна ожидаемой (%s)\n"
 
-#: pg_backup_tar.c:1111
-#, c-format
-msgid "could not output padding at end of tar member\n"
-msgstr "не удалось записать выравнивание для компонента tar\n"
-
-#: pg_backup_tar.c:1140
+#: pg_backup_tar.c:1156
 #, c-format
 msgid "moving from position %s to next member at file position %s\n"
 msgstr "переход от позиции %s к следующему компоненту в позиции %s\n"
 
-#: pg_backup_tar.c:1151
+#: pg_backup_tar.c:1167
 #, c-format
 msgid "now at file position %s\n"
 msgstr "текущая позиция в файле %s\n"
 
-#: pg_backup_tar.c:1160 pg_backup_tar.c:1190
+#: pg_backup_tar.c:1176 pg_backup_tar.c:1206
 #, c-format
 msgid "could not find header for file \"%s\" in tar archive\n"
 msgstr "в архиве tar не найден заголовок для файла \"%s\"\n"
 
-#: pg_backup_tar.c:1174
+#: pg_backup_tar.c:1190
 #, c-format
 msgid "skipping tar member %s\n"
 msgstr "пропускается компонент tar %s\n"
 
-#: pg_backup_tar.c:1178
+#: pg_backup_tar.c:1194
 #, c-format
 msgid ""
 "restoring data out of order is not supported in this archive format: \"%s\" "
@@ -1329,12 +1331,7 @@ msgstr ""
 "поддерживается: требуется компонент \"%s\", но в файле архива прежде идёт "
 "\"%s\".\n"
 
-#: pg_backup_tar.c:1224
-#, c-format
-msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n"
-msgstr "реальная позиция в файле отличается от предсказанной (%s и %s)\n"
-
-#: pg_backup_tar.c:1239
+#: pg_backup_tar.c:1241
 #, c-format
 msgid "incomplete tar header found (%lu byte)\n"
 msgid_plural "incomplete tar header found (%lu bytes)\n"
@@ -1342,12 +1339,12 @@ msgstr[0] "найден неполный tar-заголовок (размер %l
 msgstr[1] "найден неполный tar-заголовок (размер %lu байта)\n"
 msgstr[2] "найден неполный tar-заголовок (размер %lu байтов)\n"
 
-#: pg_backup_tar.c:1277
+#: pg_backup_tar.c:1279
 #, c-format
 msgid "TOC Entry %s at %s (length %lu, checksum %d)\n"
 msgstr "Запись оглавления %s в %s (длина: %lu, контр. сумма: %d)\n"
 
-#: pg_backup_tar.c:1287
+#: pg_backup_tar.c:1289
 #, c-format
 msgid ""
 "corrupt tar header found in %s (expected %d, computed %d) file position %s\n"
@@ -1360,9 +1357,9 @@ msgstr ""
 msgid "%s: unrecognized section name: \"%s\"\n"
 msgstr "%s: нераспознанное имя раздела: \"%s\"\n"
 
-#: pg_backup_utils.c:56 pg_dump.c:540 pg_dump.c:557 pg_dumpall.c:303
-#: pg_dumpall.c:313 pg_dumpall.c:323 pg_dumpall.c:332 pg_dumpall.c:341
-#: pg_dumpall.c:399 pg_restore.c:282 pg_restore.c:298 pg_restore.c:310
+#: pg_backup_utils.c:56 pg_dump.c:539 pg_dump.c:556 pg_dumpall.c:305
+#: pg_dumpall.c:315 pg_dumpall.c:325 pg_dumpall.c:334 pg_dumpall.c:350
+#: pg_dumpall.c:408 pg_restore.c:278 pg_restore.c:294 pg_restore.c:306
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
@@ -1372,7 +1369,7 @@ msgstr "Для дополнительной информации попробу
 msgid "out of on_exit_nicely slots\n"
 msgstr "превышен предел обработчиков штатного выхода\n"
 
-#: pg_dump.c:555 pg_dumpall.c:311 pg_restore.c:296
+#: pg_dump.c:554 pg_dumpall.c:313 pg_restore.c:292
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
@@ -1382,41 +1379,46 @@ msgstr "%s: слишком много аргументов командной с
 msgid "options -s/--schema-only and -a/--data-only cannot be used together\n"
 msgstr "параметры -s/--schema-only и -a/--data-only исключают друг друга\n"
 
-#: pg_dump.c:570
+#: pg_dump.c:573
 #, c-format
 msgid "options -c/--clean and -a/--data-only cannot be used together\n"
 msgstr "параметры -c/--clean и -a/--data-only исключают друг друга\n"
 
-#: pg_dump.c:574
+#: pg_dump.c:579
 #, c-format
 msgid ""
 "options --inserts/--column-inserts and -o/--oids cannot be used together\n"
 msgstr ""
 "параметры --inserts/--column-inserts и -o/--oids исключают друг друга\n"
 
-#: pg_dump.c:575
+#: pg_dump.c:580
 #, c-format
 msgid "(The INSERT command cannot set OIDs.)\n"
 msgstr "(В INSERT нельзя определять OID.)\n"
 
-#: pg_dump.c:605
+#: pg_dump.c:585
+#, c-format
+msgid "option --if-exists requires option -c/--clean\n"
+msgstr "параметру --if-exists требуется параметр -c/--clean\n"
+
+#: pg_dump.c:613
 #, c-format
 msgid "%s: invalid number of parallel jobs\n"
 msgstr "%s: неверное число параллельных заданий\n"
 
-#: pg_dump.c:609
+#: pg_dump.c:617
 #, c-format
 msgid "parallel backup only supported by the directory format\n"
 msgstr ""
 "параллельное резервное копирование поддерживается только с форматом \"каталог"
 "\"\n"
 
-#: pg_dump.c:619
+#: pg_dump.c:627
 #, c-format
 msgid "could not open output file \"%s\" for writing\n"
 msgstr "не удалось открыть выходной файл \"%s\"  для записи\n"
 
-#: pg_dump.c:678
+#: pg_dump.c:686
 #, c-format
 msgid ""
 "Synchronized snapshots are not supported by this server version.\n"
@@ -1427,22 +1429,22 @@ msgstr ""
 "Если они вам не нужны, укажите при запуске ключ\n"
 "--no-synchronized-snapshots.\n"
 
-#: pg_dump.c:691
+#: pg_dump.c:699
 #, c-format
 msgid "last built-in OID is %u\n"
 msgstr "последний системный OID: %u\n"
 
-#: pg_dump.c:700
+#: pg_dump.c:708
 #, c-format
 msgid "No matching schemas were found\n"
 msgstr "Соответствующие схемы не найдены\n"
 
-#: pg_dump.c:712
+#: pg_dump.c:720
 #, c-format
 msgid "No matching tables were found\n"
 msgstr "Соответствующие таблицы не найдены\n"
 
-#: pg_dump.c:856
+#: pg_dump.c:865
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1451,17 +1453,17 @@ msgstr ""
 "%s сохраняет резервную копию БД в текстовом файле или другом виде.\n"
 "\n"
 
-#: pg_dump.c:857 pg_dumpall.c:544 pg_restore.c:414
+#: pg_dump.c:866 pg_dumpall.c:553 pg_restore.c:432
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_dump.c:858
+#: pg_dump.c:867
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: pg_dump.c:860 pg_dumpall.c:547 pg_restore.c:417
+#: pg_dump.c:869 pg_dumpall.c:556 pg_restore.c:435
 #, c-format
 msgid ""
 "\n"
@@ -1470,12 +1472,12 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_dump.c:861
+#: pg_dump.c:870
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=ИМЯ               имя выходного файла или каталога\n"
 
-#: pg_dump.c:862
+#: pg_dump.c:871
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1485,7 +1487,7 @@ msgstr ""
 "                               (пользовательский | каталог | tar |\n"
 "                               текстовый (по умолчанию))\n"
 
-#: pg_dump.c:864
+#: pg_dump.c:873
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr ""
@@ -1493,23 +1495,23 @@ msgstr ""
 "число\n"
 "                               заданий\n"
 
-#: pg_dump.c:865
+#: pg_dump.c:874
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose                режим подробных сообщений\n"
 
-#: pg_dump.c:866 pg_dumpall.c:549
+#: pg_dump.c:875 pg_dumpall.c:558
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                показать версию и выйти\n"
 
-#: pg_dump.c:867
+#: pg_dump.c:876
 #, c-format
 msgid ""
 "  -Z, --compress=0-9           compression level for compressed formats\n"
 msgstr "  -Z, --compress=0-9           уровень сжатия при архивации\n"
 
-#: pg_dump.c:868 pg_dumpall.c:550
+#: pg_dump.c:877 pg_dumpall.c:559
 #, c-format
 msgid ""
 "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
@@ -1517,12 +1519,12 @@ msgstr ""
 "  --lock-wait-timeout=ТАЙМАУТ  прервать операцию при таймауте блокировки "
 "таблицы\n"
 
-#: pg_dump.c:869 pg_dumpall.c:551
+#: pg_dump.c:878 pg_dumpall.c:560
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   показать эту справку и выйти\n"
 
-#: pg_dump.c:871 pg_dumpall.c:552
+#: pg_dump.c:880 pg_dumpall.c:561
 #, c-format
 msgid ""
 "\n"
@@ -1531,17 +1533,17 @@ msgstr ""
 "\n"
 "Параметры, управляющие выводом:\n"
 
-#: pg_dump.c:872 pg_dumpall.c:553
+#: pg_dump.c:881 pg_dumpall.c:562
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              выгрузить только данные, без схемы\n"
 
-#: pg_dump.c:873
+#: pg_dump.c:882
 #, c-format
 msgid "  -b, --blobs                  include large objects in dump\n"
 msgstr "  -b, --blobs                  выгрузить также большие объекты\n"
 
-#: pg_dump.c:874 pg_restore.c:428
+#: pg_dump.c:883 pg_restore.c:446
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) database objects before "
@@ -1550,7 +1552,7 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) объекты БД при "
 "восстановлении\n"
 
-#: pg_dump.c:875
+#: pg_dump.c:884
 #, c-format
 msgid ""
 "  -C, --create                 include commands to create database in dump\n"
@@ -1558,27 +1560,27 @@ msgstr ""
 "  -C, --create                 добавить в копию команды создания базы "
 "данных\n"
 
-#: pg_dump.c:876
+#: pg_dump.c:885
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=КОДИРОВКА     выгружать данные в заданной кодировке\n"
 
-#: pg_dump.c:877
+#: pg_dump.c:886
 #, c-format
 msgid "  -n, --schema=SCHEMA          dump the named schema(s) only\n"
 msgstr "  -n, --schema=СХЕМА           выгрузить только указанную схему(ы)\n"
 
-#: pg_dump.c:878
+#: pg_dump.c:887
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA  do NOT dump the named schema(s)\n"
 msgstr "  -N, --exclude-schema=СХЕМА   НЕ выгружать указанную схему(ы)\n"
 
-#: pg_dump.c:879 pg_dumpall.c:556
+#: pg_dump.c:888 pg_dumpall.c:565
 #, c-format
 msgid "  -o, --oids                   include OIDs in dump\n"
 msgstr "  -o, --oids                   выгружать данные с OID\n"
 
-#: pg_dump.c:880
+#: pg_dump.c:889
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1587,12 +1589,12 @@ msgstr ""
 "  -O, --no-owner               не восстанавливать владение объектами\n"
 "                               при использовании текстового формата\n"
 
-#: pg_dump.c:882 pg_dumpall.c:559
+#: pg_dump.c:891 pg_dumpall.c:568
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            выгрузить только схему, без данных\n"
 
-#: pg_dump.c:883
+#: pg_dump.c:892
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use in plain-text "
@@ -1601,27 +1603,27 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя, который будет задействован\n"
 "                               при восстановлении из текстового формата\n"
 
-#: pg_dump.c:884
+#: pg_dump.c:893
 #, c-format
 msgid "  -t, --table=TABLE            dump the named table(s) only\n"
 msgstr "  -t, --table=ТАБЛИЦА          выгрузить только указанную таблицу(ы)\n"
 
-#: pg_dump.c:885
+#: pg_dump.c:894
 #, c-format
 msgid "  -T, --exclude-table=TABLE    do NOT dump the named table(s)\n"
 msgstr "  -T, --exclude-table=ТАБЛИЦА  НЕ выгружать указанную таблицу(ы)\n"
 
-#: pg_dump.c:886 pg_dumpall.c:562
+#: pg_dump.c:895 pg_dumpall.c:571
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          не выгружать права (назначение/отзыв)\n"
 
-#: pg_dump.c:887 pg_dumpall.c:563
+#: pg_dump.c:896 pg_dumpall.c:572
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             только для утилит обновления БД\n"
 
-#: pg_dump.c:888 pg_dumpall.c:564
+#: pg_dump.c:897 pg_dumpall.c:573
 #, c-format
 msgid ""
 "  --column-inserts             dump data as INSERT commands with column "
@@ -1630,7 +1632,7 @@ msgstr ""
 "  --column-inserts             выгружать данные в виде INSERT с именами "
 "колонок\n"
 
-#: pg_dump.c:889 pg_dumpall.c:565
+#: pg_dump.c:898 pg_dumpall.c:574
 #, c-format
 msgid ""
 "  --disable-dollar-quoting     disable dollar quoting, use SQL standard "
@@ -1639,7 +1641,7 @@ msgstr ""
 "  --disable-dollar-quoting     отключить спецстроки с $, выводить строки\n"
 "                               по стандарту SQL\n"
 
-#: pg_dump.c:890 pg_dumpall.c:566 pg_restore.c:444
+#: pg_dump.c:899 pg_dumpall.c:575 pg_restore.c:462
 #, c-format
 msgid ""
 "  --disable-triggers           disable triggers during data-only restore\n"
@@ -1647,13 +1649,19 @@ msgstr ""
 "  --disable-triggers           отключить триггеры при восстановлении\n"
 "                               только данных, без схемы\n"
 
-#: pg_dump.c:891
+#: pg_dump.c:900
 #, c-format
 msgid ""
 "  --exclude-table-data=TABLE   do NOT dump data for the named table(s)\n"
 msgstr "  --exclude-table-data=ТАБЛИЦА НЕ выгружать указанную таблицу(ы)\n"
 
-#: pg_dump.c:892 pg_dumpall.c:567
+#: pg_dump.c:901 pg_dumpall.c:576 pg_restore.c:463
+#, c-format
+msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
+msgstr ""
+"  --if-exists                  применять IF EXISTS при удалении объектов\n"
+
+#: pg_dump.c:902 pg_dumpall.c:577
 #, c-format
 msgid ""
 "  --inserts                    dump data as INSERT commands, rather than "
@@ -1662,13 +1670,13 @@ msgstr ""
 "  --inserts                    выгрузить данные в виде команд INSERT, не "
 "COPY\n"
 
-#: pg_dump.c:893 pg_dumpall.c:568
+#: pg_dump.c:903 pg_dumpall.c:578
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr ""
 "  --no-security-labels         не выгружать назначения меток безопасности\n"
 
-#: pg_dump.c:894
+#: pg_dump.c:904
 #, c-format
 msgid ""
 "  --no-synchronized-snapshots  do not use synchronized snapshots in parallel "
@@ -1677,20 +1685,20 @@ msgstr ""
 "  --no-synchronized-snapshots  не использовать синхронизированные снимки\n"
 "                               в параллельных заданиях\n"
 
-#: pg_dump.c:895 pg_dumpall.c:569
+#: pg_dump.c:905 pg_dumpall.c:579
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не выгружать назначения табличных "
 "пространств\n"
 
-#: pg_dump.c:896 pg_dumpall.c:570
+#: pg_dump.c:906 pg_dumpall.c:580
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr ""
 "  --no-unlogged-table-data     не выгружать данные нежурналируемых таблиц\n"
 
-#: pg_dump.c:897 pg_dumpall.c:571
+#: pg_dump.c:907 pg_dumpall.c:581
 #, c-format
 msgid ""
 "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
@@ -1698,7 +1706,7 @@ msgstr ""
 "  --quote-all-identifiers      заключать в кавычки все идентификаторы,\n"
 "                               а не только ключевые слова\n"
 
-#: pg_dump.c:898
+#: pg_dump.c:908
 #, c-format
 msgid ""
 "  --section=SECTION            dump named section (pre-data, data, or post-"
@@ -1707,7 +1715,7 @@ msgstr ""
 "  --section=РАЗДЕЛ             выгрузить заданный раздел\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_dump.c:899
+#: pg_dump.c:909
 #, c-format
 msgid ""
 "  --serializable-deferrable    wait until the dump can run without "
@@ -1716,7 +1724,7 @@ msgstr ""
 "  --serializable-deferrable    дождаться момента для выгрузки данных без "
 "аномалий\n"
 
-#: pg_dump.c:900 pg_dumpall.c:572 pg_restore.c:450
+#: pg_dump.c:910 pg_dumpall.c:582 pg_restore.c:469
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1728,7 +1736,7 @@ msgstr ""
 "                               устанавливать владельца, используя команды\n"
 "                               SET SESSION AUTHORIZATION вместо ALTER OWNER\n"
 
-#: pg_dump.c:904 pg_dumpall.c:576 pg_restore.c:454
+#: pg_dump.c:914 pg_dumpall.c:586 pg_restore.c:473
 #, c-format
 msgid ""
 "\n"
@@ -1737,33 +1745,33 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_dump.c:905
+#: pg_dump.c:915
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=БД          имя базы данных для выгрузки\n"
 
-#: pg_dump.c:906 pg_dumpall.c:578 pg_restore.c:455
+#: pg_dump.c:916 pg_dumpall.c:588 pg_restore.c:474
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
 
-#: pg_dump.c:907 pg_dumpall.c:580 pg_restore.c:456
+#: pg_dump.c:917 pg_dumpall.c:590 pg_restore.c:475
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=ПОРТ          номер порта сервера БД\n"
 
-#: pg_dump.c:908 pg_dumpall.c:581 pg_restore.c:457
+#: pg_dump.c:918 pg_dumpall.c:591 pg_restore.c:476
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=ИМЯ       имя пользователя баз данных\n"
 
-#: pg_dump.c:909 pg_dumpall.c:582 pg_restore.c:458
+#: pg_dump.c:919 pg_dumpall.c:592 pg_restore.c:477
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        не запрашивать пароль\n"
 
-#: pg_dump.c:910 pg_dumpall.c:583 pg_restore.c:459
+#: pg_dump.c:920 pg_dumpall.c:593 pg_restore.c:478
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -1771,12 +1779,12 @@ msgid ""
 msgstr ""
 "  -W, --password           запрашивать пароль всегда (обычно не требуется)\n"
 
-#: pg_dump.c:911 pg_dumpall.c:584
+#: pg_dump.c:921 pg_dumpall.c:594
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед выгрузкой\n"
 
-#: pg_dump.c:913
+#: pg_dump.c:923
 #, c-format
 msgid ""
 "\n"
@@ -1789,147 +1797,147 @@ msgstr ""
 "PGDATABASE.\n"
 "\n"
 
-#: pg_dump.c:915 pg_dumpall.c:588 pg_restore.c:463
+#: pg_dump.c:925 pg_dumpall.c:598 pg_restore.c:482
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_dump.c:933
+#: pg_dump.c:943
 #, c-format
 msgid "invalid client encoding \"%s\" specified\n"
 msgstr "указана неверная клиентская кодировка \"%s\"\n"
 
-#: pg_dump.c:1095
+#: pg_dump.c:1105
 #, c-format
 msgid "invalid output format \"%s\" specified\n"
 msgstr "указан неверный формат вывода: \"%s\"\n"
 
-#: pg_dump.c:1117
+#: pg_dump.c:1127
 #, c-format
 msgid "server version must be at least 7.3 to use schema selection switches\n"
 msgstr ""
 "для использования параметров выбора схемы нужен сервер версии 7.3 или новее\n"
 
-#: pg_dump.c:1393
+#: pg_dump.c:1403
 #, c-format
 msgid "dumping contents of table %s\n"
 msgstr "выгрузка содержимого таблицы %s\n"
 
-#: pg_dump.c:1516
+#: pg_dump.c:1526
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed.\n"
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQendcopy().\n"
 
-#: pg_dump.c:1517 pg_dump.c:1527
+#: pg_dump.c:1527 pg_dump.c:1537
 #, c-format
 msgid "Error message from server: %s"
 msgstr "Сообщение об ошибке с сервера: %s"
 
-#: pg_dump.c:1518 pg_dump.c:1528
+#: pg_dump.c:1528 pg_dump.c:1538
 #, c-format
 msgid "The command was: %s\n"
 msgstr "Выполнялась команда: %s\n"
 
-#: pg_dump.c:1526
+#: pg_dump.c:1536
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed.\n"
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult().\n"
 
-#: pg_dump.c:2136
+#: pg_dump.c:2174
 #, c-format
 msgid "saving database definition\n"
 msgstr "сохранение определения базы данных\n"
 
-#: pg_dump.c:2433
+#: pg_dump.c:2503
 #, c-format
 msgid "saving encoding = %s\n"
 msgstr "сохранение кодировки (%s)\n"
 
-#: pg_dump.c:2460
+#: pg_dump.c:2530
 #, c-format
 msgid "saving standard_conforming_strings = %s\n"
 msgstr "сохранение standard_conforming_strings (%s)\n"
 
-#: pg_dump.c:2493
+#: pg_dump.c:2563
 #, c-format
 msgid "reading large objects\n"
 msgstr "чтение больших объектов\n"
 
-#: pg_dump.c:2625
+#: pg_dump.c:2695
 #, c-format
 msgid "saving large objects\n"
 msgstr "сохранение больших объектов\n"
 
-#: pg_dump.c:2672
+#: pg_dump.c:2742
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "ошибка чтения большого объекта %u: %s"
 
-#: pg_dump.c:2865
+#: pg_dump.c:2935
 #, c-format
 msgid "could not find parent extension for %s\n"
 msgstr "не удалось найти родительское расширение для %s\n"
 
 # TO REVIEW
-#: pg_dump.c:2968
+#: pg_dump.c:3038
 #, c-format
 msgid "WARNING: owner of schema \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у схемы \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3011
+#: pg_dump.c:3081
 #, c-format
 msgid "schema with OID %u does not exist\n"
 msgstr "схема с OID %u не существует\n"
 
-#: pg_dump.c:3361
+#: pg_dump.c:3431
 #, c-format
 msgid "WARNING: owner of data type \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у типа данных \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3472
+#: pg_dump.c:3542
 #, c-format
 msgid "WARNING: owner of operator \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у оператора \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3729
+#: pg_dump.c:3801
 #, c-format
 msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n"
 msgstr ""
 "ВНИМАНИЕ: у класса операторов \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3817
+#: pg_dump.c:3889
 #, c-format
 msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n"
 msgstr ""
 "ВНИМАНИЕ: у семейства операторов \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3976
+#: pg_dump.c:4048
 #, c-format
 msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n"
 msgstr ""
 "ВНИМАНИЕ: у агрегатной функции \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:4180
+#: pg_dump.c:4252
 #, c-format
 msgid "WARNING: owner of function \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у функции \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:4736
+#: pg_dump.c:4870
 #, c-format
 msgid "WARNING: owner of table \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у таблицы \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:4887
+#: pg_dump.c:5022
 #, c-format
 msgid "reading indexes for table \"%s\"\n"
 msgstr "чтение индексов таблицы \"%s\"\n"
 
-#: pg_dump.c:5220
+#: pg_dump.c:5388
 #, c-format
 msgid "reading foreign key constraints for table \"%s\"\n"
 msgstr "чтение ограничений внешних ключей таблицы \"%s\"\n"
 
-#: pg_dump.c:5465
+#: pg_dump.c:5633
 #, c-format
 msgid ""
 "failed sanity check, parent table OID %u of pg_rewrite entry OID %u not "
@@ -1938,12 +1946,12 @@ msgstr ""
 "по OID %u не удалось найти родительскую таблицу для записи pg_rewrite с OID "
 "%u\n"
 
-#: pg_dump.c:5558
+#: pg_dump.c:5726
 #, c-format
 msgid "reading triggers for table \"%s\"\n"
 msgstr "чтение триггеров таблицы \"%s\"\n"
 
-#: pg_dump.c:5719
+#: pg_dump.c:5887
 #, c-format
 msgid ""
 "query produced null referenced table name for foreign key trigger \"%s\" on "
@@ -1952,32 +1960,32 @@ msgstr ""
 "запрос не вернул имя целевой таблицы для триггера внешнего ключа \"%s\" в "
 "таблице \"%s\" (OID целевой таблицы: %u)\n"
 
-#: pg_dump.c:6171
+#: pg_dump.c:6339
 #, c-format
 msgid "finding the columns and types of table \"%s\"\n"
 msgstr "поиск колонок и типов таблицы \"%s\"\n"
 
-#: pg_dump.c:6349
+#: pg_dump.c:6517
 #, c-format
 msgid "invalid column numbering in table \"%s\"\n"
 msgstr "неверная нумерация колонок в таблице \"%s\"\n"
 
-#: pg_dump.c:6383
+#: pg_dump.c:6551
 #, c-format
 msgid "finding default expressions of table \"%s\"\n"
 msgstr "поиск выражений по умолчанию для таблицы \"%s\"\n"
 
-#: pg_dump.c:6435
+#: pg_dump.c:6603
 #, c-format
 msgid "invalid adnum value %d for table \"%s\"\n"
 msgstr "неверное значение adnum (%d) в таблице \"%s\"\n"
 
-#: pg_dump.c:6507
+#: pg_dump.c:6675
 #, c-format
 msgid "finding check constraints for table \"%s\"\n"
 msgstr "поиск ограничений-проверок для таблицы \"%s\"\n"
 
-#: pg_dump.c:6602
+#: pg_dump.c:6770
 #, c-format
 msgid "expected %d check constraint on table \"%s\" but found %d\n"
 msgid_plural "expected %d check constraints on table \"%s\" but found %d\n"
@@ -1988,65 +1996,65 @@ msgstr[1] ""
 msgstr[2] ""
 "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d\n"
 
-#: pg_dump.c:6606
+#: pg_dump.c:6774
 #, c-format
 msgid "(The system catalogs might be corrupted.)\n"
 msgstr "(Возможно повреждены системные каталоги.)\n"
 
-#: pg_dump.c:7972
+#: pg_dump.c:8143
 #, c-format
 msgid "WARNING: typtype of data type \"%s\" appears to be invalid\n"
 msgstr "ВНИМАНИЕ: у типа данных \"%s\" по-видимому неправильный тип типа\n"
 
-#: pg_dump.c:9421
+#: pg_dump.c:9591
 #, c-format
 msgid "WARNING: bogus value in proargmodes array\n"
 msgstr "ВНИМАНИЕ: неприемлемое значение в массиве proargmodes\n"
 
-#: pg_dump.c:9749
+#: pg_dump.c:9919
 #, c-format
 msgid "WARNING: could not parse proallargtypes array\n"
 msgstr "ВНИМАНИЕ: не удалось разобрать массив proallargtypes\n"
 
-#: pg_dump.c:9765
+#: pg_dump.c:9935
 #, c-format
 msgid "WARNING: could not parse proargmodes array\n"
 msgstr "ВНИМАНИЕ: не удалось разобрать массив proargmodes\n"
 
-#: pg_dump.c:9779
+#: pg_dump.c:9949
 #, c-format
 msgid "WARNING: could not parse proargnames array\n"
 msgstr "ВНИМАНИЕ: не удалось разобрать массив proargnames\n"
 
-#: pg_dump.c:9790
+#: pg_dump.c:9960
 #, c-format
 msgid "WARNING: could not parse proconfig array\n"
 msgstr "ВНИМАНИЕ: не удалось разобрать массив proconfig\n"
 
 # TO REVEIW
-#: pg_dump.c:9847
+#: pg_dump.c:10015
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "недопустимое значение provolatile для функции \"%s\"\n"
 
-#: pg_dump.c:10067
+#: pg_dump.c:10237
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castfunc or pg_cast.castmethod field\n"
 msgstr ""
 "WARNING: неприемлемое значение в поле pg_cast.castfunc или pg_cast."
 "castmethod\n"
 
-#: pg_dump.c:10070
+#: pg_dump.c:10240
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgstr "WARNING: неприемлемое значение в поле pg_cast.castmethod\n"
 
-#: pg_dump.c:10439
+#: pg_dump.c:10628
 #, c-format
 msgid "WARNING: could not find operator with OID %s\n"
 msgstr "ВНИМАНИЕ: оператор с OID %s не найден\n"
 
-#: pg_dump.c:11501
+#: pg_dump.c:11803
 #, c-format
 msgid ""
 "WARNING: aggregate function %s could not be dumped correctly for this "
@@ -2055,28 +2063,28 @@ msgstr ""
 "ВНИМАНИЕ: агрегатная функция %s не может быть правильно выгружена для этой "
 "версии базы данных; функция проигнорирована\n"
 
-#: pg_dump.c:12277
+#: pg_dump.c:12628
 #, c-format
 msgid "unrecognized object type in default privileges: %d\n"
 msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d)\n"
 
-#: pg_dump.c:12292
+#: pg_dump.c:12643
 #, c-format
 msgid "could not parse default ACL list (%s)\n"
 msgstr "не удалось разобрать список прав по умолчанию (%s)\n"
 
-#: pg_dump.c:12347
+#: pg_dump.c:12698
 #, c-format
 msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
 msgstr "не удалось разобрать список прав (%s) для объекта \"%s\" (%s)\n"
 
-#: pg_dump.c:12766
+#: pg_dump.c:13115
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data\n"
 msgstr ""
 "запрос на получение определения представления \"%s\" не возвратил данные\n"
 
-#: pg_dump.c:12769
+#: pg_dump.c:13118
 #, c-format
 msgid ""
 "query to obtain definition of view \"%s\" returned more than one definition\n"
@@ -2084,27 +2092,27 @@ msgstr ""
 "запрос на получения определения представления \"%s\" возвратил несколько "
 "определений\n"
 
-#: pg_dump.c:12776
+#: pg_dump.c:13125
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)\n"
 msgstr "определение представления \"%s\" пустое (длина равна нулю)\n"
 
-#: pg_dump.c:13485
+#: pg_dump.c:13858
 #, c-format
 msgid "invalid column number %d for table \"%s\"\n"
 msgstr "неверный номер колонки %d для таблицы \"%s\"\n"
 
-#: pg_dump.c:13600
+#: pg_dump.c:13982
 #, c-format
 msgid "missing index for constraint \"%s\"\n"
 msgstr "отсутствует индекс для ограничения \"%s\"\n"
 
-#: pg_dump.c:13787
+#: pg_dump.c:14169
 #, c-format
 msgid "unrecognized constraint type: %c\n"
 msgstr "нераспознанный тип ограничения: %c\n"
 
-#: pg_dump.c:13936 pg_dump.c:14100
+#: pg_dump.c:14318 pg_dump.c:14482
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)\n"
 msgid_plural ""
@@ -2119,23 +2127,23 @@ msgstr[2] ""
 "запрос на получение данных последовательности \"%s\" вернул %d строк "
 "(ожидалась 1)\n"
 
-#: pg_dump.c:13947
+#: pg_dump.c:14329
 #, c-format
 msgid "query to get data of sequence \"%s\" returned name \"%s\"\n"
 msgstr ""
 "запрос на получение данных последовательности \"%s\" вернул имя \"%s\"\n"
 
-#: pg_dump.c:14195
+#: pg_dump.c:14577
 #, c-format
 msgid "unexpected tgtype value: %d\n"
 msgstr "неожиданное значение tgtype: %d\n"
 
-#: pg_dump.c:14277
+#: pg_dump.c:14659
 #, c-format
 msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n"
 msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"\n"
 
-#: pg_dump.c:14465
+#: pg_dump.c:14847
 #, c-format
 msgid ""
 "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows "
@@ -2144,12 +2152,12 @@ msgstr ""
 "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное "
 "число строк\n"
 
-#: pg_dump.c:14766
+#: pg_dump.c:15148
 #, c-format
 msgid "reading dependency data\n"
 msgstr "чтение данных о зависимостях\n"
 
-#: pg_dump.c:15311
+#: pg_dump.c:15693
 #, c-format
 msgid "query returned %d row instead of one: %s\n"
 msgid_plural "query returned %d rows instead of one: %s\n"
@@ -2162,34 +2170,34 @@ msgstr[2] "запрос вернул %d строк вместо одной: %s\n
 msgid "sorter"
 msgstr "sorter"
 
-#: pg_dump_sort.c:465
+#: pg_dump_sort.c:466
 #, c-format
 msgid "invalid dumpId %d\n"
 msgstr "неверный dumpId %d\n"
 
-#: pg_dump_sort.c:471
+#: pg_dump_sort.c:472
 #, c-format
 msgid "invalid dependency %d\n"
 msgstr "неверная зависимость %d\n"
 
-#: pg_dump_sort.c:685
+#: pg_dump_sort.c:705
 #, c-format
 msgid "could not identify dependency loop\n"
 msgstr "не удалось определить цикл зависимостей\n"
 
-#: pg_dump_sort.c:1191
+#: pg_dump_sort.c:1227
 #, c-format
 msgid ""
 "NOTICE: there are circular foreign-key constraints among these table(s):\n"
 msgstr ""
 "ЗАМЕЧАНИЕ: в следующих таблицах зациклены ограничения внешних ключей :\n"
 
-#: pg_dump_sort.c:1193 pg_dump_sort.c:1213
+#: pg_dump_sort.c:1229 pg_dump_sort.c:1249
 #, c-format
 msgid "  %s\n"
 msgstr "  %s\n"
 
-#: pg_dump_sort.c:1194
+#: pg_dump_sort.c:1230
 #, c-format
 msgid ""
 "You might not be able to restore the dump without using --disable-triggers "
@@ -2198,7 +2206,7 @@ msgstr ""
 "Возможно для восстановления базы вам потребуется использовать --disable-"
 "triggers или временно удалить ограничения.\n"
 
-#: pg_dump_sort.c:1195
+#: pg_dump_sort.c:1231
 #, c-format
 msgid ""
 "Consider using a full dump instead of a --data-only dump to avoid this "
@@ -2207,13 +2215,13 @@ msgstr ""
 "Во избежание этой проблемы, вам вероятно стоит выгружать всю базу данных, а "
 "не только данные (--data-only).\n"
 
-#: pg_dump_sort.c:1207
+#: pg_dump_sort.c:1243
 #, c-format
 msgid "WARNING: could not resolve dependency loop among these items:\n"
 msgstr ""
 "ВНИМАНИЕ: не удалось разрешить цикл зависимостей для следующих объектов:\n"
 
-#: pg_dumpall.c:180
+#: pg_dumpall.c:182
 #, c-format
 msgid ""
 "The program \"pg_dump\" is needed by %s but was not found in the\n"
@@ -2224,7 +2232,7 @@ msgstr ""
 "в каталоге \"%s\".\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: pg_dumpall.c:187
+#: pg_dumpall.c:189
 #, c-format
 msgid ""
 "The program \"pg_dump\" was found by \"%s\"\n"
@@ -2235,14 +2243,14 @@ msgstr ""
 "но её версия отличается от версии %s.\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: pg_dumpall.c:321
+#: pg_dumpall.c:323
 #, c-format
 msgid ""
 "%s: options -g/--globals-only and -r/--roles-only cannot be used together\n"
 msgstr ""
 "%s: параметры -g/--globals-only и -r/--roles-only исключают друг друга\n"
 
-#: pg_dumpall.c:330
+#: pg_dumpall.c:332
 #, c-format
 msgid ""
 "%s: options -g/--globals-only and -t/--tablespaces-only cannot be used "
@@ -2251,7 +2259,12 @@ msgstr ""
 "%s: параметры -g/--globals-only и -t/--tablespaces-only исключают друг "
 "друга\n"
 
-#: pg_dumpall.c:339
+#: pg_dumpall.c:341 pg_restore.c:343
+#, c-format
+msgid "%s: option --if-exists requires option -c/--clean\n"
+msgstr "%s: параметру --if-exists требуется параметр -c/--clean\n"
+
+#: pg_dumpall.c:348
 #, c-format
 msgid ""
 "%s: options -r/--roles-only and -t/--tablespaces-only cannot be used "
@@ -2259,12 +2272,12 @@ msgid ""
 msgstr ""
 "%s: параметры -r/--roles-only и -t/--tablespaces-only исключают друг друга\n"
 
-#: pg_dumpall.c:381 pg_dumpall.c:1837
+#: pg_dumpall.c:390 pg_dumpall.c:1860
 #, c-format
 msgid "%s: could not connect to database \"%s\"\n"
 msgstr "%s: не удалось подключиться к базе данных: \"%s\"\n"
 
-#: pg_dumpall.c:396
+#: pg_dumpall.c:405
 #, c-format
 msgid ""
 "%s: could not connect to databases \"postgres\" or \"template1\"\n"
@@ -2273,12 +2286,12 @@ msgstr ""
 "%s: не удалось подключиться к базе данных \"postgres\" или \"template1\"\n"
 "Укажите другую базу данных.\n"
 
-#: pg_dumpall.c:413
+#: pg_dumpall.c:422
 #, c-format
 msgid "%s: could not open the output file \"%s\": %s\n"
 msgstr "%s: не удалось открыть выходной файл \"%s\": %s\n"
 
-#: pg_dumpall.c:543
+#: pg_dumpall.c:552
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -2287,17 +2300,17 @@ msgstr ""
 "%s экспортирует всё содержимое кластера баз данных PostgreSQL в SQL-скрипт.\n"
 "\n"
 
-#: pg_dumpall.c:545
+#: pg_dumpall.c:554
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_dumpall.c:548
+#: pg_dumpall.c:557
 #, c-format
 msgid "  -f, --file=FILENAME          output file name\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА         имя выходного файла\n"
 
-#: pg_dumpall.c:554
+#: pg_dumpall.c:563
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) databases before recreating\n"
@@ -2305,18 +2318,18 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) базы данных перед\n"
 "                               восстановлением\n"
 
-#: pg_dumpall.c:555
+#: pg_dumpall.c:564
 #, c-format
 msgid "  -g, --globals-only           dump only global objects, no databases\n"
 msgstr ""
 "  -g, --globals-only           выгрузить только глобальные объекты, без баз\n"
 
-#: pg_dumpall.c:557 pg_restore.c:436
+#: pg_dumpall.c:566 pg_restore.c:454
 #, c-format
 msgid "  -O, --no-owner               skip restoration of object ownership\n"
 msgstr "  -O, --no-owner               не восстанавливать владение объектами\n"
 
-#: pg_dumpall.c:558
+#: pg_dumpall.c:567
 #, c-format
 msgid ""
 "  -r, --roles-only             dump only roles, no databases or tablespaces\n"
@@ -2324,13 +2337,13 @@ msgstr ""
 "  -r, --roles-only             выгрузить только роли, без баз данных\n"
 "                               и табличных пространств\n"
 
-#: pg_dumpall.c:560
+#: pg_dumpall.c:569
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in the dump\n"
 msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя для выполнения выгрузки\n"
 
-#: pg_dumpall.c:561
+#: pg_dumpall.c:570
 #, c-format
 msgid ""
 "  -t, --tablespaces-only       dump only tablespaces, no databases or roles\n"
@@ -2338,17 +2351,17 @@ msgstr ""
 "  -t, --tablespaces-only       выгружать только табличные пространства,\n"
 "                               без баз данных и ролей\n"
 
-#: pg_dumpall.c:577
+#: pg_dumpall.c:587
 #, c-format
 msgid "  -d, --dbname=CONNSTR     connect using connection string\n"
 msgstr "  -d, --dbname=СТРОКА      подключиться с данной строкой подключения\n"
 
-#: pg_dumpall.c:579
+#: pg_dumpall.c:589
 #, c-format
 msgid "  -l, --database=DBNAME    alternative default database\n"
 msgstr "  -l, --database=ИМЯ_БД    выбор другой базы данных по умолчанию\n"
 
-#: pg_dumpall.c:586
+#: pg_dumpall.c:596
 #, c-format
 msgid ""
 "\n"
@@ -2362,99 +2375,110 @@ msgstr ""
 "вывод.\n"
 "\n"
 
-#: pg_dumpall.c:1086
+#: pg_dumpall.c:1100
 #, c-format
 msgid "%s: could not parse ACL list (%s) for tablespace \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать список управления доступом (%s) для табл. "
 "пространства \"%s\"\n"
 
-#: pg_dumpall.c:1390
+#: pg_dumpall.c:1417
 #, c-format
 msgid "%s: could not parse ACL list (%s) for database \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать список управления доступом (%s) для базы данных \"%s"
 "\"\n"
 
-#: pg_dumpall.c:1602
+#: pg_dumpall.c:1627
 #, c-format
 msgid "%s: dumping database \"%s\"...\n"
 msgstr "%s: выгрузка базы данных \"%s\"...\n"
 
-#: pg_dumpall.c:1623
+#: pg_dumpall.c:1648
 #, c-format
 msgid "%s: pg_dump failed on database \"%s\", exiting\n"
 msgstr "%s: ошибка pg_dump для базы данных \"%s\", выход...\n"
 
-#: pg_dumpall.c:1632
+#: pg_dumpall.c:1657
 #, c-format
 msgid "%s: could not re-open the output file \"%s\": %s\n"
 msgstr "%s: не удалось повторно открыть выходной файл \"%s\": %s\n"
 
-#: pg_dumpall.c:1679
+#: pg_dumpall.c:1702
 #, c-format
 msgid "%s: running \"%s\"\n"
 msgstr "%s: выполняется \"%s\"\n"
 
-#: pg_dumpall.c:1859
+#: pg_dumpall.c:1882
 #, c-format
 msgid "%s: could not connect to database \"%s\": %s\n"
 msgstr "%s: не удалось подключиться к базе \"%s\": %s\n"
 
-#: pg_dumpall.c:1889
+#: pg_dumpall.c:1912
 #, c-format
 msgid "%s: could not get server version\n"
 msgstr "%s: не удалось узнать версию сервера\n"
 
-#: pg_dumpall.c:1895
+#: pg_dumpall.c:1918
 #, c-format
 msgid "%s: could not parse server version \"%s\"\n"
 msgstr "%s: не удалось разобрать строку версии сервера \"%s\"\n"
 
-#: pg_dumpall.c:1973 pg_dumpall.c:1999
+#: pg_dumpall.c:1996 pg_dumpall.c:2022
 #, c-format
 msgid "%s: executing %s\n"
 msgstr "%s: выполняется %s\n"
 
-#: pg_dumpall.c:1979 pg_dumpall.c:2005
+#: pg_dumpall.c:2002 pg_dumpall.c:2028
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: ошибка при выполнении запроса: %s"
 
-#: pg_dumpall.c:1981 pg_dumpall.c:2007
+#: pg_dumpall.c:2004 pg_dumpall.c:2030
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: запрос: %s\n"
 
 # TO REVEIW
-#: pg_restore.c:308
+#: pg_restore.c:304
 #, c-format
 msgid "%s: options -d/--dbname and -f/--file cannot be used together\n"
 msgstr "%s: параметры -d/--dbname и -f/--file исключают друг друга\n"
 
-#: pg_restore.c:320
+#: pg_restore.c:315
+#, c-format
+msgid ""
+"%s: options -s/--schema-only and -a/--data-only cannot be used together\n"
+msgstr "%s: параметры -s/--schema-only и -a/--data-only исключают друг друга\n"
+
+#: pg_restore.c:322
+#, c-format
+msgid "%s: options -c/--clean and -a/--data-only cannot be used together\n"
+msgstr "%s: параметры -c/--clean and -a/--data-only исключают друг друга\n"
+
+#: pg_restore.c:330
 #, c-format
 msgid "%s: cannot specify both --single-transaction and multiple jobs\n"
 msgstr ""
 "%s: параметр --single-transaction допускается только с одним заданием\n"
 
-#: pg_restore.c:351
+#: pg_restore.c:369
 #, c-format
 msgid ""
 "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"\n"
 msgstr "нераспознанный формат архива \"%s\"; укажите \"c\", \"d\" или \"t\"\n"
 
-#: pg_restore.c:381
+#: pg_restore.c:399
 #, c-format
 msgid "%s: maximum number of parallel jobs is %d\n"
 msgstr "%s: максимальное число параллельных заданий равно %d\n"
 
-#: pg_restore.c:399
+#: pg_restore.c:417
 #, c-format
 msgid "WARNING: errors ignored on restore: %d\n"
-msgstr "Ð\9fРÐ\95Ð\94УÐ\9fРÐ\95Ð\96Ð\94Ð\95Ð\9dÐ\98Ð\95: Ð¿Ñ\80и Ð²Ð¾Ñ\81Ñ\81Ñ\82ановление проигнорировано ошибок: %d\n"
+msgstr "Ð\9fРÐ\95Ð\94УÐ\9fРÐ\95Ð\96Ð\94Ð\95Ð\9dÐ\98Ð\95: Ð¿Ñ\80и Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлении проигнорировано ошибок: %d\n"
 
-#: pg_restore.c:413
+#: pg_restore.c:431
 #, c-format
 msgid ""
 "%s restores a PostgreSQL database from an archive created by pg_dump.\n"
@@ -2464,48 +2488,48 @@ msgstr ""
 "pg_dump.\n"
 "\n"
 
-#: pg_restore.c:415
+#: pg_restore.c:433
 #, c-format
 msgid "  %s [OPTION]... [FILE]\n"
 msgstr "  %s [ПАРАМЕТР]... [ФАЙЛ]\n"
 
-#: pg_restore.c:418
+#: pg_restore.c:436
 #, c-format
 msgid "  -d, --dbname=NAME        connect to database name\n"
 msgstr "  -d, --dbname=БД          подключиться к указанной базе данных\n"
 
-#: pg_restore.c:419
+#: pg_restore.c:437
 #, c-format
 msgid "  -f, --file=FILENAME      output file name\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА     имя выходного файла\n"
 
-#: pg_restore.c:420
+#: pg_restore.c:438
 #, 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:421
+#: pg_restore.c:439
 #, c-format
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr "  -l, --list               вывести краткое оглавление архива\n"
 
-#: pg_restore.c:422
+#: pg_restore.c:440
 #, c-format
 msgid "  -v, --verbose            verbose mode\n"
 msgstr "  -v, --verbose            выводить подробные сообщения\n"
 
-#: pg_restore.c:423
+#: pg_restore.c:441
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: pg_restore.c:424
+#: pg_restore.c:442
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               показать эту справку и выйти\n"
 
-#: pg_restore.c:426
+#: pg_restore.c:444
 #, c-format
 msgid ""
 "\n"
@@ -2514,35 +2538,35 @@ msgstr ""
 "\n"
 "Параметры, управляющие восстановлением:\n"
 
-#: pg_restore.c:427
+#: pg_restore.c:445
 #, c-format
 msgid "  -a, --data-only              restore only the data, no schema\n"
 msgstr "  -a, --data-only              восстановить только данные, без схемы\n"
 
-#: pg_restore.c:429
+#: pg_restore.c:447
 #, c-format
 msgid "  -C, --create                 create the target database\n"
 msgstr "  -C, --create                 создать целевую базу данных\n"
 
-#: pg_restore.c:430
+#: pg_restore.c:448
 #, c-format
 msgid "  -e, --exit-on-error          exit on error, default is to continue\n"
 msgstr ""
 "  -e, --exit-on-error          выйти при ошибке (по умолчанию - продолжать)\n"
 
-#: pg_restore.c:431
+#: pg_restore.c:449
 #, c-format
-msgid "  -I, --index=NAME             restore named index\n"
-msgstr "  -I, --index=Ð\98Ð\9cЯ              Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ñ\83казаннÑ\8bй Ð¸Ð½Ð´ÐµÐºÑ\81\n"
+msgid "  -I, --index=NAME             restore named indexes\n"
+msgstr "  -I, --index=Ð\98Ð\9cЯ              Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ñ\83казаннÑ\8bе Ð¸Ð½Ð´ÐµÐºÑ\81Ñ\8b\n"
 
-#: pg_restore.c:432
+#: pg_restore.c:450
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to restore\n"
 msgstr ""
 "  -j, --jobs=ЧИСЛО             распараллелить восстановление на указанное "
 "число заданий\n"
 
-#: pg_restore.c:433
+#: pg_restore.c:451
 #, c-format
 msgid ""
 "  -L, --use-list=FILENAME      use table of contents from this file for\n"
@@ -2551,23 +2575,23 @@ msgstr ""
 "  -L, --use-list=ИМЯ_ФАЙЛА     использовать оглавление из этого файла для\n"
 "                               чтения/упорядочивания данных\n"
 
-#: pg_restore.c:435
+#: pg_restore.c:453
 #, c-format
-msgid "  -n, --schema=NAME            restore only objects in this schema\n"
+msgid "  -n, --schema=NAME            restore only objects in these schemas\n"
 msgstr ""
-"  -n, --schema=Ð\98Ð\9cЯ             Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð¾Ð±Ñ\8aекÑ\82Ñ\8b Ñ\82олÑ\8cко Ð² Ñ\8dÑ\82ой Ñ\81Ñ\85еме\n"
+"  -n, --schema=Ð\98Ð\9cЯ             Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð¾Ð±Ñ\8aекÑ\82Ñ\8b Ñ\82олÑ\8cко Ð² Ñ\8dÑ\82иÑ\85 Ñ\81Ñ\85емаÑ\85\n"
 
-#: pg_restore.c:437
+#: pg_restore.c:455
 #, c-format
-msgid "  -P, --function=NAME(args)    restore named function\n"
-msgstr "  -P, --function=Ð\98Ð\9cЯ(аÑ\80г-Ñ\82Ñ\8b)   Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\83Ñ\8e Ñ\84Ñ\83нкÑ\86иÑ\8e\n"
+msgid "  -P, --function=NAME(args)    restore named functions\n"
+msgstr "  -P, --function=Ð\98Ð\9cЯ(аÑ\80г-Ñ\82Ñ\8b)   Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bе Ñ\84Ñ\83нкÑ\86ии\n"
 
-#: pg_restore.c:438
+#: pg_restore.c:456
 #, c-format
 msgid "  -s, --schema-only            restore only the schema, no data\n"
 msgstr "  -s, --schema-only            восстановить только схему, без данных\n"
 
-#: pg_restore.c:439
+#: pg_restore.c:457
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use for disabling "
@@ -2576,17 +2600,17 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя суперпользователя для отключения "
 "триггеров\n"
 
-#: pg_restore.c:440
+#: pg_restore.c:458
 #, c-format
-msgid "  -t, --table=NAME             restore named table(s)\n"
-msgstr "  -t, --table=Ð\98Ð\9cЯ              Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\83Ñ\8e Ñ\82аблиÑ\86Ñ\83\8b)\n"
+msgid "  -t, --table=NAME             restore named tables\n"
+msgstr "  -t, --table=Ð\98Ð\9cЯ              Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bе Ñ\82аблиÑ\86Ñ\8b\n"
 
-#: pg_restore.c:441
+#: pg_restore.c:459
 #, c-format
-msgid "  -T, --trigger=NAME           restore named trigger\n"
-msgstr "  -T, --trigger=Ð\98Ð\9cЯ            Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bй Ñ\82Ñ\80иггеÑ\80\n"
+msgid "  -T, --trigger=NAME           restore named triggers\n"
+msgstr "  -T, --trigger=Ð\98Ð\9cЯ            Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bе Ñ\82Ñ\80иггеÑ\80Ñ\8b\n"
 
-#: pg_restore.c:442
+#: pg_restore.c:460
 #, c-format
 msgid ""
 "  -x, --no-privileges          skip restoration of access privileges (grant/"
@@ -2595,13 +2619,13 @@ msgstr ""
 "  -x, --no-privileges          не восстанавливать права доступа\n"
 "                               (назначение/отзыв)\n"
 
-#: pg_restore.c:443
+#: pg_restore.c:461
 #, c-format
 msgid "  -1, --single-transaction     restore as a single transaction\n"
 msgstr ""
 "  -1, --single-transaction     выполнить восстановление в одной транзакции\n"
 
-#: pg_restore.c:445
+#: pg_restore.c:464
 #, c-format
 msgid ""
 "  --no-data-for-failed-tables  do not restore data of tables that could not "
@@ -2611,33 +2635,33 @@ msgstr ""
 "  --no-data-for-failed-tables  не восстанавливать данные таблиц, которые\n"
 "                               не удалось создать\n"
 
-#: pg_restore.c:447
+#: pg_restore.c:466
 #, c-format
 msgid "  --no-security-labels         do not restore security labels\n"
 msgstr "  --no-security-labels         не восстанавливать метки безопасности\n"
 
-#: pg_restore.c:448
+#: pg_restore.c:467
 #, c-format
 msgid "  --no-tablespaces             do not restore tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не восстанавливать назначения табл. "
 "пространств\n"
 
-#: pg_restore.c:449
+#: pg_restore.c:468
 #, c-format
 msgid ""
-"  --section=SECTION            restore named section (pre-data, data, or "
+"  --section=SECTION            restore named sections (pre-data, data, or "
 "post-data)\n"
 msgstr ""
-"  --section=РÐ\90Ð\97Ð\94Ð\95Ð\9b             Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bй Ñ\80аздел\n"
+"  --section=РÐ\90Ð\97Ð\94Ð\95Ð\9b             Ð²Ð¾Ñ\81Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð´Ð°Ð½Ð½Ñ\8bе Ñ\80азделÑ\8b\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_restore.c:460
+#: pg_restore.c:479
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before restore\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед восстановлением\n"
 
-#: pg_restore.c:462
+#: pg_restore.c:481
 #, c-format
 msgid ""
 "\n"
@@ -2649,6 +2673,33 @@ msgstr ""
 "ввода.\n"
 "\n"
 
+#~ msgid "could not determine seek position in file: %s\n"
+#~ msgstr "не удалось определить позицию в файле: %s\n"
+
+#~ msgid "could not write to output file: %s\n"
+#~ msgstr "не удалось записать в выходной файл: %s\n"
+
+#~ 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"
+
+#~ msgid "could not write byte\n"
+#~ msgstr "не удалось записать байт\n"
+
+#~ msgid "could not write null block at end of tar archive\n"
+#~ msgstr "не удалось записать нулевой блок в конец tar-архива\n"
+
+#~ msgid "could not output padding at end of tar member\n"
+#~ msgstr "не удалось записать выравнивание для компонента tar\n"
+
+#~ msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n"
+#~ msgstr "реальная позиция в файле отличается от предсказанной (%s и %s)\n"
+
 #~ msgid "Error processing a parallel work item.\n"
 #~ msgstr "Ошибка выполнения части параллельной работы.\n"
 
@@ -2670,21 +2721,6 @@ msgstr ""
 #~ msgid "%s: could not parse version \"%s\"\n"
 #~ msgstr "%s: не удалось разобрать строку версии \"%s\"\n"
 
-#~ msgid "child process exited with exit code %d"
-#~ msgstr "дочерний процесс завершился с кодом возврата %d"
-
-#~ msgid "child process was terminated by exception 0x%X"
-#~ msgstr "дочерний процесс прерван исключением 0x%X"
-
-#~ msgid "child process was terminated by signal %s"
-#~ msgstr "дочерний процесс завершён по сигналу %s"
-
-#~ msgid "child process was terminated by signal %d"
-#~ msgstr "дочерний процесс завершён по сигналу %d"
-
-#~ msgid "child process exited with unrecognized status %d"
-#~ msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
-
 #~ msgid "-C and -c are incompatible options\n"
 #~ msgstr "Параметры -C и -c несовместимы\n"
 
index b61df5a262602429ce099dd6dfded2807eb19bce..518c3817b8847b266865505b5a74e7b2e0ae41dd 100644 (file)
@@ -11,7 +11,8 @@
 # http://wiki.postgresql.org/wiki/NLS/ru/dict
 #
 # ChangeLog:
-#   - April 2, 2014: Alexander Lakhin <exclusion@gmail.com>.
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
+#     - With corrections from Dmitriy Olshevskiy <olshevskiy87@bk.ru>
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 2, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -28,9 +29,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-08-02 06:42+0000\n"
-"PO-Revision-Date: 2014-08-04 16:01+0400\n"
-"Last-Translator: Dmitriy Olshevskiy <olshevskiy87@bk.ru>\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-24 08:37+0400\n"
+"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
@@ -38,7 +39,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "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"
-"X-Generator: Poedit 1.6.7\n"
+"X-Generator: Lokalize 1.5\n"
 
 #: pg_resetxlog.c:130
 #, c-format
@@ -335,7 +336,7 @@ msgstr "Максимальный размер порции TOAST:     %u\n"
 #: pg_resetxlog.c:625
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
-msgstr "Размер порции большого объекта:       %u\n"
+msgstr "Размер порции большого объекта:    %u\n"
 
 #: pg_resetxlog.c:627
 #, c-format
@@ -383,7 +384,7 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Ð\98зменÑ\8fемÑ\8bе Ð·Ð½Ð°Ñ\87ениÑ\8f:\n"
+"Ð\97наÑ\87ениÑ\8f, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð±Ñ\83дÑ\83Ñ\82 Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ\8b:\n"
 "\n"
 
 #: pg_resetxlog.c:650
@@ -404,7 +405,7 @@ msgstr "OldestMultiXid:                       %u\n"
 #: pg_resetxlog.c:658
 #, c-format
 msgid "OldestMulti's DB:                     %u\n"
-msgstr "БД OldestMulti:                       %u\n"
+msgstr "БД с oldestMultiXid:                  %u\n"
 
 #: pg_resetxlog.c:664
 #, c-format
@@ -429,11 +430,11 @@ msgstr "OldestXID:                            %u\n"
 #: pg_resetxlog.c:680
 #, c-format
 msgid "OldestXID's DB:                       %u\n"
-msgstr "БД OldestXID:                         %u\n"
+msgstr "БД с oldestXID:                       %u\n"
 
 #: pg_resetxlog.c:686
 #, c-format
-msgid "NextXID Epoch:                        %u\n"
+msgid "NextXID epoch:                        %u\n"
 msgstr "Эпоха NextXID:                        %u\n"
 
 #: pg_resetxlog.c:751
@@ -544,8 +545,9 @@ msgstr "  -m MXID,MXID     задать ID следующей и старейш
 msgid ""
 "  -n               no update, just show what would be done (for testing)\n"
 msgstr ""
-"  -n               ничего обновлять, только показать, что будет сделано (для "
-"проверки)\n"
+"  -n               показать, какие действия будут выполнены, но не выполнять "
+"их\n"
+"                   (для проверки)\n"
 
 #: pg_resetxlog.c:1087
 #, c-format
@@ -581,15 +583,15 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#~ msgid "First log file ID after reset:        %u\n"
-#~ msgstr "ID первого журнала после сброса:      %u\n"
-
-#~ msgid "enabled"
-#~ msgstr "включен"
+#~ msgid "  -m XID,OLDEST    set next multitransaction ID and oldest value\n"
+#~ msgstr ""
+#~ "  -m XID,СТАРЕЙШАЯ задать ID следующей мультитранзакции и ID старейшей\n"
 
 #~ msgid "disabled"
 #~ msgstr "отключен"
 
-#~ msgid "  -m XID,OLDEST    set next multitransaction ID and oldest value\n"
-#~ msgstr ""
-#~ "  -m XID,СТАРЕЙШАЯ задать ID следующей мультитранзакции и ID старейшей\n"
+#~ msgid "enabled"
+#~ msgstr "включен"
+
+#~ msgid "First log file ID after reset:        %u\n"
+#~ msgstr "ID первого журнала после сброса:      %u\n"
index 12be50b2ac2deca0e78198de10ba18467cd6cfeb..a9767be757b4b8251e019aa9ae8144ac8b23c1e9 100644 (file)
@@ -11,6 +11,7 @@
 #   PG Glossary: <http://www.sai.msu.su/~megera/oddmuse/index.cgi?Pgsql_Glossary>
 #
 # ChangeLog:
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 3, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -22,8 +23,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2013-08-10 02:20+0000\n"
-"PO-Revision-Date: 2013-08-10 07:22+0400\n"
+"POT-Creation-Date: 2014-08-19 10:12+0000\n"
+"PO-Revision-Date: 2014-08-20 22:28+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
@@ -47,19 +48,33 @@ msgstr "нехватка памяти\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
+#: ../../common/username.c:45
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
+
+#: ../../common/username.c:47
+msgid "user does not exist"
+msgstr "пользователь не существует"
+
+#: ../../common/username.c:61
+#, c-format
+msgid "user name lookup failure: %s"
+msgstr "ошибка преобразования имени пользователя: %s"
+
 #: clusterdb.c:110 clusterdb.c:129 createdb.c:119 createdb.c:138
-#: createlang.c:89 createlang.c:119 createlang.c:172 createuser.c:163
-#: createuser.c:178 dropdb.c:94 dropdb.c:103 dropdb.c:111 droplang.c:88
-#: droplang.c:118 droplang.c:172 dropuser.c:89 dropuser.c:104 dropuser.c:115
-#: pg_isready.c:92 pg_isready.c:106 reindexdb.c:120 reindexdb.c:139
-#: vacuumdb.c:134 vacuumdb.c:154
+#: createlang.c:89 createlang.c:119 createlang.c:174 createuser.c:168
+#: createuser.c:183 dropdb.c:94 dropdb.c:103 dropdb.c:111 droplang.c:88
+#: droplang.c:118 droplang.c:174 dropuser.c:89 dropuser.c:104 dropuser.c:115
+#: pg_isready.c:93 pg_isready.c:107 reindexdb.c:120 reindexdb.c:139
+#: vacuumdb.c:139 vacuumdb.c:159
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:176
-#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:104 reindexdb.c:137
-#: vacuumdb.c:152
+#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:181
+#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:137
+#: vacuumdb.c:157
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
@@ -98,21 +113,21 @@ msgstr ""
 "%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n"
 "\n"
 
-#: clusterdb.c:262 createdb.c:252 createlang.c:234 createuser.c:329
-#: dropdb.c:155 droplang.c:235 dropuser.c:156 pg_isready.c:210 reindexdb.c:342
-#: vacuumdb.c:358
+#: clusterdb.c:262 createdb.c:252 createlang.c:236 createuser.c:348
+#: dropdb.c:155 droplang.c:237 dropuser.c:156 pg_isready.c:222 reindexdb.c:342
+#: vacuumdb.c:394
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: clusterdb.c:263 reindexdb.c:343 vacuumdb.c:359
+#: clusterdb.c:263 reindexdb.c:343 vacuumdb.c:395
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: clusterdb.c:264 createdb.c:254 createlang.c:236 createuser.c:331
-#: dropdb.c:157 droplang.c:237 dropuser.c:158 pg_isready.c:213 reindexdb.c:344
-#: vacuumdb.c:360
+#: clusterdb.c:264 createdb.c:254 createlang.c:238 createuser.c:350
+#: dropdb.c:157 droplang.c:239 dropuser.c:158 pg_isready.c:225 reindexdb.c:344
+#: vacuumdb.c:396
 #, c-format
 msgid ""
 "\n"
@@ -131,8 +146,8 @@ msgstr "  -a, --all                 кластеризовать все базы
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=ИМЯ_БД       имя базы данных для кластеризации\n"
 
-#: clusterdb.c:267 createlang.c:238 createuser.c:335 dropdb.c:158
-#: droplang.c:239 dropuser.c:159 reindexdb.c:347
+#: clusterdb.c:267 createlang.c:240 createuser.c:354 dropdb.c:158
+#: droplang.c:241 dropuser.c:159 reindexdb.c:347
 #, c-format
 msgid ""
 "  -e, --echo                show the commands being sent to the server\n"
@@ -154,21 +169,21 @@ msgstr ""
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             выводить исчерпывающие сообщения\n"
 
-#: clusterdb.c:271 createlang.c:240 createuser.c:348 dropdb.c:160
-#: droplang.c:241 dropuser.c:162 reindexdb.c:352
+#: clusterdb.c:271 createlang.c:242 createuser.c:368 dropdb.c:160
+#: droplang.c:243 dropuser.c:162 reindexdb.c:352
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             показать версию и выйти\n"
 
-#: clusterdb.c:272 createlang.c:241 createuser.c:353 dropdb.c:162
-#: droplang.c:242 dropuser.c:164 reindexdb.c:353
+#: clusterdb.c:272 createlang.c:243 createuser.c:373 dropdb.c:162
+#: droplang.c:244 dropuser.c:164 reindexdb.c:353
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                показать эту справку и выйти\n"
 
-#: clusterdb.c:273 createdb.c:265 createlang.c:242 createuser.c:354
-#: dropdb.c:163 droplang.c:243 dropuser.c:165 pg_isready.c:219 reindexdb.c:354
-#: vacuumdb.c:373
+#: clusterdb.c:273 createdb.c:265 createlang.c:244 createuser.c:374
+#: dropdb.c:163 droplang.c:245 dropuser.c:165 pg_isready.c:231 reindexdb.c:354
+#: vacuumdb.c:411
 #, c-format
 msgid ""
 "\n"
@@ -177,39 +192,39 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: clusterdb.c:274 createlang.c:243 createuser.c:355 dropdb.c:164
-#: droplang.c:244 dropuser.c:166 reindexdb.c:355 vacuumdb.c:374
+#: clusterdb.c:274 createlang.c:245 createuser.c:375 dropdb.c:164
+#: droplang.c:246 dropuser.c:166 reindexdb.c:355 vacuumdb.c:412
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ИМЯ            имя сервера баз данных или каталог сокетов\n"
 
-#: clusterdb.c:275 createlang.c:244 createuser.c:356 dropdb.c:165
-#: droplang.c:245 dropuser.c:167 reindexdb.c:356 vacuumdb.c:375
+#: clusterdb.c:275 createlang.c:246 createuser.c:376 dropdb.c:165
+#: droplang.c:247 dropuser.c:167 reindexdb.c:356 vacuumdb.c:413
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=ПОРТ           порт сервера баз данных\n"
 
-#: clusterdb.c:276 createlang.c:245 dropdb.c:166 droplang.c:246
-#: reindexdb.c:357 vacuumdb.c:376
+#: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
+#: reindexdb.c:357 vacuumdb.c:414
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ        имя пользователя для подключения к серверу\n"
 
-#: clusterdb.c:277 createlang.c:246 createuser.c:358 dropdb.c:167
-#: droplang.c:247 dropuser.c:169 reindexdb.c:358 vacuumdb.c:377
+#: clusterdb.c:277 createlang.c:248 createuser.c:378 dropdb.c:167
+#: droplang.c:249 dropuser.c:169 reindexdb.c:358 vacuumdb.c:415
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         не запрашивать пароль\n"
 
-#: clusterdb.c:278 createlang.c:247 createuser.c:359 dropdb.c:168
-#: droplang.c:248 dropuser.c:170 reindexdb.c:359 vacuumdb.c:378
+#: clusterdb.c:278 createlang.c:249 createuser.c:379 dropdb.c:168
+#: droplang.c:250 dropuser.c:170 reindexdb.c:359 vacuumdb.c:416
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            запросить пароль\n"
 
-#: clusterdb.c:279 dropdb.c:169 reindexdb.c:360 vacuumdb.c:379
+#: clusterdb.c:279 dropdb.c:169 reindexdb.c:360 vacuumdb.c:417
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=ИМЯ_БД   выбор другой обслуживаемой базы данных\n"
@@ -223,9 +238,9 @@ msgstr ""
 "\n"
 "Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n"
 
-#: clusterdb.c:281 createdb.c:273 createlang.c:248 createuser.c:360
-#: dropdb.c:170 droplang.c:249 dropuser.c:171 pg_isready.c:224 reindexdb.c:362
-#: vacuumdb.c:381
+#: clusterdb.c:281 createdb.c:273 createlang.c:250 createuser.c:380
+#: dropdb.c:170 droplang.c:251 dropuser.c:171 pg_isready.c:236 reindexdb.c:362
+#: vacuumdb.c:419
 #, c-format
 msgid ""
 "\n"
@@ -234,68 +249,58 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: common.c:44
-#, c-format
-msgid "%s: could not obtain information about current user: %s\n"
-msgstr "%s: не удалось получить информацию о текущем пользователе: %s\n"
-
-#: common.c:55
-#, c-format
-msgid "%s: could not get current user name: %s\n"
-msgstr "%s: не удалось узнать имя текущего пользователя: %s\n"
-
-#: common.c:102 common.c:148
+#: common.c:69 common.c:115
 msgid "Password: "
 msgstr "Пароль: "
 
-#: common.c:137
+#: common.c:104
 #, c-format
 msgid "%s: could not connect to database %s\n"
 msgstr "%s: не удалось подключиться к базе %s\n"
 
-#: common.c:164
+#: common.c:131
 #, c-format
 msgid "%s: could not connect to database %s: %s"
 msgstr "%s: не удалось подключиться к базе %s: %s"
 
-#: common.c:213 common.c:241
+#: common.c:180 common.c:208
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: ошибка при выполнении запроса: %s"
 
-#: common.c:215 common.c:243
+#: common.c:182 common.c:210
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: запрос: %s\n"
 
 #. translator: abbreviation for "yes"
-#: common.c:284
+#: common.c:251
 msgid "y"
 msgstr "y"
 
 #. translator: abbreviation for "no"
-#: common.c:286
+#: common.c:253
 msgid "n"
 msgstr "n"
 
 #. translator: This is a question followed by the translated options for
 #. "yes" and "no".
-#: common.c:296
+#: common.c:263
 #, c-format
 msgid "%s (%s/%s) "
 msgstr "%s (%s - да/%s - нет) "
 
-#: common.c:317
+#: common.c:284
 #, c-format
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Пожалуйста, введите \"%s\" или \"%s\".\n"
 
-#: common.c:395 common.c:428
+#: common.c:362 common.c:395
 #, c-format
 msgid "Cancel request sent\n"
 msgstr "Сигнал отмены отправлен\n"
 
-#: common.c:397 common.c:430
+#: common.c:364 common.c:397
 #, c-format
 msgid "Could not send cancel request: %s"
 msgstr "Отправить сигнал отмены не удалось: %s"
@@ -457,22 +462,22 @@ msgstr "Доверенный?"
 msgid "Procedural Languages"
 msgstr "Процедурные языки"
 
-#: createlang.c:171 droplang.c:170
+#: createlang.c:173 droplang.c:172
 #, c-format
 msgid "%s: missing required argument language name\n"
 msgstr "%s: отсутствует необходимый аргумент: название языка\n"
 
-#: createlang.c:195
+#: createlang.c:197
 #, c-format
 msgid "%s: language \"%s\" is already installed in database \"%s\"\n"
 msgstr "%s: поддержка языка \"%s\" уже имеется в базе \"%s\"\n"
 
-#: createlang.c:217
+#: createlang.c:219
 #, c-format
 msgid "%s: language installation failed: %s"
 msgstr "%s: установить поддержку языка не удалось: %s"
 
-#: createlang.c:233
+#: createlang.c:235
 #, c-format
 msgid ""
 "%s installs a procedural language into a PostgreSQL database.\n"
@@ -481,62 +486,62 @@ msgstr ""
 "%s устанавливает поддержку процедурного языка в базу PostgreSQL.\n"
 "\n"
 
-#: createlang.c:235 droplang.c:236
+#: createlang.c:237 droplang.c:238
 #, c-format
 msgid "  %s [OPTION]... LANGNAME [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... ЯЗЫК [ИМЯ_БД]\n"
 
-#: createlang.c:237
+#: createlang.c:239
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to install language in\n"
 msgstr "  -d, --dbname=ИМЯ_БД       база данных, куда будет установлен язык\n"
 
-#: createlang.c:239 droplang.c:240
+#: createlang.c:241 droplang.c:242
 #, c-format
 msgid ""
 "  -l, --list                show a list of currently installed languages\n"
 msgstr "  -l, --list                показать список установленных языков\n"
 
-#: createuser.c:185
+#: createuser.c:190
 msgid "Enter name of role to add: "
 msgstr "Введите имя новой роли: "
 
-#: createuser.c:200
+#: createuser.c:205
 msgid "Enter password for new role: "
 msgstr "Введите пароль для новой роли: "
 
-#: createuser.c:201
+#: createuser.c:206
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: createuser.c:204
+#: createuser.c:209
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
-#: createuser.c:213
+#: createuser.c:218
 msgid "Shall the new role be a superuser?"
 msgstr "Должна ли новая роль иметь полномочия суперпользователя?"
 
-#: createuser.c:228
+#: createuser.c:233
 msgid "Shall the new role be allowed to create databases?"
 msgstr "Новая роль должна иметь право создавать базы данных?"
 
-#: createuser.c:236
+#: createuser.c:241
 msgid "Shall the new role be allowed to create more new roles?"
 msgstr "Новая роль должна иметь право создавать другие роли?"
 
-#: createuser.c:270
+#: createuser.c:275
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Ошибка при шифровании пароля.\n"
 
-#: createuser.c:313
+#: createuser.c:332
 #, c-format
 msgid "%s: creation of new role failed: %s"
 msgstr "%s: создать роль не удалось: %s"
 
-#: createuser.c:328
+#: createuser.c:347
 #, c-format
 msgid ""
 "%s creates a new PostgreSQL role.\n"
@@ -545,12 +550,12 @@ msgstr ""
 "%s создаёт роль пользователя PostgreSQL.\n"
 "\n"
 
-#: createuser.c:330 dropuser.c:157
+#: createuser.c:349 dropuser.c:157
 #, c-format
 msgid "  %s [OPTION]... [ROLENAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_РОЛИ]\n"
 
-#: createuser.c:332
+#: createuser.c:351
 #, c-format
 msgid ""
 "  -c, --connection-limit=N  connection limit for role (default: no limit)\n"
@@ -558,24 +563,29 @@ msgstr ""
 "  -c, --connection-limit=N  предел подключений для роли\n"
 "                            (по умолчанию предела нет)\n"
 
-#: createuser.c:333
+#: createuser.c:352
 #, c-format
 msgid "  -d, --createdb            role can create new databases\n"
 msgstr "  -d, --createdb            роль с правом создания баз данных\n"
 
-#: createuser.c:334
+#: createuser.c:353
 #, c-format
 msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr ""
 "  -D, --no-createdb         роль без права создания баз данных (по "
 "умолчанию)\n"
 
-#: createuser.c:336
+#: createuser.c:355
 #, c-format
 msgid "  -E, --encrypted           encrypt stored password\n"
 msgstr "  -E, --encrypted           зашифровать сохранённый пароль\n"
 
-#: createuser.c:337
+#: createuser.c:356
+#, c-format
+msgid "  -g, --role=ROLE           new role will be a member of this role\n"
+msgstr "  -g, --role=РОЛЬ           новая роль будет включена в эту роль\n"
+
+#: createuser.c:357
 #, c-format
 msgid ""
 "  -i, --inherit             role inherits privileges of roles it is a\n"
@@ -585,57 +595,57 @@ msgstr ""
 "она\n"
 "                            включена (по умолчанию)\n"
 
-#: createuser.c:339
+#: createuser.c:359
 #, c-format
 msgid "  -I, --no-inherit          role does not inherit privileges\n"
 msgstr "  -I, --no-inherit          роль не наследует права\n"
 
-#: createuser.c:340
+#: createuser.c:360
 #, c-format
 msgid "  -l, --login               role can login (default)\n"
 msgstr ""
 "  -l, --login               роль с правом подключения к серверу (по "
 "умолчанию)\n"
 
-#: createuser.c:341
+#: createuser.c:361
 #, c-format
 msgid "  -L, --no-login            role cannot login\n"
 msgstr "  -L, --no-login            роль без права подключения\n"
 
-#: createuser.c:342
+#: createuser.c:362
 #, c-format
 msgid "  -N, --unencrypted         do not encrypt stored password\n"
 msgstr "  -N, --unencrypted         не шифровать сохранённый пароль\n"
 
-#: createuser.c:343
+#: createuser.c:363
 #, c-format
 msgid "  -P, --pwprompt            assign a password to new role\n"
 msgstr "  -P, --pwprompt            назначить пароль новой роли\n"
 
-#: createuser.c:344
+#: createuser.c:364
 #, c-format
 msgid "  -r, --createrole          role can create new roles\n"
 msgstr "  -r, --createrole          роль с правом создания других ролей\n"
 
-#: createuser.c:345
+#: createuser.c:365
 #, c-format
 msgid "  -R, --no-createrole       role cannot create roles (default)\n"
 msgstr ""
 "  -R, --no-createrole       роль без права создания ролей (по умолчанию)\n"
 
-#: createuser.c:346
+#: createuser.c:366
 #, c-format
 msgid "  -s, --superuser           role will be superuser\n"
 msgstr "  -s, --superuser           роль с полномочиями суперпользователя\n"
 
-#: createuser.c:347
+#: createuser.c:367
 #, c-format
 msgid "  -S, --no-superuser        role will not be superuser (default)\n"
 msgstr ""
 "  -S, --no-superuser        роль без полномочий суперпользователя (по "
 "умолчанию)\n"
 
-#: createuser.c:349
+#: createuser.c:369
 #, c-format
 msgid ""
 "  --interactive             prompt for missing role name and attributes "
@@ -645,17 +655,17 @@ msgstr ""
 "  --interactive             запрашивать отсутствующие атрибуты и имя роли,\n"
 "                            а не использовать значения по умолчанию\n"
 
-#: createuser.c:351
+#: createuser.c:371
 #, c-format
 msgid "  --replication             role can initiate replication\n"
 msgstr "  --replication             роль может инициировать репликацию\n"
 
-#: createuser.c:352
+#: createuser.c:372
 #, c-format
 msgid "  --no-replication          role cannot initiate replication\n"
 msgstr "  --no-replication          роль не может инициировать репликацию\n"
 
-#: createuser.c:357
+#: createuser.c:377
 #, c-format
 msgid ""
 "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
@@ -708,17 +718,17 @@ msgid ""
 msgstr ""
 "  --if-exists               не считать ошибкой отсутствие базы данных\n"
 
-#: droplang.c:201
+#: droplang.c:203
 #, c-format
 msgid "%s: language \"%s\" is not installed in database \"%s\"\n"
 msgstr "%s: поддержка языка \"%s\" не установлена в базе данных\"%s\"\n"
 
-#: droplang.c:219
+#: droplang.c:221
 #, c-format
 msgid "%s: language removal failed: %s"
 msgstr "%s: ошибка при удалении поддержки языка: %s"
 
-#: droplang.c:234
+#: droplang.c:236
 #, c-format
 msgid ""
 "%s removes a procedural language from a database.\n"
@@ -727,7 +737,7 @@ msgstr ""
 "%s удаляет процедурный язык из базы данных.\n"
 "\n"
 
-#: droplang.c:238
+#: droplang.c:240
 #, c-format
 msgid ""
 "  -d, --dbname=DBNAME       database from which to remove the language\n"
@@ -785,17 +795,17 @@ msgstr ""
 "  -U, --username=ИМЯ        имя пользователя для выполнения операции\n"
 "                            (но не имя удаляемой роли)\n"
 
-#: pg_isready.c:138
+#: pg_isready.c:142
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: pg_isready.c:146
+#: pg_isready.c:150
 #, c-format
 msgid "%s: could not fetch default options\n"
 msgstr "%s: не удалось получить параметры по умолчанию\n"
 
-#: pg_isready.c:209
+#: pg_isready.c:221
 #, c-format
 msgid ""
 "%s issues a connection check to a PostgreSQL database.\n"
@@ -804,43 +814,43 @@ msgstr ""
 "%s проверяет подключение к базе данных PostgreSQL.\n"
 "\n"
 
-#: pg_isready.c:211
+#: pg_isready.c:223
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_isready.c:214
+#: pg_isready.c:226
 #, c-format
 msgid "  -d, --dbname=DBNAME      database name\n"
 msgstr "  -d, --dbname=БД          имя базы\n"
 
-#: pg_isready.c:215
+#: pg_isready.c:227
 #, c-format
 msgid "  -q, --quiet              run quietly\n"
 msgstr "  -q, --quiet              не выводить никакие сообщения\n"
 
-#: pg_isready.c:216
+#: pg_isready.c:228
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: pg_isready.c:217
+#: pg_isready.c:229
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               показать эту справку и выйти\n"
 
-#: pg_isready.c:220
+#: pg_isready.c:232
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
 
-#: pg_isready.c:221
+#: pg_isready.c:233
 #, c-format
 msgid "  -p, --port=PORT          database server port\n"
 msgstr "  -p, --port=ПОРТ          порт сервера баз данных\n"
 
-#: pg_isready.c:222
+#: pg_isready.c:234
 #, c-format
 msgid ""
 "  -t, --timeout=SECS       seconds to wait when attempting connection, 0 "
@@ -849,7 +859,7 @@ msgstr ""
 "  -t, --timeout=СЕК        время ожидания при попытке подключения;\n"
 "                           0 - без ограничения (по умолчанию: %s)\n"
 
-#: pg_isready.c:223
+#: pg_isready.c:235
 #, c-format
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr ""
@@ -963,44 +973,56 @@ msgstr ""
 "\n"
 "Подробнее о переиндексации вы можете узнать в описании SQL-команды REINDEX.\n"
 
-#: vacuumdb.c:162
+#: vacuumdb.c:167
 #, c-format
 msgid "%s: cannot use the \"full\" option when performing only analyze\n"
 msgstr ""
 "%s: при выполнении только анализа нельзя использовать параметр \"full\"\n"
 
-#: vacuumdb.c:168
+#: vacuumdb.c:173
 #, c-format
 msgid "%s: cannot use the \"freeze\" option when performing only analyze\n"
 msgstr ""
 "%s: при выполнении только анализа нельзя использовать только \"freeze\"\n"
 
-#: vacuumdb.c:181
+#: vacuumdb.c:186
 #, c-format
 msgid "%s: cannot vacuum all databases and a specific one at the same time\n"
 msgstr "%s: нельзя очистить все базы данных и одну конкретную одновременно\n"
 
-#: vacuumdb.c:187
+#: vacuumdb.c:192
 #, c-format
 msgid "%s: cannot vacuum specific table(s) in all databases\n"
 msgstr "%s: нельзя очистить одну указанную таблицу(ы) во всех базах\n"
 
-#: vacuumdb.c:306
+#: vacuumdb.c:244
 #, c-format
 msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: очистить таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: vacuumdb.c:309
+#: vacuumdb.c:247
 #, c-format
 msgid "%s: vacuuming of database \"%s\" failed: %s"
 msgstr "%s: очистить базу данных \"%s\" не удалось: %s"
 
-#: vacuumdb.c:341
+#: vacuumdb.c:333
+msgid "Generating minimal optimizer statistics (1 target)"
+msgstr "Вычисление минимальной статистики для оптимизатора (1 запись)"
+
+#: vacuumdb.c:334
+msgid "Generating medium optimizer statistics (10 targets)"
+msgstr "Вычисление средней статистики для оптимизатора (10 записей)"
+
+#: vacuumdb.c:335
+msgid "Generating default (full) optimizer statistics"
+msgstr "Вычисление стандартной (полной) статистики для оптимизатора"
+
+#: vacuumdb.c:376
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: очистка базы данных \"%s\"\n"
 
-#: vacuumdb.c:357
+#: vacuumdb.c:393
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1009,17 +1031,17 @@ msgstr ""
 "%s очищает и анализирует базу данных PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:361
+#: vacuumdb.c:397
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       очистить все базы данных\n"
 
-#: vacuumdb.c:362
+#: vacuumdb.c:398
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=ИМЯ_БД             очистить указанную базу данных\n"
 
-#: vacuumdb.c:363
+#: vacuumdb.c:399
 #, c-format
 msgid ""
 "  -e, --echo                      show the commands being sent to the "
@@ -1027,57 +1049,69 @@ msgid ""
 msgstr ""
 "  -e, --echo                      отображать команды, отправляемые серверу\n"
 
-#: vacuumdb.c:364
+#: vacuumdb.c:400
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      произвести полную очистку\n"
 
-#: vacuumdb.c:365
+#: vacuumdb.c:401
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr ""
 "  -F, --freeze                    заморозить информацию о транзакциях в "
 "строках\n"
 
-#: vacuumdb.c:366
+#: vacuumdb.c:402
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     не выводить сообщения\n"
 
-#: vacuumdb.c:367
+#: vacuumdb.c:403
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr ""
 "  -t, --table='ТАБЛ[(КОЛОНКИ)]'   очистить только указанную таблицу(ы)\n"
 
-#: vacuumdb.c:368
+#: vacuumdb.c:404
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   выводить исчерпывающие сообщения\n"
 
-#: vacuumdb.c:369
+#: vacuumdb.c:405
 #, c-format
 msgid ""
 "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   показать версию и выйти\n"
 
-#: vacuumdb.c:370
+#: vacuumdb.c:406
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   обновить статистику оптимизатора\n"
 
-#: vacuumdb.c:371
+#: vacuumdb.c:407
 #, c-format
 msgid "  -Z, --analyze-only              only update optimizer statistics\n"
 msgstr ""
 "  -Z, --analyze-only              только обновить статистику оптимизатора\n"
 
-#: vacuumdb.c:372
+#: vacuumdb.c:408
+#, c-format
+msgid ""
+"      --analyze-in-stages         only update optimizer statistics, in "
+"multiple\n"
+"                                  stages for faster results\n"
+msgstr ""
+"      --analyze-in-stages         только пересчитать статистику для "
+"оптимизатора\n"
+"                                  (в несколько проходов для большей "
+"скорости)\n"
+
+#: vacuumdb.c:410
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      показать эту справку и выйти\n"
 
-#: vacuumdb.c:380
+#: vacuumdb.c:418
 #, c-format
 msgid ""
 "\n"
@@ -1086,6 +1120,12 @@ msgstr ""
 "\n"
 "Подробнее об очистке вы можете узнать в описании SQL-команды VACUUM.\n"
 
+#~ msgid "%s: could not obtain information about current user: %s\n"
+#~ msgstr "%s: не удалось получить информацию о текущем пользователе: %s\n"
+
+#~ msgid "%s: could not get current user name: %s\n"
+#~ msgstr "%s: не удалось узнать имя текущего пользователя: %s\n"
+
 #~ msgid "  -U, --username=USERNAME  database username\n"
 #~ msgstr "  -U, --username=ИМЯ       имя пользователя\n"
 
index 55e1b0c1ce204af255431f5e31a57e60636a9815..9e1939b02596b31a582ff83b0513cb02d9b34a9e 100644 (file)
@@ -5,6 +5,7 @@
 # This file is distributed under the same license as the PostgreSQL package.
 #
 # ChangeLog:
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 2, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -13,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2013-03-12 23:10+0000\n"
-"PO-Revision-Date: 2013-03-14 08:51+0400\n"
+"POT-Creation-Date: 2014-08-19 10:07+0000\n"
+"PO-Revision-Date: 2014-08-20 22:28+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
@@ -25,34 +26,34 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Lokalize 1.5\n"
 
-#: pl_comp.c:432 pl_handler.c:276
+#: pl_comp.c:436 pl_handler.c:438
 #, c-format
 msgid "PL/pgSQL functions cannot accept type %s"
 msgstr "функции PL/pgSQL не могут принимать тип %s"
 
-#: pl_comp.c:513
+#: pl_comp.c:517
 #, c-format
 msgid "could not determine actual return type for polymorphic function \"%s\""
 msgstr ""
 "не удалось определить фактический тип результата для полиморфной функции \"%s"
 "\""
 
-#: pl_comp.c:543
+#: pl_comp.c:547
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "триггерные функции могут вызываться только в триггерах"
 
-#: pl_comp.c:547 pl_handler.c:261
+#: pl_comp.c:551 pl_handler.c:423
 #, c-format
 msgid "PL/pgSQL functions cannot return type %s"
 msgstr "функции PL/pgSQL не могут возвращать тип %s"
 
-#: pl_comp.c:590
+#: pl_comp.c:594
 #, c-format
 msgid "trigger functions cannot have declared arguments"
 msgstr "у триггерных функций не может быть объявленных аргументов"
 
-#: pl_comp.c:591
+#: pl_comp.c:595
 #, c-format
 msgid ""
 "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV "
@@ -61,63 +62,63 @@ msgstr ""
 "При необходимости к аргументам триггера можно обращаться через переменные "
 "TG_NARGS and TG_ARGV."
 
-#: pl_comp.c:693
+#: pl_comp.c:697
 #, c-format
 msgid "event trigger functions cannot have declared arguments"
 msgstr "у функций событийных триггеров не может быть объявленных аргументов"
 
-#: pl_comp.c:950
+#: pl_comp.c:962
 #, c-format
 msgid "compilation of PL/pgSQL function \"%s\" near line %d"
 msgstr "компиляция функции PL/pgSQL \"%s\" в районе строки %d"
 
-#: pl_comp.c:973
+#: pl_comp.c:985
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "имя параметра \"%s\" указано неоднократно"
 
-#: pl_comp.c:1083
+#: pl_comp.c:1095
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "неоднозначная ссылка на колонку \"%s\""
 
-#: pl_comp.c:1085
+#: pl_comp.c:1097
 #, c-format
 msgid "It could refer to either a PL/pgSQL variable or a table column."
 msgstr "Подразумевается ссылка на переменную PL/pgSQL или колонку таблицы."
 
-#: pl_comp.c:1265 pl_comp.c:1293 pl_exec.c:4031 pl_exec.c:4386 pl_exec.c:4472
-#: pl_exec.c:4563
+#: pl_comp.c:1277 pl_comp.c:1305 pl_exec.c:4179 pl_exec.c:4524 pl_exec.c:4609
+#: pl_exec.c:4700
 #, c-format
 msgid "record \"%s\" has no field \"%s\""
 msgstr "в записи \"%s\" нет поля \"%s\""
 
-#: pl_comp.c:1824
+#: pl_comp.c:1836
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: pl_comp.c:1933
+#: pl_comp.c:1945
 #, c-format
 msgid "variable \"%s\" has pseudo-type %s"
 msgstr "переменная \"%s\" имеет псевдотип %s"
 
-#: pl_comp.c:1999
+#: pl_comp.c:2011
 #, c-format
 msgid "relation \"%s\" is not a table"
 msgstr "отношение \"%s\" не является таблицей"
 
-#: pl_comp.c:2159
+#: pl_comp.c:2171
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "тип \"%s\" - лишь пустышка"
 
-#: pl_comp.c:2233 pl_comp.c:2286
+#: pl_comp.c:2245 pl_comp.c:2298
 #, c-format
 msgid "unrecognized exception condition \"%s\""
 msgstr "нераспознанное условие исключения \"%s\""
 
-#: pl_comp.c:2444
+#: pl_comp.c:2456
 #, c-format
 msgid ""
 "could not determine actual argument type for polymorphic function \"%s\""
@@ -125,316 +126,316 @@ msgstr ""
 "не удалось определить фактический тип аргумента для полиморфной функции \"%s"
 "\""
 
-#: pl_exec.c:254 pl_exec.c:514 pl_exec.c:793
+#: pl_exec.c:277 pl_exec.c:537 pl_exec.c:816
 msgid "during initialization of execution state"
 msgstr "в процессе инициализации состояния выполнения"
 
-#: pl_exec.c:261
+#: pl_exec.c:284
 msgid "while storing call arguments into local variables"
 msgstr "при сохранении аргументов вызова в локальных переменных"
 
-#: pl_exec.c:303 pl_exec.c:671
+#: pl_exec.c:326 pl_exec.c:694
 msgid "during function entry"
 msgstr "при входе в функцию"
 
-#: pl_exec.c:334 pl_exec.c:702 pl_exec.c:834
+#: pl_exec.c:357 pl_exec.c:725 pl_exec.c:857
 #, c-format
 msgid "CONTINUE cannot be used outside a loop"
 msgstr "CONTINUE нельзя использовать вне цикла"
 
-#: pl_exec.c:338
+#: pl_exec.c:361
 #, c-format
 msgid "control reached end of function without RETURN"
 msgstr "конец функции достигнут без RETURN"
 
-#: pl_exec.c:345
+#: pl_exec.c:368
 msgid "while casting return value to function's return type"
 msgstr "при приведении возвращаемого значения к типу результата функции"
 
-#: pl_exec.c:358 pl_exec.c:2779
+#: pl_exec.c:381 pl_exec.c:2843
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: pl_exec.c:396 pl_exec.c:2622
+#: pl_exec.c:419 pl_exec.c:2686
 msgid "returned record type does not match expected record type"
 msgstr "возвращаемый тип записи не соответствует ожидаемому"
 
-#: pl_exec.c:456 pl_exec.c:710 pl_exec.c:842
+#: pl_exec.c:479 pl_exec.c:733 pl_exec.c:865
 msgid "during function exit"
 msgstr "при выходе из функции"
 
-#: pl_exec.c:706 pl_exec.c:838
+#: pl_exec.c:729 pl_exec.c:861
 #, c-format
 msgid "control reached end of trigger procedure without RETURN"
 msgstr "конец триггерной процедуры достигнут без RETURN"
 
-#: pl_exec.c:715
+#: pl_exec.c:738
 #, c-format
 msgid "trigger procedure cannot return a set"
 msgstr "триггерная процедура не может возвращать множество"
 
-#: pl_exec.c:737
+#: pl_exec.c:760
 msgid ""
 "returned row structure does not match the structure of the triggering table"
 msgstr ""
 "структура возвращённой строки не соответствует структуре таблицы, вызвавшей "
 "триггер"
 
-#: pl_exec.c:893
+#: pl_exec.c:916
 #, c-format
 msgid "PL/pgSQL function %s line %d %s"
 msgstr "функция PL/pgSQL %s, строка %d, %s"
 
-#: pl_exec.c:904
+#: pl_exec.c:927
 #, 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:912
+#: pl_exec.c:935
 #, c-format
 msgid "PL/pgSQL function %s line %d at %s"
 msgstr "функция PL/pgSQL %s, строка %d, оператор %s"
 
-#: pl_exec.c:918
+#: pl_exec.c:941
 #, c-format
 msgid "PL/pgSQL function %s"
 msgstr "функция PL/pgSQL %s"
 
-#: pl_exec.c:1027
+#: pl_exec.c:1050
 msgid "during statement block local variable initialization"
 msgstr "при инициализации локальной переменной в блоке операторов"
 
-#: pl_exec.c:1069
+#: pl_exec.c:1092
 #, c-format
 msgid "variable \"%s\" declared NOT NULL cannot default to NULL"
 msgstr ""
 "переменная \"%s\", объявленная NOT NULL, не может иметь значение по "
 "умолчанию NULL"
 
-#: pl_exec.c:1119
+#: pl_exec.c:1142
 msgid "during statement block entry"
 msgstr "при входе в блок операторов"
 
-#: pl_exec.c:1140
+#: pl_exec.c:1163
 msgid "during statement block exit"
 msgstr "при выходе из блока операторов"
 
-#: pl_exec.c:1183
+#: pl_exec.c:1206
 msgid "during exception cleanup"
 msgstr "при очистке после исключения"
 
-#: pl_exec.c:1530
+#: pl_exec.c:1559
 #, c-format
 msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
 msgstr ""
 "GET STACKED DIAGNOSTICS нельзя использовать вне блока обработчика исключения"
 
-#: pl_exec.c:1696
+#: pl_exec.c:1760
 #, c-format
 msgid "case not found"
 msgstr "неправильный CASE"
 
-#: pl_exec.c:1697
+#: pl_exec.c:1761
 #, c-format
 msgid "CASE statement is missing ELSE part."
 msgstr "В операторе CASE не хватает части ELSE."
 
-#: pl_exec.c:1849
+#: pl_exec.c:1913
 #, c-format
 msgid "lower bound of FOR loop cannot be null"
 msgstr "нижняя граница цикла FOR не может быть равна NULL"
 
-#: pl_exec.c:1864
+#: pl_exec.c:1928
 #, c-format
 msgid "upper bound of FOR loop cannot be null"
 msgstr "верхняя граница цикла FOR не может быть равна NULL"
 
-#: pl_exec.c:1881
+#: pl_exec.c:1945
 #, c-format
 msgid "BY value of FOR loop cannot be null"
 msgstr "значение BY в цикле FOR не может быть равно NULL"
 
-#: pl_exec.c:1887
+#: pl_exec.c:1951
 #, c-format
 msgid "BY value of FOR loop must be greater than zero"
 msgstr "значение BY в цикле FOR должно быть больше нуля"
 
-#: pl_exec.c:2057 pl_exec.c:3582
+#: pl_exec.c:2121 pl_exec.c:3730
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr "курсор \"%s\" уже используется"
 
-#: pl_exec.c:2080 pl_exec.c:3644
+#: pl_exec.c:2144 pl_exec.c:3792
 #, c-format
 msgid "arguments given for cursor without arguments"
 msgstr "курсору без аргументов были переданы аргументы"
 
-#: pl_exec.c:2099 pl_exec.c:3663
+#: pl_exec.c:2163 pl_exec.c:3811
 #, c-format
 msgid "arguments required for cursor"
 msgstr "курсору требуются аргументы"
 
-#: pl_exec.c:2186
+#: pl_exec.c:2250
 #, c-format
 msgid "FOREACH expression must not be null"
 msgstr "выражение FOREACH не может быть равно NULL"
 
-#: pl_exec.c:2192
+#: pl_exec.c:2256
 #, c-format
 msgid "FOREACH expression must yield an array, not type %s"
 msgstr "выражение в FOREACH должно быть массивом, но не типом %s"
 
-#: pl_exec.c:2209
+#: pl_exec.c:2273
 #, c-format
 msgid "slice dimension (%d) is out of the valid range 0..%d"
 msgstr "размерность среза (%d) вне допустимого диапазона 0..%d"
 
-#: pl_exec.c:2236
+#: pl_exec.c:2300
 #, c-format
 msgid "FOREACH ... SLICE loop variable must be of an array type"
 msgstr "переменная цикла FOREACH ... SLICE должна быть массивом"
 
-#: pl_exec.c:2240
+#: pl_exec.c:2304
 #, c-format
 msgid "FOREACH loop variable must not be of an array type"
 msgstr "переменная цикла FOREACH не должна быть массивом"
 
-#: pl_exec.c:2461 pl_exec.c:2614
+#: pl_exec.c:2525 pl_exec.c:2678
 #, c-format
 msgid ""
 "cannot return non-composite value from function returning composite type"
 msgstr ""
 "функция, возвращающая составной тип, не может вернуть несоставное значение"
 
-#: pl_exec.c:2505 pl_gram.y:2972
+#: pl_exec.c:2569 pl_gram.y:3075
 #, c-format
 msgid "cannot use RETURN NEXT in a non-SETOF function"
 msgstr ""
 "RETURN NEXT можно использовать только в функциях, возвращающих множества"
 
-#: pl_exec.c:2533 pl_exec.c:2656
+#: pl_exec.c:2597 pl_exec.c:2720
 #, c-format
 msgid "wrong result type supplied in RETURN NEXT"
 msgstr "в RETURN NEXT передан неправильный тип результата"
 
-#: pl_exec.c:2556 pl_exec.c:4018 pl_exec.c:4344 pl_exec.c:4379 pl_exec.c:4446
-#: pl_exec.c:4465 pl_exec.c:4533 pl_exec.c:4556
+#: pl_exec.c:2620 pl_exec.c:4166 pl_exec.c:4491 pl_exec.c:4517 pl_exec.c:4583
+#: pl_exec.c:4602 pl_exec.c:4670 pl_exec.c:4693
 #, c-format
 msgid "record \"%s\" is not assigned yet"
 msgstr "записи \"%s\" не присвоено значение"
 
-#: pl_exec.c:2558 pl_exec.c:4020 pl_exec.c:4346 pl_exec.c:4381 pl_exec.c:4448
-#: pl_exec.c:4467 pl_exec.c:4535 pl_exec.c:4558
+#: pl_exec.c:2622 pl_exec.c:4168 pl_exec.c:4493 pl_exec.c:4519 pl_exec.c:4585
+#: pl_exec.c:4604 pl_exec.c:4672 pl_exec.c:4695
 #, c-format
 msgid "The tuple structure of a not-yet-assigned record is indeterminate."
 msgstr ""
 "Для записи, которой не присвоено значение, структура кортежа не определена."
 
-#: pl_exec.c:2562 pl_exec.c:2582
+#: pl_exec.c:2626 pl_exec.c:2646
 #, c-format
 msgid "wrong record type supplied in RETURN NEXT"
 msgstr "в RETURN NEXT передан неправильный тип записи"
 
-#: pl_exec.c:2674
+#: pl_exec.c:2738
 #, c-format
 msgid "RETURN NEXT must have a parameter"
 msgstr "у оператора RETURN NEXT должен быть параметр"
 
-#: pl_exec.c:2707 pl_gram.y:3030
+#: pl_exec.c:2771 pl_gram.y:3133
 #, c-format
 msgid "cannot use RETURN QUERY in a non-SETOF function"
 msgstr ""
 "RETURN QUERY можно использовать только в функциях, возвращающих множества"
 
-#: pl_exec.c:2727
+#: pl_exec.c:2791
 msgid "structure of query does not match function result type"
 msgstr "структура запроса не соответствует типу результата функции"
 
-#: pl_exec.c:2825
+#: pl_exec.c:2871 pl_exec.c:3003
+#, c-format
+msgid "RAISE option already specified: %s"
+msgstr "этот параметр RAISE уже указан: %s"
+
+#: pl_exec.c:2904
 #, c-format
 msgid "RAISE without parameters cannot be used outside an exception handler"
 msgstr ""
 "RAISE без параметров нельзя использовать вне блока обработчика исключения"
 
-#: pl_exec.c:2866
+#: pl_exec.c:2945
 #, c-format
 msgid "too few parameters specified for RAISE"
 msgstr "недостаточно параметров для RAISE"
 
-#: pl_exec.c:2894
+#: pl_exec.c:2973
 #, c-format
 msgid "too many parameters specified for RAISE"
 msgstr "слишком много параметров для RAISE"
 
-#: pl_exec.c:2914
+#: pl_exec.c:2993
 #, c-format
 msgid "RAISE statement option cannot be null"
 msgstr "параметром оператора RAISE не может быть NULL"
 
-#: pl_exec.c:2924 pl_exec.c:2933 pl_exec.c:2941 pl_exec.c:2949
-#, c-format
-msgid "RAISE option already specified: %s"
-msgstr "этот параметр RAISE уже указан: %s"
-
-#: pl_exec.c:2985
+#: pl_exec.c:3064
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pl_exec.c:3135 pl_exec.c:3272 pl_exec.c:3445
+#: pl_exec.c:3241 pl_exec.c:3378 pl_exec.c:3569
 #, c-format
 msgid "cannot COPY to/from client in PL/pgSQL"
 msgstr "в PL/pgSQL нельзя выполнить COPY с участием клиента"
 
-#: pl_exec.c:3139 pl_exec.c:3276 pl_exec.c:3449
+#: pl_exec.c:3245 pl_exec.c:3382 pl_exec.c:3573
 #, c-format
 msgid "cannot begin/end transactions in PL/pgSQL"
 msgstr "в PL/pgSQL нельзя начинать/заканчивать транзакции"
 
-#: pl_exec.c:3140 pl_exec.c:3277 pl_exec.c:3450
+#: pl_exec.c:3246 pl_exec.c:3383 pl_exec.c:3574
 #, c-format
 msgid "Use a BEGIN block with an EXCEPTION clause instead."
 msgstr "Используйте блок BEGIN с предложением EXCEPTION."
 
-#: pl_exec.c:3300 pl_exec.c:3474
+#: pl_exec.c:3406 pl_exec.c:3598
 #, c-format
 msgid "INTO used with a command that cannot return data"
 msgstr "INTO с командой не может возвращать данные"
 
-#: pl_exec.c:3320 pl_exec.c:3494
+#: pl_exec.c:3434 pl_exec.c:3626
 #, c-format
 msgid "query returned no rows"
 msgstr "запрос не вернул строк"
 
-#: pl_exec.c:3329 pl_exec.c:3503
+#: pl_exec.c:3453 pl_exec.c:3645
 #, c-format
 msgid "query returned more than one row"
 msgstr "запрос вернул несколько строк"
 
-#: pl_exec.c:3344
+#: pl_exec.c:3470
 #, c-format
 msgid "query has no destination for result data"
 msgstr "в запросе нет назначения для данных результата"
 
-#: pl_exec.c:3345
+#: pl_exec.c:3471
 #, c-format
 msgid "If you want to discard the results of a SELECT, use PERFORM instead."
 msgstr "Если вам нужно отбросить результаты SELECT, используйте PERFORM."
 
-#: pl_exec.c:3378 pl_exec.c:6341
+#: pl_exec.c:3505 pl_exec.c:6480
 #, c-format
 msgid "query string argument of EXECUTE is null"
 msgstr "в качестве текста запроса в EXECUTE передан NULL"
 
-#: pl_exec.c:3437
+#: pl_exec.c:3561
 #, c-format
 msgid "EXECUTE of SELECT ... INTO is not implemented"
 msgstr "возможность выполнения SELECT ... INTO в EXECUTE не реализована"
 
-#: pl_exec.c:3438
+#: pl_exec.c:3562
 #, c-format
 msgid ""
 "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS "
@@ -443,57 +444,57 @@ msgstr ""
 "Альтернативой может стать EXECUTE ... INTO или EXECUTE CREATE TABLE ... "
 "AS ..."
 
-#: pl_exec.c:3726 pl_exec.c:3818
+#: pl_exec.c:3874 pl_exec.c:3966
 #, c-format
 msgid "cursor variable \"%s\" is null"
 msgstr "переменная курсора \"%s\" равна NULL"
 
-#: pl_exec.c:3733 pl_exec.c:3825
+#: pl_exec.c:3881 pl_exec.c:3973
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "курсор \"%s\" не существует"
 
-#: pl_exec.c:3747
+#: pl_exec.c:3895
 #, c-format
 msgid "relative or absolute cursor position is null"
 msgstr "относительная или абсолютная позиция курсора равна NULL"
 
-#: pl_exec.c:3914
+#: pl_exec.c:4062
 #, c-format
 msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
 msgstr "значение NULL нельзя присвоить переменной \"%s\", объявленной NOT NULL"
 
-#: pl_exec.c:3961
+#: pl_exec.c:4109
 #, c-format
 msgid "cannot assign non-composite value to a row variable"
 msgstr "переменной типа кортеж можно присвоить только составное значение"
 
-#: pl_exec.c:3985
+#: pl_exec.c:4133
 #, c-format
 msgid "cannot assign non-composite value to a record variable"
 msgstr "переменной типа запись можно присвоить только составное значение"
 
-#: pl_exec.c:4130
+#: pl_exec.c:4278
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "число размерностей массива (%d) превышает предел (%d)"
 
-#: pl_exec.c:4162
+#: pl_exec.c:4310
 #, c-format
 msgid "subscripted object is not an array"
 msgstr "для объекта указан индекс, но этот объект - не массив"
 
-#: pl_exec.c:4199
+#: pl_exec.c:4347
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "индекс элемента массива в присваивании не может быть NULL"
 
-#: pl_exec.c:4671
+#: pl_exec.c:4806
 #, c-format
 msgid "query \"%s\" did not return data"
 msgstr "запрос \"%s\" не вернул данные"
 
-#: pl_exec.c:4679
+#: pl_exec.c:4814
 #, c-format
 msgid "query \"%s\" returned %d column"
 msgid_plural "query \"%s\" returned %d columns"
@@ -501,12 +502,12 @@ msgstr[0] "запрос \"%s\" вернул %d строку"
 msgstr[1] "запрос \"%s\" вернул %d строки"
 msgstr[2] "запрос \"%s\" вернул %d строк"
 
-#: pl_exec.c:4705
+#: pl_exec.c:4840
 #, c-format
 msgid "query \"%s\" returned more than one row"
 msgstr "запрос \"%s\" вернул несколько строк"
 
-#: pl_exec.c:4762
+#: pl_exec.c:4897
 #, c-format
 msgid "query \"%s\" is not a SELECT"
 msgstr "запрос \"%s\" - не SELECT"
@@ -547,60 +548,65 @@ msgstr "оператор EXECUTE"
 msgid "FOR over EXECUTE statement"
 msgstr "FOR по результатам EXECUTE"
 
-#: pl_gram.y:439
+#: pl_gram.y:469
 #, c-format
 msgid "block label must be placed before DECLARE, not after"
 msgstr "метка блока должна помещаться до DECLARE, а не после"
 
-#: pl_gram.y:459
+#: pl_gram.y:489
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "тип %s не поддерживает сортировку (COLLATION)"
 
-#: pl_gram.y:474
+#: pl_gram.y:504
 #, c-format
 msgid "row or record variable cannot be CONSTANT"
 msgstr "переменная типа кортеж или запись не может быть константой"
 
-#: pl_gram.y:484
+#: pl_gram.y:514
 #, c-format
 msgid "row or record variable cannot be NOT NULL"
 msgstr "переменная типа кортеж или запись не может быть NULL"
 
-#: pl_gram.y:495
+#: pl_gram.y:525
 #, c-format
 msgid "default value for row or record variable is not supported"
 msgstr "переменная типа кортеж или запись не может иметь значения по умолчанию"
 
-#: pl_gram.y:640 pl_gram.y:655 pl_gram.y:681
+#: pl_gram.y:670 pl_gram.y:685 pl_gram.y:711
 #, c-format
 msgid "variable \"%s\" does not exist"
 msgstr "переменная \"%s\" не существует"
 
-#: pl_gram.y:699 pl_gram.y:712
+#: pl_gram.y:729 pl_gram.y:757
 msgid "duplicate declaration"
 msgstr "повторяющееся объявление"
 
-#: pl_gram.y:890
+#: pl_gram.y:740 pl_gram.y:768
+#, c-format
+msgid "variable \"%s\" shadows a previously defined variable"
+msgstr "переменная \"%s\" скрывает ранее определённую переменную"
+
+#: pl_gram.y:955
 #, c-format
 msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
 msgstr "команда GET STACKED DIAGNOSTICS не принимает элемент %s"
 
-#: pl_gram.y:903
+#: pl_gram.y:973
 #, c-format
 msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
 msgstr "команда GET CURRENT DIAGNOSTICS не принимает элемент %s"
 
-#: pl_gram.y:980
+#: pl_gram.y:1071
 msgid "unrecognized GET DIAGNOSTICS item"
 msgstr "нераспознанный элемент GET DIAGNOSTICS"
 
-#: pl_gram.y:991 pl_gram.y:3217
+#: pl_gram.y:1082 pl_gram.y:3320
 #, c-format
 msgid "\"%s\" is not a scalar variable"
 msgstr "\"%s\" - не скалярная переменная"
 
-#: pl_gram.y:1243 pl_gram.y:1437
+#: pl_gram.y:1334 pl_gram.y:1528
 #, c-format
 msgid ""
 "loop variable of loop over rows must be a record or row variable or list of "
@@ -609,206 +615,206 @@ msgstr ""
 "переменная цикла по кортежам должна быть переменной типа запись или кортеж "
 "или списком скалярных переменных"
 
-#: pl_gram.y:1277
+#: pl_gram.y:1368
 #, c-format
 msgid "cursor FOR loop must have only one target variable"
 msgstr "в цикле FOR с курсором должна быть только одна переменная"
 
-#: pl_gram.y:1284
+#: pl_gram.y:1375
 #, c-format
 msgid "cursor FOR loop must use a bound cursor variable"
 msgstr ""
 "в цикле FOR с курсором должен использоваться курсор, привязанный к запросу"
 
-#: pl_gram.y:1368
+#: pl_gram.y:1459
 #, c-format
 msgid "integer FOR loop must have only one target variable"
 msgstr "в целочисленном цикле FOR должна быть только одна переменная"
 
-#: pl_gram.y:1404
+#: pl_gram.y:1495
 #, c-format
 msgid "cannot specify REVERSE in query FOR loop"
 msgstr "в цикле FOR с запросом нельзя указать REVERSE"
 
-#: pl_gram.y:1551
+#: pl_gram.y:1642
 #, c-format
 msgid "loop variable of FOREACH must be a known variable or list of variables"
 msgstr ""
 "переменной цикла FOREACH должна быть известная переменная или список "
 "переменных"
 
-#: pl_gram.y:1603 pl_gram.y:1640 pl_gram.y:1688 pl_gram.y:2673 pl_gram.y:2754
-#: pl_gram.y:2865 pl_gram.y:3618
+#: pl_gram.y:1694 pl_gram.y:1731 pl_gram.y:1779 pl_gram.y:2776 pl_gram.y:2857
+#: pl_gram.y:2968 pl_gram.y:3721
 msgid "unexpected end of function definition"
 msgstr "неожиданный конец определения функции"
 
-#: pl_gram.y:1708 pl_gram.y:1732 pl_gram.y:1748 pl_gram.y:1754 pl_gram.y:1843
-#: pl_gram.y:1851 pl_gram.y:1865 pl_gram.y:1960 pl_gram.y:2141 pl_gram.y:2224
-#: pl_gram.y:2346 pl_gram.y:3460 pl_gram.y:3521 pl_gram.y:3599
+#: pl_gram.y:1799 pl_gram.y:1823 pl_gram.y:1839 pl_gram.y:1845 pl_gram.y:1934
+#: pl_gram.y:1942 pl_gram.y:1956 pl_gram.y:2051 pl_gram.y:2232 pl_gram.y:2315
+#: pl_gram.y:2449 pl_gram.y:3563 pl_gram.y:3624 pl_gram.y:3702
 msgid "syntax error"
 msgstr "ошибка синтаксиса"
 
-#: pl_gram.y:1736 pl_gram.y:1738 pl_gram.y:2145 pl_gram.y:2147
+#: pl_gram.y:1827 pl_gram.y:1829 pl_gram.y:2236 pl_gram.y:2238
 msgid "invalid SQLSTATE code"
 msgstr "неверный код SQLSTATE"
 
-#: pl_gram.y:1907
+#: pl_gram.y:1998
 msgid "syntax error, expected \"FOR\""
 msgstr "ошибка синтаксиса, ожидался \"FOR\""
 
-#: pl_gram.y:1969
+#: pl_gram.y:2060
 #, c-format
 msgid "FETCH statement cannot return multiple rows"
 msgstr "оператор FETCH не может вернуть несколько строк"
 
-#: pl_gram.y:2025
+#: pl_gram.y:2116
 #, c-format
 msgid "cursor variable must be a simple variable"
 msgstr "переменная-курсор должна быть простой переменной"
 
-#: pl_gram.y:2031
+#: pl_gram.y:2122
 #, c-format
 msgid "variable \"%s\" must be of type cursor or refcursor"
 msgstr "переменная \"%s\" должна быть типа cursor или refcursor"
 
-#: pl_gram.y:2199
+#: pl_gram.y:2290
 msgid "label does not exist"
 msgstr "метка не существует"
 
-#: pl_gram.y:2317 pl_gram.y:2328
+#: pl_gram.y:2420 pl_gram.y:2431
 #, c-format
 msgid "\"%s\" is not a known variable"
 msgstr "\"%s\" - не известная переменная"
 
-#: pl_gram.y:2432 pl_gram.y:2442 pl_gram.y:2597
+#: pl_gram.y:2535 pl_gram.y:2545 pl_gram.y:2700
 msgid "mismatched parentheses"
 msgstr "непарные скобки"
 
-#: pl_gram.y:2446
+#: pl_gram.y:2549
 #, c-format
 msgid "missing \"%s\" at end of SQL expression"
 msgstr "отсутствует \"%s\" в конце выражения SQL"
 
-#: pl_gram.y:2452
+#: pl_gram.y:2555
 #, c-format
 msgid "missing \"%s\" at end of SQL statement"
 msgstr "отсутствует \"%s\" в конце оператора SQL"
 
-#: pl_gram.y:2469
+#: pl_gram.y:2572
 msgid "missing expression"
 msgstr "отсутствует выражение"
 
-#: pl_gram.y:2471
+#: pl_gram.y:2574
 msgid "missing SQL statement"
 msgstr "отсутствует оператор SQL"
 
-#: pl_gram.y:2599
+#: pl_gram.y:2702
 msgid "incomplete data type declaration"
 msgstr "неполное определение типа данных"
 
-#: pl_gram.y:2622
+#: pl_gram.y:2725
 msgid "missing data type declaration"
 msgstr "отсутствует определение типа данных"
 
-#: pl_gram.y:2678
+#: pl_gram.y:2781
 msgid "INTO specified more than once"
 msgstr "INTO указано неоднократно"
 
-#: pl_gram.y:2846
+#: pl_gram.y:2949
 msgid "expected FROM or IN"
 msgstr "ожидалось FROM или IN"
 
-#: pl_gram.y:2906
+#: pl_gram.y:3009
 #, c-format
 msgid "RETURN cannot have a parameter in function returning set"
 msgstr "в функции, возвращающей множество, RETURN должен быть без параметров"
 
-#: pl_gram.y:2907
+#: pl_gram.y:3010
 #, c-format
 msgid "Use RETURN NEXT or RETURN QUERY."
 msgstr "Используйте RETURN NEXT или RETURN QUERY."
 
-#: pl_gram.y:2915
+#: pl_gram.y:3018
 #, c-format
 msgid "RETURN cannot have a parameter in function with OUT parameters"
 msgstr "RETURN должен быть без параметров в функции с параметрами OUT"
 
-#: pl_gram.y:2924
+#: pl_gram.y:3027
 #, c-format
 msgid "RETURN cannot have a parameter in function returning void"
 msgstr "в функции, не возвращающей ничего, RETURN не должен иметь параметров"
 
-#: pl_gram.y:2986
+#: pl_gram.y:3089
 #, c-format
 msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
 msgstr "RETURN NEXT должен быть без параметров в функции с параметрами OUT"
 
-#: pl_gram.y:3086
+#: pl_gram.y:3189
 #, c-format
 msgid "\"%s\" is declared CONSTANT"
 msgstr "\"%s\" объявлена как CONSTANT"
 
-#: pl_gram.y:3148 pl_gram.y:3160
+#: pl_gram.y:3251 pl_gram.y:3263
 #, c-format
 msgid "record or row variable cannot be part of multiple-item INTO list"
 msgstr ""
 "переменная типа запись или кортеж не может быть частью списка INTO с "
 "несколькими элементами"
 
-#: pl_gram.y:3205
+#: pl_gram.y:3308
 #, c-format
 msgid "too many INTO variables specified"
 msgstr "указано слишком много переменных INTO"
 
-#: pl_gram.y:3413
+#: pl_gram.y:3516
 #, c-format
 msgid "end label \"%s\" specified for unlabelled block"
 msgstr "конечная метка \"%s\" указана для не помеченного блока"
 
-#: pl_gram.y:3420
+#: pl_gram.y:3523
 #, c-format
 msgid "end label \"%s\" differs from block's label \"%s\""
 msgstr "конечная метка \"%s\" отличается от метки блока \"%s\""
 
-#: pl_gram.y:3455
+#: pl_gram.y:3558
 #, c-format
 msgid "cursor \"%s\" has no arguments"
 msgstr "курсор \"%s\" не имеет аргументов"
 
-#: pl_gram.y:3469
+#: pl_gram.y:3572
 #, c-format
 msgid "cursor \"%s\" has arguments"
 msgstr "курсор \"%s\" имеет аргументы"
 
-#: pl_gram.y:3511
+#: pl_gram.y:3614
 #, c-format
 msgid "cursor \"%s\" has no argument named \"%s\""
 msgstr "курсор \"%s\" не имеет аргумента \"%s\""
 
-#: pl_gram.y:3531
+#: pl_gram.y:3634
 #, c-format
 msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
 msgstr "значение параметра \"%s\" курсора \"%s\" указано неоднократно"
 
-#: pl_gram.y:3556
+#: pl_gram.y:3659
 #, c-format
 msgid "not enough arguments for cursor \"%s\""
 msgstr "недостаточно аргументов для курсора \"%s\""
 
-#: pl_gram.y:3563
+#: pl_gram.y:3666
 #, c-format
 msgid "too many arguments for cursor \"%s\""
 msgstr "слишком много аргументов для курсора \"%s\""
 
-#: pl_gram.y:3635
+#: pl_gram.y:3753
 msgid "unrecognized RAISE statement option"
 msgstr "нераспознанный параметр оператора RAISE"
 
-#: pl_gram.y:3639
+#: pl_gram.y:3757
 msgid "syntax error, expected \"=\""
 msgstr "ошибка синтаксиса, ожидалось \"=\""
 
-#: pl_handler.c:61
+#: pl_handler.c:147
 msgid ""
 "Sets handling of conflicts between PL/pgSQL variable names and table column "
 "names."
@@ -816,14 +822,31 @@ msgstr ""
 "Выбирает режим разрешения конфликтов между именами переменных PL/pgSQL и "
 "именами колонок таблиц."
 
+#: pl_handler.c:156
+msgid ""
+"Print information about parameters in the DETAIL part of the error messages "
+"generated on INTO ... STRICT failures."
+msgstr ""
+"Добавляет информацию о параметрах в раздел DETAIL сообщений, выводимых при "
+"ошибках в INTO ... STRICT."
+
+#: pl_handler.c:164
+msgid "List of programming constructs that should produce a warning."
+msgstr ""
+"Список программных конструкций, которые должны выдавать предупреждения."
+
+#: pl_handler.c:174
+msgid "List of programming constructs that should produce an error."
+msgstr "Список программных конструкций, которые должны выдавать ошибку."
+
 #. translator: %s is typically the translation of "syntax error"
-#: pl_scanner.c:541
+#: pl_scanner.c:554
 #, c-format
 msgid "%s at end of input"
 msgstr "%s в конце"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: pl_scanner.c:557
+#: pl_scanner.c:570
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s (примерное положение: \"%s\")"
index 7c7e5c28fc3fdd9474f865efe32e3f2e04a22591..f30e9afc242cfd120c7bc73e95ebd50d6db1c535 100644 (file)
@@ -6,6 +6,8 @@
 # Distributed under the same licensing terms as PostgreSQL itself.
 #
 # ChangeLog:
+#   - August 24, 2014: Updates for 9.4. Alexander Lakhin <exclusion@gmail.com>.
+#     - With corrections from Dmitriy Olshevskiy <olshevskiy87@bk.ru>
 #   - March 14, 2013: Updates for 9.3. Alexander Lakhin <exclusion@gmail.com>.
 #   - June 27, 2012: Updates for 9.2. Alexander Lakhin <exclusion@gmail.com>.
 #   - April 3, 2012: Bug fixes. Alexander Lakhin <exclusion@gmail.com>.
@@ -25,8 +27,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-04-02 01:42+0000\n"
-"PO-Revision-Date: 2014-04-02 10:13+0400\n"
+"POT-Creation-Date: 2014-08-19 10:08+0000\n"
+"PO-Revision-Date: 2014-08-24 22:53+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
 "Language: ru\n"
@@ -39,108 +41,196 @@ 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:33 ../common/fe_memutils.c:60
-#: ../common/fe_memutils.c:83
+#: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
 #, c-format
-msgid "out of memory\n"
-msgstr "нехватка памяти\n"
+msgid "could not identify current directory: %s"
+msgstr "не удалось определить текущий каталог: %s"
 
-#: ../common/fe_memutils.c:77
+#: ../common/exec.c:146
 #, c-format
-msgid "cannot duplicate null pointer (internal error)\n"
-msgstr "попÑ\8bÑ\82ка Ð´Ñ\83блиÑ\80ованиÑ\8f Ð½Ñ\83левого Ñ\83казаÑ\82елÑ\8f (внÑ\83Ñ\82Ñ\80еннÑ\8fÑ\8f Ð¾Ñ\88ибка)\n"
+msgid "invalid binary \"%s\""
+msgstr "невеÑ\80нÑ\8bй Ð¸Ñ\81полнÑ\8fемÑ\8bй Ñ\84айл \"%s\""
 
-#: ../port/chklocale.c:352 ../port/chklocale.c:358
+#: ../common/exec.c:195
 #, c-format
-msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
-msgstr ""
-"не удалось определить кодировку для локали \"%s\": набор символов - \"%s\""
+msgid "could not read binary \"%s\""
+msgstr "не удалось прочитать исполняемый файл \"%s\""
 
-#: ../port/chklocale.c:360
+#: ../common/exec.c:202
 #, c-format
-msgid "Please report this to <pgsql-bugs@postgresql.org>."
-msgstr ""
-"Пожалуйста, напишите об этой ошибке по адресу <pgsql-bugs@postgresql.org>."
+msgid "could not find a \"%s\" to execute"
+msgstr "не удалось найти запускаемый файл \"%s\""
 
-#: ../port/dirmod.c:217
+#: ../common/exec.c:257 ../common/exec.c:293
 #, c-format
-msgid "could not set junction for \"%s\": %s"
-msgstr "не удалось создать связь для каталога \"%s\": %s"
+msgid "could not change directory to \"%s\": %s"
+msgstr "не удалось перейти в каталог \"%s\": %s"
 
-#: ../port/dirmod.c:220
+#: ../common/exec.c:272
 #, c-format
-msgid "could not set junction for \"%s\": %s\n"
-msgstr "не удалось создать связь для каталога \"%s\": %s\n"
+msgid "could not read symbolic link \"%s\""
+msgstr "не удалось прочитать символическую ссылку \"%s\""
 
-#: ../port/dirmod.c:292
+#: ../common/exec.c:523
 #, c-format
-msgid "could not get junction for \"%s\": %s"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ñ\81вÑ\8fзÑ\8c Ð´Ð»Ñ\8f ÐºÐ°Ñ\82алога \"%s\": %s"
+msgid "pclose failed: %s"
+msgstr "оÑ\88ибка pclose: %s"
 
-#: ../port/dirmod.c:295
+#: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
+#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:598
+#: ../port/path.c:636 ../port/path.c:653
 #, c-format
-msgid "could not get junction for \"%s\": %s\n"
-msgstr "не удалось получить связь для каталога \"%s\": %s\n"
+msgid "out of memory\n"
+msgstr "нехватка памяти\n"
+
+#: ../common/fe_memutils.c:77
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
 
-#: ../port/dirmod.c:377
+#: ../common/pgfnames.c:45
 #, c-format
 msgid "could not open directory \"%s\": %s\n"
 msgstr "не удалось открыть каталог \"%s\": %s\n"
 
-#: ../port/dirmod.c:410
+#: ../common/pgfnames.c:72
 #, c-format
 msgid "could not read directory \"%s\": %s\n"
 msgstr "не удалось прочитать каталог \"%s\": %s\n"
 
-#: ../port/dirmod.c:422
+#: ../common/pgfnames.c:84
 #, c-format
 msgid "could not close directory \"%s\": %s\n"
 msgstr "не удалось закрыть каталог \"%s\": %s\n"
 
-#: ../port/dirmod.c:501
+#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
+#: ../port/path.c:651 access/transam/xlog.c:6119 lib/stringinfo.c:258
+#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1647
+#: postmaster/bgworker.c:267 postmaster/bgworker.c:783
+#: postmaster/postmaster.c:2167 postmaster/postmaster.c:2198
+#: postmaster/postmaster.c:3734 postmaster/postmaster.c:4435
+#: postmaster/postmaster.c:4520 postmaster/postmaster.c:5213
+#: postmaster/postmaster.c:5445 storage/buffer/buf_init.c:154
+#: storage/buffer/localbuf.c:396 storage/file/fd.c:458 storage/file/fd.c:855
+#: storage/file/fd.c:973 storage/file/fd.c:1586 storage/ipc/procarray.c:909
+#: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
+#: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
+#: utils/adt/formatting.c:1519 utils/adt/formatting.c:1639
+#: utils/adt/formatting.c:1760 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
+#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
+#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3582 utils/misc/guc.c:3598
+#: utils/misc/guc.c:3611 utils/misc/tzparser.c:455 utils/mmgr/aset.c:499
+#: utils/mmgr/aset.c:678 utils/mmgr/aset.c:872 utils/mmgr/aset.c:1114
+#, c-format
+msgid "out of memory"
+msgstr "нехватка памяти"
+
+#: ../common/relpath.c:59
+#, c-format
+msgid "invalid fork name"
+msgstr "неверное имя слоя"
+
+#: ../common/relpath.c:60
+#, c-format
+msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
+msgstr "Допустимые имена слоёв: \"main\", \"fsm\", \"vm\" и \"init\"."
+
+#: ../common/rmtree.c:77
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
 msgstr "не удалось получить информацию о файле или каталоге \"%s\": %s\n"
 
-#: ../port/dirmod.c:528 ../port/dirmod.c:545
+#: ../common/rmtree.c:104 ../common/rmtree.c:121
 #, c-format
 msgid "could not remove file or directory \"%s\": %s\n"
 msgstr "ошибка при удалении файла или каталога \"%s\": %s\n"
 
-#: ../port/exec.c:127 ../port/exec.c:241 ../port/exec.c:284
+#: ../common/username.c:45
 #, c-format
-msgid "could not identify current directory: %s"
-msgstr "не удалось определить текущий каталог: %s"
+msgid "could not look up effective user ID %ld: %s"
+msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
+
+#: ../common/username.c:47 libpq/auth.c:1594
+msgid "user does not exist"
+msgstr "пользователь не существует"
 
-#: ../port/exec.c:146
+#: ../common/username.c:61
 #, c-format
-msgid "invalid binary \"%s\""
-msgstr "невеÑ\80нÑ\8bй Ð¸Ñ\81полнÑ\8fемÑ\8bй Ñ\84айл \"%s\""
+msgid "user name lookup failure: %s"
+msgstr "оÑ\88ибка Ð¿Ñ\80еобÑ\80азованиÑ\8f Ð¸Ð¼ÐµÐ½Ð¸ Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f: %s"
 
-#: ../port/exec.c:195
+#: ../common/wait_error.c:47
 #, c-format
-msgid "could not read binary \"%s\""
-msgstr "не удалось прочитать исполняемый файл \"%s\""
+msgid "command not executable"
+msgstr "неисполняемая команда"
 
-#: ../port/exec.c:202
+#: ../common/wait_error.c:51
 #, c-format
-msgid "could not find a \"%s\" to execute"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð·Ð°Ð¿Ñ\83Ñ\81каемÑ\8bй Ñ\84айл \"%s\""
+msgid "command not found"
+msgstr "команда Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð°"
 
-#: ../port/exec.c:257 ../port/exec.c:293
+#: ../common/wait_error.c:56
 #, c-format
-msgid "could not change directory to \"%s\": %s"
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿ÐµÑ\80ейÑ\82и Ð² ÐºÐ°Ñ\82алог \"%s\": %s"
+msgid "child process exited with exit code %d"
+msgstr "доÑ\87еÑ\80ний Ð¿Ñ\80оÑ\86еÑ\81Ñ\81 Ð·Ð°Ð²ÐµÑ\80Ñ\88илÑ\81Ñ\8f Ñ\81 ÐºÐ¾Ð´Ð¾Ð¼ Ð²Ð¾Ð·Ð²Ñ\80аÑ\82а %d"
 
-#: ../port/exec.c:272
+#: ../common/wait_error.c:63
 #, c-format
-msgid "could not read symbolic link \"%s\""
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿Ñ\80оÑ\87иÑ\82аÑ\82Ñ\8c Ñ\81имволиÑ\87еÑ\81кÑ\83Ñ\8e Ñ\81Ñ\81Ñ\8bлкÑ\83 \"%s\""
+msgid "child process was terminated by exception 0x%X"
+msgstr "доÑ\87еÑ\80ний Ð¿Ñ\80оÑ\86еÑ\81Ñ\81 Ð¿Ñ\80еÑ\80ван Ð¸Ñ\81клÑ\8eÑ\87ением 0x%X"
 
-#: ../port/exec.c:523
+#: ../common/wait_error.c:73
 #, c-format
-msgid "pclose failed: %s"
-msgstr "ошибка pclose: %s"
+msgid "child process was terminated by signal %s"
+msgstr "дочерний процесс завершён по сигналу %s"
+
+#: ../common/wait_error.c:77
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "дочерний процесс завершён по сигналу %d"
+
+#: ../common/wait_error.c:82
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
+
+#: ../port/chklocale.c:259
+#, c-format
+msgid "could not determine encoding for codeset \"%s\""
+msgstr "не удалось определить кодировку для набора символов \"%s\""
+
+#: ../port/chklocale.c:260 ../port/chklocale.c:389
+#, c-format
+msgid "Please report this to <pgsql-bugs@postgresql.org>."
+msgstr ""
+"Пожалуйста, напишите об этой ошибке по адресу <pgsql-bugs@postgresql.org>."
+
+#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#, c-format
+msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
+msgstr ""
+"не удалось определить кодировку для локали \"%s\": набор символов - \"%s\""
+
+#: ../port/dirmod.c:216
+#, c-format
+msgid "could not set junction for \"%s\": %s"
+msgstr "не удалось создать связь для каталога \"%s\": %s"
+
+#: ../port/dirmod.c:219
+#, c-format
+msgid "could not set junction for \"%s\": %s\n"
+msgstr "не удалось создать связь для каталога \"%s\": %s\n"
+
+#: ../port/dirmod.c:291
+#, c-format
+msgid "could not get junction for \"%s\": %s"
+msgstr "не удалось получить связь для каталога \"%s\": %s"
+
+#: ../port/dirmod.c:294
+#, c-format
+msgid "could not get junction for \"%s\": %s\n"
+msgstr "не удалось получить связь для каталога \"%s\": %s\n"
 
 #: ../port/open.c:112
 #, c-format
@@ -169,46 +259,16 @@ msgstr ""
 "Возможно, работе СУБД мешает антивирус, программа резервного копирования или "
 "что-то подобное."
 
+#: ../port/path.c:620
+#, c-format
+msgid "could not get current working directory: %s\n"
+msgstr "не удалось определить текущий рабочий каталог: %s\n"
+
 #: ../port/strerror.c:25
 #, c-format
 msgid "unrecognized error %d"
 msgstr "нераспознанная ошибка %d"
 
-#: ../port/wait_error.c:47
-#, c-format
-msgid "command not executable"
-msgstr "неисполняемая команда"
-
-#: ../port/wait_error.c:51
-#, c-format
-msgid "command not found"
-msgstr "команда не найдена"
-
-#: ../port/wait_error.c:56
-#, c-format
-msgid "child process exited with exit code %d"
-msgstr "дочерний процесс завершился с кодом возврата %d"
-
-#: ../port/wait_error.c:63
-#, c-format
-msgid "child process was terminated by exception 0x%X"
-msgstr "дочерний процесс прерван исключением 0x%X"
-
-#: ../port/wait_error.c:73
-#, c-format
-msgid "child process was terminated by signal %s"
-msgstr "дочерний процесс завершён по сигналу %s"
-
-#: ../port/wait_error.c:77
-#, c-format
-msgid "child process was terminated by signal %d"
-msgstr "дочерний процесс завершён по сигналу %d"
-
-#: ../port/wait_error.c:82
-#, c-format
-msgid "child process exited with unrecognized status %d"
-msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
-
 #: ../port/win32error.c:189
 #, c-format
 msgid "mapped win32 error code %lu to %d"
@@ -219,7 +279,7 @@ msgstr "код ошибки win32 %lu преобразован в %d"
 msgid "unrecognized win32 error code: %lu"
 msgstr "нераспознанный код ошибки win32: %lu"
 
-#: access/common/heaptuple.c:645 access/common/heaptuple.c:1399
+#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "число колонок (%d) превышает предел (%d)"
@@ -229,68 +289,68 @@ msgstr "число колонок (%d) превышает предел (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "число колонок индекса (%d) превышает предел (%d)"
 
-#: access/common/indextuple.c:168 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:173 access/spgist/spgutils.c:605
 #, c-format
-msgid "index row requires %lu bytes, maximum size is %lu"
-msgstr "строка индекса требует байт: %lu, при максимуме: %lu"
+msgid "index row requires %zu bytes, maximum size is %zu"
+msgstr "строка индекса требует байт: %zu, при максимуме: %zu"
 
-#: access/common/printtup.c:293 tcop/fastpath.c:182 tcop/fastpath.c:571
-#: tcop/postgres.c:1673
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:571
+#: tcop/postgres.c:1670
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "неподдерживаемый код формата: %d"
 
-#: access/common/reloptions.c:375
+#: access/common/reloptions.c:396
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "превышен предел пользовательских типов реляционных параметров"
 
-#: access/common/reloptions.c:659
+#: access/common/reloptions.c:680
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "В RESET не должно передаваться значение параметров"
 
-#: access/common/reloptions.c:692
+#: access/common/reloptions.c:713
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "нераспознанное пространство имён параметров \"%s\""
 
-#: access/common/reloptions.c:936 parser/parse_clause.c:271
+#: access/common/reloptions.c:959 parser/parse_clause.c:268
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "нераспознанный параметр \"%s\""
 
-#: access/common/reloptions.c:961
+#: access/common/reloptions.c:984
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "параметр \"%s\" указан неоднократно"
 
-#: access/common/reloptions.c:976
+#: access/common/reloptions.c:999
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "неверное значение для логического параметра \"%s\": %s"
 
-#: access/common/reloptions.c:987
+#: access/common/reloptions.c:1010
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "неверное значение для целочисленного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:992 access/common/reloptions.c:1010
+#: access/common/reloptions.c:1015 access/common/reloptions.c:1033
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "значение %s вне допустимых пределов параметра \"%s\""
 
-#: access/common/reloptions.c:994
+#: access/common/reloptions.c:1017
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Допускаются значения только от \"%d\" до \"%d\"."
 
-#: access/common/reloptions.c:1005
+#: access/common/reloptions.c:1028
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "неверное значение для численного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1012
+#: access/common/reloptions.c:1035
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Допускаются значения только от \"%f\" до \"%f\"."
@@ -320,35 +380,35 @@ msgstr ""
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "Атрибут \"%s\" типа %s не существует в типе %s."
 
-#: access/common/tupdesc.c:594 parser/parse_relation.c:1289
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1339
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "колонка \"%s\" не может быть объявлена как SETOF"
 
-#: access/gin/ginentrypage.c:100 access/nbtree/nbtinsert.c:540
-#: access/nbtree/nbtsort.c:485 access/spgist/spgdoinsert.c:1888
+#: access/gin/ginentrypage.c:108 access/nbtree/nbtinsert.c:545
+#: access/nbtree/nbtsort.c:485 access/spgist/spgdoinsert.c:1880
 #, c-format
-msgid "index row size %lu exceeds maximum %lu for index \"%s\""
+msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr ""
-"размер строки индекса (%lu) больше предельного размера (%lu) (индекс \"%s\")"
+"размер строки индекса (%zu) больше предельного размера (%zu) (индекс \"%s\")"
 
-#: access/gin/ginscan.c:400
+#: access/gin/ginscan.c:402
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr ""
 "старые GIN-индексы не поддерживают сканирование всего индекса и поиск NULL"
 
-#: access/gin/ginscan.c:401
+#: access/gin/ginscan.c:403
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Для исправления выполните REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:610 access/gist/gistvacuum.c:266
+#: access/gist/gist.c:624 access/gist/gistvacuum.c:266
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "индекс \"%s\" содержит внутренний кортеж, отмеченный как ошибочный"
 
-#: access/gist/gist.c:612 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:626 access/gist/gistvacuum.c:268
 #, c-format
 msgid ""
 "This is caused by an incomplete page split at crash recovery before "
@@ -357,11 +417,11 @@ msgstr ""
 "Это вызвано неполным разделением страницы при восстановлении после сбоя в "
 "PostgreSQL до версии 9.1."
 
-#: access/gist/gist.c:613 access/gist/gistutil.c:693
+#: access/gist/gist.c:627 access/gist/gistutil.c:693
 #: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:508 access/nbtree/nbtpage.c:519
+#: access/nbtree/nbtpage.c:509 access/nbtree/nbtpage.c:520
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Пожалуйста, выполните REINDEX для него."
@@ -376,7 +436,7 @@ msgstr "неверное значение для параметра \"buffering\
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Допускаются только значения \"on\", \"off\" и \"auto\"."
 
-#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:213
+#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:212
 #, c-format
 msgid "could not write block %ld of temporary file: %m"
 msgstr "не удалось записать блок %ld временного файла: %m"
@@ -397,24 +457,24 @@ msgstr ""
 "второй."
 
 #: access/gist/gistutil.c:690 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:505
+#: access/nbtree/nbtpage.c:506
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "в индексе \"%s\" неожиданно оказалась нулевая страница в блоке %u"
 
 #: access/gist/gistutil.c:701 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:516
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:517
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u"
 
 #: access/hash/hashinsert.c:68
 #, c-format
-msgid "index row size %lu exceeds hash maximum %lu"
-msgstr "размер строки индекса %lu больше предельного размера хэша %lu"
+msgid "index row size %zu exceeds hash maximum %zu"
+msgstr "размер строки индекса (%zu) больше предельного размера хэша (%zu)"
 
-#: access/hash/hashinsert.c:71 access/spgist/spgdoinsert.c:1892
-#: access/spgist/spgutils.c:667
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1884
+#: access/spgist/spgutils.c:666
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать."
@@ -439,58 +499,133 @@ msgstr "индекс \"%s\" не является хэш-индексом"
 msgid "index \"%s\" has wrong hash version"
 msgstr "индекс \"%s\" имеет неправильную версию хэша"
 
-#: access/heap/heapam.c:1197 access/heap/heapam.c:1225
-#: access/heap/heapam.c:1257 catalog/aclchk.c:1742
+#: access/heap/heapam.c:1200 access/heap/heapam.c:1228
+#: access/heap/heapam.c:1260 catalog/aclchk.c:1742
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" - это индекс"
 
-#: access/heap/heapam.c:1202 access/heap/heapam.c:1230
-#: access/heap/heapam.c:1262 catalog/aclchk.c:1749 commands/tablecmds.c:8239
-#: commands/tablecmds.c:10592
+#: access/heap/heapam.c:1205 access/heap/heapam.c:1233
+#: access/heap/heapam.c:1265 catalog/aclchk.c:1749 commands/tablecmds.c:8494
+#: commands/tablecmds.c:11108
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" - это составной тип"
 
-#: access/heap/heapam.c:4017 access/heap/heapam.c:4229
-#: access/heap/heapam.c:4284
+#: access/heap/heapam.c:4224 access/heap/heapam.c:4438
+#: access/heap/heapam.c:4495
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "не удалось получить блокировку строки в таблице \"%s\""
 
-#: access/heap/hio.c:240 access/heap/rewriteheap.c:603
+#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#, c-format
+msgid "row is too big: size %zu, maximum size %zu"
+msgstr "размер строки (%zu) превышает предел (%zu)"
+
+#: access/heap/rewriteheap.c:932
+#, c-format
+msgid "could not write to file \"%s\", wrote %d of %d: %m"
+msgstr "не удалось записать в файл \"%s\" (записано байт: %d из %d): %m"
+
+#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
+#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:406
+#: access/transam/timeline.c:493 access/transam/xlog.c:3179
+#: access/transam/xlog.c:3309 replication/logical/snapbuild.c:1579
+#: replication/slot.c:1032 replication/slot.c:1121 storage/file/fd.c:436
+#: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
+#: utils/misc/guc.c:6610
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/transam/timeline.c:314 access/transam/timeline.c:471
+#: access/transam/xlog.c:3135 access/transam/xlog.c:3270
+#: access/transam/xlog.c:9908 access/transam/xlog.c:10223
+#: postmaster/postmaster.c:4210 replication/slot.c:990
+#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "создать файл \"%s\" не удалось: %m"
+
+#: access/heap/rewriteheap.c:1157
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m"
+
+#: access/heap/rewriteheap.c:1164
+#, c-format
+msgid "could not seek to the end of file \"%s\": %m"
+msgstr "не удалось перейти к концу файла \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:366
+#: access/transam/timeline.c:400 access/transam/timeline.c:487
+#: access/transam/xlog.c:3170 access/transam/xlog.c:3302
+#: postmaster/postmaster.c:4220 postmaster/postmaster.c:4230
+#: replication/logical/snapbuild.c:1563 replication/slot.c:1018
+#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:8279
+#: utils/misc/guc.c:8293 utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "записать в файл \"%s\" не удалось: %m"
+
+#: access/heap/rewriteheap.c:1258 replication/logical/reorderbuffer.c:2353
+#: replication/logical/reorderbuffer.c:2410
+#: replication/logical/snapbuild.c:1509 replication/logical/snapbuild.c:1880
+#: replication/slot.c:1095
+#, c-format
+msgid "could not unlink file \"%s\": %m"
+msgstr "ошибка при удалении файла \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:110
+#: access/transam/timeline.c:235 access/transam/timeline.c:333
+#: access/transam/xlog.c:3111 access/transam/xlog.c:3218
+#: access/transam/xlog.c:3255 access/transam/xlog.c:3530
+#: access/transam/xlog.c:3608 replication/basebackup.c:458
+#: replication/basebackup.c:1167 replication/logical/logicalfuncs.c:152
+#: replication/logical/reorderbuffer.c:1966
+#: replication/logical/reorderbuffer.c:2173
+#: replication/logical/reorderbuffer.c:2802
+#: replication/logical/snapbuild.c:1556 replication/logical/snapbuild.c:1640
+#: replication/slot.c:1110 replication/walsender.c:458
+#: replication/walsender.c:2094 storage/file/copydir.c:155
+#: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
+#: utils/error/elog.c:1797 utils/init/miscinit.c:992
+#: utils/init/miscinit.c:1121
 #, c-format
-msgid "row is too big: size %lu, maximum size %lu"
-msgstr "строка слишком велика: размер %lu, при максимуме: %lu"
+msgid "could not open file \"%s\": %m"
+msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/index/indexam.c:169 catalog/objectaddress.c:842
-#: commands/indexcmds.c:1744 commands/tablecmds.c:231
-#: commands/tablecmds.c:10583
+#: access/index/indexam.c:172 catalog/objectaddress.c:855
+#: commands/indexcmds.c:1725 commands/tablecmds.c:231
+#: commands/tablecmds.c:11099
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" - это не индекс"
 
-#: access/nbtree/nbtinsert.c:392
+#: access/nbtree/nbtinsert.c:396
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "повторяющееся значение ключа нарушает ограничение уникальности \"%s\""
 
-#: access/nbtree/nbtinsert.c:394
+#: access/nbtree/nbtinsert.c:398
 #, c-format
 msgid "Key %s already exists."
 msgstr "Ключ \"%s\" уже существует."
 
-#: access/nbtree/nbtinsert.c:462
+#: access/nbtree/nbtinsert.c:466
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "не удалось повторно найти кортеж в индексе \"%s\""
 
-#: access/nbtree/nbtinsert.c:464
+#: access/nbtree/nbtinsert.c:468
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Возможно, это вызвано переменной природой индексного выражения."
 
-#: access/nbtree/nbtinsert.c:544 access/nbtree/nbtsort.c:489
+#: access/nbtree/nbtinsert.c:548 access/nbtree/nbtsort.c:488
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -502,25 +637,39 @@ msgstr ""
 "Возможно, вам стоит применить индекс функции с MD5-хэшем значения или "
 "полнотекстовую индексацию."
 
-#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:361
-#: access/nbtree/nbtpage.c:448 parser/parse_utilcmd.c:1625
+#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:362
+#: access/nbtree/nbtpage.c:449 parser/parse_utilcmd.c:1620
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "индекс \"%s\" не является b-деревом"
 
-#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:367
-#: access/nbtree/nbtpage.c:454
+#: access/nbtree/nbtpage.c:172 access/nbtree/nbtpage.c:368
+#: access/nbtree/nbtpage.c:455
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr ""
 "несовпадение версии в индексе \"%s\": версия файла: %d, версия кода: %d"
 
-#: access/spgist/spgutils.c:664
+#: access/nbtree/nbtpage.c:1187
 #, c-format
-msgid "SP-GiST inner tuple size %lu exceeds maximum %lu"
-msgstr "Ð\92нÑ\83Ñ\82Ñ\80енний Ñ\80азмеÑ\80 ÐºÐ¾Ñ\80Ñ\82ежа SP-GiST %lu Ð±Ð¾Ð»Ñ\8cÑ\88е Ð¿Ñ\80еделÑ\8cного Ñ\80азмеÑ\80а %lu"
+msgid "index \"%s\" contains a half-dead internal page"
+msgstr "индекÑ\81 \"%s\" Ñ\81одеÑ\80жиÑ\82 Ð¿Ð¾Ð»Ñ\83мÑ\91Ñ\80Ñ\82вÑ\83Ñ\8e Ð²Ð½Ñ\83Ñ\82Ñ\80еннÑ\8eÑ\8e Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83"
 
-#: access/transam/multixact.c:946
+#: access/nbtree/nbtpage.c:1189
+#, c-format
+msgid ""
+"This can be caused by an interrupt VACUUM in version 9.3 or older, before "
+"upgrade. Please REINDEX it."
+msgstr ""
+"Причиной тому могло быть прерывание операции VACUUM в версии 9.3 или старее, "
+"до обновления. Этот индекс нужно перестроить (REINDEX)."
+
+#: access/spgist/spgutils.c:663
+#, c-format
+msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
+msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)"
+
+#: access/transam/multixact.c:990
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -529,18 +678,18 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных \"%s\""
 
-#: access/transam/multixact.c:948 access/transam/multixact.c:955
-#: access/transam/multixact.c:970 access/transam/multixact.c:979
+#: access/transam/multixact.c:992 access/transam/multixact.c:999
+#: access/transam/multixact.c:1014 access/transam/multixact.c:1023
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
 "You might also need to commit or roll back old prepared transactions."
 msgstr ""
 "Выполните очистку (VACUUM) всей базы данных.\n"
-"Возможно, вам также придётся зафиксировать или откатить старые "
+"Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:953
+#: access/transam/multixact.c:997
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -549,7 +698,7 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных с OID %u"
 
-#: access/transam/multixact.c:965 access/transam/multixact.c:2156
+#: access/transam/multixact.c:1009 access/transam/multixact.c:2200
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural ""
@@ -564,7 +713,7 @@ msgstr[2] ""
 "база данных \"%s\" должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:974 access/transam/multixact.c:2165
+#: access/transam/multixact.c:1018 access/transam/multixact.c:2209
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %u more MultiXactId is used"
@@ -580,24 +729,24 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1125
+#: access/transam/multixact.c:1169
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u прекратил существование: видимо, произошло наложение"
 
-#: access/transam/multixact.c:1133
+#: access/transam/multixact.c:1177
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u ещё не был создан: видимо, произошло наложение"
 
-#: access/transam/multixact.c:2121
+#: access/transam/multixact.c:2165
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr ""
 "предел наложения MultiXactId равен %u, источник ограничения - база данных с "
 "OID %u"
 
-#: access/transam/multixact.c:2161 access/transam/multixact.c:2170
+#: access/transam/multixact.c:2205 access/transam/multixact.c:2214
 #: access/transam/varsup.c:137 access/transam/varsup.c:144
 #: access/transam/varsup.c:374 access/transam/varsup.c:381
 #, c-format
@@ -606,12 +755,11 @@ msgid ""
 "database.\n"
 "You might also need to commit or roll back old prepared transactions."
 msgstr ""
-"Во избежание отключения базы данных выполните очистку (VACUUM) всей базы "
-"данных.\n"
-"Возможно, вам также придётся зафиксировать или откатить старые "
+"Во избежание отключения базы данных выполните очистку (VACUUM) всей базы.\n"
+"Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:2728
+#: access/transam/multixact.c:2798
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "неверный MultiXactId: %u"
@@ -668,19 +816,6 @@ msgstr "не удалось очистить каталог \"%s\": видимо
 msgid "removing file \"%s\""
 msgstr "удаляется файл \"%s\""
 
-#: access/transam/timeline.c:110 access/transam/timeline.c:235
-#: access/transam/timeline.c:333 access/transam/xlog.c:2271
-#: access/transam/xlog.c:2384 access/transam/xlog.c:2421
-#: access/transam/xlog.c:2696 access/transam/xlog.c:2774
-#: replication/basebackup.c:390 replication/basebackup.c:1045
-#: replication/walsender.c:368 replication/walsender.c:1348
-#: storage/file/copydir.c:158 storage/file/copydir.c:248 storage/smgr/md.c:587
-#: storage/smgr/md.c:845 utils/error/elog.c:1684 utils/init/miscinit.c:1063
-#: utils/init/miscinit.c:1192
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "не удалось открыть файл \"%s\": %m"
-
 #: access/transam/timeline.c:147 access/transam/timeline.c:152
 #, c-format
 msgid "syntax error in history file: %s"
@@ -718,48 +853,20 @@ msgstr ""
 "ID линии времени должны быть меньше, чем ID линии времени, ответвившейся от "
 "неё."
 
-#: access/transam/timeline.c:314 access/transam/timeline.c:471
-#: access/transam/xlog.c:2305 access/transam/xlog.c:2436
-#: access/transam/xlog.c:8732 access/transam/xlog.c:9047
-#: postmaster/postmaster.c:4089 storage/file/copydir.c:165
-#: storage/smgr/md.c:305 utils/time/snapmgr.c:861
-#, c-format
-msgid "could not create file \"%s\": %m"
-msgstr "создать файл \"%s\" не удалось: %m"
-
-#: access/transam/timeline.c:345 access/transam/xlog.c:2449
-#: access/transam/xlog.c:8898 access/transam/xlog.c:8911
-#: access/transam/xlog.c:9279 access/transam/xlog.c:9322
-#: access/transam/xlogfuncs.c:596 access/transam/xlogfuncs.c:615
-#: replication/walsender.c:393 storage/file/copydir.c:179
-#: utils/adt/genfile.c:139
+#: access/transam/timeline.c:345 access/transam/xlog.c:3283
+#: access/transam/xlog.c:10074 access/transam/xlog.c:10087
+#: access/transam/xlog.c:10455 access/transam/xlog.c:10498
+#: access/transam/xlogfuncs.c:473 access/transam/xlogfuncs.c:492
+#: replication/logical/reorderbuffer.c:2820 replication/walsender.c:483
+#: storage/file/copydir.c:176 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: access/transam/timeline.c:366 access/transam/timeline.c:400
-#: access/transam/timeline.c:487 access/transam/xlog.c:2335
-#: access/transam/xlog.c:2468 postmaster/postmaster.c:4099
-#: postmaster/postmaster.c:4109 storage/file/copydir.c:190
-#: utils/init/miscinit.c:1128 utils/init/miscinit.c:1137
-#: utils/init/miscinit.c:1144 utils/misc/guc.c:7638 utils/misc/guc.c:7652
-#: utils/time/snapmgr.c:866 utils/time/snapmgr.c:873
-#, c-format
-msgid "could not write to file \"%s\": %m"
-msgstr "записать в файл \"%s\" не удалось: %m"
-
-#: access/transam/timeline.c:406 access/transam/timeline.c:493
-#: access/transam/xlog.c:2345 access/transam/xlog.c:2475
-#: storage/file/copydir.c:262 storage/smgr/md.c:967 storage/smgr/md.c:1198
-#: storage/smgr/md.c:1371
-#, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
-
 #: access/transam/timeline.c:411 access/transam/timeline.c:498
-#: access/transam/xlog.c:2351 access/transam/xlog.c:2480
-#: access/transam/xlogfuncs.c:621 commands/copy.c:1469
-#: storage/file/copydir.c:204
+#: access/transam/xlog.c:3185 access/transam/xlog.c:3314
+#: access/transam/xlogfuncs.c:498 commands/copy.c:1518
+#: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
@@ -770,10 +877,11 @@ msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m"
 
 #: access/transam/timeline.c:435 access/transam/timeline.c:522
-#: access/transam/xlog.c:4478 access/transam/xlog.c:5363
-#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:474
-#: access/transam/xlogarchive.c:581 postmaster/pgarch.c:756
-#: utils/time/snapmgr.c:884
+#: access/transam/xlog.c:5399 access/transam/xlog.c:6492
+#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
+#: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
+#: replication/logical/snapbuild.c:1593 replication/slot.c:933
+#: utils/time/snapmgr.c:999
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
@@ -783,59 +891,59 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\"
 msgid "requested timeline %u is not in this server's history"
 msgstr "в истории сервера нет запрошенной линии времени %u"
 
-#: access/transam/twophase.c:253
+#: access/transam/twophase.c:330
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "идентификатор транзакции \"%s\" слишком длинный"
 
-#: access/transam/twophase.c:260
+#: access/transam/twophase.c:337
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "подготовленные транзакции отключены"
 
-#: access/transam/twophase.c:261
+#: access/transam/twophase.c:338
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Установите ненулевое значение параметра max_prepared_transactions."
 
-#: access/transam/twophase.c:294
+#: access/transam/twophase.c:357
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "идентификатор транзакции \"%s\" уже используется"
 
-#: access/transam/twophase.c:303
+#: access/transam/twophase.c:366
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "достигнут предел числа подготовленных транзакций"
 
-#: access/transam/twophase.c:304
+#: access/transam/twophase.c:367
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)."
 
-#: access/transam/twophase.c:431
+#: access/transam/twophase.c:505
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "подготовленная транзакция с идентификатором \"%s\" занята"
 
-#: access/transam/twophase.c:439
+#: access/transam/twophase.c:511
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "нет доступа для завершения подготовленной транзакции "
 
-#: access/transam/twophase.c:440
+#: access/transam/twophase.c:512
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr ""
 "Это разрешено только суперпользователю и пользователю, подготовившему "
 "транзакцию."
 
-#: access/transam/twophase.c:451
+#: access/transam/twophase.c:523
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "подготовленная транзакция относится к другой базе данных"
 
-#: access/transam/twophase.c:452
+#: access/transam/twophase.c:524
 #, c-format
 msgid ""
 "Connect to the database where the transaction was prepared to finish it."
@@ -844,101 +952,101 @@ msgstr ""
 "подготовлена."
 
 # [SM]: TO REVIEW
-#: access/transam/twophase.c:466
+#: access/transam/twophase.c:539
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "подготовленной транзакции с идентификатором \"%s\" нет"
 
-#: access/transam/twophase.c:969
+#: access/transam/twophase.c:1042
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "превышен предельный размер файла состояния 2PC"
 
-#: access/transam/twophase.c:982
+#: access/transam/twophase.c:1055
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr "не удалось создать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:996 access/transam/twophase.c:1013
-#: access/transam/twophase.c:1062 access/transam/twophase.c:1482
-#: access/transam/twophase.c:1489
+#: access/transam/twophase.c:1069 access/transam/twophase.c:1086
+#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
+#: access/transam/twophase.c:1571
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "не удалось записать в файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1022
+#: access/transam/twophase.c:1095
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr "не удалось переместиться в файле состояния 2PC: %m"
 
-#: access/transam/twophase.c:1068 access/transam/twophase.c:1507
+#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "не удалось закрыть файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1148 access/transam/twophase.c:1588
+#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "не удалось открыть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1165
+#: access/transam/twophase.c:1245
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "не удалось получить информацию о файле состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1197
+#: access/transam/twophase.c:1277
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "не удалось прочитать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1293
+#: access/transam/twophase.c:1373
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr "в файле состояния 2PC испорчена информация о транзакции %u"
 
-#: access/transam/twophase.c:1444
+#: access/transam/twophase.c:1526
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "не удалось стереть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1473
+#: access/transam/twophase.c:1555
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "не удалось пересоздать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1501
+#: access/transam/twophase.c:1583
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "не удалось синхронизировать с ФС файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1597
+#: access/transam/twophase.c:1679
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1604
+#: access/transam/twophase.c:1686
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr "не удалось закрыть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1669
+#: access/transam/twophase.c:1751
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "удаление будущего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1685 access/transam/twophase.c:1696
-#: access/transam/twophase.c:1815 access/transam/twophase.c:1826
-#: access/transam/twophase.c:1899
+#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
+#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
+#: access/transam/twophase.c:1981
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "удаление испорченного файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1804 access/transam/twophase.c:1888
+#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "удаление устаревшего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1906
+#: access/transam/twophase.c:1988
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "восстановление подготовленной транзакции %u"
@@ -955,12 +1063,12 @@ msgstr ""
 #: access/transam/varsup.c:117 access/transam/varsup.c:124
 #, c-format
 msgid ""
-"Stop the postmaster and use a standalone backend to vacuum that database.\n"
+"Stop the postmaster and vacuum that database in single-user mode.\n"
 "You might also need to commit or roll back old prepared transactions."
 msgstr ""
-"Остановите управляющий процесс (postmaster) и выполните очистку (VACUUM) "
-"базы данных в отдельном серверном процессе.\n"
-"Возможно, вам также придётся зафиксировать или откатить старые "
+"Остановите управляющий процесс (postmaster) и выполните очистку (VACUUM)\n"
+"базы данных в однопользовательском режиме.\n"
+"Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
 #: access/transam/varsup.c:122
@@ -991,41 +1099,41 @@ msgstr ""
 "предел наложения ID транзакций равен %u, источник ограничения - база данных "
 "с OID %u"
 
-#: access/transam/xact.c:776
+#: access/transam/xact.c:814
 #, c-format
-msgid "cannot have more than 2^32-1 commands in a transaction"
-msgstr "в одной транзакции не может быть больше 2^32-1 команд"
+msgid "cannot have more than 2^32-2 commands in a transaction"
+msgstr "в одной транзакции не может быть больше 2^32-2 команд"
 
-#: access/transam/xact.c:1324
+#: access/transam/xact.c:1370
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "превышен предел числа зафиксированных подтранзакций (%d)"
 
-#: access/transam/xact.c:2104
+#: access/transam/xact.c:2151
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr ""
 "выполнить PREPARE для транзакции, оперирующей с временными таблицами, нельзя"
 
-#: access/transam/xact.c:2114
+#: access/transam/xact.c:2161
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2939
+#: access/transam/xact.c:3000
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s не может выполняться внутри блока транзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2949
+#: access/transam/xact.c:3010
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s не может выполняться внутри подтранзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2959
+#: access/transam/xact.c:3020
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -1033,139 +1141,140 @@ msgstr ""
 "команд"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3010
+#: access/transam/xact.c:3091
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s может выполняться только внутри блоков транзакций"
 
-#: access/transam/xact.c:3192
+#: access/transam/xact.c:3274
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "транзакция уже выполняется"
 
-#: access/transam/xact.c:3360 access/transam/xact.c:3453
+#: access/transam/xact.c:3442 access/transam/xact.c:3535
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "нет незавершённой транзакции"
 
-#: access/transam/xact.c:3549 access/transam/xact.c:3600
-#: access/transam/xact.c:3606 access/transam/xact.c:3650
-#: access/transam/xact.c:3699 access/transam/xact.c:3705
+#: access/transam/xact.c:3631 access/transam/xact.c:3682
+#: access/transam/xact.c:3688 access/transam/xact.c:3732
+#: access/transam/xact.c:3781 access/transam/xact.c:3787
 #, c-format
 msgid "no such savepoint"
 msgstr "нет такой точки сохранения"
 
-#: access/transam/xact.c:4382
+#: access/transam/xact.c:4464
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций"
 
-#: access/transam/xlog.c:1616
+#: access/transam/xlog.c:2410
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "не удалось переместиться в файле журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:1633
+#: access/transam/xlog.c:2430
 #, c-format
-msgid "could not write to log file %s at offset %u, length %lu: %m"
-msgstr "не удалось записать в файл журнала %s (смещение %u, длина %lu): %m"
+msgid "could not write to log file %s at offset %u, length %zu: %m"
+msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m"
 
-#: access/transam/xlog.c:1877
+#: access/transam/xlog.c:2706
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "минимальная точка восстановления изменена на %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:2452
+#: access/transam/xlog.c:3286
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "недостаточно данных в файле\"%s\""
 
-#: access/transam/xlog.c:2571
+#: access/transam/xlog.c:3405
 #, c-format
 msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr ""
 "для файла \"%s\" не удалось создать ссылку \"%s\" (при инициализации файла "
 "журнала): %m"
 
-#: access/transam/xlog.c:2583
+#: access/transam/xlog.c:3417
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr ""
 "не удалось переименовать файл \"%s\" в \"%s\" (при инициализации файла "
 "журнала): %m"
 
-#: access/transam/xlog.c:2611
+#: access/transam/xlog.c:3445
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "не удалось открыть файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:2800
+#: access/transam/xlog.c:3634
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "не удалось закрыть файл журнала \"%s\": %m"
 
-#: access/transam/xlog.c:2859 replication/walsender.c:1343
+#: access/transam/xlog.c:3693 replication/logical/logicalfuncs.c:147
+#: replication/walsender.c:2089
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "запрошенный сегмент WAL %s уже удалён"
 
-#: access/transam/xlog.c:2916 access/transam/xlog.c:3093
+#: access/transam/xlog.c:3771 access/transam/xlog.c:3948
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "не удалось открыть каталог журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:2964
+#: access/transam/xlog.c:3819
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" используется повторно"
 
-#: access/transam/xlog.c:2980
+#: access/transam/xlog.c:3835
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" удаляется"
 
-#: access/transam/xlog.c:3003
+#: access/transam/xlog.c:3858
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "не удалось переименовать старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3015
+#: access/transam/xlog.c:3870
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "не удалось стереть старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3053 access/transam/xlog.c:3063
+#: access/transam/xlog.c:3908 access/transam/xlog.c:3918
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "требуемый каталог WAL \"%s\" не существует"
 
-#: access/transam/xlog.c:3069
+#: access/transam/xlog.c:3924
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "создаётся отсутствующий каталог WAL \"%s\""
 
-#: access/transam/xlog.c:3072
+#: access/transam/xlog.c:3927
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "не удалось создать отсутствующий каталог \"%s\": %m"
 
-#: access/transam/xlog.c:3106
+#: access/transam/xlog.c:3961
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "удаляется файл истории копирования журнала: \"%s\""
 
-#: access/transam/xlog.c:3302
+#: access/transam/xlog.c:4157
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "неожиданный ID линии времени %u в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlog.c:3424
+#: access/transam/xlog.c:4279
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr ""
 "новая линия времени %u не является ответвлением линии времени системы БД %u"
 
-#: access/transam/xlog.c:3438
+#: access/transam/xlog.c:4293
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
@@ -1174,56 +1283,56 @@ msgstr ""
 "новая линия времени %u ответвилась от текущей линии времени базы данных %u "
 "до текущей точки восстановления %X/%X"
 
-#: access/transam/xlog.c:3457
+#: access/transam/xlog.c:4312
 #, c-format
 msgid "new target timeline is %u"
 msgstr "новая целевая линия времени %u"
 
-#: access/transam/xlog.c:3536
+#: access/transam/xlog.c:4392
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
-#: access/transam/xlog.c:3547 access/transam/xlog.c:3776
+#: access/transam/xlog.c:4403 access/transam/xlog.c:4639
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "не удалось записать в файл pg_control: %m"
 
-#: access/transam/xlog.c:3553 access/transam/xlog.c:3782
+#: access/transam/xlog.c:4409 access/transam/xlog.c:4645
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "не удалось синхронизировать с ФС файл pg_control: %m"
 
-#: access/transam/xlog.c:3558 access/transam/xlog.c:3787
+#: access/transam/xlog.c:4414 access/transam/xlog.c:4650
 #, c-format
 msgid "could not close control file: %m"
 msgstr "не удалось закрыть файл pg_control: %m"
 
-#: access/transam/xlog.c:3576 access/transam/xlog.c:3765
+#: access/transam/xlog.c:4432 access/transam/xlog.c:4628
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/transam/xlog.c:3582
+#: access/transam/xlog.c:4438
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "не удалось прочитать файл pg_control: %m"
 
-#: access/transam/xlog.c:3595 access/transam/xlog.c:3604
-#: access/transam/xlog.c:3628 access/transam/xlog.c:3635
-#: access/transam/xlog.c:3642 access/transam/xlog.c:3647
-#: access/transam/xlog.c:3654 access/transam/xlog.c:3661
-#: access/transam/xlog.c:3668 access/transam/xlog.c:3675
-#: access/transam/xlog.c:3682 access/transam/xlog.c:3689
-#: access/transam/xlog.c:3698 access/transam/xlog.c:3705
-#: access/transam/xlog.c:3714 access/transam/xlog.c:3721
-#: access/transam/xlog.c:3730 access/transam/xlog.c:3737
-#: utils/init/miscinit.c:1210
+#: access/transam/xlog.c:4451 access/transam/xlog.c:4460
+#: access/transam/xlog.c:4484 access/transam/xlog.c:4491
+#: access/transam/xlog.c:4498 access/transam/xlog.c:4503
+#: access/transam/xlog.c:4510 access/transam/xlog.c:4517
+#: access/transam/xlog.c:4524 access/transam/xlog.c:4531
+#: access/transam/xlog.c:4538 access/transam/xlog.c:4545
+#: access/transam/xlog.c:4552 access/transam/xlog.c:4561
+#: access/transam/xlog.c:4568 access/transam/xlog.c:4577
+#: access/transam/xlog.c:4584 access/transam/xlog.c:4593
+#: access/transam/xlog.c:4600 utils/init/miscinit.c:1139
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "файлы базы данных не совместимы с сервером"
 
-#: access/transam/xlog.c:3596
+#: access/transam/xlog.c:4452
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
@@ -1232,7 +1341,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но "
 "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:3600
+#: access/transam/xlog.c:4456
 #, c-format
 msgid ""
 "This could be a problem of mismatched byte ordering.  It looks like you need "
@@ -1241,7 +1350,7 @@ msgstr ""
 "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить "
 "initdb."
 
-#: access/transam/xlog.c:3605
+#: access/transam/xlog.c:4461
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -1250,18 +1359,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер "
 "скомпилирован с PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:3608 access/transam/xlog.c:3632
-#: access/transam/xlog.c:3639 access/transam/xlog.c:3644
+#: access/transam/xlog.c:4464 access/transam/xlog.c:4488
+#: access/transam/xlog.c:4495 access/transam/xlog.c:4500
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Кажется, вам надо выполнить initdb."
 
-#: access/transam/xlog.c:3619
+#: access/transam/xlog.c:4475
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "ошибка контрольной суммы в файле pg_control"
 
-#: access/transam/xlog.c:3629
+#: access/transam/xlog.c:4485
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -1270,7 +1379,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер "
 "скомпилирован с CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:3636
+#: access/transam/xlog.c:4492
 #, c-format
 msgid ""
 "The database cluster was initialized with MAXALIGN %d, but the server was "
@@ -1279,7 +1388,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер "
 "скомпилирован с MAXALIGN %d."
 
-#: access/transam/xlog.c:3643
+#: access/transam/xlog.c:4499
 #, c-format
 msgid ""
 "The database cluster appears to use a different floating-point number format "
@@ -1288,7 +1397,7 @@ msgstr ""
 "Кажется, в кластере баз данных и в программе сервера используются разные "
 "форматы чисел с плавающей точкой."
 
-#: access/transam/xlog.c:3648
+#: access/transam/xlog.c:4504
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
@@ -1297,18 +1406,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован "
 "с BLCKSZ %d."
 
-#: access/transam/xlog.c:3651 access/transam/xlog.c:3658
-#: access/transam/xlog.c:3665 access/transam/xlog.c:3672
-#: access/transam/xlog.c:3679 access/transam/xlog.c:3686
-#: access/transam/xlog.c:3693 access/transam/xlog.c:3701
-#: access/transam/xlog.c:3708 access/transam/xlog.c:3717
-#: access/transam/xlog.c:3724 access/transam/xlog.c:3733
-#: access/transam/xlog.c:3740
+#: access/transam/xlog.c:4507 access/transam/xlog.c:4514
+#: access/transam/xlog.c:4521 access/transam/xlog.c:4528
+#: access/transam/xlog.c:4535 access/transam/xlog.c:4542
+#: access/transam/xlog.c:4549 access/transam/xlog.c:4556
+#: access/transam/xlog.c:4564 access/transam/xlog.c:4571
+#: access/transam/xlog.c:4580 access/transam/xlog.c:4587
+#: access/transam/xlog.c:4596 access/transam/xlog.c:4603
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb."
 
-#: access/transam/xlog.c:3655
+#: access/transam/xlog.c:4511
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -1317,7 +1426,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер "
 "скомпилирован с RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:3662
+#: access/transam/xlog.c:4518
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
@@ -1326,7 +1435,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер "
 "скомпилирован с XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:3669
+#: access/transam/xlog.c:4525
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
@@ -1335,7 +1444,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_SEG_SIZE %d, но сервер "
 "скомпилирован с XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:3676
+#: access/transam/xlog.c:4532
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -1344,7 +1453,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер "
 "скомпилирован с NAMEDATALEN %d."
 
-#: access/transam/xlog.c:3683
+#: access/transam/xlog.c:4539
 #, c-format
 msgid ""
 "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
@@ -1353,7 +1462,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер "
 "скомпилирован с INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:3690
+#: access/transam/xlog.c:4546
 #, c-format
 msgid ""
 "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
@@ -1362,7 +1471,16 @@ msgstr ""
 "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер "
 "скомпилирован с TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:3699
+#: access/transam/xlog.c:4553
+#, c-format
+msgid ""
+"The database cluster was initialized with LOBLKSIZE %d, but the server was "
+"compiled with LOBLKSIZE %d."
+msgstr ""
+"Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер "
+"скомпилирован с LOBLKSIZE %d."
+
+#: access/transam/xlog.c:4562
 #, c-format
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
@@ -1371,7 +1489,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован с HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3706
+#: access/transam/xlog.c:4569
 #, c-format
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
@@ -1380,7 +1498,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован без HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3715
+#: access/transam/xlog.c:4578
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT4_BYVAL but the server "
@@ -1389,7 +1507,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:3722
+#: access/transam/xlog.c:4585
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT4_BYVAL but the server "
@@ -1398,7 +1516,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован без USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:3731
+#: access/transam/xlog.c:4594
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
@@ -1407,7 +1525,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:3738
+#: access/transam/xlog.c:4601
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
@@ -1416,54 +1534,87 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был "
 "скомпилирован без USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4105
+#: access/transam/xlog.c:5002
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "не удалось записать начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4111
+#: access/transam/xlog.c:5008
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "не удалось синхронизировать с ФС начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4116
+#: access/transam/xlog.c:5013
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "не удалось закрыть начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4185
+#: access/transam/xlog.c:5084
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "не удалось открыть файл команд восстановления \"%s\": %m"
 
-#: access/transam/xlog.c:4225 access/transam/xlog.c:4316
-#: access/transam/xlog.c:4327 commands/extension.c:527
-#: commands/extension.c:535 utils/misc/guc.c:5417
+#: access/transam/xlog.c:5124 access/transam/xlog.c:5215
+#: access/transam/xlog.c:5226 commands/extension.c:527
+#: commands/extension.c:535 utils/misc/guc.c:5380
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "параметр \"%s\" требует логическое значение"
 
-#: access/transam/xlog.c:4241
+#: access/transam/xlog.c:5140
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:4257
+#: access/transam/xlog.c:5156
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:4301
+#: access/transam/xlog.c:5187
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "длина recovery_target_name превышает предел (%d)"
 
-#: access/transam/xlog.c:4348
+#: access/transam/xlog.c:5201
+#, c-format
+msgid "invalid recovery_target parameter"
+msgstr "нераспознанный параметр recovery_target"
+
+#: access/transam/xlog.c:5202
+#, c-format
+msgid "The only allowed value is 'immediate'"
+msgstr "Единственное допустимое значение: 'immediate'"
+
+#: access/transam/xlog.c:5261
+#, c-format
+msgid "parameter \"%s\" requires a temporal value"
+msgstr "параметр \"%s\" требует временное значение"
+
+#: access/transam/xlog.c:5263 catalog/dependency.c:970
+#: catalog/dependency.c:971 catalog/dependency.c:977 catalog/dependency.c:978
+#: catalog/dependency.c:989 catalog/dependency.c:990
+#: catalog/objectaddress.c:764 commands/tablecmds.c:762
+#: commands/tablecmds.c:8948 commands/user.c:988 commands/view.c:475
+#: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
+#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5412 utils/misc/guc.c:5537
+#: utils/misc/guc.c:8856 utils/misc/guc.c:8890 utils/misc/guc.c:8924
+#: utils/misc/guc.c:8958 utils/misc/guc.c:8993
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: access/transam/xlog.c:5265
+#, c-format
+msgid "recovery_min_apply_delay = '%s'"
+msgstr "recovery_min_apply_delay = '%s'"
+
+#: access/transam/xlog.c:5269
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "нераспознанный параметр восстановления \"%s\""
 
-#: access/transam/xlog.c:4359
+#: access/transam/xlog.c:5280
 #, c-format
 msgid ""
 "recovery command file \"%s\" specified neither primary_conninfo nor "
@@ -1472,7 +1623,7 @@ msgstr ""
 "в файле команд восстановления \"%s\" не указан параметр primary_conninfo или "
 "restore_command"
 
-#: access/transam/xlog.c:4361
+#: access/transam/xlog.c:5282
 #, c-format
 msgid ""
 "The database server will regularly poll the pg_xlog subdirectory to check "
@@ -1481,7 +1632,7 @@ msgstr ""
 "Сервер БД будет регулярно опрашивать подкаталог pg_xlog и проверять "
 "содержащиеся в нём файлы."
 
-#: access/transam/xlog.c:4367
+#: access/transam/xlog.c:5288
 #, c-format
 msgid ""
 "recovery command file \"%s\" must specify restore_command when standby mode "
@@ -1490,56 +1641,62 @@ msgstr ""
 "в файле команд восстановления \"%s\" может отсутствовать restore_command, "
 "только если это резервный сервер"
 
-#: access/transam/xlog.c:4387
+#: access/transam/xlog.c:5308
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "целевая линия времени для восстановления %u не существует"
 
-#: access/transam/xlog.c:4482
+#: access/transam/xlog.c:5403
 #, c-format
 msgid "archive recovery complete"
 msgstr "восстановление архива завершено"
 
-#: access/transam/xlog.c:4607
+#: access/transam/xlog.c:5473 access/transam/xlog.c:5667
 #, c-format
-msgid "recovery stopping after commit of transaction %u, time %s"
+msgid "recovery stopping after reaching consistency"
 msgstr ""
-"восстановление останавливается после фиксирования транзакции %u, время %s"
+"восстановление останавливается после достижения согласованного состояния"
 
-#: access/transam/xlog.c:4612
+#: access/transam/xlog.c:5548
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед фиксированием транзакции %u, время %s"
 
-#: access/transam/xlog.c:4620
-#, c-format
-msgid "recovery stopping after abort of transaction %u, time %s"
-msgstr ""
-"восстановление останавливается после прерывания транзакции %u, время %s"
-
-#: access/transam/xlog.c:4625
+#: access/transam/xlog.c:5555
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед прерыванием транзакции %u, время %s"
 
-#: access/transam/xlog.c:4634
+#: access/transam/xlog.c:5597
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "восстановление останавливается в точке восстановления \"%s\", время %s"
 
-#: access/transam/xlog.c:4668
+#: access/transam/xlog.c:5647
+#, c-format
+msgid "recovery stopping after commit of transaction %u, time %s"
+msgstr ""
+"восстановление останавливается после фиксирования транзакции %u, время %s"
+
+#: access/transam/xlog.c:5655
+#, c-format
+msgid "recovery stopping after abort of transaction %u, time %s"
+msgstr ""
+"восстановление останавливается после прерывания транзакции %u, время %s"
+
+#: access/transam/xlog.c:5694
 #, c-format
 msgid "recovery has paused"
 msgstr "восстановление приостановлено"
 
-#: access/transam/xlog.c:4669
+#: access/transam/xlog.c:5695
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Выполните pg_xlog_replay_resume() для продолжения."
 
-#: access/transam/xlog.c:4799
+#: access/transam/xlog.c:5910
 #, c-format
 msgid ""
 "hot standby is not possible because %s = %d is a lower setting than on the "
@@ -1548,12 +1705,12 @@ msgstr ""
 "режим горячего резерва невозможен, так как параметр %s = %d, меньше чем на "
 "главном сервере (на нём было значение %d)"
 
-#: access/transam/xlog.c:4821
+#: access/transam/xlog.c:5932
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL был создан с параметром wal_level=minimal, возможна потеря данных"
 
-#: access/transam/xlog.c:4822
+#: access/transam/xlog.c:5933
 #, c-format
 msgid ""
 "This happens if you temporarily set wal_level=minimal without taking a new "
@@ -1562,16 +1719,16 @@ msgstr ""
 "Это происходит, если вы на время установили wal_level=minimal и не сделали "
 "резервную копию базу данных."
 
-#: access/transam/xlog.c:4833
+#: access/transam/xlog.c:5944
 #, c-format
 msgid ""
 "hot standby is not possible because wal_level was not set to \"hot_standby\" "
-"on the master server"
+"or higher on the master server"
 msgstr ""
 "режим горячего резерва невозможен, так как на главном сервере установлен "
-"неподходящий wal_level (должен быть \"hot_standby\")"
+"неподходящий wal_level (должен быть \"hot_standby\" или выше)"
 
-#: access/transam/xlog.c:4834
+#: access/transam/xlog.c:5945
 #, c-format
 msgid ""
 "Either set wal_level to \"hot_standby\" on the master, or turn off "
@@ -1580,32 +1737,32 @@ msgstr ""
 "Либо установите для wal_level значение \"hot_standby\" на главном сервере, "
 "либо выключите hot_standby здесь."
 
-#: access/transam/xlog.c:4887
+#: access/transam/xlog.c:6000
 #, c-format
 msgid "control file contains invalid data"
 msgstr "файл pg_control содержит неверные данные"
 
-#: access/transam/xlog.c:4893
+#: access/transam/xlog.c:6006
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "система БД была выключена: %s"
 
-#: access/transam/xlog.c:4898
+#: access/transam/xlog.c:6011
 #, c-format
 msgid "database system was shut down in recovery at %s"
-msgstr "Ñ\81иÑ\81Ñ\82ема Ð\91Ð\94 Ð±Ñ\8bла Ð²Ñ\8bклÑ\8eÑ\87ена Ð² Ð¿Ñ\80оÑ\86еÑ\81Ñ\81а восстановления: %s"
+msgstr "Ñ\81иÑ\81Ñ\82ема Ð\91Ð\94 Ð±Ñ\8bла Ð²Ñ\8bклÑ\8eÑ\87ена Ð² Ð¿Ñ\80оÑ\86еÑ\81Ñ\81е восстановления: %s"
 
-#: access/transam/xlog.c:4902
+#: access/transam/xlog.c:6015
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "выключение системы БД было прервано; последний момент работы: %s"
 
-#: access/transam/xlog.c:4906
+#: access/transam/xlog.c:6019
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "работа системы БД была прервана во время восстановления: %s"
 
-#: access/transam/xlog.c:4908
+#: access/transam/xlog.c:6021
 #, c-format
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
@@ -1614,14 +1771,14 @@ msgstr ""
 "Это скорее всего означает, что некоторые данные повреждены и вам придётся "
 "восстановить БД из последней резервной копии."
 
-#: access/transam/xlog.c:4912
+#: access/transam/xlog.c:6025
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "работа системы БД была прервана в процессе восстановления, время в журнале: "
 "%s"
 
-#: access/transam/xlog.c:4914
+#: access/transam/xlog.c:6027
 #, c-format
 msgid ""
 "If this has occurred more than once some data might be corrupted and you "
@@ -1630,76 +1787,58 @@ msgstr ""
 "Если это происходит постоянно, возможно, какие-то данные были испорчены и "
 "для восстановления стоит выбрать более раннюю точку."
 
-#: access/transam/xlog.c:4918
+#: access/transam/xlog.c:6031
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "работа системы БД была прервана; последний момент работы: %s"
 
-#: access/transam/xlog.c:4972
+#: access/transam/xlog.c:6085
 #, c-format
 msgid "entering standby mode"
 msgstr "переход в режим резервного сервера"
 
-#: access/transam/xlog.c:4975
+#: access/transam/xlog.c:6088
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "начинается восстановление точки во времени до XID %u"
 
-#: access/transam/xlog.c:4979
+#: access/transam/xlog.c:6092
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "начинается восстановление точки во времени до %s"
 
-#: access/transam/xlog.c:4983
+#: access/transam/xlog.c:6096
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "начинается восстановление точки во времени до \"%s\""
 
-#: access/transam/xlog.c:4987
+#: access/transam/xlog.c:6100
 #, c-format
-msgid "starting archive recovery"
-msgstr "начинается восстановление архива"
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr ""
+"начинается восстановление точки во времени до первой точки согласованности"
 
-#: access/transam/xlog.c:5003 commands/sequence.c:1035 lib/stringinfo.c:266
-#: libpq/auth.c:1025 libpq/auth.c:1381 libpq/auth.c:1449 libpq/auth.c:1851
-#: postmaster/postmaster.c:2143 postmaster/postmaster.c:2174
-#: postmaster/postmaster.c:3631 postmaster/postmaster.c:4314
-#: postmaster/postmaster.c:4399 postmaster/postmaster.c:5077
-#: postmaster/postmaster.c:5253 postmaster/postmaster.c:5670
-#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:397
-#: storage/file/fd.c:403 storage/file/fd.c:800 storage/file/fd.c:918
-#: storage/file/fd.c:1531 storage/ipc/procarray.c:901
-#: storage/ipc/procarray.c:1341 storage/ipc/procarray.c:1348
-#: storage/ipc/procarray.c:1665 storage/ipc/procarray.c:2155
-#: utils/adt/formatting.c:1524 utils/adt/formatting.c:1644
-#: utils/adt/formatting.c:1765 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
-#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
-#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970
-#: utils/init/miscinit.c:151 utils/init/miscinit.c:172
-#: utils/init/miscinit.c:182 utils/mb/mbutils.c:374 utils/mb/mbutils.c:675
-#: utils/misc/guc.c:3436 utils/misc/guc.c:3452 utils/misc/guc.c:3465
-#: utils/misc/tzparser.c:455 utils/mmgr/aset.c:416 utils/mmgr/aset.c:587
-#: utils/mmgr/aset.c:765 utils/mmgr/aset.c:966
+#: access/transam/xlog.c:6103
 #, c-format
-msgid "out of memory"
-msgstr "неÑ\85ваÑ\82ка Ð¿Ð°Ð¼Ñ\8fÑ\82и"
+msgid "starting archive recovery"
+msgstr "наÑ\87инаеÑ\82Ñ\81Ñ\8f Ð²Ð¾Ñ\81Ñ\81Ñ\82ановление Ð°Ñ\80Ñ\85ива"
 
-#: access/transam/xlog.c:5004
+#: access/transam/xlog.c:6120
 #, c-format
 msgid "Failed while allocating an XLog reading processor."
 msgstr "Не удалось разместить обработчик журнала транзакций."
 
-#: access/transam/xlog.c:5029 access/transam/xlog.c:5096
+#: access/transam/xlog.c:6145 access/transam/xlog.c:6212
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "запись о контрольной точке по смещению %X/%X"
 
-#: access/transam/xlog.c:5043
+#: access/transam/xlog.c:6159
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "не удалось найти положение REDO, указанное записью контрольной точки"
 
-#: access/transam/xlog.c:5044 access/transam/xlog.c:5051
+#: access/transam/xlog.c:6160 access/transam/xlog.c:6167
 #, c-format
 msgid ""
 "If you are not restoring from a backup, try removing the file \"%s/"
@@ -1708,27 +1847,27 @@ msgstr ""
 "Если вы не восстанавливаете БД из резервной копии, попробуйте удалить файл "
 "\"%s/backup_label\"."
 
-#: access/transam/xlog.c:5050
+#: access/transam/xlog.c:6166
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "не удалось считать нужную запись контрольной точки"
 
-#: access/transam/xlog.c:5106 access/transam/xlog.c:5121
+#: access/transam/xlog.c:6222 access/transam/xlog.c:6237
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "не удалось считать правильную запись контрольной точки"
 
-#: access/transam/xlog.c:5115
+#: access/transam/xlog.c:6231
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "используется предыдущая запись контрольной точки по смещению %X/%X"
 
-#: access/transam/xlog.c:5145
+#: access/transam/xlog.c:6261
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "в истории сервера нет ответвления запрошенной линии времени %u"
 
-#: access/transam/xlog.c:5147
+#: access/transam/xlog.c:6263
 #, c-format
 msgid ""
 "Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
@@ -1737,7 +1876,7 @@ msgstr ""
 "Последняя контрольная точка: %X/%X на линии времени %u, но в истории "
 "запрошенной линии времени сервер ответвился с этой линии в %X/%X."
 
-#: access/transam/xlog.c:5163
+#: access/transam/xlog.c:6279
 #, c-format
 msgid ""
 "requested timeline %u does not contain minimum recovery point %X/%X on "
@@ -1746,47 +1885,47 @@ msgstr ""
 "запрошенная линия времени %u не содержит минимальную точку восстановления %X/"
 "%X на линии времени %u"
 
-#: access/transam/xlog.c:5172
+#: access/transam/xlog.c:6288
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "запись REDO по смещению %X/%X; выключение: %s"
 
-#: access/transam/xlog.c:5176
+#: access/transam/xlog.c:6292
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "ID следующей транзакции: %u/%u; следующий OID: %u"
 
-#: access/transam/xlog.c:5180
+#: access/transam/xlog.c:6296
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "следующий MultiXactId: %u; следующий MultiXactOffset: %u"
 
-#: access/transam/xlog.c:5183
+#: access/transam/xlog.c:6299
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr "ID старейшей незамороженной транзакции: %u, база данных %u"
 
-#: access/transam/xlog.c:5186
+#: access/transam/xlog.c:6302
 #, c-format
 msgid "oldest MultiXactId: %u, in database %u"
 msgstr "старейший MultiXactId: %u, база данных %u"
 
-#: access/transam/xlog.c:5190
+#: access/transam/xlog.c:6306
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "неверный ID следующей транзакции"
 
-#: access/transam/xlog.c:5247
+#: access/transam/xlog.c:6376
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "неверная запись REDO в контрольной точке"
 
-#: access/transam/xlog.c:5258
+#: access/transam/xlog.c:6387
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
-msgstr "невеÑ\80наÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c REDO Ð² ÐºÐ¾Ð½Ñ\82Ñ\80олÑ\8cной Ñ\82оÑ\87ки выключения"
+msgstr "невеÑ\80наÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c REDO Ð² ÐºÐ¾Ð½Ñ\82Ñ\80олÑ\8cной Ñ\82оÑ\87ке выключения"
 
-#: access/transam/xlog.c:5289
+#: access/transam/xlog.c:6418
 #, c-format
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
@@ -1794,19 +1933,19 @@ msgstr ""
 "система БД была остановлена нештатно; производится автоматическое "
 "восстановление"
 
-#: access/transam/xlog.c:5293
+#: access/transam/xlog.c:6422
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr ""
 "восстановление после сбоя начинается на линии времени %u, целевая линия "
 "времени: %u"
 
-#: access/transam/xlog.c:5330
+#: access/transam/xlog.c:6459
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label содержит данные, не согласованные с файлом pg_control"
 
-#: access/transam/xlog.c:5331
+#: access/transam/xlog.c:6460
 #, c-format
 msgid ""
 "This means that the backup is corrupted and you will have to use another "
@@ -1815,44 +1954,44 @@ msgstr ""
 "Это означает, что резервная копия повреждена и для восстановления БД "
 "придётся использовать другую копию."
 
-#: access/transam/xlog.c:5396
+#: access/transam/xlog.c:6525
 #, c-format
 msgid "initializing for hot standby"
 msgstr "инициализация для горячего резерва"
 
-#: access/transam/xlog.c:5530
+#: access/transam/xlog.c:6657
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "запись REDO начинается со смещения %X/%X"
 
-#: access/transam/xlog.c:5722
+#: access/transam/xlog.c:6872
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "записи REDO обработаны до смещения %X/%X"
 
-#: access/transam/xlog.c:5727 access/transam/xlog.c:7582
+#: access/transam/xlog.c:6877 access/transam/xlog.c:8728
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "последняя завершённая транзакция была выполнена в %s"
 
-#: access/transam/xlog.c:5735
+#: access/transam/xlog.c:6885
 #, c-format
 msgid "redo is not required"
 msgstr "данные REDO не требуются"
 
-#: access/transam/xlog.c:5783
+#: access/transam/xlog.c:6933
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr ""
 "запрошенная точка остановки восстановления предшествует согласованной точке "
 "восстановления"
 
-#: access/transam/xlog.c:5799 access/transam/xlog.c:5803
+#: access/transam/xlog.c:6949 access/transam/xlog.c:6953
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL закончился без признака окончания копирования"
 
-#: access/transam/xlog.c:5800
+#: access/transam/xlog.c:6950
 #, c-format
 msgid ""
 "All WAL generated while online backup was taken must be available at "
@@ -1861,7 +2000,7 @@ msgstr ""
 "Все журналы WAL, созданные во время резервного копирования \"на ходу\", "
 "должны быть в наличии для восстановления."
 
-#: access/transam/xlog.c:5804
+#: access/transam/xlog.c:6954
 #, c-format
 msgid ""
 "Online backup started with pg_start_backup() must be ended with "
@@ -1871,107 +2010,107 @@ msgstr ""
 "должно закончиться pg_stop_backup(), и для восстановления должны быть "
 "доступны все журналы WAL."
 
-#: access/transam/xlog.c:5807
+#: access/transam/xlog.c:6957
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL закончился до согласованной точки восстановления"
 
-#: access/transam/xlog.c:5834
+#: access/transam/xlog.c:6984
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "выбранный ID новой линии времени: %u"
 
-#: access/transam/xlog.c:6203
+#: access/transam/xlog.c:7333
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "согласованное состояние восстановления достигнуто по смещению %X/%X"
 
-#: access/transam/xlog.c:6386
+#: access/transam/xlog.c:7530
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "неверная ссылка на первичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:6390
+#: access/transam/xlog.c:7534
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "неверная ссылка на вторичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:6394
+#: access/transam/xlog.c:7538
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "неверная ссылка на контрольную точку в файле backup_label"
 
-#: access/transam/xlog.c:6411
+#: access/transam/xlog.c:7555
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "неверная запись первичной контрольной точки"
 
-#: access/transam/xlog.c:6415
+#: access/transam/xlog.c:7559
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "неверная запись вторичной контрольной точки"
 
-#: access/transam/xlog.c:6419
+#: access/transam/xlog.c:7563
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "неверная запись контрольной точки"
 
-#: access/transam/xlog.c:6430
+#: access/transam/xlog.c:7574
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:6434
+#: access/transam/xlog.c:7578
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:6438
+#: access/transam/xlog.c:7582
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи контрольной точки"
 
-#: access/transam/xlog.c:6450
+#: access/transam/xlog.c:7594
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "неверные флаги xl_info в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:6454
+#: access/transam/xlog.c:7598
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "неверные флаги xl_info в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:6458
+#: access/transam/xlog.c:7602
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "неверные флаги xl_info в записи контрольной точки"
 
-#: access/transam/xlog.c:6470
+#: access/transam/xlog.c:7614
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "неверная длина записи первичной контрольной точки"
 
-#: access/transam/xlog.c:6474
+#: access/transam/xlog.c:7618
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "неверная длина записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:6478
+#: access/transam/xlog.c:7622
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "неверная длина записи контрольной точки"
 
-#: access/transam/xlog.c:6631
+#: access/transam/xlog.c:7782
 #, c-format
 msgid "shutting down"
 msgstr "выключение"
 
-#: access/transam/xlog.c:6654
+#: access/transam/xlog.c:7805
 #, c-format
 msgid "database system is shut down"
 msgstr "система БД выключена"
 
-#: access/transam/xlog.c:7119
+#: access/transam/xlog.c:8270
 #, c-format
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
@@ -1979,29 +2118,29 @@ msgstr ""
 "во время выключения системы баз данных отмечена активность в журнале "
 "транзакций"
 
-#: access/transam/xlog.c:7396
+#: access/transam/xlog.c:8539
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr ""
 "создание точки перезапуска пропускается, восстановление уже закончилось"
 
-#: access/transam/xlog.c:7419
+#: access/transam/xlog.c:8562
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr ""
 "создание точки перезапуска пропускается, она уже создана по смещению %X/%X"
 
-#: access/transam/xlog.c:7580
+#: access/transam/xlog.c:8726
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "точка перезапуска восстановления по смещению %X/%X"
 
-#: access/transam/xlog.c:7706
+#: access/transam/xlog.c:8871
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "точка восстановления \"%s\" создана по смещению %X/%X"
 
-#: access/transam/xlog.c:7923
+#: access/transam/xlog.c:9095
 #, c-format
 msgid ""
 "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
@@ -2010,12 +2149,12 @@ msgstr ""
 "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в "
 "записи контрольной точки"
 
-#: access/transam/xlog.c:7932
+#: access/transam/xlog.c:9104
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки"
 
-#: access/transam/xlog.c:7948
+#: access/transam/xlog.c:9120
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
@@ -2024,87 +2163,89 @@ msgstr ""
 "неожиданный ID линии времени %u в записи контрольной точки, до достижения "
 "минимальной к.т. %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:8015
+#: access/transam/xlog.c:9188
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr ""
 "резервное копирование \"на ходу\" было отменено, продолжить восстановление "
 "нельзя"
 
-#: access/transam/xlog.c:8076 access/transam/xlog.c:8124
-#: access/transam/xlog.c:8147
+#: access/transam/xlog.c:9249 access/transam/xlog.c:9298
+#: access/transam/xlog.c:9321
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи точки "
 "восстановления"
 
-#: access/transam/xlog.c:8380
+#: access/transam/xlog.c:9556
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "не удалось синхронизировать с ФС сегмент журнала %s: %m"
 
-#: access/transam/xlog.c:8404
+#: access/transam/xlog.c:9580
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала %s: %m"
 
-#: access/transam/xlog.c:8412
+#: access/transam/xlog.c:9588
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала сквозной записи %s: %m"
 
-#: access/transam/xlog.c:8421
+#: access/transam/xlog.c:9597
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr ""
 "не удалось синхронизировать с ФС данные (fdatasync) файла журнала %s: %m"
 
-#: access/transam/xlog.c:8499 access/transam/xlog.c:8835
-#: access/transam/xlogfuncs.c:119 access/transam/xlogfuncs.c:151
-#: access/transam/xlogfuncs.c:193 access/transam/xlogfuncs.c:217
-#: access/transam/xlogfuncs.c:299 access/transam/xlogfuncs.c:373
+#: access/transam/xlog.c:9675 access/transam/xlog.c:10011
+#: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
+#: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
+#: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
 #, c-format
 msgid "recovery is in progress"
 msgstr "идёт процесс восстановления"
 
-#: access/transam/xlog.c:8500 access/transam/xlog.c:8836
-#: access/transam/xlogfuncs.c:120 access/transam/xlogfuncs.c:152
-#: access/transam/xlogfuncs.c:194 access/transam/xlogfuncs.c:218
+#: access/transam/xlog.c:9676 access/transam/xlog.c:10012
+#: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
+#: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Функции управления WAL нельзя использовать в процессе восстановления."
 
-#: access/transam/xlog.c:8509 access/transam/xlog.c:8845
+#: access/transam/xlog.c:9685 access/transam/xlog.c:10021
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:8510 access/transam/xlog.c:8846
-#: access/transam/xlogfuncs.c:158
+#: access/transam/xlog.c:9686 access/transam/xlog.c:10022
+#: access/transam/xlogfuncs.c:147
 #, c-format
 msgid ""
-"wal_level must be set to \"archive\" or \"hot_standby\" at server start."
+"wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
+"server start."
 msgstr ""
-"Установите wal_level \"archive\" или \"hot_standby\" при запуске сервера."
+"Установите wal_level \"archive\", \"hot_standby\" или \"logical\" при "
+"запуске сервера."
 
-#: access/transam/xlog.c:8515
+#: access/transam/xlog.c:9691
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "длина метки резервной копии превышает предел (%d байт)"
 
-#: access/transam/xlog.c:8546 access/transam/xlog.c:8723
+#: access/transam/xlog.c:9722 access/transam/xlog.c:9899
 #, c-format
 msgid "a backup is already in progress"
 msgstr "резервное копирование уже запущено"
 
-#: access/transam/xlog.c:8547
+#: access/transam/xlog.c:9723
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Выполните pg_stop_backup() и повторите операцию."
 
-#: access/transam/xlog.c:8641
+#: access/transam/xlog.c:9817
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed since last restartpoint"
@@ -2112,7 +2253,7 @@ msgstr ""
 "После последней точки перезапуска был воспроизведён WAL, созданный в режиме "
 "full_page_writes=off."
 
-#: access/transam/xlog.c:8643 access/transam/xlog.c:8996
+#: access/transam/xlog.c:9819 access/transam/xlog.c:10172
 #, c-format
 msgid ""
 "This means that the backup being taken on the standby is corrupt and should "
@@ -2124,17 +2265,18 @@ msgstr ""
 "CHECKPOINT на главном сервере, а затем попробуйте резервное копирование \"на "
 "ходу\" ещё раз."
 
-#: access/transam/xlog.c:8717 access/transam/xlog.c:8886
+#: access/transam/xlog.c:9893 access/transam/xlog.c:10062
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: replication/basebackup.c:396 replication/basebackup.c:451
-#: storage/file/copydir.c:75 storage/file/copydir.c:118 utils/adt/dbsize.c:68
-#: utils/adt/dbsize.c:218 utils/adt/dbsize.c:298 utils/adt/genfile.c:108
-#: utils/adt/genfile.c:280 guc-file.l:777
+#: replication/basebackup.c:464 replication/basebackup.c:521
+#: replication/logical/snapbuild.c:1467 storage/file/copydir.c:72
+#: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
+#: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
+#: guc-file.l:885
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: access/transam/xlog.c:8724
+#: access/transam/xlog.c:9900
 #, c-format
 msgid ""
 "If you're sure there is no backup in progress, remove file \"%s\" and try "
@@ -2143,37 +2285,37 @@ msgstr ""
 "Если вы считаете, что информация о резервном копировании неверна, удалите "
 "файл \"%s\" и попробуйте снова."
 
-#: access/transam/xlog.c:8741 access/transam/xlog.c:9059
+#: access/transam/xlog.c:9917 access/transam/xlog.c:10235
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: access/transam/xlog.c:8890
+#: access/transam/xlog.c:10066
 #, c-format
 msgid "a backup is not in progress"
 msgstr "резервное копирование не запущено"
 
-#: access/transam/xlog.c:8916 access/transam/xlogarchive.c:114
-#: access/transam/xlogarchive.c:466 storage/smgr/md.c:405
-#: storage/smgr/md.c:454 storage/smgr/md.c:1318
+#: access/transam/xlog.c:10092 access/transam/xlogarchive.c:114
+#: access/transam/xlogarchive.c:467 storage/ipc/dsm.c:326
+#: storage/smgr/md.c:404 storage/smgr/md.c:453 storage/smgr/md.c:1317
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
-#: access/transam/xlog.c:8929 access/transam/xlog.c:8942
-#: access/transam/xlog.c:9293 access/transam/xlog.c:9299
-#: access/transam/xlogfuncs.c:626
+#: access/transam/xlog.c:10105 access/transam/xlog.c:10118
+#: access/transam/xlog.c:10469 access/transam/xlog.c:10475
+#: access/transam/xlogfuncs.c:503
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "неверные данные в файле \"%s\""
 
-#: access/transam/xlog.c:8946 replication/basebackup.c:855
+#: access/transam/xlog.c:10122 replication/basebackup.c:951
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr ""
 "дежурный сервер был повышен в процессе резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:8947 replication/basebackup.c:856
+#: access/transam/xlog.c:10123 replication/basebackup.c:952
 #, c-format
 msgid ""
 "This means that the backup being taken is corrupt and should not be used. "
@@ -2182,7 +2324,7 @@ msgstr ""
 "Это означает, что создаваемая резервная копия испорчена и использовать её не "
 "следует. Попробуйте резервное копирование \"на ходу\" ещё раз."
 
-#: access/transam/xlog.c:8994
+#: access/transam/xlog.c:10170
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed during online backup"
@@ -2190,7 +2332,7 @@ msgstr ""
 "В процессе резервного копирования \"на ходу\" был воспроизведён WAL, "
 "созданный в режиме full_page_writes=off"
 
-#: access/transam/xlog.c:9108
+#: access/transam/xlog.c:10284
 #, c-format
 msgid ""
 "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
@@ -2198,7 +2340,7 @@ msgstr ""
 "очистка в pg_stop_backup выполнена, ожидаются требуемые сегменты WAL для "
 "архивации"
 
-#: access/transam/xlog.c:9118
+#: access/transam/xlog.c:10294
 #, c-format
 msgid ""
 "pg_stop_backup still waiting for all required WAL segments to be archived "
@@ -2207,7 +2349,7 @@ msgstr ""
 "pg_stop_backup всё ещё ждёт все требуемые сегменты WAL для архивации (прошло "
 "%d сек.)"
 
-#: access/transam/xlog.c:9120
+#: access/transam/xlog.c:10296
 #, c-format
 msgid ""
 "Check that your archive_command is executing properly.  pg_stop_backup can "
@@ -2218,13 +2360,13 @@ msgstr ""
 "можно отменить безопасно, но резервная копия базы данных будет непригодна "
 "без всех сегментов WAL."
 
-#: access/transam/xlog.c:9127
+#: access/transam/xlog.c:10303
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr ""
 "команда pg_stop_backup завершена, все требуемые сегменты WAL заархивированы"
 
-#: access/transam/xlog.c:9131
+#: access/transam/xlog.c:10307
 #, c-format
 msgid ""
 "WAL archiving is not enabled; you must ensure that all required WAL segments "
@@ -2233,52 +2375,57 @@ msgstr ""
 "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых "
 "сегментов WAL другими средствами для получения резервной копии"
 
-#: access/transam/xlog.c:9344
+#: access/transam/xlog.c:10520
 #, c-format
 msgid "xlog redo %s"
 msgstr "XLOG-запись REDO: %s"
 
-#: access/transam/xlog.c:9384
+#: access/transam/xlog.c:10560
 #, c-format
 msgid "online backup mode canceled"
 msgstr "режим копирования \"на ходу\" отменён"
 
-#: access/transam/xlog.c:9385
+#: access/transam/xlog.c:10561
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "Файл \"%s\" был переименован в \"%s\"."
 
-#: access/transam/xlog.c:9392
+#: access/transam/xlog.c:10568
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "режим копирования \"на ходу\" не был отменён"
 
-#: access/transam/xlog.c:9393
+#: access/transam/xlog.c:10569
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "Не удалось переименовать файл \"%s\" в \"%s\": %m."
 
-#: access/transam/xlog.c:9513 replication/walreceiver.c:934
-#: replication/walsender.c:1360
+#: access/transam/xlog.c:10689 replication/logical/logicalfuncs.c:169
+#: replication/walreceiver.c:937 replication/walsender.c:2106
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "не удалось переместиться в сегменте журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:9525
+#: access/transam/xlog.c:10701
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "не удалось прочитать сегмент журнала %s, смещение %u: %m"
 
-#: access/transam/xlog.c:9987
+#: access/transam/xlog.c:11164
 #, c-format
 msgid "received promote request"
 msgstr "получен запрос повышения статуса"
 
-#: access/transam/xlog.c:10000
+#: access/transam/xlog.c:11177
 #, c-format
 msgid "trigger file found: %s"
 msgstr "найден файл триггера: %s"
 
+#: access/transam/xlog.c:11186
+#, c-format
+msgid "could not stat trigger file \"%s\": %m"
+msgstr "не удалось получить информацию о файле триггера \"%s\": %m"
+
 #: access/transam/xlogarchive.c:244
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
@@ -2291,114 +2438,103 @@ msgstr "файл журнала \"%s\" восстановлен из архив
 
 #: access/transam/xlogarchive.c:303
 #, c-format
-msgid "could not restore file \"%s\" from archive: return code %d"
-msgstr "восстановить файл \"%s\" из архива не удалось: код возврата %d"
+msgid "could not restore file \"%s\" from archive: %s"
+msgstr "восстановить файл \"%s\" из архива не удалось: %s"
 
 #. translator: First %s represents a recovery.conf parameter name like
-#. "recovery_end_command", and the 2nd is the value of that parameter.
-#: access/transam/xlogarchive.c:414
+#. "recovery_end_command", the 2nd is the value of that parameter, the
+#. third an already translated error message.
+#: access/transam/xlogarchive.c:415
 #, c-format
-msgid "%s \"%s\": return code %d"
-msgstr "%s \"%s\": код возврата %d"
+msgid "%s \"%s\": %s"
+msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:524 access/transam/xlogarchive.c:593
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:594
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "не удалось создать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogarchive.c:532 access/transam/xlogarchive.c:601
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:602
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "не удалось записать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:62 access/transam/xlogfuncs.c:93
+#: access/transam/xlogfuncs.c:60 access/transam/xlogfuncs.c:88
 #, c-format
 msgid "must be superuser or replication role to run a backup"
 msgstr ""
 "запускать резервное копирование может только суперпользователь или роль "
 "репликации"
 
-#: access/transam/xlogfuncs.c:114
+#: access/transam/xlogfuncs.c:106
 #, c-format
 msgid "must be superuser to switch transaction log files"
 msgstr ""
 "для переключения файлов журнала транзакций нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:135
 #, c-format
 msgid "must be superuser to create a restore point"
 msgstr "для создания точки восстановления нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:157
+#: access/transam/xlogfuncs.c:146
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления"
 
-#: access/transam/xlogfuncs.c:165
+#: access/transam/xlogfuncs.c:154
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "значение для точки восстановления превышает предел (%d симв.)"
 
-#: access/transam/xlogfuncs.c:300
+#: access/transam/xlogfuncs.c:271
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr ""
 "Функцию pg_xlogfile_name_offset() нельзя вызывать во время восстановления."
 
-#: access/transam/xlogfuncs.c:312 access/transam/xlogfuncs.c:383
-#: access/transam/xlogfuncs.c:540 access/transam/xlogfuncs.c:546
-#, c-format
-msgid "could not parse transaction log location \"%s\""
-msgstr "не удалось разобрать положение в журнале транзакций \"%s\""
-
-#: access/transam/xlogfuncs.c:374
+#: access/transam/xlogfuncs.c:327
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "Функцию pg_xlogfile_name() нельзя вызывать в процессе восстановления."
 
-#: access/transam/xlogfuncs.c:402 access/transam/xlogfuncs.c:424
-#: access/transam/xlogfuncs.c:446
+#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:366
+#: access/transam/xlogfuncs.c:388
 #, c-format
 msgid "must be superuser to control recovery"
 msgstr "для управления восстановлением нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:407 access/transam/xlogfuncs.c:429
-#: access/transam/xlogfuncs.c:451
+#: access/transam/xlogfuncs.c:349 access/transam/xlogfuncs.c:371
+#: access/transam/xlogfuncs.c:393
 #, c-format
 msgid "recovery is not in progress"
 msgstr "восстановление не выполняется"
 
-#: access/transam/xlogfuncs.c:408 access/transam/xlogfuncs.c:430
-#: access/transam/xlogfuncs.c:452
+#: access/transam/xlogfuncs.c:350 access/transam/xlogfuncs.c:372
+#: access/transam/xlogfuncs.c:394
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
 "Функции управления восстановлением можно использовать только в процессе "
 "восстановления."
 
-#: access/transam/xlogfuncs.c:501 access/transam/xlogfuncs.c:507
-#, c-format
-msgid "invalid input syntax for transaction log location: \"%s\""
-msgstr ""
-"неверный синтаксис строки, задающей положение в журнале транзакций: \"%s\""
-
-#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:759 tcop/postgres.c:3453
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:759 tcop/postgres.c:3460
 #, c-format
 msgid "--%s requires a value"
 msgstr "для --%s требуется значение"
 
-#: bootstrap/bootstrap.c:283 postmaster/postmaster.c:764 tcop/postgres.c:3458
+#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:764 tcop/postgres.c:3465
 #, c-format
 msgid "-c %s requires a value"
 msgstr "для -c %s требуется значение"
 
-#: bootstrap/bootstrap.c:294 postmaster/postmaster.c:776
+#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:776
 #: postmaster/postmaster.c:789
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: bootstrap/bootstrap.c:303
+#: bootstrap/bootstrap.c:298
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: неверные аргументы командной строки\n"
@@ -2515,34 +2651,34 @@ msgstr "право %s неприменимо для сторонних серв
 msgid "column privileges are only valid for relations"
 msgstr "права для колонок применимы только к отношениям"
 
-#: catalog/aclchk.c:688 catalog/aclchk.c:3901 catalog/aclchk.c:4678
-#: catalog/objectaddress.c:575 catalog/pg_largeobject.c:113
-#: storage/large_object/inv_api.c:266
+#: catalog/aclchk.c:688 catalog/aclchk.c:3904 catalog/aclchk.c:4681
+#: catalog/objectaddress.c:586 catalog/pg_largeobject.c:113
+#: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "большой объект %u не существует"
 
 #: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
-#: commands/copy.c:923 commands/copy.c:941 commands/copy.c:949
-#: commands/copy.c:957 commands/copy.c:965 commands/copy.c:973
-#: commands/copy.c:981 commands/copy.c:989 commands/copy.c:997
-#: commands/copy.c:1013 commands/copy.c:1032 commands/copy.c:1047
-#: commands/dbcommands.c:148 commands/dbcommands.c:156
+#: commands/copy.c:925 commands/copy.c:943 commands/copy.c:951
+#: commands/copy.c:959 commands/copy.c:967 commands/copy.c:975
+#: commands/copy.c:983 commands/copy.c:991 commands/copy.c:999
+#: commands/copy.c:1015 commands/copy.c:1029 commands/copy.c:1048
+#: commands/copy.c:1063 commands/dbcommands.c:148 commands/dbcommands.c:156
 #: commands/dbcommands.c:164 commands/dbcommands.c:172
 #: commands/dbcommands.c:180 commands/dbcommands.c:188
-#: commands/dbcommands.c:196 commands/dbcommands.c:1360
-#: commands/dbcommands.c:1368 commands/extension.c:1250
-#: commands/extension.c:1258 commands/extension.c:1266
-#: commands/extension.c:2674 commands/foreigncmds.c:486
-#: commands/foreigncmds.c:495 commands/functioncmds.c:496
-#: commands/functioncmds.c:588 commands/functioncmds.c:596
-#: commands/functioncmds.c:604 commands/functioncmds.c:1669
-#: commands/functioncmds.c:1677 commands/sequence.c:1164
-#: commands/sequence.c:1172 commands/sequence.c:1180 commands/sequence.c:1188
-#: commands/sequence.c:1196 commands/sequence.c:1204 commands/sequence.c:1212
-#: commands/sequence.c:1220 commands/typecmds.c:295 commands/typecmds.c:1330
-#: commands/typecmds.c:1339 commands/typecmds.c:1347 commands/typecmds.c:1355
-#: commands/typecmds.c:1363 commands/user.c:135 commands/user.c:152
+#: commands/dbcommands.c:196 commands/dbcommands.c:1349
+#: commands/dbcommands.c:1357 commands/extension.c:1246
+#: commands/extension.c:1254 commands/extension.c:1262
+#: commands/extension.c:2670 commands/foreigncmds.c:486
+#: commands/foreigncmds.c:495 commands/functioncmds.c:522
+#: commands/functioncmds.c:614 commands/functioncmds.c:622
+#: commands/functioncmds.c:630 commands/functioncmds.c:1700
+#: commands/functioncmds.c:1708 commands/sequence.c:1146
+#: commands/sequence.c:1154 commands/sequence.c:1162 commands/sequence.c:1170
+#: commands/sequence.c:1178 commands/sequence.c:1186 commands/sequence.c:1194
+#: commands/sequence.c:1202 commands/typecmds.c:297 commands/typecmds.c:1332
+#: commands/typecmds.c:1341 commands/typecmds.c:1349 commands/typecmds.c:1357
+#: commands/typecmds.c:1365 commands/user.c:135 commands/user.c:152
 #: commands/user.c:160 commands/user.c:168 commands/user.c:176
 #: commands/user.c:184 commands/user.c:192 commands/user.c:200
 #: commands/user.c:208 commands/user.c:216 commands/user.c:224
@@ -2559,22 +2695,22 @@ msgstr "конфликтующие или избыточные параметр
 msgid "default privileges cannot be set for columns"
 msgstr "права по умолчанию нельзя определить для колонок"
 
-#: catalog/aclchk.c:1492 catalog/objectaddress.c:1021 commands/analyze.c:386
-#: commands/copy.c:4163 commands/sequence.c:1466 commands/tablecmds.c:4825
-#: commands/tablecmds.c:4920 commands/tablecmds.c:4970
-#: commands/tablecmds.c:5074 commands/tablecmds.c:5121
-#: commands/tablecmds.c:5205 commands/tablecmds.c:5293
-#: commands/tablecmds.c:7238 commands/tablecmds.c:7442
-#: commands/tablecmds.c:7834 commands/trigger.c:610 parser/analyze.c:1998
-#: parser/parse_relation.c:2173 parser/parse_relation.c:2230
-#: parser/parse_target.c:920 parser/parse_type.c:124 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1781
+#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:387
+#: commands/copy.c:4247 commands/sequence.c:1448 commands/tablecmds.c:4938
+#: commands/tablecmds.c:5033 commands/tablecmds.c:5083
+#: commands/tablecmds.c:5187 commands/tablecmds.c:5234
+#: commands/tablecmds.c:5318 commands/tablecmds.c:5406
+#: commands/tablecmds.c:7493 commands/tablecmds.c:7697
+#: commands/tablecmds.c:8089 commands/trigger.c:635 parser/analyze.c:1998
+#: parser/parse_relation.c:2358 parser/parse_relation.c:2420
+#: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1820
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "колонка \"%s\" в таблице \"%s\" не существует"
 
-#: catalog/aclchk.c:1757 catalog/objectaddress.c:849 commands/sequence.c:1053
-#: commands/tablecmds.c:213 commands/tablecmds.c:10557 utils/adt/acl.c:2076
+#: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1035
+#: commands/tablecmds.c:213 commands/tablecmds.c:11073 utils/adt/acl.c:2076
 #: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
 #: utils/adt/acl.c:2198 utils/adt/acl.c:2228
 #, c-format
@@ -2623,7 +2759,7 @@ msgstr "для типов массивов нельзя определить п
 msgid "Set the privileges of the element type instead."
 msgstr "Вместо этого установите права для типа элемента."
 
-#: catalog/aclchk.c:3100 catalog/objectaddress.c:1072 commands/typecmds.c:3179
+#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3187
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" - это не домен"
@@ -2643,8 +2779,8 @@ msgstr "нет доступа к колонке %s"
 msgid "permission denied for relation %s"
 msgstr "нет доступа к отношению %s"
 
-#: catalog/aclchk.c:3273 commands/sequence.c:560 commands/sequence.c:773
-#: commands/sequence.c:815 commands/sequence.c:852 commands/sequence.c:1518
+#: catalog/aclchk.c:3273 commands/sequence.c:535 commands/sequence.c:748
+#: commands/sequence.c:790 commands/sequence.c:827 commands/sequence.c:1500
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "нет доступа к последовательности %s"
@@ -2854,106 +2990,96 @@ msgstr "роль с OID %u не существует"
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "атрибут %d отношения с OID %u не существует"
 
-#: catalog/aclchk.c:3617 catalog/aclchk.c:4529
+#: catalog/aclchk.c:3617 catalog/aclchk.c:4532
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "отношение с OID %u не существует"
 
-#: catalog/aclchk.c:3717 catalog/aclchk.c:4947
+#: catalog/aclchk.c:3717 catalog/aclchk.c:4950
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "база данных с OID %u не существует"
 
-#: catalog/aclchk.c:3771 catalog/aclchk.c:4607 tcop/fastpath.c:223
+#: catalog/aclchk.c:3771 catalog/aclchk.c:4610 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "функция с OID %u не существует"
 
-#: catalog/aclchk.c:3825 catalog/aclchk.c:4633
+#: catalog/aclchk.c:3825 catalog/aclchk.c:4636
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "язык с OID %u не существует"
 
-#: catalog/aclchk.c:3986 catalog/aclchk.c:4705
+#: catalog/aclchk.c:3989 catalog/aclchk.c:4708
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "схема с OID %u не существует"
 
-#: catalog/aclchk.c:4040 catalog/aclchk.c:4732
+#: catalog/aclchk.c:4043 catalog/aclchk.c:4735
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "табличное пространство с OID %u не существует"
 
-#: catalog/aclchk.c:4098 catalog/aclchk.c:4866 commands/foreigncmds.c:302
+#: catalog/aclchk.c:4101 catalog/aclchk.c:4869 commands/foreigncmds.c:302
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "обёртка сторонних данных с OID %u не существует"
 
-#: catalog/aclchk.c:4159 catalog/aclchk.c:4893 commands/foreigncmds.c:409
+#: catalog/aclchk.c:4162 catalog/aclchk.c:4896 commands/foreigncmds.c:409
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "сторонний сервер с OID %u не существует"
 
-#: catalog/aclchk.c:4218 catalog/aclchk.c:4232 catalog/aclchk.c:4555
+#: catalog/aclchk.c:4221 catalog/aclchk.c:4235 catalog/aclchk.c:4558
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "тип с OID %u не существует"
 
-#: catalog/aclchk.c:4581
+#: catalog/aclchk.c:4584
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "оператор с OID %u не существует"
 
-#: catalog/aclchk.c:4758
+#: catalog/aclchk.c:4761
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "класс операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4788
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "семейство операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4812
+#: catalog/aclchk.c:4815
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "словарь текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4839
+#: catalog/aclchk.c:4842
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "конфигурация текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4920 commands/event_trigger.c:509
+#: catalog/aclchk.c:4923 commands/event_trigger.c:509
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "событийный триггер с OID %u не существует"
 
-#: catalog/aclchk.c:4973
+#: catalog/aclchk.c:4976
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "правило сортировки с OID %u не существует"
 
-#: catalog/aclchk.c:4999
+#: catalog/aclchk.c:5002
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "преобразование с OID %u не существует"
 
-#: catalog/aclchk.c:5040
+#: catalog/aclchk.c:5043
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "расширение с OID %u не существует"
 
-#: catalog/catalog.c:63
-#, c-format
-msgid "invalid fork name"
-msgstr "неверное имя слоя"
-
-#: catalog/catalog.c:64
-#, c-format
-msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
-msgstr "Допустимые имена слоёв: \"main\", \"fsm\" и \"vm\"."
-
 #: catalog/dependency.c:626
 #, c-format
 msgid "cannot drop %s because %s requires it"
@@ -2964,7 +3090,7 @@ msgstr "удалить объект %s нельзя, так как он нуже
 msgid "You can drop %s instead."
 msgstr "Однако можно удалить %s."
 
-#: catalog/dependency.c:790 catalog/pg_shdepend.c:571
+#: catalog/dependency.c:790 catalog/pg_shdepend.c:573
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "удалить объект %s нельзя, так как он нужен системе баз данных"
@@ -2984,7 +3110,7 @@ msgstr "%s зависит от объекта %s"
 msgid "drop cascades to %s"
 msgstr "удаление распространяется на объект %s"
 
-#: catalog/dependency.c:956 catalog/pg_shdepend.c:682
+#: catalog/dependency.c:956 catalog/pg_shdepend.c:684
 #, c-format
 msgid ""
 "\n"
@@ -3007,17 +3133,6 @@ msgstr[2] ""
 msgid "cannot drop %s because other objects depend on it"
 msgstr "удалить объект %s нельзя, так как от него зависят другие объекты"
 
-#: catalog/dependency.c:970 catalog/dependency.c:971 catalog/dependency.c:977
-#: catalog/dependency.c:978 catalog/dependency.c:989 catalog/dependency.c:990
-#: catalog/objectaddress.c:751 commands/tablecmds.c:739 commands/user.c:988
-#: port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1182 utils/misc/guc.c:5514 utils/misc/guc.c:5849
-#: utils/misc/guc.c:8210 utils/misc/guc.c:8244 utils/misc/guc.c:8278
-#: utils/misc/guc.c:8312 utils/misc/guc.c:8347
-#, c-format
-msgid "%s"
-msgstr "%s"
-
 #: catalog/dependency.c:972 catalog/dependency.c:979
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
@@ -3038,82 +3153,82 @@ msgstr[0] "удаление распространяется на ещё %d об
 msgstr[1] "удаление распространяется на ещё %d объекта"
 msgstr[2] "удаление распространяется на ещё %d объектов"
 
-#: catalog/heap.c:266
+#: catalog/heap.c:274
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "нет прав для создания отношения \"%s.%s\""
 
-#: catalog/heap.c:268
+#: catalog/heap.c:276
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Изменение системного каталога в текущем состоянии запрещено."
 
-#: catalog/heap.c:403 commands/tablecmds.c:1378 commands/tablecmds.c:1819
-#: commands/tablecmds.c:4470
+#: catalog/heap.c:411 commands/tablecmds.c:1401 commands/tablecmds.c:1843
+#: commands/tablecmds.c:4582
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "максимальное число колонок в таблице: %d"
 
-#: catalog/heap.c:420 commands/tablecmds.c:4726
+#: catalog/heap.c:428 commands/tablecmds.c:4838
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "имя колонки \"%s\" конфликтует с системной колонкой"
 
-#: catalog/heap.c:436
+#: catalog/heap.c:444
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "имя колонки \"%s\" указано неоднократно"
 
-#: catalog/heap.c:486
+#: catalog/heap.c:494
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "колонка \"%s\" имеет неизвестный тип (UNKNOWN)"
 
-#: catalog/heap.c:487
+#: catalog/heap.c:495
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Несмотря на это, создание отношения продолжается."
 
-#: catalog/heap.c:500
+#: catalog/heap.c:508
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "колонка \"%s\" имеет псевдотип %s"
 
-#: catalog/heap.c:530
+#: catalog/heap.c:538
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "составной тип %s не может содержать себя же"
 
-#: catalog/heap.c:572 commands/createas.c:342
+#: catalog/heap.c:580 commands/createas.c:343
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr ""
 "для колонки \"%s\" с сортируемым типом %s не удалось получить правило "
 "сортировки"
 
-#: catalog/heap.c:574 commands/createas.c:344 commands/indexcmds.c:1091
-#: commands/view.c:96 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1515
-#: utils/adt/formatting.c:1567 utils/adt/formatting.c:1635
-#: utils/adt/formatting.c:1687 utils/adt/formatting.c:1756
-#: utils/adt/formatting.c:1820 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
+#: catalog/heap.c:582 commands/createas.c:345 commands/indexcmds.c:1072
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1510
+#: utils/adt/formatting.c:1562 utils/adt/formatting.c:1630
+#: utils/adt/formatting.c:1682 utils/adt/formatting.c:1751
+#: utils/adt/formatting.c:1815 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
 #: utils/adt/varlena.c:1381
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Задайте правило сравнения явно в предложении COLLATE."
 
-#: catalog/heap.c:1047 catalog/index.c:776 commands/tablecmds.c:2521
+#: catalog/heap.c:1055 catalog/index.c:778 commands/tablecmds.c:2548
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "отношение \"%s\" уже существует"
 
-#: catalog/heap.c:1063 catalog/pg_type.c:402 catalog/pg_type.c:705
-#: commands/typecmds.c:237 commands/typecmds.c:737 commands/typecmds.c:1088
-#: commands/typecmds.c:1306 commands/typecmds.c:2058
+#: catalog/heap.c:1071 catalog/pg_type.c:403 catalog/pg_type.c:706
+#: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
+#: commands/typecmds.c:1308 commands/typecmds.c:2060
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "тип \"%s\" уже существует"
 
-#: catalog/heap.c:1064
+#: catalog/heap.c:1072
 #, c-format
 msgid ""
 "A relation has an associated type of the same name, so you must use a name "
@@ -3122,61 +3237,61 @@ msgstr ""
 "С отношением уже связан тип с таким же именем; выберите имя, не "
 "конфликтующее с существующими типами."
 
-#: catalog/heap.c:2249
+#: catalog/heap.c:2257
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "ограничение-проверка \"%s\" уже существует"
 
-#: catalog/heap.c:2402 catalog/pg_constraint.c:650 commands/tablecmds.c:5620
+#: catalog/heap.c:2410 catalog/pg_constraint.c:650 commands/tablecmds.c:5733
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "ограничение \"%s\" для отношения \"%s\" уже существует"
 
-#: catalog/heap.c:2412
+#: catalog/heap.c:2420
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\""
 
-#: catalog/heap.c:2426
+#: catalog/heap.c:2434
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "слияние ограничения \"%s\" с унаследованным определением"
 
-#: catalog/heap.c:2519
+#: catalog/heap.c:2527
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "в выражении по умолчанию нельзя ссылаться на колонки"
 
-#: catalog/heap.c:2530
+#: catalog/heap.c:2538
 #, c-format
 msgid "default expression must not return a set"
 msgstr "выражение по умолчанию не может возвращать множество"
 
-#: catalog/heap.c:2549 rewrite/rewriteHandler.c:1058
+#: catalog/heap.c:2557 rewrite/rewriteHandler.c:1066
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "колонка \"%s\" имеет тип %s, но тип выражения по умолчанию %s"
 
-#: catalog/heap.c:2554 commands/prepare.c:374 parser/parse_node.c:411
+#: catalog/heap.c:2562 commands/prepare.c:374 parser/parse_node.c:411
 #: parser/parse_target.c:509 parser/parse_target.c:758
-#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1063
+#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1071
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Перепишите выражение или преобразуйте его тип."
 
-#: catalog/heap.c:2601
+#: catalog/heap.c:2609
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\""
 
-#: catalog/heap.c:2841
+#: catalog/heap.c:2849
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT"
 
-#: catalog/heap.c:2842
+#: catalog/heap.c:2850
 #, c-format
 msgid ""
 "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
@@ -3184,67 +3299,67 @@ msgid ""
 msgstr ""
 "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT."
 
-#: catalog/heap.c:2847
+#: catalog/heap.c:2855
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя"
 
-#: catalog/heap.c:2848
+#: catalog/heap.c:2856
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Таблица \"%s\" ссылается на \"%s\"."
 
-#: catalog/heap.c:2850
+#: catalog/heap.c:2858
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr ""
 "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE."
 
-#: catalog/index.c:203 parser/parse_utilcmd.c:1398 parser/parse_utilcmd.c:1484
+#: catalog/index.c:204 parser/parse_utilcmd.c:1393 parser/parse_utilcmd.c:1479
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "таблица \"%s\" не может иметь несколько первичных ключей"
 
-#: catalog/index.c:221
+#: catalog/index.c:222
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "первичные ключи не могут быть выражениями"
 
-#: catalog/index.c:737 catalog/index.c:1142
+#: catalog/index.c:739 catalog/index.c:1143
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr ""
 "пользовательские индексы в таблицах системного каталога не поддерживаются"
 
-#: catalog/index.c:747
+#: catalog/index.c:749
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "параллельное создание индекса в таблицах системного каталога не "
 "поддерживается"
 
-#: catalog/index.c:765
+#: catalog/index.c:767
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "нельзя создать разделяемые индексы после initdb"
 
-#: catalog/index.c:1406
+#: catalog/index.c:1403
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции"
 
-#: catalog/index.c:1974
+#: catalog/index.c:1944
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "создание индекса \"%s\" для таблицы \"%s\""
 
-#: catalog/index.c:3157
+#: catalog/index.c:3129
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "переиндексировать временные таблицы других сеансов нельзя"
 
 #: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4251
+#: commands/trigger.c:4486
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "ссылки между базами не реализованы: \"%s.%s.%s\""
@@ -3264,19 +3379,19 @@ msgstr "не удалось получить блокировку таблицы
 msgid "could not obtain lock on relation \"%s\""
 msgstr "не удалось получить блокировку таблицы \"%s\""
 
-#: catalog/namespace.c:412 parser/parse_relation.c:962
+#: catalog/namespace.c:412 parser/parse_relation.c:964
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "отношение \"%s.%s\" не существует"
 
-#: catalog/namespace.c:417 parser/parse_relation.c:975
-#: parser/parse_relation.c:983 utils/adt/regproc.c:853
+#: catalog/namespace.c:417 parser/parse_relation.c:977
+#: parser/parse_relation.c:985 utils/adt/regproc.c:974
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: catalog/namespace.c:485 catalog/namespace.c:2834 commands/extension.c:1400
-#: commands/extension.c:1406
+#: catalog/namespace.c:485 catalog/namespace.c:2849 commands/extension.c:1396
+#: commands/extension.c:1402
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "схема для создания объектов не выбрана"
@@ -3296,245 +3411,246 @@ msgstr "создавать временные отношения можно то
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "во временных схемах можно создавать только временные отношения"
 
-#: catalog/namespace.c:2136
+#: catalog/namespace.c:2151
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "анализатор текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2262
+#: catalog/namespace.c:2277
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "словарь текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2389
+#: catalog/namespace.c:2404
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "шаблон текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2515 commands/tsearchcmds.c:1168
-#: utils/cache/ts_cache.c:619
+#: catalog/namespace.c:2530 commands/tsearchcmds.c:1168
+#: utils/cache/ts_cache.c:616
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "конфигурация текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2628 parser/parse_expr.c:787 parser/parse_target.c:1110
+#: catalog/namespace.c:2643 parser/parse_expr.c:788 parser/parse_target.c:1110
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
-#: catalog/namespace.c:2634 parser/parse_expr.c:794 parser/parse_target.c:1117
-#: gram.y:12481 gram.y:13658
+#: catalog/namespace.c:2649 parser/parse_expr.c:795 parser/parse_target.c:1117
+#: gram.y:12570 gram.y:13802
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: catalog/namespace.c:2768
+#: catalog/namespace.c:2783
 #, c-format
 msgid "%s is already in schema \"%s\""
 msgstr "объект %s уже существует в схеме \"%s\""
 
-#: catalog/namespace.c:2776
+#: catalog/namespace.c:2791
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "перемещать объекты в/из внутренних схем нельзя"
 
-#: catalog/namespace.c:2782
+#: catalog/namespace.c:2797
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "перемещать объекты в/из схем TOAST нельзя"
 
-#: catalog/namespace.c:2855 commands/schemacmds.c:212
-#: commands/schemacmds.c:288
+#: catalog/namespace.c:2870 commands/schemacmds.c:212
+#: commands/schemacmds.c:288 commands/tablecmds.c:707
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "схема \"%s\" не существует"
 
-#: catalog/namespace.c:2886
+#: catalog/namespace.c:2901
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: catalog/namespace.c:3327
+#: catalog/namespace.c:3342
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует"
 
-#: catalog/namespace.c:3382
+#: catalog/namespace.c:3397
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "преобразование \"%s\" не существует"
 
-#: catalog/namespace.c:3590
+#: catalog/namespace.c:3605
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "нет прав для создания временных таблиц в базе \"%s\""
 
-#: catalog/namespace.c:3606
+#: catalog/namespace.c:3621
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "создавать временные таблицы в процессе восстановления нельзя"
 
-#: catalog/namespace.c:3850 commands/tablespace.c:1083 commands/variable.c:61
-#: replication/syncrep.c:676 utils/misc/guc.c:8377
+#: catalog/namespace.c:3865 commands/tablespace.c:1285 commands/variable.c:61
+#: replication/syncrep.c:677 utils/misc/guc.c:9023
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Ошибка синтаксиса в списке."
 
-#: catalog/objectaddress.c:719
+#: catalog/objectaddress.c:732
 msgid "database name cannot be qualified"
 msgstr "имя базы данных не может быть составным"
 
-#: catalog/objectaddress.c:722 commands/extension.c:2427
+#: catalog/objectaddress.c:735 commands/extension.c:2423
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "имя расширения не может быть составным"
 
-#: catalog/objectaddress.c:725
+#: catalog/objectaddress.c:738
 msgid "tablespace name cannot be qualified"
 msgstr "имя табличного пространства не может быть составным"
 
-#: catalog/objectaddress.c:728
+#: catalog/objectaddress.c:741
 msgid "role name cannot be qualified"
 msgstr "имя роли не может быть составным"
 
-#: catalog/objectaddress.c:731
+#: catalog/objectaddress.c:744
 msgid "schema name cannot be qualified"
 msgstr "имя схемы не может быть составным"
 
-#: catalog/objectaddress.c:734
+#: catalog/objectaddress.c:747
 msgid "language name cannot be qualified"
 msgstr "имя языка не может быть составным"
 
-#: catalog/objectaddress.c:737
+#: catalog/objectaddress.c:750
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "имя обёртки сторонних данных не может быть составным"
 
-#: catalog/objectaddress.c:740
+#: catalog/objectaddress.c:753
 msgid "server name cannot be qualified"
 msgstr "имя сервера не может быть составным"
 
-#: catalog/objectaddress.c:743
+#: catalog/objectaddress.c:756
 msgid "event trigger name cannot be qualified"
 msgstr "имя событийного триггера не может быть составным"
 
-#: catalog/objectaddress.c:856 commands/lockcmds.c:94 commands/tablecmds.c:207
-#: commands/tablecmds.c:1239 commands/tablecmds.c:4017
-#: commands/tablecmds.c:7345
+#: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:207
+#: commands/tablecmds.c:1262 commands/tablecmds.c:4129
+#: commands/tablecmds.c:7600
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" - это не таблица"
 
-#: catalog/objectaddress.c:863 commands/tablecmds.c:219
-#: commands/tablecmds.c:4041 commands/tablecmds.c:10562 commands/view.c:134
+#: catalog/objectaddress.c:876 commands/tablecmds.c:219
+#: commands/tablecmds.c:4153 commands/tablecmds.c:11078 commands/view.c:154
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" - это не представление"
 
-#: catalog/objectaddress.c:870 commands/matview.c:144 commands/tablecmds.c:225
-#: commands/tablecmds.c:10567
+#: catalog/objectaddress.c:883 commands/matview.c:167 commands/tablecmds.c:225
+#: commands/tablecmds.c:11083
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" - это не материализованное представление"
 
-#: catalog/objectaddress.c:877 commands/tablecmds.c:243
-#: commands/tablecmds.c:4044 commands/tablecmds.c:10572
+#: catalog/objectaddress.c:890 commands/tablecmds.c:243
+#: commands/tablecmds.c:4156 commands/tablecmds.c:11088
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" - это не сторонняя таблица"
 
-#: catalog/objectaddress.c:1008
+#: catalog/objectaddress.c:1028
 #, c-format
 msgid "column name must be qualified"
 msgstr "имя колонки нужно указать в полной форме"
 
-#: catalog/objectaddress.c:1061 commands/functioncmds.c:127
-#: commands/tablecmds.c:235 commands/typecmds.c:3245 parser/parse_func.c:1575
-#: parser/parse_type.c:203 utils/adt/acl.c:4374 utils/adt/regproc.c:1017
+#: catalog/objectaddress.c:1083 commands/functioncmds.c:126
+#: commands/tablecmds.c:235 commands/typecmds.c:3253 parser/parse_type.c:222
+#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: utils/adt/regproc.c:1165
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "тип \"%s\" не существует"
 
-#: catalog/objectaddress.c:1217 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:1240 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "нужно быть владельцем большого объекта %u"
 
-#: catalog/objectaddress.c:1232 commands/functioncmds.c:1297
+#: catalog/objectaddress.c:1255 commands/functioncmds.c:1328
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "это разрешено только владельцу типа %s или %s"
 
-#: catalog/objectaddress.c:1263 catalog/objectaddress.c:1279
+#: catalog/objectaddress.c:1286 catalog/objectaddress.c:1302
 #, c-format
 msgid "must be superuser"
 msgstr "требуются права суперпользователя"
 
-#: catalog/objectaddress.c:1270
+#: catalog/objectaddress.c:1293
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "требуется право CREATEROLE"
 
-#: catalog/objectaddress.c:1516
+#: catalog/objectaddress.c:1539
 #, c-format
 msgid " column %s"
 msgstr " колонка %s"
 
-#: catalog/objectaddress.c:1522
+#: catalog/objectaddress.c:1545
 #, c-format
 msgid "function %s"
 msgstr "функция %s"
 
-#: catalog/objectaddress.c:1527
+#: catalog/objectaddress.c:1550
 #, c-format
 msgid "type %s"
 msgstr "тип %s"
 
-#: catalog/objectaddress.c:1557
+#: catalog/objectaddress.c:1580
 #, c-format
 msgid "cast from %s to %s"
 msgstr "преобразование типа из %s в %s"
 
-#: catalog/objectaddress.c:1577
+#: catalog/objectaddress.c:1600
 #, c-format
 msgid "collation %s"
 msgstr "правило сортировки %s"
 
-#: catalog/objectaddress.c:1601
+#: catalog/objectaddress.c:1624
 #, c-format
 msgid "constraint %s on %s"
 msgstr "ограничение %s в отношении %s"
 
-#: catalog/objectaddress.c:1607
+#: catalog/objectaddress.c:1630
 #, c-format
 msgid "constraint %s"
 msgstr "ограничение %s"
 
-#: catalog/objectaddress.c:1624
+#: catalog/objectaddress.c:1647
 #, c-format
 msgid "conversion %s"
 msgstr "преобразование %s"
 
-#: catalog/objectaddress.c:1661
+#: catalog/objectaddress.c:1684
 #, c-format
 msgid "default for %s"
 msgstr "значение по умолчанию, %s"
 
-#: catalog/objectaddress.c:1678
+#: catalog/objectaddress.c:1701
 #, c-format
 msgid "language %s"
 msgstr "язык %s"
 
-#: catalog/objectaddress.c:1684
+#: catalog/objectaddress.c:1707
 #, c-format
 msgid "large object %u"
 msgstr "большой объект %u"
 
-#: catalog/objectaddress.c:1689
+#: catalog/objectaddress.c:1712
 #, c-format
 msgid "operator %s"
 msgstr "оператор %s"
 
-#: catalog/objectaddress.c:1721
+#: catalog/objectaddress.c:1744
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "класс операторов %s для метода доступа %s"
@@ -3543,7 +3659,7 @@ msgstr "класс операторов %s для метода доступа %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:1771
+#: catalog/objectaddress.c:1794
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
@@ -3552,173 +3668,181 @@ 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:1821
+#: catalog/objectaddress.c:1844
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "функция %d (%s, %s) из семейства \"%s\": %s"
 
-#: catalog/objectaddress.c:1861
+#: catalog/objectaddress.c:1884
 #, c-format
 msgid "rule %s on "
 msgstr "правило %s для отношения: "
 
-#: catalog/objectaddress.c:1896
+#: catalog/objectaddress.c:1919
 #, c-format
 msgid "trigger %s on "
 msgstr "триггер %s в отношении: "
 
-#: catalog/objectaddress.c:1913
+#: catalog/objectaddress.c:1936
 #, c-format
 msgid "schema %s"
 msgstr "схема %s"
 
-#: catalog/objectaddress.c:1926
+#: catalog/objectaddress.c:1949
 #, c-format
 msgid "text search parser %s"
 msgstr "анализатор текстового поиска %s"
 
-#: catalog/objectaddress.c:1941
+#: catalog/objectaddress.c:1964
 #, c-format
 msgid "text search dictionary %s"
 msgstr "словарь текстового поиска %s"
 
-#: catalog/objectaddress.c:1956
+#: catalog/objectaddress.c:1979
 #, c-format
 msgid "text search template %s"
 msgstr "шаблон текстового поиска %s"
 
-#: catalog/objectaddress.c:1971
+#: catalog/objectaddress.c:1994
 #, c-format
 msgid "text search configuration %s"
 msgstr "конфигурация текстового поиска %s"
 
-#: catalog/objectaddress.c:1979
+#: catalog/objectaddress.c:2002
 #, c-format
 msgid "role %s"
 msgstr "роль %s"
 
-#: catalog/objectaddress.c:1992
+#: catalog/objectaddress.c:2015
 #, c-format
 msgid "database %s"
 msgstr "база данных %s"
 
-#: catalog/objectaddress.c:2004
+#: catalog/objectaddress.c:2027
 #, c-format
 msgid "tablespace %s"
 msgstr "табличное пространство %s"
 
-#: catalog/objectaddress.c:2013
+#: catalog/objectaddress.c:2036
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "обёртка сторонних данных %s"
 
-#: catalog/objectaddress.c:2022
+#: catalog/objectaddress.c:2045
 #, c-format
 msgid "server %s"
 msgstr "сервер %s"
 
-#: catalog/objectaddress.c:2047
+#: catalog/objectaddress.c:2070
 #, c-format
 msgid "user mapping for %s"
 msgstr "сопоставление для пользователя %s"
 
-#: catalog/objectaddress.c:2081
+#: catalog/objectaddress.c:2104
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "права по умолчанию для новых отношений, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2086
+#: catalog/objectaddress.c:2109
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr ""
 "права по умолчанию для новых последовательностей, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2091
+#: catalog/objectaddress.c:2114
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "права по умолчанию для новых функций, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2119
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "права по умолчанию для новых типов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2102
+#: catalog/objectaddress.c:2125
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "права по умолчанию для новых объектов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2110
+#: catalog/objectaddress.c:2133
 #, c-format
 msgid " in schema %s"
 msgstr " в схеме %s"
 
-#: catalog/objectaddress.c:2127
+#: catalog/objectaddress.c:2150
 #, c-format
 msgid "extension %s"
 msgstr "расширение %s"
 
-#: catalog/objectaddress.c:2140
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "event trigger %s"
 msgstr "событийный триггер %s"
 
-#: catalog/objectaddress.c:2200
+#: catalog/objectaddress.c:2223
 #, c-format
 msgid "table %s"
 msgstr "таблица %s"
 
-#: catalog/objectaddress.c:2204
+#: catalog/objectaddress.c:2227
 #, c-format
 msgid "index %s"
 msgstr "индекс %s"
 
-#: catalog/objectaddress.c:2208
+#: catalog/objectaddress.c:2231
 #, c-format
 msgid "sequence %s"
 msgstr "последовательность %s"
 
-#: catalog/objectaddress.c:2212
+#: catalog/objectaddress.c:2235
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-таблица %s"
 
-#: catalog/objectaddress.c:2216
+#: catalog/objectaddress.c:2239
 #, c-format
 msgid "view %s"
 msgstr "представление %s"
 
-#: catalog/objectaddress.c:2220
+#: catalog/objectaddress.c:2243
 #, c-format
 msgid "materialized view %s"
 msgstr "материализованное представление %s"
 
-#: catalog/objectaddress.c:2224
+#: catalog/objectaddress.c:2247
 #, c-format
 msgid "composite type %s"
 msgstr "составной тип %s"
 
-#: catalog/objectaddress.c:2228
+#: catalog/objectaddress.c:2251
 #, c-format
 msgid "foreign table %s"
 msgstr "сторонняя таблица %s"
 
-#: catalog/objectaddress.c:2233
+#: catalog/objectaddress.c:2256
 #, c-format
 msgid "relation %s"
 msgstr "отношение %s"
 
-#: catalog/objectaddress.c:2270
+#: catalog/objectaddress.c:2293
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "семейство операторов %s для метода доступа %s"
 
-#: catalog/pg_aggregate.c:102
+#: catalog/pg_aggregate.c:118
+#, c-format
+msgid "aggregates cannot have more than %d argument"
+msgid_plural "aggregates cannot have more than %d arguments"
+msgstr[0] "агрегатные функции допускают не больше %d аргумента"
+msgstr[1] "агрегатные функции допускают не больше %d аргументов"
+msgstr[2] "агрегатные функции допускают не больше %d аргументов"
+
+#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "не удалось определить переходный тип данных"
 
-#: catalog/pg_aggregate.c:103
+#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
 #, c-format
 msgid ""
 "An aggregate using a polymorphic transition type must have at least one "
@@ -3727,26 +3851,61 @@ msgstr ""
 "Агрегатная функция, использующая полиморфный переходный тип, должна иметь "
 "минимум один полиморфный аргумент."
 
-#: catalog/pg_aggregate.c:126
+#: catalog/pg_aggregate.c:165
+#, c-format
+msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
+msgstr ""
+"сортирующая агрегатная функция с непостоянными аргументами должна "
+"использовать тип VARIADIC ANY"
+
+#: catalog/pg_aggregate.c:191
+#, c-format
+msgid ""
+"a hypothetical-set aggregate must have direct arguments matching its "
+"aggregated arguments"
+msgstr ""
+"гипотезирующая агрегатная функция должна иметь непосредственные аргументы, "
+"соответствующие агрегатным"
+
+#: catalog/pg_aggregate.c:238 catalog/pg_aggregate.c:282
 #, c-format
 msgid "return type of transition function %s is not %s"
-msgstr "переходная функция %s должна возвращать тип %s"
+msgstr "функция перехода %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:146
+#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
 #, c-format
 msgid ""
 "must not omit initial value when transition function is strict and "
 "transition type is not compatible with input type"
 msgstr ""
-"нельзя опускать начальное значение, когда переходная функция объявлена как "
+"нельзя опускать начальное значение, когда функция перехода объявлена как "
 "STRICT и переходный тип несовместим с входным типом"
 
-#: catalog/pg_aggregate.c:177 catalog/pg_proc.c:241 catalog/pg_proc.c:248
+#: catalog/pg_aggregate.c:327
+#, c-format
+msgid "return type of inverse transition function %s is not %s"
+msgstr "обратная функция перехода %s должна возвращать тип %s"
+
+#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2301
+#, c-format
+msgid ""
+"strictness of aggregate's forward and inverse transition functions must match"
+msgstr ""
+"прямая и обратная функции перехода агрегата должны иметь одинаковую строгость"
+
+#: catalog/pg_aggregate.c:388 catalog/pg_aggregate.c:464
+#, c-format
+msgid "final function with extra arguments must not be declared STRICT"
+msgstr ""
+"финальная функция с дополнительными аргументами не должна объявляться как "
+"строгая (STRICT)"
+
+#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:241 catalog/pg_proc.c:248
 #, c-format
 msgid "cannot determine result data type"
 msgstr "не удалось определить тип результата"
 
-#: catalog/pg_aggregate.c:178
+#: catalog/pg_aggregate.c:411
 #, c-format
 msgid ""
 "An aggregate returning a polymorphic type must have at least one polymorphic "
@@ -3755,12 +3914,12 @@ msgstr ""
 "Агрегатная функция, возвращающая полиморфный тип, должна иметь минимум один "
 "полиморфный аргумент."
 
-#: catalog/pg_aggregate.c:190 catalog/pg_proc.c:254
+#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:254
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "небезопасное использование псевдотипа \"internal\""
 
-#: catalog/pg_aggregate.c:191 catalog/pg_proc.c:255
+#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:255
 #, c-format
 msgid ""
 "A function returning \"internal\" must have at least one \"internal\" "
@@ -3769,28 +3928,45 @@ msgstr ""
 "Функция, возвращающая \"internal\", должна иметь минимум один аргумент "
 "\"internal\"."
 
-#: catalog/pg_aggregate.c:199
+#: catalog/pg_aggregate.c:477
+#, c-format
+msgid ""
+"moving-aggregate implementation returns type %s, but plain implementation "
+"returns type %s"
+msgstr ""
+"реализация движимого агрегата возвращает тип %s, но простая реализация "
+"возвращает %s"
+
+#: catalog/pg_aggregate.c:488
 #, c-format
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr ""
 "оператор сортировки можно указать только для агрегатных функций с одним "
 "аргументом"
 
-#: catalog/pg_aggregate.c:356 commands/typecmds.c:1655
-#: commands/typecmds.c:1706 commands/typecmds.c:1737 commands/typecmds.c:1760
-#: commands/typecmds.c:1781 commands/typecmds.c:1808 commands/typecmds.c:1835
-#: commands/typecmds.c:1912 commands/typecmds.c:1954 parser/parse_func.c:290
-#: parser/parse_func.c:301 parser/parse_func.c:1554
+#: catalog/pg_aggregate.c:701 commands/typecmds.c:1657
+#: commands/typecmds.c:1708 commands/typecmds.c:1739 commands/typecmds.c:1762
+#: commands/typecmds.c:1783 commands/typecmds.c:1810 commands/typecmds.c:1837
+#: commands/typecmds.c:1914 commands/typecmds.c:1956 parser/parse_func.c:357
+#: parser/parse_func.c:386 parser/parse_func.c:411 parser/parse_func.c:425
+#: parser/parse_func.c:500 parser/parse_func.c:511 parser/parse_func.c:1907
 #, c-format
 msgid "function %s does not exist"
 msgstr "функция %s не существует"
 
-#: catalog/pg_aggregate.c:362
+#: catalog/pg_aggregate.c:707
 #, c-format
 msgid "function %s returns a set"
 msgstr "функция %s возвращает множество"
 
-#: catalog/pg_aggregate.c:387
+#: catalog/pg_aggregate.c:722
+#, c-format
+msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
+msgstr ""
+"для использования в этой агрегатной функции функция %s должна принимать "
+"VARIADIC ANY"
+
+#: catalog/pg_aggregate.c:746
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "функции %s требуется приведение типов во время выполнения"
@@ -3840,7 +4016,7 @@ msgstr "преобразование \"%s\" уже существует"
 msgid "default conversion for %s to %s already exists"
 msgstr "преобразование по умолчанию из %s в %s уже существует"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2930
+#: catalog/pg_depend.c:165 commands/extension.c:2926
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s уже относится к расширению \"%s\""
@@ -3851,32 +4027,32 @@ msgid "cannot remove dependency on %s because it is a system object"
 msgstr ""
 "ликвидировать зависимость от объекта %s нельзя, так как это системный объект"
 
-#: catalog/pg_enum.c:114 catalog/pg_enum.c:201
+#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "неверная метка в перечислении \"%s\""
 
-#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
+#: catalog/pg_enum.c:116 catalog/pg_enum.c:203
 #, c-format
 msgid "Labels must be %d characters or less."
 msgstr "Длина метки не должна превышать %d байт."
 
-#: catalog/pg_enum.c:230
+#: catalog/pg_enum.c:231
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "метка перечисления \"%s\" уже существует, пропускается"
 
-#: catalog/pg_enum.c:237
+#: catalog/pg_enum.c:238
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "метка перечисления \"%s\" уже существует"
 
-#: catalog/pg_enum.c:292
+#: catalog/pg_enum.c:293
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "в перечислении нет метки\"%s\""
 
-#: catalog/pg_enum.c:353
+#: catalog/pg_enum.c:354
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr ""
@@ -3955,11 +4131,11 @@ msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 "оператор не может быть обратным к себе или собственным оператором сортировки"
 
-#: catalog/pg_proc.c:129 parser/parse_func.c:1599 parser/parse_func.c:1639
+#: catalog/pg_proc.c:129 parser/parse_func.c:1931 parser/parse_func.c:1971
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
-msgstr[0] "функции не могут больше %d аргумента"
+msgstr[0] "Ñ\84Ñ\83нкÑ\86ии Ð½Ðµ Ð¼Ð¾Ð³Ñ\83Ñ\82 Ð¸Ð¼ÐµÑ\82Ñ\8c Ð±Ð¾Ð»Ñ\8cÑ\88е %d Ð°Ñ\80гÑ\83менÑ\82а"
 msgstr[1] "функции не могут иметь больше %d аргументов"
 msgstr[2] "функции не могут иметь больше %d аргументов"
 
@@ -4059,12 +4235,12 @@ msgstr "SQL-функции не могут возвращать тип %s"
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-функции не могут иметь аргументы типа %s"
 
-#: catalog/pg_proc.c:945 executor/functions.c:1419
+#: catalog/pg_proc.c:945 executor/functions.c:1418
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-функция \"%s\""
 
-#: catalog/pg_shdepend.c:689
+#: catalog/pg_shdepend.c:691
 #, c-format
 msgid ""
 "\n"
@@ -4082,33 +4258,33 @@ msgstr[2] ""
 "\n"
 "и объекты в %d других базах данных (см. список в протоколе сервера)"
 
-#: catalog/pg_shdepend.c:1001
+#: catalog/pg_shdepend.c:1003
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "роль %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1020
+#: catalog/pg_shdepend.c:1022
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "табличное пространство %u удалено другим процессом"
 
-#: catalog/pg_shdepend.c:1035
+#: catalog/pg_shdepend.c:1037
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "база данных %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1079
+#: catalog/pg_shdepend.c:1081
 #, c-format
 msgid "owner of %s"
 msgstr "владелец объекта %s"
 
-#: catalog/pg_shdepend.c:1081
+#: catalog/pg_shdepend.c:1083
 #, c-format
 msgid "privileges for %s"
 msgstr "права доступа к объекту \"%s\""
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1089
+#: catalog/pg_shdepend.c:1091
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
@@ -4116,7 +4292,7 @@ msgstr[0] "%d объект (%s)"
 msgstr[1] "%d объекта (%s)"
 msgstr[2] "%d объектов (%s)"
 
-#: catalog/pg_shdepend.c:1200
+#: catalog/pg_shdepend.c:1202
 #, c-format
 msgid ""
 "cannot drop objects owned by %s because they are required by the database "
@@ -4125,7 +4301,7 @@ msgstr ""
 "удалить объекты, принадлежащие роли %s, нельзя, так как они нужны системе "
 "баз данных"
 
-#: catalog/pg_shdepend.c:1303
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid ""
 "cannot reassign ownership of objects owned by %s because they are required "
@@ -4134,78 +4310,119 @@ msgstr ""
 "изменить владельца объектов, принадлежащих роли %s, нельзя, так как они "
 "нужны системе баз данных"
 
-#: catalog/pg_type.c:243
+#: catalog/pg_type.c:244
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "неверный внутренний размер типа: %d"
 
-#: catalog/pg_type.c:259 catalog/pg_type.c:267 catalog/pg_type.c:275
-#: catalog/pg_type.c:284
+#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
+#: catalog/pg_type.c:285
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr ""
 "выравнивание \"%c\" не подходит для типа, передаваемого по значению (с "
 "размером: %d)"
 
-#: catalog/pg_type.c:291
+#: catalog/pg_type.c:292
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "внутренний размер %d не подходит для типа, передаваемого по значению"
 
-#: catalog/pg_type.c:300 catalog/pg_type.c:306
+#: catalog/pg_type.c:301 catalog/pg_type.c:307
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "выравнивание \"%c\" не подходит для типа переменной длины"
 
-#: catalog/pg_type.c:314
+#: catalog/pg_type.c:315
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "для типов постоянного размера применим только режим хранения PLAIN"
 
-#: catalog/pg_type.c:772
+#: catalog/pg_type.c:773
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "не удалось сформировать имя типа массива для типа \"%s\""
 
-#: catalog/toasting.c:91 commands/indexcmds.c:381 commands/tablecmds.c:4026
-#: commands/tablecmds.c:10450
+#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4138
+#: commands/tablecmds.c:10966
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" - это не таблица и не материализованное представление"
 
-#: catalog/toasting.c:142
+#: catalog/toasting.c:157
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr "в разделяемые таблицы нельзя добавить TOAST после initdb"
 
-#: commands/aggregatecmds.c:106
+#: commands/aggregatecmds.c:148
+#, c-format
+msgid "only ordered-set aggregates can be hypothetical"
+msgstr "гипотезирующими могут быть только сортирующие агрегатные функции"
+
+#: commands/aggregatecmds.c:171
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "нераспознанный атрибут \"%s\" в определении агрегатной функции"
 
-#: commands/aggregatecmds.c:116
+#: commands/aggregatecmds.c:181
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "в определении агрегатной функции требуется stype"
 
-#: commands/aggregatecmds.c:120
+#: commands/aggregatecmds.c:185
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "в определении агрегатной функции требуется sfunc"
 
-#: commands/aggregatecmds.c:137
+#: commands/aggregatecmds.c:197
+#, c-format
+msgid "aggregate msfunc must be specified when mstype is specified"
+msgstr "в определении агрегатной функции требуется msfunc, если указан mstype"
+
+#: commands/aggregatecmds.c:201
+#, c-format
+msgid "aggregate minvfunc must be specified when mstype is specified"
+msgstr ""
+"в определении агрегатной функции требуется minvfunc, если указан mstype"
+
+#: commands/aggregatecmds.c:208
+#, c-format
+msgid "aggregate msfunc must not be specified without mstype"
+msgstr "msfunc для агрегата не должна указываться без mstype"
+
+#: commands/aggregatecmds.c:212
+#, c-format
+msgid "aggregate minvfunc must not be specified without mstype"
+msgstr "minvfunc для агрегата не должна указываться без mstype"
+
+#: commands/aggregatecmds.c:216
+#, c-format
+msgid "aggregate mfinalfunc must not be specified without mstype"
+msgstr "mfinalfunc для агрегата не должна указываться без mstype"
+
+#: commands/aggregatecmds.c:220
+#, c-format
+msgid "aggregate msspace must not be specified without mstype"
+msgstr "msspace для агрегата не должна указываться без mstype"
+
+#: commands/aggregatecmds.c:224
+#, c-format
+msgid "aggregate minitcond must not be specified without mstype"
+msgstr "minitcond для агрегата не должна указываться без mstype"
+
+#: commands/aggregatecmds.c:244
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "в определении агрегатной функции требуется входной тип"
 
-#: commands/aggregatecmds.c:162
+#: commands/aggregatecmds.c:274
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr ""
 "в определении агрегатной функции с указанием входного типа не нужен базовый "
 "тип"
 
-#: commands/aggregatecmds.c:195
+#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "переходным типом агрегатной функции не может быть %s"
@@ -4265,60 +4482,60 @@ msgstr "переименовать \"%s\" может только суперпо
 msgid "must be superuser to set schema of %s"
 msgstr "для назначения схемы объекта %s нужно быть суперпользователем"
 
-#: commands/analyze.c:155
+#: commands/analyze.c:156
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "анализ \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/analyze.c:172
+#: commands/analyze.c:173
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь может анализировать этот "
 "объект"
 
-#: commands/analyze.c:176
+#: commands/analyze.c:177
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь или владелец БД может "
 "анализировать этот объект"
 
-#: commands/analyze.c:180
+#: commands/analyze.c:181
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только владелец таблицы или БД может анализировать "
 "этот объект"
 
-#: commands/analyze.c:240
+#: commands/analyze.c:241
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "\"%s\" пропускается --- анализировать эту стороннюю таблицу нельзя"
 
-#: commands/analyze.c:251
+#: commands/analyze.c:252
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- анализировать не таблицы или специальные системные "
 "таблицы нельзя"
 
-#: commands/analyze.c:328
+#: commands/analyze.c:329
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "анализируется дерево наследования \"%s.%s\""
 
-#: commands/analyze.c:333
+#: commands/analyze.c:334
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "анализируется \"%s.%s\""
 
-#: commands/analyze.c:651
+#: commands/analyze.c:652
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "автоматический анализ таблицы \"%s.%s.%s\"; нагрузка системы: %s"
 
-#: commands/analyze.c:1293
+#: commands/analyze.c:1295
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -4328,26 +4545,26 @@ msgstr ""
 "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число "
 "строк: %.0f"
 
-#: commands/analyze.c:1557 executor/execQual.c:2869
+#: commands/analyze.c:1559 executor/execQual.c:2867
 msgid "could not convert row type"
 msgstr "не удалось преобразовать тип строки"
 
-#: commands/async.c:547
+#: commands/async.c:545
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "имя канала не может быть пустым"
 
-#: commands/async.c:552
+#: commands/async.c:550
 #, c-format
 msgid "channel name too long"
 msgstr "слишком длинное имя канала"
 
-#: commands/async.c:559
+#: commands/async.c:557
 #, c-format
 msgid "payload string too long"
 msgstr "слишком длинная строка сообщения-нагрузки"
 
-#: commands/async.c:744
+#: commands/async.c:742
 #, c-format
 msgid ""
 "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
@@ -4355,17 +4572,17 @@ msgstr ""
 "выполнить PREPARE для транзакции с командами LISTEN, UNLISTEN или NOTIFY "
 "нельзя"
 
-#: commands/async.c:847
+#: commands/async.c:845
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "слишком много уведомлений в очереди NOTIFY"
 
-#: commands/async.c:1420
+#: commands/async.c:1418
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "очередь NOTIFY заполнена на %.0f%%"
 
-#: commands/async.c:1422
+#: commands/async.c:1420
 #, c-format
 msgid ""
 "The server process with PID %d is among those with the oldest transactions."
@@ -4373,7 +4590,7 @@ msgstr ""
 "В число серверных процессов с самыми старыми транзакциями входит процесс с "
 "PID %d."
 
-#: commands/async.c:1425
+#: commands/async.c:1423
 #, c-format
 msgid ""
 "The NOTIFY queue cannot be emptied until that process ends its current "
@@ -4382,37 +4599,37 @@ msgstr ""
 "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит "
 "текущую транзакцию."
 
-#: commands/cluster.c:131 commands/cluster.c:374
+#: commands/cluster.c:126 commands/cluster.c:363
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "кластеризовать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:161
+#: commands/cluster.c:156
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу"
 
-#: commands/cluster.c:175 commands/tablecmds.c:8539
+#: commands/cluster.c:170 commands/tablecmds.c:8794 commands/tablecmds.c:10290
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "индекс \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/cluster.c:363
+#: commands/cluster.c:352
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "кластеризовать разделяемый каталог нельзя"
 
-#: commands/cluster.c:378
+#: commands/cluster.c:367
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "очищать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:443
+#: commands/cluster.c:430 commands/tablecmds.c:10300
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "\"%s\" не является индексом таблицы \"%s\""
 
-#: commands/cluster.c:451
+#: commands/cluster.c:438
 #, c-format
 msgid ""
 "cannot cluster on index \"%s\" because access method does not support "
@@ -4420,33 +4637,33 @@ msgid ""
 msgstr ""
 "кластеризация по индексу \"%s\" невозможна, её не поддерживает метод доступа"
 
-#: commands/cluster.c:463
+#: commands/cluster.c:450
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "кластеризовать по частичному индексу \"%s\" нельзя"
 
-#: commands/cluster.c:477
+#: commands/cluster.c:464
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "нельзя кластеризовать таблицу по неверному индексу \"%s\""
 
-#: commands/cluster.c:926
+#: commands/cluster.c:920
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\""
 
-#: commands/cluster.c:932
+#: commands/cluster.c:926
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr ""
 "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки"
 
-#: commands/cluster.c:937 commands/vacuumlazy.c:435
+#: commands/cluster.c:931 commands/vacuumlazy.c:444
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "очистка \"%s.%s\""
 
-#: commands/cluster.c:1096
+#: commands/cluster.c:1090
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
@@ -4454,7 +4671,7 @@ msgstr ""
 "\"%s\": найдено удаляемых версий строк: %.0f, неудаляемых - %.0f, "
 "просмотрено страниц: %u"
 
-#: commands/cluster.c:1100
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4489,16 +4706,16 @@ msgstr ""
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "правило сортировки \"%s\" уже существует в схеме \"%s\""
 
-#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:946
-#: commands/dbcommands.c:1049 commands/dbcommands.c:1222
-#: commands/dbcommands.c:1411 commands/dbcommands.c:1506
-#: commands/dbcommands.c:1946 utils/init/postinit.c:775
-#: utils/init/postinit.c:843 utils/init/postinit.c:860
+#: commands/comment.c:62 commands/dbcommands.c:773 commands/dbcommands.c:935
+#: commands/dbcommands.c:1038 commands/dbcommands.c:1211
+#: commands/dbcommands.c:1400 commands/dbcommands.c:1495
+#: commands/dbcommands.c:1912 utils/init/postinit.c:794
+#: utils/init/postinit.c:862 utils/init/postinit.c:879
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "база данных \"%s\" не существует"
 
-#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:693
+#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:686
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, or foreign "
@@ -4537,55 +4754,55 @@ msgstr "целевая кодировка \"%s\" не существует"
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "функция преобразования кодировки %s должна возвращать void"
 
-#: commands/copy.c:358 commands/copy.c:370 commands/copy.c:404
-#: commands/copy.c:414
+#: commands/copy.c:360 commands/copy.c:372 commands/copy.c:406
+#: commands/copy.c:416
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY не поддерживает стандартный вывод (stdout) и ввод (stdin)"
 
-#: commands/copy.c:512
+#: commands/copy.c:514
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "не удалось записать в канал программы COPY: %m"
 
-#: commands/copy.c:517
+#: commands/copy.c:519
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "не удалось записать в файл COPY: %m"
 
-#: commands/copy.c:530
+#: commands/copy.c:532
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "в процессе вывода данных COPY в stdout потеряно соединение"
 
-#: commands/copy.c:571
+#: commands/copy.c:573
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "не удалось прочитать файл COPY: %m"
 
-#: commands/copy.c:587 commands/copy.c:606 commands/copy.c:610
-#: tcop/fastpath.c:293 tcop/postgres.c:351 tcop/postgres.c:387
+#: commands/copy.c:589 commands/copy.c:608 commands/copy.c:612
+#: tcop/fastpath.c:293 tcop/postgres.c:342 tcop/postgres.c:378
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции"
 
-#: commands/copy.c:622
+#: commands/copy.c:624
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "ошибка при вводе данных COPY из stdin: %s"
 
-#: commands/copy.c:638
+#: commands/copy.c:640
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "неожиданный тип сообщения 0x%02X при вводе данных COPY из stdin"
 
-#: commands/copy.c:792
+#: commands/copy.c:794
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr ""
 "для использования COPY с внешними программами нужно быть суперпользователем"
 
-#: commands/copy.c:793 commands/copy.c:799
+#: commands/copy.c:795 commands/copy.c:801
 #, c-format
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
@@ -4594,266 +4811,282 @@ msgstr ""
 "Не имея административных прав, можно использовать COPY с stdout и stdin (а "
 "также команду psql \\copy)."
 
-#: commands/copy.c:798
+#: commands/copy.c:800
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "для использования COPY с файлами нужно быть суперпользователем"
 
-#: commands/copy.c:934
+#: commands/copy.c:936
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "формат \"%s\" для COPY не распознан"
 
-#: commands/copy.c:1005 commands/copy.c:1019 commands/copy.c:1039
+#: commands/copy.c:1007 commands/copy.c:1021 commands/copy.c:1035
+#: commands/copy.c:1055
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "аргументом параметра \"%s\" должен быть список имён колонок"
 
-#: commands/copy.c:1052
+#: commands/copy.c:1068
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки"
 
-#: commands/copy.c:1058
+#: commands/copy.c:1074
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "параметр \"%s\" не распознан"
 
-#: commands/copy.c:1069
+#: commands/copy.c:1085
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать DELIMITER"
 
-#: commands/copy.c:1074
+#: commands/copy.c:1090
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать NULL"
 
-#: commands/copy.c:1096
+#: commands/copy.c:1112
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "разделитель для COPY должен быть однобайтным символом"
 
-#: commands/copy.c:1103
+#: commands/copy.c:1119
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr ""
 "разделителем для COPY не может быть символ новой строки или возврата каретки"
 
-#: commands/copy.c:1109
+#: commands/copy.c:1125
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "представление NULL для COPY не может включать символ новой строки или "
 "возврата каретки"
 
-#: commands/copy.c:1126
+#: commands/copy.c:1142
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "\"%s\" не может быть разделителем для COPY"
 
-#: commands/copy.c:1132
+#: commands/copy.c:1148
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER можно использовать только в режиме CSV"
 
-#: commands/copy.c:1138
+#: commands/copy.c:1154
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "определить кавычки для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1143
+#: commands/copy.c:1159
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "символ кавычек для COPY должен быть однобайтным"
 
-#: commands/copy.c:1148
+#: commands/copy.c:1164
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "символ кавычек для COPY должен отличаться от разделителя"
 
-#: commands/copy.c:1154
+#: commands/copy.c:1170
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "определить спецсимвол для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1159
+#: commands/copy.c:1175
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "спецсимвол для COPY должен быть однобайтным"
 
-#: commands/copy.c:1165
+#: commands/copy.c:1181
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "параметр force quote для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1169
+#: commands/copy.c:1185
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "параметр force quote для COPY можно использовать только с COPY TO"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1191
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr ""
 "параметр force not null для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1179
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "параметр force not null для COPY можно использовать только с COPY FROM"
 
-#: commands/copy.c:1185
+#: commands/copy.c:1201
+#, c-format
+msgid "COPY force null available only in CSV mode"
+msgstr "параметр force null для COPY можно использовать только в режиме CSV"
+
+#: commands/copy.c:1206
+#, c-format
+msgid "COPY force null only available using COPY FROM"
+msgstr "параметр force null для COPY можно использовать только с COPY FROM"
+
+#: commands/copy.c:1212
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "разделитель для COPY не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1192
+#: commands/copy.c:1219
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1254
+#: commands/copy.c:1281
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "таблица \"%s\" не содержит OID"
 
-#: commands/copy.c:1271
+#: commands/copy.c:1298
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS не поддерживается"
 
-#: commands/copy.c:1297
+#: commands/copy.c:1324
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) не поддерживается"
 
-#: commands/copy.c:1360
+#: commands/copy.c:1387
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
 msgstr "колонка FORCE QUOTE \"%s\" не входит в список колонок COPY"
 
-#: commands/copy.c:1382
+#: commands/copy.c:1409
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
 msgstr "колонка FORCE NOT NULL \"%s\" не входит в список колонок COPY"
 
-#: commands/copy.c:1446
+#: commands/copy.c:1431
+#, c-format
+msgid "FORCE NULL column \"%s\" not referenced by COPY"
+msgstr "колонка FORCE NULL \"%s\" не входит в список колонок COPY"
+
+#: commands/copy.c:1495
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "не удалось закрыть канал сообщений с внешней командой: %m"
 
-#: commands/copy.c:1449
+#: commands/copy.c:1498
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "сбой программы \"%s\""
 
-#: commands/copy.c:1498
+#: commands/copy.c:1547
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "копировать из представления \"%s\" нельзя"
 
-#: commands/copy.c:1500 commands/copy.c:1506 commands/copy.c:1512
+#: commands/copy.c:1549 commands/copy.c:1555 commands/copy.c:1561
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Попробуйте вариацию COPY (SELECT ...) TO."
 
-#: commands/copy.c:1504
+#: commands/copy.c:1553
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "копировать из материализованного представления \"%s\" нельзя"
 
-#: commands/copy.c:1510
+#: commands/copy.c:1559
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "копировать из сторонней таблицы \"%s\" нельзя"
 
-#: commands/copy.c:1516
+#: commands/copy.c:1565
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "копировать из последовательности \"%s\" нельзя"
 
-#: commands/copy.c:1521
+#: commands/copy.c:1570
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя"
 
-#: commands/copy.c:1544 commands/copy.c:2549
+#: commands/copy.c:1593 commands/copy.c:2616
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "не удалось выполнить команду \"%s\": %m"
 
-#: commands/copy.c:1559
+#: commands/copy.c:1608
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "при выполнении COPY в файл нельзя указывать относительный путь"
 
-#: commands/copy.c:1567
+#: commands/copy.c:1616
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "не удалось открыть файл \"%s\" для записи: %m"
 
-#: commands/copy.c:1574 commands/copy.c:2567
+#: commands/copy.c:1623 commands/copy.c:2634
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" - это каталог"
 
-#: commands/copy.c:1899
+#: commands/copy.c:1948
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, строка %d, колонка %s"
 
-#: commands/copy.c:1903 commands/copy.c:1950
+#: commands/copy.c:1952 commands/copy.c:1999
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, строка %d"
 
-#: commands/copy.c:1914
+#: commands/copy.c:1963
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, строка %d, колонка %s: \"%s\""
 
-#: commands/copy.c:1922
+#: commands/copy.c:1971
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, строка %d, колонка %s: значение NULL"
 
-#: commands/copy.c:1944
+#: commands/copy.c:1993
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, строка %d: \"%s\""
 
-#: commands/copy.c:2028
+#: commands/copy.c:2077
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "копировать в представление \"%s\" нельзя"
 
-#: commands/copy.c:2033
+#: commands/copy.c:2082
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "копировать в материализованное представление \"%s\" нельзя"
 
-#: commands/copy.c:2038
+#: commands/copy.c:2087
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "копировать в стороннюю таблицу \"%s\" нельзя"
 
-#: commands/copy.c:2043
+#: commands/copy.c:2092
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "копировать в последовательность \"%s\" нельзя"
 
-#: commands/copy.c:2048
+#: commands/copy.c:2097
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "копировать в отношение \"%s\", не являющееся таблицей, нельзя"
 
-#: commands/copy.c:2111
+#: commands/copy.c:2160
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "выполнить FREEZE нельзя из-за предыдущей активности в транзакции"
 
-#: commands/copy.c:2117
+#: commands/copy.c:2166
 #, c-format
 msgid ""
 "cannot perform FREEZE because the table was not created or truncated in the "
@@ -4862,155 +5095,155 @@ msgstr ""
 "выполнить FREEZE нельзя, так как таблица не была создана или усечена в "
 "текущей подтранзакции"
 
-#: commands/copy.c:2560 utils/adt/genfile.c:123
+#: commands/copy.c:2627 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: commands/copy.c:2587
+#: commands/copy.c:2654
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "подпись COPY-файла не распознана"
 
-#: commands/copy.c:2592
+#: commands/copy.c:2659
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "неверный заголовок файла COPY (отсутствуют флаги)"
 
-#: commands/copy.c:2598
+#: commands/copy.c:2665
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "не распознаны важные флаги в заголовке файла COPY"
 
-#: commands/copy.c:2604
+#: commands/copy.c:2671
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "неверный заголовок файла COPY (отсутствует длина)"
 
-#: commands/copy.c:2611
+#: commands/copy.c:2678
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "неверный заголовок файла COPY (неправильная длина)"
 
-#: commands/copy.c:2744 commands/copy.c:3434 commands/copy.c:3664
+#: commands/copy.c:2811 commands/copy.c:3518 commands/copy.c:3748
 #, c-format
 msgid "extra data after last expected column"
 msgstr "лишние данные после содержимого последней колонки"
 
-#: commands/copy.c:2754
+#: commands/copy.c:2821
 #, c-format
 msgid "missing data for OID column"
 msgstr "нет данных для колонки OID"
 
-#: commands/copy.c:2760
+#: commands/copy.c:2827
 #, c-format
 msgid "null OID in COPY data"
 msgstr "неверное значение OID (NULL) в данных COPY"
 
-#: commands/copy.c:2770 commands/copy.c:2876
+#: commands/copy.c:2837 commands/copy.c:2960
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "неверный OID в данных COPY"
 
-#: commands/copy.c:2785
+#: commands/copy.c:2852
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "нет данных для колонки \"%s\""
 
-#: commands/copy.c:2851
+#: commands/copy.c:2935
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "после маркера конца файла продолжаются данные COPY"
 
-#: commands/copy.c:2858
+#: commands/copy.c:2942
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "количество полей в строке: %d, ожидалось: %d"
 
-#: commands/copy.c:3198 commands/copy.c:3215
+#: commands/copy.c:3282 commands/copy.c:3299
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "в данных обнаружен явный возврат каретки"
 
-#: commands/copy.c:3199 commands/copy.c:3216
+#: commands/copy.c:3283 commands/copy.c:3300
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "в данных обнаружен возврат каретки не в кавычках"
 
-#: commands/copy.c:3201 commands/copy.c:3218
+#: commands/copy.c:3285 commands/copy.c:3302
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Представьте возврат каретки как \"\\r\"."
 
-#: commands/copy.c:3202 commands/copy.c:3219
+#: commands/copy.c:3286 commands/copy.c:3303
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Заключите возврат каретки в кавычки CSV."
 
-#: commands/copy.c:3231
+#: commands/copy.c:3315
 #, c-format
 msgid "literal newline found in data"
 msgstr "в данных обнаружен явный символ новой строки"
 
-#: commands/copy.c:3232
+#: commands/copy.c:3316
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "в данных обнаружен явный символ новой строки не в кавычках"
 
-#: commands/copy.c:3234
+#: commands/copy.c:3318
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Представьте символ новой строки как \"\\n\"."
 
-#: commands/copy.c:3235
+#: commands/copy.c:3319
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Заключите символ новой строки в кавычки CSV."
 
-#: commands/copy.c:3281 commands/copy.c:3317
+#: commands/copy.c:3365 commands/copy.c:3401
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки"
 
-#: commands/copy.c:3290 commands/copy.c:3306
+#: commands/copy.c:3374 commands/copy.c:3390
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "маркер \"конец копии\" испорчен"
 
-#: commands/copy.c:3748
+#: commands/copy.c:3832
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "незавершённое поле в кавычках CSV"
 
-#: commands/copy.c:3825 commands/copy.c:3844
+#: commands/copy.c:3909 commands/copy.c:3928
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "неожиданный конец данных COPY"
 
-#: commands/copy.c:3834
+#: commands/copy.c:3918
 #, c-format
 msgid "invalid field size"
 msgstr "неверный размер поля"
 
-#: commands/copy.c:3857
+#: commands/copy.c:3941
 #, c-format
 msgid "incorrect binary data format"
 msgstr "неверный двоичный формат данных"
 
-#: commands/copy.c:4168 commands/indexcmds.c:1012 commands/tablecmds.c:1403
-#: commands/tablecmds.c:2212 parser/parse_relation.c:2652
+#: commands/copy.c:4252 commands/indexcmds.c:993 commands/tablecmds.c:1426
+#: commands/tablecmds.c:2236 parser/parse_relation.c:2889
 #: utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "колонка \"%s\" не существует"
 
-#: commands/copy.c:4175 commands/tablecmds.c:1429 commands/trigger.c:619
+#: commands/copy.c:4259 commands/tablecmds.c:1452 commands/trigger.c:644
 #: parser/parse_target.c:936 parser/parse_target.c:947
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "колонка \"%s\" указана неоднократно"
 
-#: commands/createas.c:352
+#: commands/createas.c:353
 #, c-format
 msgid "too many column names were specified"
 msgstr "указано слишком много имён колонок"
@@ -5035,7 +5268,7 @@ msgstr "%d не является верным кодом кодировки"
 msgid "%s is not a valid encoding name"
 msgstr "%s не является верным названием кодировки"
 
-#: commands/dbcommands.c:255 commands/dbcommands.c:1392 commands/user.c:260
+#: commands/dbcommands.c:255 commands/dbcommands.c:1381 commands/user.c:260
 #: commands/user.c:601
 #, c-format
 msgid "invalid connection limit: %d"
@@ -5117,7 +5350,7 @@ msgstr ""
 "Используйте тот же LC_CTYPE, что и в шаблоне базы данных, или выберите в "
 "качестве шаблона template0."
 
-#: commands/dbcommands.c:395 commands/dbcommands.c:1095
+#: commands/dbcommands.c:395 commands/dbcommands.c:1084
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr ""
@@ -5137,7 +5370,7 @@ msgstr ""
 "База данных \"%s\" содержит таблицы, которые уже находятся в этом табличном "
 "пространстве."
 
-#: commands/dbcommands.c:443 commands/dbcommands.c:966
+#: commands/dbcommands.c:443 commands/dbcommands.c:955
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "база данных \"%s\" уже существует"
@@ -5147,66 +5380,76 @@ msgstr "база данных \"%s\" уже существует"
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "исходная база \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:728 commands/dbcommands.c:743
+#: commands/dbcommands.c:702 commands/dbcommands.c:717
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "кодировка \"%s\" не соответствует локали \"%s\""
 
-#: commands/dbcommands.c:731
+#: commands/dbcommands.c:705
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_CTYPE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:746
+#: commands/dbcommands.c:720
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_COLLATE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:804
+#: commands/dbcommands.c:780
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "база данных \"%s\" не существует, пропускается"
 
-#: commands/dbcommands.c:828
+#: commands/dbcommands.c:804
 #, c-format
 msgid "cannot drop a template database"
 msgstr "удалить шаблон базы данных нельзя"
 
-#: commands/dbcommands.c:834
+#: commands/dbcommands.c:810
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "удалить базу данных, открытую в данный момент, нельзя"
 
-#: commands/dbcommands.c:845 commands/dbcommands.c:988
-#: commands/dbcommands.c:1117
+#: commands/dbcommands.c:820
+#, c-format
+msgid "database \"%s\" is used by a logical decoding slot"
+msgstr "база \"%s\" используется слотом логического декодирования"
+
+#: commands/dbcommands.c:822
+#, c-format
+msgid "There are %d slot(s), %d of them active"
+msgstr "Всего создано слотов: %d, из них активны: %d."
+
+#: commands/dbcommands.c:834 commands/dbcommands.c:977
+#: commands/dbcommands.c:1106
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "база данных \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:957
+#: commands/dbcommands.c:946
 #, c-format
 msgid "permission denied to rename database"
 msgstr "нет прав на переименование базы данных"
 
-#: commands/dbcommands.c:977
+#: commands/dbcommands.c:966
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "нельзя переименовать текущую базу данных"
 
-#: commands/dbcommands.c:1073
+#: commands/dbcommands.c:1062
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr ""
 "изменить табличное пространство открытой в данный момент базы данных нельзя"
 
-#: commands/dbcommands.c:1157
+#: commands/dbcommands.c:1146
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr ""
 "некоторые отношения базы данных \"%s\" уже находятся в табличном "
 "пространстве \"%s\""
 
-#: commands/dbcommands.c:1159
+#: commands/dbcommands.c:1148
 #, c-format
 msgid ""
 "You must move them back to the database's default tablespace before using "
@@ -5215,19 +5458,19 @@ msgstr ""
 "Прежде чем выполнять эту команду, вы должны вернуть их назад в табличное "
 "пространство по умолчанию для этой базы данных."
 
-#: commands/dbcommands.c:1290 commands/dbcommands.c:1789
-#: commands/dbcommands.c:2007 commands/dbcommands.c:2055
-#: commands/tablespace.c:585
+#: commands/dbcommands.c:1279 commands/dbcommands.c:1767
+#: commands/dbcommands.c:1973 commands/dbcommands.c:2021
+#: commands/tablespace.c:598
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "в старом каталоге базы данных \"%s\" могли остаться ненужные файлы"
 
-#: commands/dbcommands.c:1546
+#: commands/dbcommands.c:1535
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "нет прав на изменение владельца базы данных"
 
-#: commands/dbcommands.c:1890
+#: commands/dbcommands.c:1856
 #, c-format
 msgid ""
 "There are %d other session(s) and %d prepared transaction(s) using the "
@@ -5236,7 +5479,7 @@ msgstr ""
 "С этой базой данных связаны другие сеансы (%d) и подготовленные транзакции "
 "(%d)."
 
-#: commands/dbcommands.c:1893
+#: commands/dbcommands.c:1859
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
@@ -5244,7 +5487,7 @@ msgstr[0] "Эта база данных используется ещё в %d с
 msgstr[1] "Эта база данных используется ещё в %d сеансах."
 msgstr[2] "Эта база данных используется ещё в %d сеансах."
 
-#: commands/dbcommands.c:1898
+#: commands/dbcommands.c:1864
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -5252,156 +5495,162 @@ msgstr[0] "С этой базой данных связана %d подгото
 msgstr[1] "С этой базой данных связаны %d подготовленные транзакции."
 msgstr[2] "С этой базой данных связаны %d подготовленных транзакций."
 
-#: commands/define.c:54 commands/define.c:209 commands/define.c:241
-#: commands/define.c:269
+#: commands/define.c:54 commands/define.c:228 commands/define.c:260
+#: commands/define.c:288
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s требует параметр"
 
-#: commands/define.c:95 commands/define.c:106 commands/define.c:176
-#: commands/define.c:194
+#: commands/define.c:90 commands/define.c:101 commands/define.c:195
+#: commands/define.c:213
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s требует числовое значение"
 
-#: commands/define.c:162
+#: commands/define.c:157
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "%s требует логическое значение"
 
-#: commands/define.c:223
+#: commands/define.c:171 commands/define.c:180 commands/define.c:297
+#, c-format
+msgid "%s requires an integer value"
+msgstr "%s требует целое значение"
+
+#: commands/define.c:242
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "аргументом %s должно быть имя"
 
-#: commands/define.c:253
+#: commands/define.c:272
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "аргументом %s должно быть имя типа"
 
-#: commands/define.c:278
-#, c-format
-msgid "%s requires an integer value"
-msgstr "%s требует целое значение"
-
-#: commands/define.c:299
+#: commands/define.c:318
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "неверный аргумент для %s: \"%s\""
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1079
-#: utils/adt/ruleutils.c:1897
+#: commands/dropcmds.c:112 commands/functioncmds.c:1110
+#: utils/adt/ruleutils.c:1936
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "функция \"%s\" является агрегатной"
 
-#: commands/dropcmds.c:102
+#: commands/dropcmds.c:114
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций."
 
-#: commands/dropcmds.c:143 commands/tablecmds.c:236
+#: commands/dropcmds.c:165 commands/sequence.c:400 commands/tablecmds.c:2317
+#: commands/tablecmds.c:2498 commands/tablecmds.c:10454 tcop/utility.c:1011
+#, c-format
+msgid "relation \"%s\" does not exist, skipping"
+msgstr "отношение \"%s\" не существует, пропускается"
+
+#: commands/dropcmds.c:195 commands/dropcmds.c:288 commands/tablecmds.c:712
+#, c-format
+msgid "schema \"%s\" does not exist, skipping"
+msgstr "схема \"%s\" не существует, пропускается"
+
+#: commands/dropcmds.c:237 commands/dropcmds.c:269 commands/tablecmds.c:236
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "тип \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:147
+#: commands/dropcmds.c:276
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "правило сортировки \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:151
+#: commands/dropcmds.c:283
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "преобразование \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:155
-#, c-format
-msgid "schema \"%s\" does not exist, skipping"
-msgstr "схема \"%s\" не существует, пропускается"
-
-#: commands/dropcmds.c:159
+#: commands/dropcmds.c:294
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "анализатор текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:163
+#: commands/dropcmds.c:301
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "словарь текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:167
+#: commands/dropcmds.c:308
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "шаблон текстового поиска \"%s\" не существует, пропускается "
 
-#: commands/dropcmds.c:171
+#: commands/dropcmds.c:315
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "конфигурация текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:175
+#: commands/dropcmds.c:320
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "расширение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:179
+#: commands/dropcmds.c:327
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:184
+#: commands/dropcmds.c:336
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "агрегатная функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:189
+#: commands/dropcmds.c:345
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "оператор %s не существует, пропускается"
 
-#: commands/dropcmds.c:193
+#: commands/dropcmds.c:350
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "язык \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:197
+#: commands/dropcmds.c:359
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "преобразование типа %s в тип %s не существует, пропускается"
 
-#: commands/dropcmds.c:204
+#: commands/dropcmds.c:368
 #, c-format
-msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
-msgstr "триггер \"%s\" для таблицы \"%s\" не существует, пропускается"
+msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
+msgstr "триггер \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:210
+#: commands/dropcmds.c:375
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "событийный триггер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:214
+#: commands/dropcmds.c:381
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "правило \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:220
+#: commands/dropcmds.c:388
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "обёртка сторонних данных \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:224
+#: commands/dropcmds.c:392
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "сервер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:228
+#: commands/dropcmds.c:398
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr ""
 "класс операторов \"%s\" не существует для метода доступа \"%s\", пропускается"
 
-#: commands/dropcmds.c:233
+#: commands/dropcmds.c:406
 #, c-format
 msgid ""
 "operator family \"%s\" does not exist for access method \"%s\", skipping"
@@ -5471,47 +5720,50 @@ msgstr "Владельцем событийного триггера долже
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции sql_drop"
 
-#: commands/event_trigger.c:1226 commands/extension.c:1650
-#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:702
-#: executor/execQual.c:1717 executor/execQual.c:1742 executor/execQual.c:2110
-#: executor/execQual.c:5272 executor/functions.c:1019 foreign/foreign.c:421
-#: replication/walsender.c:1909 utils/adt/jsonfuncs.c:924
-#: utils/adt/jsonfuncs.c:1095 utils/adt/jsonfuncs.c:1597
+#: commands/event_trigger.c:1226 commands/extension.c:1646
+#: commands/extension.c:1755 commands/extension.c:1948 commands/prepare.c:702
+#: executor/execQual.c:1708 executor/execQual.c:1733 executor/execQual.c:2108
+#: executor/execQual.c:5276 executor/functions.c:1018 foreign/foreign.c:421
+#: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
+#: replication/walsender.c:2746 utils/adt/jsonfuncs.c:1355
+#: utils/adt/jsonfuncs.c:1487 utils/adt/jsonfuncs.c:1677
+#: utils/adt/jsonfuncs.c:1806 utils/adt/jsonfuncs.c:2570
 #: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: commands/event_trigger.c:1230 commands/extension.c:1654
-#: commands/extension.c:1763 commands/extension.c:1956 commands/prepare.c:706
-#: foreign/foreign.c:426 replication/walsender.c:1913
+#: commands/event_trigger.c:1230 commands/extension.c:1650
+#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
+#: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
+#: replication/slotfuncs.c:177 replication/walsender.c:2750
 #: utils/mmgr/portalmem.c:990
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "требуется режим материализации, но он недопустим в этом контексте"
 
-#: commands/explain.c:163
+#: commands/explain.c:169
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "нераспознанное значение параметра EXPLAIN \"%s\": \"%s\""
 
-#: commands/explain.c:169
+#: commands/explain.c:175
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "нераспознанный параметр EXPLAIN: \"%s\""
 
-#: commands/explain.c:176
+#: commands/explain.c:182
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "параметр BUFFERS оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/explain.c:185
+#: commands/explain.c:191
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/extension.c:148 commands/extension.c:2632
+#: commands/extension.c:148 commands/extension.c:2628
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "расширение \"%s\" не существует"
@@ -5601,33 +5853,33 @@ msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr ""
 "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true"
 
-#: commands/extension.c:726
+#: commands/extension.c:722
 #, c-format
 msgid ""
 "transaction control statements are not allowed within an extension script"
 msgstr "в скрипте расширения не должно быть операторов управления транзакциями"
 
-#: commands/extension.c:794
+#: commands/extension.c:790
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "нет прав на создание расширения \"%s\""
 
-#: commands/extension.c:796
+#: commands/extension.c:792
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Для создания этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:800
+#: commands/extension.c:796
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "нет прав на изменение расширения \"%s\""
 
-#: commands/extension.c:802
+#: commands/extension.c:798
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Для изменения этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:1084
+#: commands/extension.c:1080
 #, c-format
 msgid ""
 "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
@@ -5635,47 +5887,47 @@ msgstr ""
 "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии "
 "\"%s\""
 
-#: commands/extension.c:1211
+#: commands/extension.c:1207
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "расширение \"%s\" уже существует, пропускается"
 
-#: commands/extension.c:1218
+#: commands/extension.c:1214
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "расширение \"%s\" уже существует"
 
-#: commands/extension.c:1229
+#: commands/extension.c:1225
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "вложенные операторы CREATE EXTENSION не поддерживаются"
 
-#: commands/extension.c:1284 commands/extension.c:2692
+#: commands/extension.c:1280 commands/extension.c:2688
 #, c-format
 msgid "version to install must be specified"
 msgstr "нужно указать версию для установки"
 
-#: commands/extension.c:1301
+#: commands/extension.c:1297
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "версия FROM должна отличаться от устанавливаемой версии \"%s\""
 
-#: commands/extension.c:1356
+#: commands/extension.c:1352
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\""
 
-#: commands/extension.c:1440 commands/extension.c:2835
+#: commands/extension.c:1436 commands/extension.c:2831
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "требуемое расширение \"%s\" не установлено"
 
-#: commands/extension.c:1602
+#: commands/extension.c:1598
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "удалить расширение %s в процессе настройки нельзя"
 
-#: commands/extension.c:2073
+#: commands/extension.c:2069
 #, c-format
 msgid ""
 "pg_extension_config_dump() can only be called from an SQL script executed by "
@@ -5684,17 +5936,17 @@ msgstr ""
 "функцию pg_extension_config_dump() можно вызывать только из SQL-скрипта, "
 "запускаемого в CREATE EXTENSION"
 
-#: commands/extension.c:2085
+#: commands/extension.c:2081
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u не относится к таблице"
 
-#: commands/extension.c:2090
+#: commands/extension.c:2086
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "таблица \"%s\" не относится к созданному расширению"
 
-#: commands/extension.c:2454
+#: commands/extension.c:2450
 #, c-format
 msgid ""
 "cannot move extension \"%s\" into schema \"%s\" because the extension "
@@ -5703,27 +5955,27 @@ msgstr ""
 "переместить расширение \"%s\" в схему \"%s\" нельзя, так как оно содержит "
 "схему"
 
-#: commands/extension.c:2494 commands/extension.c:2557
+#: commands/extension.c:2490 commands/extension.c:2553
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "расширение \"%s\" не поддерживает SET SCHEMA"
 
-#: commands/extension.c:2559
+#: commands/extension.c:2555
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "объект %s не принадлежит схеме расширения \"%s\""
 
-#: commands/extension.c:2612
+#: commands/extension.c:2608
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "вложенные операторы ALTER EXTENSION не поддерживаются"
 
-#: commands/extension.c:2703
+#: commands/extension.c:2699
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "версия \"%s\" расширения \"%s\" уже установлена"
 
-#: commands/extension.c:2942
+#: commands/extension.c:2938
 #, c-format
 msgid ""
 "cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
@@ -5732,7 +5984,7 @@ msgstr ""
 "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит "
 "расширение"
 
-#: commands/extension.c:2960
+#: commands/extension.c:2956
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s не относится к расширению \"%s\""
@@ -5838,174 +6090,184 @@ msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr ""
 "сопоставление пользователей \"%s\" не существует для сервера, пропускается"
 
-#: commands/functioncmds.c:99
+#: commands/functioncmds.c:98
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-функция не может возвращать тип-пустышку %s"
 
-#: commands/functioncmds.c:104
+#: commands/functioncmds.c:103
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "возвращаемый тип %s - лишь пустышка"
 
-#: commands/functioncmds.c:133 parser/parse_type.c:285
+#: commands/functioncmds.c:132 parser/parse_type.c:333
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "для типа-пустышки \"%s\" нельзя указать модификатор типа"
 
-#: commands/functioncmds.c:139
+#: commands/functioncmds.c:138
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "тип \"%s\" ещё не определён"
 
-#: commands/functioncmds.c:140
+#: commands/functioncmds.c:139
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Создание определения типа-пустышки."
 
-#: commands/functioncmds.c:224
+#: commands/functioncmds.c:236
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-функция не может принимать значение типа-пустышки %s"
 
-#: commands/functioncmds.c:229
+#: commands/functioncmds.c:242
+#, c-format
+msgid "aggregate cannot accept shell type %s"
+msgstr "агрегатная функция не может принимать значение типа-пустышки %s"
+
+#: commands/functioncmds.c:247
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "тип аргумента %s - лишь пустышка"
 
-#: commands/functioncmds.c:239
+#: commands/functioncmds.c:257
 #, c-format
 msgid "type %s does not exist"
 msgstr "тип %s не существует"
 
-#: commands/functioncmds.c:251
+#: commands/functioncmds.c:271
+#, c-format
+msgid "aggregates cannot accept set arguments"
+msgstr "агрегатные функции не принимают в аргументах множества"
+
+#: commands/functioncmds.c:275
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "функции не принимают аргументы-множества"
 
-#: commands/functioncmds.c:260
+#: commands/functioncmds.c:285
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "параметр VARIADIC должен быть последним в списке входных параметров"
 
-#: commands/functioncmds.c:287
+#: commands/functioncmds.c:313
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "параметр VARIADIC должен быть массивом"
 
-#: commands/functioncmds.c:327
+#: commands/functioncmds.c:353
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "имя параметра \"%s\" указано неоднократно"
 
-#: commands/functioncmds.c:342
+#: commands/functioncmds.c:368
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "значения по умолчанию могут быть только у входных параметров"
 
-#: commands/functioncmds.c:357
+#: commands/functioncmds.c:383
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "в значениях параметров по умолчанию нельзя ссылаться на таблицы"
 
-#: commands/functioncmds.c:381
+#: commands/functioncmds.c:407
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr ""
 "входные параметры, следующие за параметром со значением по умолчанию, также "
 "должны иметь значения по умолчанию"
 
-#: commands/functioncmds.c:631
+#: commands/functioncmds.c:657
 #, c-format
 msgid "no function body specified"
 msgstr "не указано тело функции"
 
-#: commands/functioncmds.c:641
+#: commands/functioncmds.c:667
 #, c-format
 msgid "no language specified"
 msgstr "язык не указан"
 
-#: commands/functioncmds.c:664 commands/functioncmds.c:1118
+#: commands/functioncmds.c:690 commands/functioncmds.c:1149
 #, c-format
 msgid "COST must be positive"
 msgstr "значение COST должно быть положительным"
 
-#: commands/functioncmds.c:672 commands/functioncmds.c:1126
+#: commands/functioncmds.c:698 commands/functioncmds.c:1157
 #, c-format
 msgid "ROWS must be positive"
 msgstr "значение ROWS должно быть положительным"
 
-#: commands/functioncmds.c:711
+#: commands/functioncmds.c:737
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "нераспознанный атрибут функции \"%s\" --- игнорируется"
 
-#: commands/functioncmds.c:762
+#: commands/functioncmds.c:788
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "для языка \"%s\" нужно только одно выражение AS"
 
-#: commands/functioncmds.c:850 commands/functioncmds.c:1703
+#: commands/functioncmds.c:877 commands/functioncmds.c:1734
 #: commands/proclang.c:553
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "язык \"%s\" не существует"
 
-#: commands/functioncmds.c:852 commands/functioncmds.c:1705
+#: commands/functioncmds.c:879 commands/functioncmds.c:1736
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Выполните CREATE LANGUAGE, чтобы загрузить язык в базу данных."
 
-#: commands/functioncmds.c:887 commands/functioncmds.c:1109
+#: commands/functioncmds.c:914 commands/functioncmds.c:1140
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr ""
 "только суперпользователь может определить функцию с атрибутом LEAKPROOF"
 
-#: commands/functioncmds.c:909
+#: commands/functioncmds.c:940
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr ""
 "результат функции должен иметь тип %s (в соответствии с параметрами OUT)"
 
-#: commands/functioncmds.c:922
+#: commands/functioncmds.c:953
 #, c-format
 msgid "function result type must be specified"
 msgstr "необходимо указать тип результата функции"
 
-#: commands/functioncmds.c:957 commands/functioncmds.c:1130
+#: commands/functioncmds.c:988 commands/functioncmds.c:1161
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "указание ROWS неприменимо, когда функция возвращает не множество"
 
-#: commands/functioncmds.c:1283
+#: commands/functioncmds.c:1314
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "исходный тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1289
+#: commands/functioncmds.c:1320
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "целевой тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1313
+#: commands/functioncmds.c:1344
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как исходные данные имеют тип домен"
 
-#: commands/functioncmds.c:1318
+#: commands/functioncmds.c:1349
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как целевые данные имеют тип домен"
 
-#: commands/functioncmds.c:1345
+#: commands/functioncmds.c:1376
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "функция преобразования должна принимать от одного до трёх аргументов"
 
-#: commands/functioncmds.c:1349
+#: commands/functioncmds.c:1380
 #, c-format
 msgid ""
 "argument of cast function must match or be binary-coercible from source data "
@@ -6014,17 +6276,17 @@ msgstr ""
 "аргумент функции преобразования должен совпадать или быть двоично-совместим "
 "с исходным типом данных"
 
-#: commands/functioncmds.c:1353
+#: commands/functioncmds.c:1384
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "второй аргумент функции преобразования должен быть целого типа"
 
-#: commands/functioncmds.c:1357
+#: commands/functioncmds.c:1388
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "третий аргумент функции преобразования должен быть логического типа"
 
-#: commands/functioncmds.c:1361
+#: commands/functioncmds.c:1392
 #, c-format
 msgid ""
 "return data type of cast function must match or be binary-coercible to "
@@ -6033,189 +6295,189 @@ msgstr ""
 "тип возвращаемых данных функции преобразования должен совпадать или быть "
 "двоично-совместим с целевым типом данных"
 
-#: commands/functioncmds.c:1372
+#: commands/functioncmds.c:1403
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "функция преобразования не может быть изменчивой (volatile)"
 
-#: commands/functioncmds.c:1377
+#: commands/functioncmds.c:1408
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "функция преобразования не может быть агрегатной"
 
-#: commands/functioncmds.c:1381
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "функция преобразования не может быть оконной"
 
-#: commands/functioncmds.c:1385
+#: commands/functioncmds.c:1416
 #, c-format
 msgid "cast function must not return a set"
 msgstr "функция преобразования не может возвращать множество"
 
-#: commands/functioncmds.c:1411
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr ""
 "для создания преобразования WITHOUT FUNCTION нужно быть суперпользователем"
 
-#: commands/functioncmds.c:1426
+#: commands/functioncmds.c:1457
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "исходный и целевой типы данных не совместимы физически"
 
-#: commands/functioncmds.c:1441
+#: commands/functioncmds.c:1472
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "составные типы данных не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1447
+#: commands/functioncmds.c:1478
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "типы-перечисления не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1453
+#: commands/functioncmds.c:1484
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "типы-массивы не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1470
+#: commands/functioncmds.c:1501
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "типы-домены не могут считаться двоично-совместимыми"
 
-#: commands/functioncmds.c:1480
+#: commands/functioncmds.c:1511
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "исходный тип данных совпадает с целевым"
 
-#: commands/functioncmds.c:1513
+#: commands/functioncmds.c:1544
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "преобразование типа %s в тип %s уже существует"
 
-#: commands/functioncmds.c:1588
+#: commands/functioncmds.c:1619
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "преобразование типа %s в тип %s не существует"
 
-#: commands/functioncmds.c:1637
+#: commands/functioncmds.c:1668
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "функция %s уже существует в схеме \"%s\""
 
-#: commands/functioncmds.c:1690
+#: commands/functioncmds.c:1721
 #, c-format
 msgid "no inline code specified"
 msgstr "нет внедрённого кода"
 
-#: commands/functioncmds.c:1735
+#: commands/functioncmds.c:1766
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:487
-#: commands/opclasscmds.c:364 commands/opclasscmds.c:784
-#: commands/opclasscmds.c:1743
+#: commands/indexcmds.c:159 commands/indexcmds.c:486
+#: commands/opclasscmds.c:370 commands/opclasscmds.c:790
+#: commands/opclasscmds.c:1749
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "метод доступа \"%s\" не существует"
 
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:340
 #, c-format
 msgid "must specify at least one column"
 msgstr "нужно указать минимум одну колонку"
 
-#: commands/indexcmds.c:345
+#: commands/indexcmds.c:344
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "число колонок в индексе не может превышать %d"
 
-#: commands/indexcmds.c:376
+#: commands/indexcmds.c:375
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "создать индекс в сторонней таблице \"%s\" нельзя"
 
-#: commands/indexcmds.c:391
+#: commands/indexcmds.c:390
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "создавать индексы во временных таблицах других сеансов нельзя"
 
-#: commands/indexcmds.c:446 commands/tablecmds.c:521 commands/tablecmds.c:8809
+#: commands/indexcmds.c:445 commands/tablecmds.c:524 commands/tablecmds.c:9100
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr ""
 "в табличное пространство pg_global можно поместить только разделяемые таблицы"
 
-#: commands/indexcmds.c:479
+#: commands/indexcmds.c:478
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "устаревший метод доступа \"rtree\" подменяется методом \"gist\""
 
-#: commands/indexcmds.c:496
+#: commands/indexcmds.c:495
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "метод доступа \"%s\" не поддерживает уникальные индексы"
 
-#: commands/indexcmds.c:501
+#: commands/indexcmds.c:500
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "метод доступа \"%s\" не поддерживает индексы по многим колонкам"
 
-#: commands/indexcmds.c:506
+#: commands/indexcmds.c:505
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "метод доступа \"%s\" не поддерживает ограничения-исключения"
 
-#: commands/indexcmds.c:585
+#: commands/indexcmds.c:584
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s создаст неявный индекс \"%s\" для таблицы \"%s\""
 
-#: commands/indexcmds.c:941
+#: commands/indexcmds.c:922
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1007 parser/parse_utilcmd.c:1802
+#: commands/indexcmds.c:988 parser/parse_utilcmd.c:1797
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "указанная в ключе колонка \"%s\" не существует"
 
-#: commands/indexcmds.c:1067
+#: commands/indexcmds.c:1048
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "функции в индексном выражении должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1090
+#: commands/indexcmds.c:1071
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "не удалось определить правило сравнения для индексного выражения"
 
-#: commands/indexcmds.c:1098 commands/typecmds.c:780 parser/parse_expr.c:2261
-#: parser/parse_type.c:499 parser/parse_utilcmd.c:2653 utils/adt/misc.c:527
+#: commands/indexcmds.c:1079 commands/typecmds.c:782 parser/parse_expr.c:2278
+#: parser/parse_type.c:546 parser/parse_utilcmd.c:2648 utils/adt/misc.c:520
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "тип %s не поддерживает сортировку (COLLATION)"
 
-#: commands/indexcmds.c:1136
+#: commands/indexcmds.c:1117
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "оператор %s не коммутативен"
 
-#: commands/indexcmds.c:1138
+#: commands/indexcmds.c:1119
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr ""
 "В ограничениях-исключениях могут использоваться только коммутативные "
 "операторы."
 
-#: commands/indexcmds.c:1164
+#: commands/indexcmds.c:1145
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "оператор \"%s\" не входит в семейство операторов \"%s\""
 
-#: commands/indexcmds.c:1167
+#: commands/indexcmds.c:1148
 #, c-format
 msgid ""
 "The exclusion operator must be related to the index operator class for the "
@@ -6224,24 +6486,24 @@ msgstr ""
 "Оператор исключения для ограничения должен относиться к классу операторов "
 "индекса."
 
-#: commands/indexcmds.c:1202
+#: commands/indexcmds.c:1183
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "метод доступа \"%s\" не поддерживает сортировку ASC/DESC"
 
-#: commands/indexcmds.c:1207
+#: commands/indexcmds.c:1188
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "метод доступа \"%s\" не поддерживает параметр NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1263 commands/typecmds.c:1885
+#: commands/indexcmds.c:1244 commands/typecmds.c:1887
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 "для типа данных %s не определён класс операторов по умолчанию для метода "
 "доступа \"%s\""
 
-#: commands/indexcmds.c:1265
+#: commands/indexcmds.c:1246
 #, c-format
 msgid ""
 "You must specify an operator class for the index or define a default "
@@ -6250,200 +6512,237 @@ msgstr ""
 "Вы должны указать класс операторов для индекса или определить класс "
 "операторов по умолчанию для этого типа данных."
 
-#: commands/indexcmds.c:1294 commands/indexcmds.c:1302
-#: commands/opclasscmds.c:208
+#: commands/indexcmds.c:1275 commands/indexcmds.c:1283
+#: commands/opclasscmds.c:214
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/indexcmds.c:1315 commands/typecmds.c:1873
+#: commands/indexcmds.c:1296 commands/typecmds.c:1875
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "класс операторов \"%s\" не принимает тип данных %s"
 
-#: commands/indexcmds.c:1405
+#: commands/indexcmds.c:1386
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 "для типа данных %s определено несколько классов операторов по умолчанию"
 
-#: commands/indexcmds.c:1781
+#: commands/indexcmds.c:1762
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "таблица \"%s\" не имеет индексов"
 
-#: commands/indexcmds.c:1811
+#: commands/indexcmds.c:1792
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "переиндексировать можно только текущую базу данных"
 
-#: commands/indexcmds.c:1899
+#: commands/indexcmds.c:1881
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "таблица \"%s.%s\" переиндексирована"
 
-#: commands/opclasscmds.c:132
+#: commands/matview.c:174
+#, c-format
+msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
+msgstr ""
+"CONCURRENTLY нельзя использовать, когда материализованное представление не "
+"наполнено"
+
+#: commands/matview.c:180
+#, c-format
+msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
+msgstr "параметры CONCURRENTLY и WITH NO DATA исключают друг друга"
+
+#: commands/matview.c:584
+#, c-format
+msgid "new data for \"%s\" contains duplicate rows without any NULL columns"
+msgstr ""
+"новые данные для \"%s\" содержат дублирующиеся строки без колонок с NULL"
+
+#: commands/matview.c:586
+#, c-format
+msgid "Row: %s"
+msgstr "Строка: %s"
+
+#: commands/matview.c:671
+#, c-format
+msgid "cannot refresh materialized view \"%s\" concurrently"
+msgstr "обновить материализованное представление \"%s\" параллельно нельзя"
+
+#: commands/matview.c:673
+#, c-format
+msgid ""
+"Create a UNIQUE index with no WHERE clause on one or more columns of the "
+"materialized view."
+msgstr ""
+"Создайте уникальный индекс без предложения WHERE для одной или нескольких "
+"колонок материализованного представления."
+
+#: commands/opclasscmds.c:135
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/opclasscmds.c:267
+#: commands/opclasscmds.c:273
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:403
+#: commands/opclasscmds.c:409
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "для создания класса операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:474 commands/opclasscmds.c:860
-#: commands/opclasscmds.c:990
+#: commands/opclasscmds.c:480 commands/opclasscmds.c:866
+#: commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "неверный номер оператора (%d), должен быть между 1 и %d"
 
-#: commands/opclasscmds.c:525 commands/opclasscmds.c:911
-#: commands/opclasscmds.c:1005
+#: commands/opclasscmds.c:531 commands/opclasscmds.c:917
+#: commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "неверный номер процедуры (%d), должен быть между 1 и %d"
 
-#: commands/opclasscmds.c:555
+#: commands/opclasscmds.c:561
 #, c-format
 msgid "storage type specified more than once"
 msgstr "тип хранения указан неоднократно"
 
-#: commands/opclasscmds.c:582
+#: commands/opclasscmds.c:588
 #, c-format
 msgid ""
 "storage type cannot be different from data type for access method \"%s\""
 msgstr ""
 "тип хранения не может отличаться от типа данных для метода доступа \"%s\""
 
-#: commands/opclasscmds.c:598
+#: commands/opclasscmds.c:604
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:626
+#: commands/opclasscmds.c:632
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr ""
 "класс операторов \"%s\" не удалось сделать классом по умолчанию для типа %s"
 
-#: commands/opclasscmds.c:629
+#: commands/opclasscmds.c:635
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Класс операторов \"%s\" уже является классом по умолчанию."
 
-#: commands/opclasscmds.c:754
+#: commands/opclasscmds.c:760
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "для создания семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:810
+#: commands/opclasscmds.c:816
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "для изменения семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:876
+#: commands/opclasscmds.c:882
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY должны быть указаны типы аргументов оператора"
 
-#: commands/opclasscmds.c:940
+#: commands/opclasscmds.c:946
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY нельзя указать STORAGE"
 
-#: commands/opclasscmds.c:1056
+#: commands/opclasscmds.c:1062
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "нужно указать один или два типа аргументов"
 
-#: commands/opclasscmds.c:1082
+#: commands/opclasscmds.c:1088
 #, c-format
 msgid "index operators must be binary"
 msgstr "индексные операторы должны быть бинарными"
 
-#: commands/opclasscmds.c:1107
+#: commands/opclasscmds.c:1113
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "метод доступа \"%s\" не поддерживает сортирующие операторы"
 
-#: commands/opclasscmds.c:1120
+#: commands/opclasscmds.c:1126
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "операторы поиска по индексу должны возвращать логическое значение"
 
-#: commands/opclasscmds.c:1162
+#: commands/opclasscmds.c:1168
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "процедуры сравнения btree должны иметь два аргумента"
 
-#: commands/opclasscmds.c:1166
+#: commands/opclasscmds.c:1172
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "процедуры сравнения btree должны возвращать целое число"
 
-#: commands/opclasscmds.c:1183
+#: commands/opclasscmds.c:1189
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "процедуры поддержки сортировки btree должны принимать тип \"internal\""
 
-#: commands/opclasscmds.c:1187
+#: commands/opclasscmds.c:1193
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "процедуры поддержки сортировки btree должны возвращать пустое (void)"
 
-#: commands/opclasscmds.c:1199
+#: commands/opclasscmds.c:1205
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "у хэш-процедур должен быть один аргумент"
 
-#: commands/opclasscmds.c:1203
+#: commands/opclasscmds.c:1209
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "хэш-процедуры должны возвращать целое число"
 
-#: commands/opclasscmds.c:1227
+#: commands/opclasscmds.c:1233
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr ""
 "для процедуры поддержки индексов должны быть указаны связанные типы данных"
 
-#: commands/opclasscmds.c:1252
+#: commands/opclasscmds.c:1258
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "номер процедуры %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1259
+#: commands/opclasscmds.c:1265
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "номер оператора %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1308
+#: commands/opclasscmds.c:1314
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "оператор %d(%s,%s) уже существует в семействе \"%s\""
 
-#: commands/opclasscmds.c:1424
+#: commands/opclasscmds.c:1430
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "функция %d(%s,%s) уже существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1514
+#: commands/opclasscmds.c:1520
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "оператор %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1554
+#: commands/opclasscmds.c:1560
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "функция %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1699
+#: commands/opclasscmds.c:1705
 #, c-format
 msgid ""
 "operator class \"%s\" for access method \"%s\" already exists in schema \"%s"
@@ -6452,7 +6751,7 @@ msgstr ""
 "класс операторов \"%s\" для метода доступа \"%s\" уже существует в схеме \"%s"
 "\""
 
-#: commands/opclasscmds.c:1722
+#: commands/opclasscmds.c:1728
 #, c-format
 msgid ""
 "operator family \"%s\" for access method \"%s\" already exists in schema \"%s"
@@ -6509,7 +6808,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "имя курсора не может быть пустым"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2395 utils/adt/xml.c:2562
+#: executor/execCurrent.c:67 utils/adt/xml.c:2386 utils/adt/xml.c:2553
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "курсор \"%s\" не существует"
@@ -6519,7 +6818,7 @@ msgstr "курсор \"%s\" не существует"
 msgid "portal \"%s\" cannot be run"
 msgstr "портал \"%s\" не может быть запущен"
 
-#: commands/portalcmds.c:415
+#: commands/portalcmds.c:411
 #, c-format
 msgid "could not reposition held cursor"
 msgstr "передвинуть сохранённый курсор не удалось"
@@ -6529,7 +6828,7 @@ msgstr "передвинуть сохранённый курсор не удал
 msgid "invalid statement name: must not be empty"
 msgstr "неверный оператор: имя не должно быть пустым"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1299
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1296
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "не удалось определить тип данных параметра $%d"
@@ -6644,103 +6943,97 @@ msgstr ""
 msgid "security label provider \"%s\" is not loaded"
 msgstr "поставщик меток безопасности \"%s\" не загружен"
 
-#: commands/sequence.c:127
+#: commands/sequence.c:123
 #, c-format
 msgid "unlogged sequences are not supported"
 msgstr "нежурналируемые последовательности не поддерживаются"
 
-#: commands/sequence.c:425 commands/tablecmds.c:2293 commands/tablecmds.c:2472
-#: commands/tablecmds.c:9938 tcop/utility.c:999
-#, c-format
-msgid "relation \"%s\" does not exist, skipping"
-msgstr "отношение \"%s\" не существует, пропускается"
-
-#: commands/sequence.c:643
+#: commands/sequence.c:618
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "функция nextval достигла максимума для последовательности \"%s\" (%s)"
 
-#: commands/sequence.c:666
+#: commands/sequence.c:641
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "функция nextval достигла минимума для последовательности \"%s\" (%s)"
 
-#: commands/sequence.c:779
+#: commands/sequence.c:754
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr ""
 "текущее значение (currval) для последовательности \"%s\" ещё не определено в "
 "этом сеансе"
 
-#: commands/sequence.c:798 commands/sequence.c:804
+#: commands/sequence.c:773 commands/sequence.c:779
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "последнее значение (lastval) ещё не определено в этом сеансе"
 
-#: commands/sequence.c:873
+#: commands/sequence.c:848
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr ""
 "setval передано значение %s вне пределов последовательности \"%s\" (%s..%s)"
 
-#: commands/sequence.c:1242
+#: commands/sequence.c:1224
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT не может быть нулевым"
 
-#: commands/sequence.c:1298
+#: commands/sequence.c:1280
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) должно быть меньше MAXVALUE (%s)"
 
-#: commands/sequence.c:1323
+#: commands/sequence.c:1305
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "значение START (%s) не может быть меньше MINVALUE (%s)"
 
-#: commands/sequence.c:1335
+#: commands/sequence.c:1317
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "значение START (%s) не может быть больше MAXVALUE (%s)"
 
-#: commands/sequence.c:1365
+#: commands/sequence.c:1347
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "значение RESTART (%s) не может быть меньше MINVALUE (%s)"
 
-#: commands/sequence.c:1377
+#: commands/sequence.c:1359
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "значение RESTART (%s) не может быть больше MAXVALUE (%s)"
 
-#: commands/sequence.c:1392
+#: commands/sequence.c:1374
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "значение CACHE (%s) должно быть больше нуля"
 
-#: commands/sequence.c:1424
+#: commands/sequence.c:1406
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "неверное указание OWNED BY"
 
-#: commands/sequence.c:1425
+#: commands/sequence.c:1407
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Укажите OWNED BY таблица.колонка или OWNED BY NONE."
 
-#: commands/sequence.c:1448
+#: commands/sequence.c:1430
 #, c-format
 msgid "referenced relation \"%s\" is not a table or foreign table"
 msgstr "указанный объект \"%s\" не является таблицей или сторонней таблицей"
 
-#: commands/sequence.c:1455
+#: commands/sequence.c:1437
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr ""
 "последовательность должна иметь того же владельца, что и таблица, с которой "
 "она связана"
 
-#: commands/sequence.c:1459
+#: commands/sequence.c:1441
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr ""
@@ -6805,7 +7098,7 @@ msgstr ""
 "Выполните DROP MATERIALIZED VIEW для удаления материализованного "
 "представления."
 
-#: commands/tablecmds.c:229 parser/parse_utilcmd.c:1553
+#: commands/tablecmds.c:229 parser/parse_utilcmd.c:1548
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "индекс \"%s\" не существует"
@@ -6828,8 +7121,8 @@ msgstr "\"%s\" - это не тип"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Выполните DROP TYPE для удаления типа."
 
-#: commands/tablecmds.c:241 commands/tablecmds.c:7820
-#: commands/tablecmds.c:9870
+#: commands/tablecmds.c:241 commands/tablecmds.c:8075
+#: commands/tablecmds.c:10386
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "сторонняя таблица \"%s\" не существует"
@@ -6843,87 +7136,87 @@ msgstr "сторонняя таблица \"%s\" не существует, пр
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы."
 
-#: commands/tablecmds.c:465
+#: commands/tablecmds.c:468
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT можно использовать только для временных таблиц"
 
-#: commands/tablecmds.c:469 parser/parse_utilcmd.c:528
-#: parser/parse_utilcmd.c:539 parser/parse_utilcmd.c:556
-#: parser/parse_utilcmd.c:618
+#: commands/tablecmds.c:472 parser/parse_utilcmd.c:521
+#: parser/parse_utilcmd.c:532 parser/parse_utilcmd.c:549
+#: parser/parse_utilcmd.c:611
 #, c-format
 msgid "constraints are not supported on foreign tables"
 msgstr "ограничения для сторонних таблиц не поддерживаются"
 
-#: commands/tablecmds.c:489
+#: commands/tablecmds.c:492
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr ""
 "в рамках операции с ограничениями по безопасности нельзя создать временную "
 "таблицу"
 
-#: commands/tablecmds.c:765
+#: commands/tablecmds.c:788
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов"
 
-#: commands/tablecmds.c:769
+#: commands/tablecmds.c:792
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE"
 
-#: commands/tablecmds.c:914 commands/tablecmds.c:1252
-#: commands/tablecmds.c:2108 commands/tablecmds.c:3999
-#: commands/tablecmds.c:5828 commands/tablecmds.c:10483
-#: commands/tablecmds.c:10518 commands/trigger.c:207 commands/trigger.c:1092
-#: commands/trigger.c:1198 rewrite/rewriteDefine.c:274
-#: rewrite/rewriteDefine.c:867
+#: commands/tablecmds.c:937 commands/tablecmds.c:1275
+#: commands/tablecmds.c:2132 commands/tablecmds.c:4111
+#: commands/tablecmds.c:5941 commands/tablecmds.c:10999
+#: commands/tablecmds.c:11034 commands/trigger.c:232 commands/trigger.c:1118
+#: commands/trigger.c:1226 rewrite/rewriteDefine.c:271
+#: rewrite/rewriteDefine.c:887
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "доступ запрещён: \"%s\" - это системный каталог"
 
-#: commands/tablecmds.c:1028
+#: commands/tablecmds.c:1051
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "удаление распространяется на таблицу %s"
 
-#: commands/tablecmds.c:1262
+#: commands/tablecmds.c:1285
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "временные таблицы других сеансов нельзя очистить"
 
-#: commands/tablecmds.c:1467 parser/parse_utilcmd.c:1765
+#: commands/tablecmds.c:1490 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "наследованное отношение \"%s\" не является таблицей"
 
-#: commands/tablecmds.c:1474 commands/tablecmds.c:9055
+#: commands/tablecmds.c:1497 commands/tablecmds.c:9360
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "временное отношение \"%s\" не может наследоваться"
 
-#: commands/tablecmds.c:1482 commands/tablecmds.c:9063
+#: commands/tablecmds.c:1505 commands/tablecmds.c:9368
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "наследование от временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:1498 commands/tablecmds.c:9097
+#: commands/tablecmds.c:1521 commands/tablecmds.c:9402
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "отношение \"%s\" наследуется неоднократно"
 
-#: commands/tablecmds.c:1546
+#: commands/tablecmds.c:1569
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "слияние нескольких наследованных определений колонки \"%s\""
 
-#: commands/tablecmds.c:1554
+#: commands/tablecmds.c:1577
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "конфликт типов в наследованной колонке \"%s\""
 
-#: commands/tablecmds.c:1556 commands/tablecmds.c:1577
-#: commands/tablecmds.c:1764 commands/tablecmds.c:1786
+#: commands/tablecmds.c:1579 commands/tablecmds.c:1600
+#: commands/tablecmds.c:1788 commands/tablecmds.c:1810
 #: parser/parse_coerce.c:1592 parser/parse_coerce.c:1612
 #: parser/parse_coerce.c:1632 parser/parse_coerce.c:1677
 #: parser/parse_coerce.c:1714 parser/parse_param.c:218
@@ -6931,64 +7224,64 @@ msgstr "конфликт типов в наследованной колонке
 msgid "%s versus %s"
 msgstr "%s и %s"
 
-#: commands/tablecmds.c:1563
+#: commands/tablecmds.c:1586
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "конфликт правил сортировки в наследованной колонке \"%s\""
 
-#: commands/tablecmds.c:1565 commands/tablecmds.c:1774
-#: commands/tablecmds.c:4423
+#: commands/tablecmds.c:1588 commands/tablecmds.c:1798
+#: commands/tablecmds.c:4535
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "\"%s\" и \"%s\""
 
-#: commands/tablecmds.c:1575
+#: commands/tablecmds.c:1598
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "конфликт параметров хранения в наследованной колонке \"%s\""
 
-#: commands/tablecmds.c:1687 parser/parse_utilcmd.c:859
-#: parser/parse_utilcmd.c:1200 parser/parse_utilcmd.c:1276
+#: commands/tablecmds.c:1711 parser/parse_utilcmd.c:853
+#: parser/parse_utilcmd.c:1195 parser/parse_utilcmd.c:1271
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "преобразовать ссылку на тип всей строки таблицы нельзя"
 
-#: commands/tablecmds.c:1688 parser/parse_utilcmd.c:860
+#: commands/tablecmds.c:1712 parser/parse_utilcmd.c:854
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Ограничение \"%s\" ссылается на тип всей строки в таблице \"%s\"."
 
-#: commands/tablecmds.c:1754
+#: commands/tablecmds.c:1778
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "слияние колонки \"%s\" с наследованным определением"
 
-#: commands/tablecmds.c:1762
+#: commands/tablecmds.c:1786
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "конфликт типов в колонке \"%s\""
 
-#: commands/tablecmds.c:1772
+#: commands/tablecmds.c:1796
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "конфликт правил сортировки в колонке \"%s\""
 
-#: commands/tablecmds.c:1784
+#: commands/tablecmds.c:1808
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "конфликт параметров хранения в колонке \"%s\""
 
-#: commands/tablecmds.c:1836
+#: commands/tablecmds.c:1860
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "колонка \"%s\" наследует конфликтующие значения по умолчанию"
 
-#: commands/tablecmds.c:1838
+#: commands/tablecmds.c:1862
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Для решения конфликта укажите желаемое значение по умолчанию."
 
-#: commands/tablecmds.c:1885
+#: commands/tablecmds.c:1909
 #, c-format
 msgid ""
 "check constraint name \"%s\" appears multiple times but with different "
@@ -6997,12 +7290,12 @@ msgstr ""
 "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными "
 "выражениями"
 
-#: commands/tablecmds.c:2079
+#: commands/tablecmds.c:2103
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "переименовать колонку типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:2096
+#: commands/tablecmds.c:2120
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, index, or "
@@ -7011,37 +7304,37 @@ msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление, "
 "составной тип, индекс или сторонняя таблица"
 
-#: commands/tablecmds.c:2188
+#: commands/tablecmds.c:2212
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследованная колонка \"%s\" должна быть также переименована в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:2220
+#: commands/tablecmds.c:2244
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "нельзя переименовать системную колонку \"%s\""
 
-#: commands/tablecmds.c:2235
+#: commands/tablecmds.c:2259
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "нельзя переименовать наследованную колонку \"%s\""
 
-#: commands/tablecmds.c:2382
+#: commands/tablecmds.c:2406
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:2389
+#: commands/tablecmds.c:2413
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "нельзя переименовать наследованное ограничение \"%s\""
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2600
+#: commands/tablecmds.c:2627
 #, c-format
 msgid ""
 "cannot %s \"%s\" because it is being used by active queries in this session"
@@ -7050,73 +7343,77 @@ msgstr ""
 "запросами в данном сеансе"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2609
+#: commands/tablecmds.c:2636
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr ""
 "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные "
 "события триггеров"
 
-#: commands/tablecmds.c:3510
+#: commands/tablecmds.c:3606
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "перезаписать системное отношение \"%s\" нельзя"
 
-#: commands/tablecmds.c:3520
+#: commands/tablecmds.c:3612
+#, c-format
+msgid "cannot rewrite table \"%s\" used as a catalog table"
+msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя"
+
+#: commands/tablecmds.c:3622
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "перезаписывать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:3749
+#: commands/tablecmds.c:3853
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "перезапись таблицы \"%s\""
 
-#: commands/tablecmds.c:3753
+#: commands/tablecmds.c:3857
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "проверка таблицы \"%s\""
 
-#: commands/tablecmds.c:3860
+#: commands/tablecmds.c:3971
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "колонка \"%s\" содержит значения NULL"
 
-#: commands/tablecmds.c:3875 commands/tablecmds.c:6733
+#: commands/tablecmds.c:3986 commands/tablecmds.c:6984
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "ограничение-проверку \"%s\" нарушает некоторая строка"
 
-#: commands/tablecmds.c:4020 commands/trigger.c:201 commands/trigger.c:1086
-#: commands/trigger.c:1190 rewrite/rewriteDefine.c:268
-#: rewrite/rewriteDefine.c:862
+#: commands/tablecmds.c:4132 commands/trigger.c:226
+#: rewrite/rewriteDefine.c:265 rewrite/rewriteDefine.c:882
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "\"%s\" - это не таблица и не представление"
 
-#: commands/tablecmds.c:4023
+#: commands/tablecmds.c:4135
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление или "
 "индекс"
 
-#: commands/tablecmds.c:4029
+#: commands/tablecmds.c:4141
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "\"%s\" - это не таблица, материализованное представление или индекс"
 
-#: commands/tablecmds.c:4032
+#: commands/tablecmds.c:4144
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "\"%s\" - это не таблица и не сторонняя таблица"
 
-#: commands/tablecmds.c:4035
+#: commands/tablecmds.c:4147
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "\"%s\" - это не таблица, составной тип или сторонняя таблица"
 
-#: commands/tablecmds.c:4038
+#: commands/tablecmds.c:4150
 #, c-format
 msgid ""
 "\"%s\" is not a table, materialized view, composite type, or foreign table"
@@ -7124,18 +7421,18 @@ msgstr ""
 "\"%s\" - это не таблица, материализованное представление, составной тип или "
 "сторонняя таблица"
 
-#: commands/tablecmds.c:4048
+#: commands/tablecmds.c:4160
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "неправильный тип \"%s\""
 
-#: commands/tablecmds.c:4198 commands/tablecmds.c:4205
+#: commands/tablecmds.c:4310 commands/tablecmds.c:4317
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr ""
 "изменить тип \"%s\" нельзя, так как он задействован в колонке \"%s.%s\""
 
-#: commands/tablecmds.c:4212
+#: commands/tablecmds.c:4324
 #, c-format
 msgid ""
 "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
@@ -7143,150 +7440,150 @@ msgstr ""
 "изменить стороннюю таблицу \"%s\" нельзя, так как колонка \"%s.%s\" "
 "задействует тип её строки"
 
-#: commands/tablecmds.c:4219
+#: commands/tablecmds.c:4331
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr ""
 "изменить таблицу \"%s\" нельзя, так как колонка \"%s.%s\" задействует тип её "
 "строки"
 
-#: commands/tablecmds.c:4281
+#: commands/tablecmds.c:4393
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "изменить тип \"%s\", так как это тип типизированной таблицы"
 
-#: commands/tablecmds.c:4283
+#: commands/tablecmds.c:4395
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr ""
 "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE."
 
-#: commands/tablecmds.c:4327
+#: commands/tablecmds.c:4439
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "тип %s не является составным"
 
-#: commands/tablecmds.c:4353
+#: commands/tablecmds.c:4465
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "добавить колонку в типизированную таблицу нельзя"
 
-#: commands/tablecmds.c:4415 commands/tablecmds.c:9251
+#: commands/tablecmds.c:4527 commands/tablecmds.c:9556
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "дочерняя таблица \"%s\" имеет другой тип для колонки \"%s\""
 
-#: commands/tablecmds.c:4421 commands/tablecmds.c:9258
+#: commands/tablecmds.c:4533 commands/tablecmds.c:9563
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" имеет другое правило сортировки для колонки \"%s\""
 
-#: commands/tablecmds.c:4431
+#: commands/tablecmds.c:4543
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "дочерняя таблица \"%s\" содержит конфликтующую колонку \"%s\""
 
-#: commands/tablecmds.c:4443
+#: commands/tablecmds.c:4555
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "объединение определений колонки \"%s\" для потомка \"%s\""
 
-#: commands/tablecmds.c:4664
+#: commands/tablecmds.c:4776
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "колонка также должна быть добавлена к дочерним таблицам"
 
-#: commands/tablecmds.c:4731
+#: commands/tablecmds.c:4843
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "колонка \"%s\" отношения \"%s\" уже существует"
 
-#: commands/tablecmds.c:4834 commands/tablecmds.c:4929
-#: commands/tablecmds.c:4977 commands/tablecmds.c:5081
-#: commands/tablecmds.c:5128 commands/tablecmds.c:5212
-#: commands/tablecmds.c:7247 commands/tablecmds.c:7842
+#: commands/tablecmds.c:4947 commands/tablecmds.c:5042
+#: commands/tablecmds.c:5090 commands/tablecmds.c:5194
+#: commands/tablecmds.c:5241 commands/tablecmds.c:5325
+#: commands/tablecmds.c:7502 commands/tablecmds.c:8097
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "системную колонку \"%s\" нельзя изменить"
 
-#: commands/tablecmds.c:4870
+#: commands/tablecmds.c:4983
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "колонка \"%s\" входит в первичный ключ"
 
-#: commands/tablecmds.c:5028
+#: commands/tablecmds.c:5141
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr ""
 "\"%s\" - это не таблица, материализованное представление, индекс или "
 "сторонняя таблица"
 
-#: commands/tablecmds.c:5055
+#: commands/tablecmds.c:5168
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "целевое значение статистики слишком мало (%d)"
 
-#: commands/tablecmds.c:5063
+#: commands/tablecmds.c:5176
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "целевое значение статистики снижается до %d"
 
-#: commands/tablecmds.c:5193
+#: commands/tablecmds.c:5306
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "неверный тип хранилища \"%s\""
 
-#: commands/tablecmds.c:5224
+#: commands/tablecmds.c:5337
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "тип данных колонки %s совместим только с хранилищем PLAIN"
 
-#: commands/tablecmds.c:5258
+#: commands/tablecmds.c:5371
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "нельзя удалить колонку в типизированной таблице"
 
-#: commands/tablecmds.c:5299
+#: commands/tablecmds.c:5412
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "колонка \"%s\" в таблице\"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:5312
+#: commands/tablecmds.c:5425
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "нельзя удалить системную колонку \"%s\""
 
-#: commands/tablecmds.c:5319
+#: commands/tablecmds.c:5432
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "нельзя удалить наследованную колонку \"%s\""
 
-#: commands/tablecmds.c:5549
+#: commands/tablecmds.c:5662
 #, 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:5752
+#: commands/tablecmds.c:5865
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "ограничение также должно быть добавлено к дочерним таблицам"
 
-#: commands/tablecmds.c:5822
+#: commands/tablecmds.c:5935
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "указанный объект \"%s\" не является таблицей"
 
-#: commands/tablecmds.c:5845
+#: commands/tablecmds.c:5958
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr ""
 "ограничения в постоянных таблицах могут ссылаться только на постоянные "
 "таблицы"
 
-#: commands/tablecmds.c:5852
+#: commands/tablecmds.c:5965
 #, c-format
 msgid ""
 "constraints on unlogged tables may reference only permanent or unlogged "
@@ -7295,13 +7592,13 @@ msgstr ""
 "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные "
 "или нежурналируемые таблицы"
 
-#: commands/tablecmds.c:5858
+#: commands/tablecmds.c:5971
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr ""
 "ограничения во временных таблицах могут ссылаться только на временные таблицы"
 
-#: commands/tablecmds.c:5862
+#: commands/tablecmds.c:5975
 #, c-format
 msgid ""
 "constraints on temporary tables must involve temporary tables of this session"
@@ -7309,28 +7606,33 @@ msgstr ""
 "ограничения во временных таблицах должны ссылаться только на временные "
 "таблицы текущего сеанса"
 
-#: commands/tablecmds.c:5923
+#: commands/tablecmds.c:6036
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "число колонок в источнике и назначении внешнего ключа не совпадает"
 
-#: commands/tablecmds.c:6030
+#: commands/tablecmds.c:6143
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать"
 
-#: commands/tablecmds.c:6033
+#: commands/tablecmds.c:6146
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Колонки ключа \"%s\" и \"%s\" имеют несовместимые типы: %s и %s."
 
-#: commands/tablecmds.c:6227 commands/tablecmds.c:7086
-#: commands/tablecmds.c:7142
+#: commands/tablecmds.c:6346 commands/tablecmds.c:6469
+#: commands/tablecmds.c:7341 commands/tablecmds.c:7397
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует"
 
-#: commands/tablecmds.c:6234
+#: commands/tablecmds.c:6352
+#, c-format
+msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
+msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом"
+
+#: commands/tablecmds.c:6476
 #, c-format
 msgid ""
 "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
@@ -7338,41 +7640,46 @@ msgstr ""
 "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или "
 "ограничением-проверкой"
 
-#: commands/tablecmds.c:6303
+#: commands/tablecmds.c:6545
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "ограничение также должно соблюдаться в дочерних таблицах"
 
-#: commands/tablecmds.c:6365
+#: commands/tablecmds.c:6607
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "колонка \"%s\", указанная в ограничении внешнего ключа, не существует"
 
-#: commands/tablecmds.c:6370
+#: commands/tablecmds.c:6612
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "во внешнем ключе не может быть больше %d колонок"
 
-#: commands/tablecmds.c:6435
+#: commands/tablecmds.c:6677
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr ""
 "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" "
 "нельзя"
 
-#: commands/tablecmds.c:6452
+#: commands/tablecmds.c:6694
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "в целевой внешней таблице \"%s\" нет первичного ключа"
 
-#: commands/tablecmds.c:6604
+#: commands/tablecmds.c:6759
+#, c-format
+msgid "foreign key referenced-columns list must not contain duplicates"
+msgstr "в списке колонок внешнего ключа не должно быть повторений"
+
+#: commands/tablecmds.c:6853
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr ""
 "использовать откладываемое ограничение уникальности в целевой внешней "
 "таблице \"%s\" нельзя"
 
-#: commands/tablecmds.c:6609
+#: commands/tablecmds.c:6858
 #, c-format
 msgid ""
 "there is no unique constraint matching given keys for referenced table \"%s\""
@@ -7380,182 +7687,188 @@ msgstr ""
 "в целевой внешней таблице \"%s\" нет ограничения уникальности, "
 "соответствующего данным ключам"
 
-#: commands/tablecmds.c:6764
+#: commands/tablecmds.c:7017
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "проверка ограничения внешнего ключа \"%s\""
 
-#: commands/tablecmds.c:7058
+#: commands/tablecmds.c:7313
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:7092
+#: commands/tablecmds.c:7347
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:7231
+#: commands/tablecmds.c:7486
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "изменить тип колонки в типизированной таблице нельзя"
 
-#: commands/tablecmds.c:7254
+#: commands/tablecmds.c:7509
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "изменить наследованную колонку \"%s\" нельзя"
 
-#: commands/tablecmds.c:7301
+#: commands/tablecmds.c:7556
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "выражение преобразования не должно возвращать множество"
 
-#: commands/tablecmds.c:7320
+#: commands/tablecmds.c:7575
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "колонку \"%s\" нельзя автоматически привести к типу %s"
 
-#: commands/tablecmds.c:7322
+#: commands/tablecmds.c:7577
 #, c-format
 msgid "Specify a USING expression to perform the conversion."
 msgstr "Укажите выражение USING, чтобы выполнить преобразование."
 
-#: commands/tablecmds.c:7371
+#: commands/tablecmds.c:7626
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr ""
 "тип наследованной колонки \"%s\" должен быть изменён и в дочерних таблицах"
 
-#: commands/tablecmds.c:7452
+#: commands/tablecmds.c:7707
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "нельзя изменить тип колонки \"%s\" дважды"
 
-#: commands/tablecmds.c:7488
+#: commands/tablecmds.c:7743
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr ""
 "значение по умолчанию для колонки \"%s\" нельзя автоматически привести к "
 "типу %s"
 
-#: commands/tablecmds.c:7614
+#: commands/tablecmds.c:7869
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr ""
 "изменить тип колонки, задействованной в представлении или правиле, нельзя"
 
-#: commands/tablecmds.c:7615 commands/tablecmds.c:7634
+#: commands/tablecmds.c:7870 commands/tablecmds.c:7889
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s зависит от колонки \"%s\""
 
-#: commands/tablecmds.c:7633
+#: commands/tablecmds.c:7888
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "изменить тип колонки, задействованной в определении триггера, нельзя"
 
-#: commands/tablecmds.c:8209
+#: commands/tablecmds.c:8464
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "сменить владельца индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:8211
+#: commands/tablecmds.c:8466
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс."
 
-#: commands/tablecmds.c:8227
+#: commands/tablecmds.c:8482
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "сменить владельца последовательности \"%s\" нельзя"
 
-#: commands/tablecmds.c:8229 commands/tablecmds.c:9957
+#: commands/tablecmds.c:8484 commands/tablecmds.c:10473
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Последовательность \"%s\" связана с таблицей \"%s\"."
 
-#: commands/tablecmds.c:8241 commands/tablecmds.c:10593
+#: commands/tablecmds.c:8496 commands/tablecmds.c:11109
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Используйте ALTER TYPE."
 
-#: commands/tablecmds.c:8250
+#: commands/tablecmds.c:8505
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr ""
 "\"%s\" - это не таблица, TOAST-таблица, индекс, представление или "
 "последовательность"
 
-#: commands/tablecmds.c:8586
+#: commands/tablecmds.c:8841
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "в одной инструкции не может быть несколько подкомманд SET TABLESPACE"
 
-#: commands/tablecmds.c:8657
+#: commands/tablecmds.c:8914
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление, "
 "индекс или TOAST-таблица"
 
-#: commands/tablecmds.c:8802
+#: commands/tablecmds.c:8947 commands/view.c:474
+#, c-format
+msgid "WITH CHECK OPTION is supported only on auto-updatable views"
+msgstr ""
+"WITH CHECK OPTION поддерживается только с автообновляемыми представлениями"
+
+#: commands/tablecmds.c:9093
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "переместить системную таблицу \"%s\" нельзя"
 
-#: commands/tablecmds.c:8818
+#: commands/tablecmds.c:9109
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "перемещать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:8946 storage/buffer/bufmgr.c:482
+#: commands/tablecmds.c:9247 storage/buffer/bufmgr.c:481
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "неверная страница в блоке %u отношения %s"
 
-#: commands/tablecmds.c:9024
+#: commands/tablecmds.c:9329
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "изменить наследование типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:9070
+#: commands/tablecmds.c:9375
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "наследование для временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:9124
+#: commands/tablecmds.c:9429
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "циклическое наследование недопустимо"
 
-#: commands/tablecmds.c:9125
+#: commands/tablecmds.c:9430
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "\"%s\" уже является потомком \"%s\"."
 
-#: commands/tablecmds.c:9133
+#: commands/tablecmds.c:9438
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "таблица \"%s\" без OID не может наследоваться от таблицы \"%s\" с OID"
 
-#: commands/tablecmds.c:9269
+#: commands/tablecmds.c:9574
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "колонка \"%s\" в дочерней таблице должна быть помечена как NOT NULL"
 
-#: commands/tablecmds.c:9285
+#: commands/tablecmds.c:9590
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "в дочерней таблице не хватает колонки \"%s\""
 
-#: commands/tablecmds.c:9368
+#: commands/tablecmds.c:9673
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки \"%s"
 "\""
 
-#: commands/tablecmds.c:9376
+#: commands/tablecmds.c:9681
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s"
@@ -7564,62 +7877,100 @@ msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы "
 "\"%s\""
 
-#: commands/tablecmds.c:9400
+#: commands/tablecmds.c:9705
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "в дочерней таблице не хватает ограничения \"%s\""
 
-#: commands/tablecmds.c:9480
+#: commands/tablecmds.c:9785
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "отношение \"%s\" не является предком отношения \"%s\""
 
-#: commands/tablecmds.c:9706
+#: commands/tablecmds.c:10011
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "типизированные таблицы не могут наследоваться"
 
-#: commands/tablecmds.c:9737
+#: commands/tablecmds.c:10042
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "в таблице не хватает колонки \"%s\""
 
-#: commands/tablecmds.c:9747
+#: commands/tablecmds.c:10052
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "таблица содержит колонку \"%s\", тогда как тип требует \"%s\""
 
-#: commands/tablecmds.c:9756
+#: commands/tablecmds.c:10061
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "таблица \"%s\" содержит колонку \"%s\" другого типа"
 
-#: commands/tablecmds.c:9769
+#: commands/tablecmds.c:10074
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "таблица содержит лишнюю колонку \"%s\""
 
-#: commands/tablecmds.c:9819
+#: commands/tablecmds.c:10124
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "\"%s\" - это не типизированная таблица"
 
-#: commands/tablecmds.c:9956
+#: commands/tablecmds.c:10307
+#, c-format
+msgid "cannot use non-unique index \"%s\" as replica identity"
+msgstr ""
+"для идентификации реплики нельзя использовать неуникальный индекс \"%s\""
+
+#: commands/tablecmds.c:10313
+#, c-format
+msgid "cannot use non-immediate index \"%s\" as replica identity"
+msgstr ""
+"для идентификации реплики нельзя использовать не непосредственный индекс \"%s"
+"\""
+
+#: commands/tablecmds.c:10319
+#, c-format
+msgid "cannot use expression index \"%s\" as replica identity"
+msgstr ""
+"для идентификации реплики нельзя использовать индекс с выражением \"%s\""
+
+#: commands/tablecmds.c:10325
+#, c-format
+msgid "cannot use partial index \"%s\" as replica identity"
+msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\""
+
+#: commands/tablecmds.c:10331
+#, c-format
+msgid "cannot use invalid index \"%s\" as replica identity"
+msgstr "для идентификации реплики нельзя использовать нерабочий индекс \"%s\""
+
+#: commands/tablecmds.c:10349
+#, c-format
+msgid ""
+"index \"%s\" cannot be used as replica identity because column \"%s\" is "
+"nullable"
+msgstr ""
+"индекс \"%s\" нельзя использовать для идентификации реплики, так как колонка "
+"\"%s\" допускает NULL"
+
+#: commands/tablecmds.c:10472
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "переместить последовательность с владельцем в другую схему нельзя"
 
-#: commands/tablecmds.c:10052
+#: commands/tablecmds.c:10568
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "отношение \"%s\" уже существует в схеме \"%s\""
 
-#: commands/tablecmds.c:10577
+#: commands/tablecmds.c:11093
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "\"%s\" - это не составной тип"
 
-#: commands/tablecmds.c:10607
+#: commands/tablecmds.c:11123
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
@@ -7627,275 +7978,322 @@ msgstr ""
 "\"%s\" - это не таблица, представление, мат. представление, "
 "последовательность или сторонняя таблица"
 
-#: commands/tablespace.c:156 commands/tablespace.c:173
-#: commands/tablespace.c:184 commands/tablespace.c:192
-#: commands/tablespace.c:604 storage/file/copydir.c:50
+#: commands/tablespace.c:161 commands/tablespace.c:178
+#: commands/tablespace.c:189 commands/tablespace.c:197
+#: commands/tablespace.c:617 replication/slot.c:921 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
 
-#: commands/tablespace.c:203
+#: commands/tablespace.c:208
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "не удалось получить информацию о каталоге \"%s\": %m"
 
-#: commands/tablespace.c:212
+#: commands/tablespace.c:217
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "\"%s\" существует, но это не каталог"
 
-#: commands/tablespace.c:242
+#: commands/tablespace.c:248
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "нет прав на создание табличного пространства \"%s\""
 
-#: commands/tablespace.c:244
+#: commands/tablespace.c:250
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Для создания табличного пространства нужно быть суперпользователем."
 
-#: commands/tablespace.c:260
+#: commands/tablespace.c:266
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "в пути к табличному пространству не должно быть одинарных кавычек"
 
-#: commands/tablespace.c:270
+#: commands/tablespace.c:276
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "путь к табличному пространству должен быть абсолютным"
 
-#: commands/tablespace.c:281
+#: commands/tablespace.c:287
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "путь к табличному пространству \"%s\" слишком длинный"
 
-#: commands/tablespace.c:291 commands/tablespace.c:860
+#: commands/tablespace.c:297 commands/tablespace.c:888
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "неприемлемое имя табличного пространства: \"%s\""
 
-#: commands/tablespace.c:293 commands/tablespace.c:861
+#: commands/tablespace.c:299 commands/tablespace.c:889
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Префикс \"pg_\" зарезервирован для системных табличных пространств."
 
-#: commands/tablespace.c:303 commands/tablespace.c:873
+#: commands/tablespace.c:309 commands/tablespace.c:901
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "табличное пространство \"%s\" уже существует"
 
-#: commands/tablespace.c:372 commands/tablespace.c:530
-#: replication/basebackup.c:178 replication/basebackup.c:942
-#: utils/adt/misc.c:372
+#: commands/tablespace.c:387 commands/tablespace.c:545
+#: replication/basebackup.c:222 replication/basebackup.c:1064
+#: utils/adt/misc.c:365
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "табличные пространства не поддерживаются на этой платформе"
 
-#: commands/tablespace.c:412 commands/tablespace.c:843
-#: commands/tablespace.c:922 commands/tablespace.c:995
-#: commands/tablespace.c:1133 commands/tablespace.c:1333
+#: commands/tablespace.c:427 commands/tablespace.c:871
+#: commands/tablespace.c:950 commands/tablespace.c:1197
+#: commands/tablespace.c:1330 commands/tablespace.c:1530
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "табличное пространство \"%s\" не существует"
 
-#: commands/tablespace.c:418
+#: commands/tablespace.c:433
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "табличное пространство \"%s\" не существует, пропускается"
 
-#: commands/tablespace.c:487
+#: commands/tablespace.c:502
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "табличное пространство \"%s\" не пусто"
 
-#: commands/tablespace.c:561
+#: commands/tablespace.c:576
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "каталог \"%s\" не существует"
 
-#: commands/tablespace.c:562
+#: commands/tablespace.c:577
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr ""
 "Создайте этот каталог для табличного пространства до перезапуска сервера."
 
-#: commands/tablespace.c:567
+#: commands/tablespace.c:582
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "не удалось установить права для каталога \"%s\": %m"
 
-#: commands/tablespace.c:599
+#: commands/tablespace.c:612
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "каталог \"%s\" уже используется как табличное пространство"
 
-#: commands/tablespace.c:614 commands/tablespace.c:778
+#: commands/tablespace.c:636 commands/tablespace.c:758
+#: commands/tablespace.c:771 commands/tablespace.c:795
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "ошибка при удалении каталога \"%s\": %m"
+
+#: commands/tablespace.c:644 commands/tablespace.c:806
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "ошибка при удалении символической ссылки \"%s\": %m"
 
-#: commands/tablespace.c:624
+#: commands/tablespace.c:655
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\": %m"
 
-#: commands/tablespace.c:690 commands/tablespace.c:700
-#: postmaster/postmaster.c:1314 replication/basebackup.c:281
-#: replication/basebackup.c:577 storage/file/copydir.c:56
-#: storage/file/copydir.c:99 storage/file/fd.c:1896 utils/adt/genfile.c:354
-#: utils/adt/misc.c:272 utils/misc/tzparser.c:323
+#: commands/tablespace.c:719 commands/tablespace.c:729
+#: postmaster/postmaster.c:1284 replication/basebackup.c:349
+#: replication/basebackup.c:667 storage/file/copydir.c:53
+#: storage/file/copydir.c:96 storage/file/fd.c:1951 storage/ipc/dsm.c:300
+#: utils/adt/genfile.c:354 utils/adt/misc.c:267 utils/misc/tzparser.c:323
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: commands/tablespace.c:730 commands/tablespace.c:743
-#: commands/tablespace.c:767
+#: commands/tablespace.c:1025
 #, c-format
-msgid "could not remove directory \"%s\": %m"
-msgstr "ошибка при удалении каталога \"%s\": %m"
+msgid "only tables, indexes, and materialized views exist in tablespaces"
+msgstr ""
+"в табличных пространствах есть только таблицы, индексы и материализованные "
+"представления"
+
+#: commands/tablespace.c:1037
+#, c-format
+msgid "cannot move relations in to or out of pg_global tablespace"
+msgstr "перемещать объекты в/из табличного пространства pg_global нельзя"
+
+#: commands/tablespace.c:1135
+#, c-format
+msgid "aborting due to \"%s\".\"%s\" --- lock not available"
+msgstr "обработка \"%s\" прервана -- невозможно заблокировать \"%s\""
+
+#: commands/tablespace.c:1151
+#, c-format
+msgid "no matching relations in tablespace \"%s\" found"
+msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения"
 
-#: commands/tablespace.c:1000
+#: commands/tablespace.c:1202
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Табличное пространство \"%s\" не существует."
 
-#: commands/tablespace.c:1432
+#: commands/tablespace.c:1629
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "удалить каталоги табличного пространства %u не удалось"
 
-#: commands/tablespace.c:1434
+#: commands/tablespace.c:1631
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "При необходимости вы можете удалить их вручную."
 
-#: commands/trigger.c:174
+#: commands/trigger.c:175
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "\"%s\" - это таблица"
 
-#: commands/trigger.c:176
+#: commands/trigger.c:177
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "У таблиц не может быть триггеров INSTEAD OF."
 
-#: commands/trigger.c:187 commands/trigger.c:194
+#: commands/trigger.c:188 commands/trigger.c:195
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "\"%s\" - это представление"
 
-#: commands/trigger.c:189
+#: commands/trigger.c:190
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "У представлений не может быть строковых триггеров BEFORE/AFTER."
 
-#: commands/trigger.c:196
+#: commands/trigger.c:197
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "У представлений не может быть триггеров TRUNCATE."
 
-#: commands/trigger.c:259
+#: commands/trigger.c:205 commands/trigger.c:212 commands/trigger.c:219
+#, c-format
+msgid "\"%s\" is a foreign table"
+msgstr "\"%s\" - сторонняя таблица"
+
+#: commands/trigger.c:207
+#, c-format
+msgid "Foreign tables cannot have INSTEAD OF triggers."
+msgstr "У сторонних таблиц не может быть триггеров INSTEAD OF."
+
+#: commands/trigger.c:214
+#, c-format
+msgid "Foreign tables cannot have TRUNCATE triggers."
+msgstr "У сторонних таблиц не может быть триггеров TRUNCATE."
+
+#: commands/trigger.c:221
+#, c-format
+msgid "Foreign tables cannot have constraint triggers."
+msgstr "У сторонних таблиц не может быть ограничивающих триггеров."
+
+#: commands/trigger.c:284
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "триггеры TRUNCATE FOR EACH ROW не поддерживаются"
 
-#: commands/trigger.c:267
+#: commands/trigger.c:292
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "триггеры INSTEAD OF должны иметь тип FOR EACH ROW"
 
-#: commands/trigger.c:271
+#: commands/trigger.c:296
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "триггеры INSTEAD OF несовместимы с условиями WHEN"
 
-#: commands/trigger.c:275
+#: commands/trigger.c:300
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "для триггеров INSTEAD OF нельзя задать список колонок"
 
-#: commands/trigger.c:334 commands/trigger.c:347
+#: commands/trigger.c:359 commands/trigger.c:372
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr ""
 "в условии WHEN для операторного триггера нельзя ссылаться на значения колонок"
 
-#: commands/trigger.c:339
+#: commands/trigger.c:364
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "в условии WHEN для триггера INSERT нельзя ссылаться на значения OLD"
 
-#: commands/trigger.c:352
+#: commands/trigger.c:377
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "в условии WHEN для триггера DELETE нельзя ссылаться на значения NEW"
 
-#: commands/trigger.c:357
+#: commands/trigger.c:382
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr ""
 "в условии WHEN для триггера BEFORE нельзя ссылаться на системные колонки NEW"
 
-#: commands/trigger.c:402
+#: commands/trigger.c:427
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "изменение типа возврата функции %s с \"opaque\" на \"trigger\""
 
-#: commands/trigger.c:409
+#: commands/trigger.c:434
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "функция %s должна возвращать тип \"trigger\""
 
-#: commands/trigger.c:521 commands/trigger.c:1267
+#: commands/trigger.c:546 commands/trigger.c:1295
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "триггер \"%s\" для отношения \"%s\" уже существует"
 
-#: commands/trigger.c:806
+#: commands/trigger.c:831
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Найден триггер UPDATE в главной таблице."
 
-#: commands/trigger.c:807
+#: commands/trigger.c:832
 msgid "Found referenced table's DELETE trigger."
 msgstr "Найден триггер DELETE в главной таблице."
 
-#: commands/trigger.c:808
+#: commands/trigger.c:833
 msgid "Found referencing table's trigger."
 msgstr "Найден триггер в подчинённой таблице."
 
-#: commands/trigger.c:917 commands/trigger.c:933
+#: commands/trigger.c:942 commands/trigger.c:958
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "неполный набор триггеров для ограничения \"%s\" %s игнорируется"
 
-#: commands/trigger.c:945
+#: commands/trigger.c:970
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "преобразование набора триггеров в ограничение \"%s\" %s"
 
-#: commands/trigger.c:1157 commands/trigger.c:1315 commands/trigger.c:1431
+#: commands/trigger.c:1112 commands/trigger.c:1217
+#, c-format
+msgid "\"%s\" is not a table, view, or foreign table"
+msgstr "\"%s\" - это не таблица, представление и не сторонняя таблица"
+
+#: commands/trigger.c:1183 commands/trigger.c:1343 commands/trigger.c:1459
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "триггер \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/trigger.c:1396
+#: commands/trigger.c:1424
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "нет доступа: \"%s\" - это системный триггер"
 
-#: commands/trigger.c:1892
+#: commands/trigger.c:1920
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "триггерная функция %u вернула значение NULL"
 
-#: commands/trigger.c:1951 commands/trigger.c:2150 commands/trigger.c:2338
-#: commands/trigger.c:2597
+#: commands/trigger.c:1979 commands/trigger.c:2178 commands/trigger.c:2382
+#: commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "триггер BEFORE STATEMENT не может возвращать значение"
 
-#: commands/trigger.c:2659 executor/nodeModifyTable.c:428
-#: executor/nodeModifyTable.c:709
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:434
+#: executor/nodeModifyTable.c:712
 #, c-format
 msgid ""
 "tuple to be updated was already modified by an operation triggered by the "
@@ -7904,8 +8302,8 @@ msgstr ""
 "кортеж, который должен быть изменён, уже модифицирован в операции, вызванной "
 "текущей командой"
 
-#: commands/trigger.c:2660 executor/nodeModifyTable.c:429
-#: executor/nodeModifyTable.c:710
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:435
+#: executor/nodeModifyTable.c:713
 #, c-format
 msgid ""
 "Consider using an AFTER trigger instead of a BEFORE trigger to propagate "
@@ -7914,19 +8312,19 @@ msgstr ""
 "Возможно, для распространения изменений в другие строки следует использовать "
 "триггер AFTER вместо BEFORE."
 
-#: commands/trigger.c:2674 executor/execMain.c:1999
-#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:441
-#: executor/nodeModifyTable.c:722
+#: commands/trigger.c:2741 executor/execMain.c:2049
+#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:447
+#: executor/nodeModifyTable.c:725
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "не удалось сериализовать доступ из-за параллельного изменения"
 
-#: commands/trigger.c:4303
+#: commands/trigger.c:4538
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "ограничение \"%s\" не является откладываемым"
 
-#: commands/trigger.c:4326
+#: commands/trigger.c:4561
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "ограничение \"%s\" не существует"
@@ -8027,47 +8425,47 @@ msgstr "сопоставление для типа фрагмента \"%s\" н
 msgid "invalid parameter list format: \"%s\""
 msgstr "неверный формат списка параметров: \"%s\""
 
-#: commands/typecmds.c:182
+#: commands/typecmds.c:184
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "для создания базового типа нужно быть суперпользователем"
 
-#: commands/typecmds.c:288 commands/typecmds.c:1369
+#: commands/typecmds.c:290 commands/typecmds.c:1371
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "атрибут типа \"%s\" не распознан"
 
-#: commands/typecmds.c:342
+#: commands/typecmds.c:344
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "неверная категория типа \"%s\": допустим только ASCII-символ"
 
-#: commands/typecmds.c:361
+#: commands/typecmds.c:363
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "типом элемента массива не может быть %s"
 
-#: commands/typecmds.c:393
+#: commands/typecmds.c:395
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "тип выравнивания \"%s\" не распознан"
 
-#: commands/typecmds.c:410
+#: commands/typecmds.c:412
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "неизвестная стратегия хранения \"%s\""
 
-#: commands/typecmds.c:421
+#: commands/typecmds.c:423
 #, c-format
 msgid "type input function must be specified"
 msgstr "необходимо указать функцию ввода типа"
 
-#: commands/typecmds.c:425
+#: commands/typecmds.c:427
 #, c-format
 msgid "type output function must be specified"
 msgstr "необходимо указать функцию вывода типа"
 
-#: commands/typecmds.c:430
+#: commands/typecmds.c:432
 #, c-format
 msgid ""
 "type modifier output function is useless without a type modifier input "
@@ -8076,131 +8474,131 @@ msgstr ""
 "функция вывода модификаторов типа бесполезна без функции ввода модификаторов "
 "типа"
 
-#: commands/typecmds.c:453
+#: commands/typecmds.c:455
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to %s"
 msgstr "изменение типа возврата функции %s с \"opaque\" на %s"
 
-#: commands/typecmds.c:460
+#: commands/typecmds.c:462
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "функция ввода типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:470
+#: commands/typecmds.c:472
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"cstring\""
 msgstr "изменение типа возврата функции %s с \"opaque\" на \"cstring\""
 
-#: commands/typecmds.c:477
+#: commands/typecmds.c:479
 #, c-format
 msgid "type output function %s must return type \"cstring\""
 msgstr "функция вывода типа %s должна возвращать тип \"cstring\""
 
-#: commands/typecmds.c:486
+#: commands/typecmds.c:488
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "функция получения типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:495
+#: commands/typecmds.c:497
 #, c-format
 msgid "type send function %s must return type \"bytea\""
 msgstr "функция отправки типа %s должна возвращать тип \"bytea\""
 
-#: commands/typecmds.c:760
+#: commands/typecmds.c:762
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "\"%s\" - не подходящий базовый тип для домена"
 
-#: commands/typecmds.c:846
+#: commands/typecmds.c:848
 #, c-format
 msgid "multiple default expressions"
 msgstr "неоднократное определение значения типа по умолчанию"
 
-#: commands/typecmds.c:908 commands/typecmds.c:917
+#: commands/typecmds.c:910 commands/typecmds.c:919
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "конфликтующие ограничения NULL/NOT NULL"
 
-#: commands/typecmds.c:933
+#: commands/typecmds.c:935
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr ""
 "ограничения-проверки для доменов не могут иметь характеристики NO INHERIT"
 
-#: commands/typecmds.c:942 commands/typecmds.c:2448
+#: commands/typecmds.c:944 commands/typecmds.c:2453
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "ограничения уникальности невозможны для доменов"
 
-#: commands/typecmds.c:948 commands/typecmds.c:2454
+#: commands/typecmds.c:950 commands/typecmds.c:2459
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "ограничения первичного ключа невозможны для доменов"
 
-#: commands/typecmds.c:954 commands/typecmds.c:2460
+#: commands/typecmds.c:956 commands/typecmds.c:2465
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "ограничения-исключения невозможны для доменов"
 
-#: commands/typecmds.c:960 commands/typecmds.c:2466
+#: commands/typecmds.c:962 commands/typecmds.c:2471
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "ограничения внешних ключей невозможны для доменов"
 
-#: commands/typecmds.c:969 commands/typecmds.c:2475
+#: commands/typecmds.c:971 commands/typecmds.c:2480
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr ""
 "возможность определения отложенных ограничений для доменов не поддерживается"
 
-#: commands/typecmds.c:1241 utils/cache/typcache.c:1071
+#: commands/typecmds.c:1243 utils/cache/typcache.c:1071
 #, c-format
 msgid "%s is not an enum"
 msgstr "\"%s\" не является перечислением"
 
-#: commands/typecmds.c:1377
+#: commands/typecmds.c:1379
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "требуется атрибут типа \"subtype\""
 
-#: commands/typecmds.c:1382
+#: commands/typecmds.c:1384
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "%s не может быть подтипом диапазона"
 
-#: commands/typecmds.c:1401
+#: commands/typecmds.c:1403
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr ""
 "указано правило сортировки для диапазона, но подтип не поддерживает "
 "сортировку"
 
-#: commands/typecmds.c:1637
+#: commands/typecmds.c:1639
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "изменение типа аргумента функции %s с \"opaque\" на \"cstring\""
 
-#: commands/typecmds.c:1688
+#: commands/typecmds.c:1690
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "изменение типа аргумента функции %s с \"opaque\" на %s"
 
-#: commands/typecmds.c:1787
+#: commands/typecmds.c:1789
 #, c-format
 msgid "typmod_in function %s must return type \"integer\""
 msgstr "функция TYPMOD_IN %s должна возвращать тип \"integer\""
 
-#: commands/typecmds.c:1814
+#: commands/typecmds.c:1816
 #, c-format
 msgid "typmod_out function %s must return type \"cstring\""
 msgstr "функция TYPMOD_OUT %s должна возвращать тип \"cstring\""
 
-#: commands/typecmds.c:1841
+#: commands/typecmds.c:1843
 #, c-format
 msgid "type analyze function %s must return type \"boolean\""
 msgstr "функция анализа типа %s должна возвращать тип \"boolean\""
 
-#: commands/typecmds.c:1887
+#: commands/typecmds.c:1889
 #, c-format
 msgid ""
 "You must specify an operator class for the range type or define a default "
@@ -8209,97 +8607,97 @@ msgstr ""
 "Вы должны указать класс операторов для типа диапазона или определить класс "
 "операторов по умолчанию для этого подтипа."
 
-#: commands/typecmds.c:1918
+#: commands/typecmds.c:1920
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr ""
 "функция получения канонического диапазона %s должна возвращать диапазон"
 
-#: commands/typecmds.c:1924
+#: commands/typecmds.c:1926
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr ""
 "функция получения канонического диапазона %s должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:1960
+#: commands/typecmds.c:1962
 #, c-format
 msgid "range subtype diff function %s must return type double precision"
 msgstr ""
 "функция различий для подтипа диапазона (%s) должна возвращать тип double "
 "precision"
 
-#: commands/typecmds.c:1966
+#: commands/typecmds.c:1968
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr ""
 "функция различий для подтипа диапазона (%s) должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:2283
+#: commands/typecmds.c:2287
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "колонка \"%s\" таблицы \"%s\" содержит значения NULL"
 
-#: commands/typecmds.c:2391 commands/typecmds.c:2569
+#: commands/typecmds.c:2396 commands/typecmds.c:2574
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует"
 
-#: commands/typecmds.c:2395
+#: commands/typecmds.c:2400
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует, пропускается"
 
-#: commands/typecmds.c:2575
+#: commands/typecmds.c:2580
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr ""
 "ограничение \"%s\" для домена \"%s\" не является ограничением-проверкой"
 
-#: commands/typecmds.c:2677
+#: commands/typecmds.c:2684
 #, c-format
 msgid ""
 "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr ""
 "колонка \"%s\" таблицы \"%s\" содержит значения, нарушающие новое ограничение"
 
-#: commands/typecmds.c:2889 commands/typecmds.c:3259 commands/typecmds.c:3417
+#: commands/typecmds.c:2897 commands/typecmds.c:3267 commands/typecmds.c:3425
 #, c-format
 msgid "%s is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: commands/typecmds.c:2922
+#: commands/typecmds.c:2930
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "ограничение \"%s\" для домена \"%s\" уже существует"
 
-#: commands/typecmds.c:2972
+#: commands/typecmds.c:2980
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "в ограничении-проверке для домена нельзя ссылаться на таблицы"
 
-#: commands/typecmds.c:3191 commands/typecmds.c:3271 commands/typecmds.c:3525
+#: commands/typecmds.c:3199 commands/typecmds.c:3279 commands/typecmds.c:3533
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s - это тип строк таблицы"
 
-#: commands/typecmds.c:3193 commands/typecmds.c:3273 commands/typecmds.c:3527
+#: commands/typecmds.c:3201 commands/typecmds.c:3281 commands/typecmds.c:3535
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Изменить его можно с помощью ALTER TABLE."
 
-#: commands/typecmds.c:3200 commands/typecmds.c:3280 commands/typecmds.c:3444
+#: commands/typecmds.c:3208 commands/typecmds.c:3288 commands/typecmds.c:3452
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "изменить тип массива \"%s\" нельзя"
 
-#: commands/typecmds.c:3202 commands/typecmds.c:3282 commands/typecmds.c:3446
+#: commands/typecmds.c:3210 commands/typecmds.c:3290 commands/typecmds.c:3454
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Однако можно изменить тип %s, что повлечёт изменение типа массива."
 
-#: commands/typecmds.c:3511
+#: commands/typecmds.c:3519
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "тип \"%s\" уже существует в схеме \"%s\""
@@ -8335,8 +8733,8 @@ msgid "role \"%s\" already exists"
 msgstr "роль \"%s\" уже существует"
 
 #: commands/user.c:618 commands/user.c:827 commands/user.c:933
-#: commands/user.c:1088 commands/variable.c:858 commands/variable.c:930
-#: utils/adt/acl.c:5120 utils/init/miscinit.c:433
+#: commands/user.c:1088 commands/variable.c:797 commands/variable.c:869
+#: utils/adt/acl.c:5121 utils/init/miscinit.c:362
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "роль \"%s\" не существует"
@@ -8458,23 +8856,23 @@ msgstr "роль \"%s\" уже включена в роль \"%s\""
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "роль \"%s\" не включена в роль \"%s\""
 
-#: commands/vacuum.c:463
+#: commands/vacuum.c:466
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "самый старый xmin далеко в прошлом"
 
-#: commands/vacuum.c:464
+#: commands/vacuum.c:467
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr ""
 "Скорее закройте открытые транзакции, чтобы избежать проблемы наложения."
 
-#: commands/vacuum.c:496
+#: commands/vacuum.c:499
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "самый старый multixact далеко в прошлом"
 
-#: commands/vacuum.c:497
+#: commands/vacuum.c:500
 #, c-format
 msgid ""
 "Close open transactions with multixacts soon to avoid wraparound problems."
@@ -8482,79 +8880,79 @@ msgstr ""
 "Скорее закройте открытые транзакции в мультитранзакциях, чтобы избежать "
 "проблемы наложения."
 
-#: commands/vacuum.c:967
+#: commands/vacuum.c:1044
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов "
 "транзакций"
 
-#: commands/vacuum.c:968
+#: commands/vacuum.c:1045
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Возможно, вы уже потеряли данные в результате наложения ID транзакций."
 
-#: commands/vacuum.c:1079
+#: commands/vacuum.c:1162
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "очистка \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/vacuum.c:1105
+#: commands/vacuum.c:1188
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь может очистить эту таблицу"
 
-#: commands/vacuum.c:1109
+#: commands/vacuum.c:1192
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr ""
 "пропускается \"%s\" --- только суперпользователь или владелец БД может "
 "очистить эту таблицу"
 
-#: commands/vacuum.c:1113
+#: commands/vacuum.c:1196
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr ""
 "\"%s\" пропускается --- только владелец базы данных или этой таблицы может "
 "очистить её"
 
-#: commands/vacuum.c:1131
+#: commands/vacuum.c:1214
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы "
 "нельзя"
 
-#: commands/vacuumlazy.c:337
+#: commands/vacuumlazy.c:345
 #, c-format
 msgid ""
 "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 "pages: %d removed, %d remain\n"
-"tuples: %.0f removed, %.0f remain\n"
+"tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
 "buffer usage: %d hits, %d misses, %d dirtied\n"
 "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 "system usage: %s"
 msgstr ""
 "автоматическая очистка таблицы \"%s.%s.%s\": сканирований индекса: %d\n"
 "страниц удалено: %d, осталось: %d\n"
-"кортежей удалено: %.0f, осталось: %.0f\n"
+"кортежей удалено: %.0f, осталось: %.0f, мёртвых (но пока неудаляемых): %.0f\n"
 "использование буфера: попаданий: %d, промахов: %d, загрязнено: %d\n"
 "средняя скорость чтения: %.3f МБ/сек, средняя скорость записи: %.3f МБ/сек\n"
 "нагрузка системы: %s"
 
-#: commands/vacuumlazy.c:670
+#: commands/vacuumlazy.c:679
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr ""
 "в отношении \"%s\" не инициализирована страница %u --- ситуация исправляется"
 
-#: commands/vacuumlazy.c:1084
+#: commands/vacuumlazy.c:1091
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "\"%s\": удалено версий строк: %.0f, обработано страниц: %u"
 
-#: commands/vacuumlazy.c:1089
+#: commands/vacuumlazy.c:1096
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u "
@@ -8563,7 +8961,7 @@ msgstr ""
 "\"%s\": найдено удаляемых версий строк: %.0f, неудаляемых - %.0f, обработано "
 "страниц: %u, всего страниц: %u"
 
-#: commands/vacuumlazy.c:1093
+#: commands/vacuumlazy.c:1100
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -8576,28 +8974,28 @@ msgstr ""
 "Полностью пустых страниц: %u.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1164
+#: commands/vacuumlazy.c:1171
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "\"%s\": удалено версий строк: %d, обработано страниц: %d"
 
-#: commands/vacuumlazy.c:1167 commands/vacuumlazy.c:1320
-#: commands/vacuumlazy.c:1491
+#: commands/vacuumlazy.c:1174 commands/vacuumlazy.c:1341
+#: commands/vacuumlazy.c:1512
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/vacuumlazy.c:1317
+#: commands/vacuumlazy.c:1338
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "просканирован индекс \"%s\", удалено версий строк: %d"
 
-#: commands/vacuumlazy.c:1362
+#: commands/vacuumlazy.c:1383
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u"
 
-#: commands/vacuumlazy.c:1366
+#: commands/vacuumlazy.c:1387
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -8608,22 +9006,22 @@ msgstr ""
 "Удалено индексных страниц: %u, пригодно для повторного использования: %u.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1423
+#: commands/vacuumlazy.c:1444
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки"
 
-#: commands/vacuumlazy.c:1488
+#: commands/vacuumlazy.c:1509
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "\"%s\": усечение (было страниц: %u, стало: %u)"
 
-#: commands/vacuumlazy.c:1544
+#: commands/vacuumlazy.c:1565
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "\"%s\": приостановка усечения из-за конфликтующего запроса блокировки"
 
-#: commands/variable.c:162 utils/misc/guc.c:8401
+#: commands/variable.c:162 utils/misc/guc.c:9047
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "нераспознанное ключевое слово: \"%s\"."
@@ -8633,144 +9031,159 @@ msgstr "нераспознанное ключевое слово: \"%s\"."
 msgid "Conflicting \"datestyle\" specifications."
 msgstr "Конфликтующие спецификации стиля дат."
 
-#: commands/variable.c:313
+#: commands/variable.c:296
 #, c-format
 msgid "Cannot specify months in time zone interval."
 msgstr "В интервале, задающем часовой пояс, нельзя указывать месяцы."
 
-#: commands/variable.c:319
+#: commands/variable.c:302
 #, c-format
 msgid "Cannot specify days in time zone interval."
 msgstr "В интервале, задающем часовой пояс, нельзя указывать дни."
 
-#: commands/variable.c:365 commands/variable.c:488
+#: commands/variable.c:344 commands/variable.c:426
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "часовой пояс \"%s\" видимо использует координационные секунды"
 
-#: commands/variable.c:367 commands/variable.c:490
+#: commands/variable.c:346 commands/variable.c:428
 #, c-format
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL не поддерживает координационные секунды."
 
-#: commands/variable.c:554
+#: commands/variable.c:355
+#, c-format
+msgid "UTC timezone offset is out of range."
+msgstr "смещение часового пояса UTC вне диапазона"
+
+#: commands/variable.c:493
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr ""
 "нельзя установить режим транзакции \"чтение-запись\" внутри транзакции "
 "\"только чтение\""
 
-#: commands/variable.c:561
+#: commands/variable.c:500
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr ""
 "режим транзакции \"чтение-запись\" должен быть установлен до выполнения "
 "запросов"
 
-#: commands/variable.c:568
+#: commands/variable.c:507
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr ""
 "нельзя установить режим транзакции \"чтение-запись\" в процессе "
 "восстановления"
 
-#: commands/variable.c:617
+#: commands/variable.c:556
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "команда SET TRANSACTION ISOLATION LEVEL должна выполняться до запросов"
 
-#: commands/variable.c:624
+#: commands/variable.c:563
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr ""
 "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции"
 
-#: commands/variable.c:631 storage/lmgr/predicate.c:1585
+#: commands/variable.c:570 storage/lmgr/predicate.c:1588
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "использовать сериализуемый режим в горячем резерве нельзя"
 
-#: commands/variable.c:632
+#: commands/variable.c:571
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Используйте REPEATABLE READ."
 
-#: commands/variable.c:680
+#: commands/variable.c:619
 #, c-format
 msgid ""
 "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr ""
 "команда SET TRANSACTION [NOT] DEFERRABLE не может вызываться в подтранзакции"
 
-#: commands/variable.c:686
+#: commands/variable.c:625
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr ""
 "команда SET TRANSACTION [NOT] DEFERRABLE должна выполняться до запросов"
 
-#: commands/variable.c:768
+#: commands/variable.c:707
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "Преобразование кодировок %s <-> %s не поддерживается."
 
-#: commands/variable.c:775
+#: commands/variable.c:714
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "Изменить клиентскую кодировку сейчас нельзя."
 
-#: commands/variable.c:945
+#: commands/variable.c:884
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "нет прав установить роль \"%s\""
 
-#: commands/view.c:94
+#: commands/view.c:54
+#, c-format
+msgid "invalid value for \"check_option\" option"
+msgstr "неверное значение для параметра \"check_option\""
+
+#: commands/view.c:55
+#, c-format
+msgid "Valid values are \"local\", and \"cascaded\"."
+msgstr "Допускаются только значения \"local\" и \"cascaded\"."
+
+#: commands/view.c:114
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr ""
 "не удалось определить правило сортировки для колонки представления \"%s\""
 
-#: commands/view.c:109
+#: commands/view.c:129
 #, c-format
 msgid "view must have at least one column"
 msgstr "в представлении должна быть минимум одна колонка"
 
-#: commands/view.c:240 commands/view.c:252
+#: commands/view.c:260 commands/view.c:272
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "удалять колонки из представления нельзя"
 
-#: commands/view.c:257
+#: commands/view.c:277
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "изменить имя колонки \"%s\" на \"%s\" в представлении нельзя"
 
-#: commands/view.c:265
+#: commands/view.c:285
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "изменить тип колонки представления \"%s\" с %s на %s нельзя"
 
-#: commands/view.c:398
+#: commands/view.c:420
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "представления не должны содержать SELECT INTO"
 
-#: commands/view.c:411
+#: commands/view.c:433
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "представления не должны содержать операторы, изменяющие данные в WITH"
 
-#: commands/view.c:439
+#: commands/view.c:504
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "в CREATE VIEW указано больше имён колонок, чем самих колонок"
 
-#: commands/view.c:447
+#: commands/view.c:512
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr ""
 "представления не могут быть нежурналируемыми, так как они нигде не хранятся"
 
-#: commands/view.c:461
+#: commands/view.c:526
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "представление \"%s\" будет создано как временное"
@@ -8807,7 +9220,7 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr ""
 "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\""
 
-#: executor/execCurrent.c:231 executor/execQual.c:1138
+#: executor/execCurrent.c:231 executor/execQual.c:1129
 #, c-format
 msgid ""
 "type of parameter %d (%s) does not match that when preparing the plan (%s)"
@@ -8815,27 +9228,27 @@ msgstr ""
 "тип параметра %d (%s) не соответствует тому, с которым подготавливался план "
 "(%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1150
+#: executor/execCurrent.c:243 executor/execQual.c:1141
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "не найдено значение параметра %d"
 
-#: executor/execMain.c:954
+#: executor/execMain.c:955
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "последовательность \"%s\" изменить нельзя"
 
-#: executor/execMain.c:960
+#: executor/execMain.c:961
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "TOAST-отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:978 rewrite/rewriteHandler.c:2346
+#: executor/execMain.c:979 rewrite/rewriteHandler.c:2512
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "вставить данные в представление \"%s\" нельзя"
 
-#: executor/execMain.c:980 rewrite/rewriteHandler.c:2349
+#: executor/execMain.c:981 rewrite/rewriteHandler.c:2515
 #, c-format
 msgid ""
 "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
@@ -8844,12 +9257,12 @@ msgstr ""
 "Чтобы представление допускало добавление данных, установите триггер INSTEAD "
 "OF INSERT trigger или безусловное правило ON INSERT DO INSTEAD."
 
-#: executor/execMain.c:986 rewrite/rewriteHandler.c:2354
+#: executor/execMain.c:987 rewrite/rewriteHandler.c:2520
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "изменить данные в представлении \"%s\" нельзя"
 
-#: executor/execMain.c:988 rewrite/rewriteHandler.c:2357
+#: executor/execMain.c:989 rewrite/rewriteHandler.c:2523
 #, c-format
 msgid ""
 "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
@@ -8858,12 +9271,12 @@ msgstr ""
 "Чтобы представление допускало изменение данных, установите триггер INSTEAD "
 "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD."
 
-#: executor/execMain.c:994 rewrite/rewriteHandler.c:2362
+#: executor/execMain.c:995 rewrite/rewriteHandler.c:2528
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "удалить данные из представления \"%s\" нельзя"
 
-#: executor/execMain.c:996 rewrite/rewriteHandler.c:2365
+#: executor/execMain.c:997 rewrite/rewriteHandler.c:2531
 #, c-format
 msgid ""
 "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
@@ -8872,95 +9285,101 @@ msgstr ""
 "Чтобы представление допускало удаление данных, установите триггер INSTEAD OF "
 "DELETE или безусловное правило ON DELETE DO INSTEAD."
 
-#: executor/execMain.c:1006
+#: executor/execMain.c:1008
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "изменить материализованное представление \"%s\" нельзя"
 
-#: executor/execMain.c:1018
+#: executor/execMain.c:1020
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "вставлять данные в стороннюю таблицу \"%s\" нельзя"
 
-#: executor/execMain.c:1024
+#: executor/execMain.c:1026
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "сторонняя таблица \"%s\" не допускает добавления"
 
-#: executor/execMain.c:1031
+#: executor/execMain.c:1033
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "изменять данные в сторонней таблице \"%s\""
 
-#: executor/execMain.c:1037
+#: executor/execMain.c:1039
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "сторонняя таблица \"%s\" не допускает изменения"
 
-#: executor/execMain.c:1044
+#: executor/execMain.c:1046
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "удалять данные из сторонней таблицы \"%s\" нельзя"
 
-#: executor/execMain.c:1050
+#: executor/execMain.c:1052
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "сторонняя таблица \"%s\" не допускает удаления"
 
-#: executor/execMain.c:1061
+#: executor/execMain.c:1063
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1085
+#: executor/execMain.c:1087
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "блокировать строки в последовательности \"%s\" нельзя"
 
-#: executor/execMain.c:1092
+#: executor/execMain.c:1094
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "блокировать строки в TOAST-отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1099
+#: executor/execMain.c:1101
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "блокировать строки в представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1107
+#: executor/execMain.c:1109
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "блокировать строки в материализованном представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1114
+#: executor/execMain.c:1116
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "блокировать строки в сторонней таблице \"%s\" нельзя"
 
-#: executor/execMain.c:1120
+#: executor/execMain.c:1122
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "блокировать строки в отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1605
+#: executor/execMain.c:1607
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "нулевое значение в колонке \"%s\" нарушает ограничение NOT NULL"
 
-#: executor/execMain.c:1607 executor/execMain.c:1624
+#: executor/execMain.c:1609 executor/execMain.c:1626 executor/execMain.c:1673
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Ошибочная строка содержит %s."
 
-#: executor/execMain.c:1622
+#: executor/execMain.c:1624
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "новая строка в отношении \"%s\" нарушает ограничение-проверку \"%s\""
 
-#: executor/execQual.c:305 executor/execQual.c:333 executor/execQual.c:3122
+#: executor/execMain.c:1671
+#, c-format
+msgid "new row violates WITH CHECK OPTION for view \"%s\""
+msgstr ""
+"новая строка нарушает ограничение WITH CHECK OPTION для представления \"%s\""
+
+#: executor/execQual.c:305 executor/execQual.c:333 executor/execQual.c:3120
 #: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
 #: utils/adt/arrayfuncs.c:512 utils/adt/arrayfuncs.c:1247
-#: utils/adt/arrayfuncs.c:2920 utils/adt/arrayfuncs.c:4945
+#: utils/adt/arrayfuncs.c:2933 utils/adt/arrayfuncs.c:4958
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "число размерностей массива (%d) превышает предел (%d)"
@@ -8970,24 +9389,24 @@ msgstr "число размерностей массива (%d) превышае
 msgid "array subscript in assignment must not be null"
 msgstr "индекс элемента массива в присваивании не может быть NULL"
 
-#: executor/execQual.c:641 executor/execQual.c:4043
+#: executor/execQual.c:641 executor/execQual.c:4041
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "атрибут %d имеет неверный тип"
 
-#: executor/execQual.c:642 executor/execQual.c:4044
+#: executor/execQual.c:642 executor/execQual.c:4042
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "В таблице задан тип %s, а в запросе ожидается %s."
 
-#: executor/execQual.c:845 executor/execQual.c:862 executor/execQual.c:1026
+#: executor/execQual.c:835 executor/execQual.c:852 executor/execQual.c:1017
 #: executor/nodeModifyTable.c:85 executor/nodeModifyTable.c:95
 #: executor/nodeModifyTable.c:112 executor/nodeModifyTable.c:120
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "тип строки таблицы отличается от типа строки-результата запроса"
 
-#: executor/execQual.c:846
+#: executor/execQual.c:836
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
@@ -8995,22 +9414,22 @@ msgstr[0] "Строка таблицы содержит %d атрибут, а в
 msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d."
 msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d."
 
-#: executor/execQual.c:863 executor/nodeModifyTable.c:96
+#: executor/execQual.c:853 executor/nodeModifyTable.c:96
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr ""
 "В таблице определён тип %s (номер колонки: %d), а в запросе предполагается "
 "%s."
 
-#: executor/execQual.c:1027 executor/execQual.c:1625
+#: executor/execQual.c:1018 executor/execQual.c:1616
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
 "Несоответствие параметров физического хранения удалённого атрибута (под "
 "номером %d)."
 
-#: executor/execQual.c:1304 parser/parse_func.c:93 parser/parse_func.c:325
-#: parser/parse_func.c:634
+#: executor/execQual.c:1295 parser/parse_func.c:114 parser/parse_func.c:535
+#: parser/parse_func.c:887
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
@@ -9018,12 +9437,12 @@ msgstr[0] "функции нельзя передать больше %d аргу
 msgstr[1] "функции нельзя передать больше %d аргументов"
 msgstr[2] "функции нельзя передать больше %d аргументов"
 
-#: executor/execQual.c:1493
+#: executor/execQual.c:1484
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "функции и операторы принимают только один аргумент-множество"
 
-#: executor/execQual.c:1543
+#: executor/execQual.c:1534
 #, c-format
 msgid ""
 "function returning setof record called in context that cannot accept type "
@@ -9032,12 +9451,12 @@ msgstr ""
 "функция, возвращающая запись SET OF, вызвана в контексте, не допускающем "
 "этот тип"
 
-#: executor/execQual.c:1598 executor/execQual.c:1614 executor/execQual.c:1624
+#: executor/execQual.c:1589 executor/execQual.c:1605 executor/execQual.c:1615
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "тип результат функции отличается от типа строки-результата запроса"
 
-#: executor/execQual.c:1599
+#: executor/execQual.c:1590
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
@@ -9047,47 +9466,47 @@ msgstr[1] ""
 msgstr[2] ""
 "Возвращённая строка содержит %d атрибутов, но запрос предполагает %d."
 
-#: executor/execQual.c:1615
+#: executor/execQual.c:1606
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Возвращён тип %s (номер колонки: %d), а в запросе предполагается %s."
 
-#: executor/execQual.c:1857 executor/execQual.c:2281
+#: executor/execQual.c:1848 executor/execQual.c:2279
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "нарушение протокола табличной функции в режиме материализации"
 
-#: executor/execQual.c:1877 executor/execQual.c:2288
+#: executor/execQual.c:1868 executor/execQual.c:2286
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "нераспознанный режим возврата табличной функции: %d"
 
-#: executor/execQual.c:2198
+#: executor/execQual.c:2196
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "функция, возвращающая множество строк, не может возвращать NULL"
 
-#: executor/execQual.c:2255
+#: executor/execQual.c:2253
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "строки, возвращённые функцией, имеют разные типы"
 
-#: executor/execQual.c:2470
+#: executor/execQual.c:2468
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM не поддерживает аргументы-множества"
 
-#: executor/execQual.c:2547
+#: executor/execQual.c:2545
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "операторы ANY/ALL (с массивом) не поддерживают аргументы-множества"
 
-#: executor/execQual.c:3100
+#: executor/execQual.c:3098
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "не удалось объединить несовместимые массивы"
 
-#: executor/execQual.c:3101
+#: executor/execQual.c:3099
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
@@ -9096,7 +9515,7 @@ msgstr ""
 "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом "
 "элементов %s."
 
-#: executor/execQual.c:3142 executor/execQual.c:3169
+#: executor/execQual.c:3140 executor/execQual.c:3167
 #: utils/adt/arrayfuncs.c:547
 #, c-format
 msgid ""
@@ -9105,49 +9524,47 @@ msgstr ""
 "для многомерных массивов должны задаваться выражения с соответствующими "
 "размерностями"
 
-#: executor/execQual.c:3684
+#: executor/execQual.c:3682
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF не поддерживает аргументы-множества"
 
-#: executor/execQual.c:3914 utils/adt/domains.c:131
+#: executor/execQual.c:3912 utils/adt/domains.c:131
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "домен %s не допускает значения null"
 
-#: executor/execQual.c:3944 utils/adt/domains.c:168
+#: executor/execQual.c:3942 utils/adt/domains.c:168
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "значение домена %s нарушает ограничение-проверку \"%s\""
 
-#: executor/execQual.c:4302
+#: executor/execQual.c:4300
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается"
 
-#: executor/execQual.c:4444 optimizer/util/clauses.c:573
-#: parser/parse_agg.c:347
+#: executor/execQual.c:4446 parser/parse_agg.c:434 parser/parse_agg.c:464
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "вложенные вызовы агрегатных функций недопустимы"
 
-#: executor/execQual.c:4482 optimizer/util/clauses.c:647
-#: parser/parse_agg.c:443
+#: executor/execQual.c:4486 parser/parse_agg.c:565
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "вложенные вызовы оконных функций недопустимы"
 
-#: executor/execQual.c:4694
+#: executor/execQual.c:4698
 #, c-format
 msgid "target type is not an array"
 msgstr "целевой тип не является массивом"
 
-#: executor/execQual.c:4808
+#: executor/execQual.c:4812
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "колонка ROW() имеет тип %s, а должна - %s"
 
-#: executor/execQual.c:4943 utils/adt/arrayfuncs.c:3383
+#: executor/execQual.c:4947 utils/adt/arrayfuncs.c:3396
 #: utils/adt/rowtypes.c:921
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -9163,22 +9580,22 @@ msgstr "материализованное представление \"%s\" н
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Примените команду REFRESH MATERIALIZED VIEW."
 
-#: executor/execUtils.c:1323
+#: executor/execUtils.c:1324
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "не удалось создать ограничение-исключение \"%s\""
 
-#: executor/execUtils.c:1325
+#: executor/execUtils.c:1326
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Ключ %s конфликтует с ключом %s."
 
-#: executor/execUtils.c:1332
+#: executor/execUtils.c:1333
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "конфликтующее значение ключа нарушает ограничение-исключение \"%s\""
 
-#: executor/execUtils.c:1334
+#: executor/execUtils.c:1335
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Ключ %s конфликтует с существующим ключом %s."
@@ -9195,7 +9612,7 @@ msgid "%s is not allowed in a SQL function"
 msgstr "%s нельзя использовать в SQL-функции"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:513 executor/spi.c:1342 executor/spi.c:2126
+#: executor/functions.c:513 executor/spi.c:1343 executor/spi.c:2127
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s нельзя использовать в не изменчивой (volatile) функции"
@@ -9209,24 +9626,24 @@ msgstr ""
 "не удалось определить фактический тип результата для функции (в объявлении "
 "указан тип %s)"
 
-#: executor/functions.c:1403
+#: executor/functions.c:1402
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-функция \"%s\", оператор %d"
 
-#: executor/functions.c:1429
+#: executor/functions.c:1428
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-функция \"%s\" (при старте)"
 
-#: executor/functions.c:1588 executor/functions.c:1625
-#: executor/functions.c:1637 executor/functions.c:1750
-#: executor/functions.c:1783 executor/functions.c:1813
+#: executor/functions.c:1587 executor/functions.c:1624
+#: executor/functions.c:1636 executor/functions.c:1749
+#: executor/functions.c:1782 executor/functions.c:1812
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)"
 
-#: executor/functions.c:1590
+#: executor/functions.c:1589
 #, c-format
 msgid ""
 "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
@@ -9234,37 +9651,37 @@ msgstr ""
 "Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE "
 "RETURNING."
 
-#: executor/functions.c:1627
+#: executor/functions.c:1626
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Последний оператор должен возвращать одну колонку."
 
-#: executor/functions.c:1639
+#: executor/functions.c:1638
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Фактический тип возврата: %s."
 
-#: executor/functions.c:1752
+#: executor/functions.c:1751
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Последний оператор возвращает слишком много колонок."
 
-#: executor/functions.c:1785
+#: executor/functions.c:1784
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "Последний оператор возвращает %s вместо %s для колонки %d."
 
-#: executor/functions.c:1815
+#: executor/functions.c:1814
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Последний оператор возвращает слишком мало колонок."
 
-#: executor/functions.c:1864
+#: executor/functions.c:1863
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "для SQL-функций тип возврата %s не поддерживается"
 
-#: executor/nodeAgg.c:1739 executor/nodeWindowAgg.c:1856
+#: executor/nodeAgg.c:1865 executor/nodeWindowAgg.c:2285
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
@@ -9330,22 +9747,27 @@ msgstr "Запрос возвращает меньше колонок."
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "подзапрос в выражении вернул больше одной строки"
 
-#: executor/nodeWindowAgg.c:1240
+#: executor/nodeWindowAgg.c:353
+#, c-format
+msgid "moving-aggregate transition function must not return NULL"
+msgstr "функция перехода движимого агрегата не должна возвращать NULL"
+
+#: executor/nodeWindowAgg.c:1609
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "смещение начала рамки не может быть NULL"
 
-#: executor/nodeWindowAgg.c:1253
+#: executor/nodeWindowAgg.c:1622
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "смещение начала рамки не может быть отрицательным"
 
-#: executor/nodeWindowAgg.c:1266
+#: executor/nodeWindowAgg.c:1635
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "смещение конца рамки не может быть NULL"
 
-#: executor/nodeWindowAgg.c:1279
+#: executor/nodeWindowAgg.c:1648
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "смещение конца рамки не может быть отрицательным"
@@ -9365,28 +9787,28 @@ msgstr "Проверьте наличие вызова \"SPI_finish\"."
 msgid "subtransaction left non-empty SPI stack"
 msgstr "после подтранзакции остался непустой стек SPI"
 
-#: executor/spi.c:1206
+#: executor/spi.c:1207
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "не удалось открыть план нескольких запросов как курсор"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1211
+#: executor/spi.c:1212
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "не удалось открыть запрос %s как курсор"
 
-#: executor/spi.c:1319
+#: executor/spi.c:1320
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживается"
 
-#: executor/spi.c:1320 parser/analyze.c:2119
+#: executor/spi.c:1321 parser/analyze.c:2132
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Прокручиваемые курсоры должны быть READ ONLY."
 
-#: executor/spi.c:2416
+#: executor/spi.c:2417
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-оператор: \"%s\""
@@ -9411,90 +9833,85 @@ msgstr "неверный параметр \"%s\""
 msgid "Valid options in this context are: %s"
 msgstr "В данном контексте допустимы параметры: %s"
 
-#: lib/stringinfo.c:267
+#: lib/stringinfo.c:259
 #, c-format
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr ""
 "Не удалось увеличить строковый буфер (в буфере байт: %d, требовалось ещё %d)."
 
-#: libpq/auth.c:257
+#: libpq/auth.c:235
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: не разрешённый компьютер "
 
-#: libpq/auth.c:260
-#, c-format
-msgid "Kerberos 5 authentication failed for user \"%s\""
-msgstr "пользователь \"%s\" не прошёл проверку подлинности (Kerberos 5)"
-
-#: libpq/auth.c:263
+#: libpq/auth.c:238
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (\"trust\")"
 
-#: libpq/auth.c:266
+#: libpq/auth.c:241
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Ident)"
 
-#: libpq/auth.c:269
+#: libpq/auth.c:244
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Peer)"
 
-#: libpq/auth.c:273
+#: libpq/auth.c:248
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по паролю)"
 
-#: libpq/auth.c:278
+#: libpq/auth.c:253
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (GSSAPI)"
 
-#: libpq/auth.c:281
+#: libpq/auth.c:256
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (SSPI)"
 
-#: libpq/auth.c:284
+#: libpq/auth.c:259
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (PAM)"
 
-#: libpq/auth.c:287
+#: libpq/auth.c:262
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (LDAP)"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:265
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по сертификату)"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:268
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (RADIUS)"
 
-#: libpq/auth.c:296
+#: libpq/auth.c:271
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: неверный метод проверки"
 
-#: libpq/auth.c:304
+#: libpq/auth.c:275
 #, c-format
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "Подключение соответствует строке %d в pg_hba.conf: \"%s\""
 
-#: libpq/auth.c:359
+#: libpq/auth.c:337
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "для подключения требуется годный сертификат клиента"
 
-#: libpq/auth.c:401
+#: libpq/auth.c:379
 #, c-format
 msgid ""
 "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
@@ -9502,22 +9919,22 @@ msgstr ""
 "pg_hba.conf отвергает подключение для репликации: компьютер \"%s\", "
 "пользователь \"%s\", \"%s\""
 
-#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
 msgid "SSL off"
 msgstr "SSL выкл."
 
-#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
 msgid "SSL on"
 msgstr "SSL вкл."
 
-#: libpq/auth.c:407
+#: libpq/auth.c:385
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr ""
 "pg_hba.conf отвергает подключение для репликации: компьютер \"%s\", "
 "пользователь \"%s\""
 
-#: libpq/auth.c:416
+#: libpq/auth.c:394
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s"
@@ -9526,7 +9943,7 @@ msgstr ""
 "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", "
 "база данных \"%s\", %s"
 
-#: libpq/auth.c:423
+#: libpq/auth.c:401
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
@@ -9534,26 +9951,37 @@ msgstr ""
 "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", "
 "база данных \"%s\""
 
-#: libpq/auth.c:452
+#: libpq/auth.c:430
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", соответствует прямому преобразованию."
 
-#: libpq/auth.c:454
+#: libpq/auth.c:433
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", прямое преобразование не проверялось."
 
-#: libpq/auth.c:456
+#: libpq/auth.c:436
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", это не соответствует прямому "
 "преобразованию."
 
-#: libpq/auth.c:465
+#: libpq/auth.c:439
+#, c-format
+msgid "Could not translate client host name \"%s\" to IP address: %s."
+msgstr ""
+"Преобразовать имя клиентского компьютера \"%s\" в IP-адрес не удалось: %s."
+
+#: libpq/auth.c:444
+#, c-format
+msgid "Could not resolve client IP address to a host name: %s."
+msgstr "Получить имя компьютера из IP-адреса клиента не удалось: %s."
+
+#: libpq/auth.c:453
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s"
@@ -9562,7 +9990,7 @@ msgstr ""
 "в pg_hba.conf нет записи, разрешающей подключение для репликации с "
 "компьютера \"%s\" для пользователя \"%s\", %s"
 
-#: libpq/auth.c:472
+#: libpq/auth.c:460
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
@@ -9570,21 +9998,21 @@ msgstr ""
 "в pg_hba.conf нет записи, разрешающей подключение для репликации с "
 "компьютера \"%s\" для пользователя \"%s\""
 
-#: libpq/auth.c:482
+#: libpq/auth.c:470
 #, 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:490
+#: libpq/auth.c:478
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 "в pg_hba.conf нет записи для компьютера \"%s\", пользователя \"%s\", базы "
 "\"%s\""
 
-#: libpq/auth.c:542 libpq/hba.c:1206
+#: libpq/auth.c:521 libpq/hba.c:1212
 #, c-format
 msgid ""
 "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
@@ -9592,220 +10020,195 @@ msgstr ""
 "проверка подлинности MD5 не поддерживается, когда включен режим "
 "\"db_user_namespace\""
 
-#: libpq/auth.c:666
+#: libpq/auth.c:645
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "ожидался ответ с паролем, но получено сообщение %d"
 
-#: libpq/auth.c:694
+#: libpq/auth.c:673
 #, c-format
 msgid "invalid password packet size"
 msgstr "неверный размер пакета с паролем"
 
-#: libpq/auth.c:698
+#: libpq/auth.c:677
 #, c-format
 msgid "received password packet"
 msgstr "получен пакет с паролем"
 
-#: libpq/auth.c:756
-#, c-format
-msgid "Kerberos initialization returned error %d"
-msgstr "ошибка при инициализации Kerberos: %d"
-
-#: libpq/auth.c:766
-#, c-format
-msgid "Kerberos keytab resolving returned error %d"
-msgstr "ошибка при разрешении имени таблицы ключей Kerberos: %d"
-
-#: libpq/auth.c:790
-#, c-format
-msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
-msgstr "ошибка в функции Kerberos sname_to_principal(\"%s\", \"%s\"): %d"
-
-#: libpq/auth.c:835
-#, c-format
-msgid "Kerberos recvauth returned error %d"
-msgstr "ошибка в функции Kerberos recvauth: %d"
-
-#: libpq/auth.c:858
-#, c-format
-msgid "Kerberos unparse_name returned error %d"
-msgstr "ошибка в функции Kerberos unparse_name: %d"
-
-#: libpq/auth.c:1006
+#: libpq/auth.c:804
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI не поддерживается в протоколе версии 2"
 
-#: libpq/auth.c:1061
+#: libpq/auth.c:859
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "ожидался ответ GSS, но получено сообщение %d"
 
-#: libpq/auth.c:1120
+#: libpq/auth.c:918
 msgid "accepting GSS security context failed"
 msgstr "принять контекст безопасности GSS не удалось"
 
-#: libpq/auth.c:1146
+#: libpq/auth.c:944
 msgid "retrieving GSS user name failed"
 msgstr "получить имя пользователя GSS не удалось"
 
-#: libpq/auth.c:1263
+#: libpq/auth.c:1061
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSPI не поддерживается в протоколе версии 2"
 
-#: libpq/auth.c:1278
+#: libpq/auth.c:1076
 msgid "could not acquire SSPI credentials"
 msgstr "не удалось получить удостоверение SSPI"
 
-#: libpq/auth.c:1295
+#: libpq/auth.c:1093
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "ожидался ответ SSPI, но получено сообщение %d"
 
-#: libpq/auth.c:1367
+#: libpq/auth.c:1165
 msgid "could not accept SSPI security context"
 msgstr "принять контекст безопасности SSPI не удалось"
 
-#: libpq/auth.c:1429
+#: libpq/auth.c:1227
 msgid "could not get token from SSPI security context"
 msgstr "не удалось получить маркер из контекста безопасности SSPI"
 
-#: libpq/auth.c:1673
+#: libpq/auth.c:1470
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "не удалось создать сокет для подключения к серверу Ident: %m"
 
-#: libpq/auth.c:1688
+#: libpq/auth.c:1485
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "не удалось привязаться к локальному адресу \"%s\": %m"
 
-#: libpq/auth.c:1700
+#: libpq/auth.c:1497
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "не удалось подключиться к серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1720
+#: libpq/auth.c:1517
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось отправить запрос серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1735
+#: libpq/auth.c:1532
 #, c-format
 msgid ""
 "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось получить ответ от сервера Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1745
+#: libpq/auth.c:1542
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "неверно форматированный ответ от сервера Ident: \"%s\""
 
-#: libpq/auth.c:1784
+#: libpq/auth.c:1580
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "проверка подлинности peer в этой ОС не поддерживается"
 
-#: libpq/auth.c:1788
+#: libpq/auth.c:1584
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "не удалось получить данные пользователя через механизм peer: %m"
 
-#: libpq/auth.c:1797
+#: libpq/auth.c:1593
 #, c-format
-msgid "local user with ID %d does not exist"
-msgstr "локальный пользователь с ID %d не существует"
+msgid "failed to look up local user id %ld: %s"
+msgstr "распознать идентификатор локального пользователя (%ld) не удалось: %s"
 
-#: libpq/auth.c:1880 libpq/auth.c:2151 libpq/auth.c:2516
+#: libpq/auth.c:1676 libpq/auth.c:1947 libpq/auth.c:2304
 #, c-format
 msgid "empty password returned by client"
 msgstr "клиент возвратил пустой пароль"
 
-#: libpq/auth.c:1890
+#: libpq/auth.c:1686
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "ошибка в нижележащем слое PAM: %s"
 
-#: libpq/auth.c:1959
+#: libpq/auth.c:1755
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "не удалось создать аутентификатор PAM: %s"
 
-#: libpq/auth.c:1970
+#: libpq/auth.c:1766
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_USER): %s"
 
-#: libpq/auth.c:1981
+#: libpq/auth.c:1777
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_CONV): %s"
 
-#: libpq/auth.c:1992
+#: libpq/auth.c:1788
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "ошибка в pam_authenticate: %s"
 
-#: libpq/auth.c:2003
+#: libpq/auth.c:1799
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "ошибка в pam_acct_mgmt: %s"
 
-#: libpq/auth.c:2014
+#: libpq/auth.c:1810
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "не удалось освободить аутентификатор PAM: %s"
 
-#: libpq/auth.c:2047
+#: libpq/auth.c:1843
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "не удалось инициализировать LDAP: %m"
 
-#: libpq/auth.c:2050
+#: libpq/auth.c:1846
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "не удалось инициализировать LDAP: код ошибки %d"
 
-#: libpq/auth.c:2060
+#: libpq/auth.c:1856
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "не удалось задать версию протокола LDAP: %s"
 
-#: libpq/auth.c:2089
+#: libpq/auth.c:1885
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "не удалось загрузить wldap32.dll"
 
-#: libpq/auth.c:2097
+#: libpq/auth.c:1893
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "не удалось найти функцию _ldap_start_tls_sA в wldap32.dll"
 
-#: libpq/auth.c:2098
+#: libpq/auth.c:1894
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP через SSL не поддерживается в этой ОС."
 
-#: libpq/auth.c:2113
+#: libpq/auth.c:1909
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "не удалось начать сеанс LDAP TLS: %s"
 
-#: libpq/auth.c:2135
+#: libpq/auth.c:1931
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-сервер не определён"
 
-#: libpq/auth.c:2188
+#: libpq/auth.c:1984
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "недопустимый символ в имени пользователя для проверки подлинности LDAP"
 
-#: libpq/auth.c:2203
+#: libpq/auth.c:1999
 #, c-format
 msgid ""
 "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
@@ -9814,28 +10217,28 @@ msgstr ""
 "не удалось выполнить начальную привязку LDAP для ldapbinddn \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2228
+#: libpq/auth.c:2023
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr ""
 "не удалось выполнить LDAP-поиск по фильтру \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2239
+#: libpq/auth.c:2034
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "в LDAP нет пользователя \"%s\""
 
-#: libpq/auth.c:2240
+#: libpq/auth.c:2035
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" не вернул результатов"
 
-#: libpq/auth.c:2244
+#: libpq/auth.c:2039
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "пользователь LDAP \"%s\" не уникален"
 
-#: libpq/auth.c:2245
+#: libpq/auth.c:2040
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural ""
@@ -9844,7 +10247,7 @@ msgstr[0] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\"
 msgstr[1] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записи."
 msgstr[2] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записей."
 
-#: libpq/auth.c:2263
+#: libpq/auth.c:2058
 #, c-format
 msgid ""
 "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
@@ -9852,19 +10255,19 @@ msgstr ""
 "не удалось получить dn для первого результата, соответствующего \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2283
+#: libpq/auth.c:2078
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2320
+#: libpq/auth.c:2108
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "ошибка при регистрации в LDAP пользователя \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2348
+#: libpq/auth.c:2136
 #, c-format
 msgid ""
 "certificate authentication failed for user \"%s\": client certificate "
@@ -9873,98 +10276,98 @@ msgstr ""
 "ошибка проверки подлинности пользователя \"%s\" по сертификату: сертификат "
 "клиента не содержит имя пользователя"
 
-#: libpq/auth.c:2472
+#: libpq/auth.c:2260
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-сервер не определён"
 
-#: libpq/auth.c:2479
+#: libpq/auth.c:2267
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "секрет RADIUS не определён"
 
-#: libpq/auth.c:2495 libpq/hba.c:1622
+#: libpq/auth.c:2283 libpq/hba.c:1609
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "не удалось преобразовать имя сервера RADIUS \"%s\" в адрес: %s"
 
-#: libpq/auth.c:2523
+#: libpq/auth.c:2311
 #, c-format
 msgid ""
 "RADIUS authentication does not support passwords longer than 16 characters"
 msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее 16 символов"
 
-#: libpq/auth.c:2534
+#: libpq/auth.c:2322
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "не удалось сгенерировать случайный вектор шифрования"
 
-#: libpq/auth.c:2557
+#: libpq/auth.c:2345
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "не удалось вычислить MD5-хэш пароля"
 
-#: libpq/auth.c:2579
+#: libpq/auth.c:2367
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "не удалось создать сокет RADIUS: %m"
 
-#: libpq/auth.c:2600
+#: libpq/auth.c:2388
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "не удалось привязаться к локальному сокету RADIUS: %m"
 
-#: libpq/auth.c:2610
+#: libpq/auth.c:2398
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "не удалось отправить пакет RADIUS: %m"
 
-#: libpq/auth.c:2639 libpq/auth.c:2664
+#: libpq/auth.c:2427 libpq/auth.c:2452
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "превышено время ожидания ответа RADIUS"
 
-#: libpq/auth.c:2657
+#: libpq/auth.c:2445
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "не удалось проверить состояние сокета RADIUS: %m"
 
-#: libpq/auth.c:2686
+#: libpq/auth.c:2474
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "не удалось прочитать ответ RADIUS: %m"
 
-#: libpq/auth.c:2698 libpq/auth.c:2702
+#: libpq/auth.c:2486 libpq/auth.c:2490
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "ответ RADIUS был отправлен с неверного порта: %d"
 
-#: libpq/auth.c:2711
+#: libpq/auth.c:2499
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "слишком короткий ответ RADIUS: %d"
 
-#: libpq/auth.c:2718
+#: libpq/auth.c:2506
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "в ответе RADIUS испорчена длина: %d (фактическая длина %d)"
 
-#: libpq/auth.c:2726
+#: libpq/auth.c:2514
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "пришёл ответ RADIUS на другой запрос: %d (ожидался %d)"
 
-#: libpq/auth.c:2751
+#: libpq/auth.c:2539
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "не удалось вычислить MD5 для принятого пакета"
 
-#: libpq/auth.c:2760
+#: libpq/auth.c:2548
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "ответ RADIUS содержит неверную подпись MD5"
 
-#: libpq/auth.c:2777
+#: libpq/auth.c:2565
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "ответ RADIUS содержит неверный код (%d) для пользователя \"%s\""
@@ -9977,6 +10380,7 @@ msgid "invalid large-object descriptor: %d"
 msgstr "неверный дескриптор большого объекта: %d"
 
 #: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
+#: libpq/be-fsstubs.c:790
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "нет доступа к большому объекту %u"
@@ -10040,126 +10444,166 @@ msgstr "не удалось создать файл сервера \"%s\": %m"
 msgid "could not write server file \"%s\": %m"
 msgstr "не удалось записать файл сервера \"%s\": %m"
 
-#: libpq/be-secure.c:284 libpq/be-secure.c:379
+#: libpq/be-fsstubs.c:815
+#, c-format
+msgid "large object read request is too large"
+msgstr "при чтении большого объекта запрошен чрезмерный размер"
+
+#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:187 utils/adt/genfile.c:232
+#, c-format
+msgid "requested length cannot be negative"
+msgstr "запрошенная длина не может быть отрицательной"
+
+#: libpq/be-secure.c:296 libpq/be-secure.c:418
 #, c-format
 msgid "SSL error: %s"
 msgstr "ошибка SSL: %s"
 
-#: libpq/be-secure.c:293 libpq/be-secure.c:388 libpq/be-secure.c:943
+#: libpq/be-secure.c:305 libpq/be-secure.c:427 libpq/be-secure.c:1046
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "нераспознанный код ошибки SSL: %d"
 
-#: libpq/be-secure.c:332 libpq/be-secure.c:336 libpq/be-secure.c:346
+#: libpq/be-secure.c:365
+#, c-format
+msgid "SSL failure during renegotiation start"
+msgstr "сбой SSL при попытке переподключения"
+
+#: libpq/be-secure.c:380
+#, c-format
+msgid "SSL handshake failure on renegotiation, retrying"
+msgstr "сбой согласования SSL при переподключении, следует повторная попытка"
+
+#: libpq/be-secure.c:384
+#, c-format
+msgid "unable to complete SSL handshake"
+msgstr "завершить согласование SSL не удалось"
+
+#: libpq/be-secure.c:453
+#, c-format
+msgid "SSL failed to renegotiate connection before limit expired"
+msgstr "не удалось установить SSL-соединение до превышения ограничения"
+
+#: libpq/be-secure.c:793
 #, c-format
-msgid "SSL renegotiation failure"
-msgstr "ошибка повторного согласования SSL"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: нераспознанное имя кривой: %s"
 
-#: libpq/be-secure.c:340
+#: libpq/be-secure.c:798
 #, c-format
-msgid "SSL failed to send renegotiation request"
-msgstr "не удалось передать запрос повторного согласования SSL"
+msgid "ECDH: could not create key"
+msgstr "ECDH: не удалось создать ключ"
 
-#: libpq/be-secure.c:741
+#: libpq/be-secure.c:835
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "не удалось создать контекст SSL: %s"
 
-#: libpq/be-secure.c:757
+#: libpq/be-secure.c:851
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "не удалось загрузить сертификат сервера \"%s\": %s"
 
-#: libpq/be-secure.c:763
+#: libpq/be-secure.c:857
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "не удалось обратиться к файлу закрытого ключа \"%s\": %m"
 
-#: libpq/be-secure.c:778
+#: libpq/be-secure.c:872
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "к файлу закрытого ключа \"%s\" имеют доступ все или группа"
 
-#: libpq/be-secure.c:780
+#: libpq/be-secure.c:874
 #, c-format
 msgid "Permissions should be u=rw (0600) or less."
 msgstr "Права должны быть u=rw (0600) или более ограниченные."
 
-#: libpq/be-secure.c:787
+#: libpq/be-secure.c:881
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s"
 
-#: libpq/be-secure.c:792
+#: libpq/be-secure.c:886
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "ошибка при проверке закрытого ключа: %s"
 
-#: libpq/be-secure.c:812
+#: libpq/be-secure.c:915
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "не удалось загрузить файл корневых сертификатов \"%s\": %s"
 
-#: libpq/be-secure.c:836
+#: libpq/be-secure.c:939
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "файл со списком отзыва сертификатов SSL \"%s\" игнорируется"
 
-#: libpq/be-secure.c:838
+#: libpq/be-secure.c:941
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "Библиотека SSL не поддерживает списки отзыва сертификатов."
 
-#: libpq/be-secure.c:843
+#: libpq/be-secure.c:946
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr ""
 "не удалось загрузить файл со списком отзыва сертификатов SSL \"%s\": %s"
 
-#: libpq/be-secure.c:888
+#: libpq/be-secure.c:991
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "инициализировать SSL-подключение не удалось: %s"
 
-#: libpq/be-secure.c:897
+#: libpq/be-secure.c:1000
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "не удалось создать SSL-сокет: %s"
 
-#: libpq/be-secure.c:923
+#: libpq/be-secure.c:1026
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "не удалось принять SSL-подключение: %m"
 
-#: libpq/be-secure.c:927 libpq/be-secure.c:938
+#: libpq/be-secure.c:1030 libpq/be-secure.c:1041
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "не удалось принять SSL-подключение: обрыв данных"
 
-#: libpq/be-secure.c:932
+#: libpq/be-secure.c:1035
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "не удалось принять SSL-подключение: %s"
 
-#: libpq/be-secure.c:988
+#: libpq/be-secure.c:1091
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "Имя SSL-сертификата включает нулевой байт"
 
-#: libpq/be-secure.c:999
+#: libpq/be-secure.c:1102
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "SSL-подключение от \"%s\""
 
-#: libpq/be-secure.c:1050
+#: libpq/be-secure.c:1153
 msgid "no SSL error reported"
 msgstr "нет сообщения об ошибке SSL"
 
-#: libpq/be-secure.c:1054
+#: libpq/be-secure.c:1157
 #, c-format
 msgid "SSL error code %lu"
 msgstr "код ошибки SSL: %lu"
 
+#: libpq/crypt.c:67
+#, c-format
+msgid "User \"%s\" has no password assigned."
+msgstr "Пользователь \"%s\" не имеет пароля."
+
+#: libpq/crypt.c:160
+#, c-format
+msgid "User \"%s\" has an expired password."
+msgstr "Срок пароля пользователя \"%s\" истёк."
+
 #: libpq/hba.c:188
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
@@ -10179,208 +10623,198 @@ msgstr ""
 msgid "authentication file line too long"
 msgstr "слишком длинная строка в файле конфигурации безопасности"
 
-#: libpq/hba.c:410 libpq/hba.c:775 libpq/hba.c:791 libpq/hba.c:821
-#: libpq/hba.c:867 libpq/hba.c:880 libpq/hba.c:902 libpq/hba.c:911
-#: libpq/hba.c:934 libpq/hba.c:946 libpq/hba.c:965 libpq/hba.c:986
-#: libpq/hba.c:997 libpq/hba.c:1052 libpq/hba.c:1070 libpq/hba.c:1082
-#: libpq/hba.c:1099 libpq/hba.c:1109 libpq/hba.c:1123 libpq/hba.c:1139
-#: libpq/hba.c:1154 libpq/hba.c:1165 libpq/hba.c:1207 libpq/hba.c:1239
-#: libpq/hba.c:1250 libpq/hba.c:1270 libpq/hba.c:1281 libpq/hba.c:1292
-#: libpq/hba.c:1309 libpq/hba.c:1334 libpq/hba.c:1371 libpq/hba.c:1381
-#: libpq/hba.c:1438 libpq/hba.c:1450 libpq/hba.c:1463 libpq/hba.c:1546
-#: libpq/hba.c:1624 libpq/hba.c:1642 libpq/hba.c:1663 tsearch/ts_locale.c:182
+#: libpq/hba.c:410 libpq/hba.c:787 libpq/hba.c:803 libpq/hba.c:833
+#: libpq/hba.c:879 libpq/hba.c:892 libpq/hba.c:914 libpq/hba.c:923
+#: libpq/hba.c:946 libpq/hba.c:958 libpq/hba.c:977 libpq/hba.c:998
+#: libpq/hba.c:1009 libpq/hba.c:1064 libpq/hba.c:1082 libpq/hba.c:1094
+#: libpq/hba.c:1111 libpq/hba.c:1121 libpq/hba.c:1135 libpq/hba.c:1151
+#: libpq/hba.c:1166 libpq/hba.c:1177 libpq/hba.c:1213 libpq/hba.c:1245
+#: libpq/hba.c:1256 libpq/hba.c:1276 libpq/hba.c:1287 libpq/hba.c:1304
+#: libpq/hba.c:1329 libpq/hba.c:1366 libpq/hba.c:1376 libpq/hba.c:1432
+#: libpq/hba.c:1444 libpq/hba.c:1457 libpq/hba.c:1540 libpq/hba.c:1611
+#: libpq/hba.c:1629 libpq/hba.c:1650 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "строка %d файла конфигурации \"%s\""
 
-#: libpq/hba.c:622
-#, c-format
-msgid "could not translate host name \"%s\" to address: %s"
-msgstr "преобразовать имя \"%s\" в адрес не удалось: %s"
-
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:773
+#: libpq/hba.c:785
 #, c-format
 msgid ""
 "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr "параметр проверки подлинности \"%s\" допускается только для методов %s"
 
-#: libpq/hba.c:789
+#: libpq/hba.c:801
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr ""
 "для метода проверки подлинности \"%s\" требуется определить аргумент \"%s\""
 
-#: libpq/hba.c:810
+#: libpq/hba.c:822
 #, c-format
 msgid "missing entry in file \"%s\" at end of line %d"
 msgstr "отсутствует запись в файле \"%s\" в конце строки %d"
 
-#: libpq/hba.c:820
+#: libpq/hba.c:832
 #, c-format
 msgid "multiple values in ident field"
 msgstr "множественные значения в поле ident"
 
-#: libpq/hba.c:865
+#: libpq/hba.c:877
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "для типа подключения указано несколько значений"
 
-#: libpq/hba.c:866
+#: libpq/hba.c:878
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Определите в строке единственный тип подключения."
 
-#: libpq/hba.c:879
+#: libpq/hba.c:891
 #, c-format
 msgid "local connections are not supported by this build"
 msgstr "локальные подключения не поддерживаются в этой сборке"
 
-#: libpq/hba.c:900
+#: libpq/hba.c:912
 #, c-format
 msgid "hostssl requires SSL to be turned on"
 msgstr "для использования hostssl необходимо включить SSL"
 
-#: libpq/hba.c:901
+#: libpq/hba.c:913
 #, c-format
 msgid "Set ssl = on in postgresql.conf."
 msgstr "Установите ssl = on в postgresql.conf."
 
-#: libpq/hba.c:909
+#: libpq/hba.c:921
 #, c-format
 msgid "hostssl is not supported by this build"
 msgstr "hostssl не поддерживается в этой сборке"
 
-#: libpq/hba.c:910
+#: libpq/hba.c:922
 #, c-format
 msgid "Compile with --with-openssl to use SSL connections."
 msgstr "Для работы с SSL скомпилируйте posgresql с ключом --with-openssl."
 
-#: libpq/hba.c:932
+#: libpq/hba.c:944
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "неверный тип подключения \"%s\""
 
-#: libpq/hba.c:945
+#: libpq/hba.c:957
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "конец строки перед определением базы данных"
 
-#: libpq/hba.c:964
+#: libpq/hba.c:976
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "конец строки перед определением роли"
 
-#: libpq/hba.c:985
+#: libpq/hba.c:997
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "конец строки перед определением IP-адресов"
 
-#: libpq/hba.c:995
+#: libpq/hba.c:1007
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "для адреса узла указано несколько значений"
 
-#: libpq/hba.c:996
+#: libpq/hba.c:1008
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Определите в строке один диапазон адресов."
 
-#: libpq/hba.c:1050
+#: libpq/hba.c:1062
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "неверный IP-адрес \"%s\": %s"
 
-#: libpq/hba.c:1068
+#: libpq/hba.c:1080
 #, c-format
 msgid "specifying both host name and CIDR mask is invalid: \"%s\""
 msgstr "указать одновременно и имя узла, и маску CIDR нельзя: \"%s\""
 
-#: libpq/hba.c:1080
+#: libpq/hba.c:1092
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "неверная маска CIDR в адресе \"%s\""
 
-#: libpq/hba.c:1097
+#: libpq/hba.c:1109
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "конец строки перед определением маски сети"
 
-#: libpq/hba.c:1098
+#: libpq/hba.c:1110
 #, c-format
 msgid ""
 "Specify an address range in CIDR notation, or provide a separate netmask."
 msgstr ""
 "Укажите диапазон адресов в формате CIDR или задайте отдельную маску сети."
 
-#: libpq/hba.c:1108
+#: libpq/hba.c:1120
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "для сетевой маски указано несколько значений"
 
-#: libpq/hba.c:1121
+#: libpq/hba.c:1133
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "неверная маска IP \"%s\": %s"
 
-#: libpq/hba.c:1138
+#: libpq/hba.c:1150
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "IP-адрес не соответствует маске"
 
-#: libpq/hba.c:1153
+#: libpq/hba.c:1165
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "конец строки перед методом проверки подлинности"
 
-#: libpq/hba.c:1163
+#: libpq/hba.c:1175
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "для типа проверки подлинности указано несколько значений"
 
-#: libpq/hba.c:1164
+#: libpq/hba.c:1176
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Определите в строке единственный тип проверки подлинности."
 
-#: libpq/hba.c:1237
+#: libpq/hba.c:1243
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "неверный метод проверки подлинности \"%s\""
 
-#: libpq/hba.c:1248
+#: libpq/hba.c:1254
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr ""
 "неверный метод проверки подлинности \"%s\": не поддерживается в этой сборке"
 
-#: libpq/hba.c:1269
-#, c-format
-msgid "krb5 authentication is not supported on local sockets"
-msgstr "проверка подлинности krb5 для локальных сокетов не поддерживается"
-
-#: libpq/hba.c:1280
+#: libpq/hba.c:1275
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "проверка подлинности gssapi для локальных сокетов не поддерживается"
 
-#: libpq/hba.c:1291
+#: libpq/hba.c:1286
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "проверка подлинности peer поддерживается только для локальных сокетов"
 
-#: libpq/hba.c:1308
+#: libpq/hba.c:1303
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr ""
 "проверка подлинности cert поддерживается только для подключений hostssl"
 
-#: libpq/hba.c:1333
+#: libpq/hba.c:1328
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "параметр проверки подлинности указан не в формате имя=значение: %s"
 
-#: libpq/hba.c:1370
+#: libpq/hba.c:1365
 #, c-format
 msgid ""
 "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or "
@@ -10389,7 +10823,7 @@ msgstr ""
 "нельзя использовать ldapbasedn, ldapbinddn, ldapbindpasswd, "
 "ldapsearchattribute или ldapurl вместе с ldapprefix"
 
-#: libpq/hba.c:1380
+#: libpq/hba.c:1375
 #, c-format
 msgid ""
 "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix"
@@ -10398,16 +10832,16 @@ msgstr ""
 "для метода проверки подлинности \"ldap\" требуется установить аргументы "
 "\"ldapbasedn\" и \"ldapprefix\" или \"ldapsuffix\""
 
-#: libpq/hba.c:1424
-msgid "ident, peer, krb5, gssapi, sspi, and cert"
-msgstr "ident, peer, krb5, gssapi, sspi и cert"
+#: libpq/hba.c:1418
+msgid "ident, peer, gssapi, sspi, and cert"
+msgstr "ident, peer, gssapi, sspi и cert"
 
-#: libpq/hba.c:1437
+#: libpq/hba.c:1431
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert можно определить только в строках \"hostssl\""
 
-#: libpq/hba.c:1448
+#: libpq/hba.c:1442
 #, c-format
 msgid ""
 "client certificates can only be checked if a root certificate store is "
@@ -10416,78 +10850,78 @@ msgstr ""
 "сертификаты клиентов могут проверяться, только если доступно хранилище "
 "корневых сертификатов"
 
-#: libpq/hba.c:1449
+#: libpq/hba.c:1443
 #, c-format
 msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
 msgstr "Убедитесь, что в конфигурации установлен параметр \"ssl_ca_file\"."
 
-#: libpq/hba.c:1462
+#: libpq/hba.c:1456
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr ""
 "clientcert нельзя установить в 0 при использовании проверки подлинности "
 "\"cert\""
 
-#: libpq/hba.c:1489
+#: libpq/hba.c:1483
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "не удалось разобрать URL-адрес LDAP \"%s\": %s"
 
-#: libpq/hba.c:1497
+#: libpq/hba.c:1491
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "неподдерживаемая схема в URL-адресе LDAP: %s"
 
-#: libpq/hba.c:1513
+#: libpq/hba.c:1507
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "фильтры в URL-адресах LDAP не поддерживаются"
 
-#: libpq/hba.c:1521
+#: libpq/hba.c:1515
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL-адреса LDAP не поддерживаются в этой ОС"
 
-#: libpq/hba.c:1545
+#: libpq/hba.c:1539
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "неверный номер порта LDAP: \"%s\""
 
-#: libpq/hba.c:1591 libpq/hba.c:1599
-msgid "krb5, gssapi, and sspi"
-msgstr "krb5, gssapi и sspi"
+#: libpq/hba.c:1579 libpq/hba.c:1586
+msgid "gssapi and sspi"
+msgstr "gssapi и sspi"
 
-#: libpq/hba.c:1641
+#: libpq/hba.c:1628
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "неверный номер порта RADIUS: \"%s\""
 
-#: libpq/hba.c:1661
+#: libpq/hba.c:1648
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "нераспознанное имя атрибута проверки подлинности: \"%s\""
 
-#: libpq/hba.c:1802 guc-file.l:439
+#: libpq/hba.c:1789 guc-file.l:517
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "открыть файл конфигурации \"%s\" не удалось: %m"
 
-#: libpq/hba.c:1852
+#: libpq/hba.c:1839
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "файл конфигурации \"%s\" не содержит записей"
 
-#: libpq/hba.c:1948
+#: libpq/hba.c:1935
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "неверное регулярное выражение \"%s\": %s"
 
-#: libpq/hba.c:2008
+#: libpq/hba.c:1995
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "ошибка при поиске по регулярному выражению для \"%s\": %s"
 
-#: libpq/hba.c:2025
+#: libpq/hba.c:2012
 #, c-format
 msgid ""
 "regular expression \"%s\" has no subexpressions as requested by "
@@ -10496,21 +10930,21 @@ msgstr ""
 "в регулярном выражении \"%s\" нет подвыражений, требуемых для обратной "
 "ссылки в \"%s\""
 
-#: libpq/hba.c:2121
+#: libpq/hba.c:2108
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr ""
 "указанное имя пользователя (%s) не совпадает с именем прошедшего проверку "
 "(%s)"
 
-#: libpq/hba.c:2141
+#: libpq/hba.c:2128
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr ""
 "нет соответствия в файле сопоставлений \"%s\" для пользователя \"%s\", "
 "прошедшего проверку как \"%s\""
 
-#: libpq/hba.c:2176
+#: libpq/hba.c:2163
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "не удалось открыть файл сопоставлений пользователей \"%s\": %m"
@@ -10661,7 +11095,7 @@ msgid "no data left in message"
 msgstr "в сообщении не осталось данных"
 
 #: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1416 utils/adt/rowtypes.c:559
+#: utils/adt/arrayfuncs.c:1416 utils/adt/rowtypes.c:561
 #, c-format
 msgid "insufficient data left in message"
 msgstr "недостаточно данных осталось в сообщении"
@@ -10676,17 +11110,17 @@ msgstr "неверная строка в сообщении"
 msgid "invalid message format"
 msgstr "неверный формат сообщения"
 
-#: main/main.c:241
+#: main/main.c:262
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: ошибка setsysinfo: %s\n"
 
-#: main/main.c:263
+#: main/main.c:284
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: ошибка WSAStartup: %d\n"
 
-#: main/main.c:282
+#: main/main.c:313
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -10695,7 +11129,7 @@ msgstr ""
 "%s - сервер PostgreSQL.\n"
 "\n"
 
-#: main/main.c:283
+#: main/main.c:314
 #, c-format
 msgid ""
 "Usage:\n"
@@ -10706,121 +11140,121 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: main/main.c:284
+#: main/main.c:315
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: main/main.c:286
+#: main/main.c:317
 #, c-format
 msgid "  -A 1|0             enable/disable run-time assert checking\n"
 msgstr ""
 "  -A 1|0             включить/выключить проверки истинности во время "
 "выполнения\n"
 
-#: main/main.c:288
+#: main/main.c:319
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ЧИСЛО_БУФ       число разделяемых буферов\n"
 
-#: main/main.c:289
+#: main/main.c:320
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c ИМЯ=ЗНАЧЕНИЕ    установить параметр выполнения\n"
 
-#: main/main.c:290
+#: main/main.c:321
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C ИМЯ             вывести значение параметра выполнения и выйти\n"
 
-#: main/main.c:291
+#: main/main.c:322
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             уровень отладочных сообщений\n"
 
-#: main/main.c:292
+#: main/main.c:323
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D КАТАЛОГ         каталог с данными\n"
 
-#: main/main.c:293
+#: main/main.c:324
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 использовать европейский формат дат (ДМГ)\n"
 
-#: main/main.c:294
+#: main/main.c:325
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 выключить синхронизацию с ФС\n"
 
-#: main/main.c:295
+#: main/main.c:326
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h ИМЯ             имя или IP-адрес для приёма сетевых соединений\n"
 
-#: main/main.c:296
+#: main/main.c:327
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 включить соединения TCP/IP\n"
 
-#: main/main.c:297
+#: main/main.c:328
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k КАТАЛОГ         расположение доменных сокетов Unix\n"
 
-#: main/main.c:299
+#: main/main.c:330
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 разрешить SSL-подключения\n"
 
-#: main/main.c:301
+#: main/main.c:332
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N МАКС_ПОДКЛ      предельное число подключений\n"
 
-#: main/main.c:302
+#: main/main.c:333
 #, c-format
 msgid ""
 "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr ""
 "  -o ПАРАМЕТРЫ       параметры для серверных процессов (уже неактуально)\n"
 
-#: main/main.c:303
+#: main/main.c:334
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p ПОРТ            номер порта для приёма подключений\n"
 
-#: main/main.c:304
+#: main/main.c:335
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 показывать статистику после каждого запроса\n"
 
-#: main/main.c:305
+#: main/main.c:336
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S РАБ_ПАМЯТЬ      задать объём памяти для сортировки (в КБ)\n"
 
-#: main/main.c:306
+#: main/main.c:337
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      показать версию и выйти\n"
 
-#: main/main.c:307
+#: main/main.c:338
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --ИМЯ=ЗНАЧЕНИЕ     установить параметр выполнения\n"
 
-#: main/main.c:308
+#: main/main.c:339
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  вывести параметры конфигурации и выйти\n"
 
-#: main/main.c:309
+#: main/main.c:340
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         показать эту справку и выйти\n"
 
-#: main/main.c:311
+#: main/main.c:342
 #, c-format
 msgid ""
 "\n"
@@ -10829,12 +11263,12 @@ msgstr ""
 "\n"
 "Параметры для разработчиков:\n"
 
-#: main/main.c:312
+#: main/main.c:343
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       запретить некоторые типы планов\n"
 
-#: main/main.c:313
+#: main/main.c:344
 #, c-format
 msgid ""
 "  -n                 do not reinitialize shared memory after abnormal exit\n"
@@ -10842,22 +11276,22 @@ msgstr ""
 "  -n                 не переинициализировать разделяемую память после\n"
 "                     аварийного выхода\n"
 
-#: main/main.c:314
+#: main/main.c:345
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 разрешить изменять структуру системных таблиц\n"
 
-#: main/main.c:315
+#: main/main.c:346
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 отключить системные индексы\n"
 
-#: main/main.c:316
+#: main/main.c:347
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        показать время каждого запроса\n"
 
-#: main/main.c:317
+#: main/main.c:348
 #, c-format
 msgid ""
 "  -T                 send SIGSTOP to all backend processes if one dies\n"
@@ -10865,13 +11299,13 @@ msgstr ""
 "  -T                 посылать сигнал SIGSTOP всем серверным процессам\n"
 "                     при отключении одного\n"
 
-#: main/main.c:318
+#: main/main.c:349
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W СЕК             ждать заданное число секунд для подключения отладчика\n"
 
-#: main/main.c:320
+#: main/main.c:351
 #, c-format
 msgid ""
 "\n"
@@ -10880,7 +11314,7 @@ msgstr ""
 "\n"
 "Параметры для монопольного режима:\n"
 
-#: main/main.c:321
+#: main/main.c:352
 #, c-format
 msgid ""
 "  --single           selects single-user mode (must be first argument)\n"
@@ -10888,22 +11322,22 @@ msgstr ""
 "  --single           включить монопольный режим\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:322
+#: main/main.c:353
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  ИМЯ_БД             база данных (по умолчанию - имя пользователя)\n"
 
-#: main/main.c:323
+#: main/main.c:354
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             переопределить уровень отладочных сообщений\n"
 
-#: main/main.c:324
+#: main/main.c:355
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 выводить SQL-операторы перед выполнением\n"
 
-#: main/main.c:325
+#: main/main.c:356
 #, c-format
 msgid ""
 "  -j                 do not use newline as interactive query delimiter\n"
@@ -10911,12 +11345,12 @@ msgstr ""
 "  -j                 не считать конец строки разделителем интерактивных "
 "запросов\n"
 
-#: main/main.c:326 main/main.c:331
+#: main/main.c:357 main/main.c:362
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r ИМЯ_ФАЙЛА       перенаправить STDOUT и STDERR в указанный файл\n"
 
-#: main/main.c:328
+#: main/main.c:359
 #, c-format
 msgid ""
 "\n"
@@ -10925,7 +11359,7 @@ msgstr ""
 "\n"
 "Параметры для режима инициализации:\n"
 
-#: main/main.c:329
+#: main/main.c:360
 #, c-format
 msgid ""
 "  --boot             selects bootstrapping mode (must be first argument)\n"
@@ -10933,7 +11367,7 @@ msgstr ""
 "  --boot             включить режим инициализации\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:330
+#: main/main.c:361
 #, c-format
 msgid ""
 "  DBNAME             database name (mandatory argument in bootstrapping "
@@ -10941,12 +11375,12 @@ msgid ""
 msgstr ""
 "  ИМЯ_БД             имя базы данных (необходимо в режиме инициализации)\n"
 
-#: main/main.c:332
+#: main/main.c:363
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x ЧИСЛО           параметр для внутреннего использования\n"
 
-#: main/main.c:334
+#: main/main.c:365
 #, c-format
 msgid ""
 "\n"
@@ -10963,7 +11397,7 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: main/main.c:348
+#: main/main.c:379
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -10976,12 +11410,12 @@ msgstr ""
 "должен запускать обычный пользователь. Подробнее о том, как\n"
 "правильно запускать сервер, вы можете узнать в документации.\n"
 
-#: main/main.c:365
+#: main/main.c:396
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: фактический и эффективный ID пользователя должны совпадать\n"
 
-#: main/main.c:372
+#: main/main.c:403
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -10996,19 +11430,9 @@ msgstr ""
 "должен запускать обычный пользователь. Подробнее о том, как\n"
 "правильно запускать сервер, вы можете узнать в документации.\n"
 
-#: main/main.c:393
-#, c-format
-msgid "%s: invalid effective UID: %d\n"
-msgstr "%s: неверный эффективный UID: %d\n"
-
-#: main/main.c:406
-#, c-format
-msgid "%s: could not determine user name (GetUserName failed)\n"
-msgstr "%s: не удалось определить имя пользователя (ошибка в GetUserName)\n"
-
 #: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
 #: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
-#: parser/parse_expr.c:1722 parser/parse_func.c:369 parser/parse_oper.c:948
+#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "тип массива для типа данных %s не найден"
@@ -11029,19 +11453,19 @@ 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:1093 parser/analyze.c:1334 parser/analyze.c:1532
-#: parser/analyze.c:2278
+#: optimizer/plan/planner.c:1158 parser/analyze.c:1334 parser/analyze.c:1532
+#: parser/analyze.c:2291
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s несовместимо с UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:2515
+#: optimizer/plan/planner.c:2723
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "не удалось реализовать GROUP BY"
 
-#: optimizer/plan/planner.c:2516 optimizer/plan/planner.c:2688
-#: optimizer/prep/prepunion.c:824
+#: optimizer/plan/planner.c:2724 optimizer/plan/planner.c:2892
+#: optimizer/prep/prepunion.c:825
 #, c-format
 msgid ""
 "Some of the datatypes only support hashing, while others only support "
@@ -11050,53 +11474,53 @@ msgstr ""
 "Одни типы данных поддерживают только хэширование, а другие - только "
 "сортировку."
 
-#: optimizer/plan/planner.c:2687
+#: optimizer/plan/planner.c:2891
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "не удалось реализовать DISTINCT"
 
-#: optimizer/plan/planner.c:3297
+#: optimizer/plan/planner.c:3497
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "не удалось реализовать PARTITION BY для окна"
 
-#: optimizer/plan/planner.c:3298
+#: optimizer/plan/planner.c:3498
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Колонки, разбивающие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/plan/planner.c:3302
+#: optimizer/plan/planner.c:3502
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "не удалось реализовать ORDER BY для окна"
 
-#: optimizer/plan/planner.c:3303
+#: optimizer/plan/planner.c:3503
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Колонки, сортирующие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/plan/setrefs.c:405
+#: optimizer/plan/setrefs.c:402
 #, c-format
 msgid "too many range table entries"
 msgstr "слишком много элементов RTE"
 
-#: optimizer/prep/prepunion.c:418
+#: optimizer/prep/prepunion.c:419
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "не удалось реализовать рекурсивный UNION"
 
-#: optimizer/prep/prepunion.c:419
+#: optimizer/prep/prepunion.c:420
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Все колонки должны иметь хэшируемые типы данных."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:823
+#: optimizer/prep/prepunion.c:824
 #, c-format
 msgid "could not implement %s"
 msgstr "не удалось реализовать %s"
 
-#: optimizer/util/clauses.c:4438
+#: optimizer/util/clauses.c:4519
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "внедрённая в код SQL-функция \"%s\""
@@ -11143,7 +11567,7 @@ msgid "DEFAULT can only appear in a VALUES list within INSERT"
 msgstr "DEFAULT может присутствовать в списке VALUES только в контексте INSERT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1239 parser/analyze.c:2450
+#: parser/analyze.c:1239 parser/analyze.c:2463
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s нельзя применять к VALUES"
@@ -11187,267 +11611,281 @@ msgstr ""
 msgid "each %s query must have the same number of columns"
 msgstr "все запросы в %s должны возвращать одинаковое число колонок"
 
-#: parser/analyze.c:2079
+#: parser/analyze.c:2055
+#, c-format
+msgid "RETURNING must have at least one column"
+msgstr "в RETURNING должна быть минимум одна колонка"
+
+#: parser/analyze.c:2092
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "противоречивые указания SCROLL и NO SCROLL"
 
-#: parser/analyze.c:2097
+#: parser/analyze.c:2110
 #, 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:2105
+#: parser/analyze.c:2118
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживается"
 
-#: parser/analyze.c:2108
+#: parser/analyze.c:2121
 #, 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:2116
+#: parser/analyze.c:2129
 #, 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:2127
+#: parser/analyze.c:2140
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s не поддерживается"
 
-#: parser/analyze.c:2130
+#: parser/analyze.c:2143
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Независимые курсоры должны быть READ ONLY."
 
-#: parser/analyze.c:2196
+#: parser/analyze.c:2209
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr ""
 "в материализованных представлениях не должны использоваться операторы, "
 "изменяющие данные в WITH"
 
-#: parser/analyze.c:2206
+#: parser/analyze.c:2219
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr ""
 "в материализованных представлениях не должны использоваться временные "
 "таблицы и представления"
 
-#: parser/analyze.c:2216
+#: parser/analyze.c:2229
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr ""
 "определять материализованные представления со связанными параметрами нельзя"
 
-#: parser/analyze.c:2228
+#: parser/analyze.c:2241
 #, c-format
 msgid "materialized views cannot be UNLOGGED"
 msgstr ""
 "материализованные представления не могут быть нежурналируемыми (UNLOGGED)"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2285
+#: parser/analyze.c:2298
 #, 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:2292
+#: parser/analyze.c:2305
 #, 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:2299
+#: parser/analyze.c:2312
 #, 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:2306
+#: parser/analyze.c:2319
 #, 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:2313
+#: parser/analyze.c:2326
 #, 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:2320
+#: parser/analyze.c:2333
 #, 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:2399
+#: parser/analyze.c:2412
 #, 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:2432
+#: parser/analyze.c:2445
 #, 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:2441
+#: parser/analyze.c:2454
 #, 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:2459
+#: parser/analyze.c:2472
 #, 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:2476
+#: parser/analyze.c:2489
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM"
 
-#: parser/parse_agg.c:144 parser/parse_oper.c:219
+#: parser/parse_agg.c:201 parser/parse_oper.c:219
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "для типа %s не удалось найти оператор сортировки"
 
-#: parser/parse_agg.c:146
+#: parser/parse_agg.c:203
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные."
 
-#: parser/parse_agg.c:193
+#: parser/parse_agg.c:254
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "агрегатные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:199
+#: parser/parse_agg.c:260
 msgid ""
 "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr ""
 "агрегатные функции нельзя применять в предложении FROM их уровня запроса"
 
-#: parser/parse_agg.c:202
+#: parser/parse_agg.c:263
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "агрегатные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:217
+#: parser/parse_agg.c:281
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "агрегатные функции нельзя применять в указании RANGE для окна"
 
-#: parser/parse_agg.c:220
+#: parser/parse_agg.c:284
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "агрегатные функции нельзя применять в указании ROWS для окна"
 
-#: parser/parse_agg.c:251
+#: parser/parse_agg.c:315
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "агрегатные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:255
+#: parser/parse_agg.c:319
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "агрегатные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:258
+#: parser/parse_agg.c:322
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "агрегатные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:261
+#: parser/parse_agg.c:325
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "агрегатные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:264
+#: parser/parse_agg.c:328
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "агрегатные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:267
+#: parser/parse_agg.c:331
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "агрегатные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:270
+#: parser/parse_agg.c:334
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "агрегатные функции нельзя применять в условиях WHEN для триггеров"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:290 parser/parse_clause.c:1291
+#: parser/parse_agg.c:354 parser/parse_clause.c:1407
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "агрегатные функции нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:396
+#: parser/parse_agg.c:457
+#, c-format
+msgid ""
+"outer-level aggregate cannot contain a lower-level variable in its direct "
+"arguments"
+msgstr ""
+"агрегатная функция внешнего уровня не может содержать в своих аргументах "
+"переменные нижнего уровня"
+
+#: parser/parse_agg.c:514
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "вызовы агрегатных функций не могут включать вызовы оконных функции"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:591
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "оконные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:598
 msgid "window functions are not allowed in functions in FROM"
 msgstr "оконные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:488
+#: parser/parse_agg.c:613
 msgid "window functions are not allowed in window definitions"
 msgstr "оконные функции нельзя применять в определении окна"
 
-#: parser/parse_agg.c:519
+#: parser/parse_agg.c:644
 msgid "window functions are not allowed in check constraints"
 msgstr "оконные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:523
+#: parser/parse_agg.c:648
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "оконные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:526
+#: parser/parse_agg.c:651
 msgid "window functions are not allowed in index expressions"
 msgstr "оконные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:529
+#: parser/parse_agg.c:654
 msgid "window functions are not allowed in index predicates"
 msgstr "оконные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:532
+#: parser/parse_agg.c:657
 msgid "window functions are not allowed in transform expressions"
 msgstr "оконные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:535
+#: parser/parse_agg.c:660
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "оконные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:538
+#: parser/parse_agg.c:663
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "оконные функции нельзя применять в условиях WHEN для триггеров"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:558 parser/parse_clause.c:1300
+#: parser/parse_agg.c:683 parser/parse_clause.c:1416
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "оконные функции нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:592 parser/parse_clause.c:1711
+#: parser/parse_agg.c:717 parser/parse_clause.c:1827
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "окно \"%s\" не существует"
 
-#: parser/parse_agg.c:754
+#: parser/parse_agg.c:879
 #, c-format
 msgid ""
 "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr ""
 "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы"
 
-#: parser/parse_agg.c:909
+#: parser/parse_agg.c:1057
 #, c-format
 msgid ""
 "column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
@@ -11456,92 +11894,149 @@ msgstr ""
 "колонка \"%s.%s\" должна фигурировать в предложении GROUP BY или "
 "использоваться в агрегатной функции"
 
-#: parser/parse_agg.c:915
+#: parser/parse_agg.c:1060
+#, c-format
+msgid ""
+"Direct arguments of an ordered-set aggregate must use only grouped columns."
+msgstr ""
+"Прямые аргументы сортирующей агрегатной функции могут включать только "
+"группируемые колонки."
+
+#: parser/parse_agg.c:1065
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr ""
 "подзапрос использует негруппированную колонку \"%s.%s\" из внешнего запроса"
 
-#: parser/parse_clause.c:851
+#: parser/parse_clause.c:636
+#, c-format
+msgid "multiple column definition lists are not allowed for the same function"
+msgstr ""
+"для одной и той же функции нельзя задать разные списки с определениями "
+"колонок"
+
+#: parser/parse_clause.c:669
+#, c-format
+msgid ""
+"ROWS FROM() with multiple functions cannot have a column definition list"
+msgstr ""
+"у ROWS FROM() с несколькими функциями не может быть списка с определениями "
+"колонок"
+
+#: parser/parse_clause.c:670
+#, c-format
+msgid ""
+"Put a separate column definition list for each function inside ROWS FROM()."
+msgstr ""
+"Добавьте отдельные списки с определениями колонок для каждой функции в ROWS "
+"FROM()."
+
+#: parser/parse_clause.c:676
+#, c-format
+msgid "UNNEST() with multiple arguments cannot have a column definition list"
+msgstr ""
+"у UNNEST() с несколькими аргументами не может быть списка с определениями "
+"колонок"
+
+#: parser/parse_clause.c:677
+#, c-format
+msgid ""
+"Use separate UNNEST() calls inside ROWS FROM(), and attach a column "
+"definition list to each one."
+msgstr ""
+"Напишите отдельные вызовы UNNEST() внутри ROWS FROM() и добавьте список с "
+"определениями колонок к каждому."
+
+#: parser/parse_clause.c:684
+#, c-format
+msgid "WITH ORDINALITY cannot be used with a column definition list"
+msgstr "WITH ORDINALITY нельзя использовать со списком с определениями колонок"
+
+#: parser/parse_clause.c:685
+#, c-format
+msgid "Put the column definition list inside ROWS FROM()."
+msgstr "Поместите список с определениями колонок внутрь ROWS FROM()."
+
+#: parser/parse_clause.c:967
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "имя колонки \"%s\" фигурирует в предложении USING неоднократно"
 
-#: parser/parse_clause.c:866
+#: parser/parse_clause.c:982
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "имя общей колонки \"%s\" фигурирует в таблице слева неоднократно"
 
-#: parser/parse_clause.c:875
+#: parser/parse_clause.c:991
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "в таблице слева нет колонки \"%s\", указанной в предложении USING"
 
-#: parser/parse_clause.c:889
+#: parser/parse_clause.c:1005
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "имя общей колонки \"%s\" фигурирует в таблице справа неоднократно"
 
-#: parser/parse_clause.c:898
+#: parser/parse_clause.c:1014
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "в таблице справа нет колонки \"%s\", указанной в предложении USING"
 
-#: parser/parse_clause.c:952
+#: parser/parse_clause.c:1068
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "слишком много записей в списке псевдонимов колонки \"%s\""
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1261
+#: parser/parse_clause.c:1377
 #, 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:1426
+#: parser/parse_clause.c:1542
 #, 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:1455
+#: parser/parse_clause.c:1571
 #, 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:1477
+#: parser/parse_clause.c:1593
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "в списке выборки %s нет элемента %d"
 
-#: parser/parse_clause.c:1699
+#: parser/parse_clause.c:1815
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "окно \"%s\" уже определено"
 
-#: parser/parse_clause.c:1760
+#: parser/parse_clause.c:1876
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "переопределить предложение PARTITION BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:1772
+#: parser/parse_clause.c:1888
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "переопределить предложение ORDER BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:1802 parser/parse_clause.c:1808
+#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "скопировать окно \"%s\", имеющее предложение рамки, нельзя"
 
-#: parser/parse_clause.c:1810
+#: parser/parse_clause.c:1926
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Уберите скобки в предложении OVER."
 
-#: parser/parse_clause.c:1876
+#: parser/parse_clause.c:1992
 #, c-format
 msgid ""
 "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
@@ -11550,25 +12045,35 @@ msgstr ""
 "для агрегатной функции с DISTINCT, выражения ORDER BY должны быть в списке "
 "аргументов"
 
-#: parser/parse_clause.c:1877
+#: parser/parse_clause.c:1993
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 "в конструкции SELECT DISTINCT выражения ORDER BY должны быть в списке выборки"
 
-#: parser/parse_clause.c:1963 parser/parse_clause.c:1995
+#: parser/parse_clause.c:2026
+#, c-format
+msgid "an aggregate with DISTINCT must have at least one argument"
+msgstr "агрегатной функции с DISTINCT нужен минимум один аргумент"
+
+#: parser/parse_clause.c:2027
+#, c-format
+msgid "SELECT DISTINCT must have at least one column"
+msgstr "в SELECT DISTINCT нужна минимум одна колонка"
+
+#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "выражения SELECT DISTINCT ON должны соответствовать начальным выражениям "
 "ORDER BY"
 
-#: parser/parse_clause.c:2117
+#: parser/parse_clause.c:2253
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "оператор %s не годится для сортировки"
 
-#: parser/parse_clause.c:2119
+#: parser/parse_clause.c:2255
 #, c-format
 msgid ""
 "Ordering operators must be \"<\" or \">\" members of btree operator families."
@@ -11578,7 +12083,7 @@ msgstr ""
 
 #: parser/parse_coerce.c:933 parser/parse_coerce.c:963
 #: parser/parse_coerce.c:981 parser/parse_coerce.c:996
-#: parser/parse_expr.c:1756 parser/parse_expr.c:2230 parser/parse_target.c:854
+#: parser/parse_expr.c:1773 parser/parse_expr.c:2247 parser/parse_target.c:854
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "преобразовать тип %s в %s нельзя"
@@ -11701,12 +12206,14 @@ msgstr ""
 msgid "could not find range type for data type %s"
 msgstr "тип диапазона для типа данных %s не найден"
 
-#: parser/parse_collate.c:214 parser/parse_collate.c:458
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:984
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "несовпадение правил сортировки для неявных правил \"%s\" и \"%s\""
 
-#: parser/parse_collate.c:217 parser/parse_collate.c:461
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:987
 #, c-format
 msgid ""
 "You can choose the collation by applying the COLLATE clause to one or both "
@@ -11715,7 +12222,7 @@ msgstr ""
 "Правило сортировки можно выбрать явно, применив предложение COLLATE к одному "
 "или обоим выражениям."
 
-#: parser/parse_collate.c:778
+#: parser/parse_collate.c:832
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "явно указанные правила сортировки \"%s\" и \"%s\" несовместимы"
@@ -11846,216 +12353,279 @@ msgstr "FOR UPDATE/SHARE в рекурсивном запросе не подд
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "рекурсивная ссылка на запрос \"%s\" указана неоднократно"
 
-#: parser/parse_expr.c:388 parser/parse_relation.c:2638
+#: parser/parse_expr.c:389 parser/parse_relation.c:2875
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "колонка %s.%s не существует"
 
-#: parser/parse_expr.c:400
+#: parser/parse_expr.c:401
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "колонка \"%s\" не найдена в типе данных %s"
 
-#: parser/parse_expr.c:406
+#: parser/parse_expr.c:407
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "не удалось идентифицировать колонку \"%s\" в типе записи"
 
-#: parser/parse_expr.c:412
+#: parser/parse_expr.c:413
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr ""
 "запись имени колонки .%s применена к типу %s, который не является составным"
 
-#: parser/parse_expr.c:442 parser/parse_target.c:640
+#: parser/parse_expr.c:443 parser/parse_target.c:640
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "расширение строки через \"*\" здесь не поддерживается"
 
-#: parser/parse_expr.c:765 parser/parse_relation.c:561
-#: parser/parse_relation.c:642 parser/parse_target.c:1089
+#: parser/parse_expr.c:766 parser/parse_relation.c:561
+#: parser/parse_relation.c:652 parser/parse_target.c:1089
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "неоднозначная ссылка на колонку \"%s\""
 
-#: parser/parse_expr.c:821 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "параметр $%d не существует"
 
-#: parser/parse_expr.c:1033
+#: parser/parse_expr.c:1034
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "для NULLIF требуется, чтобы оператор = возвращал логическое значение"
 
-#: parser/parse_expr.c:1452
+#: parser/parse_expr.c:1469
 msgid "cannot use subquery in check constraint"
 msgstr "в ограничении-проверке нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1456
+#: parser/parse_expr.c:1473
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "в выражении DEFAULT нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1459
+#: parser/parse_expr.c:1476
 msgid "cannot use subquery in index expression"
 msgstr "в индексном выражении нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1462
+#: parser/parse_expr.c:1479
 msgid "cannot use subquery in index predicate"
 msgstr "в предикате индекса нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1465
+#: parser/parse_expr.c:1482
 msgid "cannot use subquery in transform expression"
 msgstr "нельзя использовать подзапрос в выражении преобразования"
 
-#: parser/parse_expr.c:1468
+#: parser/parse_expr.c:1485
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "в качестве параметра EXECUTE нельзя использовать подзапрос"
 
-#: parser/parse_expr.c:1471
+#: parser/parse_expr.c:1488
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "в условии WHEN для триггера нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1528
+#: parser/parse_expr.c:1545
 #, c-format
 msgid "subquery must return a column"
 msgstr "подзапрос должен вернуть колонку"
 
-#: parser/parse_expr.c:1535
+#: parser/parse_expr.c:1552
 #, c-format
 msgid "subquery must return only one column"
 msgstr "подзапрос должен вернуть только одну колонку"
 
-#: parser/parse_expr.c:1595
+#: parser/parse_expr.c:1612
 #, c-format
 msgid "subquery has too many columns"
 msgstr "в подзапросе слишком много колонок"
 
-#: parser/parse_expr.c:1600
+#: parser/parse_expr.c:1617
 #, c-format
 msgid "subquery has too few columns"
 msgstr "в подзапросе недостаточно колонок"
 
-#: parser/parse_expr.c:1696
+#: parser/parse_expr.c:1713
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "тип пустого массива определить нельзя"
 
-#: parser/parse_expr.c:1697
+#: parser/parse_expr.c:1714
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr ""
 "Приведите его к желаемому типу явным образом, например ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1711
+#: parser/parse_expr.c:1728
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "не удалось определить тип элемента для типа данных %s"
 
-#: parser/parse_expr.c:1937
+#: parser/parse_expr.c:1954
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "вместо значения XML-атрибута без имени должна указываться колонка"
 
-#: parser/parse_expr.c:1938
+#: parser/parse_expr.c:1955
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "вместо значения XML-элемента без имени должна указывается колонка"
 
-#: parser/parse_expr.c:1953
+#: parser/parse_expr.c:1970
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "имя XML-атрибута \"%s\" указано неоднократно"
 
-#: parser/parse_expr.c:2060
+#: parser/parse_expr.c:2077
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "привести результат XMLSERIALIZE к типу %s нельзя"
 
-#: parser/parse_expr.c:2303 parser/parse_expr.c:2503
+#: parser/parse_expr.c:2320 parser/parse_expr.c:2520
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "разное число элементов в строках"
 
-#: parser/parse_expr.c:2313
+#: parser/parse_expr.c:2330
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "строки нулевой длины сравнивать нельзя"
 
-#: parser/parse_expr.c:2338
+#: parser/parse_expr.c:2355
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr ""
 "оператор сравнения строк должен выдавать результат логического типа, а не %s"
 
-#: parser/parse_expr.c:2345
+#: parser/parse_expr.c:2362
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "оператор сравнения строк не должен возвращать множество"
 
-#: parser/parse_expr.c:2404 parser/parse_expr.c:2449
+#: parser/parse_expr.c:2421 parser/parse_expr.c:2466
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "не удалось выбрать интерпретацию оператора сравнения строк %s"
 
-#: parser/parse_expr.c:2406
+#: parser/parse_expr.c:2423
 #, c-format
 msgid ""
 "Row comparison operators must be associated with btree operator families."
 msgstr ""
 "Операторы сравнения строк должны быть связаны с семейством операторов btree."
 
-#: parser/parse_expr.c:2451
+#: parser/parse_expr.c:2468
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Оказалось несколько равноценных кандидатур."
 
-#: parser/parse_expr.c:2543
+#: parser/parse_expr.c:2560
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr ""
 "для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое "
 "значение"
 
-#: parser/parse_func.c:149
+#: parser/parse_func.c:173
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "имя аргумента \"%s\" используется неоднократно"
 
-#: parser/parse_func.c:160
+#: parser/parse_func.c:184
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "нумерованный аргумент не может следовать за именованным аргументом"
 
-#: parser/parse_func.c:238
+#: parser/parse_func.c:263
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "выражение %s(*) недопустимо, так как %s - не агрегатная функция"
 
-#: parser/parse_func.c:245
+#: parser/parse_func.c:270
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
-msgstr "в аргументах %s указан DISTINCT, но это не агрегатная функции"
+msgstr "в аргументах %s указан DISTINCT, но это не агрегатная функция"
+
+#: parser/parse_func.c:276
+#, c-format
+msgid "WITHIN GROUP specified, but %s is not an aggregate function"
+msgstr "в аргументах %s указано WITHIN GROUP, но это не агрегатная функция"
 
-#: parser/parse_func.c:251
+#: parser/parse_func.c:282
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "в аргументах %s указан ORDER BY, но это не агрегатная функция"
 
-#: parser/parse_func.c:257
+#: parser/parse_func.c:288
+#, c-format
+msgid "FILTER specified, but %s is not an aggregate function"
+msgstr "в аргументах %s указан FILTER, но это не агрегатная функция"
+
+#: parser/parse_func.c:294
 #, c-format
 msgid ""
 "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr ""
 "вызов %s включает предложение OVER, но это не оконная и не агрегатная функция"
 
-#: parser/parse_func.c:279
+#: parser/parse_func.c:324
+#, c-format
+msgid "WITHIN GROUP is required for ordered-set aggregate %s"
+msgstr "для сортирующего агрегата %s требуется WITHIN GROUP"
+
+#: parser/parse_func.c:330
+#, c-format
+msgid "OVER is not supported for ordered-set aggregate %s"
+msgstr "сортирующий агрегат %s не поддерживает OVER"
+
+#: parser/parse_func.c:361 parser/parse_func.c:390
+#, c-format
+msgid ""
+"There is an ordered-set aggregate %s, but it requires %d direct arguments, "
+"not %d."
+msgstr ""
+"Есть сортирующий агрегат %s, но прямых аргументов у него должно быть %d, а "
+"не %d."
+
+#: parser/parse_func.c:415
+#, c-format
+msgid ""
+"To use the hypothetical-set aggregate %s, the number of hypothetical direct "
+"arguments (here %d) must match the number of ordering columns (here %d)."
+msgstr ""
+"Для использования гипотезирующего агрегата %s число непосредственных "
+"гипотетических аргументов (%d) должно равняться числу сортируемых колонок "
+"(здесь: %d)."
+
+#: parser/parse_func.c:429
+#, c-format
+msgid ""
+"There is an ordered-set aggregate %s, but it requires at least %d direct "
+"arguments."
+msgstr ""
+"Есть сортирующий агрегат %s, но он требует минимум %d непосредственных "
+"аргументов."
+
+#: parser/parse_func.c:448
+#, c-format
+msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
+msgstr "%s - не сортирующая агрегатная функция, WITHIN GROUP к ней неприменимо"
+
+#: parser/parse_func.c:461
+#, c-format
+msgid "window function %s requires an OVER clause"
+msgstr "для оконной функции %s требуется предложение OVER"
+
+#: parser/parse_func.c:468
+#, c-format
+msgid "window function %s cannot have WITHIN GROUP"
+msgstr "для оконной функции %s неприменимо WITHIN GROUP"
+
+#: parser/parse_func.c:489
 #, c-format
 msgid "function %s is not unique"
 msgstr "функция %s не уникальна"
 
-#: parser/parse_func.c:282
+#: parser/parse_func.c:492
 #, c-format
 msgid ""
 "Could not choose a best candidate function. You might need to add explicit "
@@ -12064,7 +12634,7 @@ msgstr ""
 "Не удалось выбрать лучшую кандидатуру функции. Возможно, вам следует "
 "добавить явные преобразования типов."
 
-#: parser/parse_func.c:293
+#: parser/parse_func.c:503
 #, c-format
 msgid ""
 "No aggregate function matches the given name and argument types. Perhaps you "
@@ -12075,7 +12645,7 @@ msgstr ""
 "Возможно, неверно расположено предложение ORDER BY - оно должно следовать за "
 "всеми обычными аргументами функции."
 
-#: parser/parse_func.c:304
+#: parser/parse_func.c:514
 #, c-format
 msgid ""
 "No function matches the given name and argument types. You might need to add "
@@ -12084,52 +12654,57 @@ msgstr ""
 "Функция с данными именем и типами аргументов не найдена. Возможно, вам "
 "следует добавить явные преобразования типов."
 
-#: parser/parse_func.c:415 parser/parse_func.c:481
+#: parser/parse_func.c:616
+#, c-format
+msgid "VARIADIC argument must be an array"
+msgstr "параметр VARIADIC должен быть массивом"
+
+#: parser/parse_func.c:661 parser/parse_func.c:725
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
-msgstr "агрегатная функции без параметров должна вызываться так: %s(*)"
+msgstr "агрегатная функция без параметров должна вызываться так: %s(*)"
 
-#: parser/parse_func.c:422
+#: parser/parse_func.c:668
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "агрегатные функции не могут возвращать множества"
 
-#: parser/parse_func.c:434
+#: parser/parse_func.c:683
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "у агрегатных функций не может быть именованных аргументов"
 
-#: parser/parse_func.c:453
-#, c-format
-msgid "window function call requires an OVER clause"
-msgstr "в вызове оконной функции должно быть предложение OVER"
-
-#: parser/parse_func.c:471
+#: parser/parse_func.c:715
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "предложение DISTINCT для оконных функций не реализовано"
 
-#: parser/parse_func.c:491
+#: parser/parse_func.c:735
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано"
 
-#: parser/parse_func.c:497
+#: parser/parse_func.c:744
+#, c-format
+msgid "FILTER is not implemented for non-aggregate window functions"
+msgstr "предложение FILTER для не агрегатных оконных функций не реализовано"
+
+#: parser/parse_func.c:750
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "оконные функции не могут возвращать множества"
 
-#: parser/parse_func.c:1662
+#: parser/parse_func.c:1994
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "агрегатная функция %s(*) не существует"
 
-#: parser/parse_func.c:1667
+#: parser/parse_func.c:1999
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "агрегатная функция %s не существует"
 
-#: parser/parse_func.c:1686
+#: parser/parse_func.c:2018
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "функция \"%s\" не является агрегатной"
@@ -12155,8 +12730,8 @@ msgid "array assignment requires type %s but expression is of type %s"
 msgstr ""
 "для присваивания массива требуется тип %s, однако выражение имеет тип %s"
 
-#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:490
-#: utils/adt/regproc.c:510 utils/adt/regproc.c:669
+#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:547
+#: utils/adt/regproc.c:567 utils/adt/regproc.c:751
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "оператор не существует: %s"
@@ -12166,9 +12741,9 @@ msgstr "оператор не существует: %s"
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Используйте явный оператор сортировки или измените запрос."
 
-#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3181
-#: utils/adt/arrayfuncs.c:3700 utils/adt/arrayfuncs.c:5253
-#: utils/adt/rowtypes.c:1156
+#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3194
+#: utils/adt/arrayfuncs.c:3713 utils/adt/arrayfuncs.c:5266
+#: utils/adt/rowtypes.c:1159
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "не удалось найти оператор равенства для типа %s"
@@ -12245,12 +12820,12 @@ msgstr "ссылка на таблицу %u неоднозначна"
 msgid "table name \"%s\" specified more than once"
 msgstr "имя таблицы \"%s\" указано больше одного раза"
 
-#: parser/parse_relation.c:422 parser/parse_relation.c:2602
+#: parser/parse_relation.c:422 parser/parse_relation.c:2839
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "в элементе предложения FROM неверная ссылка на таблицу \"%s\""
 
-#: parser/parse_relation.c:425 parser/parse_relation.c:2607
+#: parser/parse_relation.c:425 parser/parse_relation.c:2844
 #, c-format
 msgid ""
 "There is an entry for table \"%s\", but it cannot be referenced from this "
@@ -12264,18 +12839,18 @@ msgstr ""
 msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
 msgstr "Для ссылки LATERAL тип JOIN должен быть INNER или LEFT."
 
-#: parser/parse_relation.c:881 parser/parse_relation.c:1167
-#: parser/parse_relation.c:1544
+#: parser/parse_relation.c:591
 #, c-format
-msgid "table \"%s\" has %d columns available but %d columns specified"
-msgstr "в таблице \"%s\" содержится колонок: %d, но указано: %d"
+msgid "system column \"%s\" reference in check constraint is invalid"
+msgstr "в ограничении-проверке указана недопустимая системная колонка \"%s\""
 
-#: parser/parse_relation.c:911
+#: parser/parse_relation.c:892 parser/parse_relation.c:1169
+#: parser/parse_relation.c:1663
 #, c-format
-msgid "too many column aliases specified for function %s"
-msgstr "длÑ\8f Ñ\84Ñ\83нкÑ\86ии %s Ñ\83казано Ñ\81лиÑ\88ком Ð¼Ð½Ð¾Ð³Ð¾ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº"
+msgid "table \"%s\" has %d columns available but %d columns specified"
+msgstr "в Ñ\82аблиÑ\86е \"%s\" Ñ\81одеÑ\80жиÑ\82Ñ\81Ñ\8f ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº: %d, Ð½Ð¾ Ñ\83казано: %d"
 
-#: parser/parse_relation.c:977
+#: parser/parse_relation.c:979
 #, c-format
 msgid ""
 "There is a WITH item named \"%s\", but it cannot be referenced from this "
@@ -12284,7 +12859,7 @@ msgstr ""
 "В WITH есть элемент \"%s\", но на него нельзя ссылаться из этой части "
 "запроса."
 
-#: parser/parse_relation.c:979
+#: parser/parse_relation.c:981
 #, c-format
 msgid ""
 "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
@@ -12292,7 +12867,7 @@ msgstr ""
 "Используйте WITH RECURSIVE или исключите ссылки вперёд, переупорядочив "
 "элементы WITH."
 
-#: parser/parse_relation.c:1245
+#: parser/parse_relation.c:1287
 #, c-format
 msgid ""
 "a column definition list is only allowed for functions returning \"record\""
@@ -12300,49 +12875,49 @@ msgstr ""
 "список с определением колонок может быть только у функций, возвращающих "
 "запись"
 
-#: parser/parse_relation.c:1253
+#: parser/parse_relation.c:1296
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr ""
 "у функций, возвращающих запись, должен быть список с определением колонок"
 
-#: parser/parse_relation.c:1304
+#: parser/parse_relation.c:1375
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr ""
 "функция \"%s\", используемая во FROM, возвращает неподдерживаемый тип %s"
 
-#: parser/parse_relation.c:1376
+#: parser/parse_relation.c:1495
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "в списках VALUES \"%s\" содержится колонок: %d, но указано: %d"
 
-#: parser/parse_relation.c:1429
+#: parser/parse_relation.c:1548
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "число колонок в соединениях ограничено %d"
 
-#: parser/parse_relation.c:1517
+#: parser/parse_relation.c:1636
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "в запросе \"%s\" в WITH нет предложения RETURNING"
 
-#: parser/parse_relation.c:2217
+#: parser/parse_relation.c:2468 parser/parse_relation.c:2623
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "колонка %d отношения \"%s\" не существует"
 
-#: parser/parse_relation.c:2605
+#: parser/parse_relation.c:2842
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Возможно, предполагалась ссылка на псевдоним таблицы \"%s\"."
 
-#: parser/parse_relation.c:2613
+#: parser/parse_relation.c:2850
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "таблица \"%s\" отсутствует в предложении FROM"
 
-#: parser/parse_relation.c:2653
+#: parser/parse_relation.c:2890
 #, c-format
 msgid ""
 "There is a column named \"%s\" in table \"%s\", but it cannot be referenced "
@@ -12417,27 +12992,27 @@ msgstr "неправильное указание %%TYPE (слишком мал
 msgid "improper %%TYPE reference (too many dotted names): %s"
 msgstr "неправильное указание %%TYPE (слишком много компонентов): %s"
 
-#: parser/parse_type.c:134
+#: parser/parse_type.c:141
 #, c-format
 msgid "type reference %s converted to %s"
 msgstr "ссылка на тип %s преобразована в тип %s"
 
-#: parser/parse_type.c:209 utils/cache/typcache.c:198
+#: parser/parse_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:198
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "тип \"%s\" - лишь пустышка"
 
-#: parser/parse_type.c:294
+#: parser/parse_type.c:342
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "у типа \"%s\" не может быть модификаторов"
 
-#: parser/parse_type.c:337
+#: parser/parse_type.c:384
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "модификатором типа должна быть простая константа или идентификатор"
 
-#: parser/parse_type.c:648 parser/parse_type.c:747
+#: parser/parse_type.c:695 parser/parse_type.c:819
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "неверное имя типа \"%s\""
@@ -12457,103 +13032,103 @@ msgstr "массивы с типом serial не реализованы"
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s создаст последовательность \"%s\" для колонки serial \"%s.%s\""
 
-#: parser/parse_utilcmd.c:491 parser/parse_utilcmd.c:503
+#: parser/parse_utilcmd.c:484 parser/parse_utilcmd.c:496
 #, c-format
 msgid ""
 "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "конфликт NULL/NOT NULL в объявлении колонки \"%s\" таблицы \"%s\""
 
-#: parser/parse_utilcmd.c:515
+#: parser/parse_utilcmd.c:508
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr ""
 "для колонки \"%s\" таблицы \"%s\" указано несколько значений по умолчанию"
 
-#: parser/parse_utilcmd.c:682
+#: parser/parse_utilcmd.c:675
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE при создании сторонних таблиц не поддерживается"
 
-#: parser/parse_utilcmd.c:1201 parser/parse_utilcmd.c:1277
+#: parser/parse_utilcmd.c:1196 parser/parse_utilcmd.c:1272
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы."
 
-#: parser/parse_utilcmd.c:1544
+#: parser/parse_utilcmd.c:1539
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "в CREATE TABLE нельзя использовать существующий индекс"
 
-#: parser/parse_utilcmd.c:1564
+#: parser/parse_utilcmd.c:1559
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "индекс \"%s\" уже связан с ограничением"
 
-#: parser/parse_utilcmd.c:1572
+#: parser/parse_utilcmd.c:1567
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "индекс \"%s\" не принадлежит таблице \"%s\""
 
-#: parser/parse_utilcmd.c:1579
+#: parser/parse_utilcmd.c:1574
 #, c-format
 msgid "index \"%s\" is not valid"
-msgstr "индекс \"%s\" - не рабочий"
+msgstr "индекс \"%s\" - нерабочий"
 
-#: parser/parse_utilcmd.c:1585
+#: parser/parse_utilcmd.c:1580
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "\"%s\" не является уникальным индексом"
 
-#: parser/parse_utilcmd.c:1586 parser/parse_utilcmd.c:1593
-#: parser/parse_utilcmd.c:1600 parser/parse_utilcmd.c:1670
+#: parser/parse_utilcmd.c:1581 parser/parse_utilcmd.c:1588
+#: parser/parse_utilcmd.c:1595 parser/parse_utilcmd.c:1665
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr ""
 "Создать первичный ключ или ограничение уникальности для такого индекса "
 "нельзя."
 
-#: parser/parse_utilcmd.c:1592
+#: parser/parse_utilcmd.c:1587
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "индекс \"%s\" содержит выражения"
 
-#: parser/parse_utilcmd.c:1599
+#: parser/parse_utilcmd.c:1594
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "\"%s\" - частичный индекс"
 
-#: parser/parse_utilcmd.c:1611
+#: parser/parse_utilcmd.c:1606
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "\"%s\" - откладываемый индекс"
 
-#: parser/parse_utilcmd.c:1612
+#: parser/parse_utilcmd.c:1607
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr ""
 "Создать не откладываемое ограничение на базе откладываемого индекса нельзя."
 
-#: parser/parse_utilcmd.c:1669
+#: parser/parse_utilcmd.c:1664
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "для индекса \"%s\" не определено поведение при сортировке по умолчанию"
 
-#: parser/parse_utilcmd.c:1814
+#: parser/parse_utilcmd.c:1809
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "колонка \"%s\" фигурирует в первичном ключе дважды"
 
-#: parser/parse_utilcmd.c:1820
+#: parser/parse_utilcmd.c:1815
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "колонка \"%s\" фигурирует в ограничении уникальности дважды"
 
-#: parser/parse_utilcmd.c:1986
+#: parser/parse_utilcmd.c:1981
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "индексное выражение не может возвращать множество"
 
-#: parser/parse_utilcmd.c:1997
+#: parser/parse_utilcmd.c:1992
 #, c-format
 msgid ""
 "index expressions and predicates can refer only to the table being indexed"
@@ -12561,17 +13136,17 @@ msgstr ""
 "индексные выражения и предикаты могут ссылаться только на индексируемую "
 "таблицу"
 
-#: parser/parse_utilcmd.c:2040
+#: parser/parse_utilcmd.c:2035
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "правила для материализованных представлений не поддерживаются"
 
-#: parser/parse_utilcmd.c:2101
+#: parser/parse_utilcmd.c:2096
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения"
 
-#: parser/parse_utilcmd.c:2173
+#: parser/parse_utilcmd.c:2168
 #, c-format
 msgid ""
 "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE "
@@ -12580,80 +13155,80 @@ msgstr ""
 "правила с условиями WHERE могут содержать только действия SELECT, INSERT, "
 "UPDATE или DELETE"
 
-#: parser/parse_utilcmd.c:2191 parser/parse_utilcmd.c:2290
-#: rewrite/rewriteHandler.c:468 rewrite/rewriteManip.c:1032
+#: parser/parse_utilcmd.c:2186 parser/parse_utilcmd.c:2285
+#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы"
 
-#: parser/parse_utilcmd.c:2209
+#: parser/parse_utilcmd.c:2204
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "в правиле ON SELECT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:2213
+#: parser/parse_utilcmd.c:2208
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "в правиле ON SELECT нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:2222
+#: parser/parse_utilcmd.c:2217
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "в правиле ON INSERT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:2228
+#: parser/parse_utilcmd.c:2223
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "в правиле ON DELETE нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:2256
+#: parser/parse_utilcmd.c:2251
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на OLD"
 
-#: parser/parse_utilcmd.c:2263
+#: parser/parse_utilcmd.c:2258
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на NEW"
 
-#: parser/parse_utilcmd.c:2546
+#: parser/parse_utilcmd.c:2541
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "предложение DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2551 parser/parse_utilcmd.c:2566
+#: parser/parse_utilcmd.c:2546 parser/parse_utilcmd.c:2561
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз"
 
-#: parser/parse_utilcmd.c:2561
+#: parser/parse_utilcmd.c:2556
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "предложение NOT DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2574 parser/parse_utilcmd.c:2600 gram.y:4418
+#: parser/parse_utilcmd.c:2569 parser/parse_utilcmd.c:2595 gram.y:4502
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr ""
 "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как "
 "DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2582
+#: parser/parse_utilcmd.c:2577
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "предложение INITIALLY DEFERRED расположено неправильно"
 
-#: parser/parse_utilcmd.c:2587 parser/parse_utilcmd.c:2613
+#: parser/parse_utilcmd.c:2582 parser/parse_utilcmd.c:2608
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз"
 
-#: parser/parse_utilcmd.c:2608
+#: parser/parse_utilcmd.c:2603
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "предложение INITIALLY IMMEDIATE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2799
+#: parser/parse_utilcmd.c:2794
 #, c-format
 msgid ""
 "CREATE specifies a schema (%s) different from the one being created (%s)"
@@ -12670,7 +13245,7 @@ msgid "poll() failed: %m"
 msgstr "ошибка в poll(): %m"
 
 #: port/pg_latch.c:423 port/unix_latch.c:423
-#: replication/libpqwalreceiver/libpqwalreceiver.c:356
+#: replication/libpqwalreceiver/libpqwalreceiver.c:363
 #, c-format
 msgid "select() failed: %m"
 msgstr "ошибка в select(): %m"
@@ -12713,17 +13288,17 @@ msgstr ""
 "Возможно, вам следует увеличить параметр ядра SEMVMX минимум до %d.  "
 "Подробнее об этом написано в документации PostgreSQL."
 
-#: port/pg_shmem.c:163 port/sysv_shmem.c:163
+#: port/pg_shmem.c:141 port/sysv_shmem.c:141
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "не удалось создать сегмент разделяемой памяти: %m"
 
-#: port/pg_shmem.c:164 port/sysv_shmem.c:164
+#: port/pg_shmem.c:142 port/sysv_shmem.c:142
 #, c-format
-msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
-msgstr "Ошибка в системном вызове shmget(ключ=%lu, размер=%lu, 0%o)."
+msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
+msgstr "Ошибка в системном вызове shmget(ключ=%lu, размер=%zu, 0%o)."
 
-#: port/pg_shmem.c:168 port/sysv_shmem.c:168
+#: port/pg_shmem.c:146 port/sysv_shmem.c:146
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -12737,7 +13312,7 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:175 port/sysv_shmem.c:175
+#: port/pg_shmem.c:153 port/sysv_shmem.c:153
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -12752,7 +13327,7 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:181 port/sysv_shmem.c:181
+#: port/pg_shmem.c:159 port/sysv_shmem.c:159
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs "
@@ -12769,26 +13344,36 @@ msgstr ""
 "Подробная информация о настройке разделяемой памяти содержится в "
 "документации PostgreSQL."
 
-#: port/pg_shmem.c:419 port/sysv_shmem.c:419
+#: port/pg_shmem.c:340 port/sysv_shmem.c:340
+#, c-format
+msgid "huge TLB pages not supported on this platform"
+msgstr "гигантские страницы TLB на этой платформе не поддерживаются"
+
+#: port/pg_shmem.c:390 port/sysv_shmem.c:390
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "не удалось получить анонимную разделяемую память: %m"
 
-#: port/pg_shmem.c:421 port/sysv_shmem.c:421
+#: port/pg_shmem.c:392 port/sysv_shmem.c:392
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
-"segment exceeded available memory or swap space. To reduce the request size "
-"(currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by "
-"reducing shared_buffers or max_connections."
+"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."
 msgstr ""
 "Эта ошибка обычно возникает, когда PostgreSQL запрашивает сегмент "
-"Ñ\80азделÑ\8fемой Ð¿Ð°Ð¼Ñ\8fÑ\82и, Ð¿Ñ\80евÑ\8bÑ\88аÑ\8f Ð¾Ð±Ñ\8aÑ\91м Ð´Ð¾Ñ\81Ñ\82Ñ\83пной Ñ\84изиÑ\87еÑ\81кой Ð¸Ð»Ð¸ виртуальной "
-"памяти. Для уменьшения запроса (текущий размер: %lu Б) можно снизить "
-"иÑ\81полÑ\8cзование Ñ\80азделÑ\8fемой Ð¿Ð°Ð¼Ñ\8fÑ\82и, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ\83менÑ\8cÑ\88ив shared_buffers Ð¸Ð»Ð¸ "
-"max_connections."
+"Ñ\80азделÑ\8fемой Ð¿Ð°Ð¼Ñ\8fÑ\82и, Ð¿Ñ\80евÑ\8bÑ\88аÑ\8f Ð¾Ð±Ñ\8aÑ\91м Ð´Ð¾Ñ\81Ñ\82Ñ\83пной Ñ\84изиÑ\87еÑ\81кой Ð»Ð¸Ð±Ð¾ виртуальной "
+"памяти или гигантских страниц. Для уменьшения запроса (текущий размер: %zu "
+"Ð\91) Ð¼Ð¾Ð¶Ð½Ð¾ Ñ\81низиÑ\82Ñ\8c Ð¸Ñ\81полÑ\8cзование Ñ\80азделÑ\8fемой Ð¿Ð°Ð¼Ñ\8fÑ\82и, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ñ\83менÑ\8cÑ\88ив "
+"shared_buffers или max_connections."
 
-#: port/pg_shmem.c:508 port/sysv_shmem.c:508
+#: port/pg_shmem.c:439 port/sysv_shmem.c:439 port/win32_shmem.c:136
+#, c-format
+msgid "huge pages not supported on this platform"
+msgstr "гигантские страницы на этой платформе не поддерживаются"
+
+#: port/pg_shmem.c:553 port/sysv_shmem.c:553
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "не удалось получить информацию о каталоге данных \"%s\": %m"
@@ -12875,22 +13460,22 @@ msgstr "не удалось разблокировать семафор: код
 msgid "could not try-lock semaphore: error code %lu"
 msgstr "не удалось попытаться заблокировать семафор: код ошибки %lu"
 
-#: port/win32_shmem.c:168 port/win32_shmem.c:203 port/win32_shmem.c:224
+#: port/win32_shmem.c:175 port/win32_shmem.c:210 port/win32_shmem.c:231
 #, c-format
 msgid "could not create shared memory segment: error code %lu"
 msgstr "не удалось создать сегмент разделяемой памяти: код ошибки %lu"
 
-#: port/win32_shmem.c:169
+#: port/win32_shmem.c:176
 #, c-format
-msgid "Failed system call was CreateFileMapping(size=%lu, name=%s)."
-msgstr "Ошибка в системном вызове CreateFileMapping(размер=%lu, имя=%s)."
+msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
+msgstr "Ошибка в системном вызове CreateFileMapping (размер=%zu, имя=%s)."
 
-#: port/win32_shmem.c:193
+#: port/win32_shmem.c:200
 #, c-format
 msgid "pre-existing shared memory block is still in use"
 msgstr "ранее созданный блок разделяемой памяти всё ещё используется"
 
-#: port/win32_shmem.c:194
+#: port/win32_shmem.c:201
 #, c-format
 msgid ""
 "Check if there are any old server processes still running, and terminate "
@@ -12898,73 +13483,150 @@ msgid ""
 msgstr ""
 "Если по-прежнему работают какие-то старые серверные процессы, снимите их."
 
-#: port/win32_shmem.c:204
+#: port/win32_shmem.c:211
 #, c-format
 msgid "Failed system call was DuplicateHandle."
 msgstr "Ошибка в системном вызове DuplicateHandle."
 
-#: port/win32_shmem.c:225
+#: port/win32_shmem.c:232
 #, c-format
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Ошибка в системном вызове MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:379
+#: postmaster/autovacuum.c:378
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "породить процесс запуска автоочистки не удалось: %m"
 
-#: postmaster/autovacuum.c:424
+#: postmaster/autovacuum.c:423
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "процесс запуска автоочистки создан"
 
-#: postmaster/autovacuum.c:789
+#: postmaster/autovacuum.c:788
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "процесс запуска автоочистки завершается"
 
-#: postmaster/autovacuum.c:1452
+#: postmaster/autovacuum.c:1451
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "не удалось породить рабочий процесс автоочистки: %m"
 
-#: postmaster/autovacuum.c:1671
+#: postmaster/autovacuum.c:1670
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "автоочистка: обработка базы данных \"%s\""
 
-#: postmaster/autovacuum.c:2070
+#: postmaster/autovacuum.c:2068
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "автоочистка: удаление устаревшей врем. таблицы \"%s\".\"%s\" в базе \"%s\""
 
-#: postmaster/autovacuum.c:2082
+#: postmaster/autovacuum.c:2080
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "автоочистка: найдена устаревшая врем. таблица \"%s\".\"%s\" в базе \"%s\""
 
-#: postmaster/autovacuum.c:2347
+#: postmaster/autovacuum.c:2344
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "автоматическая очистка таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2350
+#: postmaster/autovacuum.c:2347
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "автоматический анализ таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2880
+#: postmaster/autovacuum.c:2872
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "автоочистка не запущена из-за неправильной конфигурации"
 
-#: postmaster/autovacuum.c:2881
+#: postmaster/autovacuum.c:2873
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Включите параметр \"track_counts\"."
 
+#: postmaster/bgworker.c:323 postmaster/bgworker.c:732
+#, c-format
+msgid "registering background worker \"%s\""
+msgstr "регистрация фонового процесса \"%s\""
+
+#: postmaster/bgworker.c:352
+#, c-format
+msgid "unregistering background worker \"%s\""
+msgstr "разрегистрация фонового процесса \"%s\""
+
+#: postmaster/bgworker.c:454
+#, c-format
+msgid ""
+"background worker \"%s\": must attach to shared memory in order to request a "
+"database connection"
+msgstr ""
+"фоновый процесс \"%s\" должен иметь доступ к общей памяти, чтобы запросить "
+"подключение к БД"
+
+#: postmaster/bgworker.c:463
+#, c-format
+msgid ""
+"background worker \"%s\": cannot request database access if starting at "
+"postmaster start"
+msgstr ""
+"фоновый процесс \"%s\" не может получить доступ к БД, если он запущен при "
+"старте главного процесса"
+
+#: postmaster/bgworker.c:477
+#, c-format
+msgid "background worker \"%s\": invalid restart interval"
+msgstr "фоновый процесс \"%s\": неправильный интервал перезапуска"
+
+#: postmaster/bgworker.c:522
+#, c-format
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "завершение фонового процесса \"%s\" по команде администратора"
+
+#: postmaster/bgworker.c:739
+#, c-format
+msgid ""
+"background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr ""
+"фоновой процесс \"%s\" должен быть зарегистрирован в shared_preload_libraries"
+
+#: postmaster/bgworker.c:751
+#, c-format
+msgid ""
+"background worker \"%s\": only dynamic background workers can request "
+"notification"
+msgstr ""
+"фоновый процесс \"%s\": только динамические фоновые процессы могут "
+"запрашивать уведомление"
+
+#: postmaster/bgworker.c:766
+#, c-format
+msgid "too many background workers"
+msgstr "слишком много фоновых процессов"
+
+#: postmaster/bgworker.c:767
+#, c-format
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural ""
+"Up to %d background workers can be registered with the current settings."
+msgstr[0] ""
+"Максимально возможное число фоновых процессов при текущих параметрах: %d."
+msgstr[1] ""
+"Максимально возможное число фоновых процессов при текущих параметрах: %d."
+msgstr[2] ""
+"Максимально возможное число фоновых процессов при текущих параметрах: %d."
+
+#: postmaster/bgworker.c:771
+#, c-format
+msgid ""
+"Consider increasing the configuration parameter \"max_worker_processes\"."
+msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"."
+
 #: postmaster/checkpointer.c:481
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
@@ -12999,17 +13661,17 @@ msgstr "Смотрите подробности в протоколе серве
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "очередь запросов fsync сжата (было записей: %d, стало: %d)"
 
-#: postmaster/pgarch.c:165
+#: postmaster/pgarch.c:154
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "не удалось породить процесс архивации: %m"
 
-#: postmaster/pgarch.c:491
+#: postmaster/pgarch.c:481
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "режим архивации включён, но команда архивации не задана"
 
-#: postmaster/pgarch.c:506
+#: postmaster/pgarch.c:509
 #, c-format
 msgid ""
 "archiving transaction log file \"%s\" failed too many times, will try again "
@@ -13018,23 +13680,23 @@ msgstr ""
 "заархивировать файл журнала транзакций \"%s\" не удалось много раз подряд; "
 "следующая попытка будет сделана позже"
 
-#: postmaster/pgarch.c:609
+#: postmaster/pgarch.c:612
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "команда архивации завершилась ошибкой с кодом %d"
 
-#: postmaster/pgarch.c:611 postmaster/pgarch.c:621 postmaster/pgarch.c:628
-#: postmaster/pgarch.c:634 postmaster/pgarch.c:643
+#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
+#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "Команда архивации с ошибкой: %s"
 
-#: postmaster/pgarch.c:618
+#: postmaster/pgarch.c:621
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "команда архивации была прервана исключением 0x%X"
 
-#: postmaster/pgarch.c:620 postmaster/postmaster.c:3230
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3297
 #, c-format
 msgid ""
 "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
@@ -13042,161 +13704,162 @@ msgstr ""
 "Описание этого шестнадцатеричного значения ищите во включаемом C-файле "
 "\"ntstatus.h\""
 
-#: postmaster/pgarch.c:625
+#: postmaster/pgarch.c:628
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "команда архивации завершена по сигналу %d: %s"
 
-#: postmaster/pgarch.c:632
+#: postmaster/pgarch.c:635
 #, c-format
 msgid "archive command was terminated by signal %d"
 msgstr "команда архивации завершена по сигналу %d"
 
-#: postmaster/pgarch.c:641
+#: postmaster/pgarch.c:644
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "команда архивации завершилась с неизвестным кодом состояния %d"
 
-#: postmaster/pgarch.c:653
+#: postmaster/pgarch.c:656
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "файл архива журнала транзакций \"%s\""
 
-#: postmaster/pgarch.c:702
+#: postmaster/pgarch.c:705
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "не удалось открыть каталог состояния архива \"%s\": %m"
 
-#: postmaster/pgstat.c:346
+#: postmaster/pgstat.c:354
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "не удалось разрешить \"localhost\": %s"
 
-#: postmaster/pgstat.c:369
+#: postmaster/pgstat.c:377
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "проба другого адреса для сборщика статистики"
 
-#: postmaster/pgstat.c:378
+#: postmaster/pgstat.c:386
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "не удалось создать сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:390
+#: postmaster/pgstat.c:398
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "не удалось привязаться к сокету для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:401
+#: postmaster/pgstat.c:409
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "не удалось получить адрес сокета для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:417
+#: postmaster/pgstat.c:425
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "не удалось подключить сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:438
+#: postmaster/pgstat.c:446
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr ""
 "не удалось послать тестовое сообщение в сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:464
+#: postmaster/pgstat.c:472
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "сбой select() в сборщике статистики: %m"
 
-#: postmaster/pgstat.c:479
+#: postmaster/pgstat.c:487
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "тестовое сообщение не прошло через сокет для сборщика статистики"
 
-#: postmaster/pgstat.c:494
+#: postmaster/pgstat.c:502
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr ""
 "тестовое сообщение через сокет для сборщика статистики получить не удалось: "
 "%m"
 
-#: postmaster/pgstat.c:504
+#: postmaster/pgstat.c:512
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "тестовое сообщение через сокет для сборщика статистики прошло неверно"
 
-#: postmaster/pgstat.c:527
+#: postmaster/pgstat.c:535
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr ""
 "не удалось переключить сокет сборщика статистики в неблокирующий режим: %m"
 
-#: postmaster/pgstat.c:537
+#: postmaster/pgstat.c:545
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "сборщик статистики отключается из-за нехватки рабочего сокета"
 
-#: postmaster/pgstat.c:684
+#: postmaster/pgstat.c:692
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "не удалось породить процесс сборщика статистики: %m"
 
-#: postmaster/pgstat.c:1220 postmaster/pgstat.c:1244 postmaster/pgstat.c:1275
+#: postmaster/pgstat.c:1233 postmaster/pgstat.c:1257 postmaster/pgstat.c:1290
 #, c-format
 msgid "must be superuser to reset statistics counters"
 msgstr "для сброса счётчиков статистики нужно быть суперпользователем"
 
-#: postmaster/pgstat.c:1251
+#: postmaster/pgstat.c:1266
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "запрошен сброс неизвестного счётчика: \"%s\""
 
-#: postmaster/pgstat.c:1252
+#: postmaster/pgstat.c:1267
 #, c-format
-msgid "Target must be \"bgwriter\"."
-msgstr "Допустимый счётчик: \"bgwriter\"."
+msgid "Target must be \"archiver\" or \"bgwriter\"."
+msgstr "Допустимый счётчик: \"archiver\" или \"bgwriter\"."
 
-#: postmaster/pgstat.c:3198
+#: postmaster/pgstat.c:3280
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "не удалось прочитать сообщение статистики: %m"
 
-#: postmaster/pgstat.c:3527 postmaster/pgstat.c:3698
+#: postmaster/pgstat.c:3613 postmaster/pgstat.c:3790
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "не удалось открыть временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3589 postmaster/pgstat.c:3743
+#: postmaster/pgstat.c:3681 postmaster/pgstat.c:3835
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "не удалось записать во временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3598 postmaster/pgstat.c:3752
+#: postmaster/pgstat.c:3690 postmaster/pgstat.c:3844
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "не удалось закрыть временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3606 postmaster/pgstat.c:3760
+#: postmaster/pgstat.c:3698 postmaster/pgstat.c:3852
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 "не удалось переименовать временный файл статистики из \"%s\" в \"%s\": %m"
 
-#: postmaster/pgstat.c:3841 postmaster/pgstat.c:4016 postmaster/pgstat.c:4170
+#: postmaster/pgstat.c:3935 postmaster/pgstat.c:4120 postmaster/pgstat.c:4275
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "не удалось открыть файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3853 postmaster/pgstat.c:3863 postmaster/pgstat.c:3884
-#: postmaster/pgstat.c:3899 postmaster/pgstat.c:3957 postmaster/pgstat.c:4028
-#: postmaster/pgstat.c:4048 postmaster/pgstat.c:4066 postmaster/pgstat.c:4082
-#: postmaster/pgstat.c:4100 postmaster/pgstat.c:4116 postmaster/pgstat.c:4182
-#: postmaster/pgstat.c:4194 postmaster/pgstat.c:4219 postmaster/pgstat.c:4241
+#: postmaster/pgstat.c:3947 postmaster/pgstat.c:3957 postmaster/pgstat.c:3967
+#: postmaster/pgstat.c:3988 postmaster/pgstat.c:4003 postmaster/pgstat.c:4061
+#: postmaster/pgstat.c:4132 postmaster/pgstat.c:4152 postmaster/pgstat.c:4170
+#: postmaster/pgstat.c:4186 postmaster/pgstat.c:4204 postmaster/pgstat.c:4220
+#: postmaster/pgstat.c:4287 postmaster/pgstat.c:4299 postmaster/pgstat.c:4311
+#: postmaster/pgstat.c:4336 postmaster/pgstat.c:4358
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "файл статистики \"%s\" испорчен"
 
-#: postmaster/pgstat.c:4668
+#: postmaster/pgstat.c:4785
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "таблица хэша базы данных испорчена при очистке --- прерывание"
@@ -13231,20 +13894,20 @@ msgstr "%s: параметр max_wal_senders должен быть меньше
 #: postmaster/postmaster.c:832
 #, c-format
 msgid ""
-"WAL archival (archive_mode=on) requires wal_level \"archive\" or "
-"\"hot_standby\""
+"WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby"
+"\", or \"logical\""
 msgstr ""
-"Для архивации WAL (archive_mode=on) wal_level должен быть \"archive\" или "
-"\"hot_standby\""
+"Для архивации WAL (archive_mode=on) wal_level должен быть \"archive\", "
+"\"hot_standby\" или \"logical\""
 
 #: postmaster/postmaster.c:835
 #, c-format
 msgid ""
-"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or "
-"\"hot_standby\""
+"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", "
+"\"hot_standby\", or \"logical\""
 msgstr ""
 "Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть "
-"\"archive\" или \"hot_standby\""
+"\"archive\", \"hot_standby\" или \"logical\""
 
 #: postmaster/postmaster.c:843
 #, c-format
@@ -13252,7 +13915,7 @@ msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n"
 
 #: postmaster/postmaster.c:925 postmaster/postmaster.c:1023
-#: utils/init/miscinit.c:1259
+#: utils/init/miscinit.c:1188
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "неверный формат списка в параметре \"%s\""
@@ -13297,27 +13960,27 @@ msgstr "%s: не удалось поменять права для внешне
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1190
+#: postmaster/postmaster.c:1160
 #, c-format
 msgid "ending log output to stderr"
 msgstr "завершение вывода в stderr"
 
-#: postmaster/postmaster.c:1191
+#: postmaster/postmaster.c:1161
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "В дальнейшем протокол будет выводиться в \"%s\"."
 
-#: postmaster/postmaster.c:1217 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1187 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "не удалось загрузить pg_hba.conf"
 
-#: postmaster/postmaster.c:1293
+#: postmaster/postmaster.c:1263
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: подходящий исполняемый файл postgres не найден"
 
-#: postmaster/postmaster.c:1316 utils/misc/tzparser.c:325
+#: postmaster/postmaster.c:1286 utils/misc/tzparser.c:325
 #, c-format
 msgid ""
 "This may indicate an incomplete PostgreSQL installation, or that the file "
@@ -13326,43 +13989,43 @@ msgstr ""
 "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в "
 "положенном месте."
 
-#: postmaster/postmaster.c:1344
+#: postmaster/postmaster.c:1314
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "каталог данных \"%s\" не существует"
 
-#: postmaster/postmaster.c:1349
+#: postmaster/postmaster.c:1319
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "не удалось считать права на каталог \"%s\": %m"
 
-#: postmaster/postmaster.c:1357
+#: postmaster/postmaster.c:1327
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "указанный каталог данных \"%s\" не существует"
 
-#: postmaster/postmaster.c:1373
+#: postmaster/postmaster.c:1343
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "владелец каталога данных \"%s\" определён неверно"
 
-#: postmaster/postmaster.c:1375
+#: postmaster/postmaster.c:1345
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr ""
 "Сервер должен запускать пользователь, являющийся владельцем каталога данных."
 
-#: postmaster/postmaster.c:1395
+#: postmaster/postmaster.c:1365
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "к каталогу данных \"%s\" имеют доступ все или группа"
 
-#: postmaster/postmaster.c:1397
+#: postmaster/postmaster.c:1367
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Права должны быть: u=rwx (0700)."
 
-#: postmaster/postmaster.c:1408
+#: postmaster/postmaster.c:1378
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -13373,464 +14036,412 @@ msgstr ""
 "Ожидалось найти её в каталоге \"%s\",\n"
 "но открыть файл \"%s\" не удалось: %s\n"
 
-#: postmaster/postmaster.c:1562
+#: postmaster/postmaster.c:1546
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "сбой select() в postmaster'е: %m"
 
-#: postmaster/postmaster.c:1732 postmaster/postmaster.c:1763
+#: postmaster/postmaster.c:1741 postmaster/postmaster.c:1772
 #, c-format
 msgid "incomplete startup packet"
 msgstr "неполный стартовый пакет"
 
-#: postmaster/postmaster.c:1744
+#: postmaster/postmaster.c:1753
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "неверная длина стартового пакета"
 
-#: postmaster/postmaster.c:1801
+#: postmaster/postmaster.c:1810
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "не удалось отправить ответ в процессе SSL-согласования: %m"
 
-#: postmaster/postmaster.c:1830
+#: postmaster/postmaster.c:1839
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr ""
 "неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает "
 "%u.0 - %u.%u "
 
-#: postmaster/postmaster.c:1881
+#: postmaster/postmaster.c:1902
 #, c-format
-msgid "invalid value for boolean option \"replication\""
-msgstr "невеÑ\80ное Ð·Ð½Ð°Ñ\87ение Ð»Ð¾Ð³Ð¸Ñ\87еÑ\81кого Ð¿Ð°Ñ\80амеÑ\82Ñ\80а \"replication\""
+msgid "invalid value for parameter \"replication\""
+msgstr "неверное значение параметра \"replication\""
 
-#: postmaster/postmaster.c:1901
+#: postmaster/postmaster.c:1903
+#, c-format
+msgid "Valid values are: false, 0, true, 1, database."
+msgstr "Допустимые значения: false, 0, true, 1, database."
+
+#: postmaster/postmaster.c:1923
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
 "неверная структура стартового пакета: последним байтом должен быть терминатор"
 
-#: postmaster/postmaster.c:1929
+#: postmaster/postmaster.c:1951
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "в стартовом пакете не указано имя пользователя PostgreSQL"
 
-#: postmaster/postmaster.c:1986
+#: postmaster/postmaster.c:2010
 #, c-format
 msgid "the database system is starting up"
 msgstr "система баз данных запускается"
 
-#: postmaster/postmaster.c:1991
+#: postmaster/postmaster.c:2015
 #, c-format
 msgid "the database system is shutting down"
 msgstr "система баз данных останавливается"
 
-#: postmaster/postmaster.c:1996
+#: postmaster/postmaster.c:2020
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "система баз данных в режиме восстановления"
 
-#: postmaster/postmaster.c:2001 storage/ipc/procarray.c:278
-#: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:339
+#: postmaster/postmaster.c:2025 storage/ipc/procarray.c:286
+#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "извините, уже слишком много клиентов"
 
-#: postmaster/postmaster.c:2063
+#: postmaster/postmaster.c:2087
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "неправильный ключ в запросе на отмену процесса %d"
 
-#: postmaster/postmaster.c:2071
+#: postmaster/postmaster.c:2095
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден"
 
-#: postmaster/postmaster.c:2291
+#: postmaster/postmaster.c:2315
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "получен SIGHUP, файлы конфигурации перезагружаются"
 
-#: postmaster/postmaster.c:2317
+#: postmaster/postmaster.c:2341
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf не перезагружен"
 
-#: postmaster/postmaster.c:2321
+#: postmaster/postmaster.c:2345
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf не перезагружен"
 
-#: postmaster/postmaster.c:2362
+#: postmaster/postmaster.c:2386
 #, c-format
 msgid "received smart shutdown request"
 msgstr "получен запрос на \"вежливое\" выключение"
 
-#: postmaster/postmaster.c:2415
+#: postmaster/postmaster.c:2439
 #, c-format
 msgid "received fast shutdown request"
 msgstr "получен запрос на быстрое выключение"
 
-#: postmaster/postmaster.c:2441
+#: postmaster/postmaster.c:2465
 #, c-format
 msgid "aborting any active transactions"
 msgstr "прерывание всех активных транзакций"
 
-#: postmaster/postmaster.c:2471
+#: postmaster/postmaster.c:2499
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "получен запрос на немедленное выключение"
 
-#: postmaster/postmaster.c:2542 postmaster/postmaster.c:2563
+#: postmaster/postmaster.c:2563 postmaster/postmaster.c:2584
 msgid "startup process"
 msgstr "стартовый процесс"
 
-#: postmaster/postmaster.c:2545
+#: postmaster/postmaster.c:2566
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "прерывание запуска из-за ошибки в стартовом процессе"
 
-#: postmaster/postmaster.c:2602
+#: postmaster/postmaster.c:2624
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "система БД готова принимать подключения"
 
-#: postmaster/postmaster.c:2617
+#: postmaster/postmaster.c:2639
 msgid "background writer process"
 msgstr "процесс фоновой записи"
 
-#: postmaster/postmaster.c:2671
+#: postmaster/postmaster.c:2693
 msgid "checkpointer process"
 msgstr "процесс контрольных точек"
 
-#: postmaster/postmaster.c:2687
+#: postmaster/postmaster.c:2709
 msgid "WAL writer process"
 msgstr "процесс записи WAL"
 
-#: postmaster/postmaster.c:2701
+#: postmaster/postmaster.c:2723
 msgid "WAL receiver process"
 msgstr "процесс считывания WAL"
 
-#: postmaster/postmaster.c:2716
+#: postmaster/postmaster.c:2738
 msgid "autovacuum launcher process"
 msgstr "процесс запуска автоочистки"
 
-#: postmaster/postmaster.c:2731
+#: postmaster/postmaster.c:2753
 msgid "archiver process"
 msgstr "процесс архивации"
 
-#: postmaster/postmaster.c:2747
+#: postmaster/postmaster.c:2769
 msgid "statistics collector process"
 msgstr "процесс сбора статистики"
 
-#: postmaster/postmaster.c:2761
+#: postmaster/postmaster.c:2783
 msgid "system logger process"
 msgstr "процесс системного протоколирования"
 
-#: postmaster/postmaster.c:2823
+#: postmaster/postmaster.c:2845
 msgid "worker process"
 msgstr "рабочий процесс"
 
-#: postmaster/postmaster.c:2893 postmaster/postmaster.c:2912
-#: postmaster/postmaster.c:2919 postmaster/postmaster.c:2937
+#: postmaster/postmaster.c:2931 postmaster/postmaster.c:2951
+#: postmaster/postmaster.c:2958 postmaster/postmaster.c:2976
 msgid "server process"
 msgstr "процесс сервера"
 
-#: postmaster/postmaster.c:2973
+#: postmaster/postmaster.c:3030
 #, 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:3218
+#: postmaster/postmaster.c:3285
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) завершился с кодом выхода %d"
 
-#: postmaster/postmaster.c:3220 postmaster/postmaster.c:3231
-#: postmaster/postmaster.c:3242 postmaster/postmaster.c:3251
-#: postmaster/postmaster.c:3261
+#: postmaster/postmaster.c:3287 postmaster/postmaster.c:3298
+#: postmaster/postmaster.c:3309 postmaster/postmaster.c:3318
+#: postmaster/postmaster.c:3328
 #, 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:3228
+#: postmaster/postmaster.c:3295
 #, 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:3238
+#: postmaster/postmaster.c:3305
 #, 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:3249
+#: postmaster/postmaster.c:3316
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) был завершён по сигналу %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3259
+#: postmaster/postmaster.c:3326
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) завершился с неизвестным кодом состояния %d"
 
-#: postmaster/postmaster.c:3444
+#: postmaster/postmaster.c:3514
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "аварийное выключение системы БД"
 
-#: postmaster/postmaster.c:3483
+#: postmaster/postmaster.c:3553
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "все серверные процессы завершены... переинициализация"
 
-#: postmaster/postmaster.c:3699
+#: postmaster/postmaster.c:3805
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "породить новый процесс для соединения не удалось: %m"
 
-#: postmaster/postmaster.c:3741
+#: postmaster/postmaster.c:3847
 msgid "could not fork new process for connection: "
 msgstr "породить новый процесс для соединения не удалось: "
 
-#: postmaster/postmaster.c:3848
+#: postmaster/postmaster.c:3954
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "принято подключение: узел=%s порт=%s"
 
-#: postmaster/postmaster.c:3853
+#: postmaster/postmaster.c:3959
 #, c-format
 msgid "connection received: host=%s"
 msgstr "принято подключение: узел=%s"
 
-#: postmaster/postmaster.c:4128
+#: postmaster/postmaster.c:4249
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "запустить серверный процесс \"%s\" не удалось: %m"
 
-#: postmaster/postmaster.c:4666
+#: postmaster/postmaster.c:4799
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "система БД готова к подключениям в режиме \"только чтение\""
 
-#: postmaster/postmaster.c:4977
+#: postmaster/postmaster.c:5112
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "породить стартовый процесс не удалось: %m"
 
-#: postmaster/postmaster.c:4981
+#: postmaster/postmaster.c:5116
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "породить процесс фоновой записи не удалось: %m"
 
-#: postmaster/postmaster.c:4985
+#: postmaster/postmaster.c:5120
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "породить процесс контрольных точек не удалось: %m"
 
-#: postmaster/postmaster.c:4989
+#: postmaster/postmaster.c:5124
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "породить процесс записи WAL не удалось: %m"
 
-#: postmaster/postmaster.c:4993
+#: postmaster/postmaster.c:5128
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "породить процесс считывания WAL не удалось: %m"
 
-#: postmaster/postmaster.c:4997
+#: postmaster/postmaster.c:5132
 #, c-format
 msgid "could not fork process: %m"
 msgstr "породить процесс не удалось: %m"
 
-#: postmaster/postmaster.c:5176
-#, c-format
-msgid "registering background worker \"%s\""
-msgstr "регистрация фонового процесса \"%s\""
-
-#: postmaster/postmaster.c:5183
-#, c-format
-msgid ""
-"background worker \"%s\": must be registered in shared_preload_libraries"
-msgstr ""
-"фоновой процесс \"%s\" должен быть зарегистрирован в shared_preload_libraries"
-
-#: postmaster/postmaster.c:5196
-#, c-format
-msgid ""
-"background worker \"%s\": must attach to shared memory in order to be able "
-"to request a database connection"
-msgstr ""
-"фоновый процесс \"%s\" должен иметь доступ к общей памяти, чтобы он мог "
-"запросить подключение к БД"
-
-#: postmaster/postmaster.c:5206
-#, c-format
-msgid ""
-"background worker \"%s\": cannot request database access if starting at "
-"postmaster start"
-msgstr ""
-"фоновый процесс \"%s\" не может получить доступ к БД, если он запущен при "
-"старте главного процесса"
-
-#: postmaster/postmaster.c:5221
-#, c-format
-msgid "background worker \"%s\": invalid restart interval"
-msgstr "фоновый процесс \"%s\": неправильный интервал перезапуска"
-
-#: postmaster/postmaster.c:5237
-#, c-format
-msgid "too many background workers"
-msgstr "слишком много фоновых процессов"
-
-#: postmaster/postmaster.c:5238
-#, c-format
-msgid "Up to %d background worker can be registered with the current settings."
-msgid_plural ""
-"Up to %d background workers can be registered with the current settings."
-msgstr[0] ""
-"Максимально возможное число фоновых процессов при текущих параметрах: %d."
-msgstr[1] ""
-"Максимально возможное число фоновых процессов при текущих параметрах: %d."
-msgstr[2] ""
-"Максимально возможное число фоновых процессов при текущих параметрах: %d."
-
-#: postmaster/postmaster.c:5281
+#: postmaster/postmaster.c:5294
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr ""
 "при регистрации фонового процесса не указывалось, что ему требуется "
 "подключение к БД"
 
-#: postmaster/postmaster.c:5288
+#: postmaster/postmaster.c:5301
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "неправильный режим обработки в фоновом процессе"
 
-#: postmaster/postmaster.c:5362
-#, c-format
-msgid "terminating background worker \"%s\" due to administrator command"
-msgstr "завершение фонового процесса \"%s\" по команде администратора"
-
-#: postmaster/postmaster.c:5579
+#: postmaster/postmaster.c:5353
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "запуск фонового рабочего процесса \"%s\""
 
-#: postmaster/postmaster.c:5590
+#: postmaster/postmaster.c:5364
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "породить рабочий процесс не удалось: %m"
 
-#: postmaster/postmaster.c:5942
+#: postmaster/postmaster.c:5753
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr ""
 "продублировать сокет %d для серверного процесса не удалось: код ошибки %d"
 
-#: postmaster/postmaster.c:5974
+#: postmaster/postmaster.c:5785
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "создать наследуемый сокет не удалось: код ошибки %d\n"
 
-#: postmaster/postmaster.c:6003 postmaster/postmaster.c:6010
+#: postmaster/postmaster.c:5814 postmaster/postmaster.c:5821
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n"
 
-#: postmaster/postmaster.c:6019
+#: postmaster/postmaster.c:5830
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "не удалось стереть файл \"%s\": %s\n"
 
-#: postmaster/postmaster.c:6036
+#: postmaster/postmaster.c:5847
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "отобразить файл серверных переменных не удалось: код ошибки %lu\n"
 
-#: postmaster/postmaster.c:6045
+#: postmaster/postmaster.c:5856
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr ""
 "отключить отображение файла серверных переменных не удалось: код ошибки %lu\n"
 
-#: postmaster/postmaster.c:6052
+#: postmaster/postmaster.c:5863
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr ""
 "закрыть указатель файла серверных переменных не удалось: код ошибки %lu\n"
 
-#: postmaster/postmaster.c:6208
+#: postmaster/postmaster.c:6022
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "прочитать код завершения процесса не удалось\n"
 
-#: postmaster/postmaster.c:6213
+#: postmaster/postmaster.c:6027
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "отправить состояние завершения потомка не удалось\n"
 
-#: postmaster/syslogger.c:468 postmaster/syslogger.c:1067
+#: postmaster/syslogger.c:463 postmaster/syslogger.c:1064
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "не удалось прочитать из канала протоколирования: %m"
 
-#: postmaster/syslogger.c:517
+#: postmaster/syslogger.c:512
 #, c-format
 msgid "logger shutting down"
 msgstr "остановка протоколирования"
 
-#: postmaster/syslogger.c:561 postmaster/syslogger.c:575
+#: postmaster/syslogger.c:556 postmaster/syslogger.c:570
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "не удалось создать канал для syslog: %m"
 
-#: postmaster/syslogger.c:611
+#: postmaster/syslogger.c:606
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "не удалось породить процесс системного протоколирования: %m"
 
-#: postmaster/syslogger.c:647
+#: postmaster/syslogger.c:643
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "передача вывода в протокол процессу сбора протоколов"
 
-#: postmaster/syslogger.c:648
+#: postmaster/syslogger.c:644
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "В дальнейшем протоколы будут выводиться в каталог \"%s\"."
 
-#: postmaster/syslogger.c:656
+#: postmaster/syslogger.c:652
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "не удалось перенаправить stdout: %m"
 
-#: postmaster/syslogger.c:661 postmaster/syslogger.c:677
+#: postmaster/syslogger.c:657 postmaster/syslogger.c:674
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "не удалось перенаправить stderr: %m "
 
-#: postmaster/syslogger.c:1022
+#: postmaster/syslogger.c:1019
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "не удалось записать в файл протокола: %s\n"
 
-#: postmaster/syslogger.c:1162
+#: postmaster/syslogger.c:1159
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "не удалось открыть файл протокола \"%s\": %m"
 
-#: postmaster/syslogger.c:1224 postmaster/syslogger.c:1268
+#: postmaster/syslogger.c:1221 postmaster/syslogger.c:1265
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "отключение автопрокрутки (чтобы включить, передайте SIGHUP)"
@@ -13842,74 +14453,79 @@ msgstr ""
 "не удалось определить, какое правило сортировки использовать для регулярного "
 "выражения"
 
-#: replication/basebackup.c:140 replication/basebackup.c:922
-#: utils/adt/misc.c:360
+#: replication/basebackup.c:184 replication/basebackup.c:1044
+#: utils/adt/misc.c:353
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
 
-#: replication/basebackup.c:147 replication/basebackup.c:926
-#: utils/adt/misc.c:364
+#: replication/basebackup.c:191 replication/basebackup.c:1048
+#: utils/adt/misc.c:357
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
 
-#: replication/basebackup.c:216
+#: replication/basebackup.c:284
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "не удалось найти управляющий файл \"%s\": %m"
 
-#: replication/basebackup.c:328
+#: replication/basebackup.c:396
 #, c-format
 msgid "could not find any WAL files"
 msgstr "не удалось найти ни одного файла WAL"
 
-#: replication/basebackup.c:341 replication/basebackup.c:355
-#: replication/basebackup.c:364
+#: replication/basebackup.c:409 replication/basebackup.c:423
+#: replication/basebackup.c:432
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "не удалось найти файл WAL \"%s\""
 
-#: replication/basebackup.c:403 replication/basebackup.c:426
+#: replication/basebackup.c:471 replication/basebackup.c:496
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "неприемлемый размер файла WAL \"%s\""
 
-#: replication/basebackup.c:414 replication/basebackup.c:1064
+#: replication/basebackup.c:482 replication/basebackup.c:1186
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr ""
 "в процессе базового резервного копирования не удалось передать данные, "
 "копирование прерывается"
 
-#: replication/basebackup.c:498 replication/basebackup.c:507
-#: replication/basebackup.c:516 replication/basebackup.c:525
-#: replication/basebackup.c:534
+#: replication/basebackup.c:569 replication/basebackup.c:578
+#: replication/basebackup.c:587 replication/basebackup.c:596
+#: replication/basebackup.c:605 replication/basebackup.c:616
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "повторяющийся параметр \"%s\""
 
-#: replication/basebackup.c:789 replication/basebackup.c:876
+#: replication/basebackup.c:622 utils/misc/guc.c:5420
+#, c-format
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d вне диапазона, допустимого для параметра \"%s\" (%d .. %d)"
+
+#: replication/basebackup.c:879 replication/basebackup.c:972
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m"
 
-#: replication/basebackup.c:1000
+#: replication/basebackup.c:1122
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "специальный файл \"%s\" пропускается"
 
-#: replication/basebackup.c:1054
+#: replication/basebackup.c:1176
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "архивируемый файл \"%s\" слишком велик для формата tar"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:105
+#: replication/libpqwalreceiver/libpqwalreceiver.c:106
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "не удалось подключиться к главному серверу: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:129
+#: replication/libpqwalreceiver/libpqwalreceiver.c:130
 #, c-format
 msgid ""
 "could not receive database system identifier and timeline ID from the "
@@ -13918,203 +14534,537 @@ msgstr ""
 "не удалось получить идентификатор СУБД и код линии времени с главного "
 "сервера: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:140
-#: replication/libpqwalreceiver/libpqwalreceiver.c:287
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:294
 #, c-format
 msgid "invalid response from primary server"
 msgstr "неверный ответ главного сервера"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:142
 #, c-format
-msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
-msgstr "Ожидался 1 кортеж с 3 полями, однако получено кортежей: %d, полей: %d."
+msgid ""
+"Could not identify system: got %d rows and %d fields, expected %d rows and "
+"%d or more fields."
+msgstr ""
+"Не удалось идентифицировать систему, получено строк: %d, полей: %d "
+"(ожидалось: %d и %d (или более))."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:156
+#: replication/libpqwalreceiver/libpqwalreceiver.c:158
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "идентификаторы СУБД на главном и резервном серверах различаются"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:157
+#: replication/libpqwalreceiver/libpqwalreceiver.c:159
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "Идентификатор на главном сервере: %s, на резервном: %s."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:194
+#: replication/libpqwalreceiver/libpqwalreceiver.c:201
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "не удалось начать трансляцию WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:212
+#: replication/libpqwalreceiver/libpqwalreceiver.c:219
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "не удалось отправить главному серверу сообщение о конце передачи: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:234
+#: replication/libpqwalreceiver/libpqwalreceiver.c:241
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "неожиданный набор данных после конца передачи"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:246
+#: replication/libpqwalreceiver/libpqwalreceiver.c:253
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "ошибка при чтении результата команды передачи: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:253
+#: replication/libpqwalreceiver/libpqwalreceiver.c:260
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "неожиданный результат после CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:276
+#: replication/libpqwalreceiver/libpqwalreceiver.c:283
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "не удалось получить файл истории линии времени с главного сервера: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:288
+#: replication/libpqwalreceiver/libpqwalreceiver.c:295
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Ожидался 1 кортеж с 2 полями, однако получено кортежей: %d, полей: %d."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:316
+#: replication/libpqwalreceiver/libpqwalreceiver.c:323
 #, c-format
 msgid "socket not open"
 msgstr "сокет не открыт"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:489
-#: replication/libpqwalreceiver/libpqwalreceiver.c:512
-#: replication/libpqwalreceiver/libpqwalreceiver.c:518
+#: replication/libpqwalreceiver/libpqwalreceiver.c:496
+#: replication/libpqwalreceiver/libpqwalreceiver.c:519
+#: replication/libpqwalreceiver/libpqwalreceiver.c:525
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "не удалось извлечь данные из потока WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:537
+#: replication/libpqwalreceiver/libpqwalreceiver.c:544
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "не удалось отправить данные в поток WAL: %s"
 
-#: replication/syncrep.c:207
+#: replication/logical/logical.c:81
 #, c-format
-msgid ""
-"canceling the wait for synchronous replication and terminating connection "
-"due to administrator command"
-msgstr ""
-"отмена ожидания синхронной репликации и закрытие соединения по команде "
-"администратора"
+msgid "logical decoding requires wal_level >= logical"
+msgstr "для логического декодирования требуется wal_level >= logical"
 
-#: replication/syncrep.c:208 replication/syncrep.c:225
+#: replication/logical/logical.c:86
 #, c-format
-msgid ""
-"The transaction has already committed locally, but might not have been "
-"replicated to the standby."
-msgstr ""
-"Транзакция уже была зафиксирована локально, но возможно не была "
-"реплицирована на резервный сервер."
+msgid "logical decoding requires a database connection"
+msgstr "для логического декодирования требуется подключение к БД"
 
-#: replication/syncrep.c:224
+#: replication/logical/logical.c:104
 #, c-format
-msgid "canceling wait for synchronous replication due to user request"
-msgstr "оÑ\82мена Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ\8f Ñ\81инÑ\85Ñ\80онной Ñ\80епликаÑ\86ии Ð¿Ð¾ Ð·Ð°Ð¿Ñ\80оÑ\81Ñ\83 Ð¿Ð¾Ð»Ñ\8cзоваÑ\82еля"
+msgid "logical decoding cannot be used while in recovery"
+msgstr "логиÑ\87еÑ\81кое Ð´ÐµÐºÐ¾Ð´Ð¸Ñ\80ование Ð½ÐµÐ»Ñ\8cзÑ\8f Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ð² Ð¿Ñ\80оÑ\86еÑ\81Ñ\81е Ð²Ð¾Ñ\81Ñ\81Ñ\82ановления"
 
-#: replication/syncrep.c:354
+#: replication/logical/logical.c:221
 #, c-format
-msgid "standby \"%s\" now has synchronous standby priority %u"
+msgid "cannot use physical replication slot created for logical decoding"
 msgstr ""
-"резервный сервер \"%s\" теперь имеет приоритет синхронной репликации %u"
+"для логического декодирования нельзя использовать созданный физический слот "
+"репликации"
 
-#: replication/syncrep.c:456
+#: replication/logical/logical.c:226 replication/logical/logical.c:377
 #, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
-msgstr ""
-"резервный сервер \"%s\" переходит в режим синхронной репликации с "
-"приоритетом %u"
+msgid "replication slot \"%s\" was not created in this database"
+msgstr "слот репликации \"%s\" создан не в этой базе данных"
 
-#: replication/walreceiver.c:167
+#: replication/logical/logical.c:233
 #, c-format
-msgid "terminating walreceiver process due to administrator command"
+msgid ""
+"cannot create logical replication slot in transaction that has performed "
+"writes"
+msgstr ""
+"нельзя создать логический слот репликации в транзакции, осуществляющей запись"
+
+#: replication/logical/logical.c:372
+#, c-format
+msgid "cannot use physical replication slot for logical decoding"
+msgstr ""
+"физический слот репликации нельзя использовать для логического декодирования"
+
+#: replication/logical/logical.c:413
+#, c-format
+msgid "starting logical decoding for slot %s"
+msgstr "начинается логическое декодирование для слота %s"
+
+#: replication/logical/logical.c:415
+#, c-format
+msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
+msgstr "передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X"
+
+#: replication/logical/logical.c:550
+#, 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:557
+#, c-format
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s"
+
+#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2123
+#, c-format
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "не удалось прочитать сегмент журнала %s (смещение %u, длина %lu): %m"
+
+#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
+#, c-format
+msgid "must be superuser or replication role to use replication slots"
+msgstr ""
+"для использования слотов репликации требуется роль репликации или права "
+"суперпользователя"
+
+#: replication/logical/logicalfuncs.c:339
+#, c-format
+msgid "array must be one-dimensional"
+msgstr "массив должен быть одномерным"
+
+#: replication/logical/logicalfuncs.c:345
+#, c-format
+msgid "array must not contain nulls"
+msgstr "массив не должен содержать элементы null"
+
+#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2159
+#, c-format
+msgid "array must have even number of elements"
+msgstr "в массиве должно быть чётное число элементов"
+
+#: replication/logical/logicalfuncs.c:404
+#, c-format
+msgid "output plugin cannot produce binary output"
+msgstr "модуль вывода не может выдавать двоичные данные"
+
+#: replication/logical/reorderbuffer.c:2101
+#, c-format
+msgid "could not write to data file for XID %u: %m"
+msgstr "не удалось записать в файл данных для XID %u: %m"
+
+#: replication/logical/reorderbuffer.c:2197
+#: replication/logical/reorderbuffer.c:2217
+#, c-format
+msgid "could not read from reorderbuffer spill file: %m"
+msgstr "не удалось прочитать из файла подкачки буфера пересортировки: %m"
+
+#: replication/logical/reorderbuffer.c:2201
+#, c-format
+msgid ""
+"incomplete read from reorderbuffer spill file: read %d instead of %u bytes"
+msgstr ""
+"неполное чтение из файла подкачки буфера пересортировки (прочитано байт: %d, "
+"требовалось: %u)"
+
+#: replication/logical/reorderbuffer.c:2221
+#, c-format
+msgid ""
+"could not read from reorderbuffer spill file: read %d instead of %u bytes"
+msgstr ""
+"не удалось прочитать из файла подкачки буфера пересортировки (прочитано "
+"байт: %d, требовалось: %u)"
+
+#: replication/logical/reorderbuffer.c:2827
+#, c-format
+msgid "could not read from file \"%s\": read %d instead of %d bytes"
+msgstr ""
+"не удалось прочитать из файла \"%s\" (прочитано байт: %d, требовалось: %d)"
+
+#: replication/logical/snapbuild.c:601
+#, c-format
+msgid "exported logical decoding snapshot: \"%s\" with %u xids"
+msgstr ""
+"экспортирован снимок логического декодирования: \"%s\" (транзакций: %u)"
+
+#: replication/logical/snapbuild.c:902 replication/logical/snapbuild.c:1266
+#: replication/logical/snapbuild.c:1785
+#, c-format
+msgid "logical decoding found consistent point at %X/%X"
+msgstr "процесс логического декодирования достиг точки согласованности в %X/%X"
+
+#: replication/logical/snapbuild.c:904
+#, c-format
+msgid "xid %u finished, no running transactions anymore"
+msgstr "транзакция %u завершена, больше активных транзакций нет"
+
+#: replication/logical/snapbuild.c:1231
+#, c-format
+msgid ""
+"skipping snapshot at %X/%X while building logical decoding snapshot, xmin "
+"horizon too low"
+msgstr ""
+"при построении снимка логического декодирования пропускается снимок в %X/%X "
+"-- слишком низкий горизонт xmin"
+
+#: replication/logical/snapbuild.c:1233
+#, c-format
+msgid "initial xmin horizon of %u vs the snapshot's %u"
+msgstr "начальный горизонт xmin: %u, xid в снимке: %u"
+
+#: replication/logical/snapbuild.c:1268
+#, c-format
+msgid "running xacts with xcnt == 0"
+msgstr "число активных транзакций равно 0"
+
+#: replication/logical/snapbuild.c:1325
+#, c-format
+msgid "logical decoding found initial starting point at %X/%X"
+msgstr ""
+"процесс логического декодирования нашёл начальную стартовую точку в %X/%X"
+
+#: replication/logical/snapbuild.c:1327
+#, c-format
+msgid "%u xacts need to finish"
+msgstr "необходимо дождаться завершения транзакций (%u)"
+
+#: replication/logical/snapbuild.c:1661 replication/logical/snapbuild.c:1687
+#: replication/logical/snapbuild.c:1701 replication/logical/snapbuild.c:1715
+#, c-format
+msgid "could not read file \"%s\", read %d of %d: %m"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d): %m"
+
+#: replication/logical/snapbuild.c:1667
+#, c-format
+msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
+msgstr ""
+"файл состояния snapbuild \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
+
+#: replication/logical/snapbuild.c:1672
+#, c-format
+msgid "snapbuild state file \"%s\" has unsupported version %u instead of %u"
+msgstr ""
+"файл состояния snapbuild \"%s\" имеет неправильную версию (%u вместо %u)"
+
+#: replication/logical/snapbuild.c:1726
+#, c-format
+msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
+msgstr "файл состояния snapbuild %s: неверная контрольная сумма (%u вместо %u)"
+
+#: replication/logical/snapbuild.c:1787
+#, c-format
+msgid "found initial snapshot in snapbuild file"
+msgstr "в файле snapbuild найден начальный снимок"
+
+#: replication/logical/snapbuild.c:1860
+#, c-format
+msgid "could not parse filename \"%s\""
+msgstr "не удалось разобрать имя файла \"%s\""
+
+#: replication/slot.c:162
+#, c-format
+msgid "replication slot name \"%s\" is too short"
+msgstr "имя слота репликации \"%s\" слишком короткое"
+
+#: replication/slot.c:171
+#, c-format
+msgid "replication slot name \"%s\" is too long"
+msgstr "имя слота репликации \"%s\" слишком длинное"
+
+#: replication/slot.c:184
+#, c-format
+msgid "replication slot name \"%s\" contains invalid character"
+msgstr "имя слота репликации \"%s\" содержит недопустимый символ"
+
+#: replication/slot.c:186
+#, c-format
+msgid ""
+"Replication slot names may only contain letters, numbers and the underscore "
+"character."
+msgstr ""
+"Имя слота репликации может содержать только буквы, цифры и знак "
+"подчёркивания."
+
+#: replication/slot.c:233
+#, c-format
+msgid "replication slot \"%s\" already exists"
+msgstr "слот репликации \"%s\" уже существует"
+
+#: replication/slot.c:243
+#, c-format
+msgid "all replication slots are in use"
+msgstr "используются все слоты репликации"
+
+#: replication/slot.c:244
+#, c-format
+msgid "Free one or increase max_replication_slots."
+msgstr "Освободите ненужные или увеличьте параметр max_replication_slots."
+
+#: replication/slot.c:336
+#, c-format
+msgid "replication slot \"%s\" does not exist"
+msgstr "слот репликации \"%s\" не существует"
+
+#: replication/slot.c:340
+#, c-format
+msgid "replication slot \"%s\" is already active"
+msgstr "слот репликации \"%s\" уже задействован"
+
+#: replication/slot.c:457 replication/slot.c:1044
+#, c-format
+msgid "could not rename \"%s\" to \"%s\": %m"
+msgstr "Не удалось переименовать \"%s\" в \"%s\": %m"
+
+#: replication/slot.c:488 replication/slot.c:864 replication/slot.c:1207
+#, c-format
+msgid "could not remove directory \"%s\""
+msgstr "ошибка при удалении каталога \"%s\""
+
+#: replication/slot.c:763
+#, c-format
+msgid "replication slots can only be used if max_replication_slots > 0"
+msgstr ""
+"слоты репликации можно использовать, только если max_replication_slots > 0"
+
+#: replication/slot.c:768
+#, c-format
+msgid "replication slots can only be used if wal_level >= archive"
+msgstr "слоты репликации можно использовать, только если wal_level >= archive"
+
+#: replication/slot.c:801
+#, c-format
+msgid "performing replication slot checkpoint"
+msgstr "сброс слотов репликации на диск"
+
+#: replication/slot.c:838
+#, c-format
+msgid "starting up replication slots"
+msgstr "запуск слотов репликации"
+
+#: replication/slot.c:1140 replication/slot.c:1178
+#, c-format
+msgid "could not read file \"%s\", read %d of %u: %m"
+msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %u): %m"
+
+#: replication/slot.c:1149
+#, c-format
+msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
+msgstr ""
+"файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
+
+#: replication/slot.c:1156
+#, c-format
+msgid "replication slot file \"%s\" has unsupported version %u"
+msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u"
+
+#: replication/slot.c:1163
+#, c-format
+msgid "replication slot file \"%s\" has corrupted length %u"
+msgstr "у файла слота репликации \"%s\" неверная длина: %u"
+
+#: replication/slot.c:1192
+#, c-format
+msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
+msgstr "файл слота репликации %s: неверная контрольная сумма (%u вместо %u)"
+
+#: replication/slot.c:1245
+#, c-format
+msgid "too many replication slots active before shutdown"
+msgstr "перед завершением активно слишком много слотов репликации"
+
+#: replication/slot.c:1246
+#, c-format
+msgid "Increase max_replication_slots and try again."
+msgstr "Увеличьте параметр max_replication_slots и повторите попытку."
+
+#: replication/syncrep.c:208
+#, c-format
+msgid ""
+"canceling the wait for synchronous replication and terminating connection "
+"due to administrator command"
+msgstr ""
+"отмена ожидания синхронной репликации и закрытие соединения по команде "
+"администратора"
+
+#: replication/syncrep.c:209 replication/syncrep.c:226
+#, c-format
+msgid ""
+"The transaction has already committed locally, but might not have been "
+"replicated to the standby."
+msgstr ""
+"Транзакция уже была зафиксирована локально, но возможно не была "
+"реплицирована на резервный сервер."
+
+#: replication/syncrep.c:225
+#, c-format
+msgid "canceling wait for synchronous replication due to user request"
+msgstr "отмена ожидания синхронной репликации по запросу пользователя"
+
+#: replication/syncrep.c:355
+#, c-format
+msgid "standby \"%s\" now has synchronous standby priority %u"
+msgstr ""
+"резервный сервер \"%s\" теперь имеет приоритет синхронной репликации %u"
+
+#: replication/syncrep.c:457
+#, c-format
+msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgstr ""
+"резервный сервер \"%s\" переходит в режим синхронной репликации с "
+"приоритетом %u"
+
+#: replication/walreceiver.c:167
+#, c-format
+msgid "terminating walreceiver process due to administrator command"
 msgstr "завершение процесса считывания журнала по команде администратора"
 
-#: replication/walreceiver.c:330
+#: replication/walreceiver.c:332
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr ""
 "последняя линия времени %u на главном сервере отстаёт от восстанавливаемой "
 "линии времени %u"
 
-#: replication/walreceiver.c:364
+#: replication/walreceiver.c:367
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr ""
 "начало передачи журнала с главного сервера, с позиции %X/%X на линии времени "
 "%u"
 
-#: replication/walreceiver.c:369
+#: replication/walreceiver.c:372
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u"
 
-#: replication/walreceiver.c:403
+#: replication/walreceiver.c:406
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "продолжить передачу WAL нельзя, восстановление уже окончено"
 
-#: replication/walreceiver.c:440
+#: replication/walreceiver.c:443
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "репликация прекращена главным сервером"
 
-#: replication/walreceiver.c:441
+#: replication/walreceiver.c:444
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "На линии времени %u в %X/%X достигнут конец журнала."
 
-#: replication/walreceiver.c:488
+#: replication/walreceiver.c:491
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "завершение приёма журнала из-за таймаута"
 
-#: replication/walreceiver.c:528
+#: replication/walreceiver.c:531
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr ""
 "на главном сервере больше нет журналов для запрошенной линии времени %u"
 
-#: replication/walreceiver.c:543 replication/walreceiver.c:900
+#: replication/walreceiver.c:546 replication/walreceiver.c:903
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "не удалось закрыть сегмент журнала %s: %m"
 
-#: replication/walreceiver.c:665
+#: replication/walreceiver.c:668
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "загрузка файла истории для линии времени %u с главного сервера"
 
-#: replication/walreceiver.c:951
+#: replication/walreceiver.c:954
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "не удалось записать в сегмент журнала %s (смещение %u, длина %lu): %m"
 
-#: replication/walsender.c:375 storage/smgr/md.c:1785
+#: replication/walsender.c:465 storage/smgr/md.c:1782
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "не удалось перейти к концу файла \"%s\": %m"
 
-#: replication/walsender.c:379
+#: replication/walsender.c:469
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "не удалось перейти к началу файла \"%s\": %m"
 
-#: replication/walsender.c:484
+#: replication/walsender.c:520
+#, c-format
+msgid "cannot use a logical replication slot for physical replication"
+msgstr ""
+"логический слот репликации нельзя использовать для физической репликации"
+
+#: replication/walsender.c:583
 #, 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:488
+#: replication/walsender.c:587
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "История этого сервера ответвилась от линии времени %u в %X/%X."
 
-#: replication/walsender.c:533
+#: replication/walsender.c:632
 #, c-format
 msgid ""
 "requested starting point %X/%X is ahead of the WAL flush position of this "
@@ -14123,39 +15073,44 @@ msgstr ""
 "запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала "
 "на этом сервере (%X/%X)"
 
-#: replication/walsender.c:707 replication/walsender.c:757
-#: replication/walsender.c:806
+#: replication/walsender.c:947
+#, c-format
+msgid "terminating walsender process after promotion"
+msgstr "завершение процесса передачи журнала после повышения"
+
+#: replication/walsender.c:1362 replication/walsender.c:1412
+#: replication/walsender.c:1461
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "неожиданный обрыв соединения с резервным сервером"
 
-#: replication/walsender.c:726
+#: replication/walsender.c:1381
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr ""
 "после CopyDone резервный сервер передал сообщение неожиданного типа \"%c\""
 
-#: replication/walsender.c:774
+#: replication/walsender.c:1429
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "неверный тип сообщения резервного сервера: \"%c\""
 
-#: replication/walsender.c:828
+#: replication/walsender.c:1483
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "неожиданный тип сообщения \"%c\""
 
-#: replication/walsender.c:1042
-#, c-format
-msgid "standby \"%s\" has now caught up with primary"
-msgstr "резервный сервер \"%s\" нагнал главный"
-
-#: replication/walsender.c:1151
+#: replication/walsender.c:1770
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "завершение процесса передачи журнала из-за таймаута репликации"
 
-#: replication/walsender.c:1221
+#: replication/walsender.c:1863
+#, c-format
+msgid "standby \"%s\" has now caught up with primary"
+msgstr "резервный сервер \"%s\" нагнал главный"
+
+#: replication/walsender.c:1967
 #, c-format
 msgid ""
 "number of requested standby connections exceeds max_wal_senders (currently "
@@ -14164,78 +15119,73 @@ msgstr ""
 "число запрошенных подключений резервных серверов превосходит max_wal_senders "
 "(сейчас: %d)"
 
-#: replication/walsender.c:1377
-#, c-format
-msgid "could not read from log segment %s, offset %u, length %lu: %m"
-msgstr "не удалось прочитать сегмент журнала %s (смещение %u, длина %lu): %m"
-
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:922
+#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:942
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "правило \"%s\" для отношения \"%s\" уже существует"
 
-#: rewrite/rewriteDefine.c:298
+#: rewrite/rewriteDefine.c:295
 #, c-format
 msgid "rule actions on OLD are not implemented"
 msgstr "действия правил для OLD не реализованы"
 
-#: rewrite/rewriteDefine.c:299
+#: rewrite/rewriteDefine.c:296
 #, c-format
 msgid "Use views or triggers instead."
 msgstr "Воспользуйтесь представлениями или триггерами."
 
-#: rewrite/rewriteDefine.c:303
+#: rewrite/rewriteDefine.c:300
 #, c-format
 msgid "rule actions on NEW are not implemented"
 msgstr "действия правил для NEW не реализованы"
 
-#: rewrite/rewriteDefine.c:304
+#: rewrite/rewriteDefine.c:301
 #, c-format
 msgid "Use triggers instead."
 msgstr "Воспользуйтесь триггерами."
 
-#: rewrite/rewriteDefine.c:317
+#: rewrite/rewriteDefine.c:314
 #, c-format
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "правила INSTEAD NOTHING для SELECT не реализованы"
 
-#: rewrite/rewriteDefine.c:318
+#: rewrite/rewriteDefine.c:315
 #, c-format
 msgid "Use views instead."
 msgstr "Воспользуйтесь представлениями."
 
-#: rewrite/rewriteDefine.c:326
+#: rewrite/rewriteDefine.c:323
 #, c-format
 msgid "multiple actions for rules on SELECT are not implemented"
 msgstr "множественные действия в правилах для SELECT не поддерживаются"
 
-#: rewrite/rewriteDefine.c:337
+#: rewrite/rewriteDefine.c:334
 #, c-format
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "в правилах для SELECT должно быть действие INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:345
+#: rewrite/rewriteDefine.c:342
 #, c-format
 msgid "rules on SELECT must not contain data-modifying statements in WITH"
 msgstr ""
 "правила для SELECT не должны содержать операторы, изменяющие данные, в WITH"
 
-#: rewrite/rewriteDefine.c:353
+#: rewrite/rewriteDefine.c:350
 #, c-format
 msgid "event qualifications are not implemented for rules on SELECT"
 msgstr "в правилах для SELECT не может быть условий"
 
-#: rewrite/rewriteDefine.c:380
+#: rewrite/rewriteDefine.c:377
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "\"%s\" уже является представлением"
 
-#: rewrite/rewriteDefine.c:404
+#: rewrite/rewriteDefine.c:401
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "правило представления для \"%s\" должно называться \"%s\""
 
-#: rewrite/rewriteDefine.c:430
+#: rewrite/rewriteDefine.c:429
 #, c-format
 msgid "could not convert table \"%s\" to a view because it is not empty"
 msgstr ""
@@ -14284,75 +15234,91 @@ msgstr "списки RETURNING в условных правилах не под
 msgid "RETURNING lists are not supported in non-INSTEAD rules"
 msgstr "списки RETURNING поддерживаются только в правилах INSTEAD"
 
-#: rewrite/rewriteDefine.c:651
+#: rewrite/rewriteDefine.c:649
 #, c-format
 msgid "SELECT rule's target list has too many entries"
 msgstr "список результата правила для SELECT содержит слишком много колонок"
 
-#: rewrite/rewriteDefine.c:652
+#: rewrite/rewriteDefine.c:650
 #, c-format
 msgid "RETURNING list has too many entries"
 msgstr "список RETURNING содержит слишком много колонок"
 
-#: rewrite/rewriteDefine.c:668
+#: rewrite/rewriteDefine.c:666
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr ""
 "преобразовать отношение, содержащее удалённые колонки, в представление нельзя"
 
-#: rewrite/rewriteDefine.c:673
+#: rewrite/rewriteDefine.c:672
 #, c-format
-msgid "SELECT rule's target entry %d has different column name from \"%s\""
+msgid ""
+"SELECT rule's target entry %d has different column name from column \"%s\""
 msgstr ""
-"элементу %d результата правила для SELECT присвоено имя колонки, отличное от "
-"\"%s\""
+"элементу %d результата правила для SELECT присвоено имя, отличное от имени "
+"колонки \"%s\""
 
-#: rewrite/rewriteDefine.c:679
+#: rewrite/rewriteDefine.c:674
+#, c-format
+msgid "SELECT target entry is named \"%s\"."
+msgstr "Имя элемента результата SELECT: \"%s\"."
+
+#: rewrite/rewriteDefine.c:683
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет тип, отличный от типа колонки "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:681
+#: rewrite/rewriteDefine.c:685
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет тип, отличный от типа колонки \"%s\""
 
-#: rewrite/rewriteDefine.c:696
+#: rewrite/rewriteDefine.c:688 rewrite/rewriteDefine.c:712
+#, c-format
+msgid "SELECT target entry has type %s, but column has type %s."
+msgstr "Элемент результата SELECT имеет тип %s, тогда как тип колонки - %s."
+
+#: rewrite/rewriteDefine.c:691 rewrite/rewriteDefine.c:716
+#, c-format
+msgid "RETURNING list entry has type %s, but column has type %s."
+msgstr "Элемент списка RETURNING имеет тип %s, тогда как тип колонки - %s."
+
+#: rewrite/rewriteDefine.c:707
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет размер, отличный от колонки "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:698
+#: rewrite/rewriteDefine.c:709
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет размер, отличный от колонки \"%s\""
 
-#: rewrite/rewriteDefine.c:706
+#: rewrite/rewriteDefine.c:726
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "список результата правила для SELECT содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:707
+#: rewrite/rewriteDefine.c:727
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "список RETURNING содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:799 rewrite/rewriteDefine.c:913
+#: rewrite/rewriteDefine.c:819 rewrite/rewriteDefine.c:933
 #: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "правило \"%s\" для отношения\"%s\" не существует"
 
-#: rewrite/rewriteDefine.c:932
+#: rewrite/rewriteDefine.c:952
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "переименовывать правило ON SELECT нельзя"
 
-#: rewrite/rewriteHandler.c:511
+#: rewrite/rewriteHandler.c:512
 #, c-format
 msgid ""
 "WITH query name \"%s\" appears in both a rule action and the query being "
@@ -14361,88 +15327,111 @@ msgstr ""
 "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом "
 "запросе"
 
-#: rewrite/rewriteHandler.c:571
+#: rewrite/rewriteHandler.c:572
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING можно определить только для одного правила"
 
-#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:920
+#: rewrite/rewriteHandler.c:910 rewrite/rewriteHandler.c:928
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "многочисленные присвоения одной колонке \"%s\""
 
-#: rewrite/rewriteHandler.c:1682 rewrite/rewriteHandler.c:2809
+#: rewrite/rewriteHandler.c:1698 rewrite/rewriteHandler.c:3129
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\""
 
+#: rewrite/rewriteHandler.c:1995
+msgid "Junk view columns are not updatable."
+msgstr "Утилизируемые колонки представлений не обновляются."
+
+#: rewrite/rewriteHandler.c:2000
+msgid ""
+"View columns that are not columns of their base relation are not updatable."
+msgstr ""
+"Колонки представлений, не являющиеся колонками базовых отношений, не "
+"обновляются."
+
+#: rewrite/rewriteHandler.c:2003
+msgid "View columns that refer to system columns are not updatable."
+msgstr ""
+"Колонки представлений, ссылающиеся на системные колонки, не обновляются."
+
 #: rewrite/rewriteHandler.c:2006
+msgid "View columns that return whole-row references are not updatable."
+msgstr ""
+"Колонки представлений, возвращающие ссылки на всю строку, не обновляются."
+
+#: rewrite/rewriteHandler.c:2064
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Представления с DISTINCT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2009
+#: rewrite/rewriteHandler.c:2067
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Представления с GROUP BY не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2012
+#: rewrite/rewriteHandler.c:2070
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Представления с HAVING не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2015
+#: rewrite/rewriteHandler.c:2073
 msgid ""
 "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr ""
 "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2018
+#: rewrite/rewriteHandler.c:2076
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Представления с WITH не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2021
+#: rewrite/rewriteHandler.c:2079
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Представления с LIMIT или OFFSET не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2029
-msgid "Security-barrier views are not automatically updatable."
-msgstr "Представления с барьерами безопасности не обновляются автоматически."
-
-#: rewrite/rewriteHandler.c:2036 rewrite/rewriteHandler.c:2040
-#: rewrite/rewriteHandler.c:2047
-msgid ""
-"Views that do not select from a single table or view are not automatically "
-"updatable."
-msgstr ""
-"Представления, выбирающие данные не из одной таблицы или представления, не "
-"обновляются автоматически."
-
-#: rewrite/rewriteHandler.c:2070
-msgid ""
-"Views that return columns that are not columns of their base relation are "
-"not automatically updatable."
+#: rewrite/rewriteHandler.c:2091
+msgid "Views that return aggregate functions are not automatically updatable"
 msgstr ""
-"Представления, возвращающие колонки, не относящиеся к их базовым отношениям, "
-"не обновляются автоматически."
+"Представления, возвращающие агрегатные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2073
-msgid "Views that return system columns are not automatically updatable."
+#: rewrite/rewriteHandler.c:2094
+msgid "Views that return window functions are not automatically updatable"
 msgstr ""
-"Представления, возвращающие системные колонки, не обновляются автоматически."
+"Представления, возвращающие оконные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2076
-msgid "Views that return whole-row references are not automatically updatable."
+#: rewrite/rewriteHandler.c:2097
+msgid ""
+"Views that return set-returning functions are not automatically updatable."
 msgstr ""
-"Ð\9fÑ\80едÑ\81Ñ\82авлениÑ\8f, Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аÑ\8eÑ\89ие Ñ\81Ñ\81Ñ\8bлки Ð½Ð° Ð²Ñ\81Ñ\8e Ñ\81Ñ\82Ñ\80окÑ\83, не обновляются "
+"Ð\9fÑ\80едÑ\81Ñ\82авлениÑ\8f, Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аÑ\8eÑ\89ие Ñ\84Ñ\83нкÑ\86ии Ñ\81 Ñ\80езÑ\83лÑ\8cÑ\82аÑ\82ом-множеÑ\81Ñ\82вом, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:2079
+#: rewrite/rewriteHandler.c:2104 rewrite/rewriteHandler.c:2108
+#: rewrite/rewriteHandler.c:2115
 msgid ""
-"Views that return the same column more than once are not automatically "
+"Views that do not select from a single table or view are not automatically "
 "updatable."
 msgstr ""
-"Представления, возвращающие одну колонку несколько раз, не обновляются "
+"Представления, выбирающие данные не из одной таблицы или представления, не "
+"обновляются автоматически."
+
+#: rewrite/rewriteHandler.c:2139
+msgid "Views that have no updatable columns are not automatically updatable."
+msgstr ""
+"Представления, не содержащие обновляемых колонок, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:2632
+#: rewrite/rewriteHandler.c:2576
+#, c-format
+msgid "cannot insert into column \"%s\" of view \"%s\""
+msgstr "вставить данные в колонку \"%s\" представления \"%s\" нельзя"
+
+#: rewrite/rewriteHandler.c:2584
+#, c-format
+msgid "cannot update column \"%s\" of view \"%s\""
+msgstr "изменить данные в колонке \"%s\" представления \"%s\" нельзя"
+
+#: rewrite/rewriteHandler.c:2952
 #, c-format
 msgid ""
 "DO INSTEAD NOTHING rules are not supported for data-modifying statements in "
@@ -14451,7 +15440,7 @@ msgstr ""
 "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:2646
+#: rewrite/rewriteHandler.c:2966
 #, c-format
 msgid ""
 "conditional DO INSTEAD rules are not supported for data-modifying statements "
@@ -14460,13 +15449,13 @@ msgstr ""
 "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:2650
+#: rewrite/rewriteHandler.c:2970
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH"
 
-#: rewrite/rewriteHandler.c:2655
+#: rewrite/rewriteHandler.c:2975
 #, c-format
 msgid ""
 "multi-statement DO INSTEAD rules are not supported for data-modifying "
@@ -14475,43 +15464,43 @@ msgstr ""
 "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:2846
+#: rewrite/rewriteHandler.c:3166
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:2848
+#: rewrite/rewriteHandler.c:3168
 #, 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:2853
+#: rewrite/rewriteHandler.c:3173
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:2855
+#: rewrite/rewriteHandler.c:3175
 #, 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:2860
+#: rewrite/rewriteHandler.c:3180
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:2862
+#: rewrite/rewriteHandler.c:3182
 #, 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:2926
+#: rewrite/rewriteHandler.c:3246
 #, c-format
 msgid ""
 "WITH cannot be used in a query that is rewritten by rules into multiple "
@@ -14520,12 +15509,12 @@ msgstr ""
 "WITH нельзя использовать в запросе, преобразованном правилами в несколько "
 "запросов"
 
-#: rewrite/rewriteManip.c:1020
+#: rewrite/rewriteManip.c:956
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "условные служебные операторы не реализованы"
 
-#: rewrite/rewriteManip.c:1185
+#: rewrite/rewriteManip.c:1121
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "условие WHERE CURRENT OF для представлений не реализовано"
@@ -14571,17 +15560,17 @@ msgstr "нераспознанный параметр Snowball: \"%s\""
 msgid "missing Language parameter"
 msgstr "отсутствует параметр Language"
 
-#: storage/buffer/bufmgr.c:140 storage/buffer/bufmgr.c:248
+#: storage/buffer/bufmgr.c:139 storage/buffer/bufmgr.c:247
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "обращаться к временным таблицам других сеансов нельзя"
 
-#: storage/buffer/bufmgr.c:385
+#: storage/buffer/bufmgr.c:384
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "неожиданные данные после EOF в блоке %u отношения %s"
 
-#: storage/buffer/bufmgr.c:387
+#: storage/buffer/bufmgr.c:386
 #, c-format
 msgid ""
 "This has been seen to occur with buggy kernels; consider updating your "
@@ -14590,145 +15579,230 @@ msgstr ""
 "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует "
 "обновить ОС."
 
-#: storage/buffer/bufmgr.c:474
+#: storage/buffer/bufmgr.c:473
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "неверная страница в блоке %u отношения %s; страница обнуляется"
 
-#: storage/buffer/bufmgr.c:3145
+#: storage/buffer/bufmgr.c:3143
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "не удалось запись блок %u файла %s"
 
-#: storage/buffer/bufmgr.c:3147
+#: storage/buffer/bufmgr.c:3145
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Множественные сбои - возможно, постоянная ошибка записи."
 
-#: storage/buffer/bufmgr.c:3168 storage/buffer/bufmgr.c:3187
+#: storage/buffer/bufmgr.c:3166 storage/buffer/bufmgr.c:3185
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "запись блока %u отношения %s"
 
-#: storage/buffer/localbuf.c:190
+#: storage/buffer/localbuf.c:189
 #, c-format
 msgid "no empty local buffer available"
 msgstr "нет пустого локального буфера"
 
-#: storage/file/fd.c:450
+#: storage/file/fd.c:505
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "ошибка в getrlimit(): %m"
 
-#: storage/file/fd.c:540
+#: storage/file/fd.c:595
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "недостаточно дескрипторов файлов для запуска серверного процесса"
 
-#: storage/file/fd.c:541
+#: storage/file/fd.c:596
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "Система выделяет: %d, а требуется минимум: %d."
 
-#: storage/file/fd.c:582 storage/file/fd.c:1616 storage/file/fd.c:1709
-#: storage/file/fd.c:1857
+#: storage/file/fd.c:637 storage/file/fd.c:1671 storage/file/fd.c:1764
+#: storage/file/fd.c:1912
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "нехватка дескрипторов файлов: %m; освободите их и повторите попытку"
 
-#: storage/file/fd.c:1156
+#: storage/file/fd.c:1211
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "временный файл: путь \"%s\", размер %lu"
 
-#: storage/file/fd.c:1305
+#: storage/file/fd.c:1360
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "размер временного файла превышает предел temp_file_limit (%d КБ)"
 
-#: storage/file/fd.c:1592 storage/file/fd.c:1642
+#: storage/file/fd.c:1647 storage/file/fd.c:1697
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "превышен предел maxAllocatedDescs (%d) при попытке открыть файл \"%s\""
 
-#: storage/file/fd.c:1682
+#: storage/file/fd.c:1737
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке выполнить команду \"%s\""
 
-#: storage/file/fd.c:1833
+#: storage/file/fd.c:1888
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке открыть каталог \"%s\""
 
-#: storage/file/fd.c:1912
+#: storage/file/fd.c:1961
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "не удалось прочитать каталог \"%s\": %m"
 
-#: storage/ipc/shmem.c:190 storage/lmgr/lock.c:872 storage/lmgr/lock.c:906
-#: storage/lmgr/lock.c:2599 storage/lmgr/lock.c:3708 storage/lmgr/lock.c:3773
-#: storage/lmgr/lock.c:4063 storage/lmgr/predicate.c:2320
-#: storage/lmgr/predicate.c:2335 storage/lmgr/predicate.c:3728
-#: storage/lmgr/predicate.c:4871 storage/lmgr/proc.c:198
-#: utils/hash/dynahash.c:966
+#: storage/ipc/dsm.c:363
+#, c-format
+msgid "dynamic shared memory control segment is corrupt"
+msgstr "сегмент управления динамической разделяемой памятью испорчен"
+
+#: storage/ipc/dsm.c:410
+#, c-format
+msgid "dynamic shared memory is disabled"
+msgstr "динамическая разделяемая память отключена"
+
+#: storage/ipc/dsm.c:411
+#, c-format
+msgid "Set dynamic_shared_memory_type to a value other than \"none\"."
+msgstr ""
+"Установите для dynamic_shared_memory_type значение, отличное от \"none\"."
+
+#: storage/ipc/dsm.c:431
+#, c-format
+msgid "dynamic shared memory control segment is not valid"
+msgstr "сегмент управления динамической разделяемой памятью не в порядке"
+
+#: storage/ipc/dsm.c:501
+#, c-format
+msgid "too many dynamic shared memory segments"
+msgstr "слишком много сегментов динамической разделяемой памяти"
+
+#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361
+#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648
+#: storage/ipc/dsm_impl.c:811 storage/ipc/dsm_impl.c:953
+#, c-format
+msgid "could not unmap shared memory segment \"%s\": %m"
+msgstr "не удалось освободить сегмент разделяемой памяти %s: %m"
+
+#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543
+#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:821
+#, c-format
+msgid "could not remove shared memory segment \"%s\": %m"
+msgstr "ошибка при удалении сегмента разделяемой памяти \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:721
+#: storage/ipc/dsm_impl.c:835
+#, c-format
+msgid "could not open shared memory segment \"%s\": %m"
+msgstr "не удалось открыть сегмент разделяемой памяти \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559
+#: storage/ipc/dsm_impl.c:766 storage/ipc/dsm_impl.c:859
+#, c-format
+msgid "could not stat shared memory segment \"%s\": %m"
+msgstr "не удалось обратиться к сегменту разделяемой памяти \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:878
+#: storage/ipc/dsm_impl.c:926
+#, c-format
+msgid "could not resize shared memory segment %s to %zu bytes: %m"
+msgstr ""
+"не удалось изменить размер сегмента разделяемой памяти %s до %zu байт: %m"
+
+#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580
+#: storage/ipc/dsm_impl.c:742 storage/ipc/dsm_impl.c:977
+#, c-format
+msgid "could not map shared memory segment \"%s\": %m"
+msgstr "не удалось отобразить сегмент разделяемой памяти \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:515
+#, c-format
+msgid "could not get shared memory segment: %m"
+msgstr "не удалось получить сегмент разделяемой памяти: %m"
+
+#: storage/ipc/dsm_impl.c:694
+#, c-format
+msgid "could not create shared memory segment \"%s\": %m"
+msgstr "не удалось создать сегмент разделяемой памяти \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:1018
+#, c-format
+msgid "could not duplicate handle for \"%s\": %m"
+msgstr "не удалось продублировать указатель для \"%s\": %m"
+
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
+#: storage/lmgr/lock.c:872 storage/lmgr/lock.c:906 storage/lmgr/lock.c:2601
+#: storage/lmgr/lock.c:3713 storage/lmgr/lock.c:3778 storage/lmgr/lock.c:4068
+#: storage/lmgr/predicate.c:2323 storage/lmgr/predicate.c:2338
+#: storage/lmgr/predicate.c:3731 storage/lmgr/predicate.c:4874
+#: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
 #, c-format
 msgid "out of shared memory"
 msgstr "нехватка разделяемой памяти"
 
-#: storage/ipc/shmem.c:346 storage/ipc/shmem.c:399
+#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
 #, c-format
 msgid ""
-"not enough shared memory for data structure \"%s\" (%lu bytes requested)"
+"not enough shared memory for data structure \"%s\" (%zu bytes requested)"
 msgstr ""
 "недостаточно разделяемой памяти для структуры данных \"%s\" (требовалось "
-"байт: %lu)"
+"байт: %zu)"
 
-#: storage/ipc/shmem.c:365
+#: storage/ipc/shmem.c:380
 #, c-format
 msgid "could not create ShmemIndex entry for data structure \"%s\""
 msgstr "не удалось создать запись ShmemIndex для структуры данных \"%s\""
 
-#: storage/ipc/shmem.c:380
+#: storage/ipc/shmem.c:395
 #, c-format
 msgid ""
-"ShmemIndex entry size is wrong for data structure \"%s\": expected %lu, "
-"actual %lu"
+"ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, "
+"actual %zu"
 msgstr ""
 "размер записи ShmemIndex не соответствует структуре данных \"%s"
-"\" (ожидалось: %lu, фактически: %lu)"
+"\" (ожидалось: %zu, фактически: %zu)"
 
-#: storage/ipc/shmem.c:427 storage/ipc/shmem.c:446
+#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
 #, c-format
 msgid "requested shared memory size overflows size_t"
 msgstr "запрошенный размер разделяемой памяти не умещается в size_t"
 
-#: storage/ipc/standby.c:499 tcop/postgres.c:2943
+#: storage/ipc/standby.c:499 tcop/postgres.c:2950
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr ""
 "выполнение оператора отменено из-за конфликта с процессом восстановления"
 
-#: storage/ipc/standby.c:500 tcop/postgres.c:2217
+#: storage/ipc/standby.c:500 tcop/postgres.c:2214
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr ""
 "Транзакция пользователя привела к взаимоблокировке с процессом "
 "восстановления."
 
-#: storage/large_object/inv_api.c:259
+#: storage/large_object/inv_api.c:203
+#, 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:284
 #, c-format
 msgid "invalid flags for opening a large object: %d"
 msgstr "неверные флаги для открытия большого объекта: %d"
 
-#: storage/large_object/inv_api.c:418
+#: storage/large_object/inv_api.c:436
 #, c-format
 msgid "invalid whence setting: %d"
 msgstr "неверное значение ориентира: %d"
 
-#: storage/large_object/inv_api.c:581
+#: storage/large_object/inv_api.c:591
 #, c-format
 msgid "invalid large object write request size: %d"
 msgstr "неверный размер записи большого объекта: %d"
@@ -14754,52 +15828,93 @@ msgstr "обнаружена взаимоблокировка"
 msgid "See server log for query details."
 msgstr "Подробности запроса смотрите в протоколе сервера."
 
-#: storage/lmgr/lmgr.c:675
+#: storage/lmgr/lmgr.c:599
+#, c-format
+msgid "while updating tuple (%u,%u) in relation \"%s\""
+msgstr "при изменении кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:602
+#, c-format
+msgid "while deleting tuple (%u,%u) in relation \"%s\""
+msgstr "при удалении кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:605
+#, c-format
+msgid "while locking tuple (%u,%u) in relation \"%s\""
+msgstr "при блокировке кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:608
+#, c-format
+msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
+msgstr "при блокировке изменённой версии (%u,%u) кортежа в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:611
+#, c-format
+msgid "while inserting index tuple (%u,%u) in relation \"%s\""
+msgstr "при добавлении кортежа индекса (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:614
+#, c-format
+msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
+msgstr "при проверке уникальности кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:617
+#, c-format
+msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
+msgstr "при перепроверке изменённого кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:620
+#, c-format
+msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
+msgstr ""
+"при проверке ограничения-исключения для кортежа (%u,%u) в отношении \"%s\""
+
+#: storage/lmgr/lmgr.c:840
 #, c-format
 msgid "relation %u of database %u"
 msgstr "отношение %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:681
+#: storage/lmgr/lmgr.c:846
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "расширение отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:687
+#: storage/lmgr/lmgr.c:852
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "страница %u отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:694
+#: storage/lmgr/lmgr.c:859
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "кортеж (%u,%u) отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:702
+#: storage/lmgr/lmgr.c:867
 #, c-format
 msgid "transaction %u"
 msgstr "транзакция %u"
 
-#: storage/lmgr/lmgr.c:707
+#: storage/lmgr/lmgr.c:872
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "виртуальная транзакция %d/%u"
 
-#: storage/lmgr/lmgr.c:713
+#: storage/lmgr/lmgr.c:878
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "объект %u класса %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:721
+#: storage/lmgr/lmgr.c:886
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "пользовательская блокировка [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:728
+#: storage/lmgr/lmgr.c:893
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "рекомендательная блокировка [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:736
+#: storage/lmgr/lmgr.c:901
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "нераспознанный тип блокировки %d"
@@ -14821,13 +15936,13 @@ msgstr ""
 "В процессе восстановления для объектов базы данных может быть получена "
 "только блокировка RowExclusiveLock или менее сильная."
 
-#: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2600
-#: storage/lmgr/lock.c:3709 storage/lmgr/lock.c:3774 storage/lmgr/lock.c:4064
+#: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2602
+#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Возможно, следует увеличить параметр max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3036 storage/lmgr/lock.c:3148
+#: storage/lmgr/lock.c:3039 storage/lmgr/lock.c:3151
 #, c-format
 msgid ""
 "cannot PREPARE while holding both session-level and transaction-level locks "
@@ -14836,12 +15951,12 @@ msgstr ""
 "нельзя выполнить PREPARE, удерживая блокировки на уровне сеанса и на уровне "
 "транзакции для одного объекта"
 
-#: storage/lmgr/predicate.c:671
+#: storage/lmgr/predicate.c:674
 #, c-format
 msgid "not enough elements in RWConflictPool to record a read/write conflict"
 msgstr "в пуле недостаточно элементов для записи о конфликте чтения/записи"
 
-#: storage/lmgr/predicate.c:672 storage/lmgr/predicate.c:700
+#: storage/lmgr/predicate.c:675 storage/lmgr/predicate.c:703
 #, c-format
 msgid ""
 "You might need to run fewer transactions at a time or increase "
@@ -14850,7 +15965,7 @@ msgstr ""
 "Попробуйте уменьшить число транзакций в секунду или увеличить параметр "
 "max_connections."
 
-#: storage/lmgr/predicate.c:699
+#: storage/lmgr/predicate.c:702
 #, c-format
 msgid ""
 "not enough elements in RWConflictPool to record a potential read/write "
@@ -14859,12 +15974,12 @@ msgstr ""
 "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/"
 "записи"
 
-#: storage/lmgr/predicate.c:904
+#: storage/lmgr/predicate.c:907
 #, c-format
 msgid "memory for serializable conflict tracking is nearly exhausted"
 msgstr "память для отслеживания конфликтов сериализации практически исчерпана"
 
-#: storage/lmgr/predicate.c:905
+#: storage/lmgr/predicate.c:908
 #, c-format
 msgid ""
 "There might be an idle transaction or a forgotten prepared transaction "
@@ -14873,27 +15988,27 @@ msgstr ""
 "Вероятно, эта ситуация вызвана забытой подготовленной транзакцией или "
 "транзакцией, простаивающей долгое время."
 
-#: storage/lmgr/predicate.c:1187 storage/lmgr/predicate.c:1259
+#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1262
 #, c-format
 msgid ""
-"not enough shared memory for elements of data structure \"%s\" (%lu bytes "
+"not enough shared memory for elements of data structure \"%s\" (%zu bytes "
 "requested)"
 msgstr ""
-"недостаточно разделяемой памяти для элементов структуры данных %s"
-"\" (запрошено байт: %lu)"
+"недостаточно разделяемой памяти для элементов структуры данных \"%s"
+"\" (запрошено байт: %zu)"
 
-#: storage/lmgr/predicate.c:1547
+#: storage/lmgr/predicate.c:1550
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "откладываемый снимок был небезопасен; пробуем более новый"
 
-#: storage/lmgr/predicate.c:1586
+#: storage/lmgr/predicate.c:1589
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr ""
 "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"."
 
-#: storage/lmgr/predicate.c:1587
+#: storage/lmgr/predicate.c:1590
 #, c-format
 msgid ""
 "You can use \"SET default_transaction_isolation = 'repeatable read'\" to "
@@ -14902,33 +16017,33 @@ msgstr ""
 "Чтобы изменить режим по умолчанию, выполните \"SET "
 "default_transaction_isolation = 'repeatable read'\"."
 
-#: storage/lmgr/predicate.c:1626
+#: storage/lmgr/predicate.c:1629
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1696 utils/time/snapmgr.c:283
+#: storage/lmgr/predicate.c:1699 utils/time/snapmgr.c:398
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "не удалось импортировать запрошенный снимок"
 
-#: storage/lmgr/predicate.c:1697 utils/time/snapmgr.c:284
+#: storage/lmgr/predicate.c:1700 utils/time/snapmgr.c:399
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "Исходная транзакция %u уже не выполняется."
 
-#: storage/lmgr/predicate.c:2321 storage/lmgr/predicate.c:2336
-#: storage/lmgr/predicate.c:3729
+#: storage/lmgr/predicate.c:2324 storage/lmgr/predicate.c:2339
+#: storage/lmgr/predicate.c:3732
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr ""
 "Возможно, следует увеличить значение параметра max_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3883 storage/lmgr/predicate.c:3972
-#: storage/lmgr/predicate.c:3980 storage/lmgr/predicate.c:4019
-#: storage/lmgr/predicate.c:4258 storage/lmgr/predicate.c:4595
-#: storage/lmgr/predicate.c:4607 storage/lmgr/predicate.c:4649
-#: storage/lmgr/predicate.c:4687
+#: storage/lmgr/predicate.c:3886 storage/lmgr/predicate.c:3975
+#: storage/lmgr/predicate.c:3983 storage/lmgr/predicate.c:4022
+#: storage/lmgr/predicate.c:4261 storage/lmgr/predicate.c:4598
+#: storage/lmgr/predicate.c:4610 storage/lmgr/predicate.c:4652
+#: storage/lmgr/predicate.c:4690
 #, c-format
 msgid ""
 "could not serialize access due to read/write dependencies among transactions"
@@ -14936,31 +16051,31 @@ msgstr ""
 "не удалось сериализовать доступ из-за зависимостей чтения/записи между "
 "транзакциями"
 
-#: storage/lmgr/predicate.c:3885 storage/lmgr/predicate.c:3974
-#: storage/lmgr/predicate.c:3982 storage/lmgr/predicate.c:4021
-#: storage/lmgr/predicate.c:4260 storage/lmgr/predicate.c:4597
-#: storage/lmgr/predicate.c:4609 storage/lmgr/predicate.c:4651
-#: storage/lmgr/predicate.c:4689
+#: storage/lmgr/predicate.c:3888 storage/lmgr/predicate.c:3977
+#: storage/lmgr/predicate.c:3985 storage/lmgr/predicate.c:4024
+#: storage/lmgr/predicate.c:4263 storage/lmgr/predicate.c:4600
+#: storage/lmgr/predicate.c:4612 storage/lmgr/predicate.c:4654
+#: storage/lmgr/predicate.c:4692
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "Транзакция может завершиться успешно при следующей попытке."
 
-#: storage/lmgr/proc.c:1170
+#: storage/lmgr/proc.c:1172
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "Процесс %d ожидает в режиме %s блокировку %s."
 
-#: storage/lmgr/proc.c:1180
+#: storage/lmgr/proc.c:1182
 #, c-format
 msgid "sending cancel to blocking autovacuum PID %d"
 msgstr "снятие блокирующего процесса автоочистки (PID %d)"
 
-#: storage/lmgr/proc.c:1192 utils/adt/misc.c:136
+#: storage/lmgr/proc.c:1194 utils/adt/misc.c:136
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "отправить сигнал процессу %d не удалось: %m"
 
-#: storage/lmgr/proc.c:1227
+#: storage/lmgr/proc.c:1293
 #, c-format
 msgid ""
 "process %d avoided deadlock for %s on %s by rearranging queue order after "
@@ -14969,7 +16084,7 @@ msgstr ""
 "процесс %d избежал взаимоблокировки, ожидая в режиме %s блокировку \"%s\", "
 "изменив порядок очереди через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1239
+#: storage/lmgr/proc.c:1308
 #, c-format
 msgid ""
 "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
@@ -14977,133 +16092,127 @@ msgstr ""
 "процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" "
 "в течение %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1245
+#: storage/lmgr/proc.c:1317
 #, 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:1249
+#: storage/lmgr/proc.c:1324
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1265
+#: storage/lmgr/proc.c:1340
 #, 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:142
+#: storage/page/bufpage.c:144
 #, c-format
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr ""
 "ошибка проверки страницы: получена контрольная сумма %u, а ожидалась — %u"
 
-#: storage/page/bufpage.c:198 storage/page/bufpage.c:445
-#: storage/page/bufpage.c:678 storage/page/bufpage.c:808
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:459
+#: storage/page/bufpage.c:691 storage/page/bufpage.c:823
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr ""
 "испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u"
 
-#: storage/page/bufpage.c:488
+#: storage/page/bufpage.c:503
 #, c-format
 msgid "corrupted item pointer: %u"
 msgstr "испорченный указатель элемента: %u"
 
-#: storage/page/bufpage.c:499 storage/page/bufpage.c:860
+#: storage/page/bufpage.c:514 storage/page/bufpage.c:874
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "испорченный размер элемента (общий размер: %u, доступно: %u)"
 
-#: storage/page/bufpage.c:697 storage/page/bufpage.c:833
+#: storage/page/bufpage.c:710 storage/page/bufpage.c:847
 #, c-format
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "испорченный указатель элемента: смещение = %u, размер = %u"
 
-#: storage/smgr/md.c:427 storage/smgr/md.c:898
+#: storage/smgr/md.c:426 storage/smgr/md.c:897
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "не удалось обрезать файл \"%s\": %m"
 
-#: storage/smgr/md.c:494
+#: storage/smgr/md.c:493
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "не удалось увеличить файл \"%s\" до блока %u"
 
-#: storage/smgr/md.c:516 storage/smgr/md.c:677 storage/smgr/md.c:752
+#: storage/smgr/md.c:515 storage/smgr/md.c:676 storage/smgr/md.c:751
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "не удалось перейти к блоку %u в файле \"%s\": %m"
 
-#: storage/smgr/md.c:524
+#: storage/smgr/md.c:523
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "не удалось увеличить файл \"%s\": %m"
 
-#: storage/smgr/md.c:526 storage/smgr/md.c:533 storage/smgr/md.c:779
+#: storage/smgr/md.c:525 storage/smgr/md.c:532 storage/smgr/md.c:778
 #, c-format
 msgid "Check free disk space."
 msgstr "Проверьте, есть ли место на диске."
 
-#: storage/smgr/md.c:530
+#: storage/smgr/md.c:529
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
-msgstr ""
-"не удалось увеличить файл \"%s\" (записано байт: %d, требовалось записать: "
-"%d) в блоке %u"
+msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u"
 
-#: storage/smgr/md.c:695
+#: storage/smgr/md.c:694
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "не удалось прочитать блок %u в файле \"%s\": %m"
 
-#: storage/smgr/md.c:711
+#: storage/smgr/md.c:710
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
-msgstr ""
-"не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d, требовалось "
-"прочитать: %d)"
+msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)"
 
-#: storage/smgr/md.c:770
+#: storage/smgr/md.c:769
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "не удалось записать блок %u в файл \"%s\": %m"
 
-#: storage/smgr/md.c:775
+#: storage/smgr/md.c:774
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
-msgstr ""
-"не удалось записать блок %u в файл \"%s\" (записано байт: %d, требовалось "
-"записать: %d)"
+msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)"
 
-#: storage/smgr/md.c:874
+#: storage/smgr/md.c:873
 #, 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:923
+#: storage/smgr/md.c:922
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m"
 
-#: storage/smgr/md.c:1203
+#: storage/smgr/md.c:1202
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr ""
 "не удалось синхронизировать с ФС файл \"%s\", последует повторная попытка: %m"
 
-#: storage/smgr/md.c:1366
+#: storage/smgr/md.c:1365
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr ""
 "не удалось отправить запрос синхронизации с ФС (очередь запросов переполнена)"
 
-#: storage/smgr/md.c:1763
+#: storage/smgr/md.c:1760
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m"
@@ -15113,14 +16222,14 @@ msgstr "не удалось открыть файл file \"%s\" (целевой
 msgid "invalid argument size %d in function call message"
 msgstr "неверный размер аргумента (%d) в сообщении вызова функции"
 
-#: tcop/fastpath.c:304 tcop/postgres.c:362 tcop/postgres.c:398
+#: tcop/fastpath.c:304 tcop/postgres.c:353 tcop/postgres.c:389
 #, c-format
 msgid "unexpected EOF on client connection"
 msgstr "неожиданный обрыв соединения с клиентом"
 
-#: tcop/fastpath.c:318 tcop/postgres.c:947 tcop/postgres.c:1257
-#: tcop/postgres.c:1515 tcop/postgres.c:1918 tcop/postgres.c:2285
-#: tcop/postgres.c:2360
+#: tcop/fastpath.c:318 tcop/postgres.c:944 tcop/postgres.c:1254
+#: tcop/postgres.c:1512 tcop/postgres.c:1915 tcop/postgres.c:2282
+#: tcop/postgres.c:2357
 #, c-format
 msgid ""
 "current transaction is aborted, commands ignored until end of transaction "
@@ -15133,8 +16242,8 @@ msgstr ""
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "вызов функции fastpath: \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:428 tcop/postgres.c:1117 tcop/postgres.c:1382
-#: tcop/postgres.c:1759 tcop/postgres.c:1976
+#: tcop/fastpath.c:428 tcop/postgres.c:1114 tcop/postgres.c:1379
+#: tcop/postgres.c:1756 tcop/postgres.c:1973
 #, c-format
 msgid "duration: %s ms"
 msgstr "продолжительность: %s мс"
@@ -15163,55 +16272,55 @@ msgstr ""
 msgid "incorrect binary data format in function argument %d"
 msgstr "неправильный формат двоичных данных в аргументе функции %d"
 
-#: tcop/postgres.c:426 tcop/postgres.c:438 tcop/postgres.c:449
-#: tcop/postgres.c:461 tcop/postgres.c:4235
+#: tcop/postgres.c:417 tcop/postgres.c:429 tcop/postgres.c:440
+#: tcop/postgres.c:452 tcop/postgres.c:4252
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "неправильный тип клиентского сообщения %d"
 
-#: tcop/postgres.c:888
+#: tcop/postgres.c:885
 #, c-format
 msgid "statement: %s"
 msgstr "оператор: %s"
 
-#: tcop/postgres.c:1122
+#: tcop/postgres.c:1119
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "продолжительность: %s мс, оператор: %s"
 
-#: tcop/postgres.c:1172
+#: tcop/postgres.c:1169
 #, c-format
 msgid "parse %s: %s"
 msgstr "разбор %s: %s"
 
-#: tcop/postgres.c:1230
+#: tcop/postgres.c:1227
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "в подготовленный оператор нельзя вставить несколько команд"
 
-#: tcop/postgres.c:1387
+#: tcop/postgres.c:1384
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "продолжительность: %s мс, разбор %s: %s"
 
-#: tcop/postgres.c:1432
+#: tcop/postgres.c:1429
 #, c-format
 msgid "bind %s to %s"
 msgstr "привязка %s к %s"
 
 # [SM]: TO REVIEW
-#: tcop/postgres.c:1451 tcop/postgres.c:2266
+#: tcop/postgres.c:1448 tcop/postgres.c:2263
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "безымянный подготовленный оператор не существует"
 
-#: tcop/postgres.c:1493
+#: tcop/postgres.c:1490
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr ""
 "неверное число форматов параметров в сообщении Bind (%d, а параметров %d)"
 
-#: tcop/postgres.c:1499
+#: tcop/postgres.c:1496
 #, c-format
 msgid ""
 "bind message supplies %d parameters, but prepared statement \"%s\" requires "
@@ -15220,88 +16329,88 @@ msgstr ""
 "в сообщении Bind передано неверное число параметров (%d, а подготовленный "
 "оператор \"%s\" требует %d)"
 
-#: tcop/postgres.c:1666
+#: tcop/postgres.c:1663
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "неверный формат двоичных данных в параметре Вind %d"
 
-#: tcop/postgres.c:1764
+#: tcop/postgres.c:1761
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "продолжительность: %s мс, сообщение Bind %s%s%s: %s"
 
-#: tcop/postgres.c:1812 tcop/postgres.c:2346
+#: tcop/postgres.c:1809 tcop/postgres.c:2343
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "портал \"%s\" не существует"
 
-#: tcop/postgres.c:1897
+#: tcop/postgres.c:1894
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1899 tcop/postgres.c:1984
+#: tcop/postgres.c:1896 tcop/postgres.c:1981
 msgid "execute fetch from"
 msgstr "выборка из"
 
-#: tcop/postgres.c:1900 tcop/postgres.c:1985
+#: tcop/postgres.c:1897 tcop/postgres.c:1982
 msgid "execute"
 msgstr "выполнение"
 
-#: tcop/postgres.c:1981
+#: tcop/postgres.c:1978
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "продолжительность: %s мс  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2107
+#: tcop/postgres.c:2104
 #, c-format
 msgid "prepare: %s"
 msgstr "подготовка: %s"
 
-#: tcop/postgres.c:2170
+#: tcop/postgres.c:2167
 #, c-format
 msgid "parameters: %s"
 msgstr "параметры: %s"
 
-#: tcop/postgres.c:2189
+#: tcop/postgres.c:2186
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "причина прерывания: конфликт при восстановлении"
 
-#: tcop/postgres.c:2205
+#: tcop/postgres.c:2202
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "Пользователь удерживал фиксатор разделяемого буфера слишком долго."
 
-#: tcop/postgres.c:2208
+#: tcop/postgres.c:2205
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "Пользователь удерживал блокировку таблицы слишком долго."
 
-#: tcop/postgres.c:2211
+#: tcop/postgres.c:2208
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr ""
 "Пользователь использовал табличное пространство, которое должно быть удалено."
 
-#: tcop/postgres.c:2214
+#: tcop/postgres.c:2211
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr ""
 "Запросу пользователя нужно было видеть версии строк, которые должны быть "
 "удалены."
 
-#: tcop/postgres.c:2220
+#: tcop/postgres.c:2217
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "Пользователь был подключен к базе данных, которая должна быть удалена."
 
-#: tcop/postgres.c:2549
+#: tcop/postgres.c:2546
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "закрытие подключения из-за краха другого серверного процесса"
 
-#: tcop/postgres.c:2550
+#: tcop/postgres.c:2547
 #, c-format
 msgid ""
 "The postmaster has commanded this server process to roll back the current "
@@ -15312,7 +16421,7 @@ msgstr ""
 "транзакцию и завершиться, так как другой серверный процесс завершился "
 "аварийно и возможно разрушил разделяемую память."
 
-#: tcop/postgres.c:2554 tcop/postgres.c:2938
+#: tcop/postgres.c:2551 tcop/postgres.c:2945
 #, c-format
 msgid ""
 "In a moment you should be able to reconnect to the database and repeat your "
@@ -15321,12 +16430,12 @@ msgstr ""
 "Вы сможете переподключиться к базе данных и повторить вашу команду сию "
 "минуту."
 
-#: tcop/postgres.c:2667
+#: tcop/postgres.c:2664
 #, c-format
 msgid "floating-point exception"
 msgstr "исключение в операции с плавающей точкой"
 
-#: tcop/postgres.c:2668
+#: tcop/postgres.c:2665
 #, c-format
 msgid ""
 "An invalid floating-point operation was signaled. This probably means an out-"
@@ -15336,57 +16445,57 @@ msgstr ""
 "оказался вне допустимых рамок или произошла ошибка вычисления, например, "
 "деление на ноль."
 
-#: tcop/postgres.c:2842
+#: tcop/postgres.c:2849
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "прекращение процесса автоочистки по команде администратора"
 
-#: tcop/postgres.c:2848 tcop/postgres.c:2858 tcop/postgres.c:2936
+#: tcop/postgres.c:2855 tcop/postgres.c:2865 tcop/postgres.c:2943
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "закрытие подключения из-за конфликта с процессом восстановления"
 
-#: tcop/postgres.c:2864
+#: tcop/postgres.c:2871
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "закрытие подключения по команде администратора"
 
-#: tcop/postgres.c:2876
+#: tcop/postgres.c:2883
 #, c-format
 msgid "connection to client lost"
 msgstr "подключение к клиенту потеряно"
 
-#: tcop/postgres.c:2891
+#: tcop/postgres.c:2898
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "отмена проверки подлинности из-за таймаута"
 
-#: tcop/postgres.c:2906
+#: tcop/postgres.c:2913
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "выполнение оператора отменено из-за таймаута блокировки"
 
-#: tcop/postgres.c:2915
+#: tcop/postgres.c:2922
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "выполнение оператора отменено из-за таймаута"
 
-#: tcop/postgres.c:2924
+#: tcop/postgres.c:2931
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "отмена задачи автоочистки"
 
-#: tcop/postgres.c:2959
+#: tcop/postgres.c:2966
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "выполнение оператора отменено по запросу пользователя"
 
-#: tcop/postgres.c:3087 tcop/postgres.c:3109
+#: tcop/postgres.c:3094 tcop/postgres.c:3116
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "превышен предел глубины стека"
 
-#: tcop/postgres.c:3088 tcop/postgres.c:3110
+#: tcop/postgres.c:3095 tcop/postgres.c:3117
 #, c-format
 msgid ""
 "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), "
@@ -15396,12 +16505,12 @@ msgstr ""
 "КБ), предварительно убедившись, что ОС предоставляет достаточный размер "
 "стека."
 
-#: tcop/postgres.c:3126
+#: tcop/postgres.c:3133
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "Значение \"max_stack_depth\" не должно превышать %ld КБ."
 
-#: tcop/postgres.c:3128
+#: tcop/postgres.c:3135
 #, c-format
 msgid ""
 "Increase the platform's stack depth limit via \"ulimit -s\" or local "
@@ -15410,48 +16519,48 @@ msgstr ""
 "Увеличьте предел глубины стека в системе с помощью команды \"ulimit -s\" или "
 "эквивалента в вашей ОС."
 
-#: tcop/postgres.c:3492
+#: tcop/postgres.c:3499
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "неверный аргумент командной строки для серверного процесса: %s"
 
-#: tcop/postgres.c:3493 tcop/postgres.c:3499
+#: tcop/postgres.c:3500 tcop/postgres.c:3506
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: tcop/postgres.c:3497
+#: tcop/postgres.c:3504
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: неверный аргумент командной строки: %s"
 
-#: tcop/postgres.c:3576
+#: tcop/postgres.c:3583
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: не указаны ни база данных, ни пользователь"
 
-#: tcop/postgres.c:4143
+#: tcop/postgres.c:4160
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "неверный подтип сообщения CLOSE: %d"
 
-#: tcop/postgres.c:4178
+#: tcop/postgres.c:4195
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "неверный подтип сообщения DESCRIBE: %d"
 
-#: tcop/postgres.c:4256
+#: tcop/postgres.c:4273
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "вызовы функции fastpath не поддерживаются для реплицирующих соединений"
 
-#: tcop/postgres.c:4260
+#: tcop/postgres.c:4277
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr ""
 "протокол расширенных запросов не поддерживается для реплицирующих соединений"
 
-#: tcop/postgres.c:4430
+#: tcop/postgres.c:4447
 #, c-format
 msgid ""
 "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s"
@@ -15478,24 +16587,24 @@ 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:226
+#: tcop/utility.c:227
 #, 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:245
+#: tcop/utility.c:246
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "во время восстановления нельзя выполнить %s"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:263
+#: tcop/utility.c:264
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "в рамках операции с ограничениями по безопасности нельзя выполнить %s"
 
-#: tcop/utility.c:721
+#: tcop/utility.c:733
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "для выполнения CHECKPOINT нужно быть суперпользователем"
@@ -15630,7 +16739,7 @@ msgid "invalid regular expression: %s"
 msgstr "неверное регулярное выражение: %s"
 
 #: tsearch/spell.c:518 tsearch/spell.c:535 tsearch/spell.c:552
-#: tsearch/spell.c:569 tsearch/spell.c:591 gram.y:13336 gram.y:13353
+#: tsearch/spell.c:569 tsearch/spell.c:591 gram.y:13436 gram.y:13453
 #, c-format
 msgid "syntax error"
 msgstr "ошибка синтаксиса"
@@ -15665,7 +16774,7 @@ msgstr "строка слишком длинна для tsvector (%d Б, при
 msgid "line %d of configuration file \"%s\": \"%s\""
 msgstr "строка %d файла конфигурации \"%s\": \"%s\""
 
-#: tsearch/ts_locale.c:302
+#: tsearch/ts_locale.c:299
 #, c-format
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "преобразовать wchar_t в кодировку сервера не удалось: %m"
@@ -15823,7 +16932,7 @@ msgid "unrecognized privilege type: \"%s\""
 msgstr "нераспознанный тип прав: \"%s\""
 
 #: utils/adt/acl.c:3427 utils/adt/regproc.c:122 utils/adt/regproc.c:143
-#: utils/adt/regproc.c:293
+#: utils/adt/regproc.c:318
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "функция \"%s\" не существует"
@@ -15844,14 +16953,14 @@ msgid "neither input type is an array"
 msgstr "входной тип так же не является массивом"
 
 #: utils/adt/array_userfuncs.c:103 utils/adt/array_userfuncs.c:113
-#: utils/adt/arrayfuncs.c:1281 utils/adt/float.c:1225 utils/adt/float.c:1284
-#: utils/adt/float.c:2835 utils/adt/float.c:2851 utils/adt/int.c:623
+#: utils/adt/arrayfuncs.c:1281 utils/adt/float.c:1161 utils/adt/float.c:1220
+#: utils/adt/float.c:2771 utils/adt/float.c:2787 utils/adt/int.c:623
 #: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
 #: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
 #: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
 #: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
-#: utils/adt/int.c:1159 utils/adt/int8.c:1247 utils/adt/numeric.c:2242
-#: utils/adt/numeric.c:2251 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2281
+#: utils/adt/numeric.c:2290 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
 #: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
 #, c-format
 msgid "integer out of range"
@@ -15893,12 +17002,13 @@ msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "Массивы с разными размерностями несовместимы для соединения."
 
 #: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1243
-#: utils/adt/arrayfuncs.c:2916 utils/adt/arrayfuncs.c:4941
+#: utils/adt/arrayfuncs.c:2929 utils/adt/arrayfuncs.c:4954
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "неверное число размерностей: %d"
 
-#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1595 utils/adt/json.c:1672
+#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1676 utils/adt/json.c:1771
+#: utils/adt/json.c:1800
 #, c-format
 msgid "could not determine input data type"
 msgstr "не удалось определить тип входных данных"
@@ -15913,8 +17023,8 @@ msgstr "отсутствует значение размерности"
 msgid "missing \"]\" in array dimensions"
 msgstr "в размерностях массива отсутствует \"]\""
 
-#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:2441
-#: utils/adt/arrayfuncs.c:2469 utils/adt/arrayfuncs.c:2484
+#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:2454
+#: utils/adt/arrayfuncs.c:2482 utils/adt/arrayfuncs.c:2497
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "верхняя граница не может быть меньше нижней"
@@ -15947,8 +17057,8 @@ msgid "malformed array literal: \"%s\""
 msgstr "ошибочный литерал массива: \"%s\""
 
 #: utils/adt/arrayfuncs.c:876 utils/adt/arrayfuncs.c:1478
-#: utils/adt/arrayfuncs.c:2800 utils/adt/arrayfuncs.c:2948
-#: utils/adt/arrayfuncs.c:5041 utils/adt/arrayfuncs.c:5373
+#: utils/adt/arrayfuncs.c:2813 utils/adt/arrayfuncs.c:2961
+#: utils/adt/arrayfuncs.c:5054 utils/adt/arrayfuncs.c:5386
 #: utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102
 #: utils/adt/arrayutils.c:109
 #, c-format
@@ -15966,7 +17076,7 @@ msgid "wrong element type"
 msgstr "неверный тип элемента"
 
 #: utils/adt/arrayfuncs.c:1312 utils/adt/rangetypes.c:325
-#: utils/cache/lsyscache.c:2530
+#: utils/cache/lsyscache.c:2549
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "для типа %s нет функции ввода двоичных данных"
@@ -15977,92 +17087,92 @@ msgid "improper binary format in array element %d"
 msgstr "неподходящий двоичный формат в элементе массива %d"
 
 #: utils/adt/arrayfuncs.c:1534 utils/adt/rangetypes.c:330
-#: utils/cache/lsyscache.c:2563
+#: utils/cache/lsyscache.c:2582
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "для типа %s нет функции вывода двоичных данных"
 
-#: utils/adt/arrayfuncs.c:1908
+#: utils/adt/arrayfuncs.c:1921
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "разрезание массивов постоянной длины не поддерживается"
 
-#: utils/adt/arrayfuncs.c:2081 utils/adt/arrayfuncs.c:2103
-#: utils/adt/arrayfuncs.c:2137 utils/adt/arrayfuncs.c:2423
-#: utils/adt/arrayfuncs.c:4921 utils/adt/arrayfuncs.c:4953
-#: utils/adt/arrayfuncs.c:4970
+#: utils/adt/arrayfuncs.c:2094 utils/adt/arrayfuncs.c:2116
+#: utils/adt/arrayfuncs.c:2150 utils/adt/arrayfuncs.c:2436
+#: utils/adt/arrayfuncs.c:4934 utils/adt/arrayfuncs.c:4966
+#: utils/adt/arrayfuncs.c:4983 utils/adt/json.c:2172 utils/adt/json.c:2247
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "неверное число индексов массива"
 
-#: utils/adt/arrayfuncs.c:2086 utils/adt/arrayfuncs.c:2179
-#: utils/adt/arrayfuncs.c:2474
+#: utils/adt/arrayfuncs.c:2099 utils/adt/arrayfuncs.c:2192
+#: utils/adt/arrayfuncs.c:2487
 #, c-format
 msgid "array subscript out of range"
 msgstr "индекс массива вне диапазона"
 
-#: utils/adt/arrayfuncs.c:2091
+#: utils/adt/arrayfuncs.c:2104
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "нельзя присвоить значение null элементу массива фиксированной длины"
 
-#: utils/adt/arrayfuncs.c:2377
+#: utils/adt/arrayfuncs.c:2390
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "изменения в срезах массивов фиксированной длины не поддерживаются"
 
-#: utils/adt/arrayfuncs.c:2413 utils/adt/arrayfuncs.c:2500
+#: utils/adt/arrayfuncs.c:2426 utils/adt/arrayfuncs.c:2513
 #, c-format
 msgid "source array too small"
 msgstr "исходный массив слишком мал"
 
-#: utils/adt/arrayfuncs.c:3055
+#: utils/adt/arrayfuncs.c:3068
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "элемент массива null недопустим в данном контексте"
 
-#: utils/adt/arrayfuncs.c:3158 utils/adt/arrayfuncs.c:3366
-#: utils/adt/arrayfuncs.c:3683
+#: utils/adt/arrayfuncs.c:3171 utils/adt/arrayfuncs.c:3379
+#: utils/adt/arrayfuncs.c:3696
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "нельзя сравнивать массивы с элементами разных типов"
 
-#: utils/adt/arrayfuncs.c:3568 utils/adt/rangetypes.c:1212
+#: utils/adt/arrayfuncs.c:3581 utils/adt/rangetypes.c:1212
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "не удалось найти функцию хэширования для типа %s"
 
-#: utils/adt/arrayfuncs.c:4819 utils/adt/arrayfuncs.c:4859
+#: utils/adt/arrayfuncs.c:4832 utils/adt/arrayfuncs.c:4872
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "массив размерностей или массив нижних границ не может быть null"
 
-#: utils/adt/arrayfuncs.c:4922 utils/adt/arrayfuncs.c:4954
+#: utils/adt/arrayfuncs.c:4935 utils/adt/arrayfuncs.c:4967
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Массив размерностей должен быть одномерным."
 
-#: utils/adt/arrayfuncs.c:4927 utils/adt/arrayfuncs.c:4959
+#: utils/adt/arrayfuncs.c:4940 utils/adt/arrayfuncs.c:4972
 #, c-format
 msgid "wrong range of array subscripts"
 msgstr "неправильный диапазон индексов массивов"
 
-#: utils/adt/arrayfuncs.c:4928 utils/adt/arrayfuncs.c:4960
+#: utils/adt/arrayfuncs.c:4941 utils/adt/arrayfuncs.c:4973
 #, c-format
 msgid "Lower bound of dimension array must be one."
 msgstr "Нижняя граница массива размерностей должна быть равна 1."
 
-#: utils/adt/arrayfuncs.c:4933 utils/adt/arrayfuncs.c:4965
+#: utils/adt/arrayfuncs.c:4946 utils/adt/arrayfuncs.c:4978
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "значения размерностей не могут быть null"
 
-#: utils/adt/arrayfuncs.c:4971
+#: utils/adt/arrayfuncs.c:4984
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "Массив нижних границ и массив размерностей имеют разные размеры."
 
-#: utils/adt/arrayfuncs.c:5238
+#: utils/adt/arrayfuncs.c:5251
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "удаление элементов из многомерных массивов не поддерживается"
@@ -16097,15 +17207,15 @@ msgstr "неверное значение для логического типа
 msgid "invalid input syntax for type money: \"%s\""
 msgstr "неверный синтаксис для типа money: \"%s\""
 
-#: utils/adt/cash.c:609 utils/adt/cash.c:659 utils/adt/cash.c:710
-#: utils/adt/cash.c:759 utils/adt/cash.c:811 utils/adt/cash.c:861
-#: utils/adt/float.c:852 utils/adt/float.c:916 utils/adt/float.c:2594
-#: utils/adt/float.c:2657 utils/adt/geo_ops.c:4143 utils/adt/int.c:719
+#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
+#: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
+#: utils/adt/float.c:788 utils/adt/float.c:852 utils/adt/float.c:2530
+#: utils/adt/float.c:2593 utils/adt/geo_ops.c:4115 utils/adt/int.c:719
 #: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
-#: utils/adt/int8.c:657 utils/adt/int8.c:846 utils/adt/int8.c:954
-#: utils/adt/int8.c:1043 utils/adt/int8.c:1151 utils/adt/numeric.c:4510
-#: utils/adt/numeric.c:4793 utils/adt/timestamp.c:3021
+#: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4938
+#: utils/adt/numeric.c:5221 utils/adt/timestamp.c:3346
 #, c-format
 msgid "division by zero"
 msgstr "деление на ноль"
@@ -16115,7 +17225,7 @@ msgstr "деление на ноль"
 msgid "\"char\" out of range"
 msgstr "значение \"char\" вне диапазона"
 
-#: utils/adt/date.c:68 utils/adt/timestamp.c:93 utils/adt/varbit.c:52
+#: utils/adt/date.c:68 utils/adt/timestamp.c:102 utils/adt/varbit.c:52
 #: utils/adt/varchar.c:44
 #, c-format
 msgid "invalid type modifier"
@@ -16131,116 +17241,133 @@ msgstr "TIME(%d)%s: точность должна быть неотрицате
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d"
 
-#: utils/adt/date.c:144 utils/adt/datetime.c:1200 utils/adt/datetime.c:1936
+#: utils/adt/date.c:142 utils/adt/datetime.c:1210 utils/adt/datetime.c:1946
 #, c-format
 msgid "date/time value \"current\" is no longer supported"
 msgstr "значение \"current\" для даты/времени больше не поддерживается"
 
-#: utils/adt/date.c:169 utils/adt/formatting.c:3399
+#: utils/adt/date.c:167 utils/adt/formatting.c:3411
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "дата вне диапазона: \"%s\""
 
-#: utils/adt/date.c:219 utils/adt/xml.c:2033
+#: utils/adt/date.c:217 utils/adt/json.c:1409 utils/adt/xml.c:2024
 #, c-format
 msgid "date out of range"
 msgstr "дата вне диапазона"
 
-#: utils/adt/date.c:383
+#: utils/adt/date.c:259 utils/adt/timestamp.c:589
+#, c-format
+msgid "date field value out of range: %d-%02d-%02d"
+msgstr "значение поля типа date вне диапазона: %d-%02d-%02d"
+
+#: utils/adt/date.c:265 utils/adt/timestamp.c:595
+#, c-format
+msgid "date out of range: %d-%02d-%02d"
+msgstr "дата вне диапазона: %d-%02d-%02d"
+
+#: utils/adt/date.c:418
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "вычитать бесконечные даты нельзя"
 
-#: utils/adt/date.c:440 utils/adt/date.c:477
+#: utils/adt/date.c:475 utils/adt/date.c:512
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "дата вне диапазона для типа timestamp"
 
-#: utils/adt/date.c:936 utils/adt/date.c:982 utils/adt/date.c:1549
-#: utils/adt/date.c:1585 utils/adt/date.c:2457 utils/adt/formatting.c:3275
-#: utils/adt/formatting.c:3307 utils/adt/formatting.c:3375
-#: utils/adt/nabstime.c:481 utils/adt/nabstime.c:524 utils/adt/nabstime.c:554
-#: utils/adt/nabstime.c:597 utils/adt/timestamp.c:226
-#: utils/adt/timestamp.c:269 utils/adt/timestamp.c:502
-#: utils/adt/timestamp.c:541 utils/adt/timestamp.c:2676
-#: utils/adt/timestamp.c:2697 utils/adt/timestamp.c:2710
-#: utils/adt/timestamp.c:2719 utils/adt/timestamp.c:2776
-#: utils/adt/timestamp.c:2799 utils/adt/timestamp.c:2812
-#: utils/adt/timestamp.c:2823 utils/adt/timestamp.c:3259
-#: utils/adt/timestamp.c:3388 utils/adt/timestamp.c:3429
-#: utils/adt/timestamp.c:3517 utils/adt/timestamp.c:3563
-#: utils/adt/timestamp.c:3674 utils/adt/timestamp.c:3998
-#: utils/adt/timestamp.c:4137 utils/adt/timestamp.c:4147
-#: utils/adt/timestamp.c:4209 utils/adt/timestamp.c:4349
-#: utils/adt/timestamp.c:4359 utils/adt/timestamp.c:4574
-#: utils/adt/timestamp.c:4653 utils/adt/timestamp.c:4660
-#: utils/adt/timestamp.c:4686 utils/adt/timestamp.c:4690
-#: utils/adt/timestamp.c:4747 utils/adt/xml.c:2055 utils/adt/xml.c:2062
-#: utils/adt/xml.c:2082 utils/adt/xml.c:2089
+#: utils/adt/date.c:971 utils/adt/date.c:1017 utils/adt/date.c:1617
+#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3287
+#: utils/adt/formatting.c:3319 utils/adt/formatting.c:3387
+#: utils/adt/json.c:1434 utils/adt/json.c:1441 utils/adt/json.c:1461
+#: utils/adt/json.c:1468 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
+#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:232
+#: utils/adt/timestamp.c:275 utils/adt/timestamp.c:713
+#: utils/adt/timestamp.c:742 utils/adt/timestamp.c:781
+#: utils/adt/timestamp.c:2935 utils/adt/timestamp.c:2956
+#: utils/adt/timestamp.c:2969 utils/adt/timestamp.c:2978
+#: utils/adt/timestamp.c:3035 utils/adt/timestamp.c:3058
+#: utils/adt/timestamp.c:3071 utils/adt/timestamp.c:3082
+#: utils/adt/timestamp.c:3607 utils/adt/timestamp.c:3736
+#: utils/adt/timestamp.c:3777 utils/adt/timestamp.c:3865
+#: utils/adt/timestamp.c:3911 utils/adt/timestamp.c:4022
+#: utils/adt/timestamp.c:4346 utils/adt/timestamp.c:4485
+#: utils/adt/timestamp.c:4495 utils/adt/timestamp.c:4557
+#: utils/adt/timestamp.c:4697 utils/adt/timestamp.c:4707
+#: utils/adt/timestamp.c:4922 utils/adt/timestamp.c:5001
+#: utils/adt/timestamp.c:5008 utils/adt/timestamp.c:5034
+#: utils/adt/timestamp.c:5038 utils/adt/timestamp.c:5095 utils/adt/xml.c:2046
+#: utils/adt/xml.c:2053 utils/adt/xml.c:2073 utils/adt/xml.c:2080
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp вне диапазона"
 
-#: utils/adt/date.c:1008
+#: utils/adt/date.c:1043
 #, c-format
 msgid "cannot convert reserved abstime value to date"
 msgstr "преобразовать зарезервированное значение abstime в дату нельзя"
 
-#: utils/adt/date.c:1162 utils/adt/date.c:1169 utils/adt/date.c:1947
-#: utils/adt/date.c:1954
+#: utils/adt/date.c:1197 utils/adt/date.c:1204 utils/adt/date.c:2015
+#: utils/adt/date.c:2022
 #, c-format
 msgid "time out of range"
 msgstr "время вне диапазона"
 
-#: utils/adt/date.c:1825 utils/adt/date.c:1842
+#: utils/adt/date.c:1265 utils/adt/timestamp.c:614
+#, c-format
+msgid "time field value out of range: %d:%02d:%02g"
+msgstr "значение поля типа time вне диапазона: %d:%02d:%02g"
+
+#: utils/adt/date.c:1893 utils/adt/date.c:1910
 #, c-format
 msgid "\"time\" units \"%s\" not recognized"
 msgstr "\"время\" содержит нераспознанные единицы \"%s\""
 
-#: utils/adt/date.c:1963
+#: utils/adt/date.c:2031
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "смещение часового пояса вне диапазона"
 
-#: utils/adt/date.c:2587 utils/adt/date.c:2604
+#: utils/adt/date.c:2655 utils/adt/date.c:2672
 #, c-format
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "\"время с часовым поясом\" содержит нераспознанные единицы \"%s\""
 
-#: utils/adt/date.c:2662 utils/adt/datetime.c:931 utils/adt/datetime.c:1665
-#: utils/adt/timestamp.c:4586 utils/adt/timestamp.c:4758
+#: utils/adt/date.c:2730 utils/adt/datetime.c:930 utils/adt/datetime.c:1675
+#: utils/adt/timestamp.c:535 utils/adt/timestamp.c:555
+#: utils/adt/timestamp.c:4934 utils/adt/timestamp.c:5106
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "часовой пояс \"%s\" не распознан"
 
-#: utils/adt/date.c:2702 utils/adt/timestamp.c:4611 utils/adt/timestamp.c:4784
+#: utils/adt/date.c:2770 utils/adt/timestamp.c:4959 utils/adt/timestamp.c:5132
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr ""
 "интервал \"%s\", задающий часовой пояс, не должен содержать дней или месяцев"
 
-#: utils/adt/datetime.c:3539 utils/adt/datetime.c:3546
+#: utils/adt/datetime.c:3547 utils/adt/datetime.c:3554
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "значение поля типа date/time вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3548
+#: utils/adt/datetime.c:3556
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Возможно, вам нужно изменить настройку \"datestyle\"."
 
-#: utils/adt/datetime.c:3553
+#: utils/adt/datetime.c:3561
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "значение поля interval вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3559
+#: utils/adt/datetime.c:3567
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "смещение часового пояса вне диапазона: \"%s\""
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3566 utils/adt/network.c:107
+#: utils/adt/datetime.c:3574 utils/adt/network.c:58
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "неверный синтаксис для типа %s: \"%s\""
@@ -16328,7 +17455,7 @@ msgstr "значение вне диапазона: переполнение"
 msgid "value out of range: underflow"
 msgstr "значение вне диапазона: антипереполнение"
 
-#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:348
+#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:316
 #, c-format
 msgid "invalid input syntax for type real: \"%s\""
 msgstr "неверный синтаксис для типа real: \"%s\""
@@ -16338,191 +17465,191 @@ msgstr "неверный синтаксис для типа real: \"%s\""
 msgid "\"%s\" is out of range for type real"
 msgstr "\"%s\" вне диапазона для типа real"
 
-#: utils/adt/float.c:449 utils/adt/float.c:523 utils/adt/float.c:579
-#: utils/adt/numeric.c:3972 utils/adt/numeric.c:3998
+#: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
+#: utils/adt/numeric.c:4400 utils/adt/numeric.c:4426
 #, c-format
 msgid "invalid input syntax for type double precision: \"%s\""
 msgstr "неверный синтаксис для типа double precision: \"%s\""
 
-#: utils/adt/float.c:517
+#: utils/adt/float.c:485
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "\"%s\" вне диапазона для типа double precision"
 
-#: utils/adt/float.c:1243 utils/adt/float.c:1301 utils/adt/int.c:349
+#: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
 #: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
 #: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
-#: utils/adt/int8.c:1272 utils/adt/numeric.c:2339 utils/adt/numeric.c:2348
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:2378 utils/adt/numeric.c:2387
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint вне диапазона"
 
-#: utils/adt/float.c:1427 utils/adt/numeric.c:5186
+#: utils/adt/float.c:1363 utils/adt/numeric.c:5614
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "извлечь квадратный корень отрицательного числа нельзя"
 
-#: utils/adt/float.c:1469 utils/adt/numeric.c:2159
+#: utils/adt/float.c:1405 utils/adt/numeric.c:2198
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "ноль в отрицательной степени даёт неопределённость"
 
-#: utils/adt/float.c:1473 utils/adt/numeric.c:2165
+#: utils/adt/float.c:1409 utils/adt/numeric.c:2204
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "отрицательное число в дробной степени даёт комплексный результат"
 
-#: utils/adt/float.c:1539 utils/adt/float.c:1569 utils/adt/numeric.c:5404
+#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:5832
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "вычислить логарифм нуля нельзя"
 
-#: utils/adt/float.c:1543 utils/adt/float.c:1573 utils/adt/numeric.c:5408
+#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:5836
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "вычислить логарифм отрицательного числа нельзя"
 
+#: utils/adt/float.c:1536 utils/adt/float.c:1557 utils/adt/float.c:1578
 #: utils/adt/float.c:1600 utils/adt/float.c:1621 utils/adt/float.c:1642
-#: utils/adt/float.c:1664 utils/adt/float.c:1685 utils/adt/float.c:1706
-#: utils/adt/float.c:1728 utils/adt/float.c:1749
+#: utils/adt/float.c:1664 utils/adt/float.c:1685
 #, c-format
 msgid "input is out of range"
 msgstr "введённое значение вне диапазона"
 
-#: utils/adt/float.c:2811 utils/adt/numeric.c:1212
+#: utils/adt/float.c:2747 utils/adt/numeric.c:1251
 #, c-format
 msgid "count must be greater than zero"
 msgstr "счётчик должен быть больше нуля"
 
-#: utils/adt/float.c:2816 utils/adt/numeric.c:1219
+#: utils/adt/float.c:2752 utils/adt/numeric.c:1258
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "операнд, нижняя и верхняя границы не могут быть NaN"
 
-#: utils/adt/float.c:2822
+#: utils/adt/float.c:2758
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "нижняя и верхняя границы должны быть конечными"
 
-#: utils/adt/float.c:2860 utils/adt/numeric.c:1232
+#: utils/adt/float.c:2796 utils/adt/numeric.c:1271
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "нижняя граница не может равняться верхней"
 
-#: utils/adt/formatting.c:492
+#: utils/adt/formatting.c:485
 #, c-format
 msgid "invalid format specification for an interval value"
 msgstr "неправильная спецификация формата для целого числа"
 
-#: utils/adt/formatting.c:493
+#: utils/adt/formatting.c:486
 #, c-format
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Интервалы не привязываются к определённым календарным датам."
 
-#: utils/adt/formatting.c:1060
+#: utils/adt/formatting.c:1055
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "\"EEEE\" может быть только последним шаблоном"
 
-#: utils/adt/formatting.c:1068
+#: utils/adt/formatting.c:1063
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "\"9\" должна стоять до \"PR\""
 
-#: utils/adt/formatting.c:1084
+#: utils/adt/formatting.c:1079
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "\"0\" должен стоять до \"PR\""
 
-#: utils/adt/formatting.c:1111
+#: utils/adt/formatting.c:1106
 #, c-format
 msgid "multiple decimal points"
 msgstr "многочисленные десятичные точки"
 
-#: utils/adt/formatting.c:1115 utils/adt/formatting.c:1198
+#: utils/adt/formatting.c:1110 utils/adt/formatting.c:1193
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "нельзя использовать \"V\" вместе с десятичной точкой"
 
-#: utils/adt/formatting.c:1127
+#: utils/adt/formatting.c:1122
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "нельзя использовать \"S\" дважды"
 
-#: utils/adt/formatting.c:1131
+#: utils/adt/formatting.c:1126
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\""
 
-#: utils/adt/formatting.c:1151
+#: utils/adt/formatting.c:1146
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "нельзя использовать \"S\" вместе с \"MI\""
 
-#: utils/adt/formatting.c:1161
+#: utils/adt/formatting.c:1156
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\""
 
-#: utils/adt/formatting.c:1171
+#: utils/adt/formatting.c:1166
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "нельзя использовать \"S\" вместе с \"SG\""
 
-#: utils/adt/formatting.c:1180
+#: utils/adt/formatting.c:1175
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\""
 
-#: utils/adt/formatting.c:1206
+#: utils/adt/formatting.c:1201
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "нельзя использовать \"EEEE\" дважды"
 
-#: utils/adt/formatting.c:1212
+#: utils/adt/formatting.c:1207
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "\"EEEE\" несовместим с другими форматами"
 
-#: utils/adt/formatting.c:1213
+#: utils/adt/formatting.c:1208
 #, c-format
 msgid ""
 "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr ""
 "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки."
 
-#: utils/adt/formatting.c:1413
+#: utils/adt/formatting.c:1408
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "\"%s\" не является числом"
 
-#: utils/adt/formatting.c:1514 utils/adt/formatting.c:1566
+#: utils/adt/formatting.c:1509 utils/adt/formatting.c:1561
 #, c-format
 msgid "could not determine which collation to use for lower() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "lower()"
 
-#: utils/adt/formatting.c:1634 utils/adt/formatting.c:1686
+#: utils/adt/formatting.c:1629 utils/adt/formatting.c:1681
 #, c-format
 msgid "could not determine which collation to use for upper() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "upper()"
 
-#: utils/adt/formatting.c:1755 utils/adt/formatting.c:1819
+#: utils/adt/formatting.c:1750 utils/adt/formatting.c:1814
 #, c-format
 msgid "could not determine which collation to use for initcap() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "initcap()"
 
-#: utils/adt/formatting.c:2123
+#: utils/adt/formatting.c:2118
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "неверное сочетание стилей дат"
 
-#: utils/adt/formatting.c:2124
+#: utils/adt/formatting.c:2119
 #, c-format
 msgid ""
 "Do not mix Gregorian and ISO week date conventions in a formatting template."
@@ -16530,27 +17657,27 @@ msgstr ""
 "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне "
 "форматирования."
 
-#: utils/adt/formatting.c:2141
+#: utils/adt/formatting.c:2136
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "конфликтующие значения поля \"%s\" в строке форматирования"
 
-#: utils/adt/formatting.c:2143
+#: utils/adt/formatting.c:2138
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Это значение противоречит предыдущему значению поля того же типа."
 
-#: utils/adt/formatting.c:2204
+#: utils/adt/formatting.c:2199
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "входная строка короче, чем требует поле форматирования \"%s\""
 
-#: utils/adt/formatting.c:2206
+#: utils/adt/formatting.c:2201
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Требуется символов: %d, а осталось только %d."
 
-#: utils/adt/formatting.c:2209 utils/adt/formatting.c:2223
+#: utils/adt/formatting.c:2204 utils/adt/formatting.c:2218
 #, c-format
 msgid ""
 "If your source string is not fixed-width, try using the \"FM\" modifier."
@@ -16558,70 +17685,70 @@ msgstr ""
 "Если входная строка имеет переменную длину, попробуйте использовать "
 "модификатор \"FM\"."
 
-#: utils/adt/formatting.c:2219 utils/adt/formatting.c:2232
-#: utils/adt/formatting.c:2362
+#: utils/adt/formatting.c:2214 utils/adt/formatting.c:2227
+#: utils/adt/formatting.c:2357
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "неверное значение \"%s\" для \"%s\""
 
-#: utils/adt/formatting.c:2221
+#: utils/adt/formatting.c:2216
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d."
 
-#: utils/adt/formatting.c:2234
+#: utils/adt/formatting.c:2229
 #, c-format
 msgid "Value must be an integer."
 msgstr "Значение должно быть целым числом."
 
-#: utils/adt/formatting.c:2239
+#: utils/adt/formatting.c:2234
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "значение \"%s\" во входной строке вне диапазона"
 
-#: utils/adt/formatting.c:2241
+#: utils/adt/formatting.c:2236
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Значение должно быть в интервале %d..%d."
 
-#: utils/adt/formatting.c:2364
+#: utils/adt/formatting.c:2359
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr ""
 "Данное значение не соответствует ни одному из допустимых значений для этого "
 "поля."
 
-#: utils/adt/formatting.c:2920
+#: utils/adt/formatting.c:2932
 #, c-format
-msgid "\"TZ\"/\"tz\" format patterns are not supported in to_date"
-msgstr "шаблоны формата \"TZ\"/\"tz\" не поддерживаются в to_date"
+msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
+msgstr "шаблоны формата \"TZ\"/\"tz\"/\"OF\" не поддерживаются в to_date"
 
-#: utils/adt/formatting.c:3028
+#: utils/adt/formatting.c:3040
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\""
 
-#: utils/adt/formatting.c:3531
+#: utils/adt/formatting.c:3543
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "час \"%d\" не соответствует 12-часовому формату времени"
 
-#: utils/adt/formatting.c:3533
+#: utils/adt/formatting.c:3545
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12."
 
-#: utils/adt/formatting.c:3628
+#: utils/adt/formatting.c:3640
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "нельзя рассчитать день года без информации о годе"
 
-#: utils/adt/formatting.c:4478
+#: utils/adt/formatting.c:4490
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "\"EEEE\" не поддерживается при вводе"
 
-#: utils/adt/formatting.c:4490
+#: utils/adt/formatting.c:4502
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "\"RN\" не поддерживается при вводе"
@@ -16643,7 +17770,7 @@ msgstr "путь должен указывать в текущий или вло
 
 #: utils/adt/genfile.c:118 utils/adt/oracle_compat.c:184
 #: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
-#: utils/adt/oracle_compat.c:1048
+#: utils/adt/oracle_compat.c:1059
 #, c-format
 msgid "requested length too large"
 msgstr "запрошенная длина слишком велика"
@@ -16659,11 +17786,6 @@ msgstr "не удалось переместиться в файле \"%s\": %m"
 msgid "must be superuser to read files"
 msgstr "читать файлы может только суперпользователь"
 
-#: utils/adt/genfile.c:187 utils/adt/genfile.c:232
-#, c-format
-msgid "requested length cannot be negative"
-msgstr "запрошенная длина не может быть отрицательной"
-
 #: utils/adt/genfile.c:273
 #, c-format
 msgid "must be superuser to get file information"
@@ -16674,120 +17796,129 @@ msgstr "получать информацию о файлах может тол
 msgid "must be superuser to get directory listings"
 msgstr "читать содержимое каталогов может только суперпользователь"
 
-#: utils/adt/geo_ops.c:294 utils/adt/geo_ops.c:1427 utils/adt/geo_ops.c:3488
-#: utils/adt/geo_ops.c:4264 utils/adt/geo_ops.c:5193
+#: utils/adt/geo_ops.c:299 utils/adt/geo_ops.c:1398 utils/adt/geo_ops.c:3460
+#: utils/adt/geo_ops.c:4236 utils/adt/geo_ops.c:5165
 #, c-format
 msgid "too many points requested"
 msgstr "запрошено слишком много точек"
 
-#: utils/adt/geo_ops.c:317
+#: utils/adt/geo_ops.c:322
 #, c-format
 msgid "could not format \"path\" value"
 msgstr "не удалось отформатировать значение \"path\""
 
-#: utils/adt/geo_ops.c:392
+#: utils/adt/geo_ops.c:397
 #, c-format
 msgid "invalid input syntax for type box: \"%s\""
 msgstr "неверный синтаксис для типа box: \"%s\""
 
-#: utils/adt/geo_ops.c:951
+#: utils/adt/geo_ops.c:992
 #, c-format
-msgid "invalid input syntax for type line: \"%s\""
-msgstr "неверный синтаксис для типа line: \"%s\""
+msgid "invalid line specification: must be two distinct points"
+msgstr "неверное определение линии: требуются две различных точки"
+
+#: utils/adt/geo_ops.c:1001
+#, c-format
+msgid "invalid line specification: A and B cannot both be zero"
+msgstr "неверное определение линии: A и B вдвоём не могут быть нулевыми"
 
-#: utils/adt/geo_ops.c:958 utils/adt/geo_ops.c:1025 utils/adt/geo_ops.c:1040
-#: utils/adt/geo_ops.c:1052
+#: utils/adt/geo_ops.c:1006
 #, c-format
-msgid "type \"line\" not yet implemented"
-msgstr "тип \"line\" ещё не реализован"
+msgid "invalid input syntax for type line: \"%s\""
+msgstr "неверный синтаксис для типа line: \"%s\""
 
-#: utils/adt/geo_ops.c:1407 utils/adt/geo_ops.c:1438
+#: utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1409
 #, c-format
 msgid "invalid input syntax for type path: \"%s\""
 msgstr "неверный синтаксис для типа path: \"%s\""
 
-#: utils/adt/geo_ops.c:1477
+#: utils/adt/geo_ops.c:1448
 #, c-format
 msgid "invalid number of points in external \"path\" value"
 msgstr "недопустимое число точек во внешнем представлении типа \"path\""
 
-#: utils/adt/geo_ops.c:1820
+#: utils/adt/geo_ops.c:1791
 #, c-format
 msgid "invalid input syntax for type point: \"%s\""
 msgstr "неверный синтаксис для типа point: \"%s\""
 
-#: utils/adt/geo_ops.c:2048
+#: utils/adt/geo_ops.c:2019
 #, c-format
 msgid "invalid input syntax for type lseg: \"%s\""
 msgstr "неверный синтаксис для типа lseg: \"%s\""
 
-#: utils/adt/geo_ops.c:2652
+#: utils/adt/geo_ops.c:2623
 #, c-format
 msgid "function \"dist_lb\" not implemented"
 msgstr "функция \"dist_lb\" не реализована"
 
-#: utils/adt/geo_ops.c:3165
+#: utils/adt/geo_ops.c:3035
+#, c-format
+msgid "function \"close_sl\" not implemented"
+msgstr "функция \"close_sl\" не реализована"
+
+#: utils/adt/geo_ops.c:3137
 #, c-format
 msgid "function \"close_lb\" not implemented"
 msgstr "функция \"close_lb\" не реализована"
 
-#: utils/adt/geo_ops.c:3454
+#: utils/adt/geo_ops.c:3426
 #, c-format
 msgid "cannot create bounding box for empty polygon"
 msgstr "построить окружающий прямоугольник для пустого многоугольника нельзя"
 
-#: utils/adt/geo_ops.c:3479 utils/adt/geo_ops.c:3499
+#: utils/adt/geo_ops.c:3451 utils/adt/geo_ops.c:3471
 #, c-format
 msgid "invalid input syntax for type polygon: \"%s\""
 msgstr "неверный синтаксис для типа polygon: \"%s\""
 
-#: utils/adt/geo_ops.c:3539
+#: utils/adt/geo_ops.c:3511
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "недопустимое число точек во внешнем представлении типа \"polygon\""
 
-#: utils/adt/geo_ops.c:4062
+#: utils/adt/geo_ops.c:4034
 #, c-format
 msgid "function \"poly_distance\" not implemented"
 msgstr "функция \"poly_distance\" не реализована"
 
-#: utils/adt/geo_ops.c:4376
+#: utils/adt/geo_ops.c:4348
 #, c-format
 msgid "function \"path_center\" not implemented"
 msgstr "функция \"path_center\" не реализована"
 
-#: utils/adt/geo_ops.c:4393
+#: utils/adt/geo_ops.c:4365
 #, c-format
 msgid "open path cannot be converted to polygon"
 msgstr "открытый путь нельзя преобразовать во многоугольник"
 
-#: utils/adt/geo_ops.c:4570 utils/adt/geo_ops.c:4580 utils/adt/geo_ops.c:4595
-#: utils/adt/geo_ops.c:4601
+#: utils/adt/geo_ops.c:4542 utils/adt/geo_ops.c:4552 utils/adt/geo_ops.c:4567
+#: utils/adt/geo_ops.c:4573
 #, c-format
 msgid "invalid input syntax for type circle: \"%s\""
 msgstr "неверный синтаксис для типа circle: \"%s\""
 
-#: utils/adt/geo_ops.c:4623 utils/adt/geo_ops.c:4631
+#: utils/adt/geo_ops.c:4595 utils/adt/geo_ops.c:4603
 #, c-format
 msgid "could not format \"circle\" value"
 msgstr "не удалось отформатировать значение \"circle\""
 
-#: utils/adt/geo_ops.c:4658
+#: utils/adt/geo_ops.c:4630
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "недопустимый радиус во внешнем представлении типа \"circle\""
 
-#: utils/adt/geo_ops.c:5179
+#: utils/adt/geo_ops.c:5151
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "круг с нулевым радиусом нельзя преобразовать в многоугольник"
 
-#: utils/adt/geo_ops.c:5184
+#: utils/adt/geo_ops.c:5156
 #, c-format
 msgid "must request at least 2 points"
 msgstr "точек должно быть минимум 2"
 
-#: utils/adt/geo_ops.c:5228 utils/adt/geo_ops.c:5251
+#: utils/adt/geo_ops.c:5200
 #, c-format
 msgid "cannot convert empty polygon to circle"
 msgstr "пустой многоугольник нельзя преобразовать в круг"
@@ -16807,8 +17938,8 @@ msgstr "неверные данные int2vector"
 msgid "oidvector has too many elements"
 msgstr "oidvector содержит слишком много элементов"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1409 utils/adt/timestamp.c:4845
-#: utils/adt/timestamp.c:4926
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/timestamp.c:5193
+#: utils/adt/timestamp.c:5274
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "размер шага не может быть нулевым"
@@ -16826,57 +17957,58 @@ msgstr "значение \"%s\" вне диапазона для типа bigint
 
 #: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550
 #: utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640
-#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:783
-#: utils/adt/int8.c:804 utils/adt/int8.c:831 utils/adt/int8.c:864
-#: utils/adt/int8.c:892 utils/adt/int8.c:913 utils/adt/int8.c:940
-#: utils/adt/int8.c:980 utils/adt/int8.c:1001 utils/adt/int8.c:1028
-#: utils/adt/int8.c:1061 utils/adt/int8.c:1089 utils/adt/int8.c:1110
-#: utils/adt/int8.c:1137 utils/adt/int8.c:1310 utils/adt/int8.c:1349
-#: utils/adt/numeric.c:2294 utils/adt/varbit.c:1645
+#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741
+#: utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855
+#: utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943
+#: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
+#: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
+#: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2333
+#: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
 msgstr "bigint вне диапазона"
 
-#: utils/adt/int8.c:1366
+#: utils/adt/int8.c:1417
 #, c-format
 msgid "OID out of range"
 msgstr "OID вне диапазона"
 
-#: utils/adt/json.c:673 utils/adt/json.c:713 utils/adt/json.c:728
-#: utils/adt/json.c:739 utils/adt/json.c:749 utils/adt/json.c:783
-#: utils/adt/json.c:795 utils/adt/json.c:826 utils/adt/json.c:844
-#: utils/adt/json.c:856 utils/adt/json.c:868 utils/adt/json.c:1007
-#: utils/adt/json.c:1021 utils/adt/json.c:1032 utils/adt/json.c:1040
-#: utils/adt/json.c:1048 utils/adt/json.c:1056 utils/adt/json.c:1064
+#: utils/adt/json.c:695 utils/adt/json.c:735 utils/adt/json.c:750
+#: utils/adt/json.c:761 utils/adt/json.c:771 utils/adt/json.c:807
+#: utils/adt/json.c:819 utils/adt/json.c:850 utils/adt/json.c:868
+#: utils/adt/json.c:880 utils/adt/json.c:892 utils/adt/json.c:1031
+#: utils/adt/json.c:1045 utils/adt/json.c:1056 utils/adt/json.c:1064
 #: utils/adt/json.c:1072 utils/adt/json.c:1080 utils/adt/json.c:1088
-#: utils/adt/json.c:1118
+#: utils/adt/json.c:1096 utils/adt/json.c:1104 utils/adt/json.c:1112
+#: utils/adt/json.c:1142
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "неверный синтаксис для типа json"
 
-#: utils/adt/json.c:674
+#: utils/adt/json.c:696
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Символ с кодом 0x%02x необходимо экранировать."
 
-#: utils/adt/json.c:714
+#: utils/adt/json.c:736
 #, c-format
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры."
 
-#: utils/adt/json.c:729
+#: utils/adt/json.c:751
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr ""
 "Старшее слово суррогата Unicode не может следовать за другим старшим словом."
 
-#: utils/adt/json.c:740 utils/adt/json.c:750 utils/adt/json.c:796
-#: utils/adt/json.c:857 utils/adt/json.c:869
+#: utils/adt/json.c:762 utils/adt/json.c:772 utils/adt/json.c:820
+#: utils/adt/json.c:881 utils/adt/json.c:893
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом."
 
-#: utils/adt/json.c:784
+#: utils/adt/json.c:808
 #, c-format
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
@@ -16885,185 +18017,281 @@ msgstr ""
 "Спецкоды Unicode для значений выше 007F можно использовать только с "
 "серверной кодировкой UTF8."
 
-#: utils/adt/json.c:827 utils/adt/json.c:845
+#: utils/adt/json.c:851 utils/adt/json.c:869
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "Неверная спецпоследовательность: \"\\%s\"."
 
-#: utils/adt/json.c:1008
+#: utils/adt/json.c:1032
 #, c-format
 msgid "The input string ended unexpectedly."
 msgstr "Неожиданный конец входной строки."
 
-#: utils/adt/json.c:1022
+#: utils/adt/json.c:1046
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
 msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"."
 
-#: utils/adt/json.c:1033
+#: utils/adt/json.c:1057
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "Ожидалось значение JSON, но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1041 utils/adt/json.c:1089
+#: utils/adt/json.c:1065 utils/adt/json.c:1113
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "Ожидалась строка, но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1049
+#: utils/adt/json.c:1073
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1057
+#: utils/adt/json.c:1081
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1065
+#: utils/adt/json.c:1089
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1073
+#: utils/adt/json.c:1097
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "Ожидалось \":\", но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1081
+#: utils/adt/json.c:1105
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"."
 
-#: utils/adt/json.c:1119
+#: utils/adt/json.c:1143
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "Ошибочный элемент текста \"%s\"."
 
-#: utils/adt/json.c:1191
+#: utils/adt/json.c:1215
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "данные JSON, строка %d: %s%s%s"
 
-#: utils/adt/jsonfuncs.c:323
+#: utils/adt/json.c:1357
 #, c-format
-msgid "cannot call json_object_keys on an array"
-msgstr "вызывать json_object_keys с массивом нельзя"
+msgid "key value must be scalar, not array, composite, or json"
+msgstr ""
+"значением ключа должен быть скаляр (не массив, композитный тип или json)"
 
-#: utils/adt/jsonfuncs.c:335
+#: utils/adt/json.c:1410
 #, c-format
-msgid "cannot call json_object_keys on a scalar"
-msgstr "вызывать json_object_keys со скаляром нельзя"
+msgid "JSON does not support infinite date values."
+msgstr "JSON не поддерживает бесконечность в датах."
 
-#: utils/adt/jsonfuncs.c:440
+#: utils/adt/json.c:1435 utils/adt/json.c:1462
 #, c-format
-msgid "cannot call function with null path elements"
-msgstr "вызывать функцию с элементами пути, равными NULL, нельзя"
+msgid "JSON does not support infinite timestamp values."
+msgstr "JSON не поддерживает бесконечность в timestamp."
 
-#: utils/adt/jsonfuncs.c:457
+#: utils/adt/json.c:1492
 #, c-format
-msgid "cannot call function with empty path elements"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c Ñ\84Ñ\83нкÑ\86иÑ\8e Ñ\81 Ð¿Ñ\83Ñ\81Ñ\82Ñ\8bми Ñ\8dлеменÑ\82ами Ð¿Ñ\83Ñ\82и Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "key value must not be empty"
+msgstr "знаÑ\87ение ÐºÐ»Ñ\8eÑ\87а Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¿Ñ\83Ñ\81Ñ\82Ñ\8bм"
 
-#: utils/adt/jsonfuncs.c:569
+#: utils/adt/json.c:1931 utils/adt/json.c:1949 utils/adt/json.c:2024
+#: utils/adt/json.c:2045 utils/adt/json.c:2104
 #, c-format
-msgid "cannot extract array element from a non-array"
-msgstr "извлеÑ\87Ñ\8c Ñ\8dлеменÑ\82 Ð¼Ð°Ñ\81Ñ\81ива Ð¸Ð· Ð½Ðµ Ð¼Ð°Ñ\81Ñ\81ива Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "could not determine data type for argument %d"
+msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¾Ð¿Ñ\80еделиÑ\82Ñ\8c Ñ\82ип Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð°Ñ\80гÑ\83менÑ\82а %d"
 
-#: utils/adt/jsonfuncs.c:684
+#: utils/adt/json.c:1936
 #, c-format
-msgid "cannot extract field from a non-object"
-msgstr "извлеÑ\87Ñ\8c Ð¿Ð¾Ð»Ðµ Ð¸Ð· Ð½Ðµ Ð¾Ð±Ñ\8aекÑ\82а Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "field name must not be null"
+msgstr "имÑ\8f Ð¿Ð¾Ð»Ñ\8f Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c NULL"
 
-#: utils/adt/jsonfuncs.c:800
+#: utils/adt/json.c:1999
 #, c-format
-msgid "cannot extract element from a scalar"
-msgstr "извлеÑ\87Ñ\8c Ñ\8dлеменÑ\82 Ð¸Ð· Ñ\81калÑ\8fÑ\80а Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "argument list must have even number of elements"
+msgstr "в Ñ\81пиÑ\81ке Ð°Ñ\80гÑ\83менÑ\82ов Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ñ\87Ñ\91Ñ\82ное Ñ\87иÑ\81ло Ñ\8dлеменÑ\82ов"
 
-#: utils/adt/jsonfuncs.c:856
+#: utils/adt/json.c:2000
 #, c-format
-msgid "cannot get array length of a non-array"
-msgstr "получить длину массива для не массива нельзя"
+msgid ""
+"The arguments of json_build_object() must consist of alternating keys and "
+"values."
+msgstr ""
+"Аргументы json_build_object() должны состоять из пар ключей и значений."
 
-#: utils/adt/jsonfuncs.c:868
+#: utils/adt/json.c:2030
 #, c-format
-msgid "cannot get array length of a scalar"
-msgstr "полÑ\83Ñ\87иÑ\82Ñ\8c Ð´Ð»Ð¸Ð½Ñ\83 Ñ\81калÑ\8fÑ\80а Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "argument %d cannot be null"
+msgstr "аÑ\80гÑ\83менÑ\82 %d Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c NULL"
 
-#: utils/adt/jsonfuncs.c:1046
+#: utils/adt/json.c:2031
 #, c-format
-msgid "cannot deconstruct an array as an object"
-msgstr "извлеÑ\87Ñ\8c Ð¼Ð°Ñ\81Ñ\81ив Ð² Ð²Ð¸Ð´Ðµ Ð¾Ð±Ñ\8aекÑ\82а Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "Object keys should be text."
+msgstr "Ð\9aлÑ\8eÑ\87и Ð¾Ð±Ñ\8aекÑ\82ов Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ð±Ñ\8bÑ\82Ñ\8c Ñ\82екÑ\81Ñ\82овÑ\8bми."
 
-#: utils/adt/jsonfuncs.c:1058
+#: utils/adt/json.c:2166
 #, c-format
-msgid "cannot deconstruct a scalar"
-msgstr "извлеÑ\87Ñ\8c Ñ\81калÑ\8fÑ\80 Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "array must have two columns"
+msgstr "маÑ\81Ñ\81ив Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¸Ð¼ÐµÑ\82Ñ\8c Ð´Ð²Ðµ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸"
 
-#: utils/adt/jsonfuncs.c:1189
+#: utils/adt/json.c:2190 utils/adt/json.c:2274
 #, c-format
-msgid "cannot call json_array_elements on a non-array"
-msgstr "json_array_elements можно вызывать только для массива"
+msgid "null value not allowed for object key"
+msgstr "значение null не может быть ключом объекта"
 
-#: utils/adt/jsonfuncs.c:1201
+#: utils/adt/json.c:2263
 #, c-format
-msgid "cannot call json_array_elements on a scalar"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c json_array_elements Ñ\81о Ñ\81калÑ\8fÑ\80ом Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "mismatched array dimensions"
+msgstr "неподÑ\85одÑ\8fÑ\89ие Ñ\80азмеÑ\80ноÑ\81Ñ\82и Ð¼Ð°Ñ\81Ñ\81ива"
 
-#: utils/adt/jsonfuncs.c:1246
+#: utils/adt/jsonb.c:202
 #, c-format
-msgid "first argument of json_populate_record must be a row type"
-msgstr "первым аргументом json_populate_record должен быть кортеж"
+msgid "string too long to represent as jsonb string"
+msgstr "слишком длинная строка для представления в виде строки jsonb"
 
-#: utils/adt/jsonfuncs.c:1476
+#: utils/adt/jsonb.c:203
 #, c-format
-msgid "cannot call %s on a nested object"
-msgstr "вызывать %s с вложенным объектом нельзя"
+msgid ""
+"Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
+msgstr ""
+"Из-за ограничений реализации строки jsonb не могут быть длиннее %d байт."
 
-#: utils/adt/jsonfuncs.c:1537
+#: utils/adt/jsonb_util.c:550
 #, c-format
-msgid "cannot call %s on an array"
-msgstr "вызывать %s с массивом нельзя"
+msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
+msgstr "число пар объекта jsonb превышает предел (%zu)"
+
+#: utils/adt/jsonb_util.c:591
+#, c-format
+msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
+msgstr "число элементов массива jsonb превышает предел (%zu)"
+
+#: utils/adt/jsonb_util.c:1378 utils/adt/jsonb_util.c:1430
+#: utils/adt/jsonb_util.c:1445
+#, c-format
+msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
+msgstr "общий размер элементов массива jsonb превышает предел (%u байт)"
 
-#: utils/adt/jsonfuncs.c:1548
+#: utils/adt/jsonfuncs.c:278 utils/adt/jsonfuncs.c:443
+#: utils/adt/jsonfuncs.c:480 utils/adt/jsonfuncs.c:525
+#: utils/adt/jsonfuncs.c:600 utils/adt/jsonfuncs.c:642
+#: utils/adt/jsonfuncs.c:1937 utils/adt/jsonfuncs.c:2374
+#: utils/adt/jsonfuncs.c:2880
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "вызывать %s со скаляром нельзя"
 
-#: utils/adt/jsonfuncs.c:1588
+#: utils/adt/jsonfuncs.c:283 utils/adt/jsonfuncs.c:430
+#: utils/adt/jsonfuncs.c:485 utils/adt/jsonfuncs.c:530
+#: utils/adt/jsonfuncs.c:2363
+#, c-format
+msgid "cannot call %s on an array"
+msgstr "вызывать %s с массивом нельзя"
+
+#: utils/adt/jsonfuncs.c:605 utils/adt/jsonfuncs.c:647
+#: utils/adt/jsonfuncs.c:2719
+#, c-format
+msgid "cannot call %s on an object"
+msgstr "вызывать %s с объектом нельзя"
+
+#: utils/adt/jsonfuncs.c:723 utils/adt/jsonfuncs.c:1117
+#, c-format
+msgid "cannot call %s with null path elements"
+msgstr "вызывать %s с элементами пути, равными NULL, нельзя"
+
+#: utils/adt/jsonfuncs.c:738
+#, c-format
+msgid "cannot call %s with empty path elements"
+msgstr "вызывать %s с пустыми элементами пути нельзя"
+
+#: utils/adt/jsonfuncs.c:850
+#, c-format
+msgid "cannot extract array element from a non-array"
+msgstr "извлечь элемент массива из не массива нельзя"
+
+#: utils/adt/jsonfuncs.c:962
+#, c-format
+msgid "cannot extract field from a non-object"
+msgstr "извлечь поле из не объекта нельзя"
+
+#: utils/adt/jsonfuncs.c:1076
+#, c-format
+msgid "cannot extract element from a scalar"
+msgstr "извлечь элемент из скаляра нельзя"
+
+#: utils/adt/jsonfuncs.c:1157
+#, c-format
+msgid "cannot extract path from a scalar"
+msgstr "извлечь путь из скаляра нельзя"
+
+#: utils/adt/jsonfuncs.c:1245 utils/adt/jsonfuncs.c:1280
+#, c-format
+msgid "cannot get array length of a scalar"
+msgstr "получить длину скаляра нельзя"
+
+#: utils/adt/jsonfuncs.c:1249 utils/adt/jsonfuncs.c:1268
+#, c-format
+msgid "cannot get array length of a non-array"
+msgstr "получить длину массива для не массива нельзя"
+
+#: utils/adt/jsonfuncs.c:1345
+#, c-format
+msgid "cannot call %s on a non-object"
+msgstr "вызывать %s с не объектом нельзя"
+
+#: utils/adt/jsonfuncs.c:1363 utils/adt/jsonfuncs.c:2050
+#: utils/adt/jsonfuncs.c:2583
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
+
+#: utils/adt/jsonfuncs.c:1606
+#, c-format
+msgid "cannot deconstruct an array as an object"
+msgstr "извлечь массив в виде объекта нельзя"
+
+#: utils/adt/jsonfuncs.c:1618
 #, c-format
-msgid "first argument of json_populate_recordset must be a row type"
-msgstr "пеÑ\80вÑ\8bм Ð°Ñ\80гÑ\83менÑ\82ом json_populate_recordset Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c ÐºÐ¾Ñ\80Ñ\82еж"
+msgid "cannot deconstruct a scalar"
+msgstr "извлеÑ\87Ñ\8c Ñ\81калÑ\8fÑ\80 Ð½ÐµÐ»Ñ\8cзÑ\8f"
 
-#: utils/adt/jsonfuncs.c:1704
+#: utils/adt/jsonfuncs.c:1664
 #, c-format
-msgid "cannot call json_populate_recordset on an object"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c json_populate_recordset Ñ\81 Ð¾Ð±Ñ\8aекÑ\82ом нельзя"
+msgid "cannot extract elements from a scalar"
+msgstr "извлеÑ\87Ñ\8c Ñ\8dлеменÑ\82Ñ\8b Ð¸Ð· Ñ\81калÑ\8fÑ\80а нельзя"
 
-#: utils/adt/jsonfuncs.c:1708
+#: utils/adt/jsonfuncs.c:1668
 #, c-format
-msgid "cannot call json_populate_recordset with nested objects"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c json_populate_recordset Ñ\81 Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ\8bми Ð¾Ð±Ñ\8aекÑ\82ами нельзя"
+msgid "cannot extract elements from an object"
+msgstr "извлеÑ\87Ñ\8c Ñ\8dлеменÑ\82Ñ\8b Ð¸Ð· Ð¾Ð±Ñ\8aекÑ\82а нельзя"
 
-#: utils/adt/jsonfuncs.c:1843
+#: utils/adt/jsonfuncs.c:1924 utils/adt/jsonfuncs.c:2679
 #, c-format
-msgid "must call json_populate_recordset on an array of objects"
-msgstr "json_populate_recordset нужно вызывать с массивом объектов"
+msgid "cannot call %s on a non-array"
+msgstr "вызывать %s с не массивом нельзя"
 
-#: utils/adt/jsonfuncs.c:1854
+#: utils/adt/jsonfuncs.c:2011 utils/adt/jsonfuncs.c:2559
 #, c-format
-msgid "cannot call json_populate_recordset with nested arrays"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c json_populate_recordset Ñ\81 Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ\8bми Ð¼Ð°Ñ\81Ñ\81ивами Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "first argument of %s must be a row type"
+msgstr "пеÑ\80вÑ\8bм Ð°Ñ\80гÑ\83менÑ\82ом %s Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c ÐºÐ¾Ñ\80Ñ\82еж"
 
-#: utils/adt/jsonfuncs.c:1865
+#: utils/adt/jsonfuncs.c:2052
 #, c-format
-msgid "cannot call json_populate_recordset on a scalar"
-msgstr "вызывать json_populate_recordset со скаляром нельзя"
+msgid ""
+"Try calling the function in the FROM clause using a column definition list."
+msgstr ""
+"Попробуйте вызвать эту функцию в предложении FROM, используя список с "
+"определениями колонок."
 
-#: utils/adt/jsonfuncs.c:1885
+#: utils/adt/jsonfuncs.c:2695 utils/adt/jsonfuncs.c:2862
 #, c-format
-msgid "cannot call json_populate_recordset on a nested object"
-msgstr "вÑ\8bзÑ\8bваÑ\82Ñ\8c json_populate_recordset Ñ\81 Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ\8bм Ð¾Ð±Ñ\8aекÑ\82ом Ð½ÐµÐ»Ñ\8cзÑ\8f"
+msgid "argument of %s must be an array of objects"
+msgstr "аÑ\80гÑ\83менÑ\82ом %s Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ð¼Ð°Ñ\81Ñ\81ив Ð¾Ð±Ñ\8aекÑ\82ов"
 
 #: utils/adt/like.c:211 utils/adt/selfuncs.c:5220
 #, c-format
@@ -17137,188 +18365,188 @@ msgstr "прокрутить файлы протоколов может толь
 msgid "rotation not possible because log collection not active"
 msgstr "прокрутка невозможна, так как протоколирование отключено"
 
-#: utils/adt/misc.c:254
+#: utils/adt/misc.c:249
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "в табличном пространстве global никогда не было баз данных"
 
-#: utils/adt/misc.c:275
+#: utils/adt/misc.c:270
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u - это не OID табличного пространства"
 
-#: utils/adt/misc.c:472
+#: utils/adt/misc.c:465
 msgid "unreserved"
 msgstr "не зарезервировано"
 
-#: utils/adt/misc.c:476
+#: utils/adt/misc.c:469
 msgid "unreserved (cannot be function or type name)"
 msgstr "не зарезервировано (но не может быть именем типа или функции)"
 
-#: utils/adt/misc.c:480
+#: utils/adt/misc.c:473
 msgid "reserved (can be function or type name)"
 msgstr "зарезервировано (но может быть именем типа или функции)"
 
-#: utils/adt/misc.c:484
+#: utils/adt/misc.c:477
 msgid "reserved"
 msgstr "зарезервировано"
 
-#: utils/adt/nabstime.c:161
+#: utils/adt/nabstime.c:136
 #, c-format
 msgid "invalid time zone name: \"%s\""
 msgstr "неверное название часового пояса: \"%s\""
 
-#: utils/adt/nabstime.c:507 utils/adt/nabstime.c:580
+#: utils/adt/nabstime.c:481 utils/adt/nabstime.c:554
 #, c-format
 msgid "cannot convert abstime \"invalid\" to timestamp"
 msgstr "преобразовать значение \"invalid\" типа abstime в timestamp нельзя"
 
-#: utils/adt/nabstime.c:807
+#: utils/adt/nabstime.c:781
 #, c-format
 msgid "invalid status in external \"tinterval\" value"
 msgstr "неверное состояние во внешнем представлении \"tinterval\""
 
-#: utils/adt/nabstime.c:881
+#: utils/adt/nabstime.c:855
 #, c-format
 msgid "cannot convert reltime \"invalid\" to interval"
 msgstr "преобразовать значение \"invalid\" типа reltime в interval нельзя"
 
-#: utils/adt/nabstime.c:1576
+#: utils/adt/nabstime.c:1550
 #, c-format
 msgid "invalid input syntax for type tinterval: \"%s\""
 msgstr "неверный синтаксис для типа tinterval: \"%s\""
 
-#: utils/adt/network.c:118
+#: utils/adt/network.c:69
 #, c-format
 msgid "invalid cidr value: \"%s\""
 msgstr "неверное значение cidr: \"%s\""
 
-#: utils/adt/network.c:119 utils/adt/network.c:249
+#: utils/adt/network.c:70 utils/adt/network.c:200
 #, c-format
 msgid "Value has bits set to right of mask."
 msgstr "Значение содержит установленные биты правее маски."
 
-#: utils/adt/network.c:160 utils/adt/network.c:614 utils/adt/network.c:639
-#: utils/adt/network.c:664
+#: utils/adt/network.c:111 utils/adt/network.c:580 utils/adt/network.c:605
+#: utils/adt/network.c:630
 #, c-format
 msgid "could not format inet value: %m"
 msgstr "не удалось отформатировать значение inet: %m"
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:217
+#: utils/adt/network.c:168
 #, c-format
 msgid "invalid address family in external \"%s\" value"
 msgstr "неверное семейство адресов во внешнем представлении \"%s\""
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:224
+#: utils/adt/network.c:175
 #, c-format
 msgid "invalid bits in external \"%s\" value"
 msgstr "неверные биты во внешнем представлении \"%s\""
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:233
+#: utils/adt/network.c:184
 #, c-format
 msgid "invalid length in external \"%s\" value"
 msgstr "неверная длина во внешнем представлении \"%s\""
 
-#: utils/adt/network.c:248
+#: utils/adt/network.c:199
 #, c-format
 msgid "invalid external \"cidr\" value"
 msgstr "неверное внешнее представление \"cidr\""
 
-#: utils/adt/network.c:370 utils/adt/network.c:397
+#: utils/adt/network.c:321 utils/adt/network.c:348
 #, c-format
 msgid "invalid mask length: %d"
 msgstr "неверная длина маски: %d"
 
-#: utils/adt/network.c:682
+#: utils/adt/network.c:648
 #, c-format
 msgid "could not format cidr value: %m"
 msgstr "не удалось отформатировать значение cidr: %m"
 
-#: utils/adt/network.c:1255
+#: utils/adt/network.c:1264
 #, c-format
 msgid "cannot AND inet values of different sizes"
 msgstr "нельзя использовать \"И\" (AND) для значений inet разного размера"
 
-#: utils/adt/network.c:1287
+#: utils/adt/network.c:1296
 #, c-format
 msgid "cannot OR inet values of different sizes"
 msgstr "нельзя использовать \"ИЛИ\" (OR) для значений inet разного размера"
 
-#: utils/adt/network.c:1348 utils/adt/network.c:1424
+#: utils/adt/network.c:1357 utils/adt/network.c:1433
 #, c-format
 msgid "result is out of range"
 msgstr "результат вне диапазона"
 
-#: utils/adt/network.c:1389
+#: utils/adt/network.c:1398
 #, c-format
 msgid "cannot subtract inet values of different sizes"
 msgstr "нельзя вычитать значения inet разного размера"
 
-#: utils/adt/numeric.c:485 utils/adt/numeric.c:512 utils/adt/numeric.c:3253
-#: utils/adt/numeric.c:3276 utils/adt/numeric.c:3300 utils/adt/numeric.c:3307
+#: utils/adt/numeric.c:485 utils/adt/numeric.c:512 utils/adt/numeric.c:3681
+#: utils/adt/numeric.c:3704 utils/adt/numeric.c:3728 utils/adt/numeric.c:3735
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "неверный синтаксис для типа numeric: \"%s\""
 
-#: utils/adt/numeric.c:655
+#: utils/adt/numeric.c:694
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "неверная длина во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:666
+#: utils/adt/numeric.c:705
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "неверный знак во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:676
+#: utils/adt/numeric.c:715
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "неверная цифра во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:859 utils/adt/numeric.c:873
+#: utils/adt/numeric.c:898 utils/adt/numeric.c:912
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "точность NUMERIC %d должна быть между 1 и %d"
 
-#: utils/adt/numeric.c:864
+#: utils/adt/numeric.c:903
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "масштаб NUMERIC %d должен быть между 0 и точностью (%d)"
 
-#: utils/adt/numeric.c:882
+#: utils/adt/numeric.c:921
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "неверный модификатор типа NUMERIC"
 
-#: utils/adt/numeric.c:1889 utils/adt/numeric.c:3750
+#: utils/adt/numeric.c:1928 utils/adt/numeric.c:4178
 #, c-format
 msgid "value overflows numeric format"
 msgstr "значение переполняет формат numeric"
 
-#: utils/adt/numeric.c:2220
+#: utils/adt/numeric.c:2259
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "нельзя преобразовать NaN в integer"
 
-#: utils/adt/numeric.c:2286
+#: utils/adt/numeric.c:2325
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "нельзя преобразовать NaN в bigint"
 
-#: utils/adt/numeric.c:2331
+#: utils/adt/numeric.c:2370
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "нельзя преобразовать NaN в smallint"
 
-#: utils/adt/numeric.c:3820
+#: utils/adt/numeric.c:4248
 #, c-format
 msgid "numeric field overflow"
 msgstr "переполнение поля numeric"
 
-#: utils/adt/numeric.c:3821
+#: utils/adt/numeric.c:4249
 #, c-format
 msgid ""
 "A field with precision %d, scale %d must round to an absolute value less "
@@ -17327,7 +18555,7 @@ msgstr ""
 "Поле с точностью %d, масштабом %d должно округляться до абсолютного значения "
 "меньше чем %s%d."
 
-#: utils/adt/numeric.c:5276
+#: utils/adt/numeric.c:5704
 #, c-format
 msgid "argument for function \"exp\" too big"
 msgstr "аргумент функции \"exp\" слишком велик"
@@ -17367,29 +18595,40 @@ msgstr "неверные данные oidvector"
 msgid "requested character too large"
 msgstr "запрошенный символ больше допустимого"
 
-#: utils/adt/oracle_compat.c:941 utils/adt/oracle_compat.c:995
+#: utils/adt/oracle_compat.c:945 utils/adt/oracle_compat.c:1007
 #, c-format
 msgid "requested character too large for encoding: %d"
 msgstr "код запрошенного символа слишком велик для кодировки: %d"
 
-#: utils/adt/oracle_compat.c:988
+#: utils/adt/oracle_compat.c:986
+#, c-format
+msgid "requested character not valid for encoding: %d"
+msgstr "запрошенный символ не подходит для кодировки: %d"
+
+#: utils/adt/orac