diff --git a/src/backend/po/de.po b/src/backend/po/de.po
index 6dd941d3e9599895e0b71870f10d695aab4f7731..8cdcfd8947c6daac1756bf09b886afbe1a436fb6 100644
--- a/src/backend/po/de.po
+++ b/src/backend/po/de.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-05-04 01:38+0000\n"
-"PO-Revision-Date: 2016-05-04 00:16-0400\n"
+"POT-Creation-Date: 2016-06-07 15:08+0000\n"
+"PO-Revision-Date: 2016-06-20 09:16-0400\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: German <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -165,8 +165,8 @@ msgstr "konnte Verzeichnis „%s“ nicht schließen: %s\n"
 #: storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060
 #: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
 #: storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570
-#: utils/adt/formatting.c:1523 utils/adt/formatting.c:1643
-#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
+#: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
+#: utils/adt/formatting.c:1763 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
 #: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431
 #: utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376
 #: utils/mb/mbutils.c:709 utils/misc/guc.c:3885 utils/misc/guc.c:3901
@@ -368,7 +368,7 @@ msgstr "konnte Basistabelle von Index %s nicht öffnen"
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "Größe %lu der Indexzeile überschreitet Maximum %lu für Index „%s“"
 
-#: access/brin/brin_revmap.c:455
+#: access/brin/brin_revmap.c:459
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "unerwarteter Seitentyp 0x%04X in BRIN-Index „%s“ Block %u"
@@ -795,14 +795,14 @@ msgid "cannot access temporary tables during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht auf temporäre Tabellen zugegriffen werden"
 
 #: access/heap/heapam.c:1307 access/heap/heapam.c:1335
-#: access/heap/heapam.c:1367 catalog/aclchk.c:1755
+#: access/heap/heapam.c:1367 catalog/aclchk.c:1748
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "„%s“ ist ein Index"
 
 #: access/heap/heapam.c:1312 access/heap/heapam.c:1340
-#: access/heap/heapam.c:1372 catalog/aclchk.c:1762 commands/tablecmds.c:8986
-#: commands/tablecmds.c:12044
+#: access/heap/heapam.c:1372 catalog/aclchk.c:1755 commands/tablecmds.c:8984
+#: commands/tablecmds.c:12042
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "„%s“ ist ein zusammengesetzter Typ"
@@ -833,7 +833,7 @@ msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
 #: access/heap/heapam.c:4875 access/heap/heapam.c:4913
-#: access/heap/heapam.c:5136 executor/execMain.c:2304
+#: access/heap/heapam.c:5136 executor/execMain.c:2312
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation „%s“ nicht setzen"
@@ -853,8 +853,8 @@ msgstr "konnte nicht in Datei „%s“ schreiben, %d von %d geschrieben: %m"
 #: access/transam/timeline.c:483 access/transam/xlog.c:3060
 #: access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607
 #: replication/slot.c:1077 replication/slot.c:1162 storage/file/fd.c:624
-#: storage/file/fd.c:3052 storage/smgr/md.c:1037 storage/smgr/md.c:1268
-#: storage/smgr/md.c:1441 utils/misc/guc.c:6881
+#: storage/file/fd.c:3052 storage/smgr/md.c:1044 storage/smgr/md.c:1277
+#: storage/smgr/md.c:1450 utils/misc/guc.c:6881
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht fsyncen: %m"
@@ -865,7 +865,7 @@ msgstr "konnte Datei „%s“ nicht fsyncen: %m"
 #: access/transam/xlog.c:10124 access/transam/xlog.c:10162
 #: access/transam/xlog.c:10489 postmaster/postmaster.c:4351
 #: replication/logical/origin.c:542 replication/slot.c:1034
-#: storage/file/copydir.c:162 storage/smgr/md.c:325 utils/time/snapmgr.c:1175
+#: storage/file/copydir.c:162 storage/smgr/md.c:331 utils/time/snapmgr.c:1184
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht erstellen: %m"
@@ -876,7 +876,7 @@ msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "konnte Datei „%s“ nicht auf %u kürzen: %m"
 
 #: access/heap/rewriteheap.c:1156 replication/walsender.c:481
-#: storage/smgr/md.c:1889
+#: storage/smgr/md.c:1902
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht ans Ende der Datei „%s“ setzen: %m"
@@ -890,8 +890,8 @@ msgstr "konnte Positionszeiger nicht ans Ende der Datei „%s“ setzen: %m"
 #: replication/slot.c:1063 storage/file/copydir.c:187
 #: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
 #: utils/init/miscinit.c:1244 utils/misc/guc.c:6842 utils/misc/guc.c:6873
-#: utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1180
-#: utils/time/snapmgr.c:1187
+#: utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1189
+#: utils/time/snapmgr.c:1196
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "konnte nicht in Datei „%s“ schreiben: %m"
@@ -901,8 +901,8 @@ msgstr "konnte nicht in Datei „%s“ schreiben: %m"
 #: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2624
 #: replication/logical/reorderbuffer.c:2681
 #: replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910
-#: replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:425
-#: storage/smgr/md.c:474 storage/smgr/md.c:1388
+#: replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:431
+#: storage/smgr/md.c:480 storage/smgr/md.c:1397
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht löschen: %m"
@@ -911,7 +911,7 @@ msgstr "konnte Datei „%s“ nicht löschen: %m"
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
 #: access/transam/xlog.c:2992 access/transam/xlog.c:3109
 #: access/transam/xlog.c:3150 access/transam/xlog.c:3423
-#: access/transam/xlog.c:3501 access/transam/xlogutils.c:703
+#: access/transam/xlog.c:3501 access/transam/xlogutils.c:701
 #: replication/basebackup.c:401 replication/basebackup.c:1162
 #: replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2154
 #: replication/logical/reorderbuffer.c:2394
@@ -920,7 +920,7 @@ msgstr "konnte Datei „%s“ nicht löschen: %m"
 #: replication/slot.c:1151 replication/walsender.c:474
 #: replication/walsender.c:2104 storage/file/copydir.c:155
 #: storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031
-#: storage/smgr/md.c:608 utils/error/elog.c:1870 utils/init/miscinit.c:1163
+#: storage/smgr/md.c:613 utils/error/elog.c:1870 utils/init/miscinit.c:1163
 #: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7101
 #: utils/misc/guc.c:7134
 #, c-format
@@ -941,7 +941,7 @@ msgstr "Zugriffsmethode „%s“ existiert nicht"
 
 #: access/index/indexam.c:155 catalog/objectaddress.c:1196
 #: commands/indexcmds.c:1799 commands/tablecmds.c:241
-#: commands/tablecmds.c:12035
+#: commands/tablecmds.c:12033
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "„%s“ ist kein Index"
@@ -1241,27 +1241,27 @@ msgstr "kann nicht bis MultiXact %u trunkieren, weil sie nicht auf der Festplatt
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
 
-#: access/transam/parallel.c:581
+#: access/transam/parallel.c:583
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "Postmaster beendete während einer parallelen Transaktion"
 
-#: access/transam/parallel.c:739
+#: access/transam/parallel.c:741
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "Verbindung mit parallelem Arbeitsprozess verloren"
 
-#: access/transam/parallel.c:914
+#: access/transam/parallel.c:916
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen"
 
-#: access/transam/parallel.c:919
+#: access/transam/parallel.c:921
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "ungültige magische Zahl in dynamischem Shared-Memory-Segment"
 
-#: access/transam/parallel.c:1084
+#: access/transam/parallel.c:1086
 #, c-format
 msgid "parallel worker, PID %d"
 msgstr "paralleler Arbeitsprozess, PID %d"
@@ -1556,7 +1556,7 @@ msgstr "kann nicht mehr als 2^32-2 Befehle in einer Transaktion ausführen"
 #: access/transam/xact.c:1471
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
-msgstr "maximale Anzahl committeter Subtransaktionen (%d) erreicht"
+msgstr "maximale Anzahl committeter Subtransaktionen (%d) überschritten"
 
 #: access/transam/xact.c:2267
 #, c-format
@@ -1679,7 +1679,7 @@ msgstr "konnte Transaktionslogdatei „%s“ nicht öffnen: %m"
 msgid "could not close log file %s: %m"
 msgstr "konnte Logdatei %s nicht schließen: %m"
 
-#: access/transam/xlog.c:3584 access/transam/xlogutils.c:698
+#: access/transam/xlog.c:3584 access/transam/xlogutils.c:696
 #: replication/walsender.c:2099
 #, c-format
 msgid "requested WAL segment %s has already been removed"
@@ -1982,7 +1982,7 @@ msgstr "Parameter „%s“ erfordert einen Zeitwert"
 #: catalog/dependency.c:992 catalog/dependency.c:998 catalog/dependency.c:999
 #: catalog/dependency.c:1010 catalog/dependency.c:1011
 #: catalog/objectaddress.c:1100 commands/tablecmds.c:795
-#: commands/tablecmds.c:9447 commands/user.c:1045 commands/view.c:482
+#: commands/tablecmds.c:9445 commands/user.c:1045 commands/view.c:482
 #: libpq/auth.c:304 replication/syncrep.c:926 storage/lmgr/deadlock.c:1139
 #: storage/lmgr/proc.c:1276 utils/adt/acl.c:5281 utils/misc/guc.c:5659
 #: utils/misc/guc.c:5752 utils/misc/guc.c:9686 utils/misc/guc.c:9720
@@ -2181,12 +2181,12 @@ msgstr "Wenn Sie gerade keine Sicherung wiederherstellen, versuchen Sie, die Dat
 msgid "could not locate required checkpoint record"
 msgstr "konnte den nötigen Checkpoint-Datensatz nicht finden"
 
-#: access/transam/xlog.c:6144 commands/tablespace.c:645
+#: access/transam/xlog.c:6144 commands/tablespace.c:641
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht erstellen: %m"
 
-#: access/transam/xlog.c:6176
+#: access/transam/xlog.c:6176 access/transam/xlog.c:6182
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignoriere Datei „%s“, weil keine Datei „%s“ existiert"
@@ -2196,11 +2196,6 @@ msgstr "ignoriere Datei „%s“, weil keine Datei „%s“ existiert"
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Datei „%s“ wurde in „%s“ umbenannt."
 
-#: access/transam/xlog.c:6182
-#, c-format
-msgid "ignoring \"%s\" file because no \"%s\" file exists"
-msgstr "ignoriere Datei „%s“, weil keine Datei „%s“ existiert"
-
 #: access/transam/xlog.c:6184
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
@@ -2534,8 +2529,8 @@ msgstr "konnte symbolische Verknüpfung „%s“ nicht lesen: %m"
 msgid "symbolic link \"%s\" target is too long"
 msgstr "Ziel für symbolische Verknüpfung „%s“ ist zu lang"
 
-#: access/transam/xlog.c:10068 commands/tablespace.c:395
-#: commands/tablespace.c:557 replication/basebackup.c:1059
+#: access/transam/xlog.c:10068 commands/tablespace.c:391
+#: commands/tablespace.c:553 replication/basebackup.c:1059
 #: utils/adt/misc.c:511
 #, c-format
 msgid "tablespaces are not supported on this platform"
@@ -2544,8 +2539,8 @@ msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt"
 #: access/transam/xlog.c:10109 access/transam/xlog.c:10147
 #: access/transam/xlog.c:10326 access/transam/xlogarchive.c:106
 #: access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804
-#: commands/extension.c:3109 commands/tablespace.c:786
-#: commands/tablespace.c:877 guc-file.l:1003 replication/basebackup.c:407
+#: commands/extension.c:3109 commands/tablespace.c:782
+#: commands/tablespace.c:873 guc-file.l:1003 replication/basebackup.c:407
 #: replication/basebackup.c:475 replication/logical/snapbuild.c:1493
 #: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2826
 #: storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220
@@ -2566,10 +2561,9 @@ msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht schreiben: %m"
 
 #: access/transam/xlog.c:10290
-#, fuzzy, c-format
-#| msgid "a backup is not in progress"
+#, c-format
 msgid "exclusive backup not in progress"
-msgstr "es läuft kein Backup"
+msgstr "es läuft kein exklusives Backup"
 
 #: access/transam/xlog.c:10330
 #, c-format
@@ -2656,7 +2650,7 @@ msgstr "Dateien „%s“ und „%s“ wurden in „%s“ und „%s“ umbenannt.
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Datei „%s“ wurde in „%s“ umbenannt, aber Datei „%s“ konnte nicht in „%s“ umbenannt werden: %m."
 
-#: access/transam/xlog.c:11062 access/transam/xlogutils.c:721
+#: access/transam/xlog.c:11062 access/transam/xlogutils.c:718
 #: replication/walreceiver.c:973 replication/walsender.c:2116
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
@@ -2707,7 +2701,7 @@ msgstr "%s „%s“: %s"
 
 #: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
 #: replication/slot.c:470 replication/slot.c:981 replication/slot.c:1089
-#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1198
+#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1207
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht in „%s“ umbenennen: %m"
@@ -2725,15 +2719,15 @@ msgstr "konnte Archivstatusdatei „%s“ nicht schreiben: %m"
 #: access/transam/xlogfuncs.c:58
 #, c-format
 msgid "aborting backup due to backend exiting before pg_stop_backup was called"
-msgstr ""
+msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_stop_backup aufgerufen wurde"
 
 #: access/transam/xlogfuncs.c:88
 #, c-format
 msgid "a backup is already in progress in this session"
 msgstr "ein Backup läuft bereits in dieser Sitzung"
 
-#: access/transam/xlogfuncs.c:94 commands/tablespace.c:709
-#: commands/tablespace.c:719 postmaster/postmaster.c:1395
+#: access/transam/xlogfuncs.c:94 commands/tablespace.c:705
+#: commands/tablespace.c:715 postmaster/postmaster.c:1395
 #: replication/basebackup.c:295 replication/basebackup.c:635
 #: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292
 #: storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
@@ -2743,21 +2737,20 @@ msgid "could not open directory \"%s\": %m"
 msgstr "konnte Verzeichnis „%s“ nicht öffnen: %m"
 
 #: access/transam/xlogfuncs.c:155 access/transam/xlogfuncs.c:229
-#, fuzzy, c-format
-#| msgid "a backup is not in progress"
+#, c-format
 msgid "non-exclusive backup in progress"
-msgstr "es läuft kein Backup"
+msgstr "es läuft ein nicht-exklusives Backup"
 
 #: access/transam/xlogfuncs.c:156 access/transam/xlogfuncs.c:230
 #, c-format
 msgid "did you mean to use pg_stop_backup('f')?"
-msgstr ""
+msgstr "Meinten Sie pg_stop_backup('f')?"
 
 #: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449
 #: commands/event_trigger.c:2000 commands/extension.c:1728
 #: commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702
 #: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157
-#: executor/execQual.c:5393 executor/functions.c:1024 foreign/foreign.c:598
+#: executor/execQual.c:5406 executor/functions.c:1024 foreign/foreign.c:598
 #: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391
 #: replication/slotfuncs.c:189 replication/walsender.c:2765
 #: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615
@@ -2782,15 +2775,14 @@ msgid "materialize mode required, but it is not allowed in this context"
 msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
 
 #: access/transam/xlogfuncs.c:247
-#, fuzzy, c-format
-#| msgid "a backup is not in progress"
+#, c-format
 msgid "non-exclusive backup is not in progress"
-msgstr "es läuft kein Backup"
+msgstr "es läuft kein nicht-exklusives Backup"
 
 #: access/transam/xlogfuncs.c:248
 #, c-format
 msgid "did you mean to use pg_stop_backup('t')?"
-msgstr ""
+msgstr "Meinten Sie pg_stop_backup('t')?"
 
 #: access/transam/xlogfuncs.c:327
 #, c-format
@@ -2824,152 +2816,152 @@ msgstr "Wiederherstellung läuft nicht"
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Wiederherstellungskontrollfunktionen können nur während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlogreader.c:285
+#: access/transam/xlogreader.c:276
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "ungültiger Datensatz-Offset bei %X/%X"
 
-#: access/transam/xlogreader.c:293
+#: access/transam/xlogreader.c:284
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "Contrecord angefordert von %X/%X"
 
-#: access/transam/xlogreader.c:334 access/transam/xlogreader.c:633
+#: access/transam/xlogreader.c:325 access/transam/xlogreader.c:624
 #, c-format
 msgid "invalid record length at %X/%X: wanted %u, got %u"
 msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
 
-#: access/transam/xlogreader.c:349
+#: access/transam/xlogreader.c:340
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
 
-#: access/transam/xlogreader.c:390
+#: access/transam/xlogreader.c:381
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "keine Contrecord-Flag bei %X/%X"
 
-#: access/transam/xlogreader.c:403
+#: access/transam/xlogreader.c:394
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "ungültige Contrecord-Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:641
+#: access/transam/xlogreader.c:632
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
 
-#: access/transam/xlogreader.c:655 access/transam/xlogreader.c:672
+#: access/transam/xlogreader.c:646 access/transam/xlogreader.c:663
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
 
-#: access/transam/xlogreader.c:709
+#: access/transam/xlogreader.c:700
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
 
-#: access/transam/xlogreader.c:742
+#: access/transam/xlogreader.c:733
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:756 access/transam/xlogreader.c:807
+#: access/transam/xlogreader.c:747 access/transam/xlogreader.c:798
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:782
+#: access/transam/xlogreader.c:773
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %s, Datenbanksystemidentifikator in pg_control ist %s"
 
-#: access/transam/xlogreader.c:789
+#: access/transam/xlogreader.c:780
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Falsche XLOG_SEG_SIZE im Seitenkopf"
 
-#: access/transam/xlogreader.c:795
+#: access/transam/xlogreader.c:786
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Falsche XLOG_BLCKSZ im Seitenkopf"
 
-#: access/transam/xlogreader.c:821
+#: access/transam/xlogreader.c:812
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:846
+#: access/transam/xlogreader.c:837
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:1053
+#: access/transam/xlogreader.c:1044
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u außer der Reihe bei %X/%X"
 
-#: access/transam/xlogreader.c:1075
+#: access/transam/xlogreader.c:1066
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
 
-#: access/transam/xlogreader.c:1082
+#: access/transam/xlogreader.c:1073
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1115
+#: access/transam/xlogreader.c:1106
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1131
+#: access/transam/xlogreader.c:1122
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1146
+#: access/transam/xlogreader.c:1137
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1161
+#: access/transam/xlogreader.c:1152
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1177
+#: access/transam/xlogreader.c:1168
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
 
-#: access/transam/xlogreader.c:1189
+#: access/transam/xlogreader.c:1180
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "ungültige block_id %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1254
+#: access/transam/xlogreader.c:1245
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: access/transam/xlogreader.c:1343
+#: access/transam/xlogreader.c:1334
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "ungültiges komprimiertes Image bei %X/%X, Block %d"
 
-#: access/transam/xlogutils.c:742 replication/walsender.c:2133
+#: access/transam/xlogutils.c:739 replication/walsender.c:2133
 #, c-format
 msgid "could not read from log segment %s, offset %u, length %lu: %m"
 msgstr "konnte nicht aus Logsegment %s bei Position %u, Länge %lu lesen: %m"
 
-#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:785 tcop/postgres.c:3488
+#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:785 tcop/postgres.c:3503
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:790 tcop/postgres.c:3493
+#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:790 tcop/postgres.c:3508
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
@@ -3030,79 +3022,79 @@ msgstr "es konnten nicht alle Privilegien für Spalte „%s“ von Relation „%
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "es konnten nicht alle Privilegien für „%s“ entzogen werden"
 
-#: catalog/aclchk.c:448 catalog/aclchk.c:940
+#: catalog/aclchk.c:445 catalog/aclchk.c:935
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "ungültiger Privilegtyp %s für Relation"
 
-#: catalog/aclchk.c:452 catalog/aclchk.c:944
+#: catalog/aclchk.c:449 catalog/aclchk.c:939
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "ungültiger Privilegtyp %s für Sequenz"
 
-#: catalog/aclchk.c:456
+#: catalog/aclchk.c:453
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "ungültiger Privilegtyp %s für Datenbank"
 
-#: catalog/aclchk.c:460
+#: catalog/aclchk.c:457
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "ungültiger Privilegtyp %s für Domäne"
 
-#: catalog/aclchk.c:464 catalog/aclchk.c:948
+#: catalog/aclchk.c:461 catalog/aclchk.c:943
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "ungültiger Privilegtyp %s für Funktion"
 
-#: catalog/aclchk.c:468
+#: catalog/aclchk.c:465
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "ungültiger Privilegtyp %s für Sprache"
 
-#: catalog/aclchk.c:472
+#: catalog/aclchk.c:469
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "ungültiger Privilegtyp %s für Large Object"
 
-#: catalog/aclchk.c:476
+#: catalog/aclchk.c:473
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "ungültiger Privilegtyp %s für Schema"
 
-#: catalog/aclchk.c:480
+#: catalog/aclchk.c:477
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "ungültiger Privilegtyp %s für Tablespace"
 
-#: catalog/aclchk.c:484 catalog/aclchk.c:952
+#: catalog/aclchk.c:481 catalog/aclchk.c:947
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "ungültiger Privilegtyp %s für Typ"
 
-#: catalog/aclchk.c:488
+#: catalog/aclchk.c:485
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "ungültiger Privilegtyp %s für Fremddaten-Wrapper"
 
-#: catalog/aclchk.c:492
+#: catalog/aclchk.c:489
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "ungültiger Privilegtyp %s für Fremdserver"
 
-#: catalog/aclchk.c:531
+#: catalog/aclchk.c:528
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "Spaltenprivilegien sind nur für Relation gültig"
 
-#: catalog/aclchk.c:690 catalog/aclchk.c:3921 catalog/aclchk.c:4698
+#: catalog/aclchk.c:687 catalog/aclchk.c:3914 catalog/aclchk.c:4691
 #: catalog/objectaddress.c:873 catalog/pg_largeobject.c:113
 #: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "Large Object %u existiert nicht"
 
-#: catalog/aclchk.c:877 catalog/aclchk.c:885 commands/collationcmds.c:92
+#: catalog/aclchk.c:874 catalog/aclchk.c:882 commands/collationcmds.c:92
 #: commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034
 #: commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058
 #: commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082
@@ -3138,18 +3130,18 @@ msgstr "Large Object %u existiert nicht"
 msgid "conflicting or redundant options"
 msgstr "widersprüchliche oder überflüssige Optionen"
 
-#: catalog/aclchk.c:985
+#: catalog/aclchk.c:980
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 
-#: catalog/aclchk.c:1501 catalog/objectaddress.c:1390 commands/analyze.c:378
-#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5199
-#: commands/tablecmds.c:5305 commands/tablecmds.c:5365
-#: commands/tablecmds.c:5478 commands/tablecmds.c:5535
-#: commands/tablecmds.c:5629 commands/tablecmds.c:5725
-#: commands/tablecmds.c:7877 commands/tablecmds.c:8082
-#: commands/tablecmds.c:8502 commands/trigger.c:642 parser/analyze.c:2160
+#: catalog/aclchk.c:1494 catalog/objectaddress.c:1390 commands/analyze.c:378
+#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5197
+#: commands/tablecmds.c:5303 commands/tablecmds.c:5363
+#: commands/tablecmds.c:5476 commands/tablecmds.c:5533
+#: commands/tablecmds.c:5627 commands/tablecmds.c:5723
+#: commands/tablecmds.c:7875 commands/tablecmds.c:8080
+#: commands/tablecmds.c:8500 commands/trigger.c:642 parser/analyze.c:2182
 #: parser/parse_relation.c:2542 parser/parse_relation.c:2604
 #: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840
 #: utils/adt/ruleutils.c:1870
@@ -3157,366 +3149,366 @@ msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte „%s“ von Relation „%s“ existiert nicht"
 
-#: catalog/aclchk.c:1770 catalog/objectaddress.c:1203 commands/sequence.c:1078
-#: commands/tablecmds.c:223 commands/tablecmds.c:12009 utils/adt/acl.c:2076
+#: catalog/aclchk.c:1763 catalog/objectaddress.c:1203 commands/sequence.c:1078
+#: commands/tablecmds.c:223 commands/tablecmds.c:12007 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
 msgid "\"%s\" is not a sequence"
 msgstr "„%s“ ist keine Sequenz"
 
-#: catalog/aclchk.c:1808
+#: catalog/aclchk.c:1801
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "Sequenz „%s“ unterstützt nur die Privilegien USAGE, SELECT und UPDATE"
 
-#: catalog/aclchk.c:1825
+#: catalog/aclchk.c:1818
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "ungültiger Privilegtyp USAGE für Tabelle"
 
-#: catalog/aclchk.c:1993
+#: catalog/aclchk.c:1986
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "ungültiger Privilegtyp %s für Spalte"
 
-#: catalog/aclchk.c:2006
+#: catalog/aclchk.c:1999
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "Sequenz „%s“ unterstützt nur den Spaltenprivilegientyp SELECT"
 
-#: catalog/aclchk.c:2600
+#: catalog/aclchk.c:2593
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "Sprache „%s“ ist nicht „trusted“"
 
-#: catalog/aclchk.c:2602
+#: catalog/aclchk.c:2595
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "Nur Superuser können nicht vertrauenswürdige Sprachen verwenden."
 
-#: catalog/aclchk.c:3127
+#: catalog/aclchk.c:3120
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "für Array-Typen können keine Privilegien gesetzt werden"
 
-#: catalog/aclchk.c:3128
+#: catalog/aclchk.c:3121
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Setzen Sie stattdessen die Privilegien des Elementtyps."
 
-#: catalog/aclchk.c:3135 catalog/objectaddress.c:1523 commands/typecmds.c:3146
+#: catalog/aclchk.c:3128 catalog/objectaddress.c:1523 commands/typecmds.c:3146
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "„%s“ ist keine Domäne"
 
-#: catalog/aclchk.c:3258
+#: catalog/aclchk.c:3251
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "unbekannter Privilegtyp „%s“"
 
-#: catalog/aclchk.c:3307
+#: catalog/aclchk.c:3300
 #, c-format
 msgid "permission denied for column %s"
 msgstr "keine Berechtigung für Spalte %s"
 
-#: catalog/aclchk.c:3309
+#: catalog/aclchk.c:3302
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "keine Berechtigung für Relation %s"
 
-#: catalog/aclchk.c:3311 commands/sequence.c:561 commands/sequence.c:786
+#: catalog/aclchk.c:3304 commands/sequence.c:561 commands/sequence.c:786
 #: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "keine Berechtigung für Sequenz %s"
 
-#: catalog/aclchk.c:3313
+#: catalog/aclchk.c:3306
 #, c-format
 msgid "permission denied for database %s"
 msgstr "keine Berechtigung für Datenbank %s"
 
-#: catalog/aclchk.c:3315
+#: catalog/aclchk.c:3308
 #, c-format
 msgid "permission denied for function %s"
 msgstr "keine Berechtigung für Funktion %s"
 
-#: catalog/aclchk.c:3317
+#: catalog/aclchk.c:3310
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "keine Berechtigung für Operator %s"
 
-#: catalog/aclchk.c:3319
+#: catalog/aclchk.c:3312
 #, c-format
 msgid "permission denied for type %s"
 msgstr "keine Berechtigung für Typ %s"
 
-#: catalog/aclchk.c:3321
+#: catalog/aclchk.c:3314
 #, c-format
 msgid "permission denied for language %s"
 msgstr "keine Berechtigung für Sprache %s"
 
-#: catalog/aclchk.c:3323
+#: catalog/aclchk.c:3316
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "keine Berechtigung für Large Object %s"
 
-#: catalog/aclchk.c:3325
+#: catalog/aclchk.c:3318
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "keine Berechtigung für Schema %s"
 
-#: catalog/aclchk.c:3327
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "keine Berechtigung für Operatorklasse %s"
 
-#: catalog/aclchk.c:3329
+#: catalog/aclchk.c:3322
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "keine Berechtigung für Operatorfamilie %s"
 
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3324
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "keine Berechtigung für Sortierfolge %s"
 
-#: catalog/aclchk.c:3333
+#: catalog/aclchk.c:3326
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "keine Berechtigung für Konversion %s"
 
-#: catalog/aclchk.c:3335
+#: catalog/aclchk.c:3328
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "keine Berechtigung für Tablespace %s"
 
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3330
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "keine Berechtigung für Textsuchewörterbuch %s"
 
-#: catalog/aclchk.c:3339
+#: catalog/aclchk.c:3332
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "keine Berechtigung für Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:3341
+#: catalog/aclchk.c:3334
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "keine Berechtigung für Fremddaten-Wrapper %s"
 
-#: catalog/aclchk.c:3343
+#: catalog/aclchk.c:3336
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "keine Berechtigung für Fremdserver %s"
 
-#: catalog/aclchk.c:3345
+#: catalog/aclchk.c:3338
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "keine Berechtigung für Ereignistrigger %s"
 
-#: catalog/aclchk.c:3347
+#: catalog/aclchk.c:3340
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "keine Berechtigung für Erweiterung %s"
 
-#: catalog/aclchk.c:3353 catalog/aclchk.c:3355
+#: catalog/aclchk.c:3346 catalog/aclchk.c:3348
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "Berechtigung nur für Eigentümer der Relation %s"
 
-#: catalog/aclchk.c:3357
+#: catalog/aclchk.c:3350
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "Berechtigung nur für Eigentümer der Sequenz %s"
 
-#: catalog/aclchk.c:3359
+#: catalog/aclchk.c:3352
 #, c-format
 msgid "must be owner of database %s"
 msgstr "Berechtigung nur für Eigentümer der Datenbank %s"
 
-#: catalog/aclchk.c:3361
+#: catalog/aclchk.c:3354
 #, c-format
 msgid "must be owner of function %s"
 msgstr "Berechtigung nur für Eigentümer der Funktion %s"
 
-#: catalog/aclchk.c:3363
+#: catalog/aclchk.c:3356
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "Berechtigung nur für Eigentümer des Operators %s"
 
-#: catalog/aclchk.c:3365
+#: catalog/aclchk.c:3358
 #, c-format
 msgid "must be owner of type %s"
 msgstr "Berechtigung nur für Eigentümer des Typs %s"
 
-#: catalog/aclchk.c:3367
+#: catalog/aclchk.c:3360
 #, c-format
 msgid "must be owner of language %s"
 msgstr "Berechtigung nur für Eigentümer der Sprache %s"
 
-#: catalog/aclchk.c:3369
+#: catalog/aclchk.c:3362
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "Berechtigung nur für Eigentümer des Large Object %s"
 
-#: catalog/aclchk.c:3371
+#: catalog/aclchk.c:3364
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "Berechtigung nur für Eigentümer des Schemas %s"
 
-#: catalog/aclchk.c:3373
+#: catalog/aclchk.c:3366
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorklasse %s"
 
-#: catalog/aclchk.c:3375
+#: catalog/aclchk.c:3368
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorfamilie %s"
 
-#: catalog/aclchk.c:3377
+#: catalog/aclchk.c:3370
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s"
 
-#: catalog/aclchk.c:3379
+#: catalog/aclchk.c:3372
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "Berechtigung nur für Eigentümer der Konversion %s"
 
-#: catalog/aclchk.c:3381
+#: catalog/aclchk.c:3374
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "Berechtigung nur für Eigentümer des Tablespace %s"
 
-#: catalog/aclchk.c:3383
+#: catalog/aclchk.c:3376
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "Berechtigung nur für Eigentümer des Textsuchewörterbuches %s"
 
-#: catalog/aclchk.c:3385
+#: catalog/aclchk.c:3378
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:3387
+#: catalog/aclchk.c:3380
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "Berechtigung nur für Eigentümer des Fremddaten-Wrappers %s"
 
-#: catalog/aclchk.c:3389
+#: catalog/aclchk.c:3382
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "Berechtigung nur für Eigentümer des Fremdservers %s"
 
-#: catalog/aclchk.c:3391
+#: catalog/aclchk.c:3384
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s"
 
-#: catalog/aclchk.c:3393
+#: catalog/aclchk.c:3386
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "Berechtigung nur für Eigentümer der Erweiterung %s"
 
-#: catalog/aclchk.c:3435
+#: catalog/aclchk.c:3428
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "keine Berechtigung für Spalte „%s“ von Relation „%s“"
 
-#: catalog/aclchk.c:3554 catalog/aclchk.c:3562
+#: catalog/aclchk.c:3547 catalog/aclchk.c:3555
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "Attribut %d der Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3635 catalog/aclchk.c:4549
+#: catalog/aclchk.c:3628 catalog/aclchk.c:4542
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3734 catalog/aclchk.c:4967
+#: catalog/aclchk.c:3727 catalog/aclchk.c:4960
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "Datenbank mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3788 catalog/aclchk.c:4627 tcop/fastpath.c:223
+#: catalog/aclchk.c:3781 catalog/aclchk.c:4620 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "Funktion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3842 catalog/aclchk.c:4653
+#: catalog/aclchk.c:3835 catalog/aclchk.c:4646
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "Sprache mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4006 catalog/aclchk.c:4725
+#: catalog/aclchk.c:3999 catalog/aclchk.c:4718
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "Schema mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4060 catalog/aclchk.c:4752
+#: catalog/aclchk.c:4053 catalog/aclchk.c:4745
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "Tablespace mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4118 catalog/aclchk.c:4886 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4111 catalog/aclchk.c:4879 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "Fremddaten-Wrapper mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4179 catalog/aclchk.c:4913 commands/foreigncmds.c:461
+#: catalog/aclchk.c:4172 catalog/aclchk.c:4906 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "Fremdserver mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4238 catalog/aclchk.c:4252 catalog/aclchk.c:4575
+#: catalog/aclchk.c:4231 catalog/aclchk.c:4245 catalog/aclchk.c:4568
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "Typ mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4601
+#: catalog/aclchk.c:4594
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "Operator mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4778
+#: catalog/aclchk.c:4771
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "Operatorklasse mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4805
+#: catalog/aclchk.c:4798
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "Operatorfamilie mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4832
+#: catalog/aclchk.c:4825
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "Textsuchewörterbuch mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4859
+#: catalog/aclchk.c:4852
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "Textsuchekonfiguration mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4940 commands/event_trigger.c:587
+#: catalog/aclchk.c:4933 commands/event_trigger.c:587
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "Ereignistrigger mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4993
+#: catalog/aclchk.c:4986
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "Sortierfolge mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5019
+#: catalog/aclchk.c:5012
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "Konversion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5060
+#: catalog/aclchk.c:5053
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "Erweiterung mit OID %u existiert nicht"
@@ -3605,12 +3597,12 @@ msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
 #: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895
-#: commands/tablecmds.c:4821
+#: commands/tablecmds.c:4819
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:431 commands/tablecmds.c:5082
+#: catalog/heap.c:431 commands/tablecmds.c:5080
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "Spaltenname „%s“ steht im Konflikt mit dem Namen einer Systemspalte"
@@ -3646,10 +3638,10 @@ msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "für Spalte „%s“ mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
 #: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132
-#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514
-#: utils/adt/formatting.c:1566 utils/adt/formatting.c:1634
-#: utils/adt/formatting.c:1686 utils/adt/formatting.c:1755
-#: utils/adt/formatting.c:1819 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1513
+#: utils/adt/formatting.c:1565 utils/adt/formatting.c:1633
+#: utils/adt/formatting.c:1685 utils/adt/formatting.c:1754
+#: utils/adt/formatting.c:1818 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
 #: utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
@@ -3682,7 +3674,7 @@ msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint „%s“ existiert bereits"
 
-#: catalog/heap.c:2442 catalog/pg_constraint.c:654 commands/tablecmds.c:6070
+#: catalog/heap.c:2442 catalog/pg_constraint.c:654 commands/tablecmds.c:6068
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint „%s“ existiert bereits für Relation „%s“"
@@ -3890,7 +3882,7 @@ msgstr "Textsuchekonfiguration „%s“ existiert nicht"
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:2652 gram.y:13434 gram.y:14791 parser/parse_expr.c:796
+#: catalog/namespace.c:2652 gram.y:13433 gram.y:14802 parser/parse_expr.c:796
 #: parser/parse_target.c:1137
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
@@ -3906,8 +3898,8 @@ msgstr "Objekte können nicht in oder aus temporären Schemas verschoben werden"
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden"
 
-#: catalog/namespace.c:2862 commands/schemacmds.c:242
-#: commands/schemacmds.c:321 commands/tablecmds.c:740
+#: catalog/namespace.c:2862 commands/schemacmds.c:238
+#: commands/schemacmds.c:317 commands/tablecmds.c:740
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "Schema „%s“ existiert nicht"
@@ -3942,7 +3934,7 @@ msgstr "während der Wiederherstellung können keine temporären Tabellen erzeug
 msgid "cannot create temporary tables in parallel mode"
 msgstr "im Parallelmodus können keine temporären Tabellen erzeugt werden"
 
-#: catalog/namespace.c:3887 commands/tablespace.c:1177 commands/variable.c:63
+#: catalog/namespace.c:3887 commands/tablespace.c:1173 commands/variable.c:63
 #: utils/misc/guc.c:9853
 #, c-format
 msgid "List syntax is invalid."
@@ -3990,27 +3982,27 @@ msgid "event trigger name cannot be qualified"
 msgstr "Ereignistriggername kann nicht qualifiziert werden"
 
 #: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94
-#: commands/policy.c:389 commands/policy.c:478 commands/tablecmds.c:217
-#: commands/tablecmds.c:1299 commands/tablecmds.c:4348
-#: commands/tablecmds.c:7979
+#: commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:217
+#: commands/tablecmds.c:1299 commands/tablecmds.c:4346
+#: commands/tablecmds.c:7977
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "„%s“ ist keine Tabelle"
 
 #: catalog/objectaddress.c:1217 commands/tablecmds.c:229
-#: commands/tablecmds.c:4378 commands/tablecmds.c:12014 commands/view.c:155
+#: commands/tablecmds.c:4376 commands/tablecmds.c:12012 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "„%s“ ist keine Sicht"
 
 #: catalog/objectaddress.c:1224 commands/matview.c:174
-#: commands/tablecmds.c:235 commands/tablecmds.c:12019
+#: commands/tablecmds.c:235 commands/tablecmds.c:12017
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "„%s“ ist keine materialisierte Sicht"
 
 #: catalog/objectaddress.c:1231 commands/tablecmds.c:253
-#: commands/tablecmds.c:4381 commands/tablecmds.c:12024
+#: commands/tablecmds.c:4379 commands/tablecmds.c:12022
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "„%s“ ist keine Fremdtabelle"
@@ -4049,7 +4041,7 @@ msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "Benutzerabbildung für Benutzer „%s“ auf Server „%s“ existiert nicht"
 
 #: catalog/objectaddress.c:1722 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:997 commands/foreigncmds.c:1372
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
 #: foreign/foreign.c:798
 #, c-format
 msgid "server \"%s\" does not exist"
@@ -4438,10 +4430,9 @@ msgid "final function with extra arguments must not be declared STRICT"
 msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT deklariert sein"
 
 #: catalog/pg_aggregate.c:426
-#, fuzzy, c-format
-#| msgid "return type of transition function %s is not %s"
+#, c-format
 msgid "return type of combine function %s is not %s"
-msgstr "Rückgabetyp der Übergangsfunktion %s ist nicht %s"
+msgstr "Rückgabetyp der Kombinierfunktion %s ist nicht %s"
 
 #: catalog/pg_aggregate.c:437
 #, fuzzy, c-format
@@ -4450,16 +4441,14 @@ msgid "combine function with \"%s\" transition type must not be declared STRICT"
 msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT deklariert sein"
 
 #: catalog/pg_aggregate.c:457
-#, fuzzy, c-format
-#| msgid "return type of transition function %s is not %s"
+#, c-format
 msgid "return type of serialization function %s is not %s"
-msgstr "Rückgabetyp der Übergangsfunktion %s ist nicht %s"
+msgstr "Rückgabetyp der Serialisierungsfunktion %s ist nicht %s"
 
 #: catalog/pg_aggregate.c:477
-#, fuzzy, c-format
-#| msgid "return type of transition function %s is not %s"
+#, c-format
 msgid "return type of deserialization function %s is not %s"
-msgstr "Rückgabetyp der Übergangsfunktion %s ist nicht %s"
+msgstr "Rückgabetyp der Deserialisierungsfunktion %s ist nicht %s"
 
 #: catalog/pg_aggregate.c:493 catalog/pg_proc.c:246 catalog/pg_proc.c:253
 #, c-format
@@ -4606,7 +4595,7 @@ msgstr "OID-Wert für pg_enum ist im Binary-Upgrade-Modus nicht gesetzt"
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER ist mit Binary Upgrade inkompatibel"
 
-#: catalog/pg_namespace.c:61 commands/schemacmds.c:250
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:246
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "Schema „%s“ existiert bereits"
@@ -4868,8 +4857,8 @@ msgstr "Typen mit fester Größe müssen Storage-Typ PLAIN haben"
 msgid "could not form array type name for type \"%s\""
 msgstr "konnte keinen Arraytypnamen für Datentyp „%s“ erzeugen"
 
-#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4360
-#: commands/tablecmds.c:11902
+#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4358
+#: commands/tablecmds.c:11900
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "„%s“ ist keine Tabelle oder materialisierte Sicht"
@@ -4952,46 +4941,37 @@ msgstr "Ãœbergangsdatentyp von Aggregatfunktion kann nicht %s sein"
 #: commands/aggregatecmds.c:347
 #, c-format
 msgid "a serialization type must only be specified when the aggregate transition data type is \"%s\""
-msgstr ""
+msgstr "ein Serialisierungstyp darf nur angegeben werden, wenn der Ãœbergangsdatentyp der Aggregatfunktion %s ist"
 
 #: commands/aggregatecmds.c:356
-#, fuzzy, c-format
-#| msgid "aggregate transition data type cannot be %s"
+#, c-format
 msgid "aggregate serialization data type cannot be %s"
-msgstr "Ãœbergangsdatentyp von Aggregatfunktion kann nicht %s sein"
-
-#: commands/aggregatecmds.c:369
-#, fuzzy, c-format
-#| msgid "aggregate transition data type cannot be %s"
-msgid "aggregate serialization type cannot be \"%s\""
-msgstr "Ãœbergangsdatentyp von Aggregatfunktion kann nicht %s sein"
+msgstr "Serialisierungsdatentyp von Aggregatfunktion kann nicht %s sein"
 
 #: commands/aggregatecmds.c:380
-#, fuzzy, c-format
-#| msgid "aggregate minvfunc must be specified when mstype is specified"
+#, c-format
 msgid "aggregate serialization function must be specified when serialization type is specified"
-msgstr "„minvfunc“ für Aggregatfunktion muss angegeben werden, wenn „mstype“ angegeben ist"
+msgstr "Serialisierungsfunktion für Aggregatfunktion muss angegeben werden, wenn Serialisierungstyp angegeben ist"
 
 #: commands/aggregatecmds.c:385
-#, fuzzy, c-format
-#| msgid "aggregate minvfunc must be specified when mstype is specified"
+#, c-format
 msgid "aggregate deserialization function must be specified when serialization type is specified"
-msgstr "„minvfunc“ für Aggregatfunktion muss angegeben werden, wenn „mstype“ angegeben ist"
+msgstr "Deserialisierungsfunktion für Aggregatfunktion muss angegeben werden, wenn Serialisierungstyp angegeben ist"
 
 #: commands/aggregatecmds.c:396
 #, c-format
 msgid "must specify serialization type when specifying serialization function"
-msgstr ""
+msgstr "Serialisierungstyp muss angegeben werden, wenn Serialisierungsfunktion angegeben wird"
 
 #: commands/aggregatecmds.c:402
 #, c-format
 msgid "must specify serialization type when specifying deserialization function"
-msgstr ""
+msgstr "Serialisierungstyp muss angegeben werden, wenn Deserialisierungsfunktion angegeben wird"
 
 #: commands/aggregatecmds.c:467 commands/functioncmds.c:570
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
-msgstr ""
+msgstr "Parameter „parallel“ muss SAFE, RESTRICTED oder UNSAFE sein"
 
 #: commands/alter.c:80 commands/event_trigger.c:231
 #, c-format
@@ -5064,10 +5044,9 @@ msgid "access method \"%s\" already exists"
 msgstr "Zugriffsmethode „%s“ existiert bereits"
 
 #: commands/amcmds.c:124
-#, fuzzy, c-format
-#| msgid "must be superuser to drop superusers"
+#, c-format
 msgid "must be superuser to drop access methods"
-msgstr "nur Superuser können Superuser löschen"
+msgstr "nur Superuser können Zugriffsmethoden löschen"
 
 #: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495
 #: commands/opclasscmds.c:365 commands/opclasscmds.c:790
@@ -5128,27 +5107,27 @@ msgstr "analysiere Vererbungsbaum von „%s.%s“"
 msgid "analyzing \"%s.%s\""
 msgstr "analysiere „%s.%s“"
 
-#: commands/analyze.c:651
+#: commands/analyze.c:654
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "automatisches Analysieren von Tabelle „%s.%s.%s“ Systembenutzung: %s"
 
-#: commands/analyze.c:1207
+#: commands/analyze.c:1210
 #, c-format
 msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows"
 msgstr "„%s“: %d von %u Seiten gelesen, enthalten %.0f lebende Zeilen und %.0f tote Zeilen; %d Zeilen in Stichprobe, schätzungsweise %.0f Zeilen insgesamt"
 
-#: commands/analyze.c:1286
+#: commands/analyze.c:1289
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums „%s.%s“ --- dieser Vererbungsbaum enthält keine abgeleiteten Tabellen"
 
-#: commands/analyze.c:1375
+#: commands/analyze.c:1378
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums „%s.%s“ --- dieser Vererbungsbaum enthält keine analysierbaren abgeleiteten Tabellen"
 
-#: commands/analyze.c:1423 executor/execQual.c:2922
+#: commands/analyze.c:1426 executor/execQual.c:2922
 msgid "could not convert row type"
 msgstr "konnte Zeilentyp nicht umwandeln"
 
@@ -5202,7 +5181,7 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern"
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "es gibt keinen bereits geclusterten Index für Tabelle „%s“"
 
-#: commands/cluster.c:173 commands/tablecmds.c:9288 commands/tablecmds.c:11004
+#: commands/cluster.c:173 commands/tablecmds.c:9286 commands/tablecmds.c:11002
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index „%s“ für Tabelle „%s“ existiert nicht"
@@ -5217,7 +5196,7 @@ msgstr "globaler Katalog kann nicht geclustert werden"
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden"
 
-#: commands/cluster.c:433 commands/tablecmds.c:11014
+#: commands/cluster.c:433 commands/tablecmds.c:11012
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "„%s“ ist kein Index für Tabelle „%s“"
@@ -5559,10 +5538,9 @@ msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) wird nicht unterstützt"
 
 #: commands/copy.c:1452
-#, fuzzy, c-format
-#| msgid "WITH query \"%s\" does not have a RETURNING clause"
+#, c-format
 msgid "COPY query must have a RETURNING clause"
-msgstr "WITH-Anfrage „%s“ hat keine RETURNING-Klausel"
+msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben"
 
 #: commands/copy.c:1480
 #, c-format
@@ -5836,7 +5814,7 @@ msgstr "falsches Binärdatenformat"
 
 #: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463
 #: commands/tablecmds.c:2290 parser/parse_relation.c:3084
-#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2223
+#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2224
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte „%s“ existiert nicht"
@@ -6038,7 +6016,7 @@ msgstr "Sie müssen sie zurück in den Standard-Tablespace der Datenbank verschi
 
 #: commands/dbcommands.c:1325 commands/dbcommands.c:1868
 #: commands/dbcommands.c:2072 commands/dbcommands.c:2120
-#: commands/tablespace.c:610
+#: commands/tablespace.c:606
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "einige nutzlose Dateien wurde möglicherweise im alten Datenbankverzeichnis „%s“ zurückgelassen"
@@ -6127,122 +6105,127 @@ msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
 #: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377
 #: commands/tablecmds.c:2528 commands/tablecmds.c:2570
-#: commands/tablecmds.c:11379 tcop/utility.c:1119
+#: commands/tablecmds.c:11377 tcop/utility.c:1119
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:745
+#: commands/dropcmds.c:195 commands/dropcmds.c:296 commands/tablecmds.c:745
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "Schema „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:246
+#: commands/dropcmds.c:237 commands/dropcmds.c:276 commands/tablecmds.c:246
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "Typ „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:280
+#: commands/dropcmds.c:266
+#, c-format
+msgid "access method \"%s\" does not exist, skipping"
+msgstr "Zugriffsmethode „%s“ existiert nicht, wird übersprungen"
+
+#: commands/dropcmds.c:284
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "Sortierfolge „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:287
+#: commands/dropcmds.c:291
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "Konversion „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:298
+#: commands/dropcmds.c:302
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "Textsucheparser „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:305
+#: commands/dropcmds.c:309
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "Textsuchewörterbuch „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:312
+#: commands/dropcmds.c:316
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "Textsuchevorlage „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:319
+#: commands/dropcmds.c:323
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "Textsuchekonfiguration „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:324
+#: commands/dropcmds.c:328
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "Erweiterung „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:331
+#: commands/dropcmds.c:335
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "Funktion %s(%s) existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:340
+#: commands/dropcmds.c:344
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "Aggregatfunktion %s(%s) existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:349
+#: commands/dropcmds.c:353
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "Operator %s existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:354
+#: commands/dropcmds.c:358
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "Sprache „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:363
+#: commands/dropcmds.c:367
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:372
+#: commands/dropcmds.c:376
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "Transformation für Typ %s Sprache „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:380
+#: commands/dropcmds.c:384
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Trigger „%s“ für Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:389
+#: commands/dropcmds.c:393
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Policy „%s“ für Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:396
+#: commands/dropcmds.c:400
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "Ereignistrigger „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:402
+#: commands/dropcmds.c:406
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Regel „%s“ für Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:409
+#: commands/dropcmds.c:413
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "Fremddaten-Wrapper „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:413
+#: commands/dropcmds.c:417
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "Server „%s“ existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:422
+#: commands/dropcmds.c:426
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "Operatorklasse „%s“ existiert nicht für Zugriffsmethode „%s“, wird übersprungen"
 
-#: commands/dropcmds.c:434
+#: commands/dropcmds.c:438
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "Operatorfamilie „%s“ existiert nicht für Zugriffsmethode „%s“, wird übersprungen"
@@ -6473,10 +6456,9 @@ msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "explizite Sortierfolgen „%s“ und „%s“ stimmen nicht überein"
 
 #: commands/extension.c:1440
-#, fuzzy, c-format
-#| msgid "invalid extension name: \"%s\""
+#, c-format
 msgid "installing required extension \"%s\""
-msgstr "ungültiger Erweiterungsname: „%s“"
+msgstr "installiere benötigte Erweiterung „%s“"
 
 #: commands/extension.c:1468 commands/extension.c:2923
 #, c-format
@@ -6624,37 +6606,37 @@ msgstr "das Ändern des Handlers des Fremddaten-Wrappers kann das Verhalten von
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr "durch Ändern des Validators des Fremddaten-Wrappers können die Optionen von abhängigen Objekten ungültig werden"
 
-#: commands/foreigncmds.c:1169
+#: commands/foreigncmds.c:1165
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "Benutzerabbildung „%s“ existiert bereits für Server „%s“"
 
-#: commands/foreigncmds.c:1267 commands/foreigncmds.c:1388
+#: commands/foreigncmds.c:1259 commands/foreigncmds.c:1375
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "Benutzerabbildung „%s“ existiert für den Server nicht"
 
-#: commands/foreigncmds.c:1375
+#: commands/foreigncmds.c:1362
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "Server existiert nicht, wird übersprungen"
 
-#: commands/foreigncmds.c:1393
+#: commands/foreigncmds.c:1380
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "Benutzerabbildung „%s“ existiert nicht für den Server, wird übersprungen"
 
-#: commands/foreigncmds.c:1545 foreign/foreign.c:467
+#: commands/foreigncmds.c:1532 foreign/foreign.c:467
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "Fremddaten-Wrapper „%s“ hat keinen Handler"
 
-#: commands/foreigncmds.c:1551
+#: commands/foreigncmds.c:1538
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
 msgstr "Fremddaten-Wrapper „%s“ unterstützt IMPORT FOREIGN SCHEMA nicht"
 
-#: commands/foreigncmds.c:1644
+#: commands/foreigncmds.c:1631
 #, c-format
 msgid "importing foreign table \"%s\""
 msgstr "importiere Fremdtabelle „%s“"
@@ -7010,7 +6992,7 @@ msgstr "kann keinen Index für Fremdtabelle „%s“ erzeugen"
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen"
 
-#: commands/indexcmds.c:454 commands/tablecmds.c:545 commands/tablecmds.c:9599
+#: commands/indexcmds.c:454 commands/tablecmds.c:545 commands/tablecmds.c:9597
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "nur geteilte Relationen können in den Tablespace „pg_global“ gelegt werden"
@@ -7041,10 +7023,9 @@ msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "Zugriffsmethode „%s“ unterstützt keine Exclusion-Constraints"
 
 #: commands/indexcmds.c:590 commands/indexcmds.c:610
-#, fuzzy, c-format
-#| msgid "concurrent index creation on system catalog tables is not supported"
+#, c-format
 msgid "index creation on system columns is not supported"
-msgstr "nebenläufige Indexerzeugung für Systemkatalogtabellen wird nicht unterstützt"
+msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
 
 #: commands/indexcmds.c:635
 #, c-format
@@ -7168,12 +7149,12 @@ msgstr "kann materialisierte Sicht „%s“ nicht nebenläufig auffrischen"
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Erzeugen Sie einen Unique Index ohne WHERE-Klausel für eine oder mehrere Spalten der materialisierten Sicht."
 
-#: commands/matview.c:656
+#: commands/matview.c:658
 #, c-format
 msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
 msgstr "neue Daten für materialisierte Sicht „%s“ enthalten doppelte Zeilen ohne Spalten mit NULL-Werten"
 
-#: commands/matview.c:658
+#: commands/matview.c:660
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
@@ -7353,7 +7334,7 @@ msgstr "SETOF-Typ nicht als Operatorargument erlaubt"
 #: commands/operatorcmds.c:152 commands/operatorcmds.c:457
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
-msgstr "Attribut „%s“ für Operator unbekannt"
+msgstr "Operator-Attribut „%s“ unbekannt"
 
 #: commands/operatorcmds.c:163
 #, c-format
@@ -7366,28 +7347,25 @@ msgid "at least one of leftarg or rightarg must be specified"
 msgstr "entweder leftarg oder rightarg (oder beides) muss angegeben werden"
 
 #: commands/operatorcmds.c:278
-#, fuzzy, c-format
-#| msgid "restriction estimator function %s must return type \"float8\""
+#, c-format
 msgid "restriction estimator function %s must return type %s"
-msgstr "Restriktionsschätzfunktion %s muss Typ „float8“ zurückgeben"
+msgstr "Restriktionsschätzfunktion %s muss Typ %s zurückgeben"
 
 #: commands/operatorcmds.c:324
-#, fuzzy, c-format
-#| msgid "join estimator function %s must return type \"float8\""
+#, c-format
 msgid "join estimator function %s must return type %s"
-msgstr "Join-Schätzfunktion %s muss Typ „float8“ zurückgeben"
+msgstr "Join-Schätzfunktion %s muss Typ %s zurückgeben"
 
 #: commands/operatorcmds.c:451
-#, fuzzy, c-format
-#| msgid "operator attribute \"%s\" not recognized"
+#, c-format
 msgid "operator attribute \"%s\" can not be changed"
-msgstr "Attribut „%s“ für Operator unbekannt"
+msgstr "Operator-Attribut „%s“ kann nicht geändert werden"
 
-#: commands/policy.c:87 commands/policy.c:395 commands/policy.c:484
+#: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479
 #: commands/tablecmds.c:970 commands/tablecmds.c:1312
-#: commands/tablecmds.c:2184 commands/tablecmds.c:4330
-#: commands/tablecmds.c:6281 commands/tablecmds.c:11935
-#: commands/tablecmds.c:11970 commands/trigger.c:241 commands/trigger.c:1125
+#: commands/tablecmds.c:2184 commands/tablecmds.c:4328
+#: commands/tablecmds.c:6279 commands/tablecmds.c:11933
+#: commands/tablecmds.c:11968 commands/trigger.c:241 commands/trigger.c:1125
 #: commands/trigger.c:1233 rewrite/rewriteDefine.c:273
 #: rewrite/rewriteDefine.c:917
 #, c-format
@@ -7404,32 +7382,32 @@ msgstr "angegebene Rollen außer PUBLIC werden ignoriert"
 msgid "All roles are members of the PUBLIC role."
 msgstr "Alle Rollen sind Mitglieder der Rolle PUBLIC."
 
-#: commands/policy.c:508
+#: commands/policy.c:503
 #, c-format
 msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
 msgstr "Rolle „%s“ konnte nicht aus Policy „%s“ für „%s“ entfernt werden"
 
-#: commands/policy.c:717
+#: commands/policy.c:712
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK kann nicht auf SELECT oder DELETE angewendet werden"
 
-#: commands/policy.c:726 commands/policy.c:1026
+#: commands/policy.c:721 commands/policy.c:1021
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "für INSERT sind nur WITH-CHECK-Ausdrücke erlaubt"
 
-#: commands/policy.c:799 commands/policy.c:1249
+#: commands/policy.c:794 commands/policy.c:1244
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "Policy „%s“ für Tabelle „%s“ existiert bereits"
 
-#: commands/policy.c:998 commands/policy.c:1277 commands/policy.c:1352
+#: commands/policy.c:993 commands/policy.c:1272 commands/policy.c:1347
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "Policy „%s“ für Tabelle „%s“ existiert nicht"
 
-#: commands/policy.c:1016
+#: commands/policy.c:1011
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "für SELECT und DELETE sind nur USING-Ausdrücke erlaubt"
@@ -7521,17 +7499,17 @@ msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen"
 msgid "changing return type of function %s from \"opaque\" to \"language_handler\""
 msgstr "ändere Rückgabetyp von Funktion %s von „opaque“ in „language_handler“"
 
-#: commands/schemacmds.c:103 commands/schemacmds.c:266
+#: commands/schemacmds.c:99 commands/schemacmds.c:262
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "inakzeptabler Schemaname „%s“"
 
-#: commands/schemacmds.c:104 commands/schemacmds.c:267
+#: commands/schemacmds.c:100 commands/schemacmds.c:263
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "Der Präfix „pg_“ ist für Systemschemas reserviert."
 
-#: commands/schemacmds.c:118
+#: commands/schemacmds.c:114
 #, c-format
 msgid "schema \"%s\" already exists, skipping"
 msgstr "Schema „%s“ existiert bereits, wird übersprungen"
@@ -7720,8 +7698,8 @@ msgstr "„%s“ ist kein Typ"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen."
 
-#: commands/tablecmds.c:251 commands/tablecmds.c:8488
-#: commands/tablecmds.c:11196
+#: commands/tablecmds.c:251 commands/tablecmds.c:8486
+#: commands/tablecmds.c:11194
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle „%s“ existiert nicht"
@@ -7770,17 +7748,17 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "geerbte Relation „%s“ ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:1535 commands/tablecmds.c:10055
+#: commands/tablecmds.c:1535 commands/tablecmds.c:10053
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation „%s“ kann nicht geerbt werden"
 
-#: commands/tablecmds.c:1543 commands/tablecmds.c:10063
+#: commands/tablecmds.c:1543 commands/tablecmds.c:10061
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden"
 
-#: commands/tablecmds.c:1559 commands/tablecmds.c:10097
+#: commands/tablecmds.c:1559 commands/tablecmds.c:10095
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "von der Relation „%s“ würde mehrmals geerbt werden"
@@ -7810,7 +7788,7 @@ msgid "inherited column \"%s\" has a collation conflict"
 msgstr "geerbte Spalte „%s“ hat Sortierfolgenkonflikt"
 
 #: commands/tablecmds.c:1628 commands/tablecmds.c:1850
-#: commands/tablecmds.c:4768
+#: commands/tablecmds.c:4766
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "„%s“ gegen „%s“"
@@ -7923,636 +7901,636 @@ msgstr "%s mit Relation „%s“ nicht möglich, weil sie von aktiven Anfragen i
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "%s mit Relation „%s“ nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt"
 
-#: commands/tablecmds.c:3786
+#: commands/tablecmds.c:3784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "Systemrelation „%s“ kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:3792
+#: commands/tablecmds.c:3790
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "Tabelle „%s“, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:3802
+#: commands/tablecmds.c:3800
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben"
 
-#: commands/tablecmds.c:4070
+#: commands/tablecmds.c:4068
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "schreibe Tabelle „%s“ neu"
 
-#: commands/tablecmds.c:4074
+#: commands/tablecmds.c:4072
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "überprüfe Tabelle „%s“"
 
-#: commands/tablecmds.c:4188
+#: commands/tablecmds.c:4186
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "Spalte „%s“ enthält NULL-Werte"
 
-#: commands/tablecmds.c:4203 commands/tablecmds.c:7368
+#: commands/tablecmds.c:4201 commands/tablecmds.c:7366
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "Check-Constraint „%s“ wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:4351 commands/trigger.c:235
+#: commands/tablecmds.c:4349 commands/trigger.c:235
 #: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "„%s“ ist keine Tabelle oder Sicht"
 
-#: commands/tablecmds.c:4354 commands/trigger.c:1119 commands/trigger.c:1224
+#: commands/tablecmds.c:4352 commands/trigger.c:1119 commands/trigger.c:1224
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "„%s“ ist keine Tabelle, Sicht oder Fremdtabelle"
 
-#: commands/tablecmds.c:4357
+#: commands/tablecmds.c:4355
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "„%s“ ist weder Tabelle, Sicht, materialisierte Sicht noch Index"
 
-#: commands/tablecmds.c:4363
+#: commands/tablecmds.c:4361
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "„%s“ ist weder Tabelle, materialisierte Sicht noch Index"
 
-#: commands/tablecmds.c:4366
+#: commands/tablecmds.c:4364
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "„%s“ ist weder Tabelle, materialisierte Sicht noch Fremdtabelle"
 
-#: commands/tablecmds.c:4369
+#: commands/tablecmds.c:4367
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "„%s“ ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:4372
+#: commands/tablecmds.c:4370
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "„%s“ ist weder Tabelle, Sicht, zusammengesetzter Typ noch Fremdtabelle"
 
-#: commands/tablecmds.c:4375 commands/tablecmds.c:5427
+#: commands/tablecmds.c:4373 commands/tablecmds.c:5425
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "„%s“ ist weder Tabelle, materialisierte Sicht, Index noch Fremdtabelle"
 
-#: commands/tablecmds.c:4385
+#: commands/tablecmds.c:4383
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "„%s“ hat den falschen Typ"
 
-#: commands/tablecmds.c:4537 commands/tablecmds.c:4544
+#: commands/tablecmds.c:4535 commands/tablecmds.c:4542
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "kann Typ „%s“ nicht ändern, weil Spalte „%s.%s“ ihn verwendet"
 
-#: commands/tablecmds.c:4551
+#: commands/tablecmds.c:4549
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Fremdtabelle „%s“ nicht ändern, weil Spalte „%s.%s“ ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:4558
+#: commands/tablecmds.c:4556
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Tabelle „%s“ nicht ändern, weil Spalte „%s.%s“ ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:4620
+#: commands/tablecmds.c:4618
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "kann Typ „%s“ nicht ändern, weil er der Typ einer getypten Tabelle ist"
 
-#: commands/tablecmds.c:4622
+#: commands/tablecmds.c:4620
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern."
 
-#: commands/tablecmds.c:4666
+#: commands/tablecmds.c:4664
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:4692
+#: commands/tablecmds.c:4690
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:4760 commands/tablecmds.c:10256
+#: commands/tablecmds.c:4758 commands/tablecmds.c:10254
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "abgeleitete Tabelle „%s“ hat unterschiedlichen Typ für Spalte „%s“"
 
-#: commands/tablecmds.c:4766 commands/tablecmds.c:10263
+#: commands/tablecmds.c:4764 commands/tablecmds.c:10261
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "abgeleitete Tabelle „%s“ hat unterschiedliche Sortierfolge für Spalte „%s“"
 
-#: commands/tablecmds.c:4776
+#: commands/tablecmds.c:4774
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "abgeleitete Tabelle „%s“ hat eine widersprüchliche Spalte „%s“"
 
-#: commands/tablecmds.c:4788
+#: commands/tablecmds.c:4786
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "Definition von Spalte „%s“ für abgeleitete Tabelle „%s“ wird zusammengeführt"
 
-#: commands/tablecmds.c:5015
+#: commands/tablecmds.c:5013
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:5090
+#: commands/tablecmds.c:5088
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte „%s“ von Relation „%s“ existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:5097
+#: commands/tablecmds.c:5095
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte „%s“ von Relation „%s“ existiert bereits"
 
-#: commands/tablecmds.c:5208 commands/tablecmds.c:5314
-#: commands/tablecmds.c:5372 commands/tablecmds.c:5486
-#: commands/tablecmds.c:5543 commands/tablecmds.c:5637
-#: commands/tablecmds.c:7886 commands/tablecmds.c:8511
+#: commands/tablecmds.c:5206 commands/tablecmds.c:5312
+#: commands/tablecmds.c:5370 commands/tablecmds.c:5484
+#: commands/tablecmds.c:5541 commands/tablecmds.c:5635
+#: commands/tablecmds.c:7884 commands/tablecmds.c:8509
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte „%s“ kann nicht geändert werden"
 
-#: commands/tablecmds.c:5244
+#: commands/tablecmds.c:5242
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "Spalte „%s“ ist in einem Primärschlüssel"
 
-#: commands/tablecmds.c:5459
+#: commands/tablecmds.c:5457
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/tablecmds.c:5467
+#: commands/tablecmds.c:5465
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
 
-#: commands/tablecmds.c:5617
+#: commands/tablecmds.c:5615
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ „%s“"
 
-#: commands/tablecmds.c:5649
+#: commands/tablecmds.c:5647
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
 
-#: commands/tablecmds.c:5687
+#: commands/tablecmds.c:5685
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:5731
+#: commands/tablecmds.c:5729
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Spalte „%s“ von Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:5744
+#: commands/tablecmds.c:5742
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte „%s“ kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:5751
+#: commands/tablecmds.c:5749
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte „%s“ kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:5991
+#: commands/tablecmds.c:5989
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index „%s“ um in „%s“"
 
-#: commands/tablecmds.c:6204
+#: commands/tablecmds.c:6202
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:6275
+#: commands/tablecmds.c:6273
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation „%s“, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:6298
+#: commands/tablecmds.c:6296
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen"
 
-#: commands/tablecmds.c:6305
+#: commands/tablecmds.c:6303
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen"
 
-#: commands/tablecmds.c:6311
+#: commands/tablecmds.c:6309
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen"
 
-#: commands/tablecmds.c:6315
+#: commands/tablecmds.c:6313
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten"
 
-#: commands/tablecmds.c:6376
+#: commands/tablecmds.c:6374
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein"
 
-#: commands/tablecmds.c:6483
+#: commands/tablecmds.c:6481
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint „%s“ kann nicht implementiert werden"
 
-#: commands/tablecmds.c:6486
+#: commands/tablecmds.c:6484
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Schlüsselspalten „%s“ und „%s“ haben inkompatible Typen: %s und %s."
 
-#: commands/tablecmds.c:6693 commands/tablecmds.c:6843
-#: commands/tablecmds.c:7725 commands/tablecmds.c:7781
+#: commands/tablecmds.c:6691 commands/tablecmds.c:6841
+#: commands/tablecmds.c:7723 commands/tablecmds.c:7779
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint „%s“ von Relation „%s“ existiert nicht"
 
-#: commands/tablecmds.c:6699
+#: commands/tablecmds.c:6697
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "Constraint „%s“ von Relation „%s“ ist kein Fremdschlüssel-Constraint"
 
-#: commands/tablecmds.c:6850
+#: commands/tablecmds.c:6848
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "Constraint „%s“ von Relation „%s“ ist kein Fremdschlüssel- oder Check-Constraint"
 
-#: commands/tablecmds.c:6918
+#: commands/tablecmds.c:6916
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:6987
+#: commands/tablecmds.c:6985
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "Spalte „%s“, die im Fremdschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:6992
+#: commands/tablecmds.c:6990
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben"
 
-#: commands/tablecmds.c:7057
+#: commands/tablecmds.c:7055
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle „%s“, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:7074
+#: commands/tablecmds.c:7072
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "in Tabelle „%s“, auf die verwiesen wird, gibt es keinen Primärschlüssel"
 
-#: commands/tablecmds.c:7139
+#: commands/tablecmds.c:7137
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten"
 
-#: commands/tablecmds.c:7233
+#: commands/tablecmds.c:7231
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle „%s“, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:7238
+#: commands/tablecmds.c:7236
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "in Tabelle „%s“, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt"
 
-#: commands/tablecmds.c:7401
+#: commands/tablecmds.c:7399
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validiere Fremdschlüssel-Constraint „%s“"
 
-#: commands/tablecmds.c:7697
+#: commands/tablecmds.c:7695
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "geerbter Constraint „%s“ von Relation „%s“ kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:7731
+#: commands/tablecmds.c:7729
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Constraint „%s“ von Relation „%s“ existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:7870
+#: commands/tablecmds.c:7868
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:7893
+#: commands/tablecmds.c:7891
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte „%s“ nicht ändern"
 
-#: commands/tablecmds.c:7942
+#: commands/tablecmds.c:7940
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Ergebnis der USING-Klausel für Spalte „%s“ kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:7945
+#: commands/tablecmds.c:7943
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen."
 
-#: commands/tablecmds.c:7949
+#: commands/tablecmds.c:7947
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "Spalte „%s“ kann nicht automatisch in Typ %s umgewandelt werden"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:7952
+#: commands/tablecmds.c:7950
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise „USING %s::%s“ angeben."
 
-#: commands/tablecmds.c:8005
+#: commands/tablecmds.c:8003
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "Typ der vererbten Spalte „%s“ muss ebenso in den abgeleiteten Tabellen geändert werden"
 
-#: commands/tablecmds.c:8092
+#: commands/tablecmds.c:8090
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte „%s“ kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:8128
+#: commands/tablecmds.c:8126
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Vorgabewert der Spalte „%s“ kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:8254
+#: commands/tablecmds.c:8252
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:8255 commands/tablecmds.c:8274
-#: commands/tablecmds.c:8292
+#: commands/tablecmds.c:8253 commands/tablecmds.c:8272
+#: commands/tablecmds.c:8290
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte „%s“ ab"
 
-#: commands/tablecmds.c:8273
+#: commands/tablecmds.c:8271
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:8291
+#: commands/tablecmds.c:8289
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:8956
+#: commands/tablecmds.c:8954
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index „%s“ nicht ändern"
 
-#: commands/tablecmds.c:8958
+#: commands/tablecmds.c:8956
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index."
 
-#: commands/tablecmds.c:8974
+#: commands/tablecmds.c:8972
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz „%s“ nicht ändern"
 
-#: commands/tablecmds.c:8976 commands/tablecmds.c:11398
+#: commands/tablecmds.c:8974 commands/tablecmds.c:11396
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Sequenz „%s“ ist mit Tabelle „%s“ verknüpft."
 
-#: commands/tablecmds.c:8988 commands/tablecmds.c:12045
+#: commands/tablecmds.c:8986 commands/tablecmds.c:12043
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Verwenden Sie stattdessen ALTER TYPE."
 
-#: commands/tablecmds.c:8997
+#: commands/tablecmds.c:8995
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "„%s“ ist keine Tabelle, Sicht, Sequenz oder Fremdtabelle"
 
-#: commands/tablecmds.c:9340
+#: commands/tablecmds.c:9338
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:9413
+#: commands/tablecmds.c:9411
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "„%s“ ist weder Tabelle, Sicht, materialisierte Sicht, Index noch TOAST-Tabelle"
 
-#: commands/tablecmds.c:9446 commands/view.c:481
+#: commands/tablecmds.c:9444 commands/view.c:481
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt"
 
-#: commands/tablecmds.c:9592
+#: commands/tablecmds.c:9590
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation „%s“ kann nicht verschoben werden"
 
-#: commands/tablecmds.c:9608
+#: commands/tablecmds.c:9606
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:9745
+#: commands/tablecmds.c:9743
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces"
 
-#: commands/tablecmds.c:9757
+#: commands/tablecmds.c:9755
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "Relationen können nicht in den oder aus dem Tablespace „pg_global“ verschoben werden"
 
-#: commands/tablecmds.c:9848
+#: commands/tablecmds.c:9846
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "Abbruch weil Sperre für Relation „%s.%s“ nicht verfügbar ist"
 
-#: commands/tablecmds.c:9864
+#: commands/tablecmds.c:9862
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace „%s“ gefunden"
 
-#: commands/tablecmds.c:9938 storage/buffer/bufmgr.c:915
+#: commands/tablecmds.c:9936 storage/buffer/bufmgr.c:915
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "ungültige Seite in Block %u von Relation %s"
 
-#: commands/tablecmds.c:10020
+#: commands/tablecmds.c:10018
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:10070
+#: commands/tablecmds.c:10068
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden"
 
-#: commands/tablecmds.c:10124
+#: commands/tablecmds.c:10122
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:10125
+#: commands/tablecmds.c:10123
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "„%s“ ist schon von „%s“ abgeleitet."
 
-#: commands/tablecmds.c:10133
+#: commands/tablecmds.c:10131
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "Tabelle „%s“ ohne OIDs kann nicht von Tabelle „%s“ mit OIDs erben"
 
-#: commands/tablecmds.c:10274
+#: commands/tablecmds.c:10272
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "Spalte „%s“ in abgeleiteter Tabelle muss als NOT NULL markiert sein"
 
-#: commands/tablecmds.c:10290
+#: commands/tablecmds.c:10288
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte „%s“ fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:10373
+#: commands/tablecmds.c:10371
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "abgeleitete Tabelle „%s“ hat unterschiedliche Definition für Check-Constraint „%s“"
 
-#: commands/tablecmds.c:10381
+#: commands/tablecmds.c:10379
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "Constraint „%s“ kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle „%s“"
 
-#: commands/tablecmds.c:10405
+#: commands/tablecmds.c:10403
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint „%s“ fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:10489
+#: commands/tablecmds.c:10487
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation „%s“ ist keine Basisrelation von Relation „%s“"
 
-#: commands/tablecmds.c:10723
+#: commands/tablecmds.c:10721
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:10754
+#: commands/tablecmds.c:10752
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte „%s“ fehlt in Tabelle"
 
-#: commands/tablecmds.c:10764
+#: commands/tablecmds.c:10762
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte „%s“, aber Typ benötigt „%s“"
 
-#: commands/tablecmds.c:10773
+#: commands/tablecmds.c:10771
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle „%s“ hat unterschiedlichen Typ für Spalte „%s“"
 
-#: commands/tablecmds.c:10786
+#: commands/tablecmds.c:10784
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte „%s“"
 
-#: commands/tablecmds.c:10838
+#: commands/tablecmds.c:10836
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "„%s“ ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:11022
+#: commands/tablecmds.c:11020
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "nicht eindeutiger Index „%s“ kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:11028
+#: commands/tablecmds.c:11026
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "Index „%s“ kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist"
 
-#: commands/tablecmds.c:11034
+#: commands/tablecmds.c:11032
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "Ausdrucksindex „%s“ kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:11040
+#: commands/tablecmds.c:11038
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "partieller Index „%s“ kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:11046
+#: commands/tablecmds.c:11044
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "ungültiger Index „%s“ kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:11067
+#: commands/tablecmds.c:11065
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
 msgstr "Index „%s“ kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist"
 
-#: commands/tablecmds.c:11074
+#: commands/tablecmds.c:11072
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "Index „%s“ kann nicht als Replik-Identität verwendet werden, weil Spalte „%s“ NULL-Werte akzeptiert"
 
-#: commands/tablecmds.c:11271
+#: commands/tablecmds.c:11269
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "kann den geloggten Status der Tabelle „%s“ nicht ändern, weil sie temporär ist"
 
-#: commands/tablecmds.c:11330
+#: commands/tablecmds.c:11328
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "konnte Tabelle „%s“ nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle „%s“ verweist"
 
-#: commands/tablecmds.c:11340
+#: commands/tablecmds.c:11338
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "konnte Tabelle „%s“ nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle „%s“ verweist"
 
-#: commands/tablecmds.c:11397
+#: commands/tablecmds.c:11395
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden"
 
-#: commands/tablecmds.c:11502
+#: commands/tablecmds.c:11500
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation „%s“ existiert bereits in Schema „%s“"
 
-#: commands/tablecmds.c:12029
+#: commands/tablecmds.c:12027
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "„%s“ ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:12059
+#: commands/tablecmds.c:12057
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "„%s“ ist weder Tabelle, Sicht, materialisierte Sicht, Sequenz noch Fremdtabelle"
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:629 replication/slot.c:969 storage/file/copydir.c:47
+#: commands/tablespace.c:625 replication/slot.c:969 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "konnte Verzeichnis „%s“ nicht erzeugen: %m"
@@ -8577,105 +8555,105 @@ msgstr "keine Berechtigung, um Tablespace „%s“ zu erzeugen"
 msgid "Must be superuser to create a tablespace."
 msgstr "Nur Superuser können Tablespaces anlegen."
 
-#: commands/tablespace.c:271
+#: commands/tablespace.c:267
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "Tablespace-Pfad darf keine Apostrophe enthalten"
 
-#: commands/tablespace.c:281
+#: commands/tablespace.c:277
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "Tablespace-Pfad muss ein absoluter Pfad sein"
 
-#: commands/tablespace.c:292
+#: commands/tablespace.c:288
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "Tablespace-Pfad „%s“ ist zu lang"
 
-#: commands/tablespace.c:299
+#: commands/tablespace.c:295
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "Tablespace-Pfad sollte nicht innerhalb des Datenverzeichnisses sein"
 
-#: commands/tablespace.c:308 commands/tablespace.c:956
+#: commands/tablespace.c:304 commands/tablespace.c:952
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "inakzeptabler Tablespace-Name „%s“"
 
-#: commands/tablespace.c:310 commands/tablespace.c:957
+#: commands/tablespace.c:306 commands/tablespace.c:953
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Der Präfix „pg_“ ist für System-Tablespaces reserviert."
 
-#: commands/tablespace.c:320 commands/tablespace.c:969
+#: commands/tablespace.c:316 commands/tablespace.c:965
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "Tablespace „%s“ existiert bereits"
 
-#: commands/tablespace.c:434 commands/tablespace.c:939
-#: commands/tablespace.c:1020 commands/tablespace.c:1089
-#: commands/tablespace.c:1222 commands/tablespace.c:1422
+#: commands/tablespace.c:430 commands/tablespace.c:935
+#: commands/tablespace.c:1016 commands/tablespace.c:1085
+#: commands/tablespace.c:1218 commands/tablespace.c:1418
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "Tablespace „%s“ existiert nicht"
 
-#: commands/tablespace.c:440
+#: commands/tablespace.c:436
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "Tablespace „%s“ existiert nicht, wird übersprungen"
 
-#: commands/tablespace.c:516
+#: commands/tablespace.c:512
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "Tablespace „%s“ ist nicht leer"
 
-#: commands/tablespace.c:588
+#: commands/tablespace.c:584
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "Verzeichnis „%s“ existiert nicht"
 
-#: commands/tablespace.c:589
+#: commands/tablespace.c:585
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Erzeugen Sie dieses Verzeichnis für den Tablespace bevor Sie den Server neu starten."
 
-#: commands/tablespace.c:594
+#: commands/tablespace.c:590
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte für Verzeichnis „%s“ nicht setzen: %m"
 
-#: commands/tablespace.c:624
+#: commands/tablespace.c:620
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "Verzeichnis „%s“ ist bereits als Tablespace in Verwendung"
 
-#: commands/tablespace.c:748 commands/tablespace.c:761
-#: commands/tablespace.c:797 commands/tablespace.c:889
+#: commands/tablespace.c:744 commands/tablespace.c:757
+#: commands/tablespace.c:793 commands/tablespace.c:885
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "konnte Verzeichnis „%s“ nicht löschen: %m"
 
-#: commands/tablespace.c:810 commands/tablespace.c:898
+#: commands/tablespace.c:806 commands/tablespace.c:894
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht löschen: %m"
 
-#: commands/tablespace.c:820 commands/tablespace.c:907
+#: commands/tablespace.c:816 commands/tablespace.c:903
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "„%s“ ist kein Verzeichnis oder symbolische Verknüpfung"
 
-#: commands/tablespace.c:1094
+#: commands/tablespace.c:1090
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Tablespace „%s“ existiert nicht."
 
-#: commands/tablespace.c:1521
+#: commands/tablespace.c:1517
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 
-#: commands/tablespace.c:1523
+#: commands/tablespace.c:1519
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Sie können die Verzeichnisse falls nötig manuell entfernen."
@@ -8830,7 +8808,7 @@ msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren."
 
-#: commands/trigger.c:2741 executor/execMain.c:2369
+#: commands/trigger.c:2741 executor/execMain.c:2377
 #: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:200
 #: executor/nodeModifyTable.c:677 executor/nodeModifyTable.c:970
 #: executor/nodeModifyTable.c:1136
@@ -9255,8 +9233,8 @@ msgstr "nur Superuser können das Attribut „bypassrls“ ändern"
 msgid "permission denied to create role"
 msgstr "keine Berechtigung, um Rolle zu erzeugen"
 
-#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13599
-#: gram.y:13634
+#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13598
+#: gram.y:13633
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "Rollenname „%s“ ist reserviert"
@@ -9276,8 +9254,8 @@ msgstr "Rolle „%s“ existiert bereits"
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "OID-Wert für pg_auth ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/user.c:679 commands/user.c:896 commands/user.c:1443
-#: commands/user.c:1589
+#: commands/user.c:679 commands/user.c:896 commands/user.c:1432
+#: commands/user.c:1578
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "nur Superuser können Superuser ändern"
@@ -9307,8 +9285,8 @@ msgstr "keine Berechtigung, um Rolle zu entfernen"
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "in DROP ROLE kann kein Rollenplatzhalter verwendet werden"
 
-#: commands/user.c:990 commands/user.c:1147 commands/variable.c:805
-#: commands/variable.c:880 utils/adt/acl.c:5121 utils/adt/acl.c:5173
+#: commands/user.c:990 commands/user.c:1147 commands/variable.c:801
+#: commands/variable.c:873 utils/adt/acl.c:5121 utils/adt/acl.c:5173
 #: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
 #, c-format
 msgid "role \"%s\" does not exist"
@@ -9364,42 +9342,42 @@ msgstr "keine Berechtigung, um Rolle umzubenennen"
 msgid "MD5 password cleared because of role rename"
 msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht"
 
-#: commands/user.c:1299
+#: commands/user.c:1291
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "bei GRANT/REVOKE ROLE können keine Spaltennamen angegeben werden"
 
-#: commands/user.c:1337
+#: commands/user.c:1329
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "keine Berechtigung, um Objekte zu löschen"
 
-#: commands/user.c:1364 commands/user.c:1376
+#: commands/user.c:1356 commands/user.c:1365
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "keine Berechtigung, um Objekte neu zuzuordnen"
 
-#: commands/user.c:1451 commands/user.c:1597
+#: commands/user.c:1440 commands/user.c:1586
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "Admin-Option für Rolle „%s“ wird benötigt"
 
-#: commands/user.c:1468
+#: commands/user.c:1457
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "nur Superuser können Grantor setzen"
 
-#: commands/user.c:1493
+#: commands/user.c:1482
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "Rolle „%s“ ist ein Mitglied der Rolle „%s“"
 
-#: commands/user.c:1508
+#: commands/user.c:1497
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "Rolle „%s“ ist schon Mitglied der Rolle „%s“"
 
-#: commands/user.c:1619
+#: commands/user.c:1608
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "Rolle „%s“ ist kein Mitglied der Rolle „%s“"
@@ -9429,37 +9407,37 @@ msgstr "älteste Multixact ist weit in der Vergangenheit"
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "Schließen Sie bald alle offenen Transaktionen mit Multixacts, um Überlaufprobleme zu vermeiden."
 
-#: commands/vacuum.c:1131
+#: commands/vacuum.c:1139
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "einige Datenbanken sind seit über 2 Milliarden Transaktionen nicht gevacuumt worden"
 
-#: commands/vacuum.c:1132
+#: commands/vacuum.c:1140
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Sie haben möglicherweise bereits Daten wegen Transaktionsnummernüberlauf verloren."
 
-#: commands/vacuum.c:1253
+#: commands/vacuum.c:1261
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "überspringe Vacuum von „%s“ --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:1279
+#: commands/vacuum.c:1287
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "überspringe „%s“ --- nur Superuser kann sie vacuumen"
 
-#: commands/vacuum.c:1283
+#: commands/vacuum.c:1291
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "überspringe „%s“ --- nur Superuser oder Eigentümer der Datenbank kann sie vacuumen"
 
-#: commands/vacuum.c:1287
+#: commands/vacuum.c:1295
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "überspringe „%s“ --- nur Eigentümer der Tabelle oder der Datenbank kann sie vacuumen"
 
-#: commands/vacuum.c:1305
+#: commands/vacuum.c:1313
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "überspringe „%s“ --- kann Nicht-Tabellen oder besondere Systemtabellen nicht vacuumen"
@@ -9665,7 +9643,7 @@ msgstr "Umwandlung zwischen %s und %s wird nicht unterstützt."
 msgid "Cannot change \"client_encoding\" now."
 msgstr "„client_encoding“ kann jetzt nicht geändert werden."
 
-#: commands/variable.c:898
+#: commands/variable.c:891
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "keine Berechtigung, um Rolle „%s“ zu setzen"
@@ -9905,7 +9883,7 @@ msgstr "kann Zeilen in Sicht „%s“ nicht sperren"
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "kann Zeilen in materialisierter Sicht „%s“ nicht sperren"
 
-#: executor/execMain.c:1192 executor/execMain.c:2603
+#: executor/execMain.c:1192 executor/execMain.c:2611
 #: executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
@@ -9916,42 +9894,42 @@ msgstr "kann Zeilen in Fremdtabelle „%s“ nicht sperren"
 msgid "cannot lock rows in relation \"%s\""
 msgstr "kann Zeilen in Relation „%s“ nicht sperren"
 
-#: executor/execMain.c:1721
+#: executor/execMain.c:1729
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "NULL-Wert in Spalte „%s“ verletzt Not-Null-Constraint"
 
-#: executor/execMain.c:1723 executor/execMain.c:1749 executor/execMain.c:1838
+#: executor/execMain.c:1731 executor/execMain.c:1757 executor/execMain.c:1846
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Fehlgeschlagene Zeile enthält %s."
 
-#: executor/execMain.c:1747
+#: executor/execMain.c:1755
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "neue Zeile für Relation „%s“ verletzt Check-Constraint „%s“"
 
-#: executor/execMain.c:1836
+#: executor/execMain.c:1844
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "neue Zeile verletzt Check-Option für Sicht „%s“"
 
-#: executor/execMain.c:1846
+#: executor/execMain.c:1854
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene „%s“ für Tabelle „%s“"
 
-#: executor/execMain.c:1851
+#: executor/execMain.c:1859
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene für Tabelle „%s“"
 
-#: executor/execMain.c:1858
+#: executor/execMain.c:1866
 #, c-format
 msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene „%s“ (USING-Ausdruck) für Tabelle „%s“"
 
-#: executor/execMain.c:1863
+#: executor/execMain.c:1871
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle „%s“"
@@ -10147,7 +10125,7 @@ msgid "%s is not allowed in a SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:515 executor/spi.c:1368 executor/spi.c:2158
+#: executor/functions.c:515 executor/spi.c:1368 executor/spi.c:2160
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s ist in als nicht „volatile“ markierten Funktionen nicht erlaubt"
@@ -10367,16 +10345,21 @@ msgstr "%s kann nicht als Cursor geöffnet werden"
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt"
 
-#: executor/spi.c:1343 parser/analyze.c:2292
+#: executor/spi.c:1343 parser/analyze.c:2314
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Scrollbare Cursor müssen READ ONLY sein."
 
-#: executor/spi.c:2459
+#: executor/spi.c:2461
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-Anweisung „%s“"
 
+#: executor/tqueue.c:206
+#, c-format
+msgid "unable to send tuples"
+msgstr ""
+
 #: foreign/foreign.c:314
 #, c-format
 msgid "user mapping not found for \"%s\""
@@ -10417,7 +10400,7 @@ msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:2897 gram.y:2904 gram.y:10275 gram.y:10283
+#: gram.y:2897 gram.y:2904 gram.y:10274 gram.y:10282
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet"
@@ -10467,210 +10450,210 @@ msgstr "RECHECK wird nicht mehr benötigt"
 msgid "Update your data type."
 msgstr "Aktualisieren Sie Ihren Datentyp."
 
-#: gram.y:6973
+#: gram.y:6972
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:7292 utils/adt/regproc.c:774 utils/adt/regproc.c:815
+#: gram.y:7291 utils/adt/regproc.c:774 utils/adt/regproc.c:815
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:7293 utils/adt/regproc.c:775 utils/adt/regproc.c:816
+#: gram.y:7292 utils/adt/regproc.c:775 utils/adt/regproc.c:816
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben."
 
-#: gram.y:8843 gram.y:8861
+#: gram.y:8842 gram.y:8860
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "WITH CHECK OPTION wird für rekursive Sichten nicht unterstützt"
 
-#: gram.y:9867 parser/parse_expr.c:1476
+#: gram.y:9866 parser/parse_expr.c:1476
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein"
 
-#: gram.y:10383
+#: gram.y:10382
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:10384
+#: gram.y:10383
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:10647 gram.y:10672
+#: gram.y:10646 gram.y:10671
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES in FROM muss Aliasnamen erhalten"
 
-#: gram.y:10648 gram.y:10673
+#: gram.y:10647 gram.y:10672
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Zum Beispiel FROM (VALUES ...) [AS] xyz."
 
-#: gram.y:10653 gram.y:10678
+#: gram.y:10652 gram.y:10677
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "Unteranfrage in FROM muss Aliasnamen erhalten"
 
-#: gram.y:10654 gram.y:10679
+#: gram.y:10653 gram.y:10678
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Zum Beispiel FROM (SELECT ...) [AS] xyz."
 
-#: gram.y:11253
+#: gram.y:11252
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "Präzision von Typ float muss mindestens 1 Bit sein"
 
-#: gram.y:11262
+#: gram.y:11261
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "Präzision von Typ float muss weniger als 54 Bits sein"
 
-#: gram.y:11766
+#: gram.y:11765
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf linker Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:11771
+#: gram.y:11770
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf rechter Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:11948
+#: gram.y:11947
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:12280
+#: gram.y:12279
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "in WITHIN GROUP können nicht mehrere ORDER-BY-Klauseln verwendet werden"
 
-#: gram.y:12285
+#: gram.y:12284
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:12290
+#: gram.y:12289
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:12796
+#: gram.y:12795
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING wird nur mit UNBOUNDED unterstützt"
 
-#: gram.y:12802
+#: gram.y:12801
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING wird nur mit UNBOUNDED unterstützt"
 
-#: gram.y:12829 gram.y:12852
+#: gram.y:12828 gram.y:12851
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:12834
+#: gram.y:12833
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "Frame der in der folgenden Zeile beginnt kann nicht in der aktuellen Zeile enden"
 
-#: gram.y:12857
+#: gram.y:12856
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:12863
+#: gram.y:12862
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "Frame der in der aktuellen Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:12870
+#: gram.y:12869
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "Frame der in der folgenden Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:13535
+#: gram.y:13534
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:13541
+#: gram.y:13540
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:13605 gram.y:13611
+#: gram.y:13604 gram.y:13610
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s kann hier nicht als Rollenname verwendet werden"
 
-#: gram.y:14233 gram.y:14422
+#: gram.y:14232 gram.y:14421
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von „*“"
 
-#: gram.y:14385 gram.y:14402 tsearch/spell.c:954 tsearch/spell.c:971
+#: gram.y:14384 gram.y:14401 tsearch/spell.c:954 tsearch/spell.c:971
 #: tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:14486
+#: gram.y:14485
 #, c-format
 msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
 msgstr "eine Ordered-Set-Aggregatfunktion mit einem direkten VARIADIC-Argument muss ein aggregiertes VARIADIC-Argument des selben Datentyps haben"
 
-#: gram.y:14523
+#: gram.y:14522
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:14534
+#: gram.y:14533
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:14543
+#: gram.y:14542
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:14552
+#: gram.y:14551
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:14732
+#: gram.y:14743
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "OUT- und INOUT-Argumente sind in TABLE-Funktionen nicht erlaubt"
 
-#: gram.y:14833
+#: gram.y:14844
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14871 gram.y:14884
+#: gram.y:14882 gram.y:14895
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14897
+#: gram.y:14908
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "%s-Constraints können nicht als NOT VALID markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14910
+#: gram.y:14921
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
@@ -11913,7 +11896,7 @@ msgstr "es besteht keine Client-Verbindung"
 msgid "could not receive data from client: %m"
 msgstr "konnte Daten vom Client nicht empfangen: %m"
 
-#: libpq/pqcomm.c:1177 tcop/postgres.c:3906
+#: libpq/pqcomm.c:1177 tcop/postgres.c:3921
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "breche Verbindung ab, weil Protokollsynchronisierung verloren wurde"
@@ -12295,44 +12278,44 @@ msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1473 parser/analyze.c:1481 parser/analyze.c:1679
-#: parser/analyze.c:2460
+#: optimizer/plan/planner.c:1484 parser/analyze.c:1503 parser/analyze.c:1701
+#: parser/analyze.c:2482
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt"
 
-#: optimizer/plan/planner.c:3752
+#: optimizer/plan/planner.c:3750
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "konnte GROUP BY nicht implementieren"
 
-#: optimizer/plan/planner.c:3753 optimizer/plan/planner.c:4095
+#: optimizer/plan/planner.c:3751 optimizer/plan/planner.c:4093
 #: optimizer/prep/prepunion.c:927
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Einige Datentypen unterstützen nur Hashing, während andere nur Sortieren unterstützen."
 
-#: optimizer/plan/planner.c:4094
+#: optimizer/plan/planner.c:4092
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:4633
+#: optimizer/plan/planner.c:4631
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:4634
+#: optimizer/plan/planner.c:4632
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:4638
+#: optimizer/plan/planner.c:4636
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:4639
+#: optimizer/plan/planner.c:4637
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
@@ -12368,217 +12351,217 @@ msgstr "SQL-Funktion „%s“ beim Inlining"
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "während der Wiederherstellung kann nicht auf temporäre oder ungeloggte Tabellen zugegriffen werden"
 
-#: optimizer/util/plancat.c:591
+#: optimizer/util/plancat.c:583
 #, c-format
-msgid "system columns cannot be used in an ON CONFLICT clause"
-msgstr "Systemspalten können nicht in der ON-CONFLICT-Klausel verwendet werden"
+msgid "whole row unique index inference specifications are not supported"
+msgstr ""
 
-#: optimizer/util/plancat.c:609
+#: optimizer/util/plancat.c:600
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "Constraint in der ON-CONFLICT-Klausel hat keinen zugehörigen Index"
 
-#: optimizer/util/plancat.c:661
+#: optimizer/util/plancat.c:651
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UDPATE nicht unterstützt mit Exclusion-Constraints"
 
-#: optimizer/util/plancat.c:768
+#: optimizer/util/plancat.c:756
 #, c-format
 msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
 msgstr "es gibt keinen Unique-Constraint oder Exclusion-Constraint, der auf die ON-CONFLICT-Angabe passt"
 
-#: parser/analyze.c:639 parser/analyze.c:1253
+#: parser/analyze.c:661 parser/analyze.c:1275
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "VALUES-Listen müssen alle die gleiche Länge haben"
 
-#: parser/analyze.c:811
+#: parser/analyze.c:833
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT hat mehr Ausdrücke als Zielspalten"
 
-#: parser/analyze.c:829
+#: parser/analyze.c:851
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT hat mehr Zielspalten als Ausdrücke"
 
-#: parser/analyze.c:833
+#: parser/analyze.c:855
 #, c-format
 msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?"
 msgstr "Der einzufügende Wert ist ein Zeilenausdruck mit der gleichen Anzahl Spalten wie von INSERT erwartet. Haben Sie versehentlich zu viele Klammern gesetzt?"
 
-#: parser/analyze.c:1074 parser/analyze.c:1454
+#: parser/analyze.c:1096 parser/analyze.c:1476
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO ist hier nicht erlaubt"
 
-#: parser/analyze.c:1267
+#: parser/analyze.c:1289
 #, c-format
 msgid "DEFAULT can only appear in a VALUES list within INSERT"
 msgstr "DEFAULT kann nur in VALUES-Liste innerhalb von INSERT auftreten"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1386 parser/analyze.c:2630
+#: parser/analyze.c:1408 parser/analyze.c:2652
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s kann nicht auf VALUES angewendet werden"
 
-#: parser/analyze.c:1607
+#: parser/analyze.c:1629
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1608
+#: parser/analyze.c:1630
 #, c-format
 msgid "Only result column names can be used, not expressions or functions."
 msgstr "Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen."
 
-#: parser/analyze.c:1609
+#: parser/analyze.c:1631
 #, c-format
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel."
 
-#: parser/analyze.c:1669
+#: parser/analyze.c:1691
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO ist nur im ersten SELECT von UNION/INTERSECT/EXCEPT erlaubt"
 
-#: parser/analyze.c:1733
+#: parser/analyze.c:1755
 #, c-format
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr "Teilanweisung von UNION/INTERSECT/EXCEPT kann nicht auf andere Relationen auf der selben Anfrageebene verweisen"
 
-#: parser/analyze.c:1822
+#: parser/analyze.c:1844
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "jede %s-Anfrage muss die gleiche Anzahl Spalten haben"
 
-#: parser/analyze.c:2215
+#: parser/analyze.c:2237
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING muss mindestens eine Spalte haben"
 
-#: parser/analyze.c:2252
+#: parser/analyze.c:2274
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "SCROLL und NO SCROLL können nicht beide angegeben werden"
 
-#: parser/analyze.c:2270
+#: parser/analyze.c:2292
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR darf keine datenmodifizierenden Anweisungen in WITH enthalten"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2278
+#: parser/analyze.c:2300
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2281
+#: parser/analyze.c:2303
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Haltbare Cursor müssen READ ONLY sein."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2289
+#: parser/analyze.c:2311
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s wird nicht unterstützt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2300
+#: parser/analyze.c:2322
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2303
+#: parser/analyze.c:2325
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Insensitive Cursor müssen READ ONLY sein."
 
-#: parser/analyze.c:2369
+#: parser/analyze.c:2391
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr "materialisierte Sichten dürfen keine datenmodifizierenden Anweisungen in WITH verwenden"
 
-#: parser/analyze.c:2379
+#: parser/analyze.c:2401
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr "materialisierte Sichten dürfen keine temporären Tabellen oder Sichten verwenden"
 
-#: parser/analyze.c:2389
+#: parser/analyze.c:2411
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr "materialisierte Sichten können nicht unter Verwendung von gebundenen Parametern definiert werden"
 
-#: parser/analyze.c:2401
+#: parser/analyze.c:2423
 #, c-format
 msgid "materialized views cannot be UNLOGGED"
 msgstr "materialisierte Sichten können nicht UNLOGGED sein"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2467
+#: parser/analyze.c:2489
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s ist nicht mit DISTINCT-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2474
+#: parser/analyze.c:2496
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s ist nicht mit GROUP-BY-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2481
+#: parser/analyze.c:2503
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s ist nicht mit HAVING-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2488
+#: parser/analyze.c:2510
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s ist nicht mit Aggregatfunktionen erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2495
+#: parser/analyze.c:2517
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s ist nicht mit Fensterfunktionen erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2502
+#: parser/analyze.c:2524
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr "%s ist nicht mit Funktionen mit Ergebnismenge in der Targetliste erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2581
+#: parser/analyze.c:2603
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "%s muss unqualifizierte Relationsnamen angeben"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2612
+#: parser/analyze.c:2634
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s kann nicht auf einen Verbund angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2621
+#: parser/analyze.c:2643
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s kann nicht auf eine Funktion angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2639
+#: parser/analyze.c:2661
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s kann nicht auf eine WITH-Anfrage angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2656
+#: parser/analyze.c:2678
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "Relation „%s“ in %s nicht in der FROM-Klausel gefunden"
@@ -14237,57 +14220,57 @@ msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:377
+#: postmaster/autovacuum.c:380
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "konnte Autovacuum-Launcher-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:413
+#: postmaster/autovacuum.c:416
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "Autovacuum-Launcher startet"
 
-#: postmaster/autovacuum.c:775
+#: postmaster/autovacuum.c:779
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "Autovacuum-Launcher fährt herunter"
 
-#: postmaster/autovacuum.c:1443
+#: postmaster/autovacuum.c:1447
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "konnte Autovacuum-Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:1639
+#: postmaster/autovacuum.c:1643
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "Autovacuum: bearbeite Datenbank „%s“"
 
-#: postmaster/autovacuum.c:2051
+#: postmaster/autovacuum.c:2056
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "Autovacuum: lösche verwaiste temporäre Tabelle „%s.%s“ in Datenbank „%s“"
 
-#: postmaster/autovacuum.c:2063
+#: postmaster/autovacuum.c:2068
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "Autovacuum: verwaiste temporäre Tabelle „%s.%s“ in Datenbank „%s“ gefunden"
 
-#: postmaster/autovacuum.c:2346
+#: postmaster/autovacuum.c:2352
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "automatisches Vacuum der Tabelle „%s.%s.%s“"
 
-#: postmaster/autovacuum.c:2349
+#: postmaster/autovacuum.c:2355
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "automatisches Analysieren der Tabelle „%s.%s.%s“"
 
-#: postmaster/autovacuum.c:2877
+#: postmaster/autovacuum.c:2885
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 
-#: postmaster/autovacuum.c:2878
+#: postmaster/autovacuum.c:2886
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option „track_counts“ ein."
@@ -14442,82 +14425,82 @@ msgstr "archivierte Transaktionslogdatei „%s“"
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "konnte Archivstatusverzeichnis „%s“ nicht öffnen: %m"
 
-#: postmaster/pgstat.c:356
+#: postmaster/pgstat.c:352
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "konnte „localhost“ nicht auflösen: %s"
 
-#: postmaster/pgstat.c:379
+#: postmaster/pgstat.c:375
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "andere Adresse für Statistiksammelprozess wird versucht"
 
-#: postmaster/pgstat.c:388
+#: postmaster/pgstat.c:384
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "konnte Socket für Statistiksammelprozess nicht erzeugen: %m"
 
-#: postmaster/pgstat.c:400
+#: postmaster/pgstat.c:396
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "konnte Socket für Statistiksammelprozess nicht binden: %m"
 
-#: postmaster/pgstat.c:411
+#: postmaster/pgstat.c:407
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "konnte Adresse für Socket für Statistiksammelprozess nicht ermitteln: %m"
 
-#: postmaster/pgstat.c:427
+#: postmaster/pgstat.c:423
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "konnte nicht mit Socket für Statistiksammelprozess verbinden: %m"
 
-#: postmaster/pgstat.c:448
+#: postmaster/pgstat.c:444
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht senden: %m"
 
-#: postmaster/pgstat.c:474
+#: postmaster/pgstat.c:470
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() im Statistiksammelprozess fehlgeschlagen: %m"
 
-#: postmaster/pgstat.c:489
+#: postmaster/pgstat.c:485
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "Testnachricht auf Socket für Statistiksammelprozess kam nicht durch"
 
-#: postmaster/pgstat.c:504
+#: postmaster/pgstat.c:500
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht empfangen: %m"
 
-#: postmaster/pgstat.c:514
+#: postmaster/pgstat.c:510
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "fehlerhafte Übertragung der Testnachricht auf Socket für Statistiksammelprozess"
 
-#: postmaster/pgstat.c:537
+#: postmaster/pgstat.c:533
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "konnte Socket von Statistiksammelprozess nicht auf nicht blockierenden Modus setzen: %m"
 
-#: postmaster/pgstat.c:547
+#: postmaster/pgstat.c:543
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "Statistiksammelprozess abgeschaltet wegen nicht funkionierender Socket"
 
-#: postmaster/pgstat.c:694
+#: postmaster/pgstat.c:690
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "konnte Statistiksammelprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/pgstat.c:1262
+#: postmaster/pgstat.c:1258
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "unbekanntes Reset-Ziel: „%s“"
 
-#: postmaster/pgstat.c:1263
+#: postmaster/pgstat.c:1259
 #, c-format
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "Das Reset-Ziel muss „archiver“ oder „bgwriter“ sein."
@@ -14527,47 +14510,47 @@ msgstr "Das Reset-Ziel muss „archiver“ oder „bgwriter“ sein."
 msgid "could not read statistics message: %m"
 msgstr "konnte Statistiknachricht nicht lesen: %m"
 
-#: postmaster/pgstat.c:3909 postmaster/pgstat.c:4086
+#: postmaster/pgstat.c:3909 postmaster/pgstat.c:4066
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht öffnen: %m"
 
-#: postmaster/pgstat.c:3977 postmaster/pgstat.c:4131
+#: postmaster/pgstat.c:3976 postmaster/pgstat.c:4111
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht schreiben: %m"
 
-#: postmaster/pgstat.c:3986 postmaster/pgstat.c:4140
+#: postmaster/pgstat.c:3985 postmaster/pgstat.c:4120
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht schließen: %m"
 
-#: postmaster/pgstat.c:3994 postmaster/pgstat.c:4148
+#: postmaster/pgstat.c:3993 postmaster/pgstat.c:4128
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht in „%s“ umbenennen: %m"
 
-#: postmaster/pgstat.c:4230 postmaster/pgstat.c:4413 postmaster/pgstat.c:4568
+#: postmaster/pgstat.c:4217 postmaster/pgstat.c:4402 postmaster/pgstat.c:4555
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "konnte Statistikdatei „%s“ nicht öffnen: %m"
 
-#: postmaster/pgstat.c:4242 postmaster/pgstat.c:4252 postmaster/pgstat.c:4262
-#: postmaster/pgstat.c:4283 postmaster/pgstat.c:4298 postmaster/pgstat.c:4354
-#: postmaster/pgstat.c:4425 postmaster/pgstat.c:4445 postmaster/pgstat.c:4463
-#: postmaster/pgstat.c:4479 postmaster/pgstat.c:4497 postmaster/pgstat.c:4513
-#: postmaster/pgstat.c:4580 postmaster/pgstat.c:4592 postmaster/pgstat.c:4604
-#: postmaster/pgstat.c:4629 postmaster/pgstat.c:4651
+#: postmaster/pgstat.c:4229 postmaster/pgstat.c:4239 postmaster/pgstat.c:4249
+#: postmaster/pgstat.c:4270 postmaster/pgstat.c:4285 postmaster/pgstat.c:4339
+#: postmaster/pgstat.c:4414 postmaster/pgstat.c:4434 postmaster/pgstat.c:4452
+#: postmaster/pgstat.c:4468 postmaster/pgstat.c:4486 postmaster/pgstat.c:4502
+#: postmaster/pgstat.c:4567 postmaster/pgstat.c:4579 postmaster/pgstat.c:4591
+#: postmaster/pgstat.c:4616 postmaster/pgstat.c:4638
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "verfälschte Statistikdatei „%s“"
 
-#: postmaster/pgstat.c:4768
+#: postmaster/pgstat.c:4767
 #, c-format
 msgid "using stale statistics instead of current ones because stats collector is not responding"
 msgstr "verwende veraltete Statistiken anstatt aktueller, weil der Statistiksammelprozess nicht antwortet"
 
-#: postmaster/pgstat.c:5086
+#: postmaster/pgstat.c:5096
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
@@ -15311,7 +15294,7 @@ msgid "invalid socket: %s"
 msgstr "ungültiges Socket: %s"
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:374
-#: storage/ipc/latch.c:1271
+#: storage/ipc/latch.c:1277
 #, c-format
 msgid "select() failed: %m"
 msgstr "select() fehlgeschlagen: %m"
@@ -15409,7 +15392,7 @@ msgstr "Array darf keine NULL-Werte enthalten"
 msgid "array must have even number of elements"
 msgstr "Array muss eine gerade Anzahl Elemente haben"
 
-#: replication/logical/logicalfuncs.c:258
+#: replication/logical/logicalfuncs.c:264
 #, c-format
 msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
 msgstr "Ausgabe-Plugin „%s“ erzeugt binäre Ausgabe, aber Funktion „%s“ erwartet Textdaten"
@@ -15620,10 +15603,9 @@ msgid "replication slot \"%s\" does not exist"
 msgstr "Replikations-Slot „%s“ existiert nicht"
 
 #: replication/slot.c:355
-#, fuzzy, c-format
-#| msgid "replication slot \"%s\" is already active for PID %d"
+#, c-format
 msgid "replication slot \"%s\" is active for PID %d"
-msgstr "Replikations-Slot „%s“ ist bereits aktiv für PID %d"
+msgstr "Replikations-Slot „%s“ ist aktiv für PID %d"
 
 #: replication/slot.c:501 replication/slot.c:912 replication/slot.c:1249
 #, c-format
@@ -15636,10 +15618,9 @@ msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "Replikations-Slots können nur verwendet werden, wenn max_replication_slots > 0"
 
 #: replication/slot.c:766
-#, fuzzy, c-format
-#| msgid "replication slots can only be used if wal_level >= archive"
+#, c-format
 msgid "replication slots can only be used if wal_level >= replica"
-msgstr "Replikations-Slots können nur verwendet werden, wenn wal_level >= archive"
+msgstr "Replikations-Slots können nur verwendet werden, wenn wal_level >= replica"
 
 #: replication/slot.c:1181 replication/slot.c:1219
 #, c-format
@@ -15692,10 +15673,9 @@ msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr "Standby „%s“ hat jetzt synchrone Standby-Priorität %u"
 
 #: replication/syncrep.c:435
-#, fuzzy, c-format
-#| msgid "standby \"%s\" is now the synchronous standby with priority %u"
+#, c-format
 msgid "standby \"%s\" is now a synchronous standby with priority %u"
-msgstr "Standby „%s“ ist jetzt der synchrone Standby mit Priorität %u"
+msgstr "Standby „%s“ ist jetzt ein synchroner Standby mit Priorität %u"
 
 #: replication/syncrep.c:928
 #, c-format
@@ -16558,19 +16538,17 @@ msgstr "konnte Shared-Memory-Segment „%s“ nicht erzeugen: %m"
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "konnte Handle für „%s“ nicht duplizieren: %m"
 
-#: storage/ipc/latch.c:769
-#, fuzzy, c-format
-#| msgid "poll() failed: %m"
+#: storage/ipc/latch.c:775
+#, c-format
 msgid "epoll_ctl() failed: %m"
-msgstr "poll() fehlgeschlagen: %m"
+msgstr "epoll_ctl() fehlgeschlagen: %m"
 
-#: storage/ipc/latch.c:993
-#, fuzzy, c-format
-#| msgid "poll() failed: %m"
+#: storage/ipc/latch.c:999
+#, c-format
 msgid "epoll_wait() failed: %m"
-msgstr "poll() fehlgeschlagen: %m"
+msgstr "epoll_wait() fehlgeschlagen: %m"
 
-#: storage/ipc/latch.c:1113
+#: storage/ipc/latch.c:1119
 #, c-format
 msgid "poll() failed: %m"
 msgstr "poll() fehlgeschlagen: %m"
@@ -16605,7 +16583,7 @@ msgstr "ShmemIndex-Eintraggröße ist falsch für Datenstruktur „%s“: erwart
 msgid "requested shared memory size overflows size_t"
 msgstr "angeforderte Shared-Memory-Größe übersteigt Kapazität von size_t"
 
-#: storage/ipc/standby.c:527 tcop/postgres.c:2963
+#: storage/ipc/standby.c:527 tcop/postgres.c:2978
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung"
@@ -16821,13 +16799,13 @@ msgstr "Mit „SET default_transaction_isolation = 'repeatable read'“ können
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "eine Transaktion, die einen Snapshot importiert, must READ ONLY DEFERRABLE sein"
 
-#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:535
-#: utils/time/snapmgr.c:541
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:544
+#: utils/time/snapmgr.c:550
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "konnte den angeforderten Snapshot nicht importieren"
 
-#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:542
+#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:551
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "Die Quelltransaktion %u läuft nicht mehr."
@@ -16901,112 +16879,112 @@ msgstr "Prozess %d konnte %s-Sperre auf %s nach %ld,%03d ms nicht erlangen"
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr "Seitenüberprüfung fehlgeschlagen, berechnete Prüfsumme %u, aber erwartet %u"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:490
-#: storage/page/bufpage.c:705 storage/page/bufpage.c:836
-#: storage/page/bufpage.c:936
+#: storage/page/bufpage.c:203 storage/page/bufpage.c:522
+#: storage/page/bufpage.c:737 storage/page/bufpage.c:868
+#: storage/page/bufpage.c:968
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr "verfälschte Seitenzeiger: lower = %u, upper = %u, special = %u"
 
-#: storage/page/bufpage.c:534
+#: storage/page/bufpage.c:566
 #, c-format
 msgid "corrupted item pointer: %u"
 msgstr "verfälschter Item-Zeiger: %u"
 
-#: storage/page/bufpage.c:545 storage/page/bufpage.c:887
-#: storage/page/bufpage.c:1042
+#: storage/page/bufpage.c:577 storage/page/bufpage.c:919
+#: storage/page/bufpage.c:1074
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "verfälschte Item-Längen: gesamt %u, verfügbarer Platz %u"
 
-#: storage/page/bufpage.c:724 storage/page/bufpage.c:860
+#: storage/page/bufpage.c:756 storage/page/bufpage.c:892
 #, c-format
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "verfälschter Item-Zeiger: offset = %u, size = %u"
 
-#: storage/page/bufpage.c:965
+#: storage/page/bufpage.c:997
 #, c-format
 msgid "corrupted item pointer: offset = %u, length = %u"
 msgstr "verfälschter Item-Zeiger: offset = %u, length = %u"
 
-#: storage/smgr/md.c:447 storage/smgr/md.c:968
+#: storage/smgr/md.c:453 storage/smgr/md.c:975
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "kann Datei „%s“ nicht kürzen: %m"
 
-#: storage/smgr/md.c:514
+#: storage/smgr/md.c:520
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "kann Datei „%s“ nicht auf über %u Blöcke erweitern"
 
 # XXX
-#: storage/smgr/md.c:536 storage/smgr/md.c:749 storage/smgr/md.c:824
+#: storage/smgr/md.c:542 storage/smgr/md.c:755 storage/smgr/md.c:831
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht auf Block %u in Datei „%s“ setzen: %m"
 
-#: storage/smgr/md.c:544
+#: storage/smgr/md.c:550
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht erweitern: %m"
 
-#: storage/smgr/md.c:546 storage/smgr/md.c:553 storage/smgr/md.c:851
+#: storage/smgr/md.c:552 storage/smgr/md.c:559 storage/smgr/md.c:858
 #, c-format
 msgid "Check free disk space."
 msgstr "Prüfen Sie den freien Festplattenplatz."
 
-#: storage/smgr/md.c:550
+#: storage/smgr/md.c:556
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "konnte Datei „%s“ nicht erweitern: es wurden nur %d von %d Bytes bei Block %u geschrieben"
 
-#: storage/smgr/md.c:767
+#: storage/smgr/md.c:773
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "konnte Block %u in Datei „%s“ nicht lesen: %m"
 
-#: storage/smgr/md.c:783
+#: storage/smgr/md.c:789
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "konnte Block %u in Datei „%s“ nicht lesen: es wurden nur %d von %d Bytes gelesen"
 
-#: storage/smgr/md.c:842
+#: storage/smgr/md.c:849
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "konnte Block %u in Datei „%s“ nicht schreiben: %m"
 
-#: storage/smgr/md.c:847
+#: storage/smgr/md.c:854
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "konnte Block %u in Datei „%s“ nicht schreiben: es wurden nur %d von %d Bytes geschrieben"
 
-#: storage/smgr/md.c:944
+#: storage/smgr/md.c:951
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "konnte Datei „%s“ nicht auf %u Blöcke kürzen: es sind jetzt nur %u Blöcke"
 
-#: storage/smgr/md.c:993
+#: storage/smgr/md.c:1000
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "konnte Datei „%s“ nicht auf %u Blöcke kürzen: %m"
 
-#: storage/smgr/md.c:1273
+#: storage/smgr/md.c:1282
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr "konnte Datei „%s“ nicht fsyncen, versuche erneut: %m"
 
-#: storage/smgr/md.c:1436
+#: storage/smgr/md.c:1445
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr "konnte fsync-Anfrage nicht weiterleiten, weil Anfrageschlange voll ist"
 
-#: storage/smgr/md.c:1852
+#: storage/smgr/md.c:1866
 #, fuzzy, c-format
 #| msgid "could not open file \"%s\" (target block %u): %m"
 msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
 msgstr "konnte Datei „%s“ nicht öffnen (Zielblock %u): %m"
 
-#: storage/smgr/md.c:1867
+#: storage/smgr/md.c:1880
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "konnte Datei „%s“ nicht öffnen (Zielblock %u): %m"
@@ -17060,7 +17038,7 @@ msgid "unexpected EOF on client connection"
 msgstr "unerwartetes EOF auf Client-Verbindung"
 
 #: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461
-#: tcop/postgres.c:473 tcop/postgres.c:4297
+#: tcop/postgres.c:473 tcop/postgres.c:4312
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "ungültiger Frontend-Message-Typ %d"
@@ -17233,93 +17211,93 @@ msgstr "breche Verbindung ab aufgrund von Anweisung des Administrators"
 msgid "connection to client lost"
 msgstr "Verbindung zum Client wurde verloren"
 
-#: tcop/postgres.c:2940
+#: tcop/postgres.c:2955
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre"
 
-#: tcop/postgres.c:2947
+#: tcop/postgres.c:2962
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage"
 
-#: tcop/postgres.c:2954
+#: tcop/postgres.c:2969
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "storniere Autovacuum-Aufgabe"
 
-#: tcop/postgres.c:2977
+#: tcop/postgres.c:2992
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "storniere Anfrage wegen Benutzeraufforderung"
 
-#: tcop/postgres.c:2987
+#: tcop/postgres.c:3002
 #, fuzzy, c-format
 #| msgid "terminating connection due to administrator command"
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "breche Verbindung ab aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3101
+#: tcop/postgres.c:3116
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "Grenze für Stacktiefe überschritten"
 
-#: tcop/postgres.c:3102
+#: tcop/postgres.c:3117
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr "Erhöhen Sie den Konfigurationsparameter „max_stack_depth“ (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist."
 
-#: tcop/postgres.c:3165
+#: tcop/postgres.c:3180
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "„max_stack_depth“ darf %ldkB nicht überschreiten."
 
-#: tcop/postgres.c:3167
+#: tcop/postgres.c:3182
 #, c-format
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit „ulimit -s“ oder der lokalen Entsprechung."
 
-#: tcop/postgres.c:3527
+#: tcop/postgres.c:3542
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s"
 
-#: tcop/postgres.c:3528 tcop/postgres.c:3534
+#: tcop/postgres.c:3543 tcop/postgres.c:3549
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Versuchen Sie „%s --help“ für weitere Informationen."
 
-#: tcop/postgres.c:3532
+#: tcop/postgres.c:3547
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: ungültiges Kommandozeilenargument: %s"
 
-#: tcop/postgres.c:3594
+#: tcop/postgres.c:3609
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: weder Datenbankname noch Benutzername angegeben"
 
-#: tcop/postgres.c:4205
+#: tcop/postgres.c:4220
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "ungültiger Subtyp %d von CLOSE-Message"
 
-#: tcop/postgres.c:4240
+#: tcop/postgres.c:4255
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "ungültiger Subtyp %d von DESCRIBE-Message"
 
-#: tcop/postgres.c:4318
+#: tcop/postgres.c:4333
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt"
 
-#: tcop/postgres.c:4322
+#: tcop/postgres.c:4337
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt"
 
-#: tcop/postgres.c:4492
+#: tcop/postgres.c:4507
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s"
@@ -17551,7 +17529,7 @@ msgid "affix file contains both old-style and new-style commands"
 msgstr "Affixdatei enthält Befehle im alten und im neuen Stil"
 
 #: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270
-#: utils/adt/tsvector_op.c:1065
+#: utils/adt/tsvector_op.c:1066
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "Zeichenkette ist zu lang für tsvector (%d Bytes, maximal %d Bytes)"
@@ -18098,7 +18076,7 @@ msgstr "ungültige Eingabesyntax für Typ money: „%s“"
 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
 #: 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:6800
-#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8090
+#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8102
 #: utils/adt/timestamp.c:3446
 #, c-format
 msgid "division by zero"
@@ -18130,8 +18108,8 @@ msgstr "Präzision von TIME(%d)%s auf erlaubten Höchstwert %d reduziert"
 msgid "date/time value \"current\" is no longer supported"
 msgstr "Datum/Zeitwert „current“ wird nicht mehr unterstützt"
 
-#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3535
-#: utils/adt/formatting.c:3544
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3529
+#: utils/adt/formatting.c:3538
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: „%s“"
@@ -18165,8 +18143,8 @@ msgstr "Datum ist außerhalb des gültigen Bereichs für Typ „timestamp“"
 
 #: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678
 #: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592
-#: utils/adt/formatting.c:3410 utils/adt/formatting.c:3442
-#: utils/adt/formatting.c:3510 utils/adt/json.c:1534 utils/adt/json.c:1556
+#: utils/adt/formatting.c:3404 utils/adt/formatting.c:3436
+#: utils/adt/formatting.c:3504 utils/adt/json.c:1534 utils/adt/json.c:1556
 #: utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455
 #: utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571
 #: utils/adt/timestamp.c:224 utils/adt/timestamp.c:268
@@ -18431,12 +18409,12 @@ msgstr "null hoch eine negative Zahl ist undefiniert"
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "eine negative Zahl hoch eine nicht ganze Zahl ergibt ein komplexes Ergebnis"
 
-#: utils/adt/float.c:1544 utils/adt/float.c:1574 utils/adt/numeric.c:7787
+#: utils/adt/float.c:1544 utils/adt/float.c:1574 utils/adt/numeric.c:7788
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "Logarithmus von null kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1548 utils/adt/float.c:1578 utils/adt/numeric.c:7791
+#: utils/adt/float.c:1548 utils/adt/float.c:1578 utils/adt/numeric.c:7792
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
@@ -18479,203 +18457,203 @@ msgstr "ungültige Formatangabe für Intervall-Wert"
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Intervalle beziehen sich nicht auf bestimmte Kalenderdaten."
 
-#: utils/adt/formatting.c:1059
+#: utils/adt/formatting.c:1058
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "„EEEE“ muss das letzte Muster sein"
 
-#: utils/adt/formatting.c:1067
+#: utils/adt/formatting.c:1066
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "„9“ muss vor „PR“ stehen"
 
-#: utils/adt/formatting.c:1083
+#: utils/adt/formatting.c:1082
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "„0“ muss vor „PR“ stehen"
 
-#: utils/adt/formatting.c:1110
+#: utils/adt/formatting.c:1109
 #, c-format
 msgid "multiple decimal points"
 msgstr "mehrere Dezimalpunkte"
 
-#: utils/adt/formatting.c:1114 utils/adt/formatting.c:1197
+#: utils/adt/formatting.c:1113 utils/adt/formatting.c:1196
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "„V“ und Dezimalpunkt können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1126
+#: utils/adt/formatting.c:1125
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "„S“ kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1130
+#: utils/adt/formatting.c:1129
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "„S“ und „PL“/„MI“/„SG“/„PR“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1150
+#: utils/adt/formatting.c:1149
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "„S“ und „MI“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1160
+#: utils/adt/formatting.c:1159
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "„S“ und „PL“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1170
+#: utils/adt/formatting.c:1169
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "„S“ und „SG“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1179
+#: utils/adt/formatting.c:1178
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "„PR“ und „S“/„PL“/„MI“/„SG“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1205
+#: utils/adt/formatting.c:1204
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "„EEEE“ kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/formatting.c:1210
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "„EEEE“ ist mit anderen Formaten inkompatibel"
 
-#: utils/adt/formatting.c:1212
+#: utils/adt/formatting.c:1211
 #, c-format
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "„EEEE“ kann nur zusammen mit Platzhaltern für Ziffern oder Dezimalpunkt verwendet werden."
 
-#: utils/adt/formatting.c:1412
+#: utils/adt/formatting.c:1411
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "„%s“ ist keine Zahl"
 
-#: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565
+#: utils/adt/formatting.c:1512 utils/adt/formatting.c:1564
 #, c-format
 msgid "could not determine which collation to use for lower() function"
 msgstr "konnte die für die Funktion lower() zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685
+#: utils/adt/formatting.c:1632 utils/adt/formatting.c:1684
 #, c-format
 msgid "could not determine which collation to use for upper() function"
 msgstr "konnte die für die Funktion upper() zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818
+#: utils/adt/formatting.c:1753 utils/adt/formatting.c:1817
 #, c-format
 msgid "could not determine which collation to use for initcap() function"
 msgstr "konnte die für die Funktion initcap() zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/formatting.c:2122
+#: utils/adt/formatting.c:2114
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "ungültige Kombination von Datumskonventionen"
 
-#: utils/adt/formatting.c:2123
+#: utils/adt/formatting.c:2115
 #, c-format
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr "Die Gregorianische und die ISO-Konvention für Wochendaten können nicht einer Formatvorlage gemischt werden."
 
-#: utils/adt/formatting.c:2140
+#: utils/adt/formatting.c:2132
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "widersprüchliche Werte für das Feld „%s“ in Formatzeichenkette"
 
-#: utils/adt/formatting.c:2142
+#: utils/adt/formatting.c:2134
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Der Wert widerspricht einer vorherigen Einstellung für den selben Feldtyp."
 
-#: utils/adt/formatting.c:2203
+#: utils/adt/formatting.c:2195
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "Quellzeichenkette zu kurz für Formatfeld „%s„"
 
-#: utils/adt/formatting.c:2205
+#: utils/adt/formatting.c:2197
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben."
 
-#: utils/adt/formatting.c:2208 utils/adt/formatting.c:2222
+#: utils/adt/formatting.c:2200 utils/adt/formatting.c:2214
 #, c-format
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr "Wenn die Quellzeichenkette keine feste Breite hat, versuchen Sie den Modifikator „FM“."
 
-#: utils/adt/formatting.c:2218 utils/adt/formatting.c:2231
-#: utils/adt/formatting.c:2361
+#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
+#: utils/adt/formatting.c:2353
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "ungültiger Wert „%s“ für „%s“"
 
-#: utils/adt/formatting.c:2220
+#: utils/adt/formatting.c:2212
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Feld benötigt %d Zeichen, aber nur %d konnten geparst werden."
 
-#: utils/adt/formatting.c:2233
+#: utils/adt/formatting.c:2225
 #, c-format
 msgid "Value must be an integer."
 msgstr "Der Wert muss eine ganze Zahl sein."
 
-#: utils/adt/formatting.c:2238
+#: utils/adt/formatting.c:2230
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "Wert für „%s“ in der Eingabezeichenkette ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:2240
+#: utils/adt/formatting.c:2232
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Der Wert muss im Bereich %d bis %d sein."
 
-#: utils/adt/formatting.c:2363
+#: utils/adt/formatting.c:2355
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "Der angegebene Wert stimmte mit keinem der für dieses Feld zulässigen Werte überein."
 
-#: utils/adt/formatting.c:2558 utils/adt/formatting.c:2578
-#: utils/adt/formatting.c:2598 utils/adt/formatting.c:2618
-#: utils/adt/formatting.c:2637 utils/adt/formatting.c:2656
-#: utils/adt/formatting.c:2680 utils/adt/formatting.c:2698
-#: utils/adt/formatting.c:2716 utils/adt/formatting.c:2734
-#: utils/adt/formatting.c:2751 utils/adt/formatting.c:2768
+#: utils/adt/formatting.c:2550 utils/adt/formatting.c:2570
+#: utils/adt/formatting.c:2590 utils/adt/formatting.c:2610
+#: utils/adt/formatting.c:2629 utils/adt/formatting.c:2648
+#: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
+#: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
+#: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
 #, c-format
 msgid "localized string format value too long"
 msgstr "lokalisierter Formatwert ist zu lang"
 
-#: utils/adt/formatting.c:3055
+#: utils/adt/formatting.c:3047
 #, c-format
 msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
 msgstr "Formatmuster „TZ“/„tz“/„OF“ werden in to_date nicht unterstützt"
 
-#: utils/adt/formatting.c:3163
+#: utils/adt/formatting.c:3156
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ungültige Eingabe für „Y,YYY“"
 
-#: utils/adt/formatting.c:3674
+#: utils/adt/formatting.c:3668
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "Stunde „%d“ ist bei einer 12-Stunden-Uhr ungültig"
 
-#: utils/adt/formatting.c:3676
+#: utils/adt/formatting.c:3670
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Verwenden Sie die 24-Stunden-Uhr oder geben Sie eine Stunde zwischen 1 und 12 an."
 
-#: utils/adt/formatting.c:3771
+#: utils/adt/formatting.c:3765
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "kann Tag des Jahres nicht berechnen ohne Jahrinformationen"
 
-#: utils/adt/formatting.c:4620
+#: utils/adt/formatting.c:4614
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "„E“ wird nicht bei der Eingabe unterstützt"
 
-#: utils/adt/formatting.c:4632
+#: utils/adt/formatting.c:4626
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "„RN“ wird nicht bei der Eingabe unterstützt"
@@ -19484,8 +19462,8 @@ msgstr "Stoppwert kann nicht NaN sein"
 msgid "step size cannot be NaN"
 msgstr "Schrittgröße kann nicht NaN sein"
 
-#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7597
-#: utils/adt/numeric.c:8126 utils/adt/numeric.c:8199
+#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7598
+#: utils/adt/numeric.c:8023 utils/adt/numeric.c:8138 utils/adt/numeric.c:8211
 #, c-format
 msgid "value overflows numeric format"
 msgstr "Wert verursacht Überlauf im „numeric“-Format"
@@ -19693,16 +19671,14 @@ msgid "cannot display a value of type fdw_handler"
 msgstr "kann keinen Wert vom Typ fdw_handler anzeigen"
 
 #: utils/adt/pseudotypes.c:384
-#, fuzzy, c-format
-#| msgid "cannot accept a value of type tsm_handler"
+#, c-format
 msgid "cannot accept a value of type index_am_handler"
-msgstr "kann keinen Wert vom Typ tsm_handler annehmen"
+msgstr "kann keinen Wert vom Typ index_am_handler annehmen"
 
 #: utils/adt/pseudotypes.c:397
-#, fuzzy, c-format
-#| msgid "cannot display a value of type tsm_handler"
+#, c-format
 msgid "cannot display a value of type index_am_handler"
-msgstr "kann keinen Wert vom Typ tsm_handler anzeigen"
+msgstr "kann keinen Wert vom Typ index_am_handler anzeigen"
 
 #: utils/adt/pseudotypes.c:411
 #, c-format
@@ -19866,7 +19842,7 @@ msgid "more than one operator named %s"
 msgstr "es gibt mehrere Operatoren namens %s"
 
 #: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006
-#: utils/adt/ruleutils.c:8235 utils/adt/ruleutils.c:8401
+#: utils/adt/ruleutils.c:8238 utils/adt/ruleutils.c:8404
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
@@ -20106,10 +20082,9 @@ msgstr "timestamp ist außerhalb des gültigen Bereichs: %d-%02d-%02d %d:%02d:%0
 
 #: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776
 #: utils/adt/timestamp.c:791
-#, fuzzy, c-format
-#| msgid "timestamp out of range: \"%s\""
+#, c-format
 msgid "timestamp out of range: \"%g\""
-msgstr "timestamp ist außerhalb des gültigen Bereichs: „%s“"
+msgstr "timestamp ist außerhalb des gültigen Bereichs: „%g“"
 
 #: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558
 #: utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220
@@ -20312,42 +20287,48 @@ msgstr "Array darf keine NULL-Werte enthalten"
 msgid "weight array may not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/tsvector_op.c:1977
+#: utils/adt/tsvector_op.c:809
+#, fuzzy, c-format
+#| msgid "unrecognized encoding: \"%s\""
+msgid "unrecognized weight: \"%c\""
+msgstr "unbekannte Kodierung: „%s“"
+
+#: utils/adt/tsvector_op.c:1978
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "ts_stat-Anfrage muss eine tsvector-Spalte zurückgeben"
 
-#: utils/adt/tsvector_op.c:2159
+#: utils/adt/tsvector_op.c:2160
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "tsvector-Spalte „%s“ existiert nicht"
 
-#: utils/adt/tsvector_op.c:2165
+#: utils/adt/tsvector_op.c:2166
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "Spalte „%s“ hat nicht Typ tsvector"
 
-#: utils/adt/tsvector_op.c:2177
+#: utils/adt/tsvector_op.c:2178
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "Konfigurationsspalte „%s“ existiert nicht"
 
-#: utils/adt/tsvector_op.c:2183
+#: utils/adt/tsvector_op.c:2184
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "Spalte „%s“ hat nicht Typ regconfig"
 
-#: utils/adt/tsvector_op.c:2190
+#: utils/adt/tsvector_op.c:2191
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "Konfigurationsspalte „%s“ darf nicht NULL sein"
 
-#: utils/adt/tsvector_op.c:2203
+#: utils/adt/tsvector_op.c:2204
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr "Textsuchekonfigurationsname „%s“ muss Schemaqualifikation haben"
 
-#: utils/adt/tsvector_op.c:2228
+#: utils/adt/tsvector_op.c:2229
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "Spalte „%s“ hat keinen Zeichentyp"
@@ -20499,7 +20480,7 @@ msgstr "Formatspezifikation nicht abgeschlossen"
 #: utils/adt/varlena.c:4805 utils/adt/varlena.c:4939 utils/adt/varlena.c:5060
 #, c-format
 msgid "For a single \"%%\" use \"%%%%\"."
-msgstr ""
+msgstr "Für ein einzelnes „%%“ geben Sie „%%%%“ an."
 
 #: utils/adt/varlena.c:4937 utils/adt/varlena.c:5058
 #, fuzzy, c-format
@@ -20718,7 +20699,7 @@ msgstr "konnte Initialisierungsdatei für Relationscache „%s“ nicht erzeugen
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht."
 
-#: utils/cache/relcache.c:5365
+#: utils/cache/relcache.c:5411
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "konnte Cache-Datei „%s“ nicht löschen: %m"
@@ -21038,7 +21019,7 @@ msgstr "zu viele Verbindungen von Rolle „%s“"
 #: utils/init/miscinit.c:618
 #, c-format
 msgid "permission denied to set session authorization"
-msgstr "keine Berechtigung, um Sitzungsauthorisierung zu setzen"
+msgstr "keine Berechtigung, um Sitzungsautorisierung zu setzen"
 
 #: utils/init/miscinit.c:701
 #, c-format
@@ -21174,7 +21155,7 @@ msgstr "Bibliothek „%s“ geladen"
 #: utils/init/postinit.c:252
 #, c-format
 msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
-msgstr "Replikationsverbindung authorisiert: Benutzer=%s SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Komprimierung=%s)"
+msgstr "Replikationsverbindung autorisiert: Benutzer=%s SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Komprimierung=%s)"
 
 #: utils/init/postinit.c:254 utils/init/postinit.c:268
 msgid "off"
@@ -21187,17 +21168,17 @@ msgstr "an"
 #: utils/init/postinit.c:258
 #, c-format
 msgid "replication connection authorized: user=%s"
-msgstr "Replikationsverbindung authorisiert: Benutzer=%s"
+msgstr "Replikationsverbindung autorisiert: Benutzer=%s"
 
 #: utils/init/postinit.c:266
 #, c-format
 msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
-msgstr "Verbindung authorisiert: Benutzer=%s Datenbank=%s SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Komprimierung=%s)"
+msgstr "Verbindung autorisiert: Benutzer=%s Datenbank=%s SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Komprimierung=%s)"
 
 #: utils/init/postinit.c:272
 #, c-format
 msgid "connection authorized: user=%s database=%s"
-msgstr "Verbindung authorisiert: Benutzer=%s Datenbank=%s"
+msgstr "Verbindung autorisiert: Benutzer=%s Datenbank=%s"
 
 #: utils/init/postinit.c:304
 #, c-format
@@ -21961,11 +21942,11 @@ msgstr "Zeigt, ob Datenprüfsummen in diesem Cluster angeschaltet sind."
 
 #: utils/misc/guc.c:1647
 msgid "Add sequence number to syslog messages to avoid duplicate suppression."
-msgstr ""
+msgstr "Syslog-Nachrichten mit Sequenznummern versehen, um Unterdrückung doppelter Nachrichten zu unterbinden."
 
 #: utils/misc/guc.c:1657
 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
-msgstr ""
+msgstr "An Syslog gesendete Nachrichten nach Zeilen und in maximal 1024 Bytes aufteilen."
 
 #: utils/misc/guc.c:1676
 msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
@@ -22261,7 +22242,7 @@ msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory."
 
 #: utils/misc/guc.c:2301
 msgid "Time between WAL flushes performed in the WAL writer."
-msgstr ""
+msgstr "Zeit zwischen WAL-Flush-Operationen im WAL-Writer."
 
 #: utils/misc/guc.c:2312
 msgid "Amount of WAL written out by WAL writer triggering a flush."
@@ -22428,8 +22409,6 @@ msgid "Time between TCP keepalive retransmits."
 msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen."
 
 #: utils/misc/guc.c:2715
-#, fuzzy
-#| msgid "SSL regenotiation is no longer supported; this can only be 0."
 msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr "SSL-Renegotiation wird nicht mehr unterstützt; kann nur auf 0 gesetzt werden."
 
@@ -22902,10 +22881,9 @@ msgstr ""
 "die Umgebungsvariable PGDATA setzen.\n"
 
 #: utils/misc/guc.c:4645
-#, fuzzy, c-format
-#| msgid "%s cannot access the server configuration file \"%s\": %s\n"
+#, c-format
 msgid "%s: could not access the server configuration file \"%s\": %s\n"
-msgstr "%s kann nicht auf die Serverkonfigurationsdatei „%s“ zugreifen: %s\n"
+msgstr "%s: konnte nicht auf die Serverkonfigurationsdatei „%s“ zugreifen: %s\n"
 
 #: utils/misc/guc.c:4671
 #, c-format
@@ -23248,103 +23226,55 @@ msgstr "konnte nicht aus temporärer Datei für Tuplestore lesen: %m"
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "konnte nicht in temporäre Datei für Tuplestore schreiben: %m"
 
-#: utils/time/snapmgr.c:536
+#: utils/time/snapmgr.c:545
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "Die Quelltransaktion läuft nicht mehr."
 
-#: utils/time/snapmgr.c:1090
+#: utils/time/snapmgr.c:1099
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "aus einer Subtransaktion kann kein Snapshot exportiert werden"
 
-#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1244
-#: utils/time/snapmgr.c:1249 utils/time/snapmgr.c:1264
-#: utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1274
-#: utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1389
-#: utils/time/snapmgr.c:1414
+#: utils/time/snapmgr.c:1248 utils/time/snapmgr.c:1253
+#: utils/time/snapmgr.c:1258 utils/time/snapmgr.c:1273
+#: utils/time/snapmgr.c:1278 utils/time/snapmgr.c:1283
+#: utils/time/snapmgr.c:1382 utils/time/snapmgr.c:1398
+#: utils/time/snapmgr.c:1423
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "ungültige Snapshot-Daten in Datei „%s“"
 
-#: utils/time/snapmgr.c:1311
+#: utils/time/snapmgr.c:1320
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT muss vor allen Anfragen aufgerufen werden"
 
-#: utils/time/snapmgr.c:1320
+#: utils/time/snapmgr.c:1329
 #, c-format
 msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ"
 msgstr "eine Snapshot-importierende Transaktion muss Isolationsgrad SERIALIZABLE oder REPEATABLE READ haben"
 
-#: utils/time/snapmgr.c:1329 utils/time/snapmgr.c:1338
+#: utils/time/snapmgr.c:1338 utils/time/snapmgr.c:1347
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "ungültiger Snapshot-Bezeichner: „%s“"
 
-#: utils/time/snapmgr.c:1427
+#: utils/time/snapmgr.c:1436
 #, c-format
 msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction"
 msgstr "eine serialisierbare Transaktion kann keinen Snapshot aus einer nicht-serialisierbaren Transaktion importieren"
 
-#: utils/time/snapmgr.c:1431
+#: utils/time/snapmgr.c:1440
 #, c-format
 msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction"
 msgstr "eine serialisierbare Transaktion, die nicht im Read-Only-Modus ist, kann keinen Snapshot aus einer Read-Only-Transaktion importieren"
 
-#: utils/time/snapmgr.c:1446
+#: utils/time/snapmgr.c:1455
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "kann keinen Snapshot aus einer anderen Datenbank importieren"
 
-#~ msgid "must be superuser or replication role to run a backup"
-#~ msgstr "nur Superuser und Replikationsrollen können ein Backup ausführen"
-
-#~ msgid "must be superuser to switch transaction log files"
-#~ msgstr "nur Superuser können Transaktionslogdateien umschalten"
-
-#~ msgid "must be superuser to create a restore point"
-#~ msgstr "nur Superuser können Restore-Punkte anlegen"
-
-#~ msgid "must be superuser to control recovery"
-#~ msgstr "nur Superuser können die Wiederherstellung kontrollieren"
-
-#~ msgid "%s is already in schema \"%s\""
-#~ msgstr "%s ist bereits in Schema „%s“"
-
-#~ msgid "function \"%s\" must return type \"event_trigger\""
-#~ msgstr "Funktion „%s“ muss Typ „event_trigger“ zurückgeben"
-
-#~ msgid "function %s must return type \"fdw_handler\""
-#~ msgstr "Funktion %s muss Typ „fdw_handler“ zurückgeben"
-
-#~ msgid "could not reposition held cursor"
-#~ msgstr "konnte gehaltenen Cursor nicht umpositionieren"
-
-#~ msgid "function %s must return type \"language_handler\""
-#~ msgstr "Funktion %s muss Typ „language_handler“ zurückgeben"
-
-#~ msgid "function %s must return type \"trigger\""
-#~ msgstr "Funktion %s muss Typ „trigger“ zurückgeben"
-
-#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\""
-#~ msgstr "ändere Rückgabetyp von Funktion %s von „opaque“ in „cstring“"
-
-#~ msgid "type output function %s must return type \"cstring\""
-#~ msgstr "Typeausgabefunktion %s muss Typ „cstring“ zurückgeben"
-
-#~ msgid "type send function %s must return type \"bytea\""
-#~ msgstr "Typsendefunktion %s muss Typ „bytea“ zurückgeben"
-
-#~ msgid "typmod_in function %s must return type \"integer\""
-#~ msgstr "typmod_in-Funktion %s muss Typ „integer“ zurückgeben"
-
-#~ msgid "Permissions should be u=rw (0600) or less."
-#~ msgstr "Rechte sollten u=rw (0600) oder weniger sein."
-
-#~ msgid "function %s must return type \"tsm_handler\""
-#~ msgstr "Funktion %s muss Typ „tsm_handler“ zurückgeben"
-
 #~ msgid "could not open process token: error code %lu\n"
 #~ msgstr "konnte Prozess-Token nicht öffnen: Fehlercode %lu\n"
 
@@ -23353,33 +23283,3 @@ msgstr "kann keinen Snapshot aus einer anderen Datenbank importieren"
 
 #~ msgid "could not get SID for PowerUsers group: error code %lu\n"
 #~ msgstr "konnte SID der PowerUsers-Gruppe nicht ermitteln: Fehlercode %lu\n"
-
-#~ msgid "must be superuser to reset statistics counters"
-#~ msgstr "nur Superuser können Statistikzähler zurücksetzen"
-
-#~ msgid "socket not open"
-#~ msgstr "Socket ist nicht offen"
-
-#~ msgid "multibyte flag character is not allowed"
-#~ msgstr "Mehrbytemarkierungszeichen ist nicht erlaubt"
-
-#~ msgid "could not format \"path\" value"
-#~ msgstr "konnte „path“-Wert nicht formatieren"
-
-#~ msgid "could not format \"circle\" value"
-#~ msgstr "konnte „circle“-Wert nicht formatieren"
-
-#~ msgid "must be superuser to signal the postmaster"
-#~ msgstr "nur Superuser können Signale an den Postmaster senden"
-
-#~ msgid "must be superuser to rotate log files"
-#~ msgstr "nur Superuser können Logdateien rotieren"
-
-#~ msgid "argument for function \"exp\" too big"
-#~ msgstr "Argument für Funktion „exp“ zu groß"
-
-#~ msgid "could not convert to time zone \"%s\""
-#~ msgstr "konnte nicht in Zeitzone „%s“ umwandeln"
-
-#~ msgid "WAL writer sleep time between WAL flushes."
-#~ msgstr "Schlafzeit zwischen WAL-Flush-Operationen des WAL-Writers."
diff --git a/src/backend/po/fr.po b/src/backend/po/fr.po
index 4e465263c0ccc0c5c04d7ef025cc6a739ab6c778..af5ee562383edfac2d08b1790afbf8ea40ea4b52 100644
--- a/src/backend/po/fr.po
+++ b/src/backend/po/fr.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-09 08:38+0000\n"
-"PO-Revision-Date: 2016-02-28 15:10+0100\n"
+"PO-Revision-Date: 2016-05-09 23:02+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -17,18 +17,13 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.8.6\n"
+"X-Generator: Poedit 1.8.7.1\n"
 
-#: ../common/config_info.c:131 ../common/config_info.c:139
-#: ../common/config_info.c:147 ../common/config_info.c:155
-#: ../common/config_info.c:163 ../common/config_info.c:171
-#: ../common/config_info.c:179 ../common/config_info.c:187
-#: ../common/config_info.c:195
+#: ../common/config_info.c:131 ../common/config_info.c:139 ../common/config_info.c:147 ../common/config_info.c:155 ../common/config_info.c:163 ../common/config_info.c:171 ../common/config_info.c:179 ../common/config_info.c:187 ../common/config_info.c:195
 msgid "not recorded"
 msgstr "non enregistré"
 
-#: ../common/controldata_utils.c:52 commands/copy.c:2798
-#: commands/extension.c:3120 utils/adt/genfile.c:134
+#: ../common/controldata_utils.c:52 commands/copy.c:2798 commands/extension.c:3120 utils/adt/genfile.c:134
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
@@ -38,15 +33,8 @@ msgstr "n'a pas pu ouvrir le fichier 
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n"
 
-#: ../common/controldata_utils.c:66 access/transam/timeline.c:346
-#: access/transam/xlog.c:3193 access/transam/xlog.c:10338
-#: access/transam/xlog.c:10351 access/transam/xlog.c:10714
-#: access/transam/xlog.c:10757 access/transam/xlog.c:10796
-#: access/transam/xlog.c:10839 access/transam/xlogfuncs.c:666
-#: access/transam/xlogfuncs.c:685 commands/extension.c:3130
-#: replication/logical/origin.c:665 replication/logical/origin.c:695
-#: replication/logical/reorderbuffer.c:3090 replication/walsender.c:499
-#: storage/file/copydir.c:176 utils/adt/genfile.c:151
+#: ../common/controldata_utils.c:66 access/transam/timeline.c:346 access/transam/xlog.c:3193 access/transam/xlog.c:10338 access/transam/xlog.c:10351 access/transam/xlog.c:10714 access/transam/xlog.c:10757 access/transam/xlog.c:10796 access/transam/xlog.c:10839 access/transam/xlogfuncs.c:666 access/transam/xlogfuncs.c:685 commands/extension.c:3130 replication/logical/origin.c:665 replication/logical/origin.c:695
+#: replication/logical/reorderbuffer.c:3090 replication/walsender.c:499 storage/file/copydir.c:176 utils/adt/genfile.c:151
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier « %s » : %m"
@@ -128,9 +116,7 @@ msgstr "n'a pas pu lire le lien symbolique 
 msgid "pclose failed: %s"
 msgstr "échec de pclose : %s"
 
-#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
-#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:632
-#: ../port/path.c:670 ../port/path.c:687
+#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:632 ../port/path.c:670 ../port/path.c:687
 #, c-format
 msgid "out of memory\n"
 msgstr "mémoire épuisée\n"
@@ -155,29 +141,10 @@ msgstr "n'a pas pu lire le r
 msgid "could not close directory \"%s\": %s\n"
 msgstr "n'a pas pu fermer le répertoire « %s » : %s\n"
 
-#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668
-#: ../port/path.c:685 access/transam/twophase.c:1261
-#: access/transam/xlog.c:6069 lib/stringinfo.c:258 libpq/auth.c:847
-#: libpq/auth.c:1210 libpq/auth.c:1278 libpq/auth.c:1794
-#: postmaster/bgworker.c:289 postmaster/bgworker.c:797
-#: postmaster/postmaster.c:2323 postmaster/postmaster.c:2354
-#: postmaster/postmaster.c:3886 postmaster/postmaster.c:4576
-#: postmaster/postmaster.c:4644 postmaster/postmaster.c:5343
-#: postmaster/postmaster.c:5596 replication/logical/logical.c:170
-#: storage/buffer/localbuf.c:422 storage/file/fd.c:729 storage/file/fd.c:1126
-#: storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060
-#: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
-#: storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570
-#: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
-#: utils/adt/formatting.c:1763 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
-#: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431
-#: utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3885 utils/misc/guc.c:3901
-#: utils/misc/guc.c:3914 utils/misc/guc.c:6859 utils/misc/tzparser.c:470
-#: utils/mmgr/aset.c:505 utils/mmgr/mcxt.c:770 utils/mmgr/mcxt.c:805
-#: utils/mmgr/mcxt.c:842 utils/mmgr/mcxt.c:879 utils/mmgr/mcxt.c:913
-#: utils/mmgr/mcxt.c:942 utils/mmgr/mcxt.c:976 utils/mmgr/mcxt.c:1058
-#: utils/mmgr/mcxt.c:1092 utils/mmgr/mcxt.c:1141
+#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1261 access/transam/xlog.c:6069 lib/stringinfo.c:258 libpq/auth.c:847 libpq/auth.c:1210 libpq/auth.c:1278 libpq/auth.c:1794 postmaster/bgworker.c:289 postmaster/bgworker.c:797 postmaster/postmaster.c:2323 postmaster/postmaster.c:2354 postmaster/postmaster.c:3886 postmaster/postmaster.c:4576 postmaster/postmaster.c:4644
+#: postmaster/postmaster.c:5343 postmaster/postmaster.c:5596 replication/logical/logical.c:170 storage/buffer/localbuf.c:422 storage/file/fd.c:729 storage/file/fd.c:1126 storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060 storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553 storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570 utils/adt/formatting.c:1522 utils/adt/formatting.c:1642 utils/adt/formatting.c:1763
+#: utils/adt/regexp.c:219 utils/adt/varlena.c:4440 utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431 utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3885 utils/misc/guc.c:3901 utils/misc/guc.c:3914 utils/misc/guc.c:6859 utils/misc/tzparser.c:470 utils/mmgr/aset.c:505 utils/mmgr/mcxt.c:770 utils/mmgr/mcxt.c:805 utils/mmgr/mcxt.c:842
+#: utils/mmgr/mcxt.c:879 utils/mmgr/mcxt.c:913 utils/mmgr/mcxt.c:942 utils/mmgr/mcxt.c:976 utils/mmgr/mcxt.c:1058 utils/mmgr/mcxt.c:1092 utils/mmgr/mcxt.c:1141
 #, c-format
 msgid "out of memory"
 msgstr "mémoire épuisée"
@@ -293,8 +260,7 @@ msgstr "le processus fils a quitt
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "n'a pas pu déterminer l'encodage pour le codeset « %s »"
 
-#: ../port/chklocale.c:295 ../port/chklocale.c:424
-#: postmaster/postmaster.c:4876
+#: ../port/chklocale.c:295 ../port/chklocale.c:424 postmaster/postmaster.c:4876
 #, c-format
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr "Veuillez rapporter ceci à <pgsql-bugs@postgresql.org>."
@@ -369,8 +335,7 @@ msgstr "
 msgid "could not open parent table of index %s"
 msgstr "n'a pas pu ouvrir la table parent de l'index %s"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
-#: access/brin/brin_pageops.c:828
+#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 access/brin/brin_pageops.c:828
 #, c-format
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »"
@@ -441,8 +406,7 @@ msgstr "le nombre de colonnes index
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "la ligne index requiert %zu octets, la taille maximum est %zu"
 
-#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
-#: tcop/postgres.c:1721
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544 tcop/postgres.c:1721
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "code de format non supporté : %d"
@@ -538,20 +502,14 @@ msgstr "cha
 #: access/gin/ginbulk.c:45
 #, c-format
 msgid "Reduce maintenance_work_mem"
-msgstr ""
+msgstr "Réduire maintenance_work_mem"
 
-#: access/gin/ginentrypage.c:109 access/gist/gist.c:1338
-#: access/nbtree/nbtinsert.c:575 access/nbtree/nbtsort.c:488
-#: access/spgist/spgdoinsert.c:1907
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1338 access/nbtree/nbtinsert.c:575 access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1907
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "la taille de la ligne index, %zu, dépasse le maximum, %zu, pour l'index « %s »"
 
-#: access/gin/ginfast.c:991 access/transam/xlog.c:9795
-#: access/transam/xlog.c:10266 access/transam/xlogfuncs.c:294
-#: access/transam/xlogfuncs.c:321 access/transam/xlogfuncs.c:360
-#: access/transam/xlogfuncs.c:381 access/transam/xlogfuncs.c:402
-#: access/transam/xlogfuncs.c:472 access/transam/xlogfuncs.c:528
+#: access/gin/ginfast.c:991 access/transam/xlog.c:9795 access/transam/xlog.c:10266 access/transam/xlogfuncs.c:294 access/transam/xlogfuncs.c:321 access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:381 access/transam/xlogfuncs.c:402 access/transam/xlogfuncs.c:472 access/transam/xlogfuncs.c:528
 #, c-format
 msgid "recovery is in progress"
 msgstr "restauration en cours"
@@ -640,11 +598,7 @@ msgstr ""
 "Ceci est dû à la division d'une page incomplète à la restauration suite à un\n"
 "crash avant la mise à jour en 9.1."
 
-#: access/gist/gist.c:684 access/gist/gistutil.c:735
-#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:261
-#: access/hash/hashutil.c:172 access/hash/hashutil.c:183
-#: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
+#: access/gist/gist.c:684 access/gist/gistutil.c:735 access/gist/gistutil.c:746 access/gist/gistvacuum.c:261 access/hash/hashutil.c:172 access/hash/hashutil.c:183 access/hash/hashutil.c:195 access/hash/hashutil.c:216 access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Merci d'exécuter REINDEX sur cet objet."
@@ -677,14 +631,12 @@ msgstr ""
 "ou essayez d'utiliser la colonne comme second dans la commande\n"
 "CREATE INDEX."
 
-#: access/gist/gistutil.c:732 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:515
+#: access/gist/gistutil.c:732 access/hash/hashutil.c:169 access/nbtree/nbtpage.c:515
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "l'index « %s » contient une page zéro inattendue au bloc %u"
 
-#: access/gist/gistutil.c:743 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
+#: access/gist/gistutil.c:743 access/hash/hashutil.c:180 access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "l'index « %s » contient une page corrompue au bloc %u"
@@ -734,8 +686,7 @@ msgstr ""
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "la taille de la ligne index, %zu, dépasse le hachage maximum, %zu"
 
-#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911
-#: access/spgist/spgutils.c:702
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911 access/spgist/spgutils.c:702
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Les valeurs plus larges qu'une page de tampon ne peuvent pas être indexées."
@@ -815,15 +766,12 @@ msgstr ""
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "ne peut pas accéder à des tables temporaires pendant une opération parallèle"
 
-#: access/heap/heapam.c:1307 access/heap/heapam.c:1335
-#: access/heap/heapam.c:1367 catalog/aclchk.c:1748
+#: access/heap/heapam.c:1307 access/heap/heapam.c:1335 access/heap/heapam.c:1367 catalog/aclchk.c:1748
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "« %s » est un index"
 
-#: access/heap/heapam.c:1312 access/heap/heapam.c:1340
-#: access/heap/heapam.c:1372 catalog/aclchk.c:1755 commands/tablecmds.c:8984
-#: commands/tablecmds.c:12042
+#: access/heap/heapam.c:1312 access/heap/heapam.c:1340 access/heap/heapam.c:1372 catalog/aclchk.c:1755 commands/tablecmds.c:8984 commands/tablecmds.c:12042
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "« %s » est un type composite"
@@ -853,8 +801,7 @@ msgstr "ne peut pas mettre 
 msgid "attempted to update invisible tuple"
 msgstr "a tenté de mettre à jour la ligne invisible"
 
-#: access/heap/heapam.c:4875 access/heap/heapam.c:4913
-#: access/heap/heapam.c:5136 executor/execMain.c:2304
+#: access/heap/heapam.c:4875 access/heap/heapam.c:4913 access/heap/heapam.c:5136 executor/execMain.c:2304
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "n'a pas pu obtenir un verrou sur la relation « %s »"
@@ -869,24 +816,12 @@ msgstr "la ligne est trop grande : taille %zu, taille maximale %zu"
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "n'a pas pu écrire le fichier « %s », a écrit %d de %d : %m"
 
-#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
-#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
-#: access/transam/timeline.c:483 access/transam/xlog.c:3060
-#: access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607
-#: replication/slot.c:1077 replication/slot.c:1162 storage/file/fd.c:624
-#: storage/file/fd.c:3052 storage/smgr/md.c:1044 storage/smgr/md.c:1277
-#: storage/smgr/md.c:1450 utils/misc/guc.c:6881
+#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177 access/heap/rewriteheap.c:1274 access/transam/timeline.c:407 access/transam/timeline.c:483 access/transam/xlog.c:3060 access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607 replication/slot.c:1077 replication/slot.c:1162 storage/file/fd.c:624 storage/file/fd.c:3052 storage/smgr/md.c:1044 storage/smgr/md.c:1277 storage/smgr/md.c:1450 utils/misc/guc.c:6881
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
-#: access/transam/timeline.c:315 access/transam/timeline.c:461
-#: access/transam/xlog.c:3016 access/transam/xlog.c:3165
-#: access/transam/xlog.c:10124 access/transam/xlog.c:10162
-#: access/transam/xlog.c:10489 postmaster/postmaster.c:4351
-#: replication/logical/origin.c:542 replication/slot.c:1034
-#: storage/file/copydir.c:162 storage/smgr/md.c:331 utils/time/snapmgr.c:1182
+#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140 access/transam/timeline.c:315 access/transam/timeline.c:461 access/transam/xlog.c:3016 access/transam/xlog.c:3165 access/transam/xlog.c:10124 access/transam/xlog.c:10162 access/transam/xlog.c:10489 postmaster/postmaster.c:4351 replication/logical/origin.c:542 replication/slot.c:1034 storage/file/copydir.c:162 storage/smgr/md.c:331 utils/time/snapmgr.c:1182
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier « %s » : %m"
@@ -896,54 +831,25 @@ msgstr "n'a pas pu cr
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u : %m"
 
-#: access/heap/rewriteheap.c:1156 replication/walsender.c:481
-#: storage/smgr/md.c:1902
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:481 storage/smgr/md.c:1902
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "n'a pas pu trouver la fin du fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
-#: access/transam/timeline.c:401 access/transam/timeline.c:477
-#: access/transam/xlog.c:3051 access/transam/xlog.c:3215
-#: postmaster/postmaster.c:4361 postmaster/postmaster.c:4371
-#: replication/logical/origin.c:551 replication/logical/origin.c:587
-#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1591
-#: replication/slot.c:1063 storage/file/copydir.c:187
-#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
-#: utils/init/miscinit.c:1244 utils/misc/guc.c:6842 utils/misc/guc.c:6873
-#: utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1187
-#: utils/time/snapmgr.c:1194
+#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367 access/transam/timeline.c:401 access/transam/timeline.c:477 access/transam/xlog.c:3051 access/transam/xlog.c:3215 postmaster/postmaster.c:4361 postmaster/postmaster.c:4371 replication/logical/origin.c:551 replication/logical/origin.c:587 replication/logical/origin.c:603 replication/logical/snapbuild.c:1591 replication/slot.c:1063 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237 utils/init/miscinit.c:1244 utils/misc/guc.c:6842 utils/misc/guc.c:6873 utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1187 utils/time/snapmgr.c:1194
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10356
-#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
-#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2624
-#: replication/logical/reorderbuffer.c:2681
-#: replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910
-#: replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:431
-#: storage/smgr/md.c:480 storage/smgr/md.c:1397
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10356 access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468 replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2624 replication/logical/reorderbuffer.c:2681 replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910 replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:431 storage/smgr/md.c:480 storage/smgr/md.c:1397
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
-#: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:2992 access/transam/xlog.c:3109
-#: access/transam/xlog.c:3150 access/transam/xlog.c:3423
-#: access/transam/xlog.c:3501 access/transam/xlogutils.c:700
-#: replication/basebackup.c:401 replication/basebackup.c:1162
-#: replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2154
-#: replication/logical/reorderbuffer.c:2394
-#: replication/logical/reorderbuffer.c:3072
-#: replication/logical/snapbuild.c:1584 replication/logical/snapbuild.c:1668
-#: replication/slot.c:1151 replication/walsender.c:474
-#: replication/walsender.c:2104 storage/file/copydir.c:155
-#: storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031
-#: storage/smgr/md.c:613 utils/error/elog.c:1870 utils/init/miscinit.c:1163
-#: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7101
-#: utils/misc/guc.c:7134
+#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111 access/transam/timeline.c:236 access/transam/timeline.c:334 access/transam/xlog.c:2992 access/transam/xlog.c:3109 access/transam/xlog.c:3150 access/transam/xlog.c:3423 access/transam/xlog.c:3501 access/transam/xlogutils.c:700 replication/basebackup.c:401 replication/basebackup.c:1162 replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2154
+#: replication/logical/reorderbuffer.c:2394 replication/logical/reorderbuffer.c:3072 replication/logical/snapbuild.c:1584 replication/logical/snapbuild.c:1668 replication/slot.c:1151 replication/walsender.c:474 replication/walsender.c:2104 storage/file/copydir.c:155 storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031 storage/smgr/md.c:613 utils/error/elog.c:1870 utils/init/miscinit.c:1163 utils/init/miscinit.c:1284
+#: utils/init/miscinit.c:1362 utils/misc/guc.c:7101 utils/misc/guc.c:7134
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
@@ -960,9 +866,7 @@ msgstr "la m
 msgid "index access method \"%s\" does not have a handler"
 msgstr "la méthode d'accès « %s » n'existe pas"
 
-#: access/index/indexam.c:155 catalog/objectaddress.c:1196
-#: commands/indexcmds.c:1799 commands/tablecmds.c:241
-#: commands/tablecmds.c:12033
+#: access/index/indexam.c:155 catalog/objectaddress.c:1196 commands/indexcmds.c:1799 commands/tablecmds.c:241 commands/tablecmds.c:12033
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "« %s » n'est pas un index"
@@ -998,14 +902,12 @@ msgstr ""
 "Utilisez un index sur le hachage MD5 de la valeur ou passez à l'indexation\n"
 "de la recherche plein texte."
 
-#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
-#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1715
+#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371 access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1715
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'index « %s » n'est pas un btree"
 
-#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377
-#: access/nbtree/nbtpage.c:464
+#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377 access/nbtree/nbtpage.c:464
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "la version ne correspond pas dans l'index « %s » : version du fichier %d, version du code %d"
@@ -1145,8 +1047,7 @@ msgstr "Assurez-vous que le param
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
 msgstr "la base de données n'accepte pas de commandes qui génèrent de nouveaux MultiXactId pour éviter les pertes de données suite à une réinitialisation de l'identifiant de transaction dans la base de données « %s »"
 
-#: access/transam/multixact.c:1002 access/transam/multixact.c:1009
-#: access/transam/multixact.c:1033 access/transam/multixact.c:1042
+#: access/transam/multixact.c:1002 access/transam/multixact.c:1009 access/transam/multixact.c:1033 access/transam/multixact.c:1042
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -1220,9 +1121,7 @@ msgstr "le MultiXactId %u n'a pas encore 
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "La limite de réinitialisation MultiXactId est %u, limité par la base de données d'OID %u"
 
-#: access/transam/multixact.c:2322 access/transam/multixact.c:2331
-#: access/transam/varsup.c:146 access/transam/varsup.c:153
-#: access/transam/varsup.c:384 access/transam/varsup.c:391
+#: access/transam/multixact.c:2322 access/transam/multixact.c:2331 access/transam/varsup.c:146 access/transam/varsup.c:153 access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
@@ -1299,9 +1198,7 @@ msgstr "processus en parall
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "le fichier « %s » n'existe pas, contenu lu comme des zéros"
 
-#: access/transam/slru.c:895 access/transam/slru.c:901
-#: access/transam/slru.c:908 access/transam/slru.c:915
-#: access/transam/slru.c:922 access/transam/slru.c:929
+#: access/transam/slru.c:895 access/transam/slru.c:901 access/transam/slru.c:908 access/transam/slru.c:915 access/transam/slru.c:922 access/transam/slru.c:929
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "n'a pas pu accéder au statut de la transaction %u"
@@ -1383,10 +1280,7 @@ msgstr ""
 "Les identifiants timeline doivent être plus petits que les enfants des\n"
 "identifiants timeline."
 
-#: access/transam/timeline.c:412 access/transam/timeline.c:488
-#: access/transam/xlog.c:3066 access/transam/xlog.c:3227
-#: access/transam/xlogfuncs.c:691 commands/copy.c:1671
-#: storage/file/copydir.c:201
+#: access/transam/timeline.c:412 access/transam/timeline.c:488 access/transam/xlog.c:3066 access/transam/xlog.c:3227 access/transam/xlogfuncs.c:691 commands/copy.c:1671 storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
@@ -1545,9 +1439,7 @@ msgstr ""
 msgid "removing future two-phase state file \"%s\""
 msgstr "suppression du futur fichier d'état de la validation en deux phases nommé « %s »"
 
-#: access/transam/twophase.c:1728 access/transam/twophase.c:1739
-#: access/transam/twophase.c:1858 access/transam/twophase.c:1869
-#: access/transam/twophase.c:1943
+#: access/transam/twophase.c:1728 access/transam/twophase.c:1739 access/transam/twophase.c:1858 access/transam/twophase.c:1869 access/transam/twophase.c:1943
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr ""
@@ -1689,9 +1581,7 @@ msgstr "ne peut pas d
 msgid "cannot release savepoints during a parallel operation"
 msgstr "ne peut pas relâcher de points de sauvegarde pendant une opération parallèle"
 
-#: access/transam/xact.c:3836 access/transam/xact.c:3888
-#: access/transam/xact.c:3894 access/transam/xact.c:3950
-#: access/transam/xact.c:4000 access/transam/xact.c:4006
+#: access/transam/xact.c:3836 access/transam/xact.c:3888 access/transam/xact.c:3894 access/transam/xact.c:3950 access/transam/xact.c:4000 access/transam/xact.c:4006
 #, c-format
 msgid "no such savepoint"
 msgstr "aucun point de sauvegarde"
@@ -1746,14 +1636,12 @@ msgstr "n'a pas pu ouvrir le journal des transactions 
 msgid "could not close log file %s: %m"
 msgstr "n'a pas pu fermer le fichier de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3584 access/transam/xlogutils.c:695
-#: replication/walsender.c:2099
+#: access/transam/xlog.c:3584 access/transam/xlogutils.c:695 replication/walsender.c:2099
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "le segment demandé du journal de transaction, %s, a déjà été supprimé"
 
-#: access/transam/xlog.c:3644 access/transam/xlog.c:3719
-#: access/transam/xlog.c:3917
+#: access/transam/xlog.c:3644 access/transam/xlog.c:3719 access/transam/xlog.c:3917
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire des journaux de transactions « %s » : %m"
@@ -1852,16 +1740,8 @@ msgstr "n'a pas pu ouvrir le fichier de contr
 msgid "could not read from control file: %m"
 msgstr "n'a pas pu lire le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4302 access/transam/xlog.c:4311
-#: access/transam/xlog.c:4335 access/transam/xlog.c:4342
-#: access/transam/xlog.c:4349 access/transam/xlog.c:4354
-#: access/transam/xlog.c:4361 access/transam/xlog.c:4368
-#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
-#: access/transam/xlog.c:4389 access/transam/xlog.c:4396
-#: access/transam/xlog.c:4403 access/transam/xlog.c:4412
-#: access/transam/xlog.c:4419 access/transam/xlog.c:4428
-#: access/transam/xlog.c:4435 access/transam/xlog.c:4444
-#: access/transam/xlog.c:4451 utils/init/miscinit.c:1380
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4311 access/transam/xlog.c:4335 access/transam/xlog.c:4342 access/transam/xlog.c:4349 access/transam/xlog.c:4354 access/transam/xlog.c:4361 access/transam/xlog.c:4368 access/transam/xlog.c:4375 access/transam/xlog.c:4382 access/transam/xlog.c:4389 access/transam/xlog.c:4396 access/transam/xlog.c:4403 access/transam/xlog.c:4412 access/transam/xlog.c:4419 access/transam/xlog.c:4428
+#: access/transam/xlog.c:4435 access/transam/xlog.c:4444 access/transam/xlog.c:4451 utils/init/miscinit.c:1380
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "les fichiers de la base de données sont incompatibles avec le serveur"
@@ -1888,8 +1768,7 @@ msgstr ""
 "Le cluster de base de données a été initialisé avec un PG_CONTROL_VERSION à\n"
 "%d alors que le serveur a été compilé avec un PG_CONTROL_VERSION à %d."
 
-#: access/transam/xlog.c:4315 access/transam/xlog.c:4339
-#: access/transam/xlog.c:4346 access/transam/xlog.c:4351
+#: access/transam/xlog.c:4315 access/transam/xlog.c:4339 access/transam/xlog.c:4346 access/transam/xlog.c:4351
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Il semble que vous avez besoin d'initdb."
@@ -1927,13 +1806,7 @@ msgstr ""
 "Le cluster de base de données a été initialisé avec un BLCKSZ à %d alors que\n"
 "le serveur a été compilé avec un BLCKSZ à %d."
 
-#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
-#: access/transam/xlog.c:4372 access/transam/xlog.c:4379
-#: access/transam/xlog.c:4386 access/transam/xlog.c:4393
-#: access/transam/xlog.c:4400 access/transam/xlog.c:4407
-#: access/transam/xlog.c:4415 access/transam/xlog.c:4422
-#: access/transam/xlog.c:4431 access/transam/xlog.c:4438
-#: access/transam/xlog.c:4447 access/transam/xlog.c:4454
+#: access/transam/xlog.c:4358 access/transam/xlog.c:4365 access/transam/xlog.c:4372 access/transam/xlog.c:4379 access/transam/xlog.c:4386 access/transam/xlog.c:4393 access/transam/xlog.c:4400 access/transam/xlog.c:4407 access/transam/xlog.c:4415 access/transam/xlog.c:4422 access/transam/xlog.c:4431 access/transam/xlog.c:4438 access/transam/xlog.c:4447 access/transam/xlog.c:4454
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Il semble que vous avez besoin de recompiler ou de relancer initdb."
@@ -2079,8 +1952,7 @@ msgstr "recovery_target_name est trop long (%d caract
 msgid "The only allowed value is \"immediate\"."
 msgstr "La seule valeur autorisée est « immediate »."
 
-#: access/transam/xlog.c:5106 access/transam/xlog.c:5117
-#: commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:5637
+#: access/transam/xlog.c:5106 access/transam/xlog.c:5117 commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:5637
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "le paramètre « %s » requiert une valeur booléenne"
@@ -2090,15 +1962,8 @@ msgstr "le param
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "le paramètre « %s » requiert une valeur temporelle"
 
-#: access/transam/xlog.c:5154 catalog/dependency.c:991
-#: catalog/dependency.c:992 catalog/dependency.c:998 catalog/dependency.c:999
-#: catalog/dependency.c:1010 catalog/dependency.c:1011
-#: catalog/objectaddress.c:1100 commands/tablecmds.c:795
-#: commands/tablecmds.c:9445 commands/user.c:1045 commands/view.c:482
-#: libpq/auth.c:304 replication/syncrep.c:926 storage/lmgr/deadlock.c:1139
-#: storage/lmgr/proc.c:1276 utils/adt/acl.c:5281 utils/misc/guc.c:5659
-#: utils/misc/guc.c:5752 utils/misc/guc.c:9686 utils/misc/guc.c:9720
-#: utils/misc/guc.c:9754 utils/misc/guc.c:9788 utils/misc/guc.c:9823
+#: access/transam/xlog.c:5154 catalog/dependency.c:991 catalog/dependency.c:992 catalog/dependency.c:998 catalog/dependency.c:999 catalog/dependency.c:1010 catalog/dependency.c:1011 catalog/objectaddress.c:1100 commands/tablecmds.c:795 commands/tablecmds.c:9445 commands/user.c:1045 commands/view.c:482 libpq/auth.c:304 replication/syncrep.c:926 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1276 utils/adt/acl.c:5281 utils/misc/guc.c:5659
+#: utils/misc/guc.c:5752 utils/misc/guc.c:9686 utils/misc/guc.c:9720 utils/misc/guc.c:9754 utils/misc/guc.c:9788 utils/misc/guc.c:9823
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -2599,8 +2464,7 @@ msgstr "identifiant timeline %u inattendu dans l'enregistrement du checkpoint, a
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "la sauvegarde en ligne a été annulée, la restauration ne peut pas continuer"
 
-#: access/transam/xlog.c:9319 access/transam/xlog.c:9366
-#: access/transam/xlog.c:9389
+#: access/transam/xlog.c:9319 access/transam/xlog.c:9366 access/transam/xlog.c:9389
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
@@ -2627,10 +2491,7 @@ msgstr "n'a pas pu synchroniser sur disque (fsync) le journal des transactions %
 msgid "could not fdatasync log file %s: %m"
 msgstr "n'a pas pu synchroniser sur disque (fdatasync) le journal de transactions %s : %m"
 
-#: access/transam/xlog.c:9796 access/transam/xlog.c:10267
-#: access/transam/xlogfuncs.c:295 access/transam/xlogfuncs.c:322
-#: access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382
-#: access/transam/xlogfuncs.c:403
+#: access/transam/xlog.c:9796 access/transam/xlog.c:10267 access/transam/xlogfuncs.c:295 access/transam/xlogfuncs.c:322 access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:403
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr ""
@@ -2644,8 +2505,7 @@ msgstr ""
 "Le niveau de journalisation (configuré par wal_level) n'est pas suffisant pour\n"
 "faire une sauvegarde en ligne."
 
-#: access/transam/xlog.c:9806 access/transam/xlog.c:10277
-#: access/transam/xlogfuncs.c:328
+#: access/transam/xlog.c:9806 access/transam/xlog.c:10277 access/transam/xlogfuncs.c:328
 #, fuzzy, c-format
 #| msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
 msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
@@ -2658,8 +2518,7 @@ msgstr ""
 msgid "backup label too long (max %d bytes)"
 msgstr "label de sauvegarde trop long (%d octets maximum)"
 
-#: access/transam/xlog.c:9843 access/transam/xlog.c:10115
-#: access/transam/xlog.c:10153
+#: access/transam/xlog.c:9843 access/transam/xlog.c:10115 access/transam/xlog.c:10153
 #, c-format
 msgid "a backup is already in progress"
 msgstr "une sauvegarde est déjà en cours"
@@ -2682,34 +2541,23 @@ msgstr ""
 "corrompue et ne doit pas être utilisée. Activez full_page_writes et lancez\n"
 "CHECKPOINT sur le maître, puis recommencez la sauvegarde."
 
-#: access/transam/xlog.c:10008 replication/basebackup.c:1038
-#: utils/adt/misc.c:498
+#: access/transam/xlog.c:10008 replication/basebackup.c:1038 utils/adt/misc.c:498
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "n'a pas pu lire le lien symbolique « %s » : %m"
 
-#: access/transam/xlog.c:10015 replication/basebackup.c:1043
-#: utils/adt/misc.c:503
+#: access/transam/xlog.c:10015 replication/basebackup.c:1043 utils/adt/misc.c:503
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la cible du lien symbolique « %s » est trop long"
 
-#: access/transam/xlog.c:10068 commands/tablespace.c:391
-#: commands/tablespace.c:553 replication/basebackup.c:1059
-#: utils/adt/misc.c:511
+#: access/transam/xlog.c:10068 commands/tablespace.c:391 commands/tablespace.c:553 replication/basebackup.c:1059 utils/adt/misc.c:511
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "les tablespaces ne sont pas supportés sur cette plateforme"
 
-#: access/transam/xlog.c:10109 access/transam/xlog.c:10147
-#: access/transam/xlog.c:10326 access/transam/xlogarchive.c:106
-#: access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804
-#: commands/extension.c:3109 commands/tablespace.c:782
-#: commands/tablespace.c:873 guc-file.l:1003 replication/basebackup.c:407
-#: replication/basebackup.c:475 replication/logical/snapbuild.c:1493
-#: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2826
-#: storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220
-#: utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333
+#: access/transam/xlog.c:10109 access/transam/xlog.c:10147 access/transam/xlog.c:10326 access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804 commands/extension.c:3109 commands/tablespace.c:782 commands/tablespace.c:873 guc-file.l:1003 replication/basebackup.c:407 replication/basebackup.c:475 replication/logical/snapbuild.c:1493 storage/file/copydir.c:72 storage/file/copydir.c:115
+#: storage/file/fd.c:2826 storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220 utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
@@ -2721,8 +2569,7 @@ msgstr ""
 "Si vous êtes certain qu'aucune sauvegarde n'est en cours, supprimez le\n"
 "fichier « %s » et recommencez de nouveau."
 
-#: access/transam/xlog.c:10133 access/transam/xlog.c:10171
-#: access/transam/xlog.c:10501
+#: access/transam/xlog.c:10133 access/transam/xlog.c:10171 access/transam/xlog.c:10501
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
@@ -2738,9 +2585,7 @@ msgstr "une sauvegarde n'est pas en cours"
 msgid "a backup is not in progress"
 msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlog.c:10375 access/transam/xlog.c:10388
-#: access/transam/xlog.c:10728 access/transam/xlog.c:10734
-#: access/transam/xlog.c:10818 access/transam/xlogfuncs.c:696
+#: access/transam/xlog.c:10375 access/transam/xlog.c:10388 access/transam/xlog.c:10728 access/transam/xlog.c:10734 access/transam/xlog.c:10818 access/transam/xlogfuncs.c:696
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "données invalides dans le fichier « %s »"
@@ -2814,8 +2659,7 @@ msgstr "le mode de sauvegarde en ligne n'a pas 
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Le fichier « %s » n'a pas pu être renommé en « %s » : %m"
 
-#: access/transam/xlog.c:10917 access/transam/xlog.c:10929
-#: access/transam/xlog.c:10939
+#: access/transam/xlog.c:10917 access/transam/xlog.c:10929 access/transam/xlog.c:10939
 #, c-format
 msgid "online backup mode canceled"
 msgstr "mode de sauvegarde en ligne annulé"
@@ -2830,8 +2674,7 @@ msgstr "Les fichiers 
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Le fichier « %s » a été renommé en « %s », mais le fichier « %s » n'a pas pu être renommé en « %s » : %m"
 
-#: access/transam/xlog.c:11062 access/transam/xlogutils.c:717
-#: replication/walreceiver.c:973 replication/walsender.c:2116
+#: access/transam/xlog.c:11062 access/transam/xlogutils.c:717 replication/walreceiver.c:973 replication/walsender.c:2116
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "n'a pas pu se déplacer dans le journal de transactions %s au décalage %u : %m"
@@ -2879,9 +2722,7 @@ msgstr "n'a pas pu restaurer le fichier 
 msgid "%s \"%s\": %s"
 msgstr "%s « %s »: %s"
 
-#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
-#: replication/slot.c:470 replication/slot.c:981 replication/slot.c:1089
-#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1205
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621 replication/slot.c:470 replication/slot.c:981 replication/slot.c:1089 storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1205
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
@@ -2907,12 +2748,7 @@ msgstr ""
 msgid "a backup is already in progress in this session"
 msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlogfuncs.c:94 commands/tablespace.c:705
-#: commands/tablespace.c:715 postmaster/postmaster.c:1395
-#: replication/basebackup.c:295 replication/basebackup.c:635
-#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292
-#: storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
-#: utils/adt/misc.c:411 utils/misc/tzparser.c:339
+#: access/transam/xlogfuncs.c:94 commands/tablespace.c:705 commands/tablespace.c:715 postmaster/postmaster.c:1395 replication/basebackup.c:295 replication/basebackup.c:635 storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292 storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439 utils/adt/misc.c:411 utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
@@ -2926,34 +2762,18 @@ msgstr "une sauvegarde n'est pas en cours"
 #: access/transam/xlogfuncs.c:156 access/transam/xlogfuncs.c:230
 #, c-format
 msgid "did you mean to use pg_stop_backup('f')?"
-msgstr ""
+msgstr "souhaitiez-vous utiliser pg_stop_backup('f') ?"
 
-#: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449
-#: commands/event_trigger.c:2000 commands/extension.c:1728
-#: commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702
-#: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157
-#: executor/execQual.c:5393 executor/functions.c:1024 foreign/foreign.c:598
-#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391
-#: replication/slotfuncs.c:189 replication/walsender.c:2765
-#: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615
-#: utils/adt/jsonfuncs.c:1805 utils/adt/jsonfuncs.c:1934
-#: utils/adt/jsonfuncs.c:2702 utils/adt/pgstatfuncs.c:554
-#: utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8424
-#: utils/mmgr/portalmem.c:1064
+#: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449 commands/event_trigger.c:2000 commands/extension.c:1728 commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702 executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157 executor/execQual.c:5393 executor/functions.c:1024 foreign/foreign.c:598 replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391 replication/slotfuncs.c:189
+#: replication/walsender.c:2765 utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615 utils/adt/jsonfuncs.c:1805 utils/adt/jsonfuncs.c:1934 utils/adt/jsonfuncs.c:2702 utils/adt/pgstatfuncs.c:554 utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8424 utils/mmgr/portalmem.c:1064
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "la fonction avec set-value a été appelé dans un contexte qui n'accepte pas\n"
 "un ensemble"
 
-#: access/transam/xlogfuncs.c:204 commands/event_trigger.c:1453
-#: commands/event_trigger.c:2004 commands/extension.c:1732
-#: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:706
-#: foreign/foreign.c:603 replication/logical/logicalfuncs.c:179
-#: replication/logical/origin.c:1395 replication/slotfuncs.c:193
-#: replication/walsender.c:2769 utils/adt/pgstatfuncs.c:558
-#: utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8428 utils/misc/pg_config.c:44
-#: utils/mmgr/portalmem.c:1068
+#: access/transam/xlogfuncs.c:204 commands/event_trigger.c:1453 commands/event_trigger.c:2004 commands/extension.c:1732 commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:706 foreign/foreign.c:603 replication/logical/logicalfuncs.c:179 replication/logical/origin.c:1395 replication/slotfuncs.c:193 replication/walsender.c:2769 utils/adt/pgstatfuncs.c:558 utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8428
+#: utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1068
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "mode matérialisé requis mais interdit dans ce contexte"
@@ -2967,7 +2787,7 @@ msgstr "une sauvegarde n'est pas en cours"
 #: access/transam/xlogfuncs.c:248
 #, c-format
 msgid "did you mean to use pg_stop_backup('t')?"
-msgstr ""
+msgstr "souhaitiez-vous utiliser pg_stop_backup('t') ?"
 
 #: access/transam/xlogfuncs.c:327
 #, c-format
@@ -2991,14 +2811,12 @@ msgstr "pg_xlogfile_name_offset() ne peut pas 
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() ne peut pas être exécuté lors de la restauration."
 
-#: access/transam/xlogfuncs.c:549 access/transam/xlogfuncs.c:569
-#: access/transam/xlogfuncs.c:586
+#: access/transam/xlogfuncs.c:549 access/transam/xlogfuncs.c:569 access/transam/xlogfuncs.c:586
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la restauration n'est pas en cours"
 
-#: access/transam/xlogfuncs.c:550 access/transam/xlogfuncs.c:570
-#: access/transam/xlogfuncs.c:587
+#: access/transam/xlogfuncs.c:550 access/transam/xlogfuncs.c:570 access/transam/xlogfuncs.c:587
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
@@ -3157,8 +2975,7 @@ msgstr "--%s requiert une valeur"
 msgid "-c %s requires a value"
 msgstr "-c %s requiert une valeur"
 
-#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:802
-#: postmaster/postmaster.c:815
+#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:802 postmaster/postmaster.c:815
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
@@ -3278,45 +3095,16 @@ msgstr "type de droit %s invalide pour le serveur distant"
 msgid "column privileges are only valid for relations"
 msgstr "les droits sur la colonne sont seulement valides pour les relations"
 
-#: catalog/aclchk.c:687 catalog/aclchk.c:3914 catalog/aclchk.c:4691
-#: catalog/objectaddress.c:873 catalog/pg_largeobject.c:113
-#: storage/large_object/inv_api.c:291
+#: catalog/aclchk.c:687 catalog/aclchk.c:3914 catalog/aclchk.c:4691 catalog/objectaddress.c:873 catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "le « Large Object » %u n'existe pas"
 
-#: catalog/aclchk.c:874 catalog/aclchk.c:882 commands/collationcmds.c:92
-#: commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034
-#: commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058
-#: commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082
-#: commands/copy.c:1098 commands/copy.c:1112 commands/copy.c:1131
-#: commands/copy.c:1146 commands/dbcommands.c:155 commands/dbcommands.c:163
-#: commands/dbcommands.c:171 commands/dbcommands.c:179
-#: commands/dbcommands.c:187 commands/dbcommands.c:195
-#: commands/dbcommands.c:203 commands/dbcommands.c:211
-#: commands/dbcommands.c:219 commands/dbcommands.c:1397
-#: commands/dbcommands.c:1405 commands/dbcommands.c:1413
-#: commands/dbcommands.c:1421 commands/extension.c:1218
-#: commands/extension.c:1226 commands/extension.c:1234
-#: commands/extension.c:1242 commands/extension.c:2760
-#: commands/foreigncmds.c:539 commands/foreigncmds.c:548
-#: commands/functioncmds.c:533 commands/functioncmds.c:649
-#: commands/functioncmds.c:657 commands/functioncmds.c:665
-#: commands/functioncmds.c:673 commands/functioncmds.c:2085
-#: commands/functioncmds.c:2093 commands/sequence.c:1189
-#: commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213
-#: commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237
-#: commands/sequence.c:1245 commands/typecmds.c:295 commands/typecmds.c:1382
-#: commands/typecmds.c:1391 commands/typecmds.c:1399 commands/typecmds.c:1407
-#: commands/typecmds.c:1415 commands/user.c:139 commands/user.c:156
-#: commands/user.c:164 commands/user.c:172 commands/user.c:180
-#: commands/user.c:188 commands/user.c:196 commands/user.c:204
-#: commands/user.c:212 commands/user.c:220 commands/user.c:228
-#: commands/user.c:236 commands/user.c:244 commands/user.c:537
-#: commands/user.c:549 commands/user.c:557 commands/user.c:565
-#: commands/user.c:573 commands/user.c:581 commands/user.c:589
-#: commands/user.c:597 commands/user.c:606 commands/user.c:614
-#: commands/user.c:622
+#: catalog/aclchk.c:874 catalog/aclchk.c:882 commands/collationcmds.c:92 commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034 commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058 commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082 commands/copy.c:1098 commands/copy.c:1112 commands/copy.c:1131 commands/copy.c:1146 commands/dbcommands.c:155 commands/dbcommands.c:163 commands/dbcommands.c:171
+#: commands/dbcommands.c:179 commands/dbcommands.c:187 commands/dbcommands.c:195 commands/dbcommands.c:203 commands/dbcommands.c:211 commands/dbcommands.c:219 commands/dbcommands.c:1397 commands/dbcommands.c:1405 commands/dbcommands.c:1413 commands/dbcommands.c:1421 commands/extension.c:1218 commands/extension.c:1226 commands/extension.c:1234 commands/extension.c:1242 commands/extension.c:2760 commands/foreigncmds.c:539
+#: commands/foreigncmds.c:548 commands/functioncmds.c:533 commands/functioncmds.c:649 commands/functioncmds.c:657 commands/functioncmds.c:665 commands/functioncmds.c:673 commands/functioncmds.c:2085 commands/functioncmds.c:2093 commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237 commands/sequence.c:1245
+#: commands/typecmds.c:295 commands/typecmds.c:1382 commands/typecmds.c:1391 commands/typecmds.c:1399 commands/typecmds.c:1407 commands/typecmds.c:1415 commands/user.c:139 commands/user.c:156 commands/user.c:164 commands/user.c:172 commands/user.c:180 commands/user.c:188 commands/user.c:196 commands/user.c:204 commands/user.c:212 commands/user.c:220 commands/user.c:228 commands/user.c:236 commands/user.c:244 commands/user.c:537
+#: commands/user.c:549 commands/user.c:557 commands/user.c:565 commands/user.c:573 commands/user.c:581 commands/user.c:589 commands/user.c:597 commands/user.c:606 commands/user.c:614 commands/user.c:622
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "options en conflit ou redondantes"
@@ -3326,24 +3114,13 @@ msgstr "options en conflit ou redondantes"
 msgid "default privileges cannot be set for columns"
 msgstr "les droits par défaut ne peuvent pas être configurés pour les colonnes"
 
-#: catalog/aclchk.c:1494 catalog/objectaddress.c:1390 commands/analyze.c:378
-#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5197
-#: commands/tablecmds.c:5303 commands/tablecmds.c:5363
-#: commands/tablecmds.c:5476 commands/tablecmds.c:5533
-#: commands/tablecmds.c:5627 commands/tablecmds.c:5723
-#: commands/tablecmds.c:7875 commands/tablecmds.c:8080
-#: commands/tablecmds.c:8500 commands/trigger.c:642 parser/analyze.c:2160
-#: parser/parse_relation.c:2542 parser/parse_relation.c:2604
-#: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1870
+#: catalog/aclchk.c:1494 catalog/objectaddress.c:1390 commands/analyze.c:378 commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5197 commands/tablecmds.c:5303 commands/tablecmds.c:5363 commands/tablecmds.c:5476 commands/tablecmds.c:5533 commands/tablecmds.c:5627 commands/tablecmds.c:5723 commands/tablecmds.c:7875 commands/tablecmds.c:8080 commands/tablecmds.c:8500 commands/trigger.c:642 parser/analyze.c:2160
+#: parser/parse_relation.c:2542 parser/parse_relation.c:2604 parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840 utils/adt/ruleutils.c:1870
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "la colonne « %s » de la relation « %s » n'existe pas"
 
-#: catalog/aclchk.c:1763 catalog/objectaddress.c:1203 commands/sequence.c:1078
-#: commands/tablecmds.c:223 commands/tablecmds.c:12007 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
+#: catalog/aclchk.c:1763 catalog/objectaddress.c:1203 commands/sequence.c:1078 commands/tablecmds.c:223 commands/tablecmds.c:12007 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
 msgid "\"%s\" is not a sequence"
 msgstr "« %s » n'est pas une séquence"
@@ -3410,8 +3187,7 @@ msgstr "droit refus
 msgid "permission denied for relation %s"
 msgstr "droit refusé pour la relation %s"
 
-#: catalog/aclchk.c:3304 commands/sequence.c:561 commands/sequence.c:786
-#: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
+#: catalog/aclchk.c:3304 commands/sequence.c:561 commands/sequence.c:786 commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "droit refusé pour la séquence %s"
@@ -3789,8 +3565,7 @@ msgstr "droit refus
 msgid "System catalog modifications are currently disallowed."
 msgstr "Les modifications du catalogue système sont actuellement interdites."
 
-#: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895
-#: commands/tablecmds.c:4819
+#: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895 commands/tablecmds.c:4819
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "les tables peuvent avoir au plus %d colonnes"
@@ -3830,12 +3605,7 @@ msgstr "le type composite %s ne peut pas 
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "aucun collationnement n'a été dérivé pour la colonne « %s » de type collationnable %s"
 
-#: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132
-#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1513
-#: utils/adt/formatting.c:1565 utils/adt/formatting.c:1633
-#: utils/adt/formatting.c:1685 utils/adt/formatting.c:1754
-#: utils/adt/formatting.c:1818 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
-#: utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
+#: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132 commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1513 utils/adt/formatting.c:1565 utils/adt/formatting.c:1633 utils/adt/formatting.c:1685 utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 utils/adt/like.c:213 utils/adt/selfuncs.c:5330 utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnement."
@@ -3845,9 +3615,7 @@ msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnem
 msgid "relation \"%s\" already exists"
 msgstr "la relation « %s » existe déjà"
 
-#: catalog/heap.c:1082 catalog/pg_type.c:412 catalog/pg_type.c:722
-#: commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135
-#: commands/typecmds.c:1357 commands/typecmds.c:2113
+#: catalog/heap.c:1082 catalog/pg_type.c:412 catalog/pg_type.c:722 commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135 commands/typecmds.c:1357 commands/typecmds.c:2113
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "le type « %s » existe déjà"
@@ -3899,9 +3667,7 @@ msgstr "l'expression par d
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "la colonne « %s » est de type %s alors que l'expression par défaut est de type %s"
 
-#: catalog/heap.c:2594 commands/prepare.c:374 parser/parse_node.c:428
-#: parser/parse_target.c:528 parser/parse_target.c:778
-#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1089
+#: catalog/heap.c:2594 commands/prepare.c:374 parser/parse_node.c:428 parser/parse_target.c:528 parser/parse_target.c:778 parser/parse_target.c:788 rewrite/rewriteHandler.c:1089
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Vous devez réécrire l'expression ou lui appliquer une transformation de type."
@@ -3965,8 +3731,7 @@ msgstr ""
 msgid "shared indexes cannot be created after initdb"
 msgstr "les index partagés ne peuvent pas être créés après initdb"
 
-#: catalog/index.c:784 commands/createas.c:100 commands/sequence.c:141
-#: parser/parse_utilcmd.c:192
+#: catalog/index.c:784 commands/createas.c:100 commands/sequence.c:141 parser/parse_utilcmd.c:192
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relation « %s » existe déjà, poursuite du traitement"
@@ -3996,14 +3761,12 @@ msgstr "ne peut pas r
 msgid "index \"%s\" was reindexed"
 msgstr "l'index « %s » a été réindexée"
 
-#: catalog/index.c:3442 commands/vacuumlazy.c:1323 commands/vacuumlazy.c:1399
-#: commands/vacuumlazy.c:1588 commands/vacuumlazy.c:1789
+#: catalog/index.c:3442 commands/vacuumlazy.c:1323 commands/vacuumlazy.c:1399 commands/vacuumlazy.c:1588 commands/vacuumlazy.c:1789
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
-#: commands/trigger.c:4527
+#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 commands/trigger.c:4527
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "les références entre bases de données ne sont pas implémentées : « %s.%s.%s »"
@@ -4028,14 +3791,12 @@ msgstr "n'a pas pu obtenir un verrou sur la relation 
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relation « %s.%s » n'existe pas"
 
-#: catalog/namespace.c:419 parser/parse_relation.c:1150
-#: parser/parse_relation.c:1158 utils/adt/regproc.c:1034
+#: catalog/namespace.c:419 parser/parse_relation.c:1150 parser/parse_relation.c:1158 utils/adt/regproc.c:1034
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relation « %s » n'existe pas"
 
-#: catalog/namespace.c:487 catalog/namespace.c:2841 commands/extension.c:1382
-#: commands/extension.c:1388
+#: catalog/namespace.c:487 catalog/namespace.c:2841 commands/extension.c:1382 commands/extension.c:1388
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "aucun schéma n'a été sélectionné pour cette création"
@@ -4070,8 +3831,7 @@ msgstr "le dictionnaire de recherche plein texte 
 msgid "text search template \"%s\" does not exist"
 msgstr "le modèle de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197
-#: utils/cache/ts_cache.c:613
+#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197 utils/cache/ts_cache.c:613
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "la configuration de recherche plein texte « %s » n'existe pas"
@@ -4081,8 +3841,7 @@ msgstr "la configuration de recherche plein texte 
 msgid "cross-database references are not implemented: %s"
 msgstr "les références entre bases de données ne sont pas implémentées : %s"
 
-#: catalog/namespace.c:2652 gram.y:13434 gram.y:14791 parser/parse_expr.c:796
-#: parser/parse_target.c:1137
+#: catalog/namespace.c:2652 gram.y:13434 gram.y:14791 parser/parse_expr.c:796 parser/parse_target.c:1137
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s"
@@ -4097,8 +3856,7 @@ msgstr "ne peut pas d
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "ne peut pas déplacer les objets dans ou à partir des schémas TOAST"
 
-#: catalog/namespace.c:2862 commands/schemacmds.c:238
-#: commands/schemacmds.c:317 commands/tablecmds.c:740
+#: catalog/namespace.c:2862 commands/schemacmds.c:238 commands/schemacmds.c:317 commands/tablecmds.c:740
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "le schéma « %s » n'existe pas"
@@ -4133,8 +3891,7 @@ msgstr "ne peut pas cr
 msgid "cannot create temporary tables in parallel mode"
 msgstr "ne peut pas créer des tables temporaires dans le mode de parallélisation"
 
-#: catalog/namespace.c:3887 commands/tablespace.c:1173 commands/variable.c:63
-#: utils/misc/guc.c:9853
+#: catalog/namespace.c:3887 commands/tablespace.c:1173 commands/variable.c:63 utils/misc/guc.c:9853
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La syntaxe de la liste est invalide."
@@ -4182,28 +3939,22 @@ msgstr "le nom du serveur ne peut pas 
 msgid "event trigger name cannot be qualified"
 msgstr "le nom du trigger sur événement ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94
-#: commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:217
-#: commands/tablecmds.c:1299 commands/tablecmds.c:4346
-#: commands/tablecmds.c:7977
+#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94 commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:217 commands/tablecmds.c:1299 commands/tablecmds.c:4346 commands/tablecmds.c:7977
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "« %s » n'est pas une table"
 
-#: catalog/objectaddress.c:1217 commands/tablecmds.c:229
-#: commands/tablecmds.c:4376 commands/tablecmds.c:12012 commands/view.c:155
+#: catalog/objectaddress.c:1217 commands/tablecmds.c:229 commands/tablecmds.c:4376 commands/tablecmds.c:12012 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "« %s » n'est pas une vue"
 
-#: catalog/objectaddress.c:1224 commands/matview.c:174
-#: commands/tablecmds.c:235 commands/tablecmds.c:12017
+#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:235 commands/tablecmds.c:12017
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "« %s » n'est pas une vue matérialisée"
 
-#: catalog/objectaddress.c:1231 commands/tablecmds.c:253
-#: commands/tablecmds.c:4379 commands/tablecmds.c:12022
+#: catalog/objectaddress.c:1231 commands/tablecmds.c:253 commands/tablecmds.c:4379 commands/tablecmds.c:12022
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "« %s » n'est pas une table distante"
@@ -4218,10 +3969,7 @@ msgstr "le nom de la colonne doit 
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "la valeur par défaut de la colonne « %s » de la relation « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1512 commands/functioncmds.c:128
-#: commands/tablecmds.c:245 commands/typecmds.c:3214 parser/parse_type.c:226
-#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374
-#: utils/adt/regproc.c:1225
+#: catalog/objectaddress.c:1512 commands/functioncmds.c:128 commands/tablecmds.c:245 commands/typecmds.c:3214 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374 utils/adt/regproc.c:1225
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "le type « %s » n'existe pas"
@@ -4241,9 +3989,7 @@ msgstr "la fonction %d (%s, %s) de %s n'existe pas"
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "la correspondance pour l'utilisateur « %s » sur le serveur « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1722 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
-#: foreign/foreign.c:798
+#: catalog/objectaddress.c:1722 commands/foreigncmds.c:430 commands/foreigncmds.c:997 commands/foreigncmds.c:1359 foreign/foreign.c:798
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "le serveur « %s » n'existe pas"
@@ -4268,8 +4014,7 @@ msgstr "le droit par d
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "le droit par défaut pour l'utilisateur « %s » sur %s n'existe pas"
 
-#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1929
-#: catalog/objectaddress.c:1984
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1929 catalog/objectaddress.c:1984
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "le nom ou les listes d'arguments ne peuvent pas contenir de valeurs NULL"
@@ -4289,8 +4034,7 @@ msgstr "la liste de nom doit 
 msgid "large object OID may not be null"
 msgstr "l'OID du Large Object peut ne pas être NULL"
 
-#: catalog/objectaddress.c:1956 catalog/objectaddress.c:2016
-#: catalog/objectaddress.c:2023
+#: catalog/objectaddress.c:1956 catalog/objectaddress.c:2016 catalog/objectaddress.c:2023
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "la longueur de la liste de nom doit au moins être %d"
@@ -4694,12 +4438,7 @@ msgstr ""
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "l'opérateur de tri peut seulement être indiqué pour des agrégats à un seul argument"
 
-#: catalog/pg_aggregate.c:816 commands/typecmds.c:1705
-#: commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810
-#: commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885
-#: commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364
-#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432
-#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1921
+#: catalog/pg_aggregate.c:816 commands/typecmds.c:1705 commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810 commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885 commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364 parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432 parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1921
 #, c-format
 msgid "function %s does not exist"
 msgstr "la fonction %s n'existe pas"
@@ -4908,8 +4647,7 @@ msgstr "la fonction 
 msgid "cannot change return type of existing function"
 msgstr "ne peut pas modifier le type de retour d'une fonction existante"
 
-#: catalog/pg_proc.c:418 catalog/pg_proc.c:442 catalog/pg_proc.c:485
-#: catalog/pg_proc.c:509 catalog/pg_proc.c:536
+#: catalog/pg_proc.c:418 catalog/pg_proc.c:442 catalog/pg_proc.c:485 catalog/pg_proc.c:509 catalog/pg_proc.c:536
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Utilisez tout d'abord DROP FUNCTION %s."
@@ -5057,8 +4795,7 @@ msgstr "OID de pg_type non configur
 msgid "invalid type internal size %d"
 msgstr "taille interne de type invalide %d"
 
-#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
-#: catalog/pg_type.c:294
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285 catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "l'alignement « %c » est invalide pour le type passé par valeur de taille %d"
@@ -5083,8 +4820,7 @@ msgstr "les types de taille fixe doivent avoir un stockage de base"
 msgid "could not form array type name for type \"%s\""
 msgstr "n'a pas pu former le nom du type array pour le type de données %s"
 
-#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4358
-#: commands/tablecmds.c:11900
+#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4358 commands/tablecmds.c:11900
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "« %s » n'est pas une table ou une vue matérialisée"
@@ -5289,8 +5025,7 @@ msgstr "la m
 msgid "must be superuser to drop access methods"
 msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
 
-#: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495
-#: commands/opclasscmds.c:365 commands/opclasscmds.c:790
+#: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495 commands/opclasscmds.c:365 commands/opclasscmds.c:790
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "la méthode d'accès « %s » n'existe pas"
@@ -5301,9 +5036,7 @@ msgstr "la m
 msgid "handler function is not specified"
 msgstr "aucun corps de fonction spécifié"
 
-#: commands/amcmds.c:263 commands/event_trigger.c:240
-#: commands/foreigncmds.c:489 commands/proclang.c:117 commands/proclang.c:288
-#: commands/trigger.c:441 parser/parse_clause.c:761
+#: commands/amcmds.c:263 commands/event_trigger.c:240 commands/foreigncmds.c:489 commands/proclang.c:117 commands/proclang.c:288 commands/trigger.c:441 parser/parse_clause.c:761
 #, fuzzy, c-format
 #| msgid "function %s should return type %s"
 msgid "function %s must return type %s"
@@ -5528,11 +5261,7 @@ msgstr "le collationnament 
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "le collationnement « %s » existe déjà dans le schéma « %s »"
 
-#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
-#: commands/dbcommands.c:1067 commands/dbcommands.c:1257
-#: commands/dbcommands.c:1477 commands/dbcommands.c:1594
-#: commands/dbcommands.c:2011 utils/init/postinit.c:842
-#: utils/init/postinit.c:944 utils/init/postinit.c:961
+#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962 commands/dbcommands.c:1067 commands/dbcommands.c:1257 commands/dbcommands.c:1477 commands/dbcommands.c:1594 commands/dbcommands.c:2011 utils/init/postinit.c:842 utils/init/postinit.c:944 utils/init/postinit.c:961
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "la base de données « %s » n'existe pas"
@@ -5573,8 +5302,7 @@ msgstr "l'encodage de destination 
 msgid "encoding conversion function %s must return type %s"
 msgstr "la fonction de conversion d'encodage %s doit renvoyer le type « void »"
 
-#: commands/copy.c:362 commands/copy.c:374 commands/copy.c:408
-#: commands/copy.c:420
+#: commands/copy.c:362 commands/copy.c:374 commands/copy.c:408 commands/copy.c:420
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY n'est pas supporté vers stdout ou à partir de stdin"
@@ -5599,8 +5327,7 @@ msgstr "connexion perdue lors de l'op
 msgid "could not read from COPY file: %m"
 msgstr "n'a pas pu lire le fichier COPY : %m"
 
-#: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620
-#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
+#: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620 tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr ""
@@ -5649,8 +5376,7 @@ msgstr "Utilisez des instructions INSERT 
 msgid "COPY format \"%s\" not recognized"
 msgstr "format COPY « %s » non reconnu"
 
-#: commands/copy.c:1090 commands/copy.c:1104 commands/copy.c:1118
-#: commands/copy.c:1138
+#: commands/copy.c:1090 commands/copy.c:1104 commands/copy.c:1118 commands/copy.c:1138
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "l'argument de l'option « %s » doit être une liste de noms de colonnes"
@@ -6094,15 +5820,12 @@ msgstr "taille du champ invalide"
 msgid "incorrect binary data format"
 msgstr "format de données binaires incorrect"
 
-#: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463
-#: commands/tablecmds.c:2290 parser/parse_relation.c:3084
-#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2224
+#: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463 commands/tablecmds.c:2290 parser/parse_relation.c:3084 parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2224
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonne « %s » n'existe pas"
 
-#: commands/copy.c:4435 commands/tablecmds.c:1489 commands/trigger.c:651
-#: parser/parse_target.c:956 parser/parse_target.c:967
+#: commands/copy.c:4435 commands/tablecmds.c:1489 commands/trigger.c:651 parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonne « %s » est spécifiée plus d'une fois"
@@ -6137,8 +5860,7 @@ msgstr "%d n'est pas un code d'encodage valide"
 msgid "%s is not a valid encoding name"
 msgstr "%s n'est pas un nom d'encodage valide"
 
-#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:272
-#: commands/user.c:650
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:272 commands/user.c:650
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "limite de connexion invalide : %d"
@@ -6279,8 +6001,7 @@ msgid_plural "There are %d slots, %d of them active."
 msgstr[0] "Il existe %d slot, et %d actifs."
 msgstr[1] "Il existe %d slots, et %d actifs."
 
-#: commands/dbcommands.c:860 commands/dbcommands.c:1004
-#: commands/dbcommands.c:1135
+#: commands/dbcommands.c:860 commands/dbcommands.c:1004 commands/dbcommands.c:1135
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de données « %s » est en cours d'utilisation par d'autres utilisateurs"
@@ -6314,9 +6035,7 @@ msgstr ""
 "Vous devez d'abord les déplacer dans le tablespace par défaut de la base\n"
 "de données avant d'utiliser cette commande."
 
-#: commands/dbcommands.c:1325 commands/dbcommands.c:1868
-#: commands/dbcommands.c:2072 commands/dbcommands.c:2120
-#: commands/tablespace.c:606
+#: commands/dbcommands.c:1325 commands/dbcommands.c:1868 commands/dbcommands.c:2072 commands/dbcommands.c:2120 commands/tablespace.c:606
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr ""
@@ -6357,14 +6076,12 @@ msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "%d transaction préparée utilise la base de données"
 msgstr[1] "%d transactions préparées utilisent la base de données"
 
-#: commands/define.c:54 commands/define.c:228 commands/define.c:260
-#: commands/define.c:288
+#: 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 requiert un paramètre"
 
-#: commands/define.c:90 commands/define.c:101 commands/define.c:195
-#: commands/define.c:213
+#: 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 requiert une valeur numérique"
@@ -6394,8 +6111,7 @@ msgstr "l'argument de %s doit 
 msgid "invalid argument for %s: \"%s\""
 msgstr "argument invalide pour %s : « %s »"
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1203
-#: utils/adt/ruleutils.c:1965
+#: commands/dropcmds.c:112 commands/functioncmds.c:1203 utils/adt/ruleutils.c:1965
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "« %s » est une fonction d'agrégat"
@@ -6405,9 +6121,7 @@ msgstr "
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat."
 
-#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377
-#: commands/tablecmds.c:2528 commands/tablecmds.c:2570
-#: commands/tablecmds.c:11377 tcop/utility.c:1119
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377 commands/tablecmds.c:2528 commands/tablecmds.c:2570 commands/tablecmds.c:11377 tcop/utility.c:1119
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "la relation « %s » n'existe pas, poursuite du traitement"
@@ -6569,8 +6283,7 @@ msgstr "les triggers sur 
 msgid "filter variable \"%s\" specified more than once"
 msgstr "variable « %s » du filtre spécifiée plus d'une fois"
 
-#: commands/event_trigger.c:512 commands/event_trigger.c:556
-#: commands/event_trigger.c:649
+#: commands/event_trigger.c:512 commands/event_trigger.c:556 commands/event_trigger.c:649
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "le trigger sur événement « %s » n'existe pas"
@@ -6625,8 +6338,7 @@ msgstr "l'option TIMING d'EXPLAIN n
 msgid "extension \"%s\" does not exist"
 msgstr "l'extension « %s » n'existe pas"
 
-#: commands/extension.c:253 commands/extension.c:262 commands/extension.c:274
-#: commands/extension.c:284
+#: commands/extension.c:253 commands/extension.c:262 commands/extension.c:274 commands/extension.c:284
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nom d'extension invalide : « %s »"
@@ -6651,8 +6363,7 @@ msgstr "Les noms des extensions ne doivent pas commencer ou finir avec un tiret
 msgid "Extension names must not contain directory separator characters."
 msgstr "Les noms des extensions ne doivent pas contenir des caractères séparateurs de répertoire."
 
-#: commands/extension.c:300 commands/extension.c:309 commands/extension.c:318
-#: commands/extension.c:328
+#: commands/extension.c:300 commands/extension.c:309 commands/extension.c:318 commands/extension.c:328
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nom de version de l'extension invalide :  « %s »"
@@ -7082,8 +6793,7 @@ msgstr "l'attribut 
 msgid "only one AS item needed for language \"%s\""
 msgstr "seul un élément AS est nécessaire pour le langage « %s »"
 
-#: commands/functioncmds.c:929 commands/functioncmds.c:2119
-#: commands/proclang.c:563
+#: commands/functioncmds.c:929 commands/functioncmds.c:2119 commands/proclang.c:563
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "le langage « %s » n'existe pas"
@@ -7387,8 +7097,7 @@ msgstr ""
 msgid "could not determine which collation to use for index expression"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression d'index"
 
-#: commands/indexcmds.c:1139 commands/typecmds.c:827 parser/parse_expr.c:2583
-#: parser/parse_type.c:550 parser/parse_utilcmd.c:2820 utils/adt/misc.c:666
+#: commands/indexcmds.c:1139 commands/typecmds.c:827 parser/parse_expr.c:2583 parser/parse_type.c:550 parser/parse_utilcmd.c:2820 utils/adt/misc.c:666
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "les collationnements ne sont pas supportés par le type %s"
@@ -7439,8 +7148,7 @@ msgstr ""
 "Vous devez spécifier une classe d'opérateur pour l'index ou définir une\n"
 "classe d'opérateur par défaut pour le type de données."
 
-#: commands/indexcmds.c:1335 commands/indexcmds.c:1343
-#: commands/opclasscmds.c:205
+#: commands/indexcmds.c:1335 commands/indexcmds.c:1343 commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "la classe d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
@@ -7517,14 +7225,12 @@ msgstr "la famille d'op
 msgid "must be superuser to create an operator class"
 msgstr "doit être super-utilisateur pour créer une classe d'opérateur"
 
-#: commands/opclasscmds.c:478 commands/opclasscmds.c:863
-#: commands/opclasscmds.c:996
+#: commands/opclasscmds.c:478 commands/opclasscmds.c:863 commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "numéro d'opérateur %d invalide, doit être compris entre 1 et %d"
 
-#: commands/opclasscmds.c:529 commands/opclasscmds.c:914
-#: commands/opclasscmds.c:1011
+#: commands/opclasscmds.c:529 commands/opclasscmds.c:914 commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "numéro de procédure %d invalide, doit être compris entre 1 et %d"
@@ -7721,13 +7427,7 @@ msgstr ""
 msgid "operator attribute \"%s\" can not be changed"
 msgstr "l'attribut « %s » de l'opérateur n'est pas reconnu"
 
-#: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479
-#: commands/tablecmds.c:970 commands/tablecmds.c:1312
-#: commands/tablecmds.c:2184 commands/tablecmds.c:4328
-#: commands/tablecmds.c:6279 commands/tablecmds.c:11933
-#: commands/tablecmds.c:11968 commands/trigger.c:241 commands/trigger.c:1125
-#: commands/trigger.c:1233 rewrite/rewriteDefine.c:273
-#: rewrite/rewriteDefine.c:917
+#: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479 commands/tablecmds.c:970 commands/tablecmds.c:1312 commands/tablecmds.c:2184 commands/tablecmds.c:4328 commands/tablecmds.c:6279 commands/tablecmds.c:11933 commands/tablecmds.c:11968 commands/trigger.c:241 commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273 rewrite/rewriteDefine.c:917
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "droit refusé : « %s » est un catalogue système"
@@ -7772,14 +7472,12 @@ msgstr "la politique 
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "seule une expression USING est autorisée pour SELECT, DELETE"
 
-#: commands/portalcmds.c:61 commands/portalcmds.c:160
-#: commands/portalcmds.c:212
+#: commands/portalcmds.c:61 commands/portalcmds.c:160 commands/portalcmds.c:212
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "nom de curseur invalide : il ne doit pas être vide"
 
-#: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2391 utils/adt/xml.c:2558
+#: commands/portalcmds.c:168 commands/portalcmds.c:222 executor/execCurrent.c:67 utils/adt/xml.c:2391 utils/adt/xml.c:2558
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "le curseur « %s » n'existe pas"
@@ -8066,8 +7764,7 @@ msgstr "
 msgid "Use DROP TYPE to remove a type."
 msgstr "Utilisez DROP TYPE pour supprimer un type."
 
-#: commands/tablecmds.c:251 commands/tablecmds.c:8486
-#: commands/tablecmds.c:11194
+#: commands/tablecmds.c:251 commands/tablecmds.c:8486 commands/tablecmds.c:11194
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "la table distante « %s » n'existe pas"
@@ -8143,11 +7840,7 @@ msgstr "assemblage de plusieurs d
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "la colonne héritée « %s » a un conflit de type"
 
-#: commands/tablecmds.c:1617 commands/tablecmds.c:1640
-#: commands/tablecmds.c:1838 commands/tablecmds.c:1862
-#: parser/parse_coerce.c:1630 parser/parse_coerce.c:1650
-#: parser/parse_coerce.c:1670 parser/parse_coerce.c:1715
-#: parser/parse_coerce.c:1752 parser/parse_param.c:218
+#: commands/tablecmds.c:1617 commands/tablecmds.c:1640 commands/tablecmds.c:1838 commands/tablecmds.c:1862 parser/parse_coerce.c:1630 parser/parse_coerce.c:1650 parser/parse_coerce.c:1670 parser/parse_coerce.c:1715 parser/parse_coerce.c:1752 parser/parse_param.c:218
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
@@ -8157,8 +7850,7 @@ msgstr "%s versus %s"
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "la colonne héritée « %s » a un conflit sur le collationnement"
 
-#: commands/tablecmds.c:1628 commands/tablecmds.c:1850
-#: commands/tablecmds.c:4766
+#: commands/tablecmds.c:1628 commands/tablecmds.c:1850 commands/tablecmds.c:4766
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "« %s » versus « %s »"
@@ -8168,8 +7860,7 @@ msgstr "
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "la colonne héritée « %s » a un conflit de paramètre de stockage"
 
-#: commands/tablecmds.c:1751 parser/parse_utilcmd.c:938
-#: parser/parse_utilcmd.c:1287 parser/parse_utilcmd.c:1363
+#: commands/tablecmds.c:1751 parser/parse_utilcmd.c:938 parser/parse_utilcmd.c:1287 parser/parse_utilcmd.c:1363
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "ne peut pas convertir une référence de ligne complète de table"
@@ -8310,8 +8001,7 @@ msgstr "la colonne 
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la contrainte de vérification « %s » est rompue par une ligne"
 
-#: commands/tablecmds.c:4349 commands/trigger.c:235
-#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912
+#: commands/tablecmds.c:4349 commands/trigger.c:235 rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "« %s » n'est pas une table ou une vue"
@@ -8431,10 +8121,7 @@ msgstr "la colonne 
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonne « %s » de la relation « %s » existe déjà"
 
-#: commands/tablecmds.c:5206 commands/tablecmds.c:5312
-#: commands/tablecmds.c:5370 commands/tablecmds.c:5484
-#: commands/tablecmds.c:5541 commands/tablecmds.c:5635
-#: commands/tablecmds.c:7884 commands/tablecmds.c:8509
+#: commands/tablecmds.c:5206 commands/tablecmds.c:5312 commands/tablecmds.c:5370 commands/tablecmds.c:5484 commands/tablecmds.c:5541 commands/tablecmds.c:5635 commands/tablecmds.c:7884 commands/tablecmds.c:8509
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "n'a pas pu modifier la colonne système « %s »"
@@ -8538,8 +8225,7 @@ msgstr "la contrainte de cl
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Les colonnes clés « %s » et « %s » sont de types incompatibles : %s et %s."
 
-#: commands/tablecmds.c:6691 commands/tablecmds.c:6841
-#: commands/tablecmds.c:7723 commands/tablecmds.c:7779
+#: commands/tablecmds.c:6691 commands/tablecmds.c:6841 commands/tablecmds.c:7723 commands/tablecmds.c:7779
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "la contrainte « %s » de la relation « %s » n'existe pas"
@@ -8666,8 +8352,7 @@ msgstr ""
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle"
 
-#: commands/tablecmds.c:8253 commands/tablecmds.c:8272
-#: commands/tablecmds.c:8290
+#: commands/tablecmds.c:8253 commands/tablecmds.c:8272 commands/tablecmds.c:8290
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dépend de la colonne « %s »"
@@ -8918,9 +8603,7 @@ msgstr "
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, une séquence ou une table distante"
 
-#: commands/tablespace.c:162 commands/tablespace.c:179
-#: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:625 replication/slot.c:969 storage/file/copydir.c:47
+#: commands/tablespace.c:162 commands/tablespace.c:179 commands/tablespace.c:190 commands/tablespace.c:198 commands/tablespace.c:625 replication/slot.c:969 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "n'a pas pu créer le répertoire « %s » : %m"
@@ -8980,9 +8663,7 @@ msgstr "Le pr
 msgid "tablespace \"%s\" already exists"
 msgstr "le tablespace « %s » existe déjà"
 
-#: commands/tablespace.c:430 commands/tablespace.c:935
-#: commands/tablespace.c:1016 commands/tablespace.c:1085
-#: commands/tablespace.c:1218 commands/tablespace.c:1418
+#: commands/tablespace.c:430 commands/tablespace.c:935 commands/tablespace.c:1016 commands/tablespace.c:1085 commands/tablespace.c:1218 commands/tablespace.c:1418
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "le tablespace « %s » n'existe pas"
@@ -9017,8 +8698,7 @@ msgstr "n'a pas pu configurer les droits du r
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "répertoire « %s » déjà en cours d'utilisation"
 
-#: commands/tablespace.c:744 commands/tablespace.c:757
-#: commands/tablespace.c:793 commands/tablespace.c:885
+#: commands/tablespace.c:744 commands/tablespace.c:757 commands/tablespace.c:793 commands/tablespace.c:885
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "n'a pas pu supprimer le répertoire « %s » : %m"
@@ -9184,28 +8864,22 @@ msgstr "droit refus
 msgid "trigger function %u returned null value"
 msgstr "la fonction trigger %u a renvoyé la valeur NULL"
 
-#: commands/trigger.c:1989 commands/trigger.c:2188 commands/trigger.c:2392
-#: commands/trigger.c:2664
+#: commands/trigger.c:1989 commands/trigger.c:2188 commands/trigger.c:2392 commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "le trigger BEFORE STATEMENT ne peut pas renvoyer une valeur"
 
-#: commands/trigger.c:2726 executor/nodeModifyTable.c:664
-#: executor/nodeModifyTable.c:957
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:664 executor/nodeModifyTable.c:957
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "la ligne à mettre à jour était déjà modifiée par une opération déclenchée par la commande courante"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:665
-#: executor/nodeModifyTable.c:958
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:665 executor/nodeModifyTable.c:958
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considérez l'utilisation d'un trigger AFTER au lieu d'un trigger BEFORE pour propager les changements sur les autres lignes."
 
-#: commands/trigger.c:2741 executor/execMain.c:2369
-#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:200
-#: executor/nodeModifyTable.c:677 executor/nodeModifyTable.c:970
-#: executor/nodeModifyTable.c:1136
+#: commands/trigger.c:2741 executor/execMain.c:2369 executor/nodeLockRows.c:216 executor/nodeModifyTable.c:200 executor/nodeModifyTable.c:677 executor/nodeModifyTable.c:970 executor/nodeModifyTable.c:1136
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour en parallèle"
@@ -9651,8 +9325,7 @@ msgstr "doit 
 msgid "permission denied to create role"
 msgstr "droit refusé pour créer un rôle"
 
-#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13599
-#: gram.y:13634
+#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13599 gram.y:13634
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "le nom du rôle « %s » est réservé"
@@ -9674,8 +9347,7 @@ msgstr "le r
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "doit être super-utilisateur pour se connecter en mode de mise à jour binaire"
 
-#: commands/user.c:679 commands/user.c:896 commands/user.c:1432
-#: commands/user.c:1578
+#: commands/user.c:679 commands/user.c:896 commands/user.c:1432 commands/user.c:1578
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "doit être super-utilisateur pour modifier des super-utilisateurs"
@@ -9705,9 +9377,7 @@ msgstr "droit refus
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "ne peut pas être le spécificateur de rôle spécial dans DROP ROLE"
 
-#: commands/user.c:990 commands/user.c:1147 commands/variable.c:801
-#: commands/variable.c:873 utils/adt/acl.c:5121 utils/adt/acl.c:5173
-#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
+#: commands/user.c:990 commands/user.c:1147 commands/variable.c:801 commands/variable.c:873 utils/adt/acl.c:5121 utils/adt/acl.c:5173 utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "le rôle « %s » n'existe pas"
@@ -10332,8 +10002,7 @@ msgstr "ne peut pas verrouiller les lignes dans la vue 
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la vue matérialisée « %s »"
 
-#: executor/execMain.c:1192 executor/execMain.c:2603
-#: executor/nodeLockRows.c:132
+#: executor/execMain.c:1192 executor/execMain.c:2603 executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "ne peut pas verrouiller la table distante « %s »"
@@ -10383,11 +10052,7 @@ msgstr "la nouvelle ligne viole la politique de s
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "la nouvelle ligne viole la politique de sécurité au niveau ligne (expression USING) pour la table « %s »"
 
-#: executor/execQual.c:302 executor/execQual.c:339 executor/execQual.c:3213
-#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:260
-#: utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288
-#: utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5245
-#: utils/adt/arrayfuncs.c:5768
+#: executor/execQual.c:302 executor/execQual.c:339 executor/execQual.c:3213 utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:260 utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288 utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5245 utils/adt/arrayfuncs.c:5768
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)"
@@ -10407,9 +10072,7 @@ msgstr "l'attribut %d a un type invalide"
 msgid "Table has type %s, but query expects %s."
 msgstr "La table a le type %s alors que la requête attend %s."
 
-#: executor/execQual.c:851 executor/execQual.c:868 executor/execQual.c:1068
-#: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
-#: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
+#: executor/execQual.c:851 executor/execQual.c:868 executor/execQual.c:1068 executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105 executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "Le type de ligne de la table et celui spécifié par la requête ne correspondent pas"
@@ -10433,8 +10096,7 @@ msgstr ""
 "Le stockage physique ne correspond pas à l'attribut supprimé à la position\n"
 "ordinale %d."
 
-#: executor/execQual.c:1344 parser/parse_func.c:115 parser/parse_func.c:542
-#: parser/parse_func.c:895
+#: executor/execQual.c:1344 parser/parse_func.c:115 parser/parse_func.c:542 parser/parse_func.c:895
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
@@ -10556,8 +10218,7 @@ msgstr "le type cible n'est pas un tableau"
 msgid "ROW() column has type %s instead of type %s"
 msgstr "une colonne ROW() a le type %s au lieu du type %s"
 
-#: executor/execQual.c:5059 utils/adt/arrayfuncs.c:3803
-#: utils/adt/arrayfuncs.c:6341 utils/adt/rowtypes.c:927
+#: executor/execQual.c:5059 utils/adt/arrayfuncs.c:3803 utils/adt/arrayfuncs.c:6341 utils/adt/rowtypes.c:927
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s"
@@ -10606,9 +10267,7 @@ msgstr "fonction SQL 
 msgid "SQL function \"%s\" during startup"
 msgstr "fonction SQL « %s » lors du lancement"
 
-#: executor/functions.c:1593 executor/functions.c:1630
-#: executor/functions.c:1642 executor/functions.c:1755
-#: executor/functions.c:1788 executor/functions.c:1818
+#: executor/functions.c:1593 executor/functions.c:1630 executor/functions.c:1642 executor/functions.c:1755 executor/functions.c:1788 executor/functions.c:1818
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "le type de retour ne correspond pas à la fonction déclarant renvoyer %s"
@@ -10750,8 +10409,7 @@ msgstr "le param
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "le paramètre TABLESAMPLE REPEATABLE ne peut pas être NULL"
 
-#: executor/nodeSubplan.c:345 executor/nodeSubplan.c:384
-#: executor/nodeSubplan.c:1040
+#: executor/nodeSubplan.c:345 executor/nodeSubplan.c:384 executor/nodeSubplan.c:1040
 #, c-format
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "plus d'une ligne renvoyée par une sous-requête utilisée comme une expression"
@@ -10867,13 +10525,7 @@ msgstr "STDIN/STDOUT non autoris
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "GLOBAL est obsolète dans la création de la table temporaire"
 
-#: gram.y:3345 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373
-#: utils/adt/ri_triggers.c:792 utils/adt/ri_triggers.c:1015
-#: utils/adt/ri_triggers.c:1171 utils/adt/ri_triggers.c:1352
-#: utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693
-#: utils/adt/ri_triggers.c:1873 utils/adt/ri_triggers.c:2064
-#: utils/adt/ri_triggers.c:2122 utils/adt/ri_triggers.c:2227
-#: utils/adt/ri_triggers.c:2404
+#: gram.y:3345 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373 utils/adt/ri_triggers.c:792 utils/adt/ri_triggers.c:1015 utils/adt/ri_triggers.c:1171 utils/adt/ri_triggers.c:1352 utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693 utils/adt/ri_triggers.c:1873 utils/adt/ri_triggers.c:2064 utils/adt/ri_triggers.c:2122 utils/adt/ri_triggers.c:2227 utils/adt/ri_triggers.c:2404
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL non implémenté"
@@ -11061,8 +10713,7 @@ msgstr "%s ne peut pas 
 msgid "improper use of \"*\""
 msgstr "mauvaise utilisation de « * »"
 
-#: gram.y:14385 gram.y:14402 tsearch/spell.c:954 tsearch/spell.c:971
-#: tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
+#: gram.y:14385 gram.y:14402 tsearch/spell.c:954 tsearch/spell.c:971 tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
 #, c-format
 msgid "syntax error"
 msgstr "erreur de syntaxe"
@@ -11125,9 +10776,7 @@ msgstr "les contraintes %s ne peuvent pas 
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "paramètre de configuration « %s » non reconnu dans le fichier « %s », ligne %u"
 
-#: guc-file.l:352 utils/misc/guc.c:5893 utils/misc/guc.c:6085
-#: utils/misc/guc.c:6175 utils/misc/guc.c:6265 utils/misc/guc.c:6373
-#: utils/misc/guc.c:6468
+#: guc-file.l:352 utils/misc/guc.c:5893 utils/misc/guc.c:6085 utils/misc/guc.c:6175 utils/misc/guc.c:6265 utils/misc/guc.c:6373 utils/misc/guc.c:6468
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "le paramètre « %s » ne peut pas être modifié sans redémarrer le serveur"
@@ -11735,15 +11384,12 @@ msgstr "la r
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "la réponse RADIUS a un code invalide (%d) pour l'utilisateur « %s »"
 
-#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
-#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
-#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
+#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199 libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312 libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "descripteur invalide de « Large Object » : %d"
 
-#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
-#: libpq/be-fsstubs.c:790
+#: 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 "droit refusé pour le Large Object %u"
@@ -11906,8 +11552,7 @@ msgstr "n'a pas pu accepter la connexion SSL : fin de fichier d
 msgid "could not accept SSL connection: %s"
 msgstr "n'a pas pu accepter la connexion SSL : %s"
 
-#: libpq/be-secure-openssl.c:447 libpq/be-secure-openssl.c:588
-#: libpq/be-secure-openssl.c:648
+#: libpq/be-secure-openssl.c:447 libpq/be-secure-openssl.c:588 libpq/be-secure-openssl.c:648
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "code d'erreur SSL inconnu : %d"
@@ -11997,16 +11642,8 @@ msgstr ""
 msgid "authentication file line too long"
 msgstr "ligne du fichier d'authentification trop longue"
 
-#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803
-#: libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893
-#: libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966
-#: libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062
-#: libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119
-#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1219
-#: libpq/hba.c:1230 libpq/hba.c:1250 libpq/hba.c:1261 libpq/hba.c:1278
-#: libpq/hba.c:1327 libpq/hba.c:1364 libpq/hba.c:1374 libpq/hba.c:1430
-#: libpq/hba.c:1442 libpq/hba.c:1455 libpq/hba.c:1547 libpq/hba.c:1636
-#: libpq/hba.c:1654 libpq/hba.c:1675 tsearch/ts_locale.c:182
+#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803 libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893 libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966 libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062 libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119 libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1219 libpq/hba.c:1230 libpq/hba.c:1250
+#: libpq/hba.c:1261 libpq/hba.c:1278 libpq/hba.c:1327 libpq/hba.c:1364 libpq/hba.c:1374 libpq/hba.c:1430 libpq/hba.c:1442 libpq/hba.c:1455 libpq/hba.c:1547 libpq/hba.c:1636 libpq/hba.c:1654 libpq/hba.c:1675 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "ligne %d du fichier de configuration « %s »"
@@ -12449,8 +12086,7 @@ msgstr "n'a pas pu envoyer les donn
 msgid "no data left in message"
 msgstr "pas de données dans le message"
 
-#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
+#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595 utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
 #, c-format
 msgid "insufficient data left in message"
 msgstr "données insuffisantes laissées dans le message"
@@ -12782,9 +12418,7 @@ msgstr "l'extension 
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "l'extension « %s » n'existe pas"
 
-#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1820
-#: parser/parse_coerce.c:1848 parser/parse_coerce.c:1924
-#: parser/parse_expr.c:1994 parser/parse_func.c:597 parser/parse_oper.c:952
+#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1820 parser/parse_coerce.c:1848 parser/parse_coerce.c:1924 parser/parse_expr.c:1994 parser/parse_func.c:597 parser/parse_oper.c:952
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "n'a pas pu trouver le type array pour le type de données %s"
@@ -12818,8 +12452,7 @@ msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s ne peut être appliqué sur le côté possiblement NULL d'une jointure externe"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1473 parser/analyze.c:1481 parser/analyze.c:1679
-#: parser/analyze.c:2460
+#: optimizer/plan/planner.c:1473 parser/analyze.c:1481 parser/analyze.c:1679 parser/analyze.c:2460
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s n'est pas autorisé avec UNION/INTERSECT/EXCEPT"
@@ -12829,8 +12462,7 @@ msgstr "%s n'est pas autoris
 msgid "could not implement GROUP BY"
 msgstr "n'a pas pu implanté GROUP BY"
 
-#: optimizer/plan/planner.c:3753 optimizer/plan/planner.c:4095
-#: optimizer/prep/prepunion.c:927
+#: optimizer/plan/planner.c:3753 optimizer/plan/planner.c:4095 optimizer/prep/prepunion.c:927
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr ""
@@ -13569,9 +13201,7 @@ msgstr ""
 "Les opérateurs de tri doivent être les membres « < » ou « > » des familles\n"
 "d'opérateurs btree."
 
-#: parser/parse_coerce.c:971 parser/parse_coerce.c:1001
-#: parser/parse_coerce.c:1019 parser/parse_coerce.c:1034
-#: parser/parse_expr.c:2028 parser/parse_expr.c:2552 parser/parse_target.c:874
+#: parser/parse_coerce.c:971 parser/parse_coerce.c:1001 parser/parse_coerce.c:1019 parser/parse_coerce.c:1034 parser/parse_expr.c:2028 parser/parse_expr.c:2552 parser/parse_target.c:874
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "ne peut pas convertir le type %s en %s"
@@ -13637,8 +13267,7 @@ msgstr "les arguments d
 msgid "arguments declared \"anyrange\" are not all alike"
 msgstr "les arguments déclarés « anyrange » ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1698 parser/parse_coerce.c:1909
-#: parser/parse_coerce.c:1943
+#: parser/parse_coerce.c:1698 parser/parse_coerce.c:1909 parser/parse_coerce.c:1943
 #, c-format
 msgid "argument declared \"anyarray\" is not an array but type %s"
 msgstr "l'argument déclaré « anyarray » n'est pas un tableau mais est du type %s"
@@ -13684,14 +13313,12 @@ msgstr "le type d
 msgid "could not find range type for data type %s"
 msgstr "n'a pas pu trouver le type range pour le type de données %s"
 
-#: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:986
+#: parser/parse_collate.c:228 parser/parse_collate.c:475 parser/parse_collate.c:986
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "le collationnement ne correspond pas aux collationnements implicites « %s » et « %s »"
 
-#: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:989
+#: parser/parse_collate.c:231 parser/parse_collate.c:478 parser/parse_collate.c:989
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Vous pouvez choisir le collationnement en appliquant la clause COLLATE à une ou aux deux expressions."
@@ -13817,8 +13444,7 @@ msgstr "FOR UPDATE/SHARE dans une requ
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "la référence récursive à la requête « %s » ne doit pas apparaître plus d'une fois"
 
-#: parser/parse_expr.c:387 parser/parse_relation.c:3083
-#: parser/parse_relation.c:3103
+#: parser/parse_expr.c:387 parser/parse_relation.c:3083 parser/parse_relation.c:3103
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "la colonne %s.%s n'existe pas"
@@ -13843,14 +13469,12 @@ msgstr "notation d'attribut .%s appliqu
 msgid "row expansion via \"*\" is not supported here"
 msgstr "l'expansion de ligne via « * » n'est pas supporté ici"
 
-#: parser/parse_expr.c:767 parser/parse_relation.c:667
-#: parser/parse_relation.c:767 parser/parse_target.c:1109
+#: parser/parse_expr.c:767 parser/parse_relation.c:667 parser/parse_relation.c:767 parser/parse_target.c:1109
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la référence à la colonne « %s » est ambigu"
 
-#: parser/parse_expr.c:823 parser/parse_param.c:110 parser/parse_param.c:142
-#: parser/parse_param.c:199 parser/parse_param.c:298
+#: parser/parse_expr.c:823 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 "Il n'existe pas de paramètres $%d"
@@ -14169,8 +13793,7 @@ msgstr "l'indice d'un tableau doit 
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "l'affectation de tableaux requiert le type %s mais l'expression est de type %s"
 
-#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583
-#: utils/adt/regproc.c:603 utils/adt/regproc.c:787
+#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583 utils/adt/regproc.c:603 utils/adt/regproc.c:787
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "l'opérateur n'existe pas : %s"
@@ -14180,10 +13803,7 @@ msgstr "l'op
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Utilisez un opérateur explicite de tri ou modifiez la requête."
 
-#: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782
-#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3639
-#: utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6055
-#: utils/adt/rowtypes.c:1167
+#: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782 utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3639 utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6055 utils/adt/rowtypes.c:1167
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "n'a pas pu identifier un opérateur d'égalité pour le type %s"
@@ -14274,8 +13894,7 @@ msgstr "Le type JOIN combin
 msgid "system column \"%s\" reference in check constraint is invalid"
 msgstr "la référence de la colonne système « %s » dans la contrainte CHECK est invalide"
 
-#: parser/parse_relation.c:1065 parser/parse_relation.c:1345
-#: parser/parse_relation.c:1847
+#: parser/parse_relation.c:1065 parser/parse_relation.c:1345 parser/parse_relation.c:1847
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "la table « %s » a %d colonnes disponibles mais %d colonnes spécifiées"
@@ -14523,8 +14142,7 @@ msgstr "l'index 
 msgid "\"%s\" is not a unique index"
 msgstr "« %s » n'est pas un index unique"
 
-#: parser/parse_utilcmd.c:1676 parser/parse_utilcmd.c:1683
-#: parser/parse_utilcmd.c:1690 parser/parse_utilcmd.c:1760
+#: parser/parse_utilcmd.c:1676 parser/parse_utilcmd.c:1683 parser/parse_utilcmd.c:1690 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "Ne peut pas créer une clé primaire ou une contrainte unique avec cet index."
@@ -14593,8 +14211,7 @@ msgstr ""
 "les règles avec des conditions WHERE ne peuvent contenir que des actions\n"
 "SELECT, INSERT, UPDATE ou DELETE "
 
-#: parser/parse_utilcmd.c:2324 parser/parse_utilcmd.c:2423
-#: rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015
+#: parser/parse_utilcmd.c:2324 parser/parse_utilcmd.c:2423 rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr ""
@@ -15044,8 +14661,7 @@ msgstr "l'archivage du journal de transactions 
 msgid "archive command failed with exit code %d"
 msgstr "échec de la commande d'archivage avec un code de retour %d"
 
-#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606
-#: postmaster/pgarch.c:612 postmaster/pgarch.c:621
+#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606 postmaster/pgarch.c:612 postmaster/pgarch.c:621
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La commande d'archivage qui a échoué était : %s"
@@ -15213,12 +14829,7 @@ msgstr ""
 msgid "could not open statistics file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:4242 postmaster/pgstat.c:4252 postmaster/pgstat.c:4262
-#: postmaster/pgstat.c:4283 postmaster/pgstat.c:4298 postmaster/pgstat.c:4354
-#: postmaster/pgstat.c:4425 postmaster/pgstat.c:4445 postmaster/pgstat.c:4463
-#: postmaster/pgstat.c:4479 postmaster/pgstat.c:4497 postmaster/pgstat.c:4513
-#: postmaster/pgstat.c:4580 postmaster/pgstat.c:4592 postmaster/pgstat.c:4604
-#: postmaster/pgstat.c:4629 postmaster/pgstat.c:4651
+#: postmaster/pgstat.c:4242 postmaster/pgstat.c:4252 postmaster/pgstat.c:4262 postmaster/pgstat.c:4283 postmaster/pgstat.c:4298 postmaster/pgstat.c:4354 postmaster/pgstat.c:4425 postmaster/pgstat.c:4445 postmaster/pgstat.c:4463 postmaster/pgstat.c:4479 postmaster/pgstat.c:4497 postmaster/pgstat.c:4513 postmaster/pgstat.c:4580 postmaster/pgstat.c:4592 postmaster/pgstat.c:4604 postmaster/pgstat.c:4629 postmaster/pgstat.c:4651
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "fichier de statistiques « %s » corrompu"
@@ -15280,8 +14891,7 @@ msgstr ""
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s : tables datetoken invalide, merci de corriger\n"
 
-#: postmaster/postmaster.c:961 postmaster/postmaster.c:1059
-#: utils/init/miscinit.c:1429
+#: postmaster/postmaster.c:961 postmaster/postmaster.c:1059 utils/init/miscinit.c:1429
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "syntaxe de liste invalide pour le paramètre « %s »"
@@ -15443,8 +15053,7 @@ msgstr ""
 "Protocole non supportée de l'interface %u.%u : le serveur supporte de %u.0 à\n"
 "%u.%u"
 
-#: postmaster/postmaster.c:2056 utils/misc/guc.c:5657 utils/misc/guc.c:5750
-#: utils/misc/guc.c:7047 utils/misc/guc.c:9783 utils/misc/guc.c:9817
+#: postmaster/postmaster.c:2056 utils/misc/guc.c:5657 utils/misc/guc.c:5750 utils/misc/guc.c:7047 utils/misc/guc.c:9783 utils/misc/guc.c:9817
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valeur invalide pour le paramètre « %s » : « %s »"
@@ -15481,8 +15090,7 @@ msgstr "le syst
 msgid "the database system is in recovery mode"
 msgstr "le système de bases de données est en cours de restauration"
 
-#: postmaster/postmaster.c:2181 storage/ipc/procarray.c:297
-#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340
+#: postmaster/postmaster.c:2181 storage/ipc/procarray.c:297 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "désolé, trop de clients sont déjà connectés"
@@ -15587,8 +15195,7 @@ msgstr "processus des journaux applicatifs"
 msgid "worker process"
 msgstr "processus de travail"
 
-#: postmaster/postmaster.c:3111 postmaster/postmaster.c:3131
-#: postmaster/postmaster.c:3138 postmaster/postmaster.c:3156
+#: postmaster/postmaster.c:3111 postmaster/postmaster.c:3131 postmaster/postmaster.c:3138 postmaster/postmaster.c:3156
 msgid "server process"
 msgstr "processus serveur"
 
@@ -15604,9 +15211,7 @@ msgstr "arr
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) quitte avec le code de sortie %d"
 
-#: postmaster/postmaster.c:3468 postmaster/postmaster.c:3479
-#: postmaster/postmaster.c:3490 postmaster/postmaster.c:3499
-#: postmaster/postmaster.c:3509
+#: postmaster/postmaster.c:3468 postmaster/postmaster.c:3479 postmaster/postmaster.c:3490 postmaster/postmaster.c:3499 postmaster/postmaster.c:3509
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Le processus qui a échoué exécutait : %s"
@@ -15878,8 +15483,7 @@ msgstr "n'a pas pu r
 msgid "could not find any WAL files"
 msgstr "n'a pas pu trouver un seul fichier WAL"
 
-#: replication/basebackup.c:352 replication/basebackup.c:366
-#: replication/basebackup.c:375
+#: replication/basebackup.c:352 replication/basebackup.c:366 replication/basebackup.c:375
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "n'a pas pu trouver le fichier WAL « %s »"
@@ -15894,10 +15498,7 @@ msgstr "taille du fichier WAL 
 msgid "base backup could not send data, aborting backup"
 msgstr "la sauvegarde de base n'a pas pu envoyer les données, annulation de la sauvegarde"
 
-#: replication/basebackup.c:528 replication/basebackup.c:537
-#: replication/basebackup.c:546 replication/basebackup.c:555
-#: replication/basebackup.c:564 replication/basebackup.c:575
-#: replication/basebackup.c:592
+#: replication/basebackup.c:528 replication/basebackup.c:537 replication/basebackup.c:546 replication/basebackup.c:555 replication/basebackup.c:564 replication/basebackup.c:575 replication/basebackup.c:592
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "option « %s » dupliquée"
@@ -15941,8 +15542,7 @@ msgstr ""
 "n'a pas pu recevoir l'identifiant du système de bases de données et\n"
 "l'identifiant de la timeline à partir du serveur principal : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:151
-#: replication/libpqwalreceiver/libpqwalreceiver.c:305
+#: replication/libpqwalreceiver/libpqwalreceiver.c:151 replication/libpqwalreceiver/libpqwalreceiver.c:305
 #, c-format
 msgid "invalid response from primary server"
 msgstr "réponse invalide du serveur principal"
@@ -16004,20 +15604,16 @@ msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Attendait 1 ligne avec 2 champs, a obtenu %d lignes avec %d champs."
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:334
-#, fuzzy, c-format
-#| msgid "%s: invalid socket: %s"
+#, c-format
 msgid "invalid socket: %s"
-msgstr "%s : socket invalide : %s"
+msgstr "socket invalide : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:374
-#: storage/ipc/latch.c:1271
+#: replication/libpqwalreceiver/libpqwalreceiver.c:374 storage/ipc/latch.c:1271
 #, c-format
 msgid "select() failed: %m"
 msgstr "échec de select() : %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:497
-#: replication/libpqwalreceiver/libpqwalreceiver.c:524
-#: replication/libpqwalreceiver/libpqwalreceiver.c:530
+#: replication/libpqwalreceiver/libpqwalreceiver.c:497 replication/libpqwalreceiver/libpqwalreceiver.c:524 replication/libpqwalreceiver/libpqwalreceiver.c:530
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "n'a pas pu recevoir des données du flux de WAL : %s"
@@ -16104,8 +15700,7 @@ msgstr "le tableau doit avoir une dimension"
 msgid "array must not contain nulls"
 msgstr "le tableau ne doit pas contenir de valeurs NULL"
 
-#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277
-#: utils/adt/jsonb.c:1356
+#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277 utils/adt/jsonb.c:1356
 #, c-format
 msgid "array must have even number of elements"
 msgstr "le tableau doit avoir un nombre pair d'éléments"
@@ -16175,8 +15770,7 @@ msgstr "le slot de r
 msgid "could not find free replication state slot for replication origin with OID %u"
 msgstr "n'a pas pu obtenir un verrou sur la relation d'OID « %u »"
 
-#: replication/logical/origin.c:867 replication/logical/origin.c:1047
-#: replication/slot.c:1288
+#: replication/logical/origin.c:867 replication/logical/origin.c:1047 replication/slot.c:1288
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Augmentez max_replication_slots et recommencez."
@@ -16191,8 +15785,7 @@ msgstr "ne peut pas configurer l'origine de r
 msgid "replication identifier %d is already active for PID %d"
 msgstr "l'identificateur de réplication %d est déjà actif pour le PID %d"
 
-#: replication/logical/origin.c:1079 replication/logical/origin.c:1274
-#: replication/logical/origin.c:1294
+#: replication/logical/origin.c:1079 replication/logical/origin.c:1274 replication/logical/origin.c:1294
 #, c-format
 msgid "no replication origin is configured"
 msgstr "aucune origine de réplication n'est configurée"
@@ -16202,14 +15795,12 @@ msgstr "aucune origine de r
 msgid "could not write to data file for XID %u: %m"
 msgstr "n'a pas pu écrire dans le fichier pour le XID %u : %m"
 
-#: replication/logical/reorderbuffer.c:2418
-#: replication/logical/reorderbuffer.c:2438
+#: replication/logical/reorderbuffer.c:2418 replication/logical/reorderbuffer.c:2438
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "n'a pas pu lire le fichier « reorderbuffer spill » : %m"
 
-#: replication/logical/reorderbuffer.c:2422
-#: replication/logical/reorderbuffer.c:2442
+#: replication/logical/reorderbuffer.c:2422 replication/logical/reorderbuffer.c:2442
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr ""
@@ -16228,8 +15819,7 @@ msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs
 msgstr[0] "snapshot exporté pour le décodage logique : « %s » avec %u identifiant de transaction"
 msgstr[1] "snapshot exporté pour le décodage logique : « %s » avec %u identifiants de transaction"
 
-#: replication/logical/snapbuild.c:919 replication/logical/snapbuild.c:1284
-#: replication/logical/snapbuild.c:1815
+#: replication/logical/snapbuild.c:919 replication/logical/snapbuild.c:1284 replication/logical/snapbuild.c:1815
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "le décodage logique a trouvé le point de cohérence à %X/%X"
@@ -16256,8 +15846,7 @@ msgid_plural "%u transactions need to finish."
 msgstr[0] "La transaction %u doit se terminer."
 msgstr[1] "Les transactions %u doivent se terminer."
 
-#: replication/logical/snapbuild.c:1689 replication/logical/snapbuild.c:1715
-#: replication/logical/snapbuild.c:1729 replication/logical/snapbuild.c:1743
+#: replication/logical/snapbuild.c:1689 replication/logical/snapbuild.c:1715 replication/logical/snapbuild.c:1729 replication/logical/snapbuild.c:1743
 #, c-format
 msgid "could not read file \"%s\", read %d of %d: %m"
 msgstr "n'a pas pu lire le fichier « %s », lu %d sur %d : %m"
@@ -16745,8 +16334,7 @@ msgstr "l'entr
 msgid "RETURNING list has too few entries"
 msgstr "la liste RETURNING n'a pas assez d'entrées"
 
-#: rewrite/rewriteDefine.c:849 rewrite/rewriteDefine.c:964
-#: rewrite/rewriteSupport.c:112
+#: rewrite/rewriteDefine.c:849 rewrite/rewriteDefine.c:964 rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "la règle « %s » de la relation « %s » n'existe pas"
@@ -16835,8 +16423,7 @@ msgstr "Les vues qui renvoient des fonctions de fen
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Les vues qui renvoient des fonctions à plusieurs lignes ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236
-#: rewrite/rewriteHandler.c:2243
+#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236 rewrite/rewriteHandler.c:2243
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Les vues qui lisent plusieurs tables ou vues ne sont pas automatiquement disponibles en écriture."
 
@@ -16990,8 +16577,7 @@ msgstr ""
 msgid "invalid Unicode escape character"
 msgstr "chaîne d'échappement Unicode invalide"
 
-#: scan.l:606 scan.l:614 scan.l:622 scan.l:623 scan.l:624 scan.l:1338
-#: scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433
+#: scan.l:606 scan.l:614 scan.l:622 scan.l:623 scan.l:624 scan.l:1338 scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433
 msgid "invalid Unicode surrogate pair"
 msgstr "paire surrogate Unicode invalide"
 
@@ -17095,8 +16681,7 @@ msgstr ""
 msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
 msgstr "aucun stemmer Snowball disponible pour la langue « %s » et l'encodage « %s »"
 
-#: snowball/dict_snowball.c:200 tsearch/dict_ispell.c:73
-#: tsearch/dict_simple.c:48
+#: snowball/dict_snowball.c:200 tsearch/dict_ispell.c:73 tsearch/dict_simple.c:48
 #, c-format
 msgid "multiple StopWords parameters"
 msgstr "plusieurs paramètres StopWords"
@@ -17156,10 +16741,9 @@ msgid "writing block %u of relation %s"
 msgstr "écriture du bloc %u de la relation %s"
 
 #: storage/buffer/bufmgr.c:4298
-#, fuzzy, c-format
-#| msgid "snapshot_id"
+#, c-format
 msgid "snapshot too old"
-msgstr "id_snapshot"
+msgstr "snapshot trop ancien"
 
 #: storage/buffer/localbuf.c:198
 #, c-format
@@ -17167,16 +16751,14 @@ msgid "no empty local buffer available"
 msgstr "aucun tampon local vide disponible"
 
 #: storage/file/fd.c:436 storage/file/fd.c:508 storage/file/fd.c:544
-#, fuzzy, c-format
-#| msgid "could not redirect stdout: %m"
+#, c-format
 msgid "could not flush dirty data: %m"
-msgstr "n'a pas pu rediriger la sortie (stdout) : %m"
+msgstr "n'a pas pu vider les données modifiées : %m"
 
 #: storage/file/fd.c:466
-#, fuzzy, c-format
-#| msgid "could not determine input data type"
+#, c-format
 msgid "could not determine dirty data size: %m"
-msgstr "n'a pas pu déterminer le type de données date en entrée"
+msgstr "n'a pas pu déterminer la taille des données modifiées : %m"
 
 #: storage/file/fd.c:518
 #, fuzzy, c-format
@@ -17204,8 +16786,7 @@ msgstr "nombre de descripteurs de fichier insuffisants pour lancer le processus
 msgid "System allows %d, we need at least %d."
 msgstr "Le système autorise %d, nous avons besoin d'au moins %d."
 
-#: storage/file/fd.c:908 storage/file/fd.c:2001 storage/file/fd.c:2094
-#: storage/file/fd.c:2242
+#: storage/file/fd.c:908 storage/file/fd.c:2001 storage/file/fd.c:2094 storage/file/fd.c:2242
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "plus de descripteurs de fichiers : %m; quittez et ré-essayez"
@@ -17265,39 +16846,32 @@ msgstr "le segment contr
 msgid "too many dynamic shared memory segments"
 msgstr "trop de segments de mémoire partagée dynamique"
 
-#: 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
+#: 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 "n'a pas pu annuler le mappage du segment de mémoire partagée « %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
+#: 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 "n'a pas pu supprimer le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:721
-#: storage/ipc/dsm_impl.c:835
+#: 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 "n'a pas pu ouvrir le segment de mémoire partagée « %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
+#: 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 "n'a pas pu obtenir des informations sur le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:878
-#: storage/ipc/dsm_impl.c:926
+#: 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 "n'a pas pu retailler le segment de mémoire partagée « %s » en %zu octets : %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
+#: 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 "n'a pas pu mapper le segment de mémoire partagée « %s » : %m"
@@ -17318,28 +16892,21 @@ msgid "could not duplicate handle for \"%s\": %m"
 msgstr "n'a pas pu dupliquer le lien pour « %s » : %m"
 
 #: storage/ipc/latch.c:769
-#, fuzzy, c-format
-#| msgid "poll() failed: %m"
+#, c-format
 msgid "epoll_ctl() failed: %m"
-msgstr "échec de poll() : %m"
+msgstr "échec de epoll_ctl() : %m"
 
 #: storage/ipc/latch.c:993
-#, fuzzy, c-format
-#| msgid "poll() failed: %m"
+#, c-format
 msgid "epoll_wait() failed: %m"
-msgstr "échec de poll() : %m"
+msgstr "échec de epoll_wait() : %m"
 
 #: storage/ipc/latch.c:1113
 #, c-format
 msgid "poll() failed: %m"
 msgstr "échec de poll() : %m"
 
-#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212
-#: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682
-#: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364
-#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
-#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879
-#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1045
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212 storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682 storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364 storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879 storage/lmgr/proc.c:203 utils/hash/dynahash.c:1045
 #, c-format
 msgid "out of shared memory"
 msgstr "mémoire partagée épuisée"
@@ -17524,8 +17091,7 @@ msgstr ""
 "Seuls RowExclusiveLock et les verrous inférieurs peuvent être acquis sur les\n"
 "objets d'une base pendant une restauration."
 
-#: storage/lmgr/lock.c:884 storage/lmgr/lock.c:918 storage/lmgr/lock.c:2683
-#: storage/lmgr/lock.c:4008 storage/lmgr/lock.c:4073 storage/lmgr/lock.c:4365
+#: storage/lmgr/lock.c:884 storage/lmgr/lock.c:918 storage/lmgr/lock.c:2683 storage/lmgr/lock.c:4008 storage/lmgr/lock.c:4073 storage/lmgr/lock.c:4365
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction."
@@ -17593,8 +17159,7 @@ msgstr ""
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "une transaction important un snapshot ne doit pas être READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:542
-#: utils/time/snapmgr.c:548
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:542 utils/time/snapmgr.c:548
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "n'a pas pu importer le snapshot demandé"
@@ -17604,28 +17169,19 @@ msgstr "n'a pas pu importer le snapshot demand
 msgid "The source transaction %u is not running anymore."
 msgstr "La transaction source %u n'est plus en cours d'exécution."
 
-#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345
-#: storage/lmgr/predicate.c:3737
+#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345 storage/lmgr/predicate.c:3737
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980
-#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027
-#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603
-#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657
-#: storage/lmgr/predicate.c:4695
+#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980 storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027 storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603 storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657 storage/lmgr/predicate.c:4695
 #, c-format
 msgid "could not serialize access due to read/write dependencies among transactions"
 msgstr ""
 "n'a pas pu sérialiser un accès à cause des dépendances de lecture/écriture\n"
 "parmi les transactions"
 
-#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982
-#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029
-#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605
-#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659
-#: storage/lmgr/predicate.c:4697
+#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982 storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029 storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605 storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4697
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "La transaction pourrait réussir après une nouvelle tentative."
@@ -17679,9 +17235,7 @@ msgstr "le processus %d a 
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr "échec de la vérification de la page, somme de contrôle calculé %u, mais attendait %u"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:490
-#: storage/page/bufpage.c:705 storage/page/bufpage.c:836
-#: storage/page/bufpage.c:936
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:490 storage/page/bufpage.c:705 storage/page/bufpage.c:836 storage/page/bufpage.c:936
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr "pointeurs de page corrompus : le plus bas = %u, le plus haut = %u, spécial = %u"
@@ -17691,8 +17245,7 @@ msgstr "pointeurs de page corrompus : le plus bas = %u, le plus haut = %u, sp
 msgid "corrupted item pointer: %u"
 msgstr "pointeur d'élément corrompu : %u"
 
-#: storage/page/bufpage.c:545 storage/page/bufpage.c:887
-#: storage/page/bufpage.c:1042
+#: storage/page/bufpage.c:545 storage/page/bufpage.c:887 storage/page/bufpage.c:1042
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "longueurs d'élément corrompus : total %u, espace disponible %u"
@@ -17801,9 +17354,7 @@ msgstr "n'a pas pu ouvrir le fichier 
 msgid "invalid argument size %d in function call message"
 msgstr "taille de l'argument %d invalide dans le message d'appel de la fonction"
 
-#: tcop/fastpath.c:291 tcop/postgres.c:992 tcop/postgres.c:1303
-#: tcop/postgres.c:1561 tcop/postgres.c:1966 tcop/postgres.c:2333
-#: tcop/postgres.c:2408
+#: tcop/fastpath.c:291 tcop/postgres.c:992 tcop/postgres.c:1303 tcop/postgres.c:1561 tcop/postgres.c:1966 tcop/postgres.c:2333 tcop/postgres.c:2408
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr ""
@@ -17815,8 +17366,7 @@ msgstr ""
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "appel de fonction fastpath : « %s » (OID %u)"
 
-#: tcop/fastpath.c:401 tcop/postgres.c:1163 tcop/postgres.c:1428
-#: tcop/postgres.c:1807 tcop/postgres.c:2024
+#: tcop/fastpath.c:401 tcop/postgres.c:1163 tcop/postgres.c:1428 tcop/postgres.c:1807 tcop/postgres.c:2024
 #, c-format
 msgid "duration: %s ms"
 msgstr "durée : %s ms"
@@ -17850,8 +17400,7 @@ msgstr "format des donn
 msgid "unexpected EOF on client connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du client"
 
-#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461
-#: tcop/postgres.c:473 tcop/postgres.c:4297
+#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461 tcop/postgres.c:473 tcop/postgres.c:4297
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "type %d du message de l'interface invalide"
@@ -18304,8 +17853,7 @@ msgstr "param
 msgid "missing Dictionary parameter"
 msgstr "paramètre Dictionary manquant"
 
-#: tsearch/spell.c:382 tsearch/spell.c:399 tsearch/spell.c:408
-#: tsearch/spell.c:1034
+#: tsearch/spell.c:382 tsearch/spell.c:399 tsearch/spell.c:408 tsearch/spell.c:1034
 #, fuzzy, c-format
 #| msgid "invalid data in file \"%s\""
 msgid "invalid affix flag \"%s\""
@@ -18366,8 +17914,7 @@ msgstr "%s : nombre de jobs en parall
 msgid "affix file contains both old-style and new-style commands"
 msgstr "le fichier d'affixes contient des commandes ancien et nouveau style"
 
-#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270
-#: utils/adt/tsvector_op.c:1066
+#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:1066
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "la chaîne est trop longue (%d octets, max %d octets)"
@@ -18382,14 +17929,12 @@ msgstr "ligne %d du fichier de configuration 
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "échec de l'encodage de wchar_t vers l'encodage du serveur : %m"
 
-#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:566
-#: tsearch/ts_parse.c:573
+#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:566 tsearch/ts_parse.c:573
 #, c-format
 msgid "word is too long to be indexed"
 msgstr "le mot est trop long pour être indexé"
 
-#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:567
-#: tsearch/ts_parse.c:574
+#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:567 tsearch/ts_parse.c:574
 #, c-format
 msgid "Words longer than %d characters are ignored."
 msgstr "Les mots de plus de %d caractères sont ignorés."
@@ -18534,8 +18079,7 @@ msgstr "aclremove n'est plus support
 msgid "unrecognized privilege type: \"%s\""
 msgstr "type de droit non reconnu : « %s »"
 
-#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144
-#: utils/adt/regproc.c:319
+#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144 utils/adt/regproc.c:319
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "la fonction « %s » n'existe pas"
@@ -18546,24 +18090,16 @@ msgid "must be member of role \"%s\""
 msgstr "doit être un membre du rôle « %s »"
 
 #: utils/adt/acl.c:5279 utils/adt/acl.c:5285
-#, fuzzy, c-format
-#| msgid "role name \"%s\" is reserved"
+#, c-format
 msgid "role \"%s\" is reserved"
-msgstr "le nom du rôle « %s » est réservé"
+msgstr "le rôle « %s » est réservé"
 
-#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:931
-#: utils/adt/arrayfuncs.c:1519 utils/adt/arrayfuncs.c:3251
-#: utils/adt/arrayfuncs.c:3389 utils/adt/arrayfuncs.c:5864
-#: utils/adt/arrayfuncs.c:6175 utils/adt/arrayutils.c:93
-#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:931 utils/adt/arrayfuncs.c:1519 utils/adt/arrayfuncs.c:3251 utils/adt/arrayfuncs.c:3389 utils/adt/arrayfuncs.c:5864 utils/adt/arrayfuncs.c:6175 utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "la taille du tableau dépasse le maximum permis (%d)"
 
-#: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529
-#: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854
-#: utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155
-#: utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
+#: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529 utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854 utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155 utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
 #, c-format
 msgid "could not determine input data type"
 msgstr "n'a pas pu déterminer le type de données date en entrée"
@@ -18573,16 +18109,8 @@ msgstr "n'a pas pu d
 msgid "input data type is not an array"
 msgstr "le type de données en entrée n'est pas un tableau"
 
-#: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174
-#: utils/adt/arrayfuncs.c:1322 utils/adt/float.c:1230 utils/adt/float.c:1289
-#: utils/adt/float.c:3558 utils/adt/float.c:3574 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:1298 utils/adt/numeric.c:2907
-#: utils/adt/numeric.c:2916 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
-#: utils/adt/varlena.c:1055 utils/adt/varlena.c:2807
+#: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174 utils/adt/arrayfuncs.c:1322 utils/adt/float.c:1230 utils/adt/float.c:1289 utils/adt/float.c:3558 utils/adt/float.c:3574 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:1298 utils/adt/numeric.c:2907 utils/adt/numeric.c:2916 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565 utils/adt/varlena.c:1055 utils/adt/varlena.c:2807
 #, c-format
 msgid "integer out of range"
 msgstr "entier en dehors des limites"
@@ -18592,9 +18120,7 @@ msgstr "entier en dehors des limites"
 msgid "argument must be empty or one-dimensional array"
 msgstr "l'argument doit être vide ou doit être un tableau à une dimension"
 
-#: utils/adt/array_userfuncs.c:266 utils/adt/array_userfuncs.c:305
-#: utils/adt/array_userfuncs.c:342 utils/adt/array_userfuncs.c:371
-#: utils/adt/array_userfuncs.c:399
+#: utils/adt/array_userfuncs.c:266 utils/adt/array_userfuncs.c:305 utils/adt/array_userfuncs.c:342 utils/adt/array_userfuncs.c:371 utils/adt/array_userfuncs.c:399
 #, c-format
 msgid "cannot concatenate incompatible arrays"
 msgstr "ne peut pas concaténer des tableaux non compatibles"
@@ -18627,8 +18153,7 @@ msgstr ""
 "Les tableaux de dimensions différentes ne sont pas compatibles pour\n"
 "une concaténation."
 
-#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1284
-#: utils/adt/arrayfuncs.c:3357 utils/adt/arrayfuncs.c:5764
+#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1284 utils/adt/arrayfuncs.c:3357 utils/adt/arrayfuncs.c:5764
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "nombre de dimensions invalides : %d"
@@ -18644,18 +18169,8 @@ msgstr "la suppression d'
 msgid "initial position must not be null"
 msgstr "la position initiale ne doit pas être NULL"
 
-#: utils/adt/arrayfuncs.c:268 utils/adt/arrayfuncs.c:282
-#: utils/adt/arrayfuncs.c:293 utils/adt/arrayfuncs.c:315
-#: utils/adt/arrayfuncs.c:330 utils/adt/arrayfuncs.c:344
-#: utils/adt/arrayfuncs.c:350 utils/adt/arrayfuncs.c:357
-#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:504
-#: utils/adt/arrayfuncs.c:515 utils/adt/arrayfuncs.c:530
-#: utils/adt/arrayfuncs.c:551 utils/adt/arrayfuncs.c:581
-#: utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:596
-#: utils/adt/arrayfuncs.c:630 utils/adt/arrayfuncs.c:653
-#: utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:785
-#: utils/adt/arrayfuncs.c:794 utils/adt/arrayfuncs.c:824
-#: utils/adt/arrayfuncs.c:839 utils/adt/arrayfuncs.c:892
+#: utils/adt/arrayfuncs.c:268 utils/adt/arrayfuncs.c:282 utils/adt/arrayfuncs.c:293 utils/adt/arrayfuncs.c:315 utils/adt/arrayfuncs.c:330 utils/adt/arrayfuncs.c:344 utils/adt/arrayfuncs.c:350 utils/adt/arrayfuncs.c:357 utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:504 utils/adt/arrayfuncs.c:515 utils/adt/arrayfuncs.c:530 utils/adt/arrayfuncs.c:551 utils/adt/arrayfuncs.c:581 utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:596
+#: utils/adt/arrayfuncs.c:630 utils/adt/arrayfuncs.c:653 utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:785 utils/adt/arrayfuncs.c:794 utils/adt/arrayfuncs.c:824 utils/adt/arrayfuncs.c:839 utils/adt/arrayfuncs.c:892
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "tableau litéral mal formé : « %s »"
@@ -18675,8 +18190,7 @@ msgstr "Valeur  manquante de la dimension du tableau."
 msgid "Missing \"%s\" after array dimensions."
 msgstr "« %s » manquant après les dimensions du tableau."
 
-#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:2870
-#: utils/adt/arrayfuncs.c:2902 utils/adt/arrayfuncs.c:2917
+#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:2870 utils/adt/arrayfuncs.c:2902 utils/adt/arrayfuncs.c:2917
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "la limite supérieure ne peut pas être plus petite que la limite inférieure"
@@ -18698,15 +18212,12 @@ msgstr "Le contenu du tableau doit commencer avec 
 msgid "Specified array dimensions do not match array contents."
 msgstr "Les dimensions spécifiées du tableau ne correspondent pas au contenu du tableau."
 
-#: utils/adt/arrayfuncs.c:489 utils/adt/arrayfuncs.c:516
-#: utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132
-#: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
+#: utils/adt/arrayfuncs.c:489 utils/adt/arrayfuncs.c:516 utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132 utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Fin de l'entrée inattendue."
 
-#: utils/adt/arrayfuncs.c:505 utils/adt/arrayfuncs.c:552
-#: utils/adt/arrayfuncs.c:582 utils/adt/arrayfuncs.c:631
+#: utils/adt/arrayfuncs.c:505 utils/adt/arrayfuncs.c:552 utils/adt/arrayfuncs.c:582 utils/adt/arrayfuncs.c:631
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Caractère « %c » inattendu."
@@ -18743,8 +18254,7 @@ msgstr "drapeaux de tableau invalides"
 msgid "wrong element type"
 msgstr "mauvais type d'élément"
 
-#: utils/adt/arrayfuncs.c:1353 utils/adt/rangetypes.c:334
-#: utils/cache/lsyscache.c:2651
+#: utils/adt/arrayfuncs.c:1353 utils/adt/rangetypes.c:334 utils/cache/lsyscache.c:2651
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "aucune fonction d'entrée binaire disponible pour le type %s"
@@ -18754,8 +18264,7 @@ msgstr "aucune fonction d'entr
 msgid "improper binary format in array element %d"
 msgstr "format binaire mal conçu dans l'élément du tableau %d"
 
-#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339
-#: utils/cache/lsyscache.c:2684
+#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339 utils/cache/lsyscache.c:2684
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "aucune fonction de sortie binaire disponible pour le type %s"
@@ -18765,19 +18274,12 @@ msgstr "aucune fonction de sortie binaire disponible pour le type %s"
 msgid "slices of fixed-length arrays not implemented"
 msgstr "les morceaux des tableaux à longueur fixe ne sont pas implémentés"
 
-#: utils/adt/arrayfuncs.c:2230 utils/adt/arrayfuncs.c:2252
-#: utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537
-#: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5744
-#: utils/adt/arrayfuncs.c:5776 utils/adt/arrayfuncs.c:5793
-#: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369
-#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3537
-#: utils/adt/jsonfuncs.c:3582 utils/adt/jsonfuncs.c:3629
+#: utils/adt/arrayfuncs.c:2230 utils/adt/arrayfuncs.c:2252 utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537 utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5744 utils/adt/arrayfuncs.c:5776 utils/adt/arrayfuncs.c:5793 utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369 utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3537 utils/adt/jsonfuncs.c:3582 utils/adt/jsonfuncs.c:3629
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "mauvais nombre d'indices du tableau"
 
-#: utils/adt/arrayfuncs.c:2235 utils/adt/arrayfuncs.c:2343
-#: utils/adt/arrayfuncs.c:2601 utils/adt/arrayfuncs.c:2907
+#: utils/adt/arrayfuncs.c:2235 utils/adt/arrayfuncs.c:2343 utils/adt/arrayfuncs.c:2601 utils/adt/arrayfuncs.c:2907
 #, c-format
 msgid "array subscript out of range"
 msgstr "indice du tableau en dehors de l'échelle"
@@ -18815,8 +18317,7 @@ msgstr "tableau source trop petit"
 msgid "null array element not allowed in this context"
 msgstr "élément NULL de tableau interdit dans ce contexte"
 
-#: utils/adt/arrayfuncs.c:3615 utils/adt/arrayfuncs.c:3786
-#: utils/adt/arrayfuncs.c:4060
+#: utils/adt/arrayfuncs.c:3615 utils/adt/arrayfuncs.c:3786 utils/adt/arrayfuncs.c:4060
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "ne peut pas comparer des tableaux ayant des types d'éléments différents"
@@ -18921,16 +18422,8 @@ msgstr "syntaxe en entr
 msgid "invalid input syntax for type money: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type money : « %s »"
 
-#: 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:857 utils/adt/float.c:921 utils/adt/float.c:3317
-#: utils/adt/float.c:3380 utils/adt/geo_ops.c:4085 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:897 utils/adt/int8.c:1005
-#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6800
-#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8102
-#: utils/adt/timestamp.c:3446
+#: 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:857 utils/adt/float.c:921 utils/adt/float.c:3317 utils/adt/float.c:3380 utils/adt/geo_ops.c:4085 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:897
+#: utils/adt/int8.c:1005 utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6800 utils/adt/numeric.c:7089 utils/adt/numeric.c:8102 utils/adt/timestamp.c:3446
 #, c-format
 msgid "division by zero"
 msgstr "division par zéro"
@@ -18940,8 +18433,7 @@ msgstr "division par z
 msgid "\"char\" out of range"
 msgstr "« char » hors des limites"
 
-#: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52
-#: utils/adt/varchar.c:45
+#: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52 utils/adt/varchar.c:45
 #, c-format
 msgid "invalid type modifier"
 msgstr "modifieur de type invalide"
@@ -18961,14 +18453,12 @@ msgstr "la pr
 msgid "date/time value \"current\" is no longer supported"
 msgstr "la valeur « current » pour la date et heure n'est plus supportée"
 
-#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3529
-#: utils/adt/formatting.c:3538
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3529 utils/adt/formatting.c:3538
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date en dehors des limites : « %s »"
 
-#: utils/adt/date.c:222 utils/adt/date.c:456 utils/adt/date.c:480
-#: utils/adt/xml.c:2029
+#: utils/adt/date.c:222 utils/adt/date.c:456 utils/adt/date.c:480 utils/adt/xml.c:2029
 #, c-format
 msgid "date out of range"
 msgstr "date en dehors des limites"
@@ -18988,40 +18478,15 @@ msgstr "date en dehors des limites : %d-%02d-%02d"
 msgid "cannot subtract infinite dates"
 msgstr "ne peut pas soustraire les valeurs dates infinies"
 
-#: utils/adt/date.c:509 utils/adt/date.c:544 utils/adt/date.c:566
-#: utils/adt/date.c:2629 utils/adt/date.c:2643
+#: utils/adt/date.c:509 utils/adt/date.c:544 utils/adt/date.c:566 utils/adt/date.c:2629 utils/adt/date.c:2643
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "date en dehors des limites pour un timestamp"
 
-#: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678
-#: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592
-#: utils/adt/formatting.c:3404 utils/adt/formatting.c:3436
-#: utils/adt/formatting.c:3504 utils/adt/json.c:1534 utils/adt/json.c:1556
-#: utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455
-#: utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571
-#: utils/adt/timestamp.c:224 utils/adt/timestamp.c:268
-#: utils/adt/timestamp.c:726 utils/adt/timestamp.c:735
-#: utils/adt/timestamp.c:820 utils/adt/timestamp.c:860
-#: utils/adt/timestamp.c:3021 utils/adt/timestamp.c:3042
-#: utils/adt/timestamp.c:3055 utils/adt/timestamp.c:3064
-#: utils/adt/timestamp.c:3072 utils/adt/timestamp.c:3127
-#: utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3163
-#: utils/adt/timestamp.c:3174 utils/adt/timestamp.c:3182
-#: utils/adt/timestamp.c:3756 utils/adt/timestamp.c:3885
-#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4014
-#: utils/adt/timestamp.c:4060 utils/adt/timestamp.c:4171
-#: utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4694
-#: utils/adt/timestamp.c:4704 utils/adt/timestamp.c:4800
-#: utils/adt/timestamp.c:4919 utils/adt/timestamp.c:4929
-#: utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5264
-#: utils/adt/timestamp.c:5269 utils/adt/timestamp.c:5283
-#: utils/adt/timestamp.c:5366 utils/adt/timestamp.c:5398
-#: utils/adt/timestamp.c:5405 utils/adt/timestamp.c:5431
-#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5504
-#: utils/adt/timestamp.c:5508 utils/adt/timestamp.c:5522
-#: utils/adt/timestamp.c:5560 utils/adt/xml.c:2051 utils/adt/xml.c:2058
-#: utils/adt/xml.c:2078 utils/adt/xml.c:2085
+#: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678 utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592 utils/adt/formatting.c:3404 utils/adt/formatting.c:3436 utils/adt/formatting.c:3504 utils/adt/json.c:1534 utils/adt/json.c:1556 utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:224
+#: utils/adt/timestamp.c:268 utils/adt/timestamp.c:726 utils/adt/timestamp.c:735 utils/adt/timestamp.c:820 utils/adt/timestamp.c:860 utils/adt/timestamp.c:3021 utils/adt/timestamp.c:3042 utils/adt/timestamp.c:3055 utils/adt/timestamp.c:3064 utils/adt/timestamp.c:3072 utils/adt/timestamp.c:3127 utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3163 utils/adt/timestamp.c:3174 utils/adt/timestamp.c:3182 utils/adt/timestamp.c:3756
+#: utils/adt/timestamp.c:3885 utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4014 utils/adt/timestamp.c:4060 utils/adt/timestamp.c:4171 utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4694 utils/adt/timestamp.c:4704 utils/adt/timestamp.c:4800 utils/adt/timestamp.c:4919 utils/adt/timestamp.c:4929 utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5264 utils/adt/timestamp.c:5269 utils/adt/timestamp.c:5283 utils/adt/timestamp.c:5366
+#: utils/adt/timestamp.c:5398 utils/adt/timestamp.c:5405 utils/adt/timestamp.c:5431 utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5504 utils/adt/timestamp.c:5508 utils/adt/timestamp.c:5522 utils/adt/timestamp.c:5560 utils/adt/xml.c:2051 utils/adt/xml.c:2058 utils/adt/xml.c:2078 utils/adt/xml.c:2085
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp en dehors des limites"
@@ -19037,8 +18502,7 @@ msgstr "ne peut pas convertir la valeur r
 msgid "abstime out of range for date"
 msgstr "date en dehors des limites pour un timestamp"
 
-#: utils/adt/date.c:1258 utils/adt/date.c:1265 utils/adt/date.c:2082
-#: utils/adt/date.c:2089
+#: utils/adt/date.c:1258 utils/adt/date.c:1265 utils/adt/date.c:2082 utils/adt/date.c:2089
 #, c-format
 msgid "time out of range"
 msgstr "heure en dehors des limites"
@@ -19063,10 +18527,7 @@ msgstr "d
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "L'unité « %s » n'est pas reconnu pour le type « time with time zone »"
 
-#: utils/adt/date.c:2830 utils/adt/datetime.c:994 utils/adt/datetime.c:1874
-#: utils/adt/datetime.c:4700 utils/adt/timestamp.c:532
-#: utils/adt/timestamp.c:559 utils/adt/timestamp.c:5275
-#: utils/adt/timestamp.c:5514
+#: utils/adt/date.c:2830 utils/adt/datetime.c:994 utils/adt/datetime.c:1874 utils/adt/datetime.c:4700 utils/adt/timestamp.c:532 utils/adt/timestamp.c:559 utils/adt/timestamp.c:5275 utils/adt/timestamp.c:5514
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "le fuseau horaire « %s » n'est pas reconnu"
@@ -19102,12 +18563,7 @@ msgid "time zone displacement out of range: \"%s\""
 msgstr "déplacement du fuseau horaire en dehors des limites : « %s »"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3862 utils/adt/float.c:463 utils/adt/float.c:546
-#: utils/adt/float.c:572 utils/adt/geo_ops.c:156 utils/adt/geo_ops.c:166
-#: utils/adt/geo_ops.c:178 utils/adt/geo_ops.c:210 utils/adt/geo_ops.c:255
-#: utils/adt/geo_ops.c:265 utils/adt/geo_ops.c:935 utils/adt/geo_ops.c:1321
-#: utils/adt/geo_ops.c:1356 utils/adt/geo_ops.c:1364 utils/adt/geo_ops.c:3422
-#: utils/adt/geo_ops.c:4555 utils/adt/geo_ops.c:4571 utils/adt/geo_ops.c:4578
+#: utils/adt/datetime.c:3862 utils/adt/float.c:463 utils/adt/float.c:546 utils/adt/float.c:572 utils/adt/geo_ops.c:156 utils/adt/geo_ops.c:166 utils/adt/geo_ops.c:178 utils/adt/geo_ops.c:210 utils/adt/geo_ops.c:255 utils/adt/geo_ops.c:265 utils/adt/geo_ops.c:935 utils/adt/geo_ops.c:1321 utils/adt/geo_ops.c:1356 utils/adt/geo_ops.c:1364 utils/adt/geo_ops.c:3422 utils/adt/geo_ops.c:4555 utils/adt/geo_ops.c:4571 utils/adt/geo_ops.c:4578
 #: utils/adt/network.c:58
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
@@ -19129,22 +18585,19 @@ msgid "could not open tablespace directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire du tablespace « %s » : %m"
 
 #: utils/adt/dbsize.c:757 utils/adt/dbsize.c:776 utils/adt/dbsize.c:831
-#, fuzzy, c-format
-#| msgid "invalid cidr value: \"%s\""
+#, c-format
 msgid "invalid size: \"%s\""
-msgstr "valeur cidr invalide : « %s »"
+msgstr "taille invalide : « %s »"
 
 #: utils/adt/dbsize.c:832
-#, fuzzy, c-format
-#| msgid "invalid time zone name: \"%s\""
+#, c-format
 msgid "Invalid size unit: \"%s\"."
-msgstr "nom du fuseau horaire invalide : « %s »"
+msgstr "Unité invalide pour une taille : « %s »."
 
 #: utils/adt/dbsize.c:833
-#, fuzzy, c-format
-#| msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
+#, c-format
 msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
-msgstr "Les unités valides pour ce paramètre sont « kB », « MB », « GB » et « TB »."
+msgstr "Les unités valides pour ce paramètre sont « bytes », « kB », « MB », « GB » et « TB »."
 
 #: utils/adt/domains.c:85
 #, c-format
@@ -19186,14 +18639,12 @@ msgstr "s
 msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr "Les données en entrée manquent un alignement, sont tronquées ou ont une corruption autre."
 
-#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:297
-#: utils/adt/varlena.c:338
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:297 utils/adt/varlena.c:338
 #, c-format
 msgid "invalid input syntax for type bytea"
 msgstr "syntaxe en entrée invalide pour le type bytea"
 
-#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113
-#: utils/adt/enum.c:123
+#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113 utils/adt/enum.c:123
 #, c-format
 msgid "invalid input value for enum %s: \"%s\""
 msgstr "valeur en entrée invalide pour le enum %s : « %s »"
@@ -19203,8 +18654,7 @@ msgstr "valeur en entr
 msgid "invalid internal value for enum: %u"
 msgstr "valeur interne invalide pour le enum : %u"
 
-#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425
-#: utils/adt/enum.c:445
+#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425 utils/adt/enum.c:445
 #, c-format
 msgid "could not determine actual enum type"
 msgstr "n'a pas pu déterminer le type enum actuel"
@@ -19239,10 +18689,7 @@ msgstr "
 msgid "\"%s\" is out of range for type double precision"
 msgstr "« %s » est en dehors des limites du type double precision"
 
-#: utils/adt/float.c:1248 utils/adt/float.c:1306 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:1323 utils/adt/numeric.c:3004 utils/adt/numeric.c:3013
+#: utils/adt/float.c:1248 utils/adt/float.c:1306 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:1323 utils/adt/numeric.c:3004 utils/adt/numeric.c:3013
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint en dehors des limites"
@@ -19272,10 +18719,7 @@ msgstr "ne peut pas calculer le logarithme de z
 msgid "cannot take logarithm of a negative number"
 msgstr "ne peut pas calculer le logarithme sur un nombre négatif"
 
-#: utils/adt/float.c:1608 utils/adt/float.c:1638 utils/adt/float.c:1730
-#: utils/adt/float.c:1756 utils/adt/float.c:1783 utils/adt/float.c:1809
-#: utils/adt/float.c:1956 utils/adt/float.c:1991 utils/adt/float.c:2155
-#: utils/adt/float.c:2209 utils/adt/float.c:2273 utils/adt/float.c:2328
+#: utils/adt/float.c:1608 utils/adt/float.c:1638 utils/adt/float.c:1730 utils/adt/float.c:1756 utils/adt/float.c:1783 utils/adt/float.c:1809 utils/adt/float.c:1956 utils/adt/float.c:1991 utils/adt/float.c:2155 utils/adt/float.c:2209 utils/adt/float.c:2273 utils/adt/float.c:2328
 #, c-format
 msgid "input is out of range"
 msgstr "l'entrée est en dehors des limites"
@@ -19439,8 +18883,7 @@ msgstr ""
 "Si votre chaîne source n'a pas une taille fixe, essayez d'utiliser le\n"
 "modifieur « FM »."
 
-#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
-#: utils/adt/formatting.c:2353
+#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223 utils/adt/formatting.c:2353
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "valeur « %s » invalide pour « %s »"
@@ -19470,12 +18913,7 @@ msgstr "La valeur doit 
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "La valeur donnée ne correspond pas aux valeurs autorisées pour ce champ."
 
-#: utils/adt/formatting.c:2550 utils/adt/formatting.c:2570
-#: utils/adt/formatting.c:2590 utils/adt/formatting.c:2610
-#: utils/adt/formatting.c:2629 utils/adt/formatting.c:2648
-#: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
-#: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
-#: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
+#: utils/adt/formatting.c:2550 utils/adt/formatting.c:2570 utils/adt/formatting.c:2590 utils/adt/formatting.c:2610 utils/adt/formatting.c:2629 utils/adt/formatting.c:2648 utils/adt/formatting.c:2672 utils/adt/formatting.c:2690 utils/adt/formatting.c:2708 utils/adt/formatting.c:2726 utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
 #, c-format
 msgid "localized string format value too long"
 msgstr "chaîne localisée trop longue"
@@ -19530,9 +18968,7 @@ msgstr "chemin absolu non autoris
 msgid "path must be in or below the current directory"
 msgstr "le chemin doit être dans ou en-dessous du répertoire courant"
 
-#: utils/adt/genfile.c:125 utils/adt/oracle_compat.c:184
-#: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
-#: utils/adt/oracle_compat.c:1059
+#: utils/adt/genfile.c:125 utils/adt/oracle_compat.c:184 utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758 utils/adt/oracle_compat.c:1059
 #, c-format
 msgid "requested length too large"
 msgstr "longueur demandée trop importante"
@@ -19567,8 +19003,7 @@ msgstr "sp
 msgid "invalid line specification: must be two distinct points"
 msgstr "spécification de ligne invalide : doit être deux points distincts"
 
-#: utils/adt/geo_ops.c:1342 utils/adt/geo_ops.c:3432 utils/adt/geo_ops.c:4245
-#: utils/adt/geo_ops.c:5173
+#: utils/adt/geo_ops.c:1342 utils/adt/geo_ops.c:3432 utils/adt/geo_ops.c:4245 utils/adt/geo_ops.c:5173
 #, c-format
 msgid "too many points requested"
 msgstr "trop de points demandé"
@@ -19653,14 +19088,12 @@ msgstr "donn
 msgid "oidvector has too many elements"
 msgstr "oidvector a trop d'éléments"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1355
-#: utils/adt/timestamp.c:5611 utils/adt/timestamp.c:5692
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1355 utils/adt/timestamp.c:5611 utils/adt/timestamp.c:5692
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "la taille du pas ne peut pas valoir zéro"
 
-#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51
-#: utils/adt/numutils.c:61 utils/adt/numutils.c:103
+#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51 utils/adt/numutils.c:61 utils/adt/numutils.c:103
 #, c-format
 msgid "invalid input syntax for integer: \"%s\""
 msgstr "syntaxe en entrée invalide pour l'entier : « %s »"
@@ -19670,16 +19103,8 @@ msgstr "syntaxe en entr
 msgid "value \"%s\" is out of range for type bigint"
 msgstr "la valeur « %s » est en dehors des limites du type 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: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:2959
-#: utils/adt/varbit.c:1645
+#: 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: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:2959 utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
 msgstr "bigint en dehors des limites"
@@ -19689,13 +19114,8 @@ msgstr "bigint en dehors des limites"
 msgid "OID out of range"
 msgstr "OID en dehors des limites"
 
-#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840
-#: utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912
-#: utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973
-#: utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144
-#: utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171
-#: utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195
-#: utils/adt/json.c:1203 utils/adt/json.c:1211 utils/adt/json.c:1241
+#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840 utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912 utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973 utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144 utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171 utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195 utils/adt/json.c:1203 utils/adt/json.c:1211
+#: utils/adt/json.c:1241
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "syntaxe en entrée invalide pour le type json"
@@ -19715,8 +19135,7 @@ msgstr "
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute."
 
-#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913
-#: utils/adt/json.c:974 utils/adt/json.c:986
+#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913 utils/adt/json.c:974 utils/adt/json.c:986
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute."
@@ -19848,8 +19267,7 @@ msgstr "Les cl
 msgid "array must have two columns"
 msgstr "le tableau doit avoir deux colonnes"
 
-#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387
-#: utils/adt/jsonb.c:1482
+#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387 utils/adt/jsonb.c:1482
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "valeur NULL non autorisée pour une clé d'objet"
@@ -19904,21 +19322,17 @@ msgstr "le nombre d'
 msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
 msgstr "la taille totale des éléments du tableau jsonb dépasse le maximum de %u octets"
 
-#: utils/adt/jsonb_util.c:1606 utils/adt/jsonb_util.c:1641
-#: utils/adt/jsonb_util.c:1661
+#: utils/adt/jsonb_util.c:1606 utils/adt/jsonb_util.c:1641 utils/adt/jsonb_util.c:1661
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "la taille totale des éléments de l'objet JSON dépasse le maximum de %u octets"
 
-#: utils/adt/jsonfuncs.c:305 utils/adt/jsonfuncs.c:470
-#: utils/adt/jsonfuncs.c:2065 utils/adt/jsonfuncs.c:2506
-#: utils/adt/jsonfuncs.c:3012
+#: utils/adt/jsonfuncs.c:305 utils/adt/jsonfuncs.c:470 utils/adt/jsonfuncs.c:2065 utils/adt/jsonfuncs.c:2506 utils/adt/jsonfuncs.c:3012
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "ne peut pas appeler %s sur un scalaire"
 
-#: utils/adt/jsonfuncs.c:310 utils/adt/jsonfuncs.c:457
-#: utils/adt/jsonfuncs.c:2495
+#: utils/adt/jsonfuncs.c:310 utils/adt/jsonfuncs.c:457 utils/adt/jsonfuncs.c:2495
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "ne peut pas appeler %s sur un tableau"
@@ -19938,8 +19352,7 @@ msgstr "ne peut pas obtenir la longueur du tableau d'un objet qui n'est pas un t
 msgid "cannot call %s on a non-object"
 msgstr "ne peut pas appeler %s sur un non objet"
 
-#: utils/adt/jsonfuncs.c:1491 utils/adt/jsonfuncs.c:2178
-#: utils/adt/jsonfuncs.c:2715
+#: utils/adt/jsonfuncs.c:1491 utils/adt/jsonfuncs.c:2178 utils/adt/jsonfuncs.c:2715
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr ""
@@ -20022,10 +19435,9 @@ msgid "path element at position %d is null"
 msgstr ""
 
 #: utils/adt/jsonfuncs.c:3877
-#, fuzzy, c-format
-#| msgid "cannot reopen stdin\n"
+#, c-format
 msgid "cannot replace existing key"
-msgstr "ne peut pas rouvrir stdin\n"
+msgstr "ne peut pas remplacer une clé existante"
 
 #: utils/adt/jsonfuncs.c:3878
 #, c-format
@@ -20141,12 +19553,10 @@ msgstr "r
 msgid "reserved"
 msgstr "réservé"
 
-#: utils/adt/misc.c:797 utils/adt/misc.c:811 utils/adt/misc.c:850
-#: utils/adt/misc.c:856 utils/adt/misc.c:862 utils/adt/misc.c:885
-#, fuzzy, c-format
-#| msgid "invalid snapshot identifier: \"%s\""
+#: utils/adt/misc.c:797 utils/adt/misc.c:811 utils/adt/misc.c:850 utils/adt/misc.c:856 utils/adt/misc.c:862 utils/adt/misc.c:885
+#, c-format
 msgid "string is not a valid identifier: \"%s\""
-msgstr "identifiant invalide du snapshot : « %s »"
+msgstr "la chaîne n'est pas un identifiant valide : « %s »"
 
 #: utils/adt/misc.c:799
 #, c-format
@@ -20154,10 +19564,9 @@ msgid "String has unclosed double quotes."
 msgstr ""
 
 #: utils/adt/misc.c:813
-#, fuzzy, c-format
-#| msgid "Extension names must not be empty."
+#, c-format
 msgid "Quoted identifier must not be empty."
-msgstr "Les noms d'extension ne doivent pas être vides."
+msgstr "L'identifiant entre guillemets ne doit pas être vide."
 
 #: utils/adt/misc.c:852
 #, c-format
@@ -20204,8 +19613,7 @@ msgstr "valeur cidr invalide : 
 msgid "Value has bits set to right of mask."
 msgstr "La valeur a des bits positionnés à la droite du masque."
 
-#: utils/adt/network.c:111 utils/adt/network.c:607 utils/adt/network.c:632
-#: utils/adt/network.c:657
+#: utils/adt/network.c:111 utils/adt/network.c:607 utils/adt/network.c:632 utils/adt/network.c:657
 #, c-format
 msgid "could not format inet value: %m"
 msgstr "n'a pas pu formater la valeur inet : %m"
@@ -20272,8 +19680,7 @@ msgstr "le r
 msgid "cannot subtract inet values of different sizes"
 msgstr "ne peut pas soustraire des valeurs inet de tailles différentes"
 
-#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5394
-#: utils/adt/numeric.c:5417 utils/adt/numeric.c:5441 utils/adt/numeric.c:5448
+#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5394 utils/adt/numeric.c:5417 utils/adt/numeric.c:5441 utils/adt/numeric.c:5448
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type numeric : « %s »"
@@ -20328,8 +19735,7 @@ msgstr "la valeur d'arr
 msgid "step size cannot be NaN"
 msgstr "la taille du pas ne peut pas être NaN"
 
-#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7598
-#: utils/adt/numeric.c:8023 utils/adt/numeric.c:8138 utils/adt/numeric.c:8211
+#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7598 utils/adt/numeric.c:8023 utils/adt/numeric.c:8138 utils/adt/numeric.c:8211
 #, c-format
 msgid "value overflows numeric format"
 msgstr "la valeur dépasse le format numeric"
@@ -20416,8 +19822,7 @@ msgstr "caract
 msgid "null character not permitted"
 msgstr "caractère nul interdit"
 
-#: utils/adt/orderedsetaggs.c:425 utils/adt/orderedsetaggs.c:530
-#: utils/adt/orderedsetaggs.c:669
+#: utils/adt/orderedsetaggs.c:425 utils/adt/orderedsetaggs.c:530 utils/adt/orderedsetaggs.c:669
 #, c-format
 msgid "percentile value %g is not between 0 and 1"
 msgstr "la valeur centile %g n'est pas entre 0 et 1"
@@ -20472,10 +19877,9 @@ msgid "function can only be called when server is in binary upgrade mode"
 msgstr "la fonction peut seulement être appelée quand le serveur est en mode de mise à jour binaire"
 
 #: utils/adt/pgstatfuncs.c:571
-#, fuzzy, c-format
-#| msgid "invalid locale name: \"%s\""
+#, c-format
 msgid "invalid command name: \"%s\""
-msgstr "nom de locale invalide : « %s »"
+msgstr "nom de commande invalide : « %s »"
 
 #: utils/adt/pseudotypes.c:95
 #, c-format
@@ -20543,16 +19947,14 @@ msgid "cannot display a value of type fdw_handler"
 msgstr "ne peut pas afficher une valeur de type fdw_handler"
 
 #: utils/adt/pseudotypes.c:384
-#, fuzzy, c-format
-#| msgid "cannot accept a value of type tsm_handler"
+#, c-format
 msgid "cannot accept a value of type index_am_handler"
-msgstr "ne peut pas accepter une valeur de type tsm_handler"
+msgstr "ne peut pas accepter une valeur de type index_am_handler"
 
 #: utils/adt/pseudotypes.c:397
-#, fuzzy, c-format
-#| msgid "cannot display a value of type tsm_handler"
+#, c-format
 msgid "cannot display a value of type index_am_handler"
-msgstr "ne peut pas afficher une valeur de type tsm_handler"
+msgstr "ne peut pas afficher une valeur de type index_am_handler"
 
 #: utils/adt/pseudotypes.c:411
 #, c-format
@@ -20614,8 +20016,7 @@ msgstr "ne peut pas accepter une valeur de type shell"
 msgid "cannot display a value of a shell type"
 msgstr "ne peut pas afficher une valeur de type shell"
 
-#: utils/adt/pseudotypes.c:579 utils/adt/pseudotypes.c:604
-#: utils/adt/pseudotypes.c:632 utils/adt/pseudotypes.c:660
+#: utils/adt/pseudotypes.c:579 utils/adt/pseudotypes.c:604 utils/adt/pseudotypes.c:632 utils/adt/pseudotypes.c:660
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "ne peut pas accepter une valeur de type %s"
@@ -20647,22 +20048,17 @@ msgstr ""
 "la limite inférieure de l'intervalle de valeurs doit être inférieure ou égale\n"
 "à la limite supérieure de l'intervalle de valeurs"
 
-#: utils/adt/rangetypes.c:1926 utils/adt/rangetypes.c:1939
-#: utils/adt/rangetypes.c:1953
+#: utils/adt/rangetypes.c:1926 utils/adt/rangetypes.c:1939 utils/adt/rangetypes.c:1953
 #, c-format
 msgid "invalid range bound flags"
 msgstr "drapeaux de limite de l'intervalle invalides"
 
-#: utils/adt/rangetypes.c:1927 utils/adt/rangetypes.c:1940
-#: utils/adt/rangetypes.c:1954
+#: utils/adt/rangetypes.c:1927 utils/adt/rangetypes.c:1940 utils/adt/rangetypes.c:1954
 #, c-format
 msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
 msgstr "Les valeurs valides sont entre « [] », « [) », « (] » et « () »."
 
-#: utils/adt/rangetypes.c:2019 utils/adt/rangetypes.c:2036
-#: utils/adt/rangetypes.c:2049 utils/adt/rangetypes.c:2067
-#: utils/adt/rangetypes.c:2078 utils/adt/rangetypes.c:2122
-#: utils/adt/rangetypes.c:2130
+#: utils/adt/rangetypes.c:2019 utils/adt/rangetypes.c:2036 utils/adt/rangetypes.c:2049 utils/adt/rangetypes.c:2067 utils/adt/rangetypes.c:2078 utils/adt/rangetypes.c:2122 utils/adt/rangetypes.c:2130
 #, c-format
 msgid "malformed range literal: \"%s\""
 msgstr "intervalle litéral mal formé : « %s »"
@@ -20717,8 +20113,7 @@ msgstr "il existe plus d'une fonction nomm
 msgid "more than one operator named %s"
 msgstr "il existe plus d'un opérateur nommé%s"
 
-#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006
-#: utils/adt/ruleutils.c:8235 utils/adt/ruleutils.c:8401
+#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006 utils/adt/ruleutils.c:8235 utils/adt/ruleutils.c:8401
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
@@ -20728,9 +20123,7 @@ msgstr "trop d'arguments"
 msgid "Provide two argument types for operator."
 msgstr "Fournit deux types d'argument pour l'opérateur."
 
-#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715
-#: utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846
-#: utils/adt/varlena.c:3084 utils/adt/varlena.c:3089
+#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715 utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846 utils/adt/varlena.c:3084 utils/adt/varlena.c:3089
 #, c-format
 msgid "invalid name syntax"
 msgstr "syntaxe du nom invalide"
@@ -20755,8 +20148,7 @@ msgstr "attendait un nom de type"
 msgid "improper type name"
 msgstr "nom du type invalide"
 
-#: utils/adt/ri_triggers.c:345 utils/adt/ri_triggers.c:2492
-#: utils/adt/ri_triggers.c:3317
+#: utils/adt/ri_triggers.c:345 utils/adt/ri_triggers.c:2492 utils/adt/ri_triggers.c:3317
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
@@ -20839,8 +20231,7 @@ msgstr "La cl
 msgid "input of anonymous composite types is not implemented"
 msgstr "l'ajout de colonnes ayant un type composé n'est pas implémenté"
 
-#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206
-#: utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
+#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206 utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
 #, c-format
 msgid "malformed record literal: \"%s\""
 msgstr "enregistrement litéral invalide : « %s »"
@@ -20880,16 +20271,14 @@ msgstr "mauvais type de donn
 msgid "improper binary format in record column %d"
 msgstr "format binaire invalide dans l'enregistrement de la colonne %d"
 
-#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142
-#: utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673
+#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673
 #, c-format
 msgid "cannot compare dissimilar column types %s and %s at record column %d"
 msgstr ""
 "ne peut pas comparer les types de colonnes non similaires %s et %s pour la\n"
 "colonne %d de l'enregistrement"
 
-#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213
-#: utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769
+#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769
 #, c-format
 msgid "cannot compare record types with different numbers of columns"
 msgstr ""
@@ -20931,8 +20320,7 @@ msgstr "la pr
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp en dehors de limites : « %s »"
 
-#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:463
-#: utils/adt/timestamp.c:993
+#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:463 utils/adt/timestamp.c:993
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "la valeur date/time « %s » n'est plus supportée"
@@ -20962,27 +20350,17 @@ msgstr "Les fuseaux horaires num
 msgid "numeric time zone \"%s\" out of range"
 msgstr "le fuseau horaire numérique « %s » est en dehors des limites"
 
-#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641
-#: utils/adt/timestamp.c:653
+#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641 utils/adt/timestamp.c:653
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp en dehors de limites : %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776
-#: utils/adt/timestamp.c:791
-#, fuzzy, c-format
-#| msgid "timestamp out of range: \"%s\""
+#: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776 utils/adt/timestamp.c:791
+#, c-format
 msgid "timestamp out of range: \"%g\""
-msgstr "timestamp en dehors de limites : « %s »"
+msgstr "timestamp en dehors de limites : « %g »"
 
-#: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558
-#: utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220
-#: utils/adt/timestamp.c:3225 utils/adt/timestamp.c:3230
-#: utils/adt/timestamp.c:3280 utils/adt/timestamp.c:3287
-#: utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3314
-#: utils/adt/timestamp.c:3321 utils/adt/timestamp.c:3328
-#: utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3366
-#: utils/adt/timestamp.c:3411 utils/adt/timestamp.c:3751
+#: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558 utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220 utils/adt/timestamp.c:3225 utils/adt/timestamp.c:3230 utils/adt/timestamp.c:3280 utils/adt/timestamp.c:3287 utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3314 utils/adt/timestamp.c:3321 utils/adt/timestamp.c:3328 utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3366 utils/adt/timestamp.c:3411 utils/adt/timestamp.c:3751
 #: utils/adt/timestamp.c:3880 utils/adt/timestamp.c:4271
 #, c-format
 msgid "interval out of range"
@@ -21013,28 +20391,24 @@ msgstr "La pr
 msgid "cannot subtract infinite timestamps"
 msgstr "ne peut pas soustraire les valeurs timestamps infinies"
 
-#: utils/adt/timestamp.c:4006 utils/adt/timestamp.c:4531
-#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4740
+#: utils/adt/timestamp.c:4006 utils/adt/timestamp.c:4531 utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4740
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "les unités timestamp « %s » ne sont pas supportées"
 
-#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4485
-#: utils/adt/timestamp.c:4750
+#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4485 utils/adt/timestamp.c:4750
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "les unité « %s » ne sont pas reconnues pour le type timestamp"
 
-#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4526
-#: utils/adt/timestamp.c:4937 utils/adt/timestamp.c:4963
+#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4526 utils/adt/timestamp.c:4937 utils/adt/timestamp.c:4963
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr ""
 "les unités « %s » ne sont pas supportées pour le type  « timestamp with time\n"
 "zone »"
 
-#: utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4480
-#: utils/adt/timestamp.c:4972
+#: utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4480 utils/adt/timestamp.c:4972
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr ""
@@ -21086,8 +20460,7 @@ msgstr "gtsvector_in n'est pas encore impl
 msgid "distance in phrase operator should not be greater than %d"
 msgstr ""
 
-#: utils/adt/tsquery.c:254 utils/adt/tsquery.c:513
-#: utils/adt/tsvector_parser.c:141
+#: utils/adt/tsquery.c:254 utils/adt/tsquery.c:513 utils/adt/tsvector_parser.c:141
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "erreur de syntaxe dans tsquery : « %s »"
@@ -21169,8 +20542,7 @@ msgstr "le mot est trop long (%ld octets, max %ld octets)"
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "la chaîne est trop longue pour tsvector (%ld octets, max %ld octets)"
 
-#: utils/adt/tsvector_op.c:317 utils/adt/tsvector_op.c:565
-#: utils/adt/tsvector_op.c:731
+#: utils/adt/tsvector_op.c:317 utils/adt/tsvector_op.c:565 utils/adt/tsvector_op.c:731
 #, fuzzy, c-format
 #| msgid "array must not contain nulls"
 msgid "lexeme array may not contain nulls"
@@ -21183,10 +20555,9 @@ msgid "weight array may not contain nulls"
 msgstr "le tableau ne doit pas contenir de valeurs NULL"
 
 #: utils/adt/tsvector_op.c:809
-#, fuzzy, c-format
-#| msgid "unrecognized encoding: \"%s\""
+#, c-format
 msgid "unrecognized weight: \"%c\""
-msgstr "encodage non reconnu : « %s »"
+msgstr "poids non reconnu : « %c »"
 
 #: utils/adt/tsvector_op.c:1978
 #, c-format
@@ -21300,9 +20671,7 @@ msgstr "longueur invalide dans la cha
 msgid "bit string too long for type bit varying(%d)"
 msgstr "la chaîne bit est trop longue pour le type bit varying(%d)"
 
-#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:842
-#: utils/adt/varlena.c:906 utils/adt/varlena.c:1050 utils/adt/varlena.c:2735
-#: utils/adt/varlena.c:2802
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:842 utils/adt/varlena.c:906 utils/adt/varlena.c:1050 utils/adt/varlena.c:2735 utils/adt/varlena.c:2802
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "longueur de sous-chaîne négative non autorisée"
@@ -21357,8 +20726,7 @@ msgstr "n'a pas pu convertir la cha
 msgid "could not compare Unicode strings: %m"
 msgstr "n'a pas pu comparer les chaînes unicode : %m"
 
-#: utils/adt/varlena.c:2880 utils/adt/varlena.c:2911 utils/adt/varlena.c:2947
-#: utils/adt/varlena.c:2990
+#: utils/adt/varlena.c:2880 utils/adt/varlena.c:2911 utils/adt/varlena.c:2947 utils/adt/varlena.c:2990
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "index %d en dehors des limites valides, 0..%d"
@@ -21369,10 +20737,9 @@ msgid "field position must be greater than zero"
 msgstr "la position du champ doit être plus grand que zéro"
 
 #: utils/adt/varlena.c:4804
-#, fuzzy, c-format
-#| msgid "unterminated format specifier"
+#, c-format
 msgid "unterminated format() type specifier"
-msgstr "spécificateur de format non terminé"
+msgstr "spécificateur de type pour format() non terminé"
 
 #: utils/adt/varlena.c:4805 utils/adt/varlena.c:4939 utils/adt/varlena.c:5060
 #, c-format
@@ -21380,16 +20747,14 @@ msgid "For a single \"%%\" use \"%%%%\"."
 msgstr ""
 
 #: utils/adt/varlena.c:4937 utils/adt/varlena.c:5058
-#, fuzzy, c-format
-#| msgid "unrecognized conversion type specifier \"%c\""
+#, c-format
 msgid "unrecognized format() type specifier \"%c\""
-msgstr "spécificateur de type de conversion « %c » non reconnu"
+msgstr "spécificateur de type « %c » pour format() non reconnu"
 
 #: utils/adt/varlena.c:4950
-#, fuzzy, c-format
-#| msgid "too few arguments for format"
+#, c-format
 msgid "too few arguments for format()"
-msgstr "trop peu d'arguments pour le format"
+msgstr "trop peu d'arguments pour format()"
 
 #: utils/adt/varlena.c:5007
 #, c-format
@@ -21572,8 +20937,7 @@ msgstr "ni le nom de l'espace de noms ni l'URI ne peuvent 
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "n'a pas pu enregistrer l'espace de noms XML de nom « %s » et d'URI « %s »"
 
-#: utils/cache/lsyscache.c:2580 utils/cache/lsyscache.c:2613
-#: utils/cache/lsyscache.c:2646 utils/cache/lsyscache.c:2679
+#: utils/cache/lsyscache.c:2580 utils/cache/lsyscache.c:2613 utils/cache/lsyscache.c:2646 utils/cache/lsyscache.c:2679
 #, c-format
 msgid "type %s is only a shell"
 msgstr "le type %s est seulement un shell"
@@ -21697,8 +21061,7 @@ msgstr "[inconnu]"
 msgid "missing error text"
 msgstr "texte d'erreur manquant"
 
-#: utils/error/elog.c:2875 utils/error/elog.c:2878 utils/error/elog.c:3282
-#: utils/error/elog.c:3285
+#: utils/error/elog.c:2875 utils/error/elog.c:2878 utils/error/elog.c:3282 utils/error/elog.c:3285
 #, c-format
 msgid " at character %d"
 msgstr " au caractère %d"
@@ -22030,8 +21393,7 @@ msgstr ""
 "Le fichier semble avoir été oublié accidentellement mais il ne peut pas être\n"
 "supprimé. Merci de supprimer ce fichier manuellement et de ré-essayer."
 
-#: utils/init/miscinit.c:1022 utils/init/miscinit.c:1033
-#: utils/init/miscinit.c:1043
+#: utils/init/miscinit.c:1022 utils/init/miscinit.c:1033 utils/init/miscinit.c:1043
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier verrou « %s » : %m"
@@ -22235,14 +21597,12 @@ msgstr "n'a pas pu acc
 msgid "invalid encoding number: %d"
 msgstr "numéro d'encodage invalide : %d"
 
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:137
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:169
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:137 utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:169
 #, c-format
 msgid "unexpected encoding ID %d for ISO 8859 character sets"
 msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères ISO-8859"
 
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:127
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:159
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:127 utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:159
 #, c-format
 msgid "unexpected encoding ID %d for WIN character sets"
 msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN"
@@ -23123,10 +22483,8 @@ msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Ceci inclut les opérations comme VACUUM et CREATE INDEX."
 
 #: utils/misc/guc.c:1933
-#, fuzzy
-#| msgid "Sets the maximum number of temporary buffers used by each session."
 msgid "Sets the maximum number of tuples to be sorted using replacement selection."
-msgstr "Nombre maximum de tampons en mémoire partagée utilisés par chaque session."
+msgstr "Configure le nombre maximum de lignes à trier en utilisant la sélection de remplacement."
 
 #: utils/misc/guc.c:1934
 msgid "When more tuples than this are present, quicksort will be used."
@@ -23207,10 +22565,8 @@ msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Initialise la durée maximum permise pour toute attente d'un verrou."
 
 #: utils/misc/guc.c:2110
-#, fuzzy
-#| msgid "Sets the maximum allowed duration of any statement."
 msgid "Sets the maximum allowed duration of any idling transaction."
-msgstr "Initialise la durée maximum permise pour toute instruction."
+msgstr "Initialise la durée maximale autorisée pour toute transaction en attente."
 
 #: utils/misc/guc.c:2121
 msgid "Minimum age at which VACUUM should freeze a table row."
@@ -23478,10 +22834,8 @@ msgid "Sets the maximum number of simultaneously running autovacuum worker proce
 msgstr "Initialise le nombre maximum de processus autovacuum exécutés simultanément."
 
 #: utils/misc/guc.c:2661
-#, fuzzy
-#| msgid "Sets the maximum number of predicate locks per transaction."
 msgid "Sets the maximum number of parallel processes per executor node."
-msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
+msgstr "Initialise le nombre maximum de processus parallèles par n½ud d'exécution."
 
 #: utils/misc/guc.c:2671
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
@@ -23492,10 +22846,8 @@ msgid "Time before a snapshot is too old to read pages changed after the snapsho
 msgstr ""
 
 #: utils/misc/guc.c:2683
-#, fuzzy
-#| msgid "A value of 0 uses the system default."
 msgid "A value of -1 disables this feature."
-msgstr "Une valeur de 0 désactive la valeur système par défaut."
+msgstr "Une valeur de -1 désactive cette fonctionnalité."
 
 #: utils/misc/guc.c:2693
 msgid "Time between issuing TCP keepalives."
@@ -23596,20 +22948,12 @@ msgstr ""
 "chaque opérateur ou appel de fonction."
 
 #: utils/misc/guc.c:2870
-#, fuzzy
-#| msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend."
-msgstr ""
-"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
-"ligne."
+msgstr "Initialise l'estimation du planificateur pour le coût de passage de chaque ligne d'un processus fils vers le processus maître."
 
 #: utils/misc/guc.c:2880
-#, fuzzy
-#| msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query."
-msgstr ""
-"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
-"ligne."
+msgstr "Initialise l'estimation du planificateur pour le coût de démarrage des processus d'exécution de requêtes parallèles."
 
 #: utils/misc/guc.c:2891
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
@@ -23871,10 +23215,8 @@ msgid "Writes temporary statistics files to the specified directory."
 msgstr "Écrit les fichiers statistiques temporaires dans le répertoire indiqué."
 
 #: utils/misc/guc.c:3481
-#, fuzzy
-#| msgid "List of names of potential synchronous standbys."
 msgid "Number of synchronous standbys and list of names of potential synchronous ones."
-msgstr "Liste de noms de serveurs standbys synchrones potentiels."
+msgstr "Nombre de standbys synchrones et liste des noms des synchrones potentiels."
 
 #: utils/misc/guc.c:3492
 msgid "Sets default text search configuration."
@@ -23908,8 +23250,7 @@ msgstr "Initialise le format de sortie pour bytea."
 msgid "Sets the message levels that are sent to the client."
 msgstr "Initialise les niveaux de message envoyés au client."
 
-#: utils/misc/guc.c:3584 utils/misc/guc.c:3637 utils/misc/guc.c:3648
-#: utils/misc/guc.c:3714
+#: utils/misc/guc.c:3584 utils/misc/guc.c:3637 utils/misc/guc.c:3648 utils/misc/guc.c:3714
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr ""
 "Chaque niveau inclut les niveaux qui suivent. Plus loin sera le niveau,\n"
@@ -24022,14 +23363,9 @@ msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n"
 
 #: utils/misc/guc.c:4606
-#, fuzzy, c-format
-#| msgid ""
-#| "%s initializes a PostgreSQL database cluster.\n"
-#| "\n"
+#, c-format
 msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
-msgstr ""
-"%s initialise un cluster PostgreSQL.\n"
-"\n"
+msgstr "Lancer initdb ou pg_basebackup pour initialiser un répertoire de données PostgreSQL.\n"
 
 #: utils/misc/guc.c:4626
 #, c-format
@@ -24042,10 +23378,9 @@ msgstr ""
 "soit initialiser la variable d'environnement.\n"
 
 #: utils/misc/guc.c:4645
-#, fuzzy, c-format
-#| msgid "%s cannot access the server configuration file \"%s\": %s\n"
+#, c-format
 msgid "%s: could not access the server configuration file \"%s\": %s\n"
-msgstr "%s ne peut pas accéder au fichier de configuration « %s » : %s\n"
+msgstr "%s : n'a pas pu accéder au fichier de configuration « %s » : %s\n"
 
 #: utils/misc/guc.c:4671
 #, c-format
@@ -24096,9 +23431,7 @@ msgstr "%g est en dehors des limites valides pour le param
 msgid "cannot set parameters during a parallel operation"
 msgstr "ne peut pas configurer les paramètres lors d'une opération parallèle"
 
-#: utils/misc/guc.c:5855 utils/misc/guc.c:6605 utils/misc/guc.c:6657
-#: utils/misc/guc.c:7018 utils/misc/guc.c:7778 utils/misc/guc.c:7946
-#: utils/misc/guc.c:9603
+#: utils/misc/guc.c:5855 utils/misc/guc.c:6605 utils/misc/guc.c:6657 utils/misc/guc.c:7018 utils/misc/guc.c:7778 utils/misc/guc.c:7946 utils/misc/guc.c:9603
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "paramètre de configuration « %s » non reconnu"
@@ -24228,10 +23561,9 @@ msgid "query-specified return tuple and function return type are not compatible"
 msgstr ""
 
 #: utils/misc/rls.c:127
-#, fuzzy, c-format
-#| msgid "remove a row level security policy from a table"
+#, c-format
 msgid "query would be affected by row-level security policy for table \"%s\""
-msgstr "supprimer une nouvelle politique de sécurité au niveau ligne pour une table"
+msgstr "la requête pourrait être affectée par une politique de sécurité au niveau ligne pour la table « %s »"
 
 #: utils/misc/rls.c:129
 #, c-format
@@ -24327,10 +23659,7 @@ msgstr ""
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Échec lors de la création du contexte mémoire « %s »."
 
-#: utils/mmgr/mcxt.c:771 utils/mmgr/mcxt.c:806 utils/mmgr/mcxt.c:843
-#: utils/mmgr/mcxt.c:880 utils/mmgr/mcxt.c:914 utils/mmgr/mcxt.c:943
-#: utils/mmgr/mcxt.c:977 utils/mmgr/mcxt.c:1059 utils/mmgr/mcxt.c:1093
-#: utils/mmgr/mcxt.c:1142
+#: utils/mmgr/mcxt.c:771 utils/mmgr/mcxt.c:806 utils/mmgr/mcxt.c:843 utils/mmgr/mcxt.c:880 utils/mmgr/mcxt.c:914 utils/mmgr/mcxt.c:943 utils/mmgr/mcxt.c:977 utils/mmgr/mcxt.c:1059 utils/mmgr/mcxt.c:1093 utils/mmgr/mcxt.c:1142
 #, c-format
 msgid "Failed on request of size %zu."
 msgstr "Échec d'une requête de taille %zu."
@@ -24366,10 +23695,9 @@ msgid "could not read block %ld of temporary file: %m"
 msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : %m"
 
 #: utils/sort/tuplesort.c:3360
-#, fuzzy, c-format
-#| msgid "cannot use more than %d columns in an index"
+#, c-format
 msgid "cannot have more than %d runs for an external sort"
-msgstr "ne peut pas utiliser plus de %d colonnes dans un index"
+msgstr "ne peut pas avoir plus de %d exécutions pour un tri externe"
 
 #: utils/sort/tuplesort.c:4416
 #, c-format
@@ -24386,23 +23714,17 @@ msgstr "La cl
 msgid "Duplicate keys exist."
 msgstr "Des clés dupliquées existent."
 
-#: utils/sort/tuplestore.c:515 utils/sort/tuplestore.c:525
-#: utils/sort/tuplestore.c:852 utils/sort/tuplestore.c:956
-#: utils/sort/tuplestore.c:1020 utils/sort/tuplestore.c:1037
-#: utils/sort/tuplestore.c:1239 utils/sort/tuplestore.c:1304
-#: utils/sort/tuplestore.c:1313
+#: utils/sort/tuplestore.c:515 utils/sort/tuplestore.c:525 utils/sort/tuplestore.c:852 utils/sort/tuplestore.c:956 utils/sort/tuplestore.c:1020 utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1239 utils/sort/tuplestore.c:1304 utils/sort/tuplestore.c:1313
 #, c-format
 msgid "could not seek in tuplestore temporary file: %m"
 msgstr "n'a pas pu se déplacer dans le fichier temporaire tuplestore : %m"
 
-#: utils/sort/tuplestore.c:1460 utils/sort/tuplestore.c:1533
-#: utils/sort/tuplestore.c:1539
+#: utils/sort/tuplestore.c:1460 utils/sort/tuplestore.c:1533 utils/sort/tuplestore.c:1539
 #, c-format
 msgid "could not read from tuplestore temporary file: %m"
 msgstr "n'a pas pu lire le fichier temporaire tuplestore : %m"
 
-#: utils/sort/tuplestore.c:1501 utils/sort/tuplestore.c:1506
-#: utils/sort/tuplestore.c:1512
+#: utils/sort/tuplestore.c:1501 utils/sort/tuplestore.c:1506 utils/sort/tuplestore.c:1512
 #, c-format
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "n'a pas pu écrire le fichier temporaire tuplestore : %m"
@@ -24417,11 +23739,7 @@ msgstr "La transaction source n'est plus en cours d'ex
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "ne peut pas exporter un snapshot dans un sous-transaction"
 
-#: utils/time/snapmgr.c:1246 utils/time/snapmgr.c:1251
-#: utils/time/snapmgr.c:1256 utils/time/snapmgr.c:1271
-#: utils/time/snapmgr.c:1276 utils/time/snapmgr.c:1281
-#: utils/time/snapmgr.c:1380 utils/time/snapmgr.c:1396
-#: utils/time/snapmgr.c:1421
+#: utils/time/snapmgr.c:1246 utils/time/snapmgr.c:1251 utils/time/snapmgr.c:1256 utils/time/snapmgr.c:1271 utils/time/snapmgr.c:1276 utils/time/snapmgr.c:1281 utils/time/snapmgr.c:1380 utils/time/snapmgr.c:1396 utils/time/snapmgr.c:1421
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "données invalides du snapshot dans le fichier « %s »"
diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po
index e0b6961ec74511524f30015580bb1ea742c22add..5bd8059a9d75e24dcfaf96af080539ae81ac616f 100644
--- a/src/backend/po/ru.po
+++ b/src/backend/po/ru.po
@@ -27,7 +27,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-02-08 21:38+0000\n"
+"POT-Creation-Date: 2016-06-14 20:38+0000\n"
 "PO-Revision-Date: 2016-02-10 14:52+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -41,6 +41,81 @@ 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/config_info.c:131 ../common/config_info.c:139
+#: ../common/config_info.c:147 ../common/config_info.c:155
+#: ../common/config_info.c:163 ../common/config_info.c:171
+#: ../common/config_info.c:179 ../common/config_info.c:187
+#: ../common/config_info.c:195
+msgid "not recorded"
+msgstr "не записано"
+
+#: ../common/controldata_utils.c:52 commands/copy.c:2798
+#: commands/extension.c:3120 utils/adt/genfile.c:134
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "не удалось открыть файл \"%s\" для чтения: %m"
+
+#: ../common/controldata_utils.c:56
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s: не удалось открыть файл \"%s\" для чтения: %s\n"
+
+#: ../common/controldata_utils.c:66 access/transam/timeline.c:346
+#: access/transam/xlog.c:3193 access/transam/xlog.c:10338
+#: access/transam/xlog.c:10351 access/transam/xlog.c:10714
+#: access/transam/xlog.c:10757 access/transam/xlog.c:10796
+#: access/transam/xlog.c:10839 access/transam/xlogfuncs.c:665
+#: access/transam/xlogfuncs.c:684 commands/extension.c:3130
+#: replication/logical/origin.c:665 replication/logical/origin.c:695
+#: replication/logical/reorderbuffer.c:3090 replication/walsender.c:499
+#: storage/file/copydir.c:176 utils/adt/genfile.c:151
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "не удалось прочитать файл \"%s\": %m"
+
+#: ../common/controldata_utils.c:69
+#, c-format
+msgid "%s: could not read file \"%s\": %s\n"
+msgstr "%s: не удалось прочитать файл \"%s\": %s\n"
+
+#: ../common/controldata_utils.c:86
+msgid "calculated CRC checksum does not match value stored in file"
+msgstr ""
+"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому "
+"в файле"
+
+#: ../common/controldata_utils.c:88
+#, c-format
+msgid ""
+"WARNING: Calculated CRC checksum does not match value stored in file.\n"
+"Either the file is corrupt, or it has a different layout than this program\n"
+"is expecting.  The results below are untrustworthy.\n"
+"\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: Вычисленная контрольная сумма не совпадает со значением в "
+"файле.\n"
+"Либо файл повреждён, либо его формат отличается от ожидаемого.\n"
+"Следующая информация может быть недостоверной.\n"
+"\n"
+
+#: ../common/controldata_utils.c:97
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../common/controldata_utils.c:99
+#, c-format
+msgid ""
+"WARNING: possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory.\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных.\n"
+
 #: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
@@ -77,8 +152,8 @@ msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
-#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:598
-#: ../port/path.c:636 ../port/path.c:653
+#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:632
+#: ../port/path.c:670 ../port/path.c:687
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -103,28 +178,28 @@ msgstr "не удалось прочитать каталог \"%s\": %s\n"
 msgid "could not close directory \"%s\": %s\n"
 msgstr "не удалось закрыть каталог \"%s\": %s\n"
 
-#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
-#: ../port/path.c:651 access/transam/xlog.c:6041 lib/stringinfo.c:258
-#: libpq/auth.c:820 libpq/auth.c:1181 libpq/auth.c:1249 libpq/auth.c:1660
-#: postmaster/bgworker.c:289 postmaster/bgworker.c:797
-#: postmaster/postmaster.c:2317 postmaster/postmaster.c:2348
-#: postmaster/postmaster.c:3867 postmaster/postmaster.c:4557
-#: postmaster/postmaster.c:4625 postmaster/postmaster.c:5315
-#: postmaster/postmaster.c:5568 replication/logical/logical.c:167
-#: storage/buffer/localbuf.c:396 storage/file/fd.c:481 storage/file/fd.c:878
-#: storage/file/fd.c:996 storage/file/fd.c:1609 storage/ipc/procarray.c:907
-#: storage/ipc/procarray.c:1393 storage/ipc/procarray.c:1400
-#: storage/ipc/procarray.c:1793 storage/ipc/procarray.c:2377
-#: utils/adt/formatting.c:1523 utils/adt/formatting.c:1643
-#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4199
-#: utils/adt/varlena.c:4220 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:411
-#: utils/hash/dynahash.c:488 utils/hash/dynahash.c:1002 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3723 utils/misc/guc.c:3739
-#: utils/misc/guc.c:3752 utils/misc/guc.c:6686 utils/misc/tzparser.c:470
-#: utils/mmgr/aset.c:504 utils/mmgr/mcxt.c:688 utils/mmgr/mcxt.c:723
-#: utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:831
-#: utils/mmgr/mcxt.c:860 utils/mmgr/mcxt.c:894 utils/mmgr/mcxt.c:974
-#: utils/mmgr/mcxt.c:1007 utils/mmgr/mcxt.c:1054
+#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668
+#: ../port/path.c:685 access/transam/twophase.c:1261 access/transam/xlog.c:6069
+#: lib/stringinfo.c:258 libpq/auth.c:847 libpq/auth.c:1210 libpq/auth.c:1278
+#: libpq/auth.c:1794 postmaster/bgworker.c:289 postmaster/bgworker.c:797
+#: postmaster/postmaster.c:2322 postmaster/postmaster.c:2353
+#: postmaster/postmaster.c:3886 postmaster/postmaster.c:4576
+#: postmaster/postmaster.c:4644 postmaster/postmaster.c:5343
+#: postmaster/postmaster.c:5596 replication/logical/logical.c:170
+#: storage/buffer/localbuf.c:436 storage/file/fd.c:729 storage/file/fd.c:1126
+#: storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060
+#: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
+#: storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570
+#: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
+#: utils/adt/formatting.c:1763 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
+#: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431
+#: utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3875 utils/misc/guc.c:3891
+#: utils/misc/guc.c:3904 utils/misc/guc.c:6850 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:505 utils/mmgr/mcxt.c:770 utils/mmgr/mcxt.c:805
+#: utils/mmgr/mcxt.c:842 utils/mmgr/mcxt.c:879 utils/mmgr/mcxt.c:913
+#: utils/mmgr/mcxt.c:942 utils/mmgr/mcxt.c:976 utils/mmgr/mcxt.c:1058
+#: utils/mmgr/mcxt.c:1092 utils/mmgr/mcxt.c:1141
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
@@ -191,7 +266,7 @@ msgstr "ошибка при удалении файла или каталога
 msgid "could not look up effective user ID %ld: %s"
 msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
 
-#: ../common/username.c:47 libpq/auth.c:1607
+#: ../common/username.c:47 libpq/auth.c:1741
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
@@ -235,40 +310,39 @@ msgstr "дочерний процесс завершён по сигналу %d"
 msgid "child process exited with unrecognized status %d"
 msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
 
-#: ../port/chklocale.c:259
+#: ../port/chklocale.c:293
 #, c-format
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "не удалось определить кодировку для набора символов \"%s\""
 
-#: ../port/chklocale.c:260 ../port/chklocale.c:389
-#: postmaster/postmaster.c:4857
+#: ../port/chklocale.c:294 ../port/chklocale.c:423 postmaster/postmaster.c:4876
 #, c-format
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr ""
 "Пожалуйста, напишите об этой ошибке по адресу <pgsql-bugs@postgresql.org>."
 
-#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#: ../port/chklocale.c:415 ../port/chklocale.c:421
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr ""
 "не удалось определить кодировку для локали \"%s\": набор символов - \"%s\""
 
-#: ../port/dirmod.c:216
+#: ../port/dirmod.c:218
 #, c-format
 msgid "could not set junction for \"%s\": %s"
 msgstr "не удалось создать связь для каталога \"%s\": %s"
 
-#: ../port/dirmod.c:219
+#: ../port/dirmod.c:221
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "не удалось создать связь для каталога \"%s\": %s\n"
 
-#: ../port/dirmod.c:291
+#: ../port/dirmod.c:295
 #, c-format
 msgid "could not get junction for \"%s\": %s"
 msgstr "не удалось получить связь для каталога \"%s\": %s"
 
-#: ../port/dirmod.c:294
+#: ../port/dirmod.c:298
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "не удалось получить связь для каталога \"%s\": %s\n"
@@ -300,7 +374,7 @@ msgstr ""
 "Возможно, работе СУБД мешает антивирус, программа резервного копирования или "
 "что-то подобное."
 
-#: ../port/path.c:620
+#: ../port/path.c:654
 #, c-format
 msgid "could not get current working directory: %s\n"
 msgstr "не удалось определить текущий рабочий каталог: %s\n"
@@ -310,12 +384,12 @@ msgstr "не удалось определить текущий рабочий 
 msgid "unrecognized error %d"
 msgstr "нераспознанная ошибка %d"
 
-#: access/brin/brin.c:814
+#: access/brin/brin.c:813
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "\"%s\" - это не индекс BRIN"
 
-#: access/brin/brin.c:830
+#: access/brin/brin.c:829
 #, c-format
 msgid "could not open parent table of index %s"
 msgstr "не удалось родительскую таблицу индекса %s"
@@ -327,12 +401,69 @@ msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr ""
 "размер строки индекса (%lu) больше предельного размера (%lu) (индекс \"%s\")"
 
-#: access/brin/brin_revmap.c:449
+#: access/brin/brin_revmap.c:459
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "неожиданный тип страницы 0x%04X в BRIN-индексе \"%s\" (блок: %u)"
 
-#: access/common/heaptuple.c:708 access/common/heaptuple.c:1450
+#: access/brin/brin_validate.c:115
+#, c-format
+msgid "brin opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов brin %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/brin/brin_validate.c:131
+#, c-format
+msgid ""
+"brin opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr ""
+"семейство операторов brin %s содержит функцию %s с неподходящим объявлением "
+"для опорного номера %d"
+
+#: access/brin/brin_validate.c:153
+#, c-format
+msgid "brin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов brin %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/brin/brin_validate.c:182
+#, c-format
+msgid ""
+"brin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов brin %s содержит некорректное определение ORDER BY для "
+"оператора %s"
+
+#: access/brin/brin_validate.c:195
+#, c-format
+msgid "brin opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов brin %s содержит оператор %s с неподходящим объявлением"
+
+#: access/brin/brin_validate.c:233
+#, c-format
+msgid "brin opfamily %s is missing operator(s) for types %s and %s"
+msgstr "в семействе операторов brin %s нет оператора(ов) для типов %s и %s"
+
+#: access/brin/brin_validate.c:243
+#, c-format
+msgid "brin opfamily %s is missing support function(s) for types %s and %s"
+msgstr "в семействе операторов brin %s нет опорных функций для типов %s и %s"
+
+#: access/brin/brin_validate.c:256
+#, c-format
+msgid "brin opclass %s is missing operator(s)"
+msgstr "в классе операторов brin %s нет оператора(ов)"
+
+#: access/brin/brin_validate.c:267
+#, c-format
+msgid "brin opclass %s is missing support function %d"
+msgstr "в классе операторов brin %s нет опорной функции %d"
+
+#: access/common/heaptuple.c:708 access/common/heaptuple.c:1339
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "число столбцов (%d) превышает предел (%d)"
@@ -342,68 +473,68 @@ msgstr "число столбцов (%d) превышает предел (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "число столбцов индекса (%d) превышает предел (%d)"
 
-#: access/common/indextuple.c:176 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:176 access/spgist/spgutils.c:641
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "строка индекса требует байт: %zu, при максимуме: %zu"
 
 #: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
-#: tcop/postgres.c:1730
+#: tcop/postgres.c:1721
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "неподдерживаемый код формата: %d"
 
-#: access/common/reloptions.c:419
+#: access/common/reloptions.c:493
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "превышен предел пользовательских типов реляционных параметров"
 
-#: access/common/reloptions.c:701
+#: access/common/reloptions.c:775
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "В RESET не должно передаваться значение параметров"
 
-#: access/common/reloptions.c:734
+#: access/common/reloptions.c:808
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "нераспознанное пространство имён параметров \"%s\""
 
-#: access/common/reloptions.c:974 parser/parse_clause.c:279
+#: access/common/reloptions.c:1050 parser/parse_clause.c:281
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "нераспознанный параметр \"%s\""
 
-#: access/common/reloptions.c:1004
+#: access/common/reloptions.c:1080
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "параметр \"%s\" указан неоднократно"
 
-#: access/common/reloptions.c:1020
+#: access/common/reloptions.c:1096
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "неверное значение для логического параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1032
+#: access/common/reloptions.c:1108
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "неверное значение для целочисленного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1038 access/common/reloptions.c:1058
+#: access/common/reloptions.c:1114 access/common/reloptions.c:1134
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "значение %s вне допустимых пределов параметра \"%s\""
 
-#: access/common/reloptions.c:1040
+#: access/common/reloptions.c:1116
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Допускаются значения только от \"%d\" до \"%d\"."
 
-#: access/common/reloptions.c:1052
+#: access/common/reloptions.c:1128
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "неверное значение для численного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1060
+#: access/common/reloptions.c:1136
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Допускаются значения только от \"%f\" до \"%f\"."
@@ -438,31 +569,119 @@ msgstr "Атрибут \"%s\" типа %s не существует в типе
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "столбец \"%s\" не может быть объявлен как SETOF"
 
-#: access/gin/ginentrypage.c:109 access/gist/gist.c:1289
-#: access/nbtree/nbtinsert.c:567 access/nbtree/nbtsort.c:488
+#: access/gin/ginbulk.c:44
+#, c-format
+msgid "posting list is too long"
+msgstr "слишком длинный список указателей"
+
+#: access/gin/ginbulk.c:45
+#, c-format
+msgid "Reduce maintenance_work_mem."
+msgstr "Уменьшите maintenance_work_mem."
+
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1338
+#: access/nbtree/nbtinsert.c:576 access/nbtree/nbtsort.c:488
 #: access/spgist/spgdoinsert.c:1907
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr ""
 "размер строки индекса (%zu) больше предельного размера (%zu) (индекс \"%s\")"
 
-#: access/gin/ginscan.c:410
+#: access/gin/ginfast.c:991 access/transam/xlog.c:9795
+#: access/transam/xlog.c:10266 access/transam/xlogfuncs.c:293
+#: access/transam/xlogfuncs.c:320 access/transam/xlogfuncs.c:359
+#: access/transam/xlogfuncs.c:380 access/transam/xlogfuncs.c:401
+#: access/transam/xlogfuncs.c:471 access/transam/xlogfuncs.c:527
+#, c-format
+msgid "recovery is in progress"
+msgstr "идёт процесс восстановления"
+
+#: access/gin/ginfast.c:992
+#, c-format
+msgid "GIN pending list cannot be cleaned up during recovery."
+msgstr "Очередь записей GIN нельзя очистить в процессе восстановления."
+
+#: access/gin/ginfast.c:999
+#, c-format
+msgid "\"%s\" is not a GIN index"
+msgstr "\"%s\" - это не индекс GIN"
+
+#: access/gin/ginfast.c:1010
+#, c-format
+msgid "cannot access temporary indexes of other sessions"
+msgstr "обращаться к временным индексам других сеансов нельзя"
+
+#: access/gin/ginscan.c:409
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr ""
 "старые GIN-индексы не поддерживают сканирование всего индекса и поиск NULL"
 
-#: access/gin/ginscan.c:411
+#: access/gin/ginscan.c:410
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Для исправления выполните REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:632 access/gist/gistvacuum.c:266
+#: access/gin/ginvalidate.c:92
+#, c-format
+msgid ""
+"gin opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+"семейство операторов gin %s содержит опорную процедуру %s с межтиповой "
+"регистрацией"
+
+#: access/gin/ginvalidate.c:148
+#, c-format
+msgid "gin opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов gin %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/gin/ginvalidate.c:160
+#, c-format
+msgid ""
+"gin opfamily %s contains function %s with wrong signature for support number "
+"%d"
+msgstr ""
+"семейство операторов gin %s содержит функцию %s с неподходящим объявлением "
+"для опорного номера %d"
+
+#: access/gin/ginvalidate.c:179
+#, c-format
+msgid "gin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов gin %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/gin/ginvalidate.c:192
+#, c-format
+msgid "gin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов gin %s содержит некорректное определение ORDER BY для "
+"оператора %s"
+
+#: access/gin/ginvalidate.c:205
+#, c-format
+msgid "gin opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов gin %s содержит оператор %s с неподходящим объявлением"
+
+#: access/gin/ginvalidate.c:246
+#, c-format
+msgid "gin opclass %s is missing support function %d"
+msgstr "в классе операторов gin %s нет опорной функции %d"
+
+#: access/gin/ginvalidate.c:256
+#, c-format
+msgid "gin opclass %s is missing support function %d or %d"
+msgstr "в классе операторов gin %s нет опорной функции %d или %d"
+
+#: access/gist/gist.c:681 access/gist/gistvacuum.c:258
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "индекс \"%s\" содержит внутренний кортеж, отмеченный как ошибочный"
 
-#: access/gist/gist.c:634 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:683 access/gist/gistvacuum.c:260
 #, c-format
 msgid ""
 "This is caused by an incomplete page split at crash recovery before "
@@ -471,21 +690,21 @@ msgstr ""
 "Это вызвано неполным разделением страницы при восстановлении после сбоя в "
 "PostgreSQL до версии 9.1."
 
-#: access/gist/gist.c:635 access/gist/gistutil.c:735
-#: access/gist/gistutil.c:746 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:518 access/nbtree/nbtpage.c:529
+#: access/gist/gist.c:684 access/gist/gistutil.c:735 access/gist/gistutil.c:746
+#: access/gist/gistvacuum.c:261 access/hash/hashutil.c:172
+#: access/hash/hashutil.c:183 access/hash/hashutil.c:195
+#: access/hash/hashutil.c:216 access/nbtree/nbtpage.c:518
+#: access/nbtree/nbtpage.c:529
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Пожалуйста, выполните REINDEX для него."
 
-#: access/gist/gistbuild.c:252
+#: access/gist/gistbuild.c:249
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "неверное значение для параметра \"buffering\""
 
-#: access/gist/gistbuild.c:253
+#: access/gist/gistbuild.c:250
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Допускаются только значения \"on\", \"off\" и \"auto\"."
@@ -522,13 +741,72 @@ msgstr "в индексе \"%s\" неожиданно оказалась нул
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u"
 
+#: access/gist/gistvalidate.c:92
+#, c-format
+msgid ""
+"gist opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+"семейство операторов gist %s содержит опорную процедуру %s с межтиповой "
+"регистрацией"
+
+#: access/gist/gistvalidate.c:145
+#, c-format
+msgid "gist opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов gist %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/gist/gistvalidate.c:157
+#, c-format
+msgid ""
+"gist opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr ""
+"семейство операторов gist %s содержит функцию %s с неподходящим объявлением "
+"для опорного номера %d"
+
+#: access/gist/gistvalidate.c:177
+#, c-format
+msgid "gist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов gist %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/gist/gistvalidate.c:195
+#, c-format
+msgid ""
+"gist opfamily %s contains unsupported ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов gist %s содержит неподдерживаемое определение ORDER BY "
+"для оператора %s"
+
+#: access/gist/gistvalidate.c:206
+#, c-format
+msgid ""
+"gist opfamily %s contains incorrect ORDER BY opfamily specification for "
+"operator %s"
+msgstr ""
+"семейство операторов gist %s содержит некорректное определение ORDER BY для "
+"оператора %s"
+
+#: access/gist/gistvalidate.c:225
+#, c-format
+msgid "gist opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов gist %s содержит оператор %s с неподходящим объявлением"
+
+#: access/gist/gistvalidate.c:264
+#, c-format
+msgid "gist opclass %s is missing support function %d"
+msgstr "в классе операторов gist %s нет опорной функции %d"
+
 #: access/hash/hashinsert.c:68
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "размер строки индекса (%zu) больше предельного размера хеша (%zu)"
 
 #: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911
-#: access/spgist/spgutils.c:666
+#: access/spgist/spgutils.c:702
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать."
@@ -553,56 +831,117 @@ msgstr "индекс \"%s\" не является хеш-индексом"
 msgid "index \"%s\" has wrong hash version"
 msgstr "индекс \"%s\" имеет неправильную версию хеша"
 
-#: access/heap/heapam.c:1074 access/heap/heapam.c:1126
+#: access/hash/hashvalidate.c:98
 #, c-format
-msgid "cannot access temporary tables during a parallel operation"
-msgstr "обращаться к временным таблицам во время параллельных операций нельзя"
+msgid ""
+"hash opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+"семейство операторов hash %s содержит опорную процедуру %s с межтиповой "
+"регистрацией"
+
+#: access/hash/hashvalidate.c:113
+#, c-format
+msgid ""
+"hash opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr ""
+"семейство операторов hash %s содержит функцию %s с неподходящим объявлением "
+"для опорного номера %d"
+
+#: access/hash/hashvalidate.c:130
+#, c-format
+msgid "hash opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов hash %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/hash/hashvalidate.c:151
+#, c-format
+msgid "hash opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов hash %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/hash/hashvalidate.c:164
+#, c-format
+msgid ""
+"hash opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов hash %s содержит некорректное определение ORDER BY для "
+"оператора %s"
 
-#: access/heap/heapam.c:1243 access/heap/heapam.c:1271
-#: access/heap/heapam.c:1303 catalog/aclchk.c:1733
+#: access/hash/hashvalidate.c:177
+#, c-format
+msgid "hash opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов hash %s содержит оператор %s с неподходящим объявлением"
+
+#: access/hash/hashvalidate.c:189
+#, c-format
+msgid "hash opfamily %s lacks support function for operator %s"
+msgstr ""
+"в семействе операторов hash %s не хватает опорной функции для оператора %s"
+
+#: access/hash/hashvalidate.c:217
+#, c-format
+msgid "hash opfamily %s is missing operator(s) for types %s and %s"
+msgstr "в семействе операторов hash %s нет оператора(ов) для типов %s и %s"
+
+#: access/hash/hashvalidate.c:231
+#, c-format
+msgid "hash opclass %s is missing operator(s)"
+msgstr "в классе операторов hash %s нет оператора(ов)"
+
+#: access/hash/hashvalidate.c:247
+#, c-format
+msgid "hash opfamily %s is missing cross-type operator(s)"
+msgstr "в семействе операторов hash %s нет межтипового оператора(ов)"
+
+#: access/heap/heapam.c:1295 access/heap/heapam.c:1323
+#: access/heap/heapam.c:1355 catalog/aclchk.c:1748
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" - это индекс"
 
-#: access/heap/heapam.c:1248 access/heap/heapam.c:1276
-#: access/heap/heapam.c:1308 catalog/aclchk.c:1740 commands/tablecmds.c:8954
-#: commands/tablecmds.c:11995
+#: access/heap/heapam.c:1300 access/heap/heapam.c:1328
+#: access/heap/heapam.c:1360 catalog/aclchk.c:1755 commands/tablecmds.c:8984
+#: commands/tablecmds.c:12042
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" - это составной тип"
 
-#: access/heap/heapam.c:2344
+#: access/heap/heapam.c:2567
 #, c-format
 msgid "cannot insert tuples during a parallel operation"
 msgstr "вставлять кортежи во время параллельных операций нельзя"
 
-#: access/heap/heapam.c:2794
+#: access/heap/heapam.c:3017
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "удалять кортежи во время параллельных операций нельзя"
 
-#: access/heap/heapam.c:2840
+#: access/heap/heapam.c:3063
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "попытка удаления невидимого кортежа"
 
-#: access/heap/heapam.c:3267 access/heap/heapam.c:5818
+#: access/heap/heapam.c:3490 access/heap/heapam.c:6041
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "изменять кортежи во время параллельных операций нельзя"
 
-#: access/heap/heapam.c:3389
+#: access/heap/heapam.c:3612
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "попытка изменения невидимого кортежа"
 
-#: access/heap/heapam.c:4640 access/heap/heapam.c:4678
-#: access/heap/heapam.c:4901 executor/execMain.c:2279
+#: access/heap/heapam.c:4863 access/heap/heapam.c:4901
+#: access/heap/heapam.c:5124 executor/execMain.c:2312
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "не удалось получить блокировку строки в таблице \"%s\""
 
-#: access/heap/hio.c:253 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:322 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "размер строки (%zu) превышает предел (%zu)"
@@ -614,23 +953,22 @@ msgstr "не удалось записать в файл \"%s\" (записан
 
 #: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
 #: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
-#: access/transam/timeline.c:497 access/transam/xlog.c:3011
-#: access/transam/xlog.c:3173 replication/logical/origin.c:613
-#: replication/logical/snapbuild.c:1592 replication/slot.c:1026
-#: replication/slot.c:1115 storage/file/fd.c:459 storage/file/fd.c:2718
-#: storage/smgr/md.c:982 storage/smgr/md.c:1213 storage/smgr/md.c:1386
-#: utils/misc/guc.c:6708
+#: access/transam/timeline.c:483 access/transam/xlog.c:3060
+#: access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607
+#: replication/slot.c:1078 replication/slot.c:1163 storage/file/fd.c:624
+#: storage/file/fd.c:3052 storage/smgr/md.c:1044 storage/smgr/md.c:1277
+#: storage/smgr/md.c:1450 utils/misc/guc.c:6872
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
 
 #: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
-#: access/transam/timeline.c:315 access/transam/timeline.c:475
-#: access/transam/xlog.c:2967 access/transam/xlog.c:3116
-#: access/transam/xlog.c:10105 access/transam/xlog.c:10141
-#: access/transam/xlog.c:10463 postmaster/postmaster.c:4332
-#: replication/logical/origin.c:542 replication/slot.c:983
-#: storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1071
+#: access/transam/timeline.c:315 access/transam/timeline.c:461
+#: access/transam/xlog.c:3016 access/transam/xlog.c:3165
+#: access/transam/xlog.c:10124 access/transam/xlog.c:10162
+#: access/transam/xlog.c:10489 postmaster/postmaster.c:4351
+#: replication/logical/origin.c:542 replication/slot.c:1035
+#: storage/file/copydir.c:162 storage/smgr/md.c:331 utils/time/snapmgr.c:1183
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "создать файл \"%s\" не удалось: %m"
@@ -640,86 +978,96 @@ msgstr "создать файл \"%s\" не удалось: %m"
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m"
 
-#: access/heap/rewriteheap.c:1156 replication/walsender.c:479
-#: storage/smgr/md.c:1798
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:481
+#: storage/smgr/md.c:1902
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "не удалось перейти к концу файла \"%s\": %m"
 
 #: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
-#: access/transam/timeline.c:401 access/transam/timeline.c:491
-#: access/transam/xlog.c:3002 access/transam/xlog.c:3166
-#: postmaster/postmaster.c:4342 postmaster/postmaster.c:4352
+#: access/transam/timeline.c:401 access/transam/timeline.c:477
+#: access/transam/xlog.c:3051 access/transam/xlog.c:3215
+#: postmaster/postmaster.c:4361 postmaster/postmaster.c:4371
 #: replication/logical/origin.c:551 replication/logical/origin.c:587
-#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1576
-#: replication/slot.c:1012 storage/file/copydir.c:187
-#: utils/init/miscinit.c:1199 utils/init/miscinit.c:1208
-#: utils/init/miscinit.c:1215 utils/misc/guc.c:6669 utils/misc/guc.c:6700
-#: utils/misc/guc.c:8498 utils/misc/guc.c:8512 utils/time/snapmgr.c:1076
-#: utils/time/snapmgr.c:1083
+#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1591
+#: replication/slot.c:1064 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
+#: utils/init/miscinit.c:1244 utils/misc/guc.c:6833 utils/misc/guc.c:6864
+#: utils/misc/guc.c:8706 utils/misc/guc.c:8720 utils/time/snapmgr.c:1188
+#: utils/time/snapmgr.c:1195
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "записать в файл \"%s\" не удалось: %m"
 
-#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10330
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10356
 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
-#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2421
-#: replication/logical/reorderbuffer.c:2478
-#: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
-#: replication/slot.c:1089 storage/ipc/dsm.c:326 storage/smgr/md.c:420
-#: storage/smgr/md.c:469 storage/smgr/md.c:1333
+#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2624
+#: replication/logical/reorderbuffer.c:2681
+#: replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910
+#: replication/slot.c:1137 storage/ipc/dsm.c:326 storage/smgr/md.c:431
+#: storage/smgr/md.c:480 storage/smgr/md.c:1397
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
 #: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:2943 access/transam/xlog.c:3060
-#: access/transam/xlog.c:3101 access/transam/xlog.c:3392
-#: access/transam/xlog.c:3470 replication/basebackup.c:398
-#: replication/basebackup.c:1159 replication/logical/logicalfuncs.c:154
-#: replication/logical/origin.c:677 replication/logical/reorderbuffer.c:2038
-#: replication/logical/reorderbuffer.c:2242
-#: replication/logical/reorderbuffer.c:2869
-#: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
-#: replication/slot.c:1104 replication/walsender.c:472
-#: replication/walsender.c:2100 storage/file/copydir.c:155
-#: storage/file/fd.c:445 storage/file/fd.c:2653 storage/file/fd.c:2705
-#: storage/smgr/md.c:602 storage/smgr/md.c:860 utils/error/elog.c:1854
-#: utils/init/miscinit.c:1134 utils/init/miscinit.c:1255
-#: utils/init/miscinit.c:1333 utils/misc/guc.c:6912 utils/misc/guc.c:6944
+#: access/transam/xlog.c:2992 access/transam/xlog.c:3109
+#: access/transam/xlog.c:3150 access/transam/xlog.c:3423
+#: access/transam/xlog.c:3501 access/transam/xlogutils.c:701
+#: replication/basebackup.c:401 replication/basebackup.c:1162
+#: replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2154
+#: replication/logical/reorderbuffer.c:2394
+#: replication/logical/reorderbuffer.c:3072
+#: replication/logical/snapbuild.c:1584 replication/logical/snapbuild.c:1668
+#: replication/slot.c:1152 replication/walsender.c:474
+#: replication/walsender.c:2104 storage/file/copydir.c:155
+#: storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031
+#: storage/smgr/md.c:613 utils/error/elog.c:1870 utils/init/miscinit.c:1163
+#: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7092
+#: utils/misc/guc.c:7125
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/index/indexam.c:172 catalog/objectaddress.c:1144
-#: commands/indexcmds.c:1754 commands/tablecmds.c:239
-#: commands/tablecmds.c:11986
+#: access/index/amapi.c:69 commands/amcmds.c:164
+#, c-format
+msgid "access method \"%s\" is not of type %s"
+msgstr "метод доступа \"%s\" имеет не тип %s"
+
+#: access/index/amapi.c:78
+#, c-format
+msgid "index access method \"%s\" does not have a handler"
+msgstr "для метода доступа индекса \"%s\" не задан обработчик"
+
+#: access/index/indexam.c:155 catalog/objectaddress.c:1196
+#: commands/indexcmds.c:1799 commands/tablecmds.c:241
+#: commands/tablecmds.c:12033
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" - это не индекс"
 
-#: access/nbtree/nbtinsert.c:419
+#: access/nbtree/nbtinsert.c:428
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "повторяющееся значение ключа нарушает ограничение уникальности \"%s\""
 
-#: access/nbtree/nbtinsert.c:421
+#: access/nbtree/nbtinsert.c:430
 #, c-format
 msgid "Key %s already exists."
 msgstr "Ключ \"%s\" уже существует."
 
-#: access/nbtree/nbtinsert.c:488
+#: access/nbtree/nbtinsert.c:497
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "не удалось повторно найти кортеж в индексе \"%s\""
 
-#: access/nbtree/nbtinsert.c:490
+#: access/nbtree/nbtinsert.c:499
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Возможно, это вызвано переменной природой индексного выражения."
 
-#: access/nbtree/nbtinsert.c:570 access/nbtree/nbtsort.c:491
+#: access/nbtree/nbtinsert.c:579 access/nbtree/nbtsort.c:491
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -732,7 +1080,7 @@ msgstr ""
 "полнотекстовую индексацию."
 
 #: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
-#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1665
+#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1715
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "индекс \"%s\" не является b-деревом"
@@ -758,11 +1106,130 @@ msgstr ""
 "Причиной тому могло быть прерывание операции VACUUM в версии 9.3 или старее, "
 "до обновления. Этот индекс нужно перестроить (REINDEX)."
 
-#: access/spgist/spgutils.c:663
+#: access/nbtree/nbtvalidate.c:100
+#, c-format
+msgid "btree opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов btree %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/nbtree/nbtvalidate.c:112
+#, c-format
+msgid ""
+"btree opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr ""
+"семейство операторов btree %s содержит функцию %s с неподходящим объявлением "
+"для опорного номера %d"
+
+#: access/nbtree/nbtvalidate.c:132
+#, c-format
+msgid "btree opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов btree %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/nbtree/nbtvalidate.c:145
+#, c-format
+msgid ""
+"btree opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов btree %s содержит некорректное определение ORDER BY для "
+"оператора %s"
+
+#: access/nbtree/nbtvalidate.c:158
+#, c-format
+msgid "btree opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов btree %s содержит оператор %s с неподходящим объявлением"
+
+#: access/nbtree/nbtvalidate.c:200
+#, c-format
+msgid "btree opfamily %s is missing operator(s) for types %s and %s"
+msgstr "в семействе операторов btree %s нет оператора(ов) для типов %s и %s"
+
+#: access/nbtree/nbtvalidate.c:210
+#, c-format
+msgid "btree opfamily %s is missing support function for types %s and %s"
+msgstr "в семействе операторов btree %s нет опорных функций для типов %s и %s"
+
+#: access/nbtree/nbtvalidate.c:224
+#, c-format
+msgid "btree opclass %s is missing operator(s)"
+msgstr "в классе операторов btree %s нет оператора(ов)"
+
+#: access/nbtree/nbtvalidate.c:241
+#, c-format
+msgid "btree opfamily %s is missing cross-type operator(s)"
+msgstr "в семействе операторов btree %s нет межтипового оператора(ов)"
+
+#: access/spgist/spgutils.c:699
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)"
 
+#: access/spgist/spgvalidate.c:92
+#, c-format
+msgid ""
+"spgist opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+"семейство операторов spgist %s содержит опорную процедуру %s с межтиповой "
+"регистрацией"
+
+#: access/spgist/spgvalidate.c:115
+#, c-format
+msgid "spgist opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+"семейство операторов spgist %s содержит функцию %s с неправильным опорным "
+"номером %d"
+
+#: access/spgist/spgvalidate.c:127
+#, c-format
+msgid ""
+"spgist opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr ""
+"семейство операторов spgist %s содержит функцию %s с неподходящим "
+"объявлением для опорного номера %d"
+
+#: access/spgist/spgvalidate.c:146
+#, c-format
+msgid "spgist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+"семейство операторов spgist %s содержит оператор %s с неправильным номером "
+"стратегии %d"
+
+#: access/spgist/spgvalidate.c:159
+#, c-format
+msgid ""
+"spgist opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+"семейство операторов spgist %s содержит некорректное определение ORDER BY "
+"для оператора %s"
+
+#: access/spgist/spgvalidate.c:172
+#, c-format
+msgid "spgist opfamily %s contains operator %s with wrong signature"
+msgstr ""
+"семейство операторов spgist %s содержит оператор %s с неподходящим "
+"объявлением"
+
+#: access/spgist/spgvalidate.c:200
+#, c-format
+msgid "spgist opfamily %s is missing operator(s) for types %s and %s"
+msgstr "в семействе операторов spgist %s нет оператора(ов) для типов %s и %s"
+
+#: access/spgist/spgvalidate.c:220
+#, c-format
+msgid "spgist opfamily %s is missing support function %d for type %s"
+msgstr ""
+"в семействе операторов spgist %s отсутствует опорная функция %d для типа %s"
+
+#: access/spgist/spgvalidate.c:233
+#, c-format
+msgid "spgist opclass %s is missing operator(s)"
+msgstr "в классе операторов spgist %s нет оператора(ов)"
+
 #: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156
 #, c-format
 msgid "sample percentage must be between 0 and 100"
@@ -785,12 +1252,12 @@ msgid ""
 msgstr ""
 "Убедитесь, что в конфигурации главного сервера установлен параметр \"%s\"."
 
-#: access/transam/commit_ts.c:389 libpq/hba.c:1424
+#: access/transam/commit_ts.c:389 libpq/hba.c:1441
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"."
 
-#: access/transam/multixact.c:1008
+#: access/transam/multixact.c:1000
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -799,8 +1266,8 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных \"%s\""
 
-#: access/transam/multixact.c:1010 access/transam/multixact.c:1017
-#: access/transam/multixact.c:1041 access/transam/multixact.c:1050
+#: access/transam/multixact.c:1002 access/transam/multixact.c:1009
+#: access/transam/multixact.c:1033 access/transam/multixact.c:1042
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -810,7 +1277,7 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:1015
+#: access/transam/multixact.c:1007
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -819,7 +1286,7 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных с OID %u"
 
-#: access/transam/multixact.c:1036 access/transam/multixact.c:2319
+#: access/transam/multixact.c:1028 access/transam/multixact.c:2317
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural ""
@@ -834,7 +1301,7 @@ msgstr[2] ""
 "база данных \"%s\" должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1045 access/transam/multixact.c:2328
+#: access/transam/multixact.c:1037 access/transam/multixact.c:2326
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %u more MultiXactId is used"
@@ -850,12 +1317,12 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1106
+#: access/transam/multixact.c:1098
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "слишком много членов мультитранзакции"
 
-#: access/transam/multixact.c:1107
+#: access/transam/multixact.c:1099
 #, c-format
 msgid ""
 "This command would create a multixact with %u members, but the remaining "
@@ -873,7 +1340,7 @@ msgstr[2] ""
 "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но "
 "оставшегося места хватает только для %u."
 
-#: access/transam/multixact.c:1112
+#: access/transam/multixact.c:1104
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in database with OID %u with reduced "
@@ -883,7 +1350,7 @@ msgstr ""
 "Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения "
 "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1143
+#: access/transam/multixact.c:1135
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %d more multixact member is used"
@@ -900,7 +1367,7 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, пока не использованы оставшиеся "
 "члены мультитранзакций (%d)"
 
-#: access/transam/multixact.c:1148
+#: access/transam/multixact.c:1140
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database with reduced "
@@ -910,24 +1377,24 @@ msgstr ""
 "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения "
 "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1286
+#: access/transam/multixact.c:1278
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u прекратил существование: видимо, произошло наложение"
 
-#: access/transam/multixact.c:1294
+#: access/transam/multixact.c:1286
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u ещё не был создан: видимо, произошло наложение"
 
-#: access/transam/multixact.c:2269
+#: access/transam/multixact.c:2267
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr ""
 "предел наложения MultiXactId равен %u, источник ограничения - база данных с "
 "OID %u"
 
-#: access/transam/multixact.c:2324 access/transam/multixact.c:2333
+#: access/transam/multixact.c:2322 access/transam/multixact.c:2331
 #: access/transam/varsup.c:146 access/transam/varsup.c:153
 #: access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
@@ -940,12 +1407,12 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:2603
+#: access/transam/multixact.c:2601
 #, c-format
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "смещение членов старейшей мультитранзакции: %u"
 
-#: access/transam/multixact.c:2607
+#: access/transam/multixact.c:2605
 #, c-format
 msgid ""
 "MultiXact member wraparound protections are disabled because oldest "
@@ -954,19 +1421,19 @@ msgstr ""
 "Защита от наложения членов мультитранзакций отключена, так как старейшая "
 "отмеченная мультитранзакция %u не найдена на диске"
 
-#: access/transam/multixact.c:2629
+#: access/transam/multixact.c:2627
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "Защита от наложения мультитранзакций сейчас включена"
 
-#: access/transam/multixact.c:2631
+#: access/transam/multixact.c:2629
 #, c-format
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr ""
 "Граница членов мультитранзакции сейчас: %u (при старейшей мультитранзакции "
 "%u)"
 
-#: access/transam/multixact.c:3011
+#: access/transam/multixact.c:3009
 #, c-format
 msgid ""
 "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
@@ -974,7 +1441,7 @@ msgstr ""
 "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, "
 "усечение пропускается"
 
-#: access/transam/multixact.c:3029
+#: access/transam/multixact.c:3027
 #, c-format
 msgid ""
 "cannot truncate up to MultiXact %u because it does not exist on disk, "
@@ -983,84 +1450,84 @@ msgstr ""
 "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на "
 "диске, усечение пропускается"
 
-#: access/transam/multixact.c:3355
+#: access/transam/multixact.c:3353
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "неверный MultiXactId: %u"
 
-#: access/transam/parallel.c:577
+#: access/transam/parallel.c:588
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster завершился в процессе параллельной транзакции"
 
-#: access/transam/parallel.c:668
+#: access/transam/parallel.c:746
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "потеряно подключение к параллельному исполнителю"
 
-#: access/transam/parallel.c:845
+#: access/transam/parallel.c:921
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "не удалось отобразить динамический сегмент разделяемой памяти"
 
-#: access/transam/parallel.c:850
+#: access/transam/parallel.c:926
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "неверное магическое число в динамическом сегменте разделяемой памяти"
 
-#: access/transam/parallel.c:1001
+#: access/transam/parallel.c:1098
 #, c-format
 msgid "parallel worker, PID %d"
 msgstr "параллельный исполнитель, PID %d"
 
-#: access/transam/slru.c:652
+#: access/transam/slru.c:665
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "файл \"%s\" не существует, считается нулевым"
 
-#: access/transam/slru.c:882 access/transam/slru.c:888
-#: access/transam/slru.c:895 access/transam/slru.c:902
-#: access/transam/slru.c:909 access/transam/slru.c:916
+#: access/transam/slru.c:895 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
+#: access/transam/slru.c:922 access/transam/slru.c:929
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "не удалось получить состояние транзакции %u"
 
-#: access/transam/slru.c:883
+#: access/transam/slru.c:896
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Не удалось открыть файл \"%s\": %m."
 
-#: access/transam/slru.c:889
+#: access/transam/slru.c:902
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "Не удалось переместиться в файле \"%s\" к смещению %u: %m."
 
-#: access/transam/slru.c:896
+#: access/transam/slru.c:909
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "Не удалось прочитать файл \"%s\" (по смещению %u): %m."
 
-#: access/transam/slru.c:903
+#: access/transam/slru.c:916
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "Не удалось записать в файл \"%s\" (по смещению %u): %m."
 
-#: access/transam/slru.c:910
+#: access/transam/slru.c:923
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Не удалось синхронизировать с ФС файл \"%s\": %m."
 
-#: access/transam/slru.c:917
+#: access/transam/slru.c:930
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Не удалось закрыть файл \"%s\": %m."
 
-#: access/transam/slru.c:1172
+#: access/transam/slru.c:1185
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "не удалось очистить каталог \"%s\": видимо, произошло наложение"
 
-#: access/transam/slru.c:1227 access/transam/slru.c:1283
+#: access/transam/slru.c:1240 access/transam/slru.c:1296
 #, c-format
 msgid "removing file \"%s\""
 msgstr "удаляется файл \"%s\""
@@ -1101,102 +1568,72 @@ msgid "Timeline IDs must be less than child timeline's ID."
 msgstr ""
 "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка."
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3144
-#: access/transam/xlog.c:10312 access/transam/xlog.c:10325
-#: access/transam/xlog.c:10688 access/transam/xlog.c:10731
-#: access/transam/xlog.c:10770 access/transam/xlog.c:10813
-#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:497
-#: commands/extension.c:3047 replication/logical/origin.c:684
-#: replication/logical/origin.c:714 replication/logical/reorderbuffer.c:2887
-#: replication/walsender.c:497 storage/file/copydir.c:176
-#: utils/adt/genfile.c:151
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "не удалось прочитать файл \"%s\": %m"
-
-#: access/transam/timeline.c:412 access/transam/timeline.c:502
-#: access/transam/xlog.c:3017 access/transam/xlog.c:3178
-#: access/transam/xlogfuncs.c:503 commands/copy.c:1631
+#: access/transam/timeline.c:412 access/transam/timeline.c:488
+#: access/transam/xlog.c:3066 access/transam/xlog.c:3227
+#: access/transam/xlogfuncs.c:690 commands/copy.c:1671
 #: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "не удалось закрыть файл \"%s\": %m"
 
-#: access/transam/timeline.c:429 access/transam/timeline.c:519
-#, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m"
-
-#: access/transam/timeline.c:436 access/transam/timeline.c:526
-#: access/transam/xlog.c:5302 access/transam/xlog.c:6512
-#: access/transam/xlog.c:6529 access/transam/xlog.c:7310
-#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:476
-#: access/transam/xlogarchive.c:586 postmaster/pgarch.c:734
-#: replication/logical/origin.c:624 replication/logical/snapbuild.c:1606
-#: replication/slot.c:470 replication/slot.c:926 replication/slot.c:1038
-#: utils/misc/guc.c:6968 utils/time/snapmgr.c:1094
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
-
-#: access/transam/timeline.c:598
+#: access/transam/timeline.c:570
 #, c-format
 msgid "requested timeline %u is not in this server's history"
 msgstr "в истории сервера нет запрошенной линии времени %u"
 
-#: access/transam/twophase.c:330
+#: access/transam/twophase.c:363
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "идентификатор транзакции \"%s\" слишком длинный"
 
-#: access/transam/twophase.c:337
+#: access/transam/twophase.c:370
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "подготовленные транзакции отключены"
 
-#: access/transam/twophase.c:338
+#: access/transam/twophase.c:371
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Установите ненулевое значение параметра max_prepared_transactions."
 
-#: access/transam/twophase.c:357
+#: access/transam/twophase.c:390
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "идентификатор транзакции \"%s\" уже используется"
 
-#: access/transam/twophase.c:366
+#: access/transam/twophase.c:399
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "достигнут предел числа подготовленных транзакций"
 
-#: access/transam/twophase.c:367
+#: access/transam/twophase.c:400
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)."
 
-#: access/transam/twophase.c:504
+#: access/transam/twophase.c:539
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "подготовленная транзакция с идентификатором \"%s\" занята"
 
-#: access/transam/twophase.c:510
+#: access/transam/twophase.c:545
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "нет доступа для завершения подготовленной транзакции "
 
-#: access/transam/twophase.c:511
+#: access/transam/twophase.c:546
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr ""
 "Это разрешено только суперпользователю и пользователю, подготовившему "
 "транзакцию."
 
-#: access/transam/twophase.c:522
+#: access/transam/twophase.c:557
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "подготовленная транзакция относится к другой базе данных"
 
-#: access/transam/twophase.c:523
+#: access/transam/twophase.c:558
 #, c-format
 msgid ""
 "Connect to the database where the transaction was prepared to finish it."
@@ -1205,101 +1642,98 @@ msgstr ""
 "подготовлена."
 
 # [SM]: TO REVIEW
-#: access/transam/twophase.c:538
+#: access/transam/twophase.c:573
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "подготовленной транзакции с идентификатором \"%s\" нет"
 
-#: access/transam/twophase.c:1048
+#: access/transam/twophase.c:1042
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "превышен предельный размер файла состояния 2PC"
 
-#: access/transam/twophase.c:1061
-#, c-format
-msgid "could not create two-phase state file \"%s\": %m"
-msgstr "не удалось создать файл состояния 2PC \"%s\": %m"
-
-#: access/transam/twophase.c:1075 access/transam/twophase.c:1092
-#: access/transam/twophase.c:1145 access/transam/twophase.c:1575
-#: access/transam/twophase.c:1582
-#, c-format
-msgid "could not write two-phase state file: %m"
-msgstr "не удалось записать в файл состояния 2PC: %m"
-
-#: access/transam/twophase.c:1101
-#, c-format
-msgid "could not seek in two-phase state file: %m"
-msgstr "не удалось переместиться в файле состояния 2PC: %m"
-
-#: access/transam/twophase.c:1151 access/transam/twophase.c:1600
-#, c-format
-msgid "could not close two-phase state file: %m"
-msgstr "не удалось закрыть файл состояния 2PC: %m"
-
-#: access/transam/twophase.c:1239 access/transam/twophase.c:1681
+#: access/transam/twophase.c:1160
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "не удалось открыть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1256
+#: access/transam/twophase.c:1177
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "не удалось получить информацию о файле состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1288
+#: access/transam/twophase.c:1209
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "не удалось прочитать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1384
+#: access/transam/twophase.c:1262 access/transam/xlog.c:6070
+#, c-format
+msgid "Failed while allocating an XLog reading processor."
+msgstr "Не удалось разместить обработчик журнала транзакций."
+
+#: access/transam/twophase.c:1268
 #, c-format
-msgid "two-phase state file for transaction %u is corrupt"
-msgstr "в файле состояния 2PC испорчена информация о транзакции %u"
+msgid "could not read two-phase state from xlog at %X/%X"
+msgstr "не удалось прочитать состояние 2PC из xlog в позиции %X/%X"
 
-#: access/transam/twophase.c:1537
+#: access/transam/twophase.c:1276
+#, c-format
+msgid "expected two-phase state data is not present in xlog at %X/%X"
+msgstr ""
+"ожидаемые данные состояния двухфазной фиксации отсутствуют в xlog в позиции "
+"%X/%X"
+
+#: access/transam/twophase.c:1511
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "не удалось стереть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1566
+#: access/transam/twophase.c:1541
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "не удалось пересоздать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1594
+#: access/transam/twophase.c:1550 access/transam/twophase.c:1557
+#, c-format
+msgid "could not write two-phase state file: %m"
+msgstr "не удалось записать в файл состояния 2PC: %m"
+
+#: access/transam/twophase.c:1569
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "не удалось синхронизировать с ФС файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1690
+#: access/transam/twophase.c:1575
 #, c-format
-msgid "could not fsync two-phase state file \"%s\": %m"
-msgstr "не удалось синхронизировать с ФС файл состояния 2PC \"%s\": %m"
+msgid "could not close two-phase state file: %m"
+msgstr "не удалось закрыть файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1697
+#: access/transam/twophase.c:1648
 #, c-format
-msgid "could not close two-phase state file \"%s\": %m"
-msgstr "не удалось закрыть файл состояния 2PC \"%s\": %m"
+msgid ""
+"%u two-phase state files were written for long-running prepared transactions"
+msgstr ""
+"для длительных подготовленных транзакций записано файлов состояния 2PC: %u"
 
-#: access/transam/twophase.c:1762
+#: access/transam/twophase.c:1709
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "удаление будущего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1778 access/transam/twophase.c:1789
-#: access/transam/twophase.c:1908 access/transam/twophase.c:1919
-#: access/transam/twophase.c:1992
+#: access/transam/twophase.c:1725 access/transam/twophase.c:1736
+#: access/transam/twophase.c:1855 access/transam/twophase.c:1866
+#: access/transam/twophase.c:1940
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "удаление испорченного файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1981
+#: access/transam/twophase.c:1844 access/transam/twophase.c:1929
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "удаление устаревшего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1999
+#: access/transam/twophase.c:1947
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "восстановление подготовленной транзакции %u"
@@ -1357,36 +1791,36 @@ msgstr ""
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-2 команд"
 
-#: access/transam/xact.c:1453
+#: access/transam/xact.c:1471
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "превышен предел числа зафиксированных подтранзакций (%d)"
 
-#: access/transam/xact.c:2249
+#: access/transam/xact.c:2267
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr ""
 "выполнить PREPARE для транзакции, оперирующей с временными таблицами, нельзя"
 
-#: access/transam/xact.c:2259
+#: access/transam/xact.c:2277
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3137
+#: access/transam/xact.c:3159
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s не может выполняться внутри блока транзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3147
+#: access/transam/xact.c:3169
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s не может выполняться внутри подтранзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3157
+#: access/transam/xact.c:3179
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -1394,176 +1828,162 @@ msgstr ""
 "команд"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3228
+#: access/transam/xact.c:3250
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s может выполняться только внутри блоков транзакций"
 
-#: access/transam/xact.c:3412
+#: access/transam/xact.c:3434
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "транзакция уже выполняется"
 
-#: access/transam/xact.c:3580 access/transam/xact.c:3683
+#: access/transam/xact.c:3602 access/transam/xact.c:3705
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "нет незавершённой транзакции"
 
-#: access/transam/xact.c:3591
+#: access/transam/xact.c:3613
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "фиксировать транзакции во время параллельных операций нельзя"
 
-#: access/transam/xact.c:3694
+#: access/transam/xact.c:3716
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "прерывание во время параллельных операций невозможно"
 
-#: access/transam/xact.c:3736
+#: access/transam/xact.c:3758
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "определять точки сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:3803
+#: access/transam/xact.c:3825
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "высвобождать точки сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:3814 access/transam/xact.c:3866
-#: access/transam/xact.c:3872 access/transam/xact.c:3928
-#: access/transam/xact.c:3978 access/transam/xact.c:3984
+#: access/transam/xact.c:3836 access/transam/xact.c:3888
+#: access/transam/xact.c:3894 access/transam/xact.c:3950
+#: access/transam/xact.c:4000 access/transam/xact.c:4006
 #, c-format
 msgid "no such savepoint"
 msgstr "нет такой точки сохранения"
 
-#: access/transam/xact.c:3916
+#: access/transam/xact.c:3938
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "откатиться к точке сохранения во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4044
+#: access/transam/xact.c:4066
 #, c-format
 msgid "cannot start subtransactions during a parallel operation"
 msgstr "запускать подтранзакции во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4111
+#: access/transam/xact.c:4133
 #, c-format
 msgid "cannot commit subtransactions during a parallel operation"
 msgstr "фиксировать подтранзакции во время параллельных операций нельзя"
 
-#: access/transam/xact.c:4717
+#: access/transam/xact.c:4741
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций"
 
-#: access/transam/xlog.c:2270
+#: access/transam/xlog.c:2272
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "не удалось переместиться в файле журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:2290
+#: access/transam/xlog.c:2292
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m"
 
-#: access/transam/xlog.c:2553
+#: access/transam/xlog.c:2555
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "минимальная точка восстановления изменена на %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:3148
+#: access/transam/xlog.c:3197
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "недостаточно данных в файле\"%s\""
 
-#: access/transam/xlog.c:3267
-#, c-format
-msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr ""
-"для файла \"%s\" не удалось создать ссылку \"%s\" (при инициализации файла "
-"журнала): %m"
-
-#: access/transam/xlog.c:3279
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr ""
-"не удалось переименовать файл \"%s\" в \"%s\" (при инициализации файла "
-"журнала): %m"
-
-#: access/transam/xlog.c:3307
+#: access/transam/xlog.c:3338
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "не удалось открыть файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3496 access/transam/xlog.c:5272
+#: access/transam/xlog.c:3527 access/transam/xlog.c:5300
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "не удалось закрыть файл журнала \"%s\": %m"
 
-#: access/transam/xlog.c:3553 replication/logical/logicalfuncs.c:149
-#: replication/walsender.c:2095
+#: access/transam/xlog.c:3584 access/transam/xlogutils.c:696
+#: replication/walsender.c:2099
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "запрошенный сегмент WAL %s уже удалён"
 
-#: access/transam/xlog.c:3613 access/transam/xlog.c:3688
-#: access/transam/xlog.c:3886
+#: access/transam/xlog.c:3644 access/transam/xlog.c:3719
+#: access/transam/xlog.c:3917
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "не удалось открыть каталог журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3769
+#: access/transam/xlog.c:3800
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" используется повторно"
 
-#: access/transam/xlog.c:3781
+#: access/transam/xlog.c:3812
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" удаляется"
 
-#: access/transam/xlog.c:3801
+#: access/transam/xlog.c:3832
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "не удалось переименовать старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3813
+#: access/transam/xlog.c:3844
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "не удалось стереть старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3846 access/transam/xlog.c:3856
+#: access/transam/xlog.c:3877 access/transam/xlog.c:3887
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "требуемый каталог WAL \"%s\" не существует"
 
-#: access/transam/xlog.c:3862
+#: access/transam/xlog.c:3893
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "создаётся отсутствующий каталог WAL \"%s\""
 
-#: access/transam/xlog.c:3865
+#: access/transam/xlog.c:3896
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "не удалось создать отсутствующий каталог \"%s\": %m"
 
-#: access/transam/xlog.c:3896
+#: access/transam/xlog.c:3927
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "удаляется файл истории копирования журнала: \"%s\""
 
-#: access/transam/xlog.c:3977
+#: access/transam/xlog.c:4008
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "неожиданный ID линии времени %u в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlog.c:4099
+#: access/transam/xlog.c:4130
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr ""
 "новая линия времени %u не является ответвлением линии времени системы БД %u"
 
-#: access/transam/xlog.c:4113
+#: access/transam/xlog.c:4144
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
@@ -1572,56 +1992,56 @@ msgstr ""
 "новая линия времени %u ответвилась от текущей линии времени базы данных %u "
 "до текущей точки восстановления %X/%X"
 
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4163
 #, c-format
 msgid "new target timeline is %u"
 msgstr "новая целевая линия времени %u"
 
-#: access/transam/xlog.c:4212
+#: access/transam/xlog.c:4243
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
-#: access/transam/xlog.c:4223 access/transam/xlog.c:4459
+#: access/transam/xlog.c:4254 access/transam/xlog.c:4490
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "не удалось записать в файл pg_control: %m"
 
-#: access/transam/xlog.c:4229 access/transam/xlog.c:4465
+#: access/transam/xlog.c:4260 access/transam/xlog.c:4496
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "не удалось синхронизировать с ФС файл pg_control: %m"
 
-#: access/transam/xlog.c:4234 access/transam/xlog.c:4470
+#: access/transam/xlog.c:4265 access/transam/xlog.c:4501
 #, c-format
 msgid "could not close control file: %m"
 msgstr "не удалось закрыть файл pg_control: %m"
 
-#: access/transam/xlog.c:4252 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4283 access/transam/xlog.c:4479
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/transam/xlog.c:4258
+#: access/transam/xlog.c:4289
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "не удалось прочитать файл pg_control: %m"
 
-#: access/transam/xlog.c:4271 access/transam/xlog.c:4280
-#: access/transam/xlog.c:4304 access/transam/xlog.c:4311
-#: access/transam/xlog.c:4318 access/transam/xlog.c:4323
-#: access/transam/xlog.c:4330 access/transam/xlog.c:4337
-#: access/transam/xlog.c:4344 access/transam/xlog.c:4351
-#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
-#: access/transam/xlog.c:4372 access/transam/xlog.c:4381
-#: access/transam/xlog.c:4388 access/transam/xlog.c:4397
-#: access/transam/xlog.c:4404 access/transam/xlog.c:4413
-#: access/transam/xlog.c:4420 utils/init/miscinit.c:1351
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4311
+#: access/transam/xlog.c:4335 access/transam/xlog.c:4342
+#: access/transam/xlog.c:4349 access/transam/xlog.c:4354
+#: access/transam/xlog.c:4361 access/transam/xlog.c:4368
+#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
+#: access/transam/xlog.c:4389 access/transam/xlog.c:4396
+#: access/transam/xlog.c:4403 access/transam/xlog.c:4412
+#: access/transam/xlog.c:4419 access/transam/xlog.c:4428
+#: access/transam/xlog.c:4435 access/transam/xlog.c:4444
+#: access/transam/xlog.c:4451 utils/init/miscinit.c:1380
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "файлы базы данных не совместимы с сервером"
 
-#: access/transam/xlog.c:4272
+#: access/transam/xlog.c:4303
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
@@ -1630,7 +2050,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но "
 "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4276
+#: access/transam/xlog.c:4307
 #, c-format
 msgid ""
 "This could be a problem of mismatched byte ordering.  It looks like you need "
@@ -1639,7 +2059,7 @@ msgstr ""
 "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить "
 "initdb."
 
-#: access/transam/xlog.c:4281
+#: access/transam/xlog.c:4312
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -1648,18 +2068,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер "
 "скомпилирован с PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4284 access/transam/xlog.c:4308
-#: access/transam/xlog.c:4315 access/transam/xlog.c:4320
+#: access/transam/xlog.c:4315 access/transam/xlog.c:4339
+#: access/transam/xlog.c:4346 access/transam/xlog.c:4351
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Кажется, вам надо выполнить initdb."
 
-#: access/transam/xlog.c:4295
+#: access/transam/xlog.c:4326
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "ошибка контрольной суммы в файле pg_control"
 
-#: access/transam/xlog.c:4305
+#: access/transam/xlog.c:4336
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -1668,7 +2088,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер "
 "скомпилирован с CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4312
+#: access/transam/xlog.c:4343
 #, c-format
 msgid ""
 "The database cluster was initialized with MAXALIGN %d, but the server was "
@@ -1677,7 +2097,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер "
 "скомпилирован с MAXALIGN %d."
 
-#: access/transam/xlog.c:4319
+#: access/transam/xlog.c:4350
 #, c-format
 msgid ""
 "The database cluster appears to use a different floating-point number format "
@@ -1686,7 +2106,7 @@ msgstr ""
 "Кажется, в кластере баз данных и в программе сервера используются разные "
 "форматы чисел с плавающей точкой."
 
-#: access/transam/xlog.c:4324
+#: access/transam/xlog.c:4355
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
@@ -1695,18 +2115,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован "
 "с BLCKSZ %d."
 
-#: access/transam/xlog.c:4327 access/transam/xlog.c:4334
-#: access/transam/xlog.c:4341 access/transam/xlog.c:4348
-#: access/transam/xlog.c:4355 access/transam/xlog.c:4362
-#: access/transam/xlog.c:4369 access/transam/xlog.c:4376
-#: access/transam/xlog.c:4384 access/transam/xlog.c:4391
+#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
+#: access/transam/xlog.c:4372 access/transam/xlog.c:4379
+#: access/transam/xlog.c:4386 access/transam/xlog.c:4393
 #: access/transam/xlog.c:4400 access/transam/xlog.c:4407
-#: access/transam/xlog.c:4416 access/transam/xlog.c:4423
+#: access/transam/xlog.c:4415 access/transam/xlog.c:4422
+#: access/transam/xlog.c:4431 access/transam/xlog.c:4438
+#: access/transam/xlog.c:4447 access/transam/xlog.c:4454
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb."
 
-#: access/transam/xlog.c:4331
+#: access/transam/xlog.c:4362
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -1715,7 +2135,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер "
 "скомпилирован с RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4338
+#: access/transam/xlog.c:4369
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
@@ -1724,7 +2144,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер "
 "скомпилирован с XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:4345
+#: access/transam/xlog.c:4376
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
@@ -1733,7 +2153,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_SEG_SIZE %d, но сервер "
 "скомпилирован с XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:4352
+#: access/transam/xlog.c:4383
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -1742,7 +2162,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер "
 "скомпилирован с NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4359
+#: access/transam/xlog.c:4390
 #, c-format
 msgid ""
 "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
@@ -1751,7 +2171,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер "
 "скомпилирован с INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4366
+#: access/transam/xlog.c:4397
 #, c-format
 msgid ""
 "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
@@ -1760,7 +2180,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер "
 "скомпилирован с TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4373
+#: access/transam/xlog.c:4404
 #, c-format
 msgid ""
 "The database cluster was initialized with LOBLKSIZE %d, but the server was "
@@ -1769,7 +2189,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер "
 "скомпилирован с LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4382
+#: access/transam/xlog.c:4413
 #, c-format
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
@@ -1778,7 +2198,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован с HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4389
+#: access/transam/xlog.c:4420
 #, c-format
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
@@ -1787,7 +2207,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован без HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4398
+#: access/transam/xlog.c:4429
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT4_BYVAL but the server "
@@ -1796,7 +2216,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4405
+#: access/transam/xlog.c:4436
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT4_BYVAL but the server "
@@ -1805,7 +2225,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован без USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4414
+#: access/transam/xlog.c:4445
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
@@ -1814,7 +2234,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4421
+#: access/transam/xlog.c:4452
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
@@ -1823,86 +2243,86 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был "
 "скомпилирован без USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4847
+#: access/transam/xlog.c:4875
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "не удалось записать начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4853
+#: access/transam/xlog.c:4881
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "не удалось синхронизировать с ФС начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4858
+#: access/transam/xlog.c:4886
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "не удалось закрыть начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:4933
+#: access/transam/xlog.c:4961
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "не удалось открыть файл команд восстановления \"%s\": %m"
 
-#: access/transam/xlog.c:4979 access/transam/xlog.c:5062
+#: access/transam/xlog.c:5007 access/transam/xlog.c:5090
 #, c-format
 msgid "invalid value for recovery parameter \"%s\": \"%s\""
 msgstr "неверное значение для параметра восстановления \"%s\": \"%s\""
 
-#: access/transam/xlog.c:4982
+#: access/transam/xlog.c:5010
 #, c-format
 msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"."
 msgstr "Допустимые значения: \"pause\", \"promote\" и \"shutdown\"."
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5029
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:5017
+#: access/transam/xlog.c:5045
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:5048
+#: access/transam/xlog.c:5076
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "длина recovery_target_name превышает предел (%d)"
 
-#: access/transam/xlog.c:5065
+#: access/transam/xlog.c:5093
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Единственное допустимое значение: \"immediate\"."
 
-#: access/transam/xlog.c:5078 access/transam/xlog.c:5089
-#: commands/extension.c:531 commands/extension.c:539 utils/misc/guc.c:5464
+#: access/transam/xlog.c:5106 access/transam/xlog.c:5117
+#: commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:5627
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "параметр \"%s\" требует логическое значение"
 
-#: access/transam/xlog.c:5124
+#: access/transam/xlog.c:5152
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "параметр \"%s\" требует временное значение"
 
-#: access/transam/xlog.c:5126 catalog/dependency.c:984
-#: catalog/dependency.c:985 catalog/dependency.c:991 catalog/dependency.c:992
-#: catalog/dependency.c:1003 catalog/dependency.c:1004
-#: catalog/objectaddress.c:1053 commands/tablecmds.c:791
-#: commands/tablecmds.c:9415 commands/user.c:1027 commands/view.c:482
-#: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1177 utils/misc/guc.c:5486 utils/misc/guc.c:5579
-#: utils/misc/guc.c:9469 utils/misc/guc.c:9503 utils/misc/guc.c:9537
-#: utils/misc/guc.c:9571 utils/misc/guc.c:9606
+#: access/transam/xlog.c:5154 catalog/dependency.c:991 catalog/dependency.c:992
+#: catalog/dependency.c:998 catalog/dependency.c:999 catalog/dependency.c:1010
+#: catalog/dependency.c:1011 catalog/objectaddress.c:1100
+#: commands/tablecmds.c:795 commands/tablecmds.c:9445 commands/user.c:1045
+#: commands/view.c:482 libpq/auth.c:304 replication/syncrep.c:926
+#: storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1276 utils/adt/acl.c:5281
+#: utils/misc/guc.c:5649 utils/misc/guc.c:5742 utils/misc/guc.c:9677
+#: utils/misc/guc.c:9711 utils/misc/guc.c:9745 utils/misc/guc.c:9779
+#: utils/misc/guc.c:9814
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5132
+#: access/transam/xlog.c:5160
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "нераспознанный параметр восстановления \"%s\""
 
-#: access/transam/xlog.c:5143
+#: access/transam/xlog.c:5171
 #, c-format
 msgid ""
 "recovery command file \"%s\" specified neither primary_conninfo nor "
@@ -1911,7 +2331,7 @@ msgstr ""
 "в файле команд восстановления \"%s\" не указан параметр primary_conninfo или "
 "restore_command"
 
-#: access/transam/xlog.c:5145
+#: access/transam/xlog.c:5173
 #, c-format
 msgid ""
 "The database server will regularly poll the pg_xlog subdirectory to check "
@@ -1920,7 +2340,7 @@ msgstr ""
 "Сервер БД будет регулярно опрашивать подкаталог pg_xlog и проверять "
 "содержащиеся в нём файлы."
 
-#: access/transam/xlog.c:5151
+#: access/transam/xlog.c:5179
 #, c-format
 msgid ""
 "recovery command file \"%s\" must specify restore_command when standby mode "
@@ -1929,62 +2349,62 @@ msgstr ""
 "в файле команд восстановления \"%s\" может отсутствовать restore_command, "
 "только если это резервный сервер"
 
-#: access/transam/xlog.c:5181
+#: access/transam/xlog.c:5209
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "целевая линия времени для восстановления %u не существует"
 
-#: access/transam/xlog.c:5306
+#: access/transam/xlog.c:5330
 #, c-format
 msgid "archive recovery complete"
 msgstr "восстановление архива завершено"
 
-#: access/transam/xlog.c:5365 access/transam/xlog.c:5593
+#: access/transam/xlog.c:5389 access/transam/xlog.c:5617
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr ""
 "восстановление останавливается после достижения согласованного состояния"
 
-#: access/transam/xlog.c:5453
+#: access/transam/xlog.c:5477
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед фиксированием транзакции %u, время %s"
 
-#: access/transam/xlog.c:5460
+#: access/transam/xlog.c:5484
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед прерыванием транзакции %u, время %s"
 
-#: access/transam/xlog.c:5505
+#: access/transam/xlog.c:5529
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "восстановление останавливается в точке восстановления \"%s\", время %s"
 
-#: access/transam/xlog.c:5573
+#: access/transam/xlog.c:5597
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после фиксирования транзакции %u, время %s"
 
-#: access/transam/xlog.c:5581
+#: access/transam/xlog.c:5605
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после прерывания транзакции %u, время %s"
 
-#: access/transam/xlog.c:5620
+#: access/transam/xlog.c:5644
 #, c-format
 msgid "recovery has paused"
 msgstr "восстановление приостановлено"
 
-#: access/transam/xlog.c:5621
+#: access/transam/xlog.c:5645
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Выполните pg_xlog_replay_resume() для продолжения."
 
-#: access/transam/xlog.c:5824
+#: access/transam/xlog.c:5852
 #, c-format
 msgid ""
 "hot standby is not possible because %s = %d is a lower setting than on the "
@@ -1993,12 +2413,12 @@ msgstr ""
 "режим горячего резерва невозможен, так как параметр %s = %d, меньше чем на "
 "главном сервере (на нём было значение %d)"
 
-#: access/transam/xlog.c:5850
+#: access/transam/xlog.c:5878
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL был создан с параметром wal_level=minimal, возможна потеря данных"
 
-#: access/transam/xlog.c:5851
+#: access/transam/xlog.c:5879
 #, c-format
 msgid ""
 "This happens if you temporarily set wal_level=minimal without taking a new "
@@ -2007,50 +2427,50 @@ msgstr ""
 "Это происходит, если вы на время установили wal_level=minimal и не сделали "
 "резервную копию базу данных."
 
-#: access/transam/xlog.c:5862
+#: access/transam/xlog.c:5890
 #, c-format
 msgid ""
-"hot standby is not possible because wal_level was not set to \"hot_standby\" "
-"or higher on the master server"
+"hot standby is not possible because wal_level was not set to \"replica\" or "
+"higher on the master server"
 msgstr ""
 "режим горячего резерва невозможен, так как на главном сервере установлен "
-"неподходящий wal_level (должен быть \"hot_standby\" или выше)"
+"неподходящий wal_level (должен быть \"replica\" или выше)"
 
-#: access/transam/xlog.c:5863
+#: access/transam/xlog.c:5891
 #, c-format
 msgid ""
-"Either set wal_level to \"hot_standby\" on the master, or turn off "
-"hot_standby here."
+"Either set wal_level to \"replica\" on the master, or turn off hot_standby "
+"here."
 msgstr ""
-"Либо установите для wal_level значение \"hot_standby\" на главном сервере, "
-"либо выключите hot_standby здесь."
+"Либо установите для wal_level значение \"replica\" на главном сервере, либо "
+"выключите hot_standby здесь."
 
-#: access/transam/xlog.c:5920
+#: access/transam/xlog.c:5948
 #, c-format
 msgid "control file contains invalid data"
 msgstr "файл pg_control содержит неверные данные"
 
-#: access/transam/xlog.c:5926
+#: access/transam/xlog.c:5954
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "система БД была выключена: %s"
 
-#: access/transam/xlog.c:5931
+#: access/transam/xlog.c:5959
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "система БД была выключена в процессе восстановления: %s"
 
-#: access/transam/xlog.c:5935
+#: access/transam/xlog.c:5963
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "выключение системы БД было прервано; последний момент работы: %s"
 
-#: access/transam/xlog.c:5939
+#: access/transam/xlog.c:5967
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "работа системы БД была прервана во время восстановления: %s"
 
-#: access/transam/xlog.c:5941
+#: access/transam/xlog.c:5969
 #, c-format
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
@@ -2059,14 +2479,14 @@ msgstr ""
 "Это скорее всего означает, что некоторые данные повреждены и вам придётся "
 "восстановить БД из последней резервной копии."
 
-#: access/transam/xlog.c:5945
+#: access/transam/xlog.c:5973
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "работа системы БД была прервана в процессе восстановления, время в журнале: "
 "%s"
 
-#: access/transam/xlog.c:5947
+#: access/transam/xlog.c:5975
 #, c-format
 msgid ""
 "If this has occurred more than once some data might be corrupted and you "
@@ -2075,58 +2495,53 @@ msgstr ""
 "Если это происходит постоянно, возможно, какие-то данные были испорчены и "
 "для восстановления стоит выбрать более раннюю точку."
 
-#: access/transam/xlog.c:5951
+#: access/transam/xlog.c:5979
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "работа системы БД была прервана; последний момент работы: %s"
 
-#: access/transam/xlog.c:6007
+#: access/transam/xlog.c:6035
 #, c-format
 msgid "entering standby mode"
 msgstr "переход в режим резервного сервера"
 
-#: access/transam/xlog.c:6010
+#: access/transam/xlog.c:6038
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "начинается восстановление точки во времени до XID %u"
 
-#: access/transam/xlog.c:6014
+#: access/transam/xlog.c:6042
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "начинается восстановление точки во времени до %s"
 
-#: access/transam/xlog.c:6018
+#: access/transam/xlog.c:6046
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "начинается восстановление точки во времени до \"%s\""
 
-#: access/transam/xlog.c:6022
+#: access/transam/xlog.c:6050
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr ""
 "начинается восстановление точки во времени до первой точки согласованности"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:6053
 #, c-format
 msgid "starting archive recovery"
 msgstr "начинается восстановление архива"
 
-#: access/transam/xlog.c:6042
-#, c-format
-msgid "Failed while allocating an XLog reading processor."
-msgstr "Не удалось разместить обработчик журнала транзакций."
-
-#: access/transam/xlog.c:6069 access/transam/xlog.c:6197
+#: access/transam/xlog.c:6097 access/transam/xlog.c:6225
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "запись о контрольной точке по смещению %X/%X"
 
-#: access/transam/xlog.c:6083
+#: access/transam/xlog.c:6111
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "не удалось найти положение REDO, указанное записью контрольной точки"
 
-#: access/transam/xlog.c:6084 access/transam/xlog.c:6091
+#: access/transam/xlog.c:6112 access/transam/xlog.c:6119
 #, c-format
 msgid ""
 "If you are not restoring from a backup, try removing the file \"%s/"
@@ -2135,52 +2550,47 @@ msgstr ""
 "Если вы не восстанавливаете БД из резервной копии, попробуйте удалить файл "
 "\"%s/backup_label\"."
 
-#: access/transam/xlog.c:6090
+#: access/transam/xlog.c:6118
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "не удалось считать нужную запись контрольной точки"
 
-#: access/transam/xlog.c:6116 commands/tablespace.c:641
+#: access/transam/xlog.c:6144 commands/tablespace.c:641
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "не удалось создать символическую ссылку \"%s\": %m"
 
-#: access/transam/xlog.c:6148
+#: access/transam/xlog.c:6176 access/transam/xlog.c:6182
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\""
 
-#: access/transam/xlog.c:6150 access/transam/xlog.c:10888
+#: access/transam/xlog.c:6178 access/transam/xlog.c:10918
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Файл \"%s\" был переименован в \"%s\"."
 
-#: access/transam/xlog.c:6154
-#, c-format
-msgid "ignoring \"%s\" file because no \"%s\" file exists"
-msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\""
-
-#: access/transam/xlog.c:6156
+#: access/transam/xlog.c:6184
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "Не удалось переименовать файл \"%s\" в \"%s\" (%m)."
 
-#: access/transam/xlog.c:6207 access/transam/xlog.c:6222
+#: access/transam/xlog.c:6235 access/transam/xlog.c:6250
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "не удалось считать правильную запись контрольной точки"
 
-#: access/transam/xlog.c:6216
+#: access/transam/xlog.c:6244
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "используется предыдущая запись контрольной точки по смещению %X/%X"
 
-#: access/transam/xlog.c:6260
+#: access/transam/xlog.c:6288
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "в истории сервера нет ответвления запрошенной линии времени %u"
 
-#: access/transam/xlog.c:6262
+#: access/transam/xlog.c:6290
 #, c-format
 msgid ""
 "Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
@@ -2189,7 +2599,7 @@ msgstr ""
 "Последняя контрольная точка: %X/%X на линии времени %u, но в истории "
 "запрошенной линии времени сервер ответвился с этой линии в %X/%X."
 
-#: access/transam/xlog.c:6278
+#: access/transam/xlog.c:6306
 #, c-format
 msgid ""
 "requested timeline %u does not contain minimum recovery point %X/%X on "
@@ -2198,22 +2608,22 @@ msgstr ""
 "запрошенная линия времени %u не содержит минимальную точку восстановления %X/"
 "%X на линии времени %u"
 
-#: access/transam/xlog.c:6309
+#: access/transam/xlog.c:6337
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "неверный ID следующей транзакции"
 
-#: access/transam/xlog.c:6392
+#: access/transam/xlog.c:6420
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "неверная запись REDO в контрольной точке"
 
-#: access/transam/xlog.c:6403
+#: access/transam/xlog.c:6431
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "неверная запись REDO в контрольной точке выключения"
 
-#: access/transam/xlog.c:6431
+#: access/transam/xlog.c:6459
 #, c-format
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
@@ -2221,19 +2631,19 @@ msgstr ""
 "система БД была остановлена нештатно; производится автоматическое "
 "восстановление"
 
-#: access/transam/xlog.c:6435
+#: access/transam/xlog.c:6463
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr ""
 "восстановление после сбоя начинается на линии времени %u, целевая линия "
 "времени: %u"
 
-#: access/transam/xlog.c:6479
+#: access/transam/xlog.c:6507
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label содержит данные, не согласованные с файлом pg_control"
 
-#: access/transam/xlog.c:6480
+#: access/transam/xlog.c:6508
 #, c-format
 msgid ""
 "This means that the backup is corrupted and you will have to use another "
@@ -2242,44 +2652,44 @@ msgstr ""
 "Это означает, что резервная копия повреждена и для восстановления БД "
 "придётся использовать другую копию."
 
-#: access/transam/xlog.c:6562
+#: access/transam/xlog.c:6582
 #, c-format
 msgid "initializing for hot standby"
 msgstr "инициализация для горячего резерва"
 
-#: access/transam/xlog.c:6694
+#: access/transam/xlog.c:6714
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "запись REDO начинается со смещения %X/%X"
 
-#: access/transam/xlog.c:6908
+#: access/transam/xlog.c:6939
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr ""
 "запрошенная точка остановки восстановления предшествует согласованной точке "
 "восстановления"
 
-#: access/transam/xlog.c:6946
+#: access/transam/xlog.c:6977
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "записи REDO обработаны до смещения %X/%X"
 
-#: access/transam/xlog.c:6951 access/transam/xlog.c:8885
+#: access/transam/xlog.c:6982 access/transam/xlog.c:8906
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "последняя завершённая транзакция была выполнена в %s"
 
-#: access/transam/xlog.c:6960
+#: access/transam/xlog.c:6991
 #, c-format
 msgid "redo is not required"
 msgstr "данные REDO не требуются"
 
-#: access/transam/xlog.c:7035 access/transam/xlog.c:7039
+#: access/transam/xlog.c:7066 access/transam/xlog.c:7070
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL закончился без признака окончания копирования"
 
-#: access/transam/xlog.c:7036
+#: access/transam/xlog.c:7067
 #, c-format
 msgid ""
 "All WAL generated while online backup was taken must be available at "
@@ -2288,7 +2698,7 @@ msgstr ""
 "Все журналы WAL, созданные во время резервного копирования \"на ходу\", "
 "должны быть в наличии для восстановления."
 
-#: access/transam/xlog.c:7040
+#: access/transam/xlog.c:7071
 #, c-format
 msgid ""
 "Online backup started with pg_start_backup() must be ended with "
@@ -2298,107 +2708,102 @@ msgstr ""
 "должно закончиться pg_stop_backup(), и для восстановления должны быть "
 "доступны все журналы WAL."
 
-#: access/transam/xlog.c:7043
+#: access/transam/xlog.c:7074
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL закончился до согласованной точки восстановления"
 
-#: access/transam/xlog.c:7070
+#: access/transam/xlog.c:7101
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "выбранный ID новой линии времени: %u"
 
-#: access/transam/xlog.c:7485
+#: access/transam/xlog.c:7512
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "согласованное состояние восстановления достигнуто по смещению %X/%X"
 
-#: access/transam/xlog.c:7676
+#: access/transam/xlog.c:7703
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "неверная ссылка на первичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:7680
+#: access/transam/xlog.c:7707
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "неверная ссылка на вторичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:7684
+#: access/transam/xlog.c:7711
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "неверная ссылка на контрольную точку в файле backup_label"
 
-#: access/transam/xlog.c:7701
+#: access/transam/xlog.c:7728
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "неверная запись первичной контрольной точки"
 
-#: access/transam/xlog.c:7705
+#: access/transam/xlog.c:7732
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "неверная запись вторичной контрольной точки"
 
-#: access/transam/xlog.c:7709
+#: access/transam/xlog.c:7736
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "неверная запись контрольной точки"
 
-#: access/transam/xlog.c:7720
+#: access/transam/xlog.c:7747
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7724
+#: access/transam/xlog.c:7751
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7728
+#: access/transam/xlog.c:7755
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи контрольной точки"
 
-#: access/transam/xlog.c:7740
+#: access/transam/xlog.c:7767
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "неверные флаги xl_info в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7744
+#: access/transam/xlog.c:7771
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "неверные флаги xl_info в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7748
+#: access/transam/xlog.c:7775
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "неверные флаги xl_info в записи контрольной точки"
 
-#: access/transam/xlog.c:7759
+#: access/transam/xlog.c:7786
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "неверная длина записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7763
+#: access/transam/xlog.c:7790
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "неверная длина записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7767
+#: access/transam/xlog.c:7794
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "неверная длина записи контрольной точки"
 
-#: access/transam/xlog.c:7937
+#: access/transam/xlog.c:7962
 #, c-format
 msgid "shutting down"
 msgstr "выключение"
 
-#: access/transam/xlog.c:7961
-#, c-format
-msgid "database system is shut down"
-msgstr "система БД выключена"
-
-#: access/transam/xlog.c:8454
+#: access/transam/xlog.c:8475
 #, c-format
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
@@ -2406,29 +2811,29 @@ msgstr ""
 "во время выключения системы баз данных отмечена активность в журнале "
 "транзакций"
 
-#: access/transam/xlog.c:8705
+#: access/transam/xlog.c:8726
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr ""
 "создание точки перезапуска пропускается, восстановление уже закончилось"
 
-#: access/transam/xlog.c:8728
+#: access/transam/xlog.c:8749
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr ""
 "создание точки перезапуска пропускается, она уже создана по смещению %X/%X"
 
-#: access/transam/xlog.c:8883
+#: access/transam/xlog.c:8904
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "точка перезапуска восстановления по смещению %X/%X"
 
-#: access/transam/xlog.c:9016
+#: access/transam/xlog.c:9037
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "точка восстановления \"%s\" создана по смещению %X/%X"
 
-#: access/transam/xlog.c:9146
+#: access/transam/xlog.c:9167
 #, c-format
 msgid ""
 "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
@@ -2437,12 +2842,12 @@ msgstr ""
 "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в "
 "записи контрольной точки"
 
-#: access/transam/xlog.c:9155
+#: access/transam/xlog.c:9176
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки"
 
-#: access/transam/xlog.c:9171
+#: access/transam/xlog.c:9192
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
@@ -2451,90 +2856,79 @@ msgstr ""
 "неожиданный ID линии времени %u в записи контрольной точки, до достижения "
 "минимальной к.т. %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:9242
+#: access/transam/xlog.c:9263
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr ""
 "резервное копирование \"на ходу\" было отменено, продолжить восстановление "
 "нельзя"
 
-#: access/transam/xlog.c:9298 access/transam/xlog.c:9345
-#: access/transam/xlog.c:9368
+#: access/transam/xlog.c:9319 access/transam/xlog.c:9366
+#: access/transam/xlog.c:9389
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи точки "
 "восстановления"
 
-#: access/transam/xlog.c:9645
+#: access/transam/xlog.c:9664
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "не удалось синхронизировать с ФС сегмент журнала %s: %m"
 
-#: access/transam/xlog.c:9669
+#: access/transam/xlog.c:9688
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала %s: %m"
 
-#: access/transam/xlog.c:9677
+#: access/transam/xlog.c:9696
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала сквозной записи %s: %m"
 
-#: access/transam/xlog.c:9686
+#: access/transam/xlog.c:9705
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr ""
 "не удалось синхронизировать с ФС данные (fdatasync) файла журнала %s: %m"
 
-#: access/transam/xlog.c:9778 access/transam/xlog.c:10249
-#: access/transam/xlogfuncs.c:121 access/transam/xlogfuncs.c:150
-#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:210
-#: access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:336
-#, c-format
-msgid "recovery is in progress"
-msgstr "идёт процесс восстановления"
-
-#: access/transam/xlog.c:9779 access/transam/xlog.c:10250
-#: access/transam/xlogfuncs.c:122 access/transam/xlogfuncs.c:151
-#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:211
+#: access/transam/xlog.c:9796 access/transam/xlog.c:10267
+#: access/transam/xlogfuncs.c:294 access/transam/xlogfuncs.c:321
+#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:381
+#: access/transam/xlogfuncs.c:402
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Функции управления WAL нельзя использовать в процессе восстановления."
 
-#: access/transam/xlog.c:9788 access/transam/xlog.c:10259
+#: access/transam/xlog.c:9805 access/transam/xlog.c:10276
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:9789 access/transam/xlog.c:10260
-#: access/transam/xlogfuncs.c:157
+#: access/transam/xlog.c:9806 access/transam/xlog.c:10277
+#: access/transam/xlogfuncs.c:327
 #, c-format
-msgid ""
-"wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
-"server start."
-msgstr ""
-"Установите wal_level \"archive\", \"hot_standby\" или \"logical\" при "
-"запуске сервера."
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "Установите wal_level \"replica\" или \"logical\" при запуске сервера."
 
-#: access/transam/xlog.c:9794
+#: access/transam/xlog.c:9811
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "длина метки резервной копии превышает предел (%d байт)"
 
-#: access/transam/xlog.c:9826 access/transam/xlog.c:10096
-#: access/transam/xlog.c:10132
+#: access/transam/xlog.c:9843 access/transam/xlog.c:10115
+#: access/transam/xlog.c:10153
 #, c-format
 msgid "a backup is already in progress"
-msgstr "резервное копирование уже запущено"
+msgstr "резервное копирование уже выполняется"
 
-#: access/transam/xlog.c:9827
+#: access/transam/xlog.c:9844
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Выполните pg_stop_backup() и повторите операцию."
 
-#: access/transam/xlog.c:9922
+#: access/transam/xlog.c:9939
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed since last restartpoint"
@@ -2542,7 +2936,7 @@ msgstr ""
 "После последней точки перезапуска был воспроизведён WAL, созданный в режиме "
 "full_page_writes=off."
 
-#: access/transam/xlog.c:9924 access/transam/xlog.c:10414
+#: access/transam/xlog.c:9941 access/transam/xlog.c:10440
 #, c-format
 msgid ""
 "This means that the backup being taken on the standby is corrupt and should "
@@ -2554,39 +2948,39 @@ msgstr ""
 "CHECKPOINT на главном сервере, а затем попробуйте резервное копирование \"на "
 "ходу\" ещё раз."
 
-#: access/transam/xlog.c:9990 replication/basebackup.c:1035
-#: utils/adt/misc.c:378
+#: access/transam/xlog.c:10008 replication/basebackup.c:1038
+#: utils/adt/misc.c:498
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
 
-#: access/transam/xlog.c:9997 replication/basebackup.c:1040
-#: utils/adt/misc.c:383
+#: access/transam/xlog.c:10015 replication/basebackup.c:1043
+#: utils/adt/misc.c:503
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
 
-#: access/transam/xlog.c:10050 commands/tablespace.c:391
-#: commands/tablespace.c:553 replication/basebackup.c:1056
-#: utils/adt/misc.c:391
+#: access/transam/xlog.c:10068 commands/tablespace.c:391
+#: commands/tablespace.c:553 replication/basebackup.c:1059 utils/adt/misc.c:511
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "табличные пространства не поддерживаются на этой платформе"
 
-#: access/transam/xlog.c:10090 access/transam/xlog.c:10126
-#: access/transam/xlog.c:10300 access/transam/xlogarchive.c:106
-#: access/transam/xlogarchive.c:265 commands/copy.c:1738 commands/copy.c:2764
-#: commands/extension.c:3026 commands/tablespace.c:860
-#: replication/basebackup.c:404 replication/basebackup.c:472
-#: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
-#: storage/file/copydir.c:115 storage/file/fd.c:2519 storage/file/fd.c:2611
-#: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
-#: utils/adt/genfile.c:114 utils/adt/genfile.c:333 guc-file.l:1003
+#: access/transam/xlog.c:10109 access/transam/xlog.c:10147
+#: access/transam/xlog.c:10326 access/transam/xlogarchive.c:106
+#: access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804
+#: commands/extension.c:3109 commands/tablespace.c:782
+#: commands/tablespace.c:873 replication/basebackup.c:407
+#: replication/basebackup.c:475 replication/logical/snapbuild.c:1493
+#: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2826
+#: storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220
+#: utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333
+#: guc-file.l:1003
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: access/transam/xlog.c:10097 access/transam/xlog.c:10133
+#: access/transam/xlog.c:10116 access/transam/xlog.c:10154
 #, c-format
 msgid ""
 "If you're sure there is no backup in progress, remove file \"%s\" and try "
@@ -2595,31 +2989,36 @@ msgstr ""
 "Если вы считаете, что информация о резервном копировании неверна, удалите "
 "файл \"%s\" и попробуйте снова."
 
-#: access/transam/xlog.c:10114 access/transam/xlog.c:10150
-#: access/transam/xlog.c:10475
+#: access/transam/xlog.c:10133 access/transam/xlog.c:10171
+#: access/transam/xlog.c:10501
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: access/transam/xlog.c:10304
+#: access/transam/xlog.c:10290
+#, c-format
+msgid "exclusive backup not in progress"
+msgstr "монопольное резервное копирование не выполняется"
+
+#: access/transam/xlog.c:10330
 #, c-format
 msgid "a backup is not in progress"
-msgstr "резервное копирование не запущено"
+msgstr "резервное копирование не выполняется"
 
-#: access/transam/xlog.c:10349 access/transam/xlog.c:10362
-#: access/transam/xlog.c:10702 access/transam/xlog.c:10708
-#: access/transam/xlog.c:10792 access/transam/xlogfuncs.c:508
+#: access/transam/xlog.c:10375 access/transam/xlog.c:10388
+#: access/transam/xlog.c:10728 access/transam/xlog.c:10734
+#: access/transam/xlog.c:10818 access/transam/xlogfuncs.c:695
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "неверные данные в файле \"%s\""
 
-#: access/transam/xlog.c:10366 replication/basebackup.c:933
+#: access/transam/xlog.c:10392 replication/basebackup.c:936
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr ""
 "дежурный сервер был повышен в процессе резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:10367 replication/basebackup.c:934
+#: access/transam/xlog.c:10393 replication/basebackup.c:937
 #, c-format
 msgid ""
 "This means that the backup being taken is corrupt and should not be used. "
@@ -2628,7 +3027,7 @@ msgstr ""
 "Это означает, что создаваемая резервная копия испорчена и использовать её не "
 "следует. Попробуйте резервное копирование \"на ходу\" ещё раз."
 
-#: access/transam/xlog.c:10412
+#: access/transam/xlog.c:10438
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed during online backup"
@@ -2636,7 +3035,7 @@ msgstr ""
 "В процессе резервного копирования \"на ходу\" был воспроизведён WAL, "
 "созданный в режиме full_page_writes=off"
 
-#: access/transam/xlog.c:10524
+#: access/transam/xlog.c:10550
 #, c-format
 msgid ""
 "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
@@ -2644,7 +3043,7 @@ msgstr ""
 "очистка в pg_stop_backup выполнена, ожидаются требуемые сегменты WAL для "
 "архивации"
 
-#: access/transam/xlog.c:10534
+#: access/transam/xlog.c:10560
 #, c-format
 msgid ""
 "pg_stop_backup still waiting for all required WAL segments to be archived "
@@ -2653,7 +3052,7 @@ msgstr ""
 "pg_stop_backup всё ещё ждёт все требуемые сегменты WAL для архивации (прошло "
 "%d сек.)"
 
-#: access/transam/xlog.c:10536
+#: access/transam/xlog.c:10562
 #, c-format
 msgid ""
 "Check that your archive_command is executing properly.  pg_stop_backup can "
@@ -2664,13 +3063,13 @@ msgstr ""
 "можно отменить безопасно, но резервная копия базы данных будет непригодна "
 "без всех сегментов WAL."
 
-#: access/transam/xlog.c:10543
+#: access/transam/xlog.c:10569
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr ""
 "команда pg_stop_backup завершена, все требуемые сегменты WAL заархивированы"
 
-#: access/transam/xlog.c:10547
+#: access/transam/xlog.c:10573
 #, c-format
 msgid ""
 "WAL archiving is not enabled; you must ensure that all required WAL segments "
@@ -2679,35 +3078,36 @@ msgstr ""
 "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых "
 "сегментов WAL другими средствами для получения резервной копии"
 
-#: access/transam/xlog.c:10831
+#. translator: %s is an XLog record description
+#: access/transam/xlog.c:10858
 #, c-format
-msgid "xlog redo %s"
-msgstr "XLOG-запись REDO: %s"
+msgid "xlog redo at %X/%X for %s"
+msgstr "запись REDO в XLOG в позиции %X/%X для %s"
 
-#: access/transam/xlog.c:10877
+#: access/transam/xlog.c:10907
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "режим копирования \"на ходу\" не был отменён"
 
-#: access/transam/xlog.c:10878
+#: access/transam/xlog.c:10908
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Не удалось переименовать файл \"%s\" в \"%s\": %m."
 
-#: access/transam/xlog.c:10887 access/transam/xlog.c:10899
-#: access/transam/xlog.c:10909
+#: access/transam/xlog.c:10917 access/transam/xlog.c:10929
+#: access/transam/xlog.c:10939
 #, c-format
 msgid "online backup mode canceled"
 msgstr "режим копирования \"на ходу\" отменён"
 
-#: access/transam/xlog.c:10900
+#: access/transam/xlog.c:10930
 #, c-format
 msgid ""
 "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr ""
 "Файлы \"%s\" и \"%s\" были переименованы в \"%s\" и \"%s\", соответственно."
 
-#: access/transam/xlog.c:10910
+#: access/transam/xlog.c:10940
 #, c-format
 msgid ""
 "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to "
@@ -2716,28 +3116,28 @@ msgstr ""
 "Файл \"%s\" был переименован в \"%s\", но переименовать \"%s\" в \"%s\" не "
 "удалось: %m."
 
-#: access/transam/xlog.c:11032 replication/logical/logicalfuncs.c:171
-#: replication/walreceiver.c:932 replication/walsender.c:2112
+#: access/transam/xlog.c:11062 access/transam/xlogutils.c:718
+#: replication/walreceiver.c:973 replication/walsender.c:2116
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "не удалось переместиться в сегменте журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:11044
+#: access/transam/xlog.c:11074
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "не удалось прочитать сегмент журнала %s, смещение %u: %m"
 
-#: access/transam/xlog.c:11518
+#: access/transam/xlog.c:11548
 #, c-format
 msgid "received promote request"
 msgstr "получен запрос повышения статуса"
 
-#: access/transam/xlog.c:11531
+#: access/transam/xlog.c:11561
 #, c-format
 msgid "trigger file found: %s"
 msgstr "найден файл триггера: %s"
 
-#: access/transam/xlog.c:11540
+#: access/transam/xlog.c:11570
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "не удалось получить информацию о файле триггера \"%s\": %m"
@@ -2765,142 +3165,187 @@ msgstr "восстановить файл \"%s\" из архива не удал
 msgid "%s \"%s\": %s"
 msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:529 access/transam/xlogarchive.c:598
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
+#: replication/slot.c:470 replication/slot.c:982 replication/slot.c:1090
+#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1206
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
+
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:589
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "не удалось создать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogarchive.c:537 access/transam/xlogarchive.c:606
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:597
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "не удалось записать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:61 access/transam/xlogfuncs.c:98
+#: access/transam/xlogfuncs.c:58
 #, c-format
-msgid "must be superuser or replication role to run a backup"
+msgid "aborting backup due to backend exiting before pg_stop_backup was called"
 msgstr ""
-"запускать резервное копирование может только суперпользователь или роль "
-"репликации"
+"прерывание резервного копирования из-за завершения обслуживающего процесса "
+"до вызова pg_stop_backup"
 
-#: access/transam/xlogfuncs.c:67 commands/tablespace.c:705
-#: commands/tablespace.c:715 postmaster/postmaster.c:1389
-#: replication/basebackup.c:292 replication/basebackup.c:632
-#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:1985
-#: storage/file/fd.c:2584 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
-#: utils/adt/misc.c:291 utils/misc/tzparser.c:339
+#: access/transam/xlogfuncs.c:88
+#, c-format
+msgid "a backup is already in progress in this session"
+msgstr "резервное копирование уже выполняется в этом сеансе"
+
+#: access/transam/xlogfuncs.c:94 commands/tablespace.c:705
+#: commands/tablespace.c:715 postmaster/postmaster.c:1394
+#: replication/basebackup.c:295 replication/basebackup.c:635
+#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292
+#: storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
+#: utils/adt/misc.c:411 utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "не удалось открыть каталог \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:116
+#: access/transam/xlogfuncs.c:155 access/transam/xlogfuncs.c:229
+#, c-format
+msgid "non-exclusive backup in progress"
+msgstr "выполняется не монопольное резервное копирование"
+
+#: access/transam/xlogfuncs.c:156 access/transam/xlogfuncs.c:230
+#, c-format
+msgid "Did you mean to use pg_stop_backup('f')?"
+msgstr "Вероятно, подразумевалось pg_stop_backup('f')?"
+
+#: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449
+#: commands/event_trigger.c:2000 commands/extension.c:1728
+#: commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702
+#: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157
+#: executor/execQual.c:5406 executor/functions.c:1024 foreign/foreign.c:598
+#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391
+#: replication/slotfuncs.c:189 replication/walsender.c:2765
+#: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615
+#: utils/adt/jsonfuncs.c:1805 utils/adt/jsonfuncs.c:1934
+#: utils/adt/jsonfuncs.c:2702 utils/adt/pgstatfuncs.c:554
+#: utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8415
+#: utils/mmgr/portalmem.c:1064
 #, c-format
-msgid "must be superuser to switch transaction log files"
+msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
-"для переключения файлов журнала транзакций нужно быть суперпользователем"
+"функция, возвращающая множество, вызвана в контексте, где ему нет места"
+
+#: access/transam/xlogfuncs.c:204 commands/event_trigger.c:1453
+#: commands/event_trigger.c:2004 commands/extension.c:1732
+#: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:706
+#: foreign/foreign.c:603 replication/logical/logicalfuncs.c:179
+#: replication/logical/origin.c:1395 replication/slotfuncs.c:193
+#: replication/walsender.c:2769 utils/adt/pgstatfuncs.c:558
+#: utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8419 utils/misc/pg_config.c:44
+#: utils/mmgr/portalmem.c:1068
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "требуется режим материализации, но он недопустим в этом контексте"
 
-#: access/transam/xlogfuncs.c:145
+#: access/transam/xlogfuncs.c:247
 #, c-format
-msgid "must be superuser to create a restore point"
-msgstr "для создания точки восстановления нужно быть суперпользователем"
+msgid "non-exclusive backup is not in progress"
+msgstr "немонопольное резервное копирование не выполняется"
 
-#: access/transam/xlogfuncs.c:156
+#: access/transam/xlogfuncs.c:248
+#, c-format
+msgid "Did you mean to use pg_stop_backup('t')?"
+msgstr "Вероятно, подразумевалось pg_stop_backup('t')?"
+
+#: access/transam/xlogfuncs.c:326
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления"
 
-#: access/transam/xlogfuncs.c:164
+#: access/transam/xlogfuncs.c:334
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "значение для точки восстановления превышает предел (%d симв.)"
 
-#: access/transam/xlogfuncs.c:281
+#: access/transam/xlogfuncs.c:472
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr ""
 "Функцию pg_xlogfile_name_offset() нельзя вызывать во время восстановления."
 
-#: access/transam/xlogfuncs.c:337
+#: access/transam/xlogfuncs.c:528
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "Функцию pg_xlogfile_name() нельзя вызывать в процессе восстановления."
 
-#: access/transam/xlogfuncs.c:354 access/transam/xlogfuncs.c:376
-#, c-format
-msgid "must be superuser to control recovery"
-msgstr "для управления восстановлением нужно быть суперпользователем"
-
-#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:381
-#: access/transam/xlogfuncs.c:398
+#: access/transam/xlogfuncs.c:548 access/transam/xlogfuncs.c:568
+#: access/transam/xlogfuncs.c:585
 #, c-format
 msgid "recovery is not in progress"
 msgstr "восстановление не выполняется"
 
-#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:382
-#: access/transam/xlogfuncs.c:399
+#: access/transam/xlogfuncs.c:549 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:586
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
 "Функции управления восстановлением можно использовать только в процессе "
 "восстановления."
 
-#: access/transam/xlogreader.c:264
+#: access/transam/xlogreader.c:276
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "неверное смещение записи: %X/%X"
 
-#: access/transam/xlogreader.c:272
+#: access/transam/xlogreader.c:284
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "по смещению %X/%X запрошено продолжение записи"
 
-#: access/transam/xlogreader.c:312 access/transam/xlogreader.c:603
+#: access/transam/xlogreader.c:325 access/transam/xlogreader.c:624
 #, c-format
-msgid "invalid record length at %X/%X"
-msgstr "неверная длина записи по смещению %X/%X"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
 
-#: access/transam/xlogreader.c:326
+#: access/transam/xlogreader.c:340
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "длина записи %u по смещению %X/%X слишком велика"
 
-#: access/transam/xlogreader.c:367
+#: access/transam/xlogreader.c:381
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: access/transam/xlogreader.c:380
+#: access/transam/xlogreader.c:394
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "неверная длина contrecord (%u) в позиции %X/%X"
 
-#: access/transam/xlogreader.c:610
+#: access/transam/xlogreader.c:632
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
 
-#: access/transam/xlogreader.c:624 access/transam/xlogreader.c:641
+#: access/transam/xlogreader.c:646 access/transam/xlogreader.c:663
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X"
 
-#: access/transam/xlogreader.c:678
+#: access/transam/xlogreader.c:700
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи по "
 "смещению %X/%X"
 
-#: access/transam/xlogreader.c:711
+#: access/transam/xlogreader.c:733
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:725 access/transam/xlogreader.c:776
+#: access/transam/xlogreader.c:747 access/transam/xlogreader.c:798
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:751
+#: access/transam/xlogreader.c:773
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -2909,7 +3354,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД %s, "
 "а идентификатор системы pg_control: %s"
 
-#: access/transam/xlogreader.c:758
+#: access/transam/xlogreader.c:780
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page "
@@ -2918,7 +3363,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_SEG_SIZE в заголовке "
 "страницы"
 
-#: access/transam/xlogreader.c:764
+#: access/transam/xlogreader.c:786
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
@@ -2927,35 +3372,35 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы"
 
-#: access/transam/xlogreader.c:790
+#: access/transam/xlogreader.c:812
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:815
+#: access/transam/xlogreader.c:837
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте "
 "журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:1024
+#: access/transam/xlogreader.c:1044
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1046
+#: access/transam/xlogreader.c:1066
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
 
-#: access/transam/xlogreader.c:1053
+#: access/transam/xlogreader.c:1073
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr ""
 "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1086
+#: access/transam/xlogreader.c:1106
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -2964,21 +3409,21 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
 "при длине образа блока %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1102
+#: access/transam/xlogreader.c:1122
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
 "%u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1117
+#: access/transam/xlogreader.c:1137
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_IS_COMPRESSED установлен, но длина образа блока равна %u в позиции "
 "%X/%X"
 
-#: access/transam/xlogreader.c:1132
+#: access/transam/xlogreader.c:1152
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
@@ -2987,619 +3432,625 @@ msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_IS_COMPRESSED не установлены, но длина "
 "образа блока равна %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1148
+#: access/transam/xlogreader.c:1168
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
-#: access/transam/xlogreader.c:1160
+#: access/transam/xlogreader.c:1180
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "неверный идентификатор блока %u в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1225
+#: access/transam/xlogreader.c:1245
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "запись с неверной длиной в позиции %X/%X"
 
-#: access/transam/xlogreader.c:1314
+#: access/transam/xlogreader.c:1334
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "неверный сжатый образ в позиции %X/%X, блок %d"
 
-#: bootstrap/bootstrap.c:268 postmaster/postmaster.c:779 tcop/postgres.c:3485
+#: access/transam/xlogutils.c:739 replication/walsender.c:2133
+#, c-format
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "не удалось прочитать сегмент журнала %s (смещение %u, длина %lu): %m"
+
+#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:785 tcop/postgres.c:3503
 #, c-format
 msgid "--%s requires a value"
 msgstr "для --%s требуется значение"
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:784 tcop/postgres.c:3490
+#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:790 tcop/postgres.c:3508
 #, c-format
 msgid "-c %s requires a value"
 msgstr "для -c %s требуется значение"
 
-#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:796
-#: postmaster/postmaster.c:809
+#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:802
+#: postmaster/postmaster.c:815
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: bootstrap/bootstrap.c:293
+#: bootstrap/bootstrap.c:294
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: неверные аргументы командной строки\n"
 
-#: catalog/aclchk.c:182
+#: catalog/aclchk.c:193
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "право назначения прав можно давать только ролям"
 
-#: catalog/aclchk.c:305
+#: catalog/aclchk.c:316
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:310
+#: catalog/aclchk.c:321
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:318
+#: catalog/aclchk.c:329
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr ""
 "для столбца \"%s\" отношения \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:334
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:345
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:339
+#: catalog/aclchk.c:350
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:358
 #, c-format
 msgid ""
 "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для столбца \"%s\" отношения \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:363
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:434 catalog/aclchk.c:924
+#: catalog/aclchk.c:445 catalog/aclchk.c:935
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "право %s неприменимо для отношений"
 
-#: catalog/aclchk.c:438 catalog/aclchk.c:928
+#: catalog/aclchk.c:449 catalog/aclchk.c:939
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "право %s неприменимо для последовательностей"
 
-#: catalog/aclchk.c:442
+#: catalog/aclchk.c:453
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "право %s неприменимо для баз данных"
 
-#: catalog/aclchk.c:446
+#: catalog/aclchk.c:457
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "право %s неприменимо для домена"
 
-#: catalog/aclchk.c:450 catalog/aclchk.c:932
+#: catalog/aclchk.c:461 catalog/aclchk.c:943
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "право %s неприменимо для функций"
 
-#: catalog/aclchk.c:454
+#: catalog/aclchk.c:465
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "право %s неприменимо для языков"
 
-#: catalog/aclchk.c:458
+#: catalog/aclchk.c:469
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "право %s неприменимо для больших объектов"
 
-#: catalog/aclchk.c:462
+#: catalog/aclchk.c:473
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "право %s неприменимо для схем"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:477
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "право %s неприменимо для табличных пространств"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:936
+#: catalog/aclchk.c:481 catalog/aclchk.c:947
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "право %s неприменимо для типа"
 
-#: catalog/aclchk.c:474
+#: catalog/aclchk.c:485
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "право %s неприменимо для обёрток сторонних данных"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:489
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "право %s неприменимо для сторонних серверов"
 
-#: catalog/aclchk.c:517
+#: catalog/aclchk.c:528
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "права для столбцов применимы только к отношениям"
 
-#: catalog/aclchk.c:676 catalog/aclchk.c:3874 catalog/aclchk.c:4651
-#: catalog/objectaddress.c:854 catalog/pg_largeobject.c:113
+#: catalog/aclchk.c:687 catalog/aclchk.c:3914 catalog/aclchk.c:4696
+#: catalog/objectaddress.c:873 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:863 catalog/aclchk.c:871 commands/collationcmds.c:92
-#: commands/copy.c:1010 commands/copy.c:1028 commands/copy.c:1036
-#: commands/copy.c:1044 commands/copy.c:1052 commands/copy.c:1060
-#: commands/copy.c:1068 commands/copy.c:1076 commands/copy.c:1084
-#: commands/copy.c:1100 commands/copy.c:1114 commands/copy.c:1133
-#: commands/copy.c:1148 commands/dbcommands.c:155 commands/dbcommands.c:163
+#: catalog/aclchk.c:874 catalog/aclchk.c:882 commands/collationcmds.c:92
+#: commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034
+#: commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058
+#: commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082
+#: commands/copy.c:1098 commands/copy.c:1112 commands/copy.c:1131
+#: commands/copy.c:1146 commands/dbcommands.c:155 commands/dbcommands.c:163
 #: commands/dbcommands.c:171 commands/dbcommands.c:179
 #: commands/dbcommands.c:187 commands/dbcommands.c:195
 #: commands/dbcommands.c:203 commands/dbcommands.c:211
 #: commands/dbcommands.c:219 commands/dbcommands.c:1397
 #: commands/dbcommands.c:1405 commands/dbcommands.c:1413
-#: commands/dbcommands.c:1421 commands/extension.c:1244
-#: commands/extension.c:1252 commands/extension.c:1260
-#: commands/extension.c:2677 commands/foreigncmds.c:539
-#: commands/foreigncmds.c:548 commands/functioncmds.c:525
-#: commands/functioncmds.c:619 commands/functioncmds.c:627
-#: commands/functioncmds.c:635 commands/functioncmds.c:643
-#: commands/functioncmds.c:2045 commands/functioncmds.c:2053
-#: commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205
-#: commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229
-#: commands/sequence.c:1237 commands/sequence.c:1245 commands/typecmds.c:293
-#: commands/typecmds.c:1380 commands/typecmds.c:1389 commands/typecmds.c:1397
-#: commands/typecmds.c:1405 commands/typecmds.c:1413 commands/user.c:138
-#: commands/user.c:155 commands/user.c:163 commands/user.c:171
-#: commands/user.c:179 commands/user.c:187 commands/user.c:195
-#: commands/user.c:203 commands/user.c:211 commands/user.c:219
-#: commands/user.c:227 commands/user.c:235 commands/user.c:243
-#: commands/user.c:522 commands/user.c:534 commands/user.c:542
-#: commands/user.c:550 commands/user.c:558 commands/user.c:566
-#: commands/user.c:574 commands/user.c:582 commands/user.c:591
-#: commands/user.c:599 commands/user.c:607
+#: commands/dbcommands.c:1421 commands/extension.c:1218
+#: commands/extension.c:1226 commands/extension.c:1234
+#: commands/extension.c:1242 commands/extension.c:2760
+#: commands/foreigncmds.c:539 commands/foreigncmds.c:548
+#: commands/functioncmds.c:533 commands/functioncmds.c:649
+#: commands/functioncmds.c:657 commands/functioncmds.c:665
+#: commands/functioncmds.c:673 commands/functioncmds.c:2085
+#: commands/functioncmds.c:2093 commands/sequence.c:1189
+#: commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213
+#: commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237
+#: commands/sequence.c:1245 commands/typecmds.c:295 commands/typecmds.c:1382
+#: commands/typecmds.c:1391 commands/typecmds.c:1399 commands/typecmds.c:1407
+#: commands/typecmds.c:1415 commands/user.c:139 commands/user.c:156
+#: commands/user.c:164 commands/user.c:172 commands/user.c:180
+#: commands/user.c:188 commands/user.c:196 commands/user.c:204
+#: commands/user.c:212 commands/user.c:220 commands/user.c:228
+#: commands/user.c:236 commands/user.c:244 commands/user.c:537
+#: commands/user.c:549 commands/user.c:557 commands/user.c:565
+#: commands/user.c:573 commands/user.c:581 commands/user.c:589
+#: commands/user.c:597 commands/user.c:606 commands/user.c:614
+#: commands/user.c:622
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "конфликтующие или избыточные параметры"
 
-#: catalog/aclchk.c:969
+#: catalog/aclchk.c:980
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "права по умолчанию нельзя определить для столбцов"
 
-#: catalog/aclchk.c:1483 catalog/objectaddress.c:1338 commands/analyze.c:378
-#: commands/copy.c:4383 commands/sequence.c:1491 commands/tablecmds.c:5167
-#: commands/tablecmds.c:5273 commands/tablecmds.c:5333
-#: commands/tablecmds.c:5446 commands/tablecmds.c:5503
-#: commands/tablecmds.c:5597 commands/tablecmds.c:5693
-#: commands/tablecmds.c:7845 commands/tablecmds.c:8050
-#: commands/tablecmds.c:8470 commands/trigger.c:643 parser/analyze.c:2160
+#: catalog/aclchk.c:1494 catalog/objectaddress.c:1390 commands/analyze.c:378
+#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5197
+#: commands/tablecmds.c:5303 commands/tablecmds.c:5363
+#: commands/tablecmds.c:5476 commands/tablecmds.c:5533
+#: commands/tablecmds.c:5627 commands/tablecmds.c:5723
+#: commands/tablecmds.c:7875 commands/tablecmds.c:8080
+#: commands/tablecmds.c:8500 commands/trigger.c:642 parser/analyze.c:2182
 #: parser/parse_relation.c:2542 parser/parse_relation.c:2604
-#: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2839
-#: utils/adt/ruleutils.c:1856
+#: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1870
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "столбец \"%s\" в таблице \"%s\" не существует"
 
-#: catalog/aclchk.c:1748 catalog/objectaddress.c:1151 commands/sequence.c:1078
-#: commands/tablecmds.c:221 commands/tablecmds.c:11960 utils/adt/acl.c:2075
-#: utils/adt/acl.c:2105 utils/adt/acl.c:2137 utils/adt/acl.c:2169
-#: utils/adt/acl.c:2197 utils/adt/acl.c:2227
+#: catalog/aclchk.c:1763 catalog/objectaddress.c:1203 commands/sequence.c:1078
+#: commands/tablecmds.c:223 commands/tablecmds.c:12007 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
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" - это не последовательность"
 
-#: catalog/aclchk.c:1786
+#: catalog/aclchk.c:1801
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr ""
 "для последовательности \"%s\" применимы только права USAGE, SELECT и UPDATE"
 
-#: catalog/aclchk.c:1803
+#: catalog/aclchk.c:1818
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "право USAGE неприменимо для таблиц"
 
-#: catalog/aclchk.c:1968
+#: catalog/aclchk.c:1986
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "право %s неприменимо для столбцов"
 
-#: catalog/aclchk.c:1981
+#: catalog/aclchk.c:1999
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "для последовательности \"%s\" применимо только право SELECT"
 
 # TO REVIEW
-#: catalog/aclchk.c:2565
+#: catalog/aclchk.c:2593
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "язык \"%s\" не является доверенным"
 
-#: catalog/aclchk.c:2567
+#: catalog/aclchk.c:2595
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "Использовать недоверенные языки могут только суперпользователи."
 
-#: catalog/aclchk.c:3083
+#: catalog/aclchk.c:3120
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "для типов массивов нельзя определить права"
 
-#: catalog/aclchk.c:3084
+#: catalog/aclchk.c:3121
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Вместо этого установите права для типа элемента."
 
-#: catalog/aclchk.c:3091 catalog/objectaddress.c:1471 commands/typecmds.c:3142
+#: catalog/aclchk.c:3128 catalog/objectaddress.c:1523 commands/typecmds.c:3146
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: catalog/aclchk.c:3211
+#: catalog/aclchk.c:3251
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "нераспознанное право: \"%s\""
 
-#: catalog/aclchk.c:3260
+#: catalog/aclchk.c:3300
 #, c-format
 msgid "permission denied for column %s"
 msgstr "нет доступа к столбцу %s"
 
-#: catalog/aclchk.c:3262
+#: catalog/aclchk.c:3302
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "нет доступа к отношению %s"
 
-#: catalog/aclchk.c:3264 commands/sequence.c:561 commands/sequence.c:786
+#: catalog/aclchk.c:3304 commands/sequence.c:561 commands/sequence.c:786
 #: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "нет доступа к последовательности %s"
 
-#: catalog/aclchk.c:3266
+#: catalog/aclchk.c:3306
 #, c-format
 msgid "permission denied for database %s"
 msgstr "нет доступа к базе данных %s"
 
-#: catalog/aclchk.c:3268
+#: catalog/aclchk.c:3308
 #, c-format
 msgid "permission denied for function %s"
 msgstr "нет доступа к функции %s"
 
-#: catalog/aclchk.c:3270
+#: catalog/aclchk.c:3310
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "нет доступа к оператору %s"
 
-#: catalog/aclchk.c:3272
+#: catalog/aclchk.c:3312
 #, c-format
 msgid "permission denied for type %s"
 msgstr "нет доступа к типу %s"
 
-#: catalog/aclchk.c:3274
+#: catalog/aclchk.c:3314
 #, c-format
 msgid "permission denied for language %s"
 msgstr "нет доступа к языку %s"
 
-#: catalog/aclchk.c:3276
+#: catalog/aclchk.c:3316
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "нет доступа к большому объекту %s"
 
-#: catalog/aclchk.c:3278
+#: catalog/aclchk.c:3318
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "нет доступа к схеме %s"
 
-#: catalog/aclchk.c:3280
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "нет доступа к классу операторов %s"
 
-#: catalog/aclchk.c:3282
+#: catalog/aclchk.c:3322
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "нет доступа к семейству операторов %s"
 
-#: catalog/aclchk.c:3284
+#: catalog/aclchk.c:3324
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "нет доступа к правилу сортировки %s"
 
-#: catalog/aclchk.c:3286
+#: catalog/aclchk.c:3326
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "нет доступа к преобразованию %s"
 
-#: catalog/aclchk.c:3288
+#: catalog/aclchk.c:3328
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "нет доступа к табличному пространству %s"
 
-#: catalog/aclchk.c:3290
+#: catalog/aclchk.c:3330
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "нет доступа к словарю текстового поиска %s"
 
-#: catalog/aclchk.c:3292
+#: catalog/aclchk.c:3332
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "нет доступа к конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:3294
+#: catalog/aclchk.c:3334
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "нет доступа к обёртке сторонних данных %s"
 
-#: catalog/aclchk.c:3296
+#: catalog/aclchk.c:3336
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "нет доступа к стороннему серверу %s"
 
-#: catalog/aclchk.c:3298
+#: catalog/aclchk.c:3338
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "нет доступа к событийному триггеру %s"
 
-#: catalog/aclchk.c:3300
+#: catalog/aclchk.c:3340
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "нет доступа к расширению %s"
 
-#: catalog/aclchk.c:3306 catalog/aclchk.c:3308
+#: catalog/aclchk.c:3346 catalog/aclchk.c:3348
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "нужно быть владельцем отношения %s"
 
-#: catalog/aclchk.c:3310
+#: catalog/aclchk.c:3350
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "нужно быть владельцем последовательности %s"
 
-#: catalog/aclchk.c:3312
+#: catalog/aclchk.c:3352
 #, c-format
 msgid "must be owner of database %s"
 msgstr "нужно быть владельцем базы %s"
 
-#: catalog/aclchk.c:3314
+#: catalog/aclchk.c:3354
 #, c-format
 msgid "must be owner of function %s"
 msgstr "нужно быть владельцем функции %s"
 
-#: catalog/aclchk.c:3316
+#: catalog/aclchk.c:3356
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "нужно быть владельцем оператора %s"
 
-#: catalog/aclchk.c:3318
+#: catalog/aclchk.c:3358
 #, c-format
 msgid "must be owner of type %s"
 msgstr "нужно быть владельцем типа %s"
 
-#: catalog/aclchk.c:3320
+#: catalog/aclchk.c:3360
 #, c-format
 msgid "must be owner of language %s"
 msgstr "нужно быть владельцем языка %s"
 
-#: catalog/aclchk.c:3322
+#: catalog/aclchk.c:3362
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "нужно быть владельцем большого объекта %s"
 
-#: catalog/aclchk.c:3324
+#: catalog/aclchk.c:3364
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "нужно быть владельцем схемы %s"
 
-#: catalog/aclchk.c:3326
+#: catalog/aclchk.c:3366
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "нужно быть владельцем класса операторов %s"
 
-#: catalog/aclchk.c:3328
+#: catalog/aclchk.c:3368
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "нужно быть владельцем семейства операторов %s"
 
-#: catalog/aclchk.c:3330
+#: catalog/aclchk.c:3370
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "нужно быть владельцем правила сортировки %s"
 
-#: catalog/aclchk.c:3332
+#: catalog/aclchk.c:3372
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "нужно быть владельцем преобразования %s"
 
-#: catalog/aclchk.c:3334
+#: catalog/aclchk.c:3374
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "нужно быть владельцем табличного пространства %s"
 
-#: catalog/aclchk.c:3336
+#: catalog/aclchk.c:3376
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "нужно быть владельцем словаря текстового поиска %s"
 
-#: catalog/aclchk.c:3338
+#: catalog/aclchk.c:3378
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "нужно быть владельцем конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:3340
+#: catalog/aclchk.c:3380
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "нужно быть владельцем обёртки сторонних данных %s"
 
-#: catalog/aclchk.c:3342
+#: catalog/aclchk.c:3382
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "нужно быть \"владельцем\" стороннего сервера %s"
 
-#: catalog/aclchk.c:3344
+#: catalog/aclchk.c:3384
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "нужно быть владельцем событийного триггера %s"
 
-#: catalog/aclchk.c:3346
+#: catalog/aclchk.c:3386
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "нужно быть владельцем расширения %s"
 
-#: catalog/aclchk.c:3388
+#: catalog/aclchk.c:3428
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "нет доступа к столбцу \"%s\" отношения \"%s\""
 
-#: catalog/aclchk.c:3507 catalog/aclchk.c:3515
+#: catalog/aclchk.c:3547 catalog/aclchk.c:3555
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "атрибут %d отношения с OID %u не существует"
 
-#: catalog/aclchk.c:3588 catalog/aclchk.c:4502
+#: catalog/aclchk.c:3628 catalog/aclchk.c:4547
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "отношение с OID %u не существует"
 
-#: catalog/aclchk.c:3687 catalog/aclchk.c:4920
+#: catalog/aclchk.c:3727 catalog/aclchk.c:4965
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "база данных с OID %u не существует"
 
-#: catalog/aclchk.c:3741 catalog/aclchk.c:4580 tcop/fastpath.c:223
+#: catalog/aclchk.c:3781 catalog/aclchk.c:4625 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "функция с OID %u не существует"
 
-#: catalog/aclchk.c:3795 catalog/aclchk.c:4606
+#: catalog/aclchk.c:3835 catalog/aclchk.c:4651
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "язык с OID %u не существует"
 
-#: catalog/aclchk.c:3959 catalog/aclchk.c:4678
+#: catalog/aclchk.c:3999 catalog/aclchk.c:4723
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "схема с OID %u не существует"
 
-#: catalog/aclchk.c:4013 catalog/aclchk.c:4705
+#: catalog/aclchk.c:4053 catalog/aclchk.c:4750
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "табличное пространство с OID %u не существует"
 
-#: catalog/aclchk.c:4071 catalog/aclchk.c:4839 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4112 catalog/aclchk.c:4884 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "обёртка сторонних данных с OID %u не существует"
 
-#: catalog/aclchk.c:4132 catalog/aclchk.c:4866 commands/foreigncmds.c:461
+#: catalog/aclchk.c:4174 catalog/aclchk.c:4911 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "сторонний сервер с OID %u не существует"
 
-#: catalog/aclchk.c:4191 catalog/aclchk.c:4205 catalog/aclchk.c:4528
+#: catalog/aclchk.c:4234 catalog/aclchk.c:4573
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "тип с OID %u не существует"
 
-#: catalog/aclchk.c:4554
+#: catalog/aclchk.c:4599
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "оператор с OID %u не существует"
 
-#: catalog/aclchk.c:4731
+#: catalog/aclchk.c:4776
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "класс операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4758
+#: catalog/aclchk.c:4803
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "семейство операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4830
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "словарь текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4812
+#: catalog/aclchk.c:4857
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "конфигурация текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4893 commands/event_trigger.c:586
+#: catalog/aclchk.c:4938 commands/event_trigger.c:587
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "событийный триггер с OID %u не существует"
 
-#: catalog/aclchk.c:4946
+#: catalog/aclchk.c:4991
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "правило сортировки с OID %u не существует"
 
-#: catalog/aclchk.c:4972
+#: catalog/aclchk.c:5017
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "преобразование с OID %u не существует"
 
-#: catalog/aclchk.c:5013
+#: catalog/aclchk.c:5058
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "расширение с OID %u не существует"
 
-#: catalog/dependency.c:640
+#: catalog/dependency.c:646
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "удалить объект %s нельзя, так как он нужен объекту %s"
 
-#: catalog/dependency.c:643
+#: catalog/dependency.c:649
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Однако можно удалить %s."
 
-#: catalog/dependency.c:804 catalog/pg_shdepend.c:576
+#: catalog/dependency.c:811 catalog/pg_shdepend.c:576
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "удалить объект %s нельзя, так как он нужен системе баз данных"
 
-#: catalog/dependency.c:920
+#: catalog/dependency.c:927
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "удаление автоматически распространяется на объект %s"
 
-#: catalog/dependency.c:932 catalog/dependency.c:941
+#: catalog/dependency.c:939 catalog/dependency.c:948
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s зависит от объекта %s"
 
-#: catalog/dependency.c:953 catalog/dependency.c:962
+#: catalog/dependency.c:960 catalog/dependency.c:969
 #, c-format
 msgid "drop cascades to %s"
 msgstr "удаление распространяется на объект %s"
 
-#: catalog/dependency.c:970 catalog/pg_shdepend.c:687
+#: catalog/dependency.c:977 catalog/pg_shdepend.c:687
 #, c-format
 msgid ""
 "\n"
@@ -3617,24 +4068,24 @@ msgstr[2] ""
 "\n"
 "и ещё %d объектов (см. список в протоколе сервера)"
 
-#: catalog/dependency.c:982
+#: catalog/dependency.c:989
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "удалить объект %s нельзя, так как от него зависят другие объекты"
 
-#: catalog/dependency.c:986 catalog/dependency.c:993
+#: catalog/dependency.c:993 catalog/dependency.c:1000
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Для удаления зависимых объектов используйте DROP ... CASCADE."
 
-#: catalog/dependency.c:990
+#: catalog/dependency.c:997
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr ""
 "удалить запрошенные объекты нельзя, так как от них зависят другие объекты"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:999
+#: catalog/dependency.c:1006
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
@@ -3642,87 +4093,87 @@ msgstr[0] "удаление распространяется на ещё %d об
 msgstr[1] "удаление распространяется на ещё %d объекта"
 msgstr[2] "удаление распространяется на ещё %d объектов"
 
-#: catalog/dependency.c:1622
+#: catalog/dependency.c:1634
 #, c-format
 msgid "constant of the type \"regrole\" cannot be used here"
 msgstr "константу типа \"regrole\" здесь использовать нельзя"
 
-#: catalog/heap.c:276
+#: catalog/heap.c:277
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "нет прав для создания отношения \"%s.%s\""
 
-#: catalog/heap.c:278
+#: catalog/heap.c:279
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Изменение системного каталога в текущем состоянии запрещено."
 
-#: catalog/heap.c:413 commands/tablecmds.c:1434 commands/tablecmds.c:1887
-#: commands/tablecmds.c:4804
+#: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895
+#: commands/tablecmds.c:4819
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "максимальное число столбцов в таблице: %d"
 
-#: catalog/heap.c:430 commands/tablecmds.c:5063
+#: catalog/heap.c:431 commands/tablecmds.c:5080
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "имя столбца \"%s\" конфликтует с системным столбцом"
 
-#: catalog/heap.c:446
+#: catalog/heap.c:447
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "имя столбца \"%s\" указано неоднократно"
 
-#: catalog/heap.c:496
+#: catalog/heap.c:497
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "столбец \"%s\" имеет неизвестный тип (UNKNOWN)"
 
-#: catalog/heap.c:497
+#: catalog/heap.c:498
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Несмотря на это, создание отношения продолжается."
 
-#: catalog/heap.c:510
+#: catalog/heap.c:511
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "столбец \"%s\" имеет псевдотип %s"
 
-#: catalog/heap.c:540
+#: catalog/heap.c:541
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "составной тип %s не может содержать себя же"
 
-#: catalog/heap.c:582 commands/createas.c:373
+#: catalog/heap.c:583 commands/createas.c:373
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr ""
 "для столбца \"%s\" с сортируемым типом %s не удалось получить правило "
 "сортировки"
 
-#: catalog/heap.c:584 commands/createas.c:375 commands/indexcmds.c:1087
-#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514
-#: utils/adt/formatting.c:1566 utils/adt/formatting.c:1634
-#: utils/adt/formatting.c:1686 utils/adt/formatting.c:1755
-#: utils/adt/formatting.c:1819 utils/adt/like.c:213 utils/adt/selfuncs.c:5276
-#: utils/adt/varlena.c:1411 utils/adt/varlena.c:1800
+#: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1513
+#: utils/adt/formatting.c:1565 utils/adt/formatting.c:1633
+#: utils/adt/formatting.c:1685 utils/adt/formatting.c:1754
+#: utils/adt/formatting.c:1818 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
+#: utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Задайте правило сравнения явно в предложении COLLATE."
 
-#: catalog/heap.c:1065 catalog/index.c:793 commands/tablecmds.c:2614
+#: catalog/heap.c:1066 catalog/index.c:792 commands/tablecmds.c:2622
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "отношение \"%s\" уже существует"
 
-#: catalog/heap.c:1081 catalog/pg_type.c:412 catalog/pg_type.c:722
-#: commands/typecmds.c:235 commands/typecmds.c:782 commands/typecmds.c:1133
-#: commands/typecmds.c:1355 commands/typecmds.c:2109
+#: catalog/heap.c:1082 catalog/pg_type.c:412 catalog/pg_type.c:722
+#: commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135
+#: commands/typecmds.c:1357 commands/typecmds.c:2113
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "тип \"%s\" уже существует"
 
-#: catalog/heap.c:1082
+#: catalog/heap.c:1083
 #, c-format
 msgid ""
 "A relation has an associated type of the same name, so you must use a name "
@@ -3731,66 +4182,66 @@ msgstr ""
 "С отношением уже связан тип с таким же именем; выберите имя, не "
 "конфликтующее с существующими типами."
 
-#: catalog/heap.c:1110
+#: catalog/heap.c:1111
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновления"
 
-#: catalog/heap.c:2290
+#: catalog/heap.c:2289
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "ограничение-проверка \"%s\" уже существует"
 
-#: catalog/heap.c:2445 catalog/pg_constraint.c:652 commands/tablecmds.c:6038
+#: catalog/heap.c:2442 catalog/pg_constraint.c:654 commands/tablecmds.c:6068
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "ограничение \"%s\" для отношения \"%s\" уже существует"
 
-#: catalog/heap.c:2455
+#: catalog/heap.c:2452
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\""
 
-#: catalog/heap.c:2469
+#: catalog/heap.c:2466
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "слияние ограничения \"%s\" с унаследованным определением"
 
-#: catalog/heap.c:2562
+#: catalog/heap.c:2559
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "в выражении по умолчанию нельзя ссылаться на столбцы"
 
-#: catalog/heap.c:2573
+#: catalog/heap.c:2570
 #, c-format
 msgid "default expression must not return a set"
 msgstr "выражение по умолчанию не может возвращать множество"
 
-#: catalog/heap.c:2592 rewrite/rewriteHandler.c:1077
+#: catalog/heap.c:2589 rewrite/rewriteHandler.c:1084
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "столбец \"%s\" имеет тип %s, но тип выражения по умолчанию %s"
 
-#: catalog/heap.c:2597 commands/prepare.c:374 parser/parse_node.c:411
+#: catalog/heap.c:2594 commands/prepare.c:374 parser/parse_node.c:428
 #: parser/parse_target.c:528 parser/parse_target.c:778
-#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1082
+#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1089
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Перепишите выражение или преобразуйте его тип."
 
-#: catalog/heap.c:2644
+#: catalog/heap.c:2641
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\""
 
-#: catalog/heap.c:2884
+#: catalog/heap.c:2881
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT"
 
-#: catalog/heap.c:2885
+#: catalog/heap.c:2882
 #, c-format
 msgid ""
 "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
@@ -3798,90 +4249,90 @@ msgid ""
 msgstr ""
 "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT."
 
-#: catalog/heap.c:2890
+#: catalog/heap.c:2887
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя"
 
-#: catalog/heap.c:2891
+#: catalog/heap.c:2888
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Таблица \"%s\" ссылается на \"%s\"."
 
-#: catalog/heap.c:2893
+#: catalog/heap.c:2890
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr ""
 "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE."
 
-#: catalog/index.c:205 parser/parse_utilcmd.c:1436 parser/parse_utilcmd.c:1522
+#: catalog/index.c:210 parser/parse_utilcmd.c:1486 parser/parse_utilcmd.c:1572
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "таблица \"%s\" не может иметь несколько первичных ключей"
 
-#: catalog/index.c:223
+#: catalog/index.c:228
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "первичные ключи не могут быть выражениями"
 
-#: catalog/index.c:743 catalog/index.c:1161
+#: catalog/index.c:742 catalog/index.c:1160
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr ""
 "пользовательские индексы в таблицах системного каталога не поддерживаются"
 
-#: catalog/index.c:753
+#: catalog/index.c:752
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "параллельное создание индекса в таблицах системного каталога не "
 "поддерживается"
 
-#: catalog/index.c:771
+#: catalog/index.c:770
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "нельзя создать разделяемые индексы после initdb"
 
-#: catalog/index.c:785 commands/createas.c:100 commands/sequence.c:141
-#: parser/parse_utilcmd.c:185
+#: catalog/index.c:784 commands/createas.c:100 commands/sequence.c:141
+#: parser/parse_utilcmd.c:192
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "отношение \"%s\" уже существует, пропускается"
 
-#: catalog/index.c:821
+#: catalog/index.c:820
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr ""
 "значение OID индекса в pg_class не задано в режиме двоичного обновления"
 
-#: catalog/index.c:1423
+#: catalog/index.c:1422
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции"
 
-#: catalog/index.c:2007
+#: catalog/index.c:2004
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "создание индекса \"%s\" для таблицы \"%s\""
 
-#: catalog/index.c:3262
+#: catalog/index.c:3322
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "переиндексировать временные таблицы других сеансов нельзя"
 
-#: catalog/index.c:3387
+#: catalog/index.c:3454
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "индекс \"%s\" был перестроен"
 
-#: catalog/index.c:3389 commands/vacuumlazy.c:1135 commands/vacuumlazy.c:1211
-#: commands/vacuumlazy.c:1378 commands/vacuumlazy.c:1550
+#: catalog/index.c:3456 commands/vacuumlazy.c:1323 commands/vacuumlazy.c:1399
+#: commands/vacuumlazy.c:1588 commands/vacuumlazy.c:1789
 #, c-format
 msgid "%s."
 msgstr "%s."
 
 #: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
-#: commands/trigger.c:4528
+#: commands/trigger.c:4527
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "ссылки между базами не реализованы: \"%s.%s.%s\""
@@ -3912,8 +4363,8 @@ msgstr "отношение \"%s.%s\" не существует"
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: catalog/namespace.c:487 catalog/namespace.c:2852 commands/extension.c:1394
-#: commands/extension.c:1400
+#: catalog/namespace.c:487 catalog/namespace.c:2841 commands/extension.c:1382
+#: commands/extension.c:1388
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "схема для создания объектов не выбрана"
@@ -3960,313 +4411,311 @@ msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
 #: catalog/namespace.c:2652 parser/parse_expr.c:796 parser/parse_target.c:1137
-#: gram.y:13305 gram.y:14659
+#: gram.y:13435 gram.y:14804
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: catalog/namespace.c:2786
-#, c-format
-msgid "%s is already in schema \"%s\""
-msgstr "объект %s уже существует в схеме \"%s\""
-
-#: catalog/namespace.c:2794
+#: catalog/namespace.c:2783
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "перемещать объекты в/из внутренних схем нельзя"
 
-#: catalog/namespace.c:2800
+#: catalog/namespace.c:2789
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "перемещать объекты в/из схем TOAST нельзя"
 
-#: catalog/namespace.c:2873 commands/schemacmds.c:238
-#: commands/schemacmds.c:317 commands/tablecmds.c:736
+#: catalog/namespace.c:2862 commands/schemacmds.c:238 commands/schemacmds.c:317
+#: commands/tablecmds.c:740
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "схема \"%s\" не существует"
 
-#: catalog/namespace.c:2904
+#: catalog/namespace.c:2893
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: catalog/namespace.c:3369
+#: catalog/namespace.c:3403
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует"
 
-#: catalog/namespace.c:3424
+#: catalog/namespace.c:3458
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "преобразование \"%s\" не существует"
 
-#: catalog/namespace.c:3632
+#: catalog/namespace.c:3666
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "нет прав для создания временных таблиц в базе \"%s\""
 
-#: catalog/namespace.c:3648
+#: catalog/namespace.c:3682
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "создавать временные таблицы в процессе восстановления нельзя"
 
-#: catalog/namespace.c:3654
+#: catalog/namespace.c:3688
 #, c-format
 msgid "cannot create temporary tables in parallel mode"
 msgstr "создавать временные таблицы в параллельном режиме нельзя"
 
-#: catalog/namespace.c:3898 commands/tablespace.c:1159 commands/variable.c:63
-#: replication/syncrep.c:700 utils/misc/guc.c:9636
+#: catalog/namespace.c:3932 commands/tablespace.c:1173 commands/variable.c:63
+#: utils/misc/guc.c:9844
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Ошибка синтаксиса в списке."
 
-#: catalog/objectaddress.c:1021
+#: catalog/objectaddress.c:1065
+msgid "access method name cannot be qualified"
+msgstr "имя метода доступа не может быть составным"
+
+#: catalog/objectaddress.c:1068
 msgid "database name cannot be qualified"
 msgstr "имя базы данных не может быть составным"
 
-#: catalog/objectaddress.c:1024 commands/extension.c:2423
+#: catalog/objectaddress.c:1071 commands/extension.c:2506
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "имя расширения не может быть составным"
 
-#: catalog/objectaddress.c:1027
+#: catalog/objectaddress.c:1074
 msgid "tablespace name cannot be qualified"
 msgstr "имя табличного пространства не может быть составным"
 
-#: catalog/objectaddress.c:1030
+#: catalog/objectaddress.c:1077
 msgid "role name cannot be qualified"
 msgstr "имя роли не может быть составным"
 
-#: catalog/objectaddress.c:1033
+#: catalog/objectaddress.c:1080
 msgid "schema name cannot be qualified"
 msgstr "имя схемы не может быть составным"
 
-#: catalog/objectaddress.c:1036
+#: catalog/objectaddress.c:1083
 msgid "language name cannot be qualified"
 msgstr "имя языка не может быть составным"
 
-#: catalog/objectaddress.c:1039
+#: catalog/objectaddress.c:1086
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "имя обёртки сторонних данных не может быть составным"
 
-#: catalog/objectaddress.c:1042
+#: catalog/objectaddress.c:1089
 msgid "server name cannot be qualified"
 msgstr "имя сервера не может быть составным"
 
-#: catalog/objectaddress.c:1045
+#: catalog/objectaddress.c:1092
 msgid "event trigger name cannot be qualified"
 msgstr "имя событийного триггера не может быть составным"
 
-#: catalog/objectaddress.c:1158 commands/lockcmds.c:94 commands/policy.c:94
-#: commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:215
-#: commands/tablecmds.c:1295 commands/tablecmds.c:4338
-#: commands/tablecmds.c:7947
+#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94
+#: commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:217
+#: commands/tablecmds.c:1299 commands/tablecmds.c:4346
+#: commands/tablecmds.c:7977
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" - это не таблица"
 
-#: catalog/objectaddress.c:1165 commands/tablecmds.c:227
-#: commands/tablecmds.c:4368 commands/tablecmds.c:11965 commands/view.c:155
+#: catalog/objectaddress.c:1217 commands/tablecmds.c:229
+#: commands/tablecmds.c:4376 commands/tablecmds.c:12012 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" - это не представление"
 
-#: catalog/objectaddress.c:1172 commands/matview.c:174
-#: commands/tablecmds.c:233 commands/tablecmds.c:11970
+#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:235
+#: commands/tablecmds.c:12017
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" - это не материализованное представление"
 
-#: catalog/objectaddress.c:1179 commands/tablecmds.c:251
-#: commands/tablecmds.c:4371 commands/tablecmds.c:11975
+#: catalog/objectaddress.c:1231 commands/tablecmds.c:253
+#: commands/tablecmds.c:4379 commands/tablecmds.c:12022
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" - это не сторонняя таблица"
 
-#: catalog/objectaddress.c:1324 catalog/objectaddress.c:1377
+#: catalog/objectaddress.c:1376 catalog/objectaddress.c:1429
 #, c-format
 msgid "column name must be qualified"
 msgstr "имя столбца нужно указать в полной форме"
 
-#: catalog/objectaddress.c:1420
+#: catalog/objectaddress.c:1472
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr ""
 "значение по умолчанию для столбца \"%s\" отношения \"%s\" не существует"
 
-#: catalog/objectaddress.c:1460 commands/functioncmds.c:128
-#: commands/tablecmds.c:243 commands/typecmds.c:3210 parser/parse_type.c:226
-#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4373
+#: catalog/objectaddress.c:1512 commands/functioncmds.c:128
+#: commands/tablecmds.c:245 commands/typecmds.c:3214 parser/parse_type.c:226
+#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374
 #: utils/adt/regproc.c:1225
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "тип \"%s\" не существует"
 
-#: catalog/objectaddress.c:1577
+#: catalog/objectaddress.c:1629
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "оператор %d (%s, %s) из семейства %s не существует"
 
-#: catalog/objectaddress.c:1606
+#: catalog/objectaddress.c:1658
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "функция %d (%s, %s) из семейства %s не существует"
 
-#: catalog/objectaddress.c:1655 catalog/objectaddress.c:1681
+#: catalog/objectaddress.c:1707 catalog/objectaddress.c:1733
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "сопоставление для пользователя \"%s\" на сервере \"%s\" не существует"
 
-#: catalog/objectaddress.c:1670 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
-#: foreign/foreign.c:691
+#: catalog/objectaddress.c:1722 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359 foreign/foreign.c:798
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "сервер \"%s\" не существует"
 
-#: catalog/objectaddress.c:1742
+#: catalog/objectaddress.c:1794
 #, c-format
 msgid "unrecognized default ACL object type %c"
 msgstr "нераспознанный тип объекта ACL по умолчанию: %c"
 
-#: catalog/objectaddress.c:1743
+#: catalog/objectaddress.c:1795
 #, c-format
 msgid "Valid object types are \"r\", \"S\", \"f\", and \"T\"."
 msgstr "Допустимые значения: \"r\", \"S\", \"f\" и \"T\"."
 
-#: catalog/objectaddress.c:1789
+#: catalog/objectaddress.c:1841
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr ""
 "ACL по умолчанию для пользователя \"%s\" в схеме \"%s\" для объекта %s не "
 "существует"
 
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:1846
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr ""
 "ACL по умолчанию для пользователя \"%s\" и для объекта %s не существует"
 
-#: catalog/objectaddress.c:1821 catalog/objectaddress.c:1877
-#: catalog/objectaddress.c:1932
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1929
+#: catalog/objectaddress.c:1984
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "списки имён и аргументов не должны содержать NULL"
 
-#: catalog/objectaddress.c:1853
+#: catalog/objectaddress.c:1905
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "неподдерживаемый тип объекта: \"%s\""
 
-#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1891
+#: catalog/objectaddress.c:1925 catalog/objectaddress.c:1943
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "длина списка имён должна быть равна %d"
 
-#: catalog/objectaddress.c:1895
+#: catalog/objectaddress.c:1947
 #, c-format
 msgid "large object OID may not be null"
 msgstr "OID большого объекта не может быть NULL"
 
-#: catalog/objectaddress.c:1904 catalog/objectaddress.c:1964
-#: catalog/objectaddress.c:1971
+#: catalog/objectaddress.c:1956 catalog/objectaddress.c:2016
+#: catalog/objectaddress.c:2023
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "длина списка аргументов должна быть не меньше %d"
 
-#: catalog/objectaddress.c:1957 catalog/objectaddress.c:1977
+#: catalog/objectaddress.c:2009 catalog/objectaddress.c:2029
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "длина списка аргументов должна быть равна %d"
 
-#: catalog/objectaddress.c:2113 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:2165 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "нужно быть владельцем большого объекта %u"
 
-#: catalog/objectaddress.c:2128 commands/functioncmds.c:1386
+#: catalog/objectaddress.c:2180 commands/functioncmds.c:1426
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "это разрешено только владельцу типа %s или %s"
 
-#: catalog/objectaddress.c:2168 catalog/objectaddress.c:2184
+#: catalog/objectaddress.c:2220 catalog/objectaddress.c:2237
 #, c-format
 msgid "must be superuser"
 msgstr "требуются права суперпользователя"
 
-#: catalog/objectaddress.c:2175
+#: catalog/objectaddress.c:2227
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "требуется право CREATEROLE"
 
-#: catalog/objectaddress.c:2254
+#: catalog/objectaddress.c:2307
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "нераспознанный тип объекта \"%s\""
 
-#: catalog/objectaddress.c:2449
+#: catalog/objectaddress.c:2502
 #, c-format
 msgid " column %s"
 msgstr " столбец %s"
 
-#: catalog/objectaddress.c:2455
+#: catalog/objectaddress.c:2508
 #, c-format
 msgid "function %s"
 msgstr "функция %s"
 
-#: catalog/objectaddress.c:2460
+#: catalog/objectaddress.c:2513
 #, c-format
 msgid "type %s"
 msgstr "тип %s"
 
-#: catalog/objectaddress.c:2490
+#: catalog/objectaddress.c:2543
 #, c-format
 msgid "cast from %s to %s"
 msgstr "приведение %s к %s"
 
-#: catalog/objectaddress.c:2510
+#: catalog/objectaddress.c:2563
 #, c-format
 msgid "collation %s"
 msgstr "правило сортировки %s"
 
-#: catalog/objectaddress.c:2534
+#: catalog/objectaddress.c:2587
 #, c-format
 msgid "constraint %s on %s"
 msgstr "ограничение %s в отношении %s"
 
-#: catalog/objectaddress.c:2540
+#: catalog/objectaddress.c:2593
 #, c-format
 msgid "constraint %s"
 msgstr "ограничение %s"
 
-#: catalog/objectaddress.c:2557
+#: catalog/objectaddress.c:2610
 #, c-format
 msgid "conversion %s"
 msgstr "преобразование %s"
 
-#: catalog/objectaddress.c:2594
+#: catalog/objectaddress.c:2647
 #, c-format
 msgid "default for %s"
 msgstr "значение по умолчанию, %s"
 
-#: catalog/objectaddress.c:2603
+#: catalog/objectaddress.c:2656
 #, c-format
 msgid "language %s"
 msgstr "язык %s"
 
-#: catalog/objectaddress.c:2608
+#: catalog/objectaddress.c:2661
 #, c-format
 msgid "large object %u"
 msgstr "большой объект %u"
 
-#: catalog/objectaddress.c:2613
+#: catalog/objectaddress.c:2666
 #, c-format
 msgid "operator %s"
 msgstr "оператор %s"
 
-#: catalog/objectaddress.c:2645
+#: catalog/objectaddress.c:2698
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "класс операторов %s для метода доступа %s"
@@ -4275,7 +4724,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:2695
+#: catalog/objectaddress.c:2748
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
@@ -4284,178 +4733,183 @@ 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:2745
+#: catalog/objectaddress.c:2798
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "функция %d (%s, %s) из семейства \"%s\": %s"
 
-#: catalog/objectaddress.c:2785
+#: catalog/objectaddress.c:2838
 #, c-format
 msgid "rule %s on "
 msgstr "правило %s для отношения: "
 
-#: catalog/objectaddress.c:2807
+#: catalog/objectaddress.c:2860
 #, c-format
 msgid "transform for %s language %s"
 msgstr "преобразование для %s, языка %s"
 
-#: catalog/objectaddress.c:2841
+#: catalog/objectaddress.c:2894
 #, c-format
 msgid "trigger %s on "
 msgstr "триггер %s в отношении: "
 
-#: catalog/objectaddress.c:2858
+#: catalog/objectaddress.c:2911
 #, c-format
 msgid "schema %s"
 msgstr "схема %s"
 
-#: catalog/objectaddress.c:2871
+#: catalog/objectaddress.c:2924
 #, c-format
 msgid "text search parser %s"
 msgstr "анализатор текстового поиска %s"
 
-#: catalog/objectaddress.c:2886
+#: catalog/objectaddress.c:2939
 #, c-format
 msgid "text search dictionary %s"
 msgstr "словарь текстового поиска %s"
 
-#: catalog/objectaddress.c:2901
+#: catalog/objectaddress.c:2954
 #, c-format
 msgid "text search template %s"
 msgstr "шаблон текстового поиска %s"
 
-#: catalog/objectaddress.c:2916
+#: catalog/objectaddress.c:2969
 #, c-format
 msgid "text search configuration %s"
 msgstr "конфигурация текстового поиска %s"
 
-#: catalog/objectaddress.c:2924
+#: catalog/objectaddress.c:2977
 #, c-format
 msgid "role %s"
 msgstr "роль %s"
 
-#: catalog/objectaddress.c:2937
+#: catalog/objectaddress.c:2990
 #, c-format
 msgid "database %s"
 msgstr "база данных %s"
 
-#: catalog/objectaddress.c:2949
+#: catalog/objectaddress.c:3002
 #, c-format
 msgid "tablespace %s"
 msgstr "табличное пространство %s"
 
-#: catalog/objectaddress.c:2958
+#: catalog/objectaddress.c:3011
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "обёртка сторонних данных %s"
 
-#: catalog/objectaddress.c:2967
+#: catalog/objectaddress.c:3020
 #, c-format
 msgid "server %s"
 msgstr "сервер %s"
 
-#: catalog/objectaddress.c:2995
+#: catalog/objectaddress.c:3048
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "сопоставление для пользователя %s на сервере %s"
 
-#: catalog/objectaddress.c:3030
+#: catalog/objectaddress.c:3083
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "права по умолчанию для новых отношений, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3035
+#: catalog/objectaddress.c:3088
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr ""
 "права по умолчанию для новых последовательностей, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3040
+#: catalog/objectaddress.c:3093
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "права по умолчанию для новых функций, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3045
+#: catalog/objectaddress.c:3098
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "права по умолчанию для новых типов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3051
+#: catalog/objectaddress.c:3104
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "права по умолчанию для новых объектов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:3059
+#: catalog/objectaddress.c:3112
 #, c-format
 msgid " in schema %s"
 msgstr " в схеме %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3129
 #, c-format
 msgid "extension %s"
 msgstr "расширение %s"
 
-#: catalog/objectaddress.c:3089
+#: catalog/objectaddress.c:3142
 #, c-format
 msgid "event trigger %s"
 msgstr "событийный триггер %s"
 
-#: catalog/objectaddress.c:3121
+#: catalog/objectaddress.c:3174
 #, c-format
 msgid "policy %s on "
 msgstr "политика %s отношения "
 
-#: catalog/objectaddress.c:3184
+#: catalog/objectaddress.c:3192
+#, c-format
+msgid "access method %s"
+msgstr "метод доступа %s"
+
+#: catalog/objectaddress.c:3252
 #, c-format
 msgid "table %s"
 msgstr "таблица %s"
 
-#: catalog/objectaddress.c:3188
+#: catalog/objectaddress.c:3256
 #, c-format
 msgid "index %s"
 msgstr "индекс %s"
 
-#: catalog/objectaddress.c:3192
+#: catalog/objectaddress.c:3260
 #, c-format
 msgid "sequence %s"
 msgstr "последовательность %s"
 
-#: catalog/objectaddress.c:3196
+#: catalog/objectaddress.c:3264
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-таблица %s"
 
-#: catalog/objectaddress.c:3200
+#: catalog/objectaddress.c:3268
 #, c-format
 msgid "view %s"
 msgstr "представление %s"
 
-#: catalog/objectaddress.c:3204
+#: catalog/objectaddress.c:3272
 #, c-format
 msgid "materialized view %s"
 msgstr "материализованное представление %s"
 
-#: catalog/objectaddress.c:3208
+#: catalog/objectaddress.c:3276
 #, c-format
 msgid "composite type %s"
 msgstr "составной тип %s"
 
-#: catalog/objectaddress.c:3212
+#: catalog/objectaddress.c:3280
 #, c-format
 msgid "foreign table %s"
 msgstr "сторонняя таблица %s"
 
-#: catalog/objectaddress.c:3217
+#: catalog/objectaddress.c:3285
 #, c-format
 msgid "relation %s"
 msgstr "отношение %s"
 
-#: catalog/objectaddress.c:3254
+#: catalog/objectaddress.c:3322
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "семейство операторов %s для метода доступа %s"
 
-#: catalog/pg_aggregate.c:118
+#: catalog/pg_aggregate.c:126
 #, c-format
 msgid "aggregates cannot have more than %d argument"
 msgid_plural "aggregates cannot have more than %d arguments"
@@ -4463,12 +4917,12 @@ msgstr[0] "агрегатные функции допускают не боль
 msgstr[1] "агрегатные функции допускают не больше %d аргументов"
 msgstr[2] "агрегатные функции допускают не больше %d аргументов"
 
-#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
+#: catalog/pg_aggregate.c:149 catalog/pg_aggregate.c:159
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "не удалось определить переходный тип данных"
 
-#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
+#: catalog/pg_aggregate.c:150 catalog/pg_aggregate.c:160
 #, c-format
 msgid ""
 "An aggregate using a polymorphic transition type must have at least one "
@@ -4477,14 +4931,14 @@ msgstr ""
 "Агрегатная функция, использующая полиморфный переходный тип, должна иметь "
 "минимум один полиморфный аргумент."
 
-#: catalog/pg_aggregate.c:165
+#: catalog/pg_aggregate.c:173
 #, c-format
 msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
 msgstr ""
 "сортирующая агрегатная функция с непостоянными аргументами должна "
 "использовать тип VARIADIC ANY"
 
-#: catalog/pg_aggregate.c:191
+#: catalog/pg_aggregate.c:199
 #, c-format
 msgid ""
 "a hypothetical-set aggregate must have direct arguments matching its "
@@ -4493,12 +4947,12 @@ msgstr ""
 "гипотезирующая агрегатная функция должна иметь непосредственные аргументы, "
 "соответствующие агрегатным"
 
-#: catalog/pg_aggregate.c:238 catalog/pg_aggregate.c:282
+#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290
 #, c-format
 msgid "return type of transition function %s is not %s"
 msgstr "функция перехода %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
+#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309
 #, c-format
 msgid ""
 "must not omit initial value when transition function is strict and "
@@ -4507,31 +4961,54 @@ msgstr ""
 "нельзя опускать начальное значение, когда функция перехода объявлена как "
 "STRICT и переходный тип несовместим с входным типом"
 
-#: catalog/pg_aggregate.c:327
+#: catalog/pg_aggregate.c:335
 #, c-format
 msgid "return type of inverse transition function %s is not %s"
 msgstr "обратная функция перехода %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2302
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2305
 #, 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
+#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:548
 #, c-format
 msgid "final function with extra arguments must not be declared STRICT"
 msgstr ""
 "финальная функция с дополнительными аргументами не должна объявляться как "
 "строгая (STRICT)"
 
-#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:245 catalog/pg_proc.c:252
+#: catalog/pg_aggregate.c:426
+#, c-format
+msgid "return type of combine function %s is not %s"
+msgstr "комбинирующая функция %s должна возвращать тип %s"
+
+#: catalog/pg_aggregate.c:437
+#, c-format
+msgid ""
+"combine function with \"%s\" transition type must not be declared STRICT"
+msgstr ""
+"комбинирующая функция с переходным типом \"%s\" не должна объявляться как "
+"строгая (STRICT)"
+
+#: catalog/pg_aggregate.c:458
+#, c-format
+msgid "return type of serialization function %s is not %s"
+msgstr "функция сериализации %s должна возвращать тип %s"
+
+#: catalog/pg_aggregate.c:478
+#, c-format
+msgid "return type of deserialization function %s is not %s"
+msgstr "функция десериализации %s должна возвращать тип %s"
+
+#: catalog/pg_aggregate.c:494 catalog/pg_proc.c:246 catalog/pg_proc.c:253
 #, c-format
 msgid "cannot determine result data type"
 msgstr "не удалось определить тип результата"
 
-#: catalog/pg_aggregate.c:411
+#: catalog/pg_aggregate.c:495
 #, c-format
 msgid ""
 "An aggregate returning a polymorphic type must have at least one polymorphic "
@@ -4540,12 +5017,12 @@ msgstr ""
 "Агрегатная функция, возвращающая полиморфный тип, должна иметь минимум один "
 "полиморфный аргумент."
 
-#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:258
+#: catalog/pg_aggregate.c:507 catalog/pg_proc.c:259
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "небезопасное использование псевдотипа \"internal\""
 
-#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:259
+#: catalog/pg_aggregate.c:508 catalog/pg_proc.c:260
 #, c-format
 msgid ""
 "A function returning \"internal\" must have at least one \"internal\" "
@@ -4554,7 +5031,7 @@ msgstr ""
 "Функция, возвращающая \"internal\", должна иметь минимум один аргумент "
 "\"internal\"."
 
-#: catalog/pg_aggregate.c:477
+#: catalog/pg_aggregate.c:561
 #, c-format
 msgid ""
 "moving-aggregate implementation returns type %s, but plain implementation "
@@ -4563,36 +5040,36 @@ msgstr ""
 "реализация движимого агрегата возвращает тип %s, но простая реализация "
 "возвращает %s"
 
-#: catalog/pg_aggregate.c:488
+#: catalog/pg_aggregate.c:572
 #, c-format
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr ""
 "оператор сортировки можно указать только для агрегатных функций с одним "
 "аргументом"
 
-#: catalog/pg_aggregate.c:700 commands/typecmds.c:1702
-#: commands/typecmds.c:1753 commands/typecmds.c:1784 commands/typecmds.c:1807
-#: commands/typecmds.c:1828 commands/typecmds.c:1855 commands/typecmds.c:1882
-#: commands/typecmds.c:1959 commands/typecmds.c:2001 parser/parse_func.c:364
-#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432
-#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1920
+#: catalog/pg_aggregate.c:817 commands/typecmds.c:1705 commands/typecmds.c:1756
+#: commands/typecmds.c:1787 commands/typecmds.c:1810 commands/typecmds.c:1831
+#: commands/typecmds.c:1858 commands/typecmds.c:1885 commands/typecmds.c:1962
+#: commands/typecmds.c:2004 parser/parse_func.c:364 parser/parse_func.c:393
+#: parser/parse_func.c:418 parser/parse_func.c:432 parser/parse_func.c:507
+#: parser/parse_func.c:518 parser/parse_func.c:1921
 #, c-format
 msgid "function %s does not exist"
 msgstr "функция %s не существует"
 
-#: catalog/pg_aggregate.c:706
+#: catalog/pg_aggregate.c:823
 #, c-format
 msgid "function %s returns a set"
 msgstr "функция %s возвращает множество"
 
-#: catalog/pg_aggregate.c:721
+#: catalog/pg_aggregate.c:838
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr ""
 "для использования в этой агрегатной функции функция %s должна принимать "
 "VARIADIC ANY"
 
-#: catalog/pg_aggregate.c:745
+#: catalog/pg_aggregate.c:862
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "функции %s требуется приведение типов во время выполнения"
@@ -4607,27 +5084,27 @@ msgstr "правило сортировки \"%s\" для кодировки \"%
 msgid "collation \"%s\" already exists"
 msgstr "правило сортировки \"%s\" уже существует"
 
-#: catalog/pg_constraint.c:661
+#: catalog/pg_constraint.c:663
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "ограничение \"%s\" для домена %s уже существует"
 
-#: catalog/pg_constraint.c:794
+#: catalog/pg_constraint.c:797
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "таблица \"%s\" содержит несколько ограничений с именем \"%s\""
 
-#: catalog/pg_constraint.c:806
+#: catalog/pg_constraint.c:809
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "ограничение \"%s\" для таблицы \"%s\" не существует"
 
-#: catalog/pg_constraint.c:852
+#: catalog/pg_constraint.c:855
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "домен \"%s\" содержит несколько ограничений с именем \"%s\""
 
-#: catalog/pg_constraint.c:864
+#: catalog/pg_constraint.c:867
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует"
@@ -4642,7 +5119,7 @@ msgstr "преобразование \"%s\" уже существует"
 msgid "default conversion for %s to %s already exists"
 msgstr "преобразование по умолчанию из %s в %s уже существует"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2945
+#: catalog/pg_depend.c:165 commands/extension.c:3028
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s уже относится к расширению \"%s\""
@@ -4695,63 +5172,63 @@ msgstr ""
 msgid "schema \"%s\" already exists"
 msgstr "схема \"%s\" уже существует"
 
-#: catalog/pg_operator.c:223 catalog/pg_operator.c:364
+#: catalog/pg_operator.c:219 catalog/pg_operator.c:360
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "имя \"%s\" недопустимо для оператора"
 
-#: catalog/pg_operator.c:373
+#: catalog/pg_operator.c:369
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "коммутативную операцию можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:377
+#: catalog/pg_operator.c:373 commands/operatorcmds.c:485
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:381
+#: catalog/pg_operator.c:377
 #, c-format
 msgid "only binary operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:385
+#: catalog/pg_operator.c:381
 #, c-format
 msgid "only binary operators can hash"
 msgstr "поддержку хеша можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:396
+#: catalog/pg_operator.c:392
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "обратную операцию можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:400
+#: catalog/pg_operator.c:396 commands/operatorcmds.c:493
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr ""
 "функцию оценки ограничения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:404
+#: catalog/pg_operator.c:400 commands/operatorcmds.c:497
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:408
+#: catalog/pg_operator.c:404
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для логических "
 "операторов"
 
-#: catalog/pg_operator.c:412
+#: catalog/pg_operator.c:408
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "поддержку хеша можно обозначить только для логических операторов"
 
-#: catalog/pg_operator.c:424
+#: catalog/pg_operator.c:420
 #, c-format
 msgid "operator %s already exists"
 msgstr "оператор %s уже существует"
@@ -4762,7 +5239,7 @@ msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 "оператор не может быть обратным к себе или собственным оператором сортировки"
 
-#: catalog/pg_proc.c:133 parser/parse_func.c:1944 parser/parse_func.c:1984
+#: catalog/pg_proc.c:134 parser/parse_func.c:1945 parser/parse_func.c:1985
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
@@ -4770,7 +5247,7 @@ msgstr[0] "функции не могут иметь больше %d аргум
 msgstr[1] "функции не могут иметь больше %d аргументов"
 msgstr[2] "функции не могут иметь больше %d аргументов"
 
-#: catalog/pg_proc.c:246
+#: catalog/pg_proc.c:247
 #, c-format
 msgid ""
 "A function returning a polymorphic type must have at least one polymorphic "
@@ -4779,7 +5256,7 @@ msgstr ""
 "Функция, возвращающая полиморфный тип, должна иметь минимум один полиморфный "
 "аргумент."
 
-#: catalog/pg_proc.c:253
+#: catalog/pg_proc.c:254
 #, c-format
 msgid ""
 "A function returning \"anyrange\" must have at least one \"anyrange\" "
@@ -4788,85 +5265,85 @@ msgstr ""
 "Функция, возвращающая \"anyrange\", должна иметь минимум один аргумент "
 "\"anyrange\"."
 
-#: catalog/pg_proc.c:271
+#: catalog/pg_proc.c:272
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "\"%s\" уже является атрибутом типа %s"
 
-#: catalog/pg_proc.c:401
+#: catalog/pg_proc.c:403
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "функция \"%s\" с аргументами таких типов уже существует"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:438
+#: catalog/pg_proc.c:417 catalog/pg_proc.c:440
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "изменить тип возврата существующей функции нельзя"
 
-#: catalog/pg_proc.c:416 catalog/pg_proc.c:440 catalog/pg_proc.c:483
-#: catalog/pg_proc.c:507 catalog/pg_proc.c:534
+#: catalog/pg_proc.c:418 catalog/pg_proc.c:442 catalog/pg_proc.c:485
+#: catalog/pg_proc.c:509 catalog/pg_proc.c:536
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Сначала удалите функцию (DROP FUNCTION %s)."
 
-#: catalog/pg_proc.c:439
+#: catalog/pg_proc.c:441
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Параметры OUT определяют другой тип строки."
 
-#: catalog/pg_proc.c:481
+#: catalog/pg_proc.c:483
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "изменить имя входного параметра \"%s\" нельзя"
 
-#: catalog/pg_proc.c:506
+#: catalog/pg_proc.c:508
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr ""
 "для существующей функции нельзя убрать значения параметров по умолчанию"
 
-#: catalog/pg_proc.c:533
+#: catalog/pg_proc.c:535
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr ""
 "для существующего значения параметра по умолчанию нельзя изменить тип данных"
 
-#: catalog/pg_proc.c:546
+#: catalog/pg_proc.c:548
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "\"%s\" - это агрегатная функция"
 
-#: catalog/pg_proc.c:551
+#: catalog/pg_proc.c:553
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "\"%s\" - это не агрегатная функция"
 
-#: catalog/pg_proc.c:559
+#: catalog/pg_proc.c:561
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "\"%s\" - это оконная функция"
 
-#: catalog/pg_proc.c:564
+#: catalog/pg_proc.c:566
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "\"%s\" - это не оконная функция"
 
-#: catalog/pg_proc.c:772
+#: catalog/pg_proc.c:774
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "встроенной функции \"%s\" нет"
 
-#: catalog/pg_proc.c:870
+#: catalog/pg_proc.c:872
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL-функции не могут возвращать тип %s"
 
-#: catalog/pg_proc.c:885
+#: catalog/pg_proc.c:887
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-функции не могут иметь аргументы типа %s"
 
-#: catalog/pg_proc.c:971 executor/functions.c:1421
+#: catalog/pg_proc.c:973 executor/functions.c:1424
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-функция \"%s\""
@@ -4984,91 +5461,138 @@ msgstr "для типов постоянного размера применим
 msgid "could not form array type name for type \"%s\""
 msgstr "не удалось сформировать имя типа массива для типа \"%s\""
 
-#: catalog/toasting.c:104 commands/indexcmds.c:381 commands/tablecmds.c:4350
-#: commands/tablecmds.c:11853
+#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4358
+#: commands/tablecmds.c:11900
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" - это не таблица и не материализованное представление"
 
-#: catalog/toasting.c:157
+#: catalog/toasting.c:158
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr "в разделяемые таблицы нельзя добавить TOAST после initdb"
 
-#: commands/aggregatecmds.c:148
+#: commands/aggregatecmds.c:161
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "гипотезирующими могут быть только сортирующие агрегатные функции"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:188
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "нераспознанный атрибут \"%s\" в определении агрегатной функции"
 
-#: commands/aggregatecmds.c:181
+#: commands/aggregatecmds.c:198
 #, c-format
 msgid "aggregate stype must be specified"
-msgstr "в определении агрегатной функции требуется stype"
+msgstr "в определении агрегата требуется stype"
 
-#: commands/aggregatecmds.c:185
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate sfunc must be specified"
-msgstr "в определении агрегатной функции требуется sfunc"
+msgstr "в определении агрегата требуется sfunc"
 
-#: commands/aggregatecmds.c:197
+#: commands/aggregatecmds.c:214
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
-msgstr "в определении агрегатной функции требуется msfunc, если указан mstype"
+msgstr "в определении агрегата требуется msfunc, если указан mstype"
 
-#: commands/aggregatecmds.c:201
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
-msgstr ""
-"в определении агрегатной функции требуется minvfunc, если указан mstype"
+msgstr "в определении агрегата требуется minvfunc, если указан mstype"
 
-#: commands/aggregatecmds.c:208
+#: commands/aggregatecmds.c:225
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "msfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:212
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "minvfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:216
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "mfinalfunc для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:220
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "msspace для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:224
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "minitcond для агрегата не должна указываться без mstype"
 
-#: commands/aggregatecmds.c:244
+#: commands/aggregatecmds.c:261
 #, c-format
 msgid "aggregate input type must be specified"
-msgstr "в определении агрегатной функции требуется входной тип"
+msgstr "в определении агрегата требуется входной тип"
 
-#: commands/aggregatecmds.c:274
+#: commands/aggregatecmds.c:291
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
-msgstr ""
-"в определении агрегатной функции с указанием входного типа не нужен базовый "
-"тип"
+msgstr "в определении агрегата с указанием входного типа не нужен базовый тип"
 
-#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
+#: commands/aggregatecmds.c:332 commands/aggregatecmds.c:421
 #, c-format
 msgid "aggregate transition data type cannot be %s"
-msgstr "переходным типом агрегатной функции не может быть %s"
+msgstr "переходным типом агрегата не может быть %s"
+
+#: commands/aggregatecmds.c:347
+#, c-format
+msgid ""
+"a serialization type must only be specified when the aggregate transition "
+"data type is %s"
+msgstr ""
+"сериализуемый тип должен задаваться, только когда переходный тип данных"
+" агрегата - %s"
+
+#: commands/aggregatecmds.c:356 commands/aggregatecmds.c:369
+#, c-format
+msgid "aggregate serialization data type cannot be %s"
+msgstr "сериализуемым типом агрегата не может быть %s"
+
+#: commands/aggregatecmds.c:380
+#, c-format
+msgid ""
+"aggregate serialization function must be specified when serialization type "
+"is specified"
+msgstr ""
+"в определении агрегата требуется функция сериализации, если указан "
+"сериализуемый тип"
+
+#: commands/aggregatecmds.c:385
+#, c-format
+msgid ""
+"aggregate deserialization function must be specified when serialization type "
+"is specified"
+msgstr ""
+"в определении агрегата требуется функция десериализации, если указан "
+"сериализуемый тип"
+
+#: commands/aggregatecmds.c:396
+#, c-format
+msgid "must specify serialization type when specifying serialization function"
+msgstr "при указании функции сериализации должен быть указан сериализуемый тип"
+
+#: commands/aggregatecmds.c:402
+#, c-format
+msgid ""
+"must specify serialization type when specifying deserialization function"
+msgstr ""
+"при указании функции десериализации должен быть указан сериализуемый тип"
+
+#: commands/aggregatecmds.c:467 commands/functioncmds.c:570
+#, c-format
+msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
+msgstr ""
+"параметр \"parallel\" должен иметь значение SAFE, RESTRICTED или UNSAFE"
 
-#: commands/alter.c:80 commands/event_trigger.c:230
+#: commands/alter.c:80 commands/event_trigger.c:231
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "событийный триггер \"%s\" уже существует"
@@ -5083,7 +5607,7 @@ msgstr "обёртка сторонних данных \"%s\" уже сущес
 msgid "server \"%s\" already exists"
 msgstr "сервер \"%s\" уже существует"
 
-#: commands/alter.c:89 commands/proclang.c:363
+#: commands/alter.c:89 commands/proclang.c:366
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "язык \"%s\" уже существует"
@@ -5118,11 +5642,49 @@ msgstr "конфигурация текстового поиска \"%s\" уже
 msgid "must be superuser to rename %s"
 msgstr "переименовать \"%s\" может только суперпользователь"
 
-#: commands/alter.c:609
+#: commands/alter.c:655
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "для назначения схемы объекта %s нужно быть суперпользователем"
 
+#: commands/amcmds.c:58
+#, c-format
+msgid "permission denied to create access method \"%s\""
+msgstr "нет прав на создание метода доступа \"%s\""
+
+#: commands/amcmds.c:60
+#, c-format
+msgid "Must be superuser to create an access method."
+msgstr "Для создания метода доступа нужно быть суперпользователем."
+
+#: commands/amcmds.c:68
+#, c-format
+msgid "access method \"%s\" already exists"
+msgstr "метод доступа \"%s\" уже существует"
+
+#: commands/amcmds.c:124
+#, c-format
+msgid "must be superuser to drop access methods"
+msgstr "для удаления методов доступа нужно быть суперпользователем"
+
+#: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495
+#: commands/opclasscmds.c:365 commands/opclasscmds.c:790
+#, c-format
+msgid "access method \"%s\" does not exist"
+msgstr "метод доступа \"%s\" не существует"
+
+#: commands/amcmds.c:251
+#, c-format
+msgid "handler function is not specified"
+msgstr "не указана функция-обработчик"
+
+#: commands/amcmds.c:263 commands/event_trigger.c:240
+#: commands/foreigncmds.c:489 commands/proclang.c:117 commands/proclang.c:288
+#: commands/trigger.c:441 parser/parse_clause.c:761
+#, c-format
+msgid "function %s must return type %s"
+msgstr "функция %s должна возвращать тип %s"
+
 #: commands/analyze.c:145
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
@@ -5171,12 +5733,12 @@ msgstr "анализируется дерево наследования \"%s.%s
 msgid "analyzing \"%s.%s\""
 msgstr "анализируется \"%s.%s\""
 
-#: commands/analyze.c:645
+#: commands/analyze.c:654
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "автоматический анализ таблицы \"%s.%s.%s\"; нагрузка системы: %s"
 
-#: commands/analyze.c:1201
+#: commands/analyze.c:1210
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -5186,7 +5748,7 @@ msgstr ""
 "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число "
 "строк: %.0f"
 
-#: commands/analyze.c:1280
+#: commands/analyze.c:1289
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
@@ -5195,7 +5757,7 @@ msgstr ""
 "пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
 "наследования не содержит дочерних таблиц"
 
-#: commands/analyze.c:1369
+#: commands/analyze.c:1378
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
@@ -5204,26 +5766,26 @@ msgstr ""
 "пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
 "наследования не содержит анализируемых дочерних таблиц"
 
-#: commands/analyze.c:1417 executor/execQual.c:2900
+#: commands/analyze.c:1426 executor/execQual.c:2922
 msgid "could not convert row type"
 msgstr "не удалось преобразовать тип строки"
 
-#: commands/async.c:553
+#: commands/async.c:558
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "имя канала не может быть пустым"
 
-#: commands/async.c:558
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "слишком длинное имя канала"
 
-#: commands/async.c:565
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "слишком длинная строка сообщения-нагрузки"
 
-#: commands/async.c:751
+#: commands/async.c:756
 #, c-format
 msgid ""
 "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
@@ -5231,17 +5793,17 @@ msgstr ""
 "выполнить PREPARE для транзакции с командами LISTEN, UNLISTEN или NOTIFY "
 "нельзя"
 
-#: commands/async.c:854
+#: commands/async.c:859
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "слишком много уведомлений в очереди NOTIFY"
 
-#: commands/async.c:1457
+#: commands/async.c:1489
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "очередь NOTIFY заполнена на %.0f%%"
 
-#: commands/async.c:1459
+#: commands/async.c:1491
 #, c-format
 msgid ""
 "The server process with PID %d is among those with the oldest transactions."
@@ -5249,7 +5811,7 @@ msgstr ""
 "В число серверных процессов с самыми старыми транзакциями входит процесс с "
 "PID %d."
 
-#: commands/async.c:1462
+#: commands/async.c:1494
 #, c-format
 msgid ""
 "The NOTIFY queue cannot be emptied until that process ends its current "
@@ -5258,37 +5820,37 @@ msgstr ""
 "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит "
 "текущую транзакцию."
 
-#: commands/cluster.c:127 commands/cluster.c:364
+#: commands/cluster.c:129 commands/cluster.c:366
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "кластеризовать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:157
+#: commands/cluster.c:159
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу"
 
-#: commands/cluster.c:171 commands/tablecmds.c:9256 commands/tablecmds.c:10972
+#: commands/cluster.c:173 commands/tablecmds.c:9286 commands/tablecmds.c:11002
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "индекс \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/cluster.c:353
+#: commands/cluster.c:355
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "кластеризовать разделяемый каталог нельзя"
 
-#: commands/cluster.c:368
+#: commands/cluster.c:370
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "очищать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:431 commands/tablecmds.c:10982
+#: commands/cluster.c:433 commands/tablecmds.c:11012
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "\"%s\" не является индексом таблицы \"%s\""
 
-#: commands/cluster.c:439
+#: commands/cluster.c:441
 #, c-format
 msgid ""
 "cannot cluster on index \"%s\" because access method does not support "
@@ -5296,33 +5858,33 @@ msgid ""
 msgstr ""
 "кластеризация по индексу \"%s\" невозможна, её не поддерживает метод доступа"
 
-#: commands/cluster.c:451
+#: commands/cluster.c:453
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "кластеризовать по частичному индексу \"%s\" нельзя"
 
-#: commands/cluster.c:465
+#: commands/cluster.c:467
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "нельзя кластеризовать таблицу по неверному индексу \"%s\""
 
-#: commands/cluster.c:918
+#: commands/cluster.c:920
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\""
 
-#: commands/cluster.c:924
+#: commands/cluster.c:926
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr ""
 "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки"
 
-#: commands/cluster.c:929 commands/vacuumlazy.c:464
+#: commands/cluster.c:931 commands/vacuumlazy.c:476
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "очистка \"%s.%s\""
 
-#: commands/cluster.c:1088
+#: commands/cluster.c:1090
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
@@ -5330,7 +5892,7 @@ msgstr ""
 "\"%s\": найдено удаляемых версий строк: %.0f, неудаляемых - %.0f, "
 "просмотрено страниц: %u"
 
-#: commands/cluster.c:1092
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -5368,13 +5930,13 @@ msgstr "правило сортировки \"%s\" уже существует 
 #: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
 #: commands/dbcommands.c:1067 commands/dbcommands.c:1257
 #: commands/dbcommands.c:1477 commands/dbcommands.c:1594
-#: commands/dbcommands.c:2011 utils/init/postinit.c:826
-#: utils/init/postinit.c:928 utils/init/postinit.c:945
+#: commands/dbcommands.c:2011 utils/init/postinit.c:843
+#: utils/init/postinit.c:945 utils/init/postinit.c:962
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "база данных \"%s\" не существует"
 
-#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:727
+#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:768
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, or foreign "
@@ -5410,58 +5972,58 @@ msgstr "целевая кодировка \"%s\" не существует"
 
 #: commands/conversioncmds.c:88
 #, c-format
-msgid "encoding conversion function %s must return type \"void\""
-msgstr "функция преобразования кодировки %s должна возвращать void"
+msgid "encoding conversion function %s must return type %s"
+msgstr "функция преобразования кодировки %s должна возвращать тип %s"
 
-#: commands/copy.c:365 commands/copy.c:377 commands/copy.c:411
-#: commands/copy.c:423
+#: commands/copy.c:362 commands/copy.c:374 commands/copy.c:408
+#: commands/copy.c:420
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY не поддерживает стандартный вывод (stdout) и ввод (stdin)"
 
-#: commands/copy.c:523
+#: commands/copy.c:520
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "не удалось записать в канал программы COPY: %m"
 
-#: commands/copy.c:528
+#: commands/copy.c:525
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "не удалось записать в файл COPY: %m"
 
-#: commands/copy.c:541
+#: commands/copy.c:538
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "в процессе вывода данных COPY в stdout потеряно соединение"
 
-#: commands/copy.c:582
+#: commands/copy.c:579
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "не удалось прочитать файл COPY: %m"
 
-#: commands/copy.c:598 commands/copy.c:619 commands/copy.c:623
-#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
+#: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620
+#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции"
 
-#: commands/copy.c:636
+#: commands/copy.c:633
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "ошибка при вводе данных COPY из stdin: %s"
 
-#: commands/copy.c:652
+#: commands/copy.c:649
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "неожиданный тип сообщения 0x%02X при вводе данных COPY из stdin"
 
-#: commands/copy.c:808
+#: commands/copy.c:806
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr ""
 "для использования COPY с внешними программами нужно быть суперпользователем"
 
-#: commands/copy.c:809 commands/copy.c:815
+#: commands/copy.c:807 commands/copy.c:813
 #, c-format
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
@@ -5470,297 +6032,322 @@ msgstr ""
 "Не имея административных прав, можно использовать COPY с stdout и stdin (а "
 "также команду psql \\copy)."
 
-#: commands/copy.c:814
+#: commands/copy.c:812
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "для использования COPY с файлами нужно быть суперпользователем"
 
-#: commands/copy.c:880
+#: commands/copy.c:878
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM не поддерживается с защитой на уровне строк."
 
-#: commands/copy.c:881
+#: commands/copy.c:879
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Используйте операторы INSERT."
 
-#: commands/copy.c:1021
+#: commands/copy.c:1019
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "формат \"%s\" для COPY не распознан"
 
-#: commands/copy.c:1092 commands/copy.c:1106 commands/copy.c:1120
-#: commands/copy.c:1140
+#: commands/copy.c:1090 commands/copy.c:1104 commands/copy.c:1118
+#: commands/copy.c:1138
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "аргументом параметра \"%s\" должен быть список имён столбцов"
 
-#: commands/copy.c:1153
+#: commands/copy.c:1151
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки"
 
-#: commands/copy.c:1159 commands/dbcommands.c:232 commands/dbcommands.c:1427
+#: commands/copy.c:1157 commands/dbcommands.c:232 commands/dbcommands.c:1427
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "параметр \"%s\" не распознан"
 
-#: commands/copy.c:1170
+#: commands/copy.c:1168
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать DELIMITER"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1173
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать NULL"
 
-#: commands/copy.c:1197
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "разделитель для COPY должен быть однобайтным символом"
 
-#: commands/copy.c:1204
+#: commands/copy.c:1202
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr ""
 "разделителем для COPY не может быть символ новой строки или возврата каретки"
 
-#: commands/copy.c:1210
+#: commands/copy.c:1208
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "представление NULL для COPY не может включать символ новой строки или "
 "возврата каретки"
 
-#: commands/copy.c:1227
+#: commands/copy.c:1225
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "\"%s\" не может быть разделителем для COPY"
 
-#: commands/copy.c:1233
+#: commands/copy.c:1231
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER можно использовать только в режиме CSV"
 
-#: commands/copy.c:1239
+#: commands/copy.c:1237
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "определить кавычки для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1244
+#: commands/copy.c:1242
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "символ кавычек для COPY должен быть однобайтным"
 
-#: commands/copy.c:1249
+#: commands/copy.c:1247
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "символ кавычек для COPY должен отличаться от разделителя"
 
-#: commands/copy.c:1255
+#: commands/copy.c:1253
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "определить спецсимвол для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1260
+#: commands/copy.c:1258
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "спецсимвол для COPY должен быть однобайтным"
 
-#: commands/copy.c:1266
+#: commands/copy.c:1264
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "параметр force quote для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1270
+#: commands/copy.c:1268
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "параметр force quote для COPY можно использовать только с COPY TO"
 
-#: commands/copy.c:1276
+#: commands/copy.c:1274
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr ""
 "параметр force not null для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1280
+#: commands/copy.c:1278
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "параметр force not null для COPY можно использовать только с COPY FROM"
 
-#: commands/copy.c:1286
+#: commands/copy.c:1284
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "параметр force null для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1291
+#: commands/copy.c:1289
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "параметр force null для COPY можно использовать только с COPY FROM"
 
-#: commands/copy.c:1297
+#: commands/copy.c:1295
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "разделитель для COPY не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1304
+#: commands/copy.c:1302
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1367
+#: commands/copy.c:1365
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "таблица \"%s\" не содержит OID"
 
-#: commands/copy.c:1384
+#: commands/copy.c:1382
+#, c-format
+msgid "COPY (query) WITH OIDS is not supported"
+msgstr "COPY (запрос) WITH OIDS не поддерживается"
+
+#: commands/copy.c:1402
+#, c-format
+msgid "DO INSTEAD NOTHING rules are not supported for COPY"
+msgstr "правила DO INSTEAD NOTHING не поддерживаются с COPY"
+
+#: commands/copy.c:1416
 #, c-format
-msgid "COPY (SELECT) WITH OIDS is not supported"
-msgstr "COPY (SELECT) WITH OIDS не поддерживается"
+msgid "conditional DO INSTEAD rules are not supported for COPY"
+msgstr "условные правила DO INSTEAD не поддерживаются с COPY"
 
-#: commands/copy.c:1410
+#: commands/copy.c:1420
+#, c-format
+msgid "DO ALSO rules are not supported for the COPY"
+msgstr "правила DO ALSO не поддерживаются с COPY"
+
+#: commands/copy.c:1425
+#, c-format
+msgid "multi-statement DO INSTEAD rules are not supported for COPY"
+msgstr "составные правила DO INSTEAD не поддерживаются с COPY"
+
+#: commands/copy.c:1435
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) не поддерживается"
 
-#: commands/copy.c:1440
+#: commands/copy.c:1452
+#, c-format
+msgid "COPY query must have a RETURNING clause"
+msgstr "в запросе COPY должно быть предложение RETURNING"
+
+#: commands/copy.c:1480
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "отношение, задействованное в операторе COPY, изменилось"
 
-#: commands/copy.c:1498
+#: commands/copy.c:1538
 #, c-format
-msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE QUOTE \"%s\" не входит в список столбцов COPY"
+msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
+msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY"
 
-#: commands/copy.c:1520
+#: commands/copy.c:1560
 #, c-format
-msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE NOT NULL \"%s\" не входит в список столбцов COPY"
+msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
+msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY"
 
-#: commands/copy.c:1542
+#: commands/copy.c:1582
 #, c-format
-msgid "FORCE NULL column \"%s\" not referenced by COPY"
-msgstr "столбец FORCE NULL \"%s\" не входит в список столбцов COPY"
+msgid "FORCE_NULL column \"%s\" not referenced by COPY"
+msgstr "столбец FORCE_NULL \"%s\" не фигурирует в COPY"
 
-#: commands/copy.c:1607
+#: commands/copy.c:1647
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "не удалось закрыть канал сообщений с внешней командой: %m"
 
-#: commands/copy.c:1611
+#: commands/copy.c:1651
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "сбой программы \"%s\""
 
-#: commands/copy.c:1661
+#: commands/copy.c:1701
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "копировать из представления \"%s\" нельзя"
 
-#: commands/copy.c:1663 commands/copy.c:1669 commands/copy.c:1675
+#: commands/copy.c:1703 commands/copy.c:1709 commands/copy.c:1715
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Попробуйте вариацию COPY (SELECT ...) TO."
 
-#: commands/copy.c:1667
+#: commands/copy.c:1707
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "копировать из материализованного представления \"%s\" нельзя"
 
-#: commands/copy.c:1673
+#: commands/copy.c:1713
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "копировать из сторонней таблицы \"%s\" нельзя"
 
-#: commands/copy.c:1679
+#: commands/copy.c:1719
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "копировать из последовательности \"%s\" нельзя"
 
-#: commands/copy.c:1684
+#: commands/copy.c:1724
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя"
 
-#: commands/copy.c:1709 commands/copy.c:2747
+#: commands/copy.c:1749 commands/copy.c:2787
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "не удалось выполнить команду \"%s\": %m"
 
-#: commands/copy.c:1724
+#: commands/copy.c:1764
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "при выполнении COPY в файл нельзя указывать относительный путь"
 
-#: commands/copy.c:1732
+#: commands/copy.c:1772
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "не удалось открыть файл \"%s\" для записи: %m"
 
-#: commands/copy.c:1744 commands/copy.c:2770
+#: commands/copy.c:1784 commands/copy.c:2810
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" - это каталог"
 
-#: commands/copy.c:2069
+#: commands/copy.c:2109
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, строка %d, столбец %s"
 
-#: commands/copy.c:2073 commands/copy.c:2120
+#: commands/copy.c:2113 commands/copy.c:2160
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, строка %d"
 
-#: commands/copy.c:2084
+#: commands/copy.c:2124
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, строка %d, столбец %s: \"%s\""
 
-#: commands/copy.c:2092
+#: commands/copy.c:2132
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, строка %d, столбец %s: значение NULL"
 
-#: commands/copy.c:2114
+#: commands/copy.c:2154
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, строка %d: \"%s\""
 
-#: commands/copy.c:2198
+#: commands/copy.c:2238
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "копировать в представление \"%s\" нельзя"
 
-#: commands/copy.c:2203
+#: commands/copy.c:2243
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "копировать в материализованное представление \"%s\" нельзя"
 
-#: commands/copy.c:2208
+#: commands/copy.c:2248
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "копировать в стороннюю таблицу \"%s\" нельзя"
 
-#: commands/copy.c:2213
+#: commands/copy.c:2253
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "копировать в последовательность \"%s\" нельзя"
 
-#: commands/copy.c:2218
+#: commands/copy.c:2258
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "копировать в отношение \"%s\", не являющееся таблицей, нельзя"
 
-#: commands/copy.c:2281
+#: commands/copy.c:2321
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "выполнить FREEZE нельзя из-за предыдущей активности в транзакции"
 
-#: commands/copy.c:2287
+#: commands/copy.c:2327
 #, c-format
 msgid ""
 "cannot perform FREEZE because the table was not created or truncated in the "
@@ -5769,149 +6356,144 @@ msgstr ""
 "выполнить FREEZE нельзя, так как таблица не была создана или усечена в "
 "текущей подтранзакции"
 
-#: commands/copy.c:2758 commands/extension.c:3037 utils/adt/genfile.c:134
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "не удалось открыть файл \"%s\" для чтения: %m"
-
-#: commands/copy.c:2790
+#: commands/copy.c:2830
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "подпись COPY-файла не распознана"
 
-#: commands/copy.c:2795
+#: commands/copy.c:2835
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "неверный заголовок файла COPY (отсутствуют флаги)"
 
-#: commands/copy.c:2801
+#: commands/copy.c:2841
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "не распознаны важные флаги в заголовке файла COPY"
 
-#: commands/copy.c:2807
+#: commands/copy.c:2847
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "неверный заголовок файла COPY (отсутствует длина)"
 
-#: commands/copy.c:2814
+#: commands/copy.c:2854
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "неверный заголовок файла COPY (неправильная длина)"
 
-#: commands/copy.c:2947 commands/copy.c:3654 commands/copy.c:3884
+#: commands/copy.c:2987 commands/copy.c:3694 commands/copy.c:3924
 #, c-format
 msgid "extra data after last expected column"
 msgstr "лишние данные после содержимого последнего столбца"
 
-#: commands/copy.c:2957
+#: commands/copy.c:2997
 #, c-format
 msgid "missing data for OID column"
 msgstr "нет данных для столбца OID"
 
-#: commands/copy.c:2963
+#: commands/copy.c:3003
 #, c-format
 msgid "null OID in COPY data"
 msgstr "неверное значение OID (NULL) в данных COPY"
 
-#: commands/copy.c:2973 commands/copy.c:3096
+#: commands/copy.c:3013 commands/copy.c:3136
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "неверный OID в данных COPY"
 
-#: commands/copy.c:2988
+#: commands/copy.c:3028
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "нет данных для столбца \"%s\""
 
-#: commands/copy.c:3071
+#: commands/copy.c:3111
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "после маркера конца файла продолжаются данные COPY"
 
-#: commands/copy.c:3078
+#: commands/copy.c:3118
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "количество полей в строке: %d, ожидалось: %d"
 
-#: commands/copy.c:3418 commands/copy.c:3435
+#: commands/copy.c:3458 commands/copy.c:3475
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "в данных обнаружен явный возврат каретки"
 
-#: commands/copy.c:3419 commands/copy.c:3436
+#: commands/copy.c:3459 commands/copy.c:3476
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "в данных обнаружен возврат каретки не в кавычках"
 
-#: commands/copy.c:3421 commands/copy.c:3438
+#: commands/copy.c:3461 commands/copy.c:3478
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Представьте возврат каретки как \"\\r\"."
 
-#: commands/copy.c:3422 commands/copy.c:3439
+#: commands/copy.c:3462 commands/copy.c:3479
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Заключите возврат каретки в кавычки CSV."
 
-#: commands/copy.c:3451
+#: commands/copy.c:3491
 #, c-format
 msgid "literal newline found in data"
 msgstr "в данных обнаружен явный символ новой строки"
 
-#: commands/copy.c:3452
+#: commands/copy.c:3492
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "в данных обнаружен явный символ новой строки не в кавычках"
 
-#: commands/copy.c:3454
+#: commands/copy.c:3494
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Представьте символ новой строки как \"\\n\"."
 
-#: commands/copy.c:3455
+#: commands/copy.c:3495
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Заключите символ новой строки в кавычки CSV."
 
-#: commands/copy.c:3501 commands/copy.c:3537
+#: commands/copy.c:3541 commands/copy.c:3577
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки"
 
-#: commands/copy.c:3510 commands/copy.c:3526
+#: commands/copy.c:3550 commands/copy.c:3566
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "маркер \"конец копии\" испорчен"
 
-#: commands/copy.c:3968
+#: commands/copy.c:4008
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "незавершённое поле в кавычках CSV"
 
-#: commands/copy.c:4045 commands/copy.c:4064
+#: commands/copy.c:4085 commands/copy.c:4104
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "неожиданный конец данных COPY"
 
-#: commands/copy.c:4054
+#: commands/copy.c:4094
 #, c-format
 msgid "invalid field size"
 msgstr "неверный размер поля"
 
-#: commands/copy.c:4077
+#: commands/copy.c:4117
 #, c-format
 msgid "incorrect binary data format"
 msgstr "неверный двоичный формат данных"
 
-#: commands/copy.c:4388 commands/indexcmds.c:1008 commands/tablecmds.c:1459
-#: commands/tablecmds.c:2282 parser/parse_relation.c:3084
-#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:1417
+#: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463
+#: commands/tablecmds.c:2290 parser/parse_relation.c:3084
+#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2244
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "столбец \"%s\" не существует"
 
-#: commands/copy.c:4395 commands/tablecmds.c:1485 commands/trigger.c:652
+#: commands/copy.c:4435 commands/tablecmds.c:1489 commands/trigger.c:651
 #: parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -5947,8 +6529,8 @@ msgstr "%d не является верным кодом кодировки"
 msgid "%s is not a valid encoding name"
 msgstr "%s не является верным названием кодировки"
 
-#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:271
-#: commands/user.c:635
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:272
+#: commands/user.c:650
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "неверный предел подключений: %d"
@@ -6224,8 +6806,8 @@ msgstr "аргументом %s должно быть имя типа"
 msgid "invalid argument for %s: \"%s\""
 msgstr "неверный аргумент для %s: \"%s\""
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1166
-#: utils/adt/ruleutils.c:1951
+#: commands/dropcmds.c:112 commands/functioncmds.c:1203
+#: utils/adt/ruleutils.c:1965
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "функция \"%s\" является агрегатной"
@@ -6235,125 +6817,130 @@ msgstr "функция \"%s\" является агрегатной"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций."
 
-#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2369
-#: commands/tablecmds.c:2520 commands/tablecmds.c:2562
-#: commands/tablecmds.c:11336 tcop/utility.c:1104
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377
+#: commands/tablecmds.c:2528 commands/tablecmds.c:2570
+#: commands/tablecmds.c:11377 tcop/utility.c:1119
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "отношение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:741
+#: commands/dropcmds.c:195 commands/dropcmds.c:296 commands/tablecmds.c:745
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "схема \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:244
+#: commands/dropcmds.c:237 commands/dropcmds.c:276 commands/tablecmds.c:246
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "тип \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:280
+#: commands/dropcmds.c:266
+#, c-format
+msgid "access method \"%s\" does not exist, skipping"
+msgstr "метод доступа \"%s\" не существует, пропускается"
+
+#: commands/dropcmds.c:284
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "правило сортировки \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:287
+#: commands/dropcmds.c:291
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "преобразование \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:298
+#: commands/dropcmds.c:302
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "анализатор текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:305
+#: commands/dropcmds.c:309
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "словарь текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:312
+#: commands/dropcmds.c:316
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "шаблон текстового поиска \"%s\" не существует, пропускается "
 
-#: commands/dropcmds.c:319
+#: commands/dropcmds.c:323
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "конфигурация текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:324
+#: commands/dropcmds.c:328
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "расширение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:331
+#: commands/dropcmds.c:335
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:340
+#: commands/dropcmds.c:344
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "агрегатная функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:349
+#: commands/dropcmds.c:353
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "оператор %s не существует, пропускается"
 
-#: commands/dropcmds.c:354
+#: commands/dropcmds.c:358
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "язык \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:363
+#: commands/dropcmds.c:367
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "приведение %s к типу %s не существует, пропускается"
 
-#: commands/dropcmds.c:372
+#: commands/dropcmds.c:376
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "преобразование для типа %s, языка \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:380
+#: commands/dropcmds.c:384
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "триггер \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:389
+#: commands/dropcmds.c:393
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "политика \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:396
+#: commands/dropcmds.c:400
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "событийный триггер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:402
+#: commands/dropcmds.c:406
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "правило \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:409
+#: commands/dropcmds.c:413
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "обёртка сторонних данных \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:413
+#: commands/dropcmds.c:417
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "сервер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:422
+#: commands/dropcmds.c:426
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr ""
 "класс операторов \"%s\" не существует для метода доступа \"%s\", пропускается"
 
-#: commands/dropcmds.c:434
+#: commands/dropcmds.c:438
 #, c-format
 msgid ""
 "operator family \"%s\" does not exist for access method \"%s\", skipping"
@@ -6361,101 +6948,69 @@ msgstr ""
 "семейство операторов \"%s\" не существует для метода доступа \"%s\", "
 "пропускается"
 
-#: commands/event_trigger.c:181
+#: commands/event_trigger.c:182
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "нет прав на создание событийного триггера \"%s\""
 
-#: commands/event_trigger.c:183
+#: commands/event_trigger.c:184
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Для создания событийного триггера нужно быть суперпользователем."
 
-#: commands/event_trigger.c:192
+#: commands/event_trigger.c:193
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "нераспознанное имя события \"%s\""
 
-#: commands/event_trigger.c:209
+#: commands/event_trigger.c:210
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "нераспознанная переменная фильтра \"%s\""
 
-#: commands/event_trigger.c:239
-#, c-format
-msgid "function \"%s\" must return type \"event_trigger\""
-msgstr "функция \"%s\" должна возвращать тип \"event_trigger\""
-
-#: commands/event_trigger.c:264
+#: commands/event_trigger.c:265
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "значение фильтра \"%s\" неприемлемо для переменной фильтра \"%s\""
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:270 commands/event_trigger.c:340
+#: commands/event_trigger.c:271 commands/event_trigger.c:341
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "для %s событийные триггеры не поддерживаются"
 
-#: commands/event_trigger.c:363
+#: commands/event_trigger.c:364
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "переменная фильтра \"%s\" указана больше одного раза"
 
-#: commands/event_trigger.c:511 commands/event_trigger.c:555
-#: commands/event_trigger.c:648
+#: commands/event_trigger.c:512 commands/event_trigger.c:556
+#: commands/event_trigger.c:649
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "событийный триггер \"%s\" не существует"
 
-#: commands/event_trigger.c:616
+#: commands/event_trigger.c:617
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "нет прав на изменение владельца событийного триггера \"%s\""
 
-#: commands/event_trigger.c:618
+#: commands/event_trigger.c:619
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Владельцем событийного триггера должен быть суперпользователь."
 
-#: commands/event_trigger.c:1439
+#: commands/event_trigger.c:1442
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции sql_drop"
 
-#: commands/event_trigger.c:1446 commands/event_trigger.c:1997
-#: commands/extension.c:1645 commands/extension.c:1754
-#: commands/extension.c:1947 commands/prepare.c:701 executor/execQual.c:1735
-#: executor/execQual.c:1760 executor/execQual.c:2135 executor/execQual.c:5376
-#: executor/functions.c:1021 foreign/foreign.c:491
-#: replication/logical/logicalfuncs.c:324 replication/logical/origin.c:1410
-#: replication/slotfuncs.c:173 replication/walsender.c:2762
-#: utils/adt/jsonfuncs.c:1474 utils/adt/jsonfuncs.c:1606
-#: utils/adt/jsonfuncs.c:1796 utils/adt/jsonfuncs.c:1925
-#: utils/adt/jsonfuncs.c:2693 utils/adt/pgstatfuncs.c:547
-#: utils/fmgr/funcapi.c:61 utils/misc/guc.c:8207 utils/mmgr/portalmem.c:1052
-#, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr ""
-"функция, возвращающая множество, вызвана в контексте, где ему нет места"
-
-#: commands/event_trigger.c:1450 commands/event_trigger.c:2001
-#: commands/extension.c:1649 commands/extension.c:1758
-#: commands/extension.c:1951 commands/prepare.c:705 foreign/foreign.c:496
-#: replication/logical/logicalfuncs.c:328 replication/logical/origin.c:1414
-#: replication/slotfuncs.c:177 replication/walsender.c:2766
-#: utils/adt/pgstatfuncs.c:551 utils/misc/guc.c:8211
-#: utils/mmgr/portalmem.c:1056
-#, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "требуется режим материализации, но он недопустим в этом контексте"
-
-#: commands/event_trigger.c:1559 commands/event_trigger.c:1580
+#: commands/event_trigger.c:1562 commands/event_trigger.c:1583
 #, c-format
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite"
 
-#: commands/event_trigger.c:1990
+#: commands/event_trigger.c:1993
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции"
@@ -6480,123 +7035,123 @@ msgstr "параметр BUFFERS оператора EXPLAIN требует ук
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/extension.c:152 commands/extension.c:2635
+#: commands/extension.c:154 commands/extension.c:2718
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "расширение \"%s\" не существует"
 
-#: commands/extension.c:251 commands/extension.c:260 commands/extension.c:272
-#: commands/extension.c:282
+#: commands/extension.c:253 commands/extension.c:262 commands/extension.c:274
+#: commands/extension.c:284
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "неверное имя расширения: \"%s\""
 
-#: commands/extension.c:252
+#: commands/extension.c:254
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Имя расширения не может быть пустым."
 
-#: commands/extension.c:261
+#: commands/extension.c:263
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Имя расширения не может содержать \"--\"."
 
-#: commands/extension.c:273
+#: commands/extension.c:275
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Имя расширения не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:283
+#: commands/extension.c:285
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Имя расширения не может содержать разделители пути."
 
-#: commands/extension.c:298 commands/extension.c:307 commands/extension.c:316
-#: commands/extension.c:326
+#: commands/extension.c:300 commands/extension.c:309 commands/extension.c:318
+#: commands/extension.c:328
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "неверный идентификатор версии расширения: \"%s\""
 
-#: commands/extension.c:299
+#: commands/extension.c:301
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Идентификатор версии не может быть пустым."
 
-#: commands/extension.c:308
+#: commands/extension.c:310
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Идентификатор версии не может содержать \"--\"."
 
-#: commands/extension.c:317
+#: commands/extension.c:319
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr ""
 "Идентификатор версии не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:327
+#: commands/extension.c:329
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Идентификатор версии не может содержать разделители пути."
 
-#: commands/extension.c:477
+#: commands/extension.c:479
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "не удалось открыть управляющий файл расширения \"%s\": %m"
 
-#: commands/extension.c:499 commands/extension.c:509
+#: commands/extension.c:501 commands/extension.c:511
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr ""
 "параметр \"%s\" нельзя задавать в дополнительном управляющем файле расширения"
 
-#: commands/extension.c:548
+#: commands/extension.c:550
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "неверное имя кодировки %s"
 
-#: commands/extension.c:562
+#: commands/extension.c:564
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "параметр \"%s\" должен содержать список имён расширений"
 
-#: commands/extension.c:569
+#: commands/extension.c:571
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "нераспознанный параметр \"%s\" в файле \"%s\""
 
-#: commands/extension.c:578
+#: commands/extension.c:580
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr ""
 "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true"
 
-#: commands/extension.c:719
+#: commands/extension.c:721
 #, c-format
 msgid ""
 "transaction control statements are not allowed within an extension script"
 msgstr "в скрипте расширения не должно быть операторов управления транзакциями"
 
-#: commands/extension.c:787
+#: commands/extension.c:789
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "нет прав на создание расширения \"%s\""
 
-#: commands/extension.c:789
+#: commands/extension.c:791
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Для создания этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:793
+#: commands/extension.c:795
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "нет прав на изменение расширения \"%s\""
 
-#: commands/extension.c:795
+#: commands/extension.c:797
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Для изменения этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:1077
+#: commands/extension.c:1079
 #, c-format
 msgid ""
 "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
@@ -6604,47 +7159,64 @@ msgstr ""
 "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии "
 "\"%s\""
 
-#: commands/extension.c:1205
-#, c-format
-msgid "extension \"%s\" already exists, skipping"
-msgstr "расширение \"%s\" уже существует, пропускается"
-
-#: commands/extension.c:1212
-#, c-format
-msgid "extension \"%s\" already exists"
-msgstr "расширение \"%s\" уже существует"
-
-#: commands/extension.c:1223
-#, c-format
-msgid "nested CREATE EXTENSION is not supported"
-msgstr "вложенные операторы CREATE EXTENSION не поддерживаются"
-
-#: commands/extension.c:1278 commands/extension.c:2695
+#: commands/extension.c:1261 commands/extension.c:2778
 #, c-format
 msgid "version to install must be specified"
 msgstr "нужно указать версию для установки"
 
-#: commands/extension.c:1295
+#: commands/extension.c:1278
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "версия FROM должна отличаться от устанавливаемой версии \"%s\""
 
-#: commands/extension.c:1350
+#: commands/extension.c:1343
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\""
 
-#: commands/extension.c:1434 commands/extension.c:2840
+#: commands/extension.c:1435
+#, c-format
+msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
+msgstr "выявлена циклическая зависимость между расширениями \"%s\" и \"%s\""
+
+#: commands/extension.c:1440
+#, c-format
+msgid "installing required extension \"%s\""
+msgstr "установка требуемого расширения \"%s\""
+
+#: commands/extension.c:1468 commands/extension.c:2923
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "требуемое расширение \"%s\" не установлено"
 
-#: commands/extension.c:1597
+#: commands/extension.c:1470
+#, c-format
+msgid "Use CREATE EXTENSION CASCADE to install required extensions too."
+msgstr ""
+"Выполните CREATE EXTENSION CASCADE, чтобы установить также требуемые "
+"расширения."
+
+#: commands/extension.c:1534
+#, c-format
+msgid "extension \"%s\" already exists, skipping"
+msgstr "расширение \"%s\" уже существует, пропускается"
+
+#: commands/extension.c:1541
+#, c-format
+msgid "extension \"%s\" already exists"
+msgstr "расширение \"%s\" уже существует"
+
+#: commands/extension.c:1552
+#, c-format
+msgid "nested CREATE EXTENSION is not supported"
+msgstr "вложенные операторы CREATE EXTENSION не поддерживаются"
+
+#: commands/extension.c:1680
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "удалить расширение %s в процессе настройки нельзя"
 
-#: commands/extension.c:2068
+#: commands/extension.c:2151
 #, c-format
 msgid ""
 "pg_extension_config_dump() can only be called from an SQL script executed by "
@@ -6653,17 +7225,17 @@ msgstr ""
 "функцию pg_extension_config_dump() можно вызывать только из SQL-скрипта, "
 "запускаемого в CREATE EXTENSION"
 
-#: commands/extension.c:2080
+#: commands/extension.c:2163
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u не относится к таблице"
 
-#: commands/extension.c:2085
+#: commands/extension.c:2168
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "таблица \"%s\" не относится к созданному расширению"
 
-#: commands/extension.c:2450
+#: commands/extension.c:2533
 #, c-format
 msgid ""
 "cannot move extension \"%s\" into schema \"%s\" because the extension "
@@ -6672,27 +7244,27 @@ msgstr ""
 "переместить расширение \"%s\" в схему \"%s\" нельзя, так как оно содержит "
 "схему"
 
-#: commands/extension.c:2490 commands/extension.c:2553
+#: commands/extension.c:2573 commands/extension.c:2636
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "расширение \"%s\" не поддерживает SET SCHEMA"
 
-#: commands/extension.c:2555
+#: commands/extension.c:2638
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "объект %s не принадлежит схеме расширения \"%s\""
 
-#: commands/extension.c:2615
+#: commands/extension.c:2698
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "вложенные операторы ALTER EXTENSION не поддерживаются"
 
-#: commands/extension.c:2706
+#: commands/extension.c:2789
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "версия \"%s\" расширения \"%s\" уже установлена"
 
-#: commands/extension.c:2957
+#: commands/extension.c:3040
 #, c-format
 msgid ""
 "cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
@@ -6701,12 +7273,12 @@ msgstr ""
 "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит "
 "расширение"
 
-#: commands/extension.c:2975
+#: commands/extension.c:3058
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s не относится к расширению \"%s\""
 
-#: commands/extension.c:3031
+#: commands/extension.c:3114
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "файл \"%s\" слишком большой"
@@ -6737,16 +7309,11 @@ msgstr ""
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Владельцем обёртки сторонних данных должен быть суперпользователь."
 
-#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:670
+#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:777
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "обёртка сторонних данных \"%s\" не существует"
 
-#: commands/foreigncmds.c:489
-#, c-format
-msgid "function %s must return type \"fdw_handler\""
-msgstr "функция %s должна возвращать тип \"fdw_handler\""
-
 #: commands/foreigncmds.c:584
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
@@ -6806,7 +7373,7 @@ msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr ""
 "сопоставление пользователей \"%s\" не существует для сервера, пропускается"
 
-#: commands/foreigncmds.c:1532 foreign/foreign.c:360
+#: commands/foreigncmds.c:1532 foreign/foreign.c:467
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "обёртка сторонних данных \"%s\" не имеет обработчика"
@@ -6908,97 +7475,97 @@ msgstr ""
 "входные параметры, следующие за параметром со значением по умолчанию, также "
 "должны иметь значения по умолчанию"
 
-#: commands/functioncmds.c:670
+#: commands/functioncmds.c:701
 #, c-format
 msgid "no function body specified"
 msgstr "не указано тело функции"
 
-#: commands/functioncmds.c:680
+#: commands/functioncmds.c:711
 #, c-format
 msgid "no language specified"
 msgstr "язык не указан"
 
-#: commands/functioncmds.c:705 commands/functioncmds.c:1205
+#: commands/functioncmds.c:736 commands/functioncmds.c:1243
 #, c-format
 msgid "COST must be positive"
 msgstr "значение COST должно быть положительным"
 
-#: commands/functioncmds.c:713 commands/functioncmds.c:1213
+#: commands/functioncmds.c:744 commands/functioncmds.c:1251
 #, c-format
 msgid "ROWS must be positive"
 msgstr "значение ROWS должно быть положительным"
 
-#: commands/functioncmds.c:752
+#: commands/functioncmds.c:785
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "нераспознанный атрибут функции \"%s\" --- игнорируется"
 
-#: commands/functioncmds.c:803
+#: commands/functioncmds.c:836
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "для языка \"%s\" нужно только одно выражение AS"
 
-#: commands/functioncmds.c:894 commands/functioncmds.c:2079
-#: commands/proclang.c:560
+#: commands/functioncmds.c:929 commands/functioncmds.c:2119
+#: commands/proclang.c:563
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "язык \"%s\" не существует"
 
-#: commands/functioncmds.c:896 commands/functioncmds.c:2081
+#: commands/functioncmds.c:931 commands/functioncmds.c:2121
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Выполните CREATE LANGUAGE, чтобы загрузить язык в базу данных."
 
-#: commands/functioncmds.c:931 commands/functioncmds.c:1197
+#: commands/functioncmds.c:966 commands/functioncmds.c:1235
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr ""
 "только суперпользователь может определить функцию с атрибутом LEAKPROOF"
 
-#: commands/functioncmds.c:975
+#: commands/functioncmds.c:1010
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr ""
 "результат функции должен иметь тип %s (в соответствии с параметрами OUT)"
 
-#: commands/functioncmds.c:988
+#: commands/functioncmds.c:1023
 #, c-format
 msgid "function result type must be specified"
 msgstr "необходимо указать тип результата функции"
 
-#: commands/functioncmds.c:1042 commands/functioncmds.c:1217
+#: commands/functioncmds.c:1077 commands/functioncmds.c:1255
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "указание ROWS неприменимо, когда функция возвращает не множество"
 
-#: commands/functioncmds.c:1372
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "исходный тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1378
+#: commands/functioncmds.c:1418
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "целевой тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1402
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как исходные данные имеют тип домен"
 
-#: commands/functioncmds.c:1407
+#: commands/functioncmds.c:1447
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr ""
 "приведение будет проигнорировано, так как целевые данные имеют тип домен"
 
-#: commands/functioncmds.c:1434
+#: commands/functioncmds.c:1474
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "функция приведения должна принимать от одного до трёх аргументов"
 
-#: commands/functioncmds.c:1438
+#: commands/functioncmds.c:1478
 #, c-format
 msgid ""
 "argument of cast function must match or be binary-coercible from source data "
@@ -7007,17 +7574,17 @@ msgstr ""
 "аргумент функции приведения должен совпадать или быть двоично-совместимым с "
 "исходным типом данных"
 
-#: commands/functioncmds.c:1442
+#: commands/functioncmds.c:1482
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "второй аргумент функции приведения должен быть целого типа"
 
-#: commands/functioncmds.c:1446
+#: commands/functioncmds.c:1486
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "третий аргумент функции приведения должен быть логического типа"
 
-#: commands/functioncmds.c:1450
+#: commands/functioncmds.c:1490
 #, c-format
 msgid ""
 "return data type of cast function must match or be binary-coercible to "
@@ -7026,253 +7593,251 @@ msgstr ""
 "тип возвращаемых данных функции приведения должен совпадать или быть двоично-"
 "совместимым с целевым типом данных"
 
-#: commands/functioncmds.c:1461
+#: commands/functioncmds.c:1501
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "функция приведения не может быть изменчивой (volatile)"
 
-#: commands/functioncmds.c:1466
+#: commands/functioncmds.c:1506
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "функция приведения не может быть агрегатной"
 
-#: commands/functioncmds.c:1470
+#: commands/functioncmds.c:1510
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "функция приведения не может быть оконной"
 
-#: commands/functioncmds.c:1474
+#: commands/functioncmds.c:1514
 #, c-format
 msgid "cast function must not return a set"
 msgstr "функция приведения не может возвращать множество"
 
-#: commands/functioncmds.c:1500
+#: commands/functioncmds.c:1540
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "для создания приведения WITHOUT FUNCTION нужно быть суперпользователем"
 
-#: commands/functioncmds.c:1515
+#: commands/functioncmds.c:1555
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "исходный и целевой типы данных не совместимы физически"
 
-#: commands/functioncmds.c:1530
+#: commands/functioncmds.c:1570
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "составные типы данных не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1536
+#: commands/functioncmds.c:1576
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "типы-перечисления не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1542
+#: commands/functioncmds.c:1582
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "типы-массивы не совместимы на двоичном уровне"
 
-#: commands/functioncmds.c:1559
+#: commands/functioncmds.c:1599
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "типы-домены не могут считаться двоично-совместимыми"
 
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1609
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "исходный тип данных совпадает с целевым"
 
-#: commands/functioncmds.c:1602
+#: commands/functioncmds.c:1642
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "приведение типа %s к типу %s уже существует"
 
-#: commands/functioncmds.c:1677
+#: commands/functioncmds.c:1717
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "приведение типа %s к типу %s не существует"
 
-#: commands/functioncmds.c:1716
+#: commands/functioncmds.c:1756
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "функция преобразования не может быть изменчивой"
 
-#: commands/functioncmds.c:1720
+#: commands/functioncmds.c:1760
 #, c-format
 msgid "transform function must not be an aggregate function"
 msgstr "функция преобразования не может быть агрегатной"
 
-#: commands/functioncmds.c:1724
+#: commands/functioncmds.c:1764
 #, c-format
 msgid "transform function must not be a window function"
 msgstr "функция преобразования не может быть оконной"
 
-#: commands/functioncmds.c:1728
+#: commands/functioncmds.c:1768
 #, c-format
 msgid "transform function must not return a set"
 msgstr "функция преобразования не может возвращать множество"
 
-#: commands/functioncmds.c:1732
+#: commands/functioncmds.c:1772
 #, c-format
 msgid "transform function must take one argument"
 msgstr "функция преобразования должна принимать один аргумент"
 
-#: commands/functioncmds.c:1736
+#: commands/functioncmds.c:1776
 #, c-format
 msgid "first argument of transform function must be type \"internal\""
 msgstr "первый аргумент функции преобразования должен иметь тип \"internal\""
 
-#: commands/functioncmds.c:1773
+#: commands/functioncmds.c:1813
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "тип данных %s является псевдотипом"
 
-#: commands/functioncmds.c:1779
+#: commands/functioncmds.c:1819
 #, c-format
 msgid "data type %s is a domain"
 msgstr "тип данных \"%s\" является доменом"
 
-#: commands/functioncmds.c:1819
+#: commands/functioncmds.c:1859
 #, c-format
 msgid "return data type of FROM SQL function must be \"internal\""
 msgstr "результат функции FROM SQL должен иметь тип \"internal\""
 
-#: commands/functioncmds.c:1844
+#: commands/functioncmds.c:1884
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "результат функции TO SQL должен иметь тип данных преобразования"
 
-#: commands/functioncmds.c:1871
+#: commands/functioncmds.c:1911
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "преобразование для типа %s, языка \"%s\" уже существует"
 
-#: commands/functioncmds.c:1962
+#: commands/functioncmds.c:2002
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "преобразование для типа %s, языка \"%s\" не существует"
 
-#: commands/functioncmds.c:2013
+#: commands/functioncmds.c:2053
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "функция %s уже существует в схеме \"%s\""
 
-#: commands/functioncmds.c:2066
+#: commands/functioncmds.c:2106
 #, c-format
 msgid "no inline code specified"
 msgstr "нет внедрённого кода"
 
-#: commands/functioncmds.c:2111
+#: commands/functioncmds.c:2151
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:487
-#: commands/opclasscmds.c:360 commands/opclasscmds.c:786
-#: commands/opclasscmds.c:1749
-#, c-format
-msgid "access method \"%s\" does not exist"
-msgstr "метод доступа \"%s\" не существует"
-
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:349
 #, c-format
 msgid "must specify at least one column"
 msgstr "нужно указать минимум один столбец"
 
-#: commands/indexcmds.c:345
+#: commands/indexcmds.c:353
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "число столбцов в индексе не может превышать %d"
 
-#: commands/indexcmds.c:376
+#: commands/indexcmds.c:384
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "создать индекс в сторонней таблице \"%s\" нельзя"
 
-#: commands/indexcmds.c:391
+#: commands/indexcmds.c:399
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "создавать индексы во временных таблицах других сеансов нельзя"
 
-#: commands/indexcmds.c:446 commands/tablecmds.c:541 commands/tablecmds.c:9567
+#: commands/indexcmds.c:454 commands/tablecmds.c:545 commands/tablecmds.c:9597
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr ""
 "в табличное пространство pg_global можно поместить только разделяемые таблицы"
 
-#: commands/indexcmds.c:479
+#: commands/indexcmds.c:487
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "устаревший метод доступа \"rtree\" подменяется методом \"gist\""
 
-#: commands/indexcmds.c:496
+#: commands/indexcmds.c:505
 #, c-format
 msgid "hash indexes are not WAL-logged and their use is discouraged"
 msgstr "хеш-индексы не записываются в журнал, использовать их не рекомендуется"
 
-#: commands/indexcmds.c:501
+#: commands/indexcmds.c:510
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "метод доступа \"%s\" не поддерживает уникальные индексы"
 
-#: commands/indexcmds.c:506
+#: commands/indexcmds.c:515
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "метод доступа \"%s\" не поддерживает индексы по многим столбцам"
 
-#: commands/indexcmds.c:511
+#: commands/indexcmds.c:520
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "метод доступа \"%s\" не поддерживает ограничения-исключения"
 
-#: commands/indexcmds.c:590
+#: commands/indexcmds.c:590 commands/indexcmds.c:610
+#, c-format
+msgid "index creation on system columns is not supported"
+msgstr "создание индекса для системных столбцов не поддерживается"
+
+#: commands/indexcmds.c:635
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s создаст неявный индекс \"%s\" для таблицы \"%s\""
 
-#: commands/indexcmds.c:937
+#: commands/indexcmds.c:982
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1003 parser/parse_utilcmd.c:1844
+#: commands/indexcmds.c:1048 parser/parse_utilcmd.c:1894
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "указанный в ключе столбец \"%s\" не существует"
 
-#: commands/indexcmds.c:1063
+#: commands/indexcmds.c:1108
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "функции в индексном выражении должны быть помечены как IMMUTABLE"
 
-#: commands/indexcmds.c:1086
+#: commands/indexcmds.c:1131
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "не удалось определить правило сравнения для индексного выражения"
 
-#: commands/indexcmds.c:1094 commands/typecmds.c:825 parser/parse_expr.c:2559
-#: parser/parse_type.c:550 parser/parse_utilcmd.c:2736 utils/adt/misc.c:546
+#: commands/indexcmds.c:1139 commands/typecmds.c:827 parser/parse_expr.c:2583
+#: parser/parse_type.c:550 parser/parse_utilcmd.c:2820 utils/adt/misc.c:666
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "тип %s не поддерживает сортировку (COLLATION)"
 
-#: commands/indexcmds.c:1132
+#: commands/indexcmds.c:1177
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "оператор %s не коммутативен"
 
-#: commands/indexcmds.c:1134
+#: commands/indexcmds.c:1179
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr ""
 "В ограничениях-исключениях могут использоваться только коммутативные "
 "операторы."
 
-#: commands/indexcmds.c:1160
+#: commands/indexcmds.c:1205
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "оператор \"%s\" не входит в семейство операторов \"%s\""
 
-#: commands/indexcmds.c:1163
+#: commands/indexcmds.c:1208
 #, c-format
 msgid ""
 "The exclusion operator must be related to the index operator class for the "
@@ -7281,24 +7846,24 @@ msgstr ""
 "Оператор исключения для ограничения должен относиться к классу операторов "
 "индекса."
 
-#: commands/indexcmds.c:1198
+#: commands/indexcmds.c:1243
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "метод доступа \"%s\" не поддерживает сортировку ASC/DESC"
 
-#: commands/indexcmds.c:1203
+#: commands/indexcmds.c:1248
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "метод доступа \"%s\" не поддерживает параметр NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1259 commands/typecmds.c:1932
+#: commands/indexcmds.c:1304 commands/typecmds.c:1935
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 "для типа данных %s не определён класс операторов по умолчанию для метода "
 "доступа \"%s\""
 
-#: commands/indexcmds.c:1261
+#: commands/indexcmds.c:1306
 #, c-format
 msgid ""
 "You must specify an operator class for the index or define a default "
@@ -7307,34 +7872,34 @@ msgstr ""
 "Вы должны указать класс операторов для индекса или определить класс "
 "операторов по умолчанию для этого типа данных."
 
-#: commands/indexcmds.c:1290 commands/indexcmds.c:1298
-#: commands/opclasscmds.c:204
+#: commands/indexcmds.c:1335 commands/indexcmds.c:1343
+#: commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/indexcmds.c:1311 commands/typecmds.c:1920
+#: commands/indexcmds.c:1356 commands/typecmds.c:1923
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "класс операторов \"%s\" не принимает тип данных %s"
 
-#: commands/indexcmds.c:1401
+#: commands/indexcmds.c:1446
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 "для типа данных %s определено несколько классов операторов по умолчанию"
 
-#: commands/indexcmds.c:1792
+#: commands/indexcmds.c:1837
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "таблица \"%s\" не имеет индексов"
 
-#: commands/indexcmds.c:1847
+#: commands/indexcmds.c:1892
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "переиндексировать можно только текущую базу данных"
 
-#: commands/indexcmds.c:1949
+#: commands/indexcmds.c:1994
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "таблица \"%s.%s\" переиндексирована"
@@ -7351,26 +7916,12 @@ msgstr ""
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "параметры CONCURRENTLY и WITH NO DATA исключают друг друга"
 
-#: commands/matview.c:611
-#, c-format
-msgid ""
-"new data for materialized view \"%s\" contains duplicate rows without any "
-"null columns"
-msgstr ""
-"новые данные для материализованного представления \"%s\" содержат "
-"дублирующиеся строки (без учёта столбцов с NULL)"
-
-#: commands/matview.c:613
-#, c-format
-msgid "Row: %s"
-msgstr "Строка: %s"
-
-#: commands/matview.c:701
+#: commands/matview.c:257
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "обновить материализованное представление \"%s\" параллельно нельзя"
 
-#: commands/matview.c:703
+#: commands/matview.c:260
 #, c-format
 msgid ""
 "Create a unique index with no WHERE clause on one or more columns of the "
@@ -7379,168 +7930,182 @@ msgstr ""
 "Создайте уникальный индекс без предложения WHERE для одного или нескольких "
 "столбцов материализованного представления."
 
-#: commands/opclasscmds.c:125
+#: commands/matview.c:657
+#, c-format
+msgid ""
+"new data for materialized view \"%s\" contains duplicate rows without any "
+"null columns"
+msgstr ""
+"новые данные для материализованного представления \"%s\" содержат "
+"дублирующиеся строки (без учёта столбцов с NULL)"
+
+#: commands/matview.c:659
+#, c-format
+msgid "Row: %s"
+msgstr "Строка: %s"
+
+#: commands/opclasscmds.c:126
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" не существует"
 
-#: commands/opclasscmds.c:263
+#: commands/opclasscmds.c:264
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "семейство операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:399
+#: commands/opclasscmds.c:404
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "для создания класса операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:473 commands/opclasscmds.c:859
-#: commands/opclasscmds.c:992
+#: commands/opclasscmds.c:478 commands/opclasscmds.c:863
+#: commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "неверный номер оператора (%d), должен быть между 1 и %d"
 
-#: commands/opclasscmds.c:524 commands/opclasscmds.c:910
-#: commands/opclasscmds.c:1007
+#: commands/opclasscmds.c:529 commands/opclasscmds.c:914
+#: commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "неверный номер процедуры (%d), должен быть между 1 и %d"
 
-#: commands/opclasscmds.c:554
+#: commands/opclasscmds.c:559
 #, c-format
 msgid "storage type specified more than once"
 msgstr "тип хранения указан неоднократно"
 
-#: commands/opclasscmds.c:581
+#: commands/opclasscmds.c:586
 #, c-format
 msgid ""
 "storage type cannot be different from data type for access method \"%s\""
 msgstr ""
 "тип хранения не может отличаться от типа данных для метода доступа \"%s\""
 
-#: commands/opclasscmds.c:597
+#: commands/opclasscmds.c:602
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "класс операторов \"%s\" для метода доступа \"%s\" уже существует"
 
-#: commands/opclasscmds.c:625
+#: commands/opclasscmds.c:630
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr ""
 "класс операторов \"%s\" не удалось сделать классом по умолчанию для типа %s"
 
-#: commands/opclasscmds.c:628
+#: commands/opclasscmds.c:633
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Класс операторов \"%s\" уже является классом по умолчанию."
 
-#: commands/opclasscmds.c:756
+#: commands/opclasscmds.c:760
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "для создания семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:812
+#: commands/opclasscmds.c:816
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "для изменения семейства операторов нужно быть суперпользователем"
 
-#: commands/opclasscmds.c:875
+#: commands/opclasscmds.c:879
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY должны быть указаны типы аргументов оператора"
 
-#: commands/opclasscmds.c:939
+#: commands/opclasscmds.c:943
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "в ALTER OPERATOR FAMILY нельзя указать STORAGE"
 
-#: commands/opclasscmds.c:1062
+#: commands/opclasscmds.c:1066
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "нужно указать один или два типа аргументов"
 
-#: commands/opclasscmds.c:1088
+#: commands/opclasscmds.c:1092
 #, c-format
 msgid "index operators must be binary"
 msgstr "индексные операторы должны быть бинарными"
 
-#: commands/opclasscmds.c:1113
+#: commands/opclasscmds.c:1111
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "метод доступа \"%s\" не поддерживает сортирующие операторы"
 
-#: commands/opclasscmds.c:1126
+#: commands/opclasscmds.c:1122
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "операторы поиска по индексу должны возвращать логическое значение"
 
-#: commands/opclasscmds.c:1168
+#: commands/opclasscmds.c:1164
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "процедуры сравнения btree должны иметь два аргумента"
 
-#: commands/opclasscmds.c:1172
+#: commands/opclasscmds.c:1168
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "процедуры сравнения btree должны возвращать целое число"
 
-#: commands/opclasscmds.c:1189
+#: commands/opclasscmds.c:1185
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "процедуры поддержки сортировки btree должны принимать тип \"internal\""
 
-#: commands/opclasscmds.c:1193
+#: commands/opclasscmds.c:1189
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "процедуры поддержки сортировки btree должны возвращать пустое (void)"
 
-#: commands/opclasscmds.c:1205
+#: commands/opclasscmds.c:1201
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "у хеш-процедур должен быть один аргумент"
 
-#: commands/opclasscmds.c:1209
+#: commands/opclasscmds.c:1205
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "хеш-процедуры должны возвращать целое число"
 
-#: commands/opclasscmds.c:1233
+#: commands/opclasscmds.c:1229
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr ""
 "для процедуры поддержки индексов должны быть указаны связанные типы данных"
 
-#: commands/opclasscmds.c:1258
+#: commands/opclasscmds.c:1254
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "номер процедуры %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1265
+#: commands/opclasscmds.c:1261
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "номер оператора %d для (%s,%s) дублируется"
 
-#: commands/opclasscmds.c:1314
+#: commands/opclasscmds.c:1310
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "оператор %d(%s,%s) уже существует в семействе \"%s\""
 
-#: commands/opclasscmds.c:1430
+#: commands/opclasscmds.c:1426
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "функция %d(%s,%s) уже существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1520
+#: commands/opclasscmds.c:1516
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "оператор %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1560
+#: commands/opclasscmds.c:1556
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "функция %d(%s,%s) не существует в семействе операторов \"%s\""
 
-#: commands/opclasscmds.c:1705
+#: commands/opclasscmds.c:1686
 #, c-format
 msgid ""
 "operator class \"%s\" for access method \"%s\" already exists in schema \"%s"
@@ -7549,7 +8114,7 @@ msgstr ""
 "класс операторов \"%s\" для метода доступа \"%s\" уже существует в схеме \"%s"
 "\""
 
-#: commands/opclasscmds.c:1728
+#: commands/opclasscmds.c:1709
 #, c-format
 msgid ""
 "operator family \"%s\" for access method \"%s\" already exists in schema \"%s"
@@ -7558,43 +8123,47 @@ msgstr ""
 "семейство операторов \"%s\" для метода доступа \"%s\" уже существует в схеме "
 "\"%s\""
 
-#: commands/operatorcmds.c:110 commands/operatorcmds.c:118
+#: commands/operatorcmds.c:114 commands/operatorcmds.c:122
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "аргументом оператора не может быть тип SETOF"
 
-#: commands/operatorcmds.c:146
+#: commands/operatorcmds.c:152 commands/operatorcmds.c:457
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "атрибут оператора \"%s\" не распознан"
 
-#: commands/operatorcmds.c:156
+#: commands/operatorcmds.c:163
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "должна быть указана процедура оператора"
 
-#: commands/operatorcmds.c:167
+#: commands/operatorcmds.c:174
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "необходимо указать левый и/или правый аргумент"
 
-#: commands/operatorcmds.c:235
+#: commands/operatorcmds.c:278
+#, c-format
+msgid "restriction estimator function %s must return type %s"
+msgstr "функция оценки ограничения %s должна возвращать тип %s"
+
+#: commands/operatorcmds.c:324
 #, c-format
-msgid "restriction estimator function %s must return type \"float8\""
-msgstr "функция оценки ограничения %s должна возвращать тип \"float8\""
+msgid "join estimator function %s must return type %s"
+msgstr "функция оценки соединения %s должна возвращать тип %s"
 
-#: commands/operatorcmds.c:274
+#: commands/operatorcmds.c:451
 #, c-format
-msgid "join estimator function %s must return type \"float8\""
-msgstr "функция оценки соединения %s должна возвращать тип \"float8\""
+msgid "operator attribute \"%s\" cannot be changed"
+msgstr "атрибут оператора \"%s\" нельзя изменить"
 
 #: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479
-#: commands/tablecmds.c:966 commands/tablecmds.c:1308
-#: commands/tablecmds.c:2176 commands/tablecmds.c:4320
-#: commands/tablecmds.c:6249 commands/tablecmds.c:11886
-#: commands/tablecmds.c:11921 commands/trigger.c:240 commands/trigger.c:1126
-#: commands/trigger.c:1234 rewrite/rewriteDefine.c:273
-#: rewrite/rewriteDefine.c:905
+#: commands/tablecmds.c:970 commands/tablecmds.c:1312 commands/tablecmds.c:2184
+#: commands/tablecmds.c:4328 commands/tablecmds.c:6279
+#: commands/tablecmds.c:11933 commands/tablecmds.c:11968 commands/trigger.c:241
+#: commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273
+#: rewrite/rewriteDefine.c:917
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "доступ запрещён: \"%s\" - это системный каталог"
@@ -7639,8 +8208,7 @@ msgstr "политика \"%s\" для таблицы \"%s\" не существ
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "для SELECT, DELETE допускается только выражение USING"
 
-#: commands/portalcmds.c:61 commands/portalcmds.c:160
-#: commands/portalcmds.c:212
+#: commands/portalcmds.c:61 commands/portalcmds.c:160 commands/portalcmds.c:212
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "имя курсора не может быть пустым"
@@ -7651,17 +8219,12 @@ msgstr "имя курсора не может быть пустым"
 msgid "cursor \"%s\" does not exist"
 msgstr "курсор \"%s\" не существует"
 
-#: commands/portalcmds.c:407
-#, c-format
-msgid "could not reposition held cursor"
-msgstr "передвинуть сохранённый курсор не удалось"
-
 #: commands/prepare.c:71
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "неверный оператор: имя не должно быть пустым"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1355
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1345
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "не удалось определить тип данных параметра $%d"
@@ -7693,13 +8256,13 @@ msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "параметр $%d типа %s нельзя привести к ожидаемому типу %s"
 
 # [SM]: TO REVIEW
-#: commands/prepare.c:464
+#: commands/prepare.c:465
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "подготовленный оператор \"%s\" уже существует"
 
 # [SM]: TO REVIEW
-#: commands/prepare.c:503
+#: commands/prepare.c:504
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "подготовленный оператор \"%s\" не существует"
@@ -7715,29 +8278,24 @@ msgstr ""
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "для создания процедурного языка \"%s\" нужно быть суперпользователем"
 
-#: commands/proclang.c:117 commands/proclang.c:285
-#, c-format
-msgid "function %s must return type \"language_handler\""
-msgstr "функция %s должна возвращать тип \"language_handler\""
-
-#: commands/proclang.c:249
+#: commands/proclang.c:252
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "неподдерживаемый язык: \"%s\""
 
-#: commands/proclang.c:251
+#: commands/proclang.c:254
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr ""
 "Список поддерживаемых языков содержится в системном каталоге pg_pltemplate."
 
-#: commands/proclang.c:259
+#: commands/proclang.c:262
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr ""
 "для создания дополнительного процедурного языка нужно быть суперпользователем"
 
-#: commands/proclang.c:278
+#: commands/proclang.c:281
 #, c-format
 msgid ""
 "changing return type of function %s from \"opaque\" to \"language_handler\""
@@ -7873,167 +8431,167 @@ msgstr ""
 "последовательность должна быть в той же схеме, что и таблица, с которой она "
 "связана"
 
-#: commands/tablecmds.c:213
+#: commands/tablecmds.c:215
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "таблица \"%s\" не существует"
 
-#: commands/tablecmds.c:214
+#: commands/tablecmds.c:216
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "таблица \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:216
+#: commands/tablecmds.c:218
 msgid "Use DROP TABLE to remove a table."
 msgstr "Выполните DROP TABLE для удаления таблицы."
 
-#: commands/tablecmds.c:219
+#: commands/tablecmds.c:221
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "последовательность \"%s\" не существует"
 
-#: commands/tablecmds.c:220
+#: commands/tablecmds.c:222
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "последовательность \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:222
+#: commands/tablecmds.c:224
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Выполните DROP SEQUENCE для удаления последовательности."
 
-#: commands/tablecmds.c:225
+#: commands/tablecmds.c:227
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "представление \"%s\" не существует"
 
-#: commands/tablecmds.c:226
+#: commands/tablecmds.c:228
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "представление \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:228
+#: commands/tablecmds.c:230
 msgid "Use DROP VIEW to remove a view."
 msgstr "Выполните DROP VIEW для удаления представления."
 
-#: commands/tablecmds.c:231
+#: commands/tablecmds.c:233
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "материализованное представление \"%s\" не существует"
 
-#: commands/tablecmds.c:232
+#: commands/tablecmds.c:234
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "материализованное представление \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:234
+#: commands/tablecmds.c:236
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr ""
 "Выполните DROP MATERIALIZED VIEW для удаления материализованного "
 "представления."
 
-#: commands/tablecmds.c:237 parser/parse_utilcmd.c:1593
+#: commands/tablecmds.c:239 parser/parse_utilcmd.c:1643
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "индекс \"%s\" не существует"
 
-#: commands/tablecmds.c:238
+#: commands/tablecmds.c:240
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "индекс \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:240
+#: commands/tablecmds.c:242
 msgid "Use DROP INDEX to remove an index."
 msgstr "Выполните DROP INDEX для удаления индекса."
 
-#: commands/tablecmds.c:245
+#: commands/tablecmds.c:247
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "\"%s\" - это не тип"
 
-#: commands/tablecmds.c:246
+#: commands/tablecmds.c:248
 msgid "Use DROP TYPE to remove a type."
 msgstr "Выполните DROP TYPE для удаления типа."
 
-#: commands/tablecmds.c:249 commands/tablecmds.c:8456
-#: commands/tablecmds.c:11153
+#: commands/tablecmds.c:251 commands/tablecmds.c:8486
+#: commands/tablecmds.c:11194
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "сторонняя таблица \"%s\" не существует"
 
-#: commands/tablecmds.c:250
+#: commands/tablecmds.c:252
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "сторонняя таблица \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:252
+#: commands/tablecmds.c:254
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы."
 
-#: commands/tablecmds.c:489
+#: commands/tablecmds.c:493
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT можно использовать только для временных таблиц"
 
-#: commands/tablecmds.c:509
+#: commands/tablecmds.c:513
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr ""
 "в рамках операции с ограничениями по безопасности нельзя создать временную "
 "таблицу"
 
-#: commands/tablecmds.c:817
+#: commands/tablecmds.c:821
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов"
 
-#: commands/tablecmds.c:821
+#: commands/tablecmds.c:825
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE"
 
-#: commands/tablecmds.c:1080
+#: commands/tablecmds.c:1084
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "удаление распространяется на таблицу %s"
 
-#: commands/tablecmds.c:1318
+#: commands/tablecmds.c:1322
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "временные таблицы других сеансов нельзя очистить"
 
-#: commands/tablecmds.c:1524 parser/parse_utilcmd.c:1807
+#: commands/tablecmds.c:1528 parser/parse_utilcmd.c:1857
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr ""
 "наследуемое отношение \"%s\" не является таблицей или сторонней таблицей"
 
-#: commands/tablecmds.c:1531 commands/tablecmds.c:10023
+#: commands/tablecmds.c:1535 commands/tablecmds.c:10053
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "временное отношение \"%s\" не может наследоваться"
 
-#: commands/tablecmds.c:1539 commands/tablecmds.c:10031
+#: commands/tablecmds.c:1543 commands/tablecmds.c:10061
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "наследование от временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:1555 commands/tablecmds.c:10065
+#: commands/tablecmds.c:1559 commands/tablecmds.c:10095
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "отношение \"%s\" наследуется неоднократно"
 
-#: commands/tablecmds.c:1603
+#: commands/tablecmds.c:1607
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "слияние нескольких наследованных определений столбца \"%s\""
 
-#: commands/tablecmds.c:1611
+#: commands/tablecmds.c:1615
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "конфликт типов в наследованном столбце \"%s\""
 
-#: commands/tablecmds.c:1613 commands/tablecmds.c:1634
-#: commands/tablecmds.c:1832 commands/tablecmds.c:1854
+#: commands/tablecmds.c:1617 commands/tablecmds.c:1640
+#: commands/tablecmds.c:1838 commands/tablecmds.c:1862
 #: parser/parse_coerce.c:1630 parser/parse_coerce.c:1650
 #: parser/parse_coerce.c:1670 parser/parse_coerce.c:1715
 #: parser/parse_coerce.c:1752 parser/parse_param.c:218
@@ -8041,75 +8599,75 @@ msgstr "конфликт типов в наследованном столбце
 msgid "%s versus %s"
 msgstr "%s и %s"
 
-#: commands/tablecmds.c:1620
+#: commands/tablecmds.c:1626
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "конфликт правил сортировки в наследованном столбце \"%s\""
 
-#: commands/tablecmds.c:1622 commands/tablecmds.c:1842
-#: commands/tablecmds.c:4757
+#: commands/tablecmds.c:1628 commands/tablecmds.c:1850
+#: commands/tablecmds.c:4766
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "\"%s\" и \"%s\""
 
-#: commands/tablecmds.c:1632
+#: commands/tablecmds.c:1638
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "конфликт параметров хранения в наследованном столбце \"%s\""
 
-#: commands/tablecmds.c:1745 parser/parse_utilcmd.c:894
-#: parser/parse_utilcmd.c:1238 parser/parse_utilcmd.c:1314
+#: commands/tablecmds.c:1751 parser/parse_utilcmd.c:938
+#: parser/parse_utilcmd.c:1287 parser/parse_utilcmd.c:1363
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "преобразовать ссылку на тип всей строки таблицы нельзя"
 
-#: commands/tablecmds.c:1746 parser/parse_utilcmd.c:895
+#: commands/tablecmds.c:1752 parser/parse_utilcmd.c:939
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Ограничение \"%s\" ссылается на тип всей строки в таблице \"%s\"."
 
-#: commands/tablecmds.c:1818
+#: commands/tablecmds.c:1824
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "слияние столбца \"%s\" с наследованным определением"
 
-#: commands/tablecmds.c:1822
+#: commands/tablecmds.c:1828
 #, c-format
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением"
 
-#: commands/tablecmds.c:1823
+#: commands/tablecmds.c:1829
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr ""
 "Определённый пользователем столбец перемещён в позицию наследуемого столбца."
 
-#: commands/tablecmds.c:1830
+#: commands/tablecmds.c:1836
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "конфликт типов в столбце \"%s\""
 
-#: commands/tablecmds.c:1840
+#: commands/tablecmds.c:1848
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "конфликт правил сортировки в столбце \"%s\""
 
-#: commands/tablecmds.c:1852
+#: commands/tablecmds.c:1860
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "конфликт параметров хранения в столбце \"%s\""
 
-#: commands/tablecmds.c:1904
+#: commands/tablecmds.c:1912
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "столбец \"%s\" наследует конфликтующие значения по умолчанию"
 
-#: commands/tablecmds.c:1906
+#: commands/tablecmds.c:1914
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Для решения конфликта укажите желаемое значение по умолчанию."
 
-#: commands/tablecmds.c:1953
+#: commands/tablecmds.c:1961
 #, c-format
 msgid ""
 "check constraint name \"%s\" appears multiple times but with different "
@@ -8118,12 +8676,12 @@ msgstr ""
 "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными "
 "выражениями"
 
-#: commands/tablecmds.c:2147
+#: commands/tablecmds.c:2155
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "переименовать столбец типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:2164
+#: commands/tablecmds.c:2172
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, index, or "
@@ -8132,37 +8690,37 @@ msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление, "
 "составной тип, индекс или сторонняя таблица"
 
-#: commands/tablecmds.c:2258
+#: commands/tablecmds.c:2266
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследованный столбец \"%s\" должен быть также переименован в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:2290
+#: commands/tablecmds.c:2298
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "нельзя переименовать системный столбец \"%s\""
 
-#: commands/tablecmds.c:2305
+#: commands/tablecmds.c:2313
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "нельзя переименовать наследованный столбец \"%s\""
 
-#: commands/tablecmds.c:2460
+#: commands/tablecmds.c:2468
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr ""
 "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних "
 "таблицах"
 
-#: commands/tablecmds.c:2467
+#: commands/tablecmds.c:2475
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "нельзя переименовать наследованное ограничение \"%s\""
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2693
+#: commands/tablecmds.c:2701
 #, c-format
 msgid ""
 "cannot %s \"%s\" because it is being used by active queries in this session"
@@ -8171,107 +8729,107 @@ msgstr ""
 "запросами в данном сеансе"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2702
+#: commands/tablecmds.c:2710
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr ""
 "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные "
 "события триггеров"
 
-#: commands/tablecmds.c:3776
+#: commands/tablecmds.c:3784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "перезаписать системное отношение \"%s\" нельзя"
 
-#: commands/tablecmds.c:3782
+#: commands/tablecmds.c:3790
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя"
 
-#: commands/tablecmds.c:3792
+#: commands/tablecmds.c:3800
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "перезаписывать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:4060
+#: commands/tablecmds.c:4068
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "перезапись таблицы \"%s\""
 
-#: commands/tablecmds.c:4064
+#: commands/tablecmds.c:4072
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "проверка таблицы \"%s\""
 
-#: commands/tablecmds.c:4178
+#: commands/tablecmds.c:4186
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "столбец \"%s\" содержит значения NULL"
 
-#: commands/tablecmds.c:4193 commands/tablecmds.c:7336
+#: commands/tablecmds.c:4201 commands/tablecmds.c:7366
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "ограничение-проверку \"%s\" нарушает некоторая строка"
 
-#: commands/tablecmds.c:4341 commands/trigger.c:234
-#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:900
+#: commands/tablecmds.c:4349 commands/trigger.c:235 rewrite/rewriteDefine.c:267
+#: rewrite/rewriteDefine.c:912
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "\"%s\" - это не таблица и не представление"
 
-#: commands/tablecmds.c:4344 commands/trigger.c:1120 commands/trigger.c:1225
+#: commands/tablecmds.c:4352 commands/trigger.c:1119 commands/trigger.c:1224
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "\"%s\" - это не таблица, представление и не сторонняя таблица"
 
-#: commands/tablecmds.c:4347
+#: commands/tablecmds.c:4355
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление или "
 "индекс"
 
-#: commands/tablecmds.c:4353
+#: commands/tablecmds.c:4361
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "\"%s\" - это не таблица, материализованное представление или индекс"
 
-#: commands/tablecmds.c:4356
+#: commands/tablecmds.c:4364
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr ""
 "\"%s\" - это не таблица, материализованное представление или сторонняя "
 "таблица"
 
-#: commands/tablecmds.c:4359
+#: commands/tablecmds.c:4367
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "\"%s\" - это не таблица и не сторонняя таблица"
 
-#: commands/tablecmds.c:4362
+#: commands/tablecmds.c:4370
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "\"%s\" - это не таблица, составной тип или сторонняя таблица"
 
-#: commands/tablecmds.c:4365 commands/tablecmds.c:5395
+#: commands/tablecmds.c:4373 commands/tablecmds.c:5425
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr ""
 "\"%s\" - это не таблица, материализованное представление, индекс или "
 "сторонняя таблица"
 
-#: commands/tablecmds.c:4375
+#: commands/tablecmds.c:4383
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "неправильный тип \"%s\""
 
-#: commands/tablecmds.c:4527 commands/tablecmds.c:4534
+#: commands/tablecmds.c:4535 commands/tablecmds.c:4542
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr ""
 "изменить тип \"%s\" нельзя, так как он задействован в столбце \"%s.%s\""
 
-#: commands/tablecmds.c:4541
+#: commands/tablecmds.c:4549
 #, c-format
 msgid ""
 "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
@@ -8279,143 +8837,148 @@ msgstr ""
 "изменить стороннюю таблицу \"%s\" нельзя, так как столбец \"%s.%s\" "
 "задействует тип её строки"
 
-#: commands/tablecmds.c:4548
+#: commands/tablecmds.c:4556
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr ""
 "изменить таблицу \"%s\" нельзя, так как столбец \"%s.%s\" задействует тип её "
 "строки"
 
-#: commands/tablecmds.c:4610
+#: commands/tablecmds.c:4618
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "изменить тип \"%s\", так как это тип типизированной таблицы"
 
-#: commands/tablecmds.c:4612
+#: commands/tablecmds.c:4620
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr ""
 "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE."
 
-#: commands/tablecmds.c:4656
+#: commands/tablecmds.c:4664
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "тип %s не является составным"
 
-#: commands/tablecmds.c:4682
+#: commands/tablecmds.c:4690
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "добавить столбец в типизированную таблицу нельзя"
 
-#: commands/tablecmds.c:4749 commands/tablecmds.c:10224
+#: commands/tablecmds.c:4758 commands/tablecmds.c:10254
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "дочерняя таблица \"%s\" имеет другой тип для столбца \"%s\""
 
-#: commands/tablecmds.c:4755 commands/tablecmds.c:10231
+#: commands/tablecmds.c:4764 commands/tablecmds.c:10261
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" имеет другое правило сортировки для столбца \"%s\""
 
-#: commands/tablecmds.c:4765
+#: commands/tablecmds.c:4774
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "дочерняя таблица \"%s\" содержит конфликтующий столбец \"%s\""
 
-#: commands/tablecmds.c:4777
+#: commands/tablecmds.c:4786
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "объединение определений столбца \"%s\" для потомка \"%s\""
 
-#: commands/tablecmds.c:4998
+#: commands/tablecmds.c:5013
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "столбец также должен быть добавлен к дочерним таблицам"
 
-#: commands/tablecmds.c:5068
+#: commands/tablecmds.c:5088
+#, c-format
+msgid "column \"%s\" of relation \"%s\" already exists, skipping"
+msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается"
+
+#: commands/tablecmds.c:5095
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "столбец \"%s\" отношения \"%s\" уже существует"
 
-#: commands/tablecmds.c:5176 commands/tablecmds.c:5282
-#: commands/tablecmds.c:5340 commands/tablecmds.c:5454
-#: commands/tablecmds.c:5511 commands/tablecmds.c:5605
-#: commands/tablecmds.c:7854 commands/tablecmds.c:8479
+#: commands/tablecmds.c:5206 commands/tablecmds.c:5312
+#: commands/tablecmds.c:5370 commands/tablecmds.c:5484
+#: commands/tablecmds.c:5541 commands/tablecmds.c:5635
+#: commands/tablecmds.c:7884 commands/tablecmds.c:8509
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "системный столбец \"%s\" нельзя изменить"
 
-#: commands/tablecmds.c:5212
+#: commands/tablecmds.c:5242
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "столбец \"%s\" входит в первичный ключ"
 
-#: commands/tablecmds.c:5427
+#: commands/tablecmds.c:5457
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "целевое ограничение статистики слишком мало (%d)"
 
-#: commands/tablecmds.c:5435
+#: commands/tablecmds.c:5465
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "целевое ограничение статистики снижается до %d"
 
-#: commands/tablecmds.c:5585
+#: commands/tablecmds.c:5615
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "неверный тип хранилища \"%s\""
 
-#: commands/tablecmds.c:5617
+#: commands/tablecmds.c:5647
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "тип данных столбца %s совместим только с хранилищем PLAIN"
 
-#: commands/tablecmds.c:5655
+#: commands/tablecmds.c:5685
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "нельзя удалить столбец в типизированной таблице"
 
-#: commands/tablecmds.c:5699
+#: commands/tablecmds.c:5729
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "столбец \"%s\" в таблице\"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:5712
+#: commands/tablecmds.c:5742
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "нельзя удалить системный столбец \"%s\""
 
-#: commands/tablecmds.c:5719
+#: commands/tablecmds.c:5749
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "нельзя удалить наследованный столбец \"%s\""
 
-#: commands/tablecmds.c:5959
+#: commands/tablecmds.c:5989
 #, 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:6172
+#: commands/tablecmds.c:6202
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "ограничение также должно быть добавлено к дочерним таблицам"
 
-#: commands/tablecmds.c:6243
+#: commands/tablecmds.c:6273
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "указанный объект \"%s\" не является таблицей"
 
-#: commands/tablecmds.c:6266
+#: commands/tablecmds.c:6296
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr ""
 "ограничения в постоянных таблицах могут ссылаться только на постоянные "
 "таблицы"
 
-#: commands/tablecmds.c:6273
+#: commands/tablecmds.c:6303
 #, c-format
 msgid ""
 "constraints on unlogged tables may reference only permanent or unlogged "
@@ -8424,13 +8987,13 @@ msgstr ""
 "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные "
 "или нежурналируемые таблицы"
 
-#: commands/tablecmds.c:6279
+#: commands/tablecmds.c:6309
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr ""
 "ограничения во временных таблицах могут ссылаться только на временные таблицы"
 
-#: commands/tablecmds.c:6283
+#: commands/tablecmds.c:6313
 #, c-format
 msgid ""
 "constraints on temporary tables must involve temporary tables of this session"
@@ -8438,33 +9001,33 @@ msgstr ""
 "ограничения во временных таблицах должны ссылаться только на временные "
 "таблицы текущего сеанса"
 
-#: commands/tablecmds.c:6344
+#: commands/tablecmds.c:6374
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "число столбцов в источнике и назначении внешнего ключа не совпадает"
 
-#: commands/tablecmds.c:6451
+#: commands/tablecmds.c:6481
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать"
 
-#: commands/tablecmds.c:6454
+#: commands/tablecmds.c:6484
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Столбцы ключа \"%s\" и \"%s\" имеют несовместимые типы: %s и %s."
 
-#: commands/tablecmds.c:6661 commands/tablecmds.c:6811
-#: commands/tablecmds.c:7693 commands/tablecmds.c:7749
+#: commands/tablecmds.c:6691 commands/tablecmds.c:6841
+#: commands/tablecmds.c:7723 commands/tablecmds.c:7779
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует"
 
-#: commands/tablecmds.c:6667
+#: commands/tablecmds.c:6697
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом"
 
-#: commands/tablecmds.c:6818
+#: commands/tablecmds.c:6848
 #, c-format
 msgid ""
 "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
@@ -8472,46 +9035,46 @@ msgstr ""
 "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или "
 "ограничением-проверкой"
 
-#: commands/tablecmds.c:6886
+#: commands/tablecmds.c:6916
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "ограничение также должно соблюдаться в дочерних таблицах"
 
-#: commands/tablecmds.c:6955
+#: commands/tablecmds.c:6985
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "столбец \"%s\", указанный в ограничении внешнего ключа, не существует"
 
-#: commands/tablecmds.c:6960
+#: commands/tablecmds.c:6990
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "во внешнем ключе не может быть больше %d столбцов"
 
-#: commands/tablecmds.c:7025
+#: commands/tablecmds.c:7055
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr ""
 "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" "
 "нельзя"
 
-#: commands/tablecmds.c:7042
+#: commands/tablecmds.c:7072
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "в целевой внешней таблице \"%s\" нет первичного ключа"
 
-#: commands/tablecmds.c:7107
+#: commands/tablecmds.c:7137
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "в списке столбцов внешнего ключа не должно быть повторений"
 
-#: commands/tablecmds.c:7201
+#: commands/tablecmds.c:7231
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr ""
 "использовать откладываемое ограничение уникальности в целевой внешней "
 "таблице \"%s\" нельзя"
 
-#: commands/tablecmds.c:7206
+#: commands/tablecmds.c:7236
 #, c-format
 msgid ""
 "there is no unique constraint matching given keys for referenced table \"%s\""
@@ -8519,32 +9082,32 @@ msgstr ""
 "в целевой внешней таблице \"%s\" нет ограничения уникальности, "
 "соответствующего данным ключам"
 
-#: commands/tablecmds.c:7369
+#: commands/tablecmds.c:7399
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "проверка ограничения внешнего ключа \"%s\""
 
-#: commands/tablecmds.c:7665
+#: commands/tablecmds.c:7695
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя"
 
-#: commands/tablecmds.c:7699
+#: commands/tablecmds.c:7729
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается"
 
-#: commands/tablecmds.c:7838
+#: commands/tablecmds.c:7868
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "изменить тип столбца в типизированной таблице нельзя"
 
-#: commands/tablecmds.c:7861
+#: commands/tablecmds.c:7891
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "изменить наследованный столбец \"%s\" нельзя"
 
-#: commands/tablecmds.c:7910
+#: commands/tablecmds.c:7940
 #, c-format
 msgid ""
 "result of USING clause for column \"%s\" cannot be cast automatically to "
@@ -8552,193 +9115,193 @@ msgid ""
 msgstr ""
 "результат USING для столбца \"%s\" нельзя автоматически привести к типу %s"
 
-#: commands/tablecmds.c:7913
+#: commands/tablecmds.c:7943
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Возможно, необходимо добавить явное приведение."
 
-#: commands/tablecmds.c:7917
+#: commands/tablecmds.c:7947
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "столбец \"%s\" нельзя автоматически привести к типу %s"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:7920
+#: commands/tablecmds.c:7950
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Возможно, необходимо указать \"USING %s::%s\"."
 
-#: commands/tablecmds.c:7973
+#: commands/tablecmds.c:8003
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr ""
 "тип наследованного столбца \"%s\" должен быть изменён и в дочерних таблицах"
 
-#: commands/tablecmds.c:8060
+#: commands/tablecmds.c:8090
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "нельзя изменить тип столбца \"%s\" дважды"
 
-#: commands/tablecmds.c:8096
+#: commands/tablecmds.c:8126
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr ""
 "значение по умолчанию для столбца \"%s\" нельзя автоматически привести к "
 "типу %s"
 
-#: commands/tablecmds.c:8222
+#: commands/tablecmds.c:8252
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr ""
 "изменить тип столбца, задействованного в представлении или правиле, нельзя"
 
-#: commands/tablecmds.c:8223 commands/tablecmds.c:8242
-#: commands/tablecmds.c:8260
+#: commands/tablecmds.c:8253 commands/tablecmds.c:8272
+#: commands/tablecmds.c:8290
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s зависит от столбца \"%s\""
 
-#: commands/tablecmds.c:8241
+#: commands/tablecmds.c:8271
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "изменить тип столбца, задействованного в определении триггера, нельзя"
 
-#: commands/tablecmds.c:8259
+#: commands/tablecmds.c:8289
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "изменить тип столбца, задействованного в определении политики, нельзя"
 
-#: commands/tablecmds.c:8924
+#: commands/tablecmds.c:8954
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "сменить владельца индекса \"%s\" нельзя"
 
-#: commands/tablecmds.c:8926
+#: commands/tablecmds.c:8956
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс."
 
-#: commands/tablecmds.c:8942
+#: commands/tablecmds.c:8972
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "сменить владельца последовательности \"%s\" нельзя"
 
-#: commands/tablecmds.c:8944 commands/tablecmds.c:11355
+#: commands/tablecmds.c:8974 commands/tablecmds.c:11396
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Последовательность \"%s\" связана с таблицей \"%s\"."
 
-#: commands/tablecmds.c:8956 commands/tablecmds.c:11996
+#: commands/tablecmds.c:8986 commands/tablecmds.c:12043
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Используйте ALTER TYPE."
 
-#: commands/tablecmds.c:8965
+#: commands/tablecmds.c:8995
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr ""
 "\"%s\" - это не таблица, TOAST-таблица, индекс, представление или "
 "последовательность"
 
-#: commands/tablecmds.c:9308
+#: commands/tablecmds.c:9338
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "в одной инструкции не может быть несколько подкоманд SET TABLESPACE"
 
-#: commands/tablecmds.c:9381
+#: commands/tablecmds.c:9411
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr ""
 "\"%s\" - это не таблица, представление, материализованное представление, "
 "индекс или TOAST-таблица"
 
-#: commands/tablecmds.c:9414 commands/view.c:481
+#: commands/tablecmds.c:9444 commands/view.c:481
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr ""
 "WITH CHECK OPTION поддерживается только с автообновляемыми представлениями"
 
-#: commands/tablecmds.c:9560
+#: commands/tablecmds.c:9590
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "переместить системную таблицу \"%s\" нельзя"
 
-#: commands/tablecmds.c:9576
+#: commands/tablecmds.c:9606
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "перемещать временные таблицы других сеансов нельзя"
 
-#: commands/tablecmds.c:9713
+#: commands/tablecmds.c:9743
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr ""
 "в табличных пространствах есть только таблицы, индексы и материализованные "
 "представления"
 
-#: commands/tablecmds.c:9725
+#: commands/tablecmds.c:9755
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "перемещать объекты в/из табличного пространства pg_global нельзя"
 
-#: commands/tablecmds.c:9816
+#: commands/tablecmds.c:9846
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr ""
 "обработка прерывается из-за невозможности заблокировать отношение \"%s.%s\""
 
-#: commands/tablecmds.c:9832
+#: commands/tablecmds.c:9862
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения"
 
-#: commands/tablecmds.c:9906 storage/buffer/bufmgr.c:801
+#: commands/tablecmds.c:9936 storage/buffer/bufmgr.c:915
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "неверная страница в блоке %u отношения %s"
 
-#: commands/tablecmds.c:9988
+#: commands/tablecmds.c:10018
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "изменить наследование типизированной таблицы нельзя"
 
-#: commands/tablecmds.c:10038
+#: commands/tablecmds.c:10068
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "наследование для временного отношения другого сеанса невозможно"
 
-#: commands/tablecmds.c:10092
+#: commands/tablecmds.c:10122
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "циклическое наследование недопустимо"
 
-#: commands/tablecmds.c:10093
+#: commands/tablecmds.c:10123
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "\"%s\" уже является потомком \"%s\"."
 
-#: commands/tablecmds.c:10101
+#: commands/tablecmds.c:10131
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "таблица \"%s\" без OID не может наследоваться от таблицы \"%s\" с OID"
 
-#: commands/tablecmds.c:10242
+#: commands/tablecmds.c:10272
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "столбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL"
 
-#: commands/tablecmds.c:10258
+#: commands/tablecmds.c:10288
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "в дочерней таблице не хватает столбца \"%s\""
 
-#: commands/tablecmds.c:10341
+#: commands/tablecmds.c:10371
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr ""
 "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки \"%s"
 "\""
 
-#: commands/tablecmds.c:10349
+#: commands/tablecmds.c:10379
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s"
@@ -8747,76 +9310,85 @@ msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы "
 "\"%s\""
 
-#: commands/tablecmds.c:10373
+#: commands/tablecmds.c:10403
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "в дочерней таблице не хватает ограничения \"%s\""
 
-#: commands/tablecmds.c:10457
+#: commands/tablecmds.c:10487
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "отношение \"%s\" не является предком отношения \"%s\""
 
-#: commands/tablecmds.c:10691
+#: commands/tablecmds.c:10721
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "типизированные таблицы не могут наследоваться"
 
-#: commands/tablecmds.c:10722
+#: commands/tablecmds.c:10752
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "в таблице не хватает столбца \"%s\""
 
-#: commands/tablecmds.c:10732
+#: commands/tablecmds.c:10762
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "таблица содержит столбец \"%s\", тогда как тип требует \"%s\""
 
-#: commands/tablecmds.c:10741
+#: commands/tablecmds.c:10771
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "таблица \"%s\" содержит столбец \"%s\" другого типа"
 
-#: commands/tablecmds.c:10754
+#: commands/tablecmds.c:10784
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "таблица содержит лишний столбец \"%s\""
 
-#: commands/tablecmds.c:10806
+#: commands/tablecmds.c:10836
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "\"%s\" - это не типизированная таблица"
 
-#: commands/tablecmds.c:10989
+#: commands/tablecmds.c:11020
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать неуникальный индекс \"%s\""
 
-#: commands/tablecmds.c:10995
+#: commands/tablecmds.c:11026
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать не непосредственный индекс \"%s"
 "\""
 
-#: commands/tablecmds.c:11001
+#: commands/tablecmds.c:11032
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr ""
 "для идентификации реплики нельзя использовать индекс с выражением \"%s\""
 
-#: commands/tablecmds.c:11007
+#: commands/tablecmds.c:11038
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\""
 
-#: commands/tablecmds.c:11013
+#: commands/tablecmds.c:11044
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "для идентификации реплики нельзя использовать нерабочий индекс \"%s\""
 
-#: commands/tablecmds.c:11031
+#: commands/tablecmds.c:11065
+#, c-format
+msgid ""
+"index \"%s\" cannot be used as replica identity because column %d is a "
+"system column"
+msgstr ""
+"индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец "
+"%d - системный"
+
+#: commands/tablecmds.c:11072
 #, c-format
 msgid ""
 "index \"%s\" cannot be used as replica identity because column \"%s\" is "
@@ -8825,13 +9397,13 @@ msgstr ""
 "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец "
 "\"%s\" допускает NULL"
 
-#: commands/tablecmds.c:11228
+#: commands/tablecmds.c:11269
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr ""
 "изменить состояние журналирования таблицы %s нельзя, так как она временная"
 
-#: commands/tablecmds.c:11287
+#: commands/tablecmds.c:11328
 #, c-format
 msgid ""
 "could not change table \"%s\" to logged because it references unlogged table "
@@ -8840,7 +9412,7 @@ msgstr ""
 "не удалось сделать таблицу \"%s\" журналируемой, так как она ссылается на "
 "нежурналируемую таблицу \"%s\""
 
-#: commands/tablecmds.c:11297
+#: commands/tablecmds.c:11338
 #, c-format
 msgid ""
 "could not change table \"%s\" to unlogged because it references logged table "
@@ -8849,22 +9421,22 @@ msgstr ""
 "не удалось сделать таблицу \"%s\" нежурналируемой, так как она ссылается на "
 "журналируемую таблицу \"%s\""
 
-#: commands/tablecmds.c:11354
+#: commands/tablecmds.c:11395
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "переместить последовательность с владельцем в другую схему нельзя"
 
-#: commands/tablecmds.c:11455
+#: commands/tablecmds.c:11500
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "отношение \"%s\" уже существует в схеме \"%s\""
 
-#: commands/tablecmds.c:11980
+#: commands/tablecmds.c:12027
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "\"%s\" - это не составной тип"
 
-#: commands/tablecmds.c:12010
+#: commands/tablecmds.c:12057
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
@@ -8874,7 +9446,7 @@ msgstr ""
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:625 replication/slot.c:914 storage/file/copydir.c:47
+#: commands/tablespace.c:625 replication/slot.c:970 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "не удалось создать каталог \"%s\": %m"
@@ -8919,24 +9491,24 @@ msgstr "путь к табличному пространству \"%s\" сли
 msgid "tablespace location should not be inside the data directory"
 msgstr "табличное пространство не должно располагаться внутри каталога данных"
 
-#: commands/tablespace.c:304 commands/tablespace.c:938
+#: commands/tablespace.c:304 commands/tablespace.c:952
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "неприемлемое имя табличного пространства: \"%s\""
 
-#: commands/tablespace.c:306 commands/tablespace.c:939
+#: commands/tablespace.c:306 commands/tablespace.c:953
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Префикс \"pg_\" зарезервирован для системных табличных пространств."
 
-#: commands/tablespace.c:316 commands/tablespace.c:951
+#: commands/tablespace.c:316 commands/tablespace.c:965
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "табличное пространство \"%s\" уже существует"
 
-#: commands/tablespace.c:430 commands/tablespace.c:921
-#: commands/tablespace.c:1002 commands/tablespace.c:1071
-#: commands/tablespace.c:1204 commands/tablespace.c:1404
+#: commands/tablespace.c:430 commands/tablespace.c:935
+#: commands/tablespace.c:1016 commands/tablespace.c:1085
+#: commands/tablespace.c:1218 commands/tablespace.c:1418
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "табличное пространство \"%s\" не существует"
@@ -8973,184 +9545,179 @@ msgid "directory \"%s\" already in use as a tablespace"
 msgstr "каталог \"%s\" уже используется как табличное пространство"
 
 #: commands/tablespace.c:744 commands/tablespace.c:757
-#: commands/tablespace.c:781 commands/tablespace.c:872
+#: commands/tablespace.c:793 commands/tablespace.c:885
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "ошибка при удалении каталога \"%s\": %m"
 
-#: commands/tablespace.c:793 commands/tablespace.c:881
+#: commands/tablespace.c:806 commands/tablespace.c:894
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "ошибка при удалении символической ссылки \"%s\": %m"
 
-#: commands/tablespace.c:803 commands/tablespace.c:889
+#: commands/tablespace.c:816 commands/tablespace.c:903
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "\"%s\" - это не каталог или символическая ссылка"
 
-#: commands/tablespace.c:1076
+#: commands/tablespace.c:1090
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Табличное пространство \"%s\" не существует."
 
-#: commands/tablespace.c:1503
+#: commands/tablespace.c:1517
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "удалить каталоги табличного пространства %u не удалось"
 
-#: commands/tablespace.c:1505
+#: commands/tablespace.c:1519
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "При необходимости вы можете удалить их вручную."
 
-#: commands/trigger.c:183
+#: commands/trigger.c:184
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "\"%s\" - это таблица"
 
-#: commands/trigger.c:185
+#: commands/trigger.c:186
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "У таблиц не может быть триггеров INSTEAD OF."
 
-#: commands/trigger.c:196 commands/trigger.c:203
+#: commands/trigger.c:197 commands/trigger.c:204
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "\"%s\" - это представление"
 
-#: commands/trigger.c:198
+#: commands/trigger.c:199
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "У представлений не может быть строковых триггеров BEFORE/AFTER."
 
-#: commands/trigger.c:205
+#: commands/trigger.c:206
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "У представлений не может быть триггеров TRUNCATE."
 
-#: commands/trigger.c:213 commands/trigger.c:220 commands/trigger.c:227
+#: commands/trigger.c:214 commands/trigger.c:221 commands/trigger.c:228
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "\"%s\" - сторонняя таблица"
 
-#: commands/trigger.c:215
+#: commands/trigger.c:216
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "У сторонних таблиц не может быть триггеров INSTEAD OF."
 
-#: commands/trigger.c:222
+#: commands/trigger.c:223
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "У сторонних таблиц не может быть триггеров TRUNCATE."
 
-#: commands/trigger.c:229
+#: commands/trigger.c:230
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "У сторонних таблиц не может быть ограничивающих триггеров."
 
-#: commands/trigger.c:292
+#: commands/trigger.c:293
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "триггеры TRUNCATE FOR EACH ROW не поддерживаются"
 
-#: commands/trigger.c:300
+#: commands/trigger.c:301
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "триггеры INSTEAD OF должны иметь тип FOR EACH ROW"
 
-#: commands/trigger.c:304
+#: commands/trigger.c:305
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "триггеры INSTEAD OF несовместимы с условиями WHEN"
 
-#: commands/trigger.c:308
+#: commands/trigger.c:309
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "для триггеров INSTEAD OF нельзя задать список столбцов"
 
-#: commands/trigger.c:367 commands/trigger.c:380
+#: commands/trigger.c:366 commands/trigger.c:379
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr ""
 "в условии WHEN для операторного триггера нельзя ссылаться на значения "
 "столбцов"
 
-#: commands/trigger.c:372
+#: commands/trigger.c:371
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "в условии WHEN для триггера INSERT нельзя ссылаться на значения OLD"
 
-#: commands/trigger.c:385
+#: commands/trigger.c:384
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "в условии WHEN для триггера DELETE нельзя ссылаться на значения NEW"
 
-#: commands/trigger.c:390
+#: commands/trigger.c:389
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr ""
 "в условии WHEN для триггера BEFORE нельзя ссылаться на системные столбцы NEW"
 
-#: commands/trigger.c:435
+#: commands/trigger.c:434
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "изменение типа возврата функции %s с \"opaque\" на \"trigger\""
 
-#: commands/trigger.c:442
-#, c-format
-msgid "function %s must return type \"trigger\""
-msgstr "функция %s должна возвращать тип \"trigger\""
-
-#: commands/trigger.c:554 commands/trigger.c:1304
+#: commands/trigger.c:553 commands/trigger.c:1303
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "триггер \"%s\" для отношения \"%s\" уже существует"
 
-#: commands/trigger.c:839
+#: commands/trigger.c:838
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Найден триггер UPDATE в главной таблице."
 
-#: commands/trigger.c:840
+#: commands/trigger.c:839
 msgid "Found referenced table's DELETE trigger."
 msgstr "Найден триггер DELETE в главной таблице."
 
-#: commands/trigger.c:841
+#: commands/trigger.c:840
 msgid "Found referencing table's trigger."
 msgstr "Найден триггер в подчинённой таблице."
 
-#: commands/trigger.c:950 commands/trigger.c:966
+#: commands/trigger.c:949 commands/trigger.c:965
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "неполный набор триггеров для ограничения \"%s\" %s игнорируется"
 
-#: commands/trigger.c:978
+#: commands/trigger.c:977
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "преобразование набора триггеров в ограничение \"%s\" %s"
 
-#: commands/trigger.c:1191 commands/trigger.c:1352 commands/trigger.c:1470
+#: commands/trigger.c:1190 commands/trigger.c:1351 commands/trigger.c:1469
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "триггер \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/trigger.c:1435
+#: commands/trigger.c:1434
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "нет доступа: \"%s\" - это системный триггер"
 
-#: commands/trigger.c:1931
+#: commands/trigger.c:1930
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "триггерная функция %u вернула значение NULL"
 
-#: commands/trigger.c:1990 commands/trigger.c:2189 commands/trigger.c:2393
-#: commands/trigger.c:2665
+#: commands/trigger.c:1989 commands/trigger.c:2188 commands/trigger.c:2392
+#: commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "триггер BEFORE STATEMENT не может возвращать значение"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:648
-#: executor/nodeModifyTable.c:942
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:664
+#: executor/nodeModifyTable.c:957
 #, c-format
 msgid ""
 "tuple to be updated was already modified by an operation triggered by the "
@@ -9159,8 +9726,8 @@ msgstr ""
 "кортеж, который должен быть изменён, уже модифицирован в операции, вызванной "
 "текущей командой"
 
-#: commands/trigger.c:2728 executor/nodeModifyTable.c:649
-#: executor/nodeModifyTable.c:943
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:665
+#: executor/nodeModifyTable.c:958
 #, c-format
 msgid ""
 "Consider using an AFTER trigger instead of a BEFORE trigger to propagate "
@@ -9169,20 +9736,19 @@ msgstr ""
 "Возможно, для распространения изменений в другие строки следует использовать "
 "триггер AFTER вместо BEFORE."
 
-#: commands/trigger.c:2742 executor/execMain.c:2344
-#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:183
-#: executor/nodeModifyTable.c:661 executor/nodeModifyTable.c:955
-#: executor/nodeModifyTable.c:1122
+#: commands/trigger.c:2741 executor/execMain.c:2377 executor/nodeLockRows.c:216
+#: executor/nodeModifyTable.c:200 executor/nodeModifyTable.c:677
+#: executor/nodeModifyTable.c:970 executor/nodeModifyTable.c:1136
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "не удалось сериализовать доступ из-за параллельного изменения"
 
-#: commands/trigger.c:4580
+#: commands/trigger.c:4579
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "ограничение \"%s\" не является откладываемым"
 
-#: commands/trigger.c:4603
+#: commands/trigger.c:4602
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "ограничение \"%s\" не существует"
@@ -9283,47 +9849,47 @@ msgstr "сопоставление для типа фрагмента \"%s\" н
 msgid "invalid parameter list format: \"%s\""
 msgstr "неверный формат списка параметров: \"%s\""
 
-#: commands/typecmds.c:179
+#: commands/typecmds.c:181
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "для создания базового типа нужно быть суперпользователем"
 
-#: commands/typecmds.c:286 commands/typecmds.c:1419
+#: commands/typecmds.c:288 commands/typecmds.c:1421
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "атрибут типа \"%s\" не распознан"
 
-#: commands/typecmds.c:340
+#: commands/typecmds.c:342
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "неверная категория типа \"%s\": допустим только ASCII-символ"
 
-#: commands/typecmds.c:359
+#: commands/typecmds.c:361
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "типом элемента массива не может быть %s"
 
-#: commands/typecmds.c:391
+#: commands/typecmds.c:393
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "тип выравнивания \"%s\" не распознан"
 
-#: commands/typecmds.c:408
+#: commands/typecmds.c:410
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "неизвестная стратегия хранения \"%s\""
 
-#: commands/typecmds.c:419
+#: commands/typecmds.c:421
 #, c-format
 msgid "type input function must be specified"
 msgstr "необходимо указать функцию ввода типа"
 
-#: commands/typecmds.c:423
+#: commands/typecmds.c:425
 #, c-format
 msgid "type output function must be specified"
 msgstr "необходимо указать функцию вывода типа"
 
-#: commands/typecmds.c:428
+#: commands/typecmds.c:430
 #, c-format
 msgid ""
 "type modifier output function is useless without a type modifier input "
@@ -9332,161 +9898,156 @@ msgstr ""
 "функция вывода модификатора типа бесполезна без функции ввода модификатора "
 "типа"
 
-#: commands/typecmds.c:451
+#: commands/typecmds.c:453 commands/typecmds.c:470
 #, c-format
-msgid "changing return type of function %s from \"opaque\" to %s"
-msgstr "изменение типа возврата функции %s с \"opaque\" на %s"
+msgid "changing return type of function %s from %s to %s"
+msgstr "изменение типа возврата функции %s с %s на %s"
 
-#: commands/typecmds.c:458
+#: commands/typecmds.c:460
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "функция ввода типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:468
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to \"cstring\""
-msgstr "изменение типа возврата функции %s с \"opaque\" на \"cstring\""
-
-#: commands/typecmds.c:475
+#: commands/typecmds.c:477
 #, c-format
-msgid "type output function %s must return type \"cstring\""
-msgstr "функция вывода типа %s должна возвращать тип \"cstring\""
+msgid "type output function %s must return type %s"
+msgstr "функция вывода типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:484
+#: commands/typecmds.c:486
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "функция получения типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:493
+#: commands/typecmds.c:495
 #, c-format
-msgid "type send function %s must return type \"bytea\""
-msgstr "функция отправки типа %s должна возвращать тип \"bytea\""
+msgid "type send function %s must return type %s"
+msgstr "функция отправки типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:558
+#: commands/typecmds.c:560
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "функция ввода типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:563
+#: commands/typecmds.c:565
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "функция вывода типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:568
+#: commands/typecmds.c:570
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "функция получения типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:573
+#: commands/typecmds.c:575
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "функция отправки типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:578
+#: commands/typecmds.c:580
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "функция ввода модификатора типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:583
+#: commands/typecmds.c:585
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "функция вывода модификатора типа %s не должна быть изменчивой"
 
-#: commands/typecmds.c:805
+#: commands/typecmds.c:807
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "\"%s\" - неподходящий базовый тип для домена"
 
-#: commands/typecmds.c:891
+#: commands/typecmds.c:893
 #, c-format
 msgid "multiple default expressions"
 msgstr "неоднократное определение значения типа по умолчанию"
 
-#: commands/typecmds.c:953 commands/typecmds.c:962
+#: commands/typecmds.c:955 commands/typecmds.c:964
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "конфликтующие ограничения NULL/NOT NULL"
 
-#: commands/typecmds.c:978
+#: commands/typecmds.c:980
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr ""
 "ограничения-проверки для доменов не могут иметь характеристики NO INHERIT"
 
-#: commands/typecmds.c:987 commands/typecmds.c:2518
+#: commands/typecmds.c:989 commands/typecmds.c:2522
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "ограничения уникальности невозможны для доменов"
 
-#: commands/typecmds.c:993 commands/typecmds.c:2524
+#: commands/typecmds.c:995 commands/typecmds.c:2528
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "ограничения первичного ключа невозможны для доменов"
 
-#: commands/typecmds.c:999 commands/typecmds.c:2530
+#: commands/typecmds.c:1001 commands/typecmds.c:2534
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "ограничения-исключения невозможны для доменов"
 
-#: commands/typecmds.c:1005 commands/typecmds.c:2536
+#: commands/typecmds.c:1007 commands/typecmds.c:2540
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "ограничения внешних ключей невозможны для доменов"
 
-#: commands/typecmds.c:1014 commands/typecmds.c:2545
+#: commands/typecmds.c:1016 commands/typecmds.c:2549
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr ""
 "возможность определения отложенных ограничений для доменов не поддерживается"
 
-#: commands/typecmds.c:1289 utils/cache/typcache.c:1633
+#: commands/typecmds.c:1291 utils/cache/typcache.c:1634
 #, c-format
 msgid "%s is not an enum"
 msgstr "\"%s\" не является перечислением"
 
-#: commands/typecmds.c:1427
+#: commands/typecmds.c:1429
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "требуется атрибут типа \"subtype\""
 
-#: commands/typecmds.c:1432
+#: commands/typecmds.c:1434
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "%s не может быть подтипом диапазона"
 
-#: commands/typecmds.c:1451
+#: commands/typecmds.c:1453
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr ""
 "указано правило сортировки для диапазона, но подтип не поддерживает "
 "сортировку"
 
-#: commands/typecmds.c:1684
+#: commands/typecmds.c:1687
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "изменение типа аргумента функции %s с \"opaque\" на \"cstring\""
 
-#: commands/typecmds.c:1735
+#: commands/typecmds.c:1738
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "изменение типа аргумента функции %s с \"opaque\" на %s"
 
-#: commands/typecmds.c:1834
+#: commands/typecmds.c:1837
 #, c-format
-msgid "typmod_in function %s must return type \"integer\""
-msgstr "функция TYPMOD_IN %s должна возвращать тип \"integer\""
+msgid "typmod_in function %s must return type %s"
+msgstr "функция TYPMOD_IN %s должна возвращать тип %s"
 
-#: commands/typecmds.c:1861
+#: commands/typecmds.c:1864
 #, c-format
-msgid "typmod_out function %s must return type \"cstring\""
-msgstr "функция TYPMOD_OUT %s должна возвращать тип \"cstring\""
+msgid "typmod_out function %s must return type %s"
+msgstr "функция TYPMOD_OUT %s должна возвращать тип %s"
 
-#: commands/typecmds.c:1888
+#: commands/typecmds.c:1891
 #, c-format
-msgid "type analyze function %s must return type \"boolean\""
-msgstr "функция анализа типа %s должна возвращать тип \"boolean\""
+msgid "type analyze function %s must return type %s"
+msgstr "функция анализа типа %s должна возвращать тип %s"
 
-#: commands/typecmds.c:1934
+#: commands/typecmds.c:1937
 #, c-format
 msgid ""
 "You must specify an operator class for the range type or define a default "
@@ -9495,266 +10056,275 @@ msgstr ""
 "Вы должны указать класс операторов для типа диапазона или определить класс "
 "операторов по умолчанию для этого подтипа."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1968
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr ""
 "функция получения канонического диапазона %s должна возвращать диапазон"
 
-#: commands/typecmds.c:1971
+#: commands/typecmds.c:1974
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr ""
 "функция получения канонического диапазона %s должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:2007
+#: commands/typecmds.c:2010
 #, c-format
-msgid "range subtype diff function %s must return type double precision"
-msgstr ""
-"функция различий для подтипа диапазона (%s) должна возвращать тип double "
-"precision"
+msgid "range subtype diff function %s must return type %s"
+msgstr "функция различий для подтипа диапазона (%s) должна возвращать тип %s"
 
-#: commands/typecmds.c:2013
+#: commands/typecmds.c:2017
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr ""
 "функция различий для подтипа диапазона (%s) должна быть постоянной "
 "(IMMUTABLE)"
 
-#: commands/typecmds.c:2040
+#: commands/typecmds.c:2044
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "значение OID массива в pg_type не задано в режиме двоичного обновления"
 
-#: commands/typecmds.c:2344
+#: commands/typecmds.c:2348
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL"
 
-#: commands/typecmds.c:2459 commands/typecmds.c:2642
+#: commands/typecmds.c:2463 commands/typecmds.c:2646
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует"
 
-#: commands/typecmds.c:2463
+#: commands/typecmds.c:2467
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует, пропускается"
 
-#: commands/typecmds.c:2648
+#: commands/typecmds.c:2652
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr ""
 "ограничение \"%s\" для домена \"%s\" не является ограничением-проверкой"
 
-#: commands/typecmds.c:2754
+#: commands/typecmds.c:2758
 #, c-format
 msgid ""
 "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr ""
 "столбец \"%s\" таблицы \"%s\" содержит значения, нарушающие новое ограничение"
 
-#: commands/typecmds.c:2967 commands/typecmds.c:3224 commands/typecmds.c:3413
+#: commands/typecmds.c:2971 commands/typecmds.c:3228 commands/typecmds.c:3417
 #, c-format
 msgid "%s is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: commands/typecmds.c:3001
+#: commands/typecmds.c:3005
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "ограничение \"%s\" для домена \"%s\" уже существует"
 
-#: commands/typecmds.c:3051
+#: commands/typecmds.c:3055
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "в ограничении-проверке для домена нельзя ссылаться на таблицы"
 
-#: commands/typecmds.c:3154 commands/typecmds.c:3236 commands/typecmds.c:3526
+#: commands/typecmds.c:3158 commands/typecmds.c:3240 commands/typecmds.c:3534
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s - это тип строк таблицы"
 
-#: commands/typecmds.c:3156 commands/typecmds.c:3238 commands/typecmds.c:3528
+#: commands/typecmds.c:3160 commands/typecmds.c:3242 commands/typecmds.c:3536
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Изменить его можно с помощью ALTER TABLE."
 
-#: commands/typecmds.c:3163 commands/typecmds.c:3245 commands/typecmds.c:3445
+#: commands/typecmds.c:3167 commands/typecmds.c:3249 commands/typecmds.c:3449
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "изменить тип массива \"%s\" нельзя"
 
-#: commands/typecmds.c:3165 commands/typecmds.c:3247 commands/typecmds.c:3447
+#: commands/typecmds.c:3169 commands/typecmds.c:3251 commands/typecmds.c:3451
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Однако можно изменить тип %s, что повлечёт изменение типа массива."
 
-#: commands/typecmds.c:3512
+#: commands/typecmds.c:3519
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "тип \"%s\" уже существует в схеме \"%s\""
 
-#: commands/user.c:148
+#: commands/user.c:149
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID уже не нужно указывать"
 
-#: commands/user.c:290
+#: commands/user.c:291
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "для создания суперпользователей нужно быть суперпользователем"
 
-#: commands/user.c:297
+#: commands/user.c:298
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "для создания пользователей-репликаторов нужно быть суперпользователем"
 
-#: commands/user.c:304 commands/user.c:678
+#: commands/user.c:305 commands/user.c:693
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "для изменения атрибута bypassrls нужно быть суперпользователем"
 
-#: commands/user.c:311
+#: commands/user.c:312
 #, c-format
 msgid "permission denied to create role"
 msgstr "нет прав для создания роли"
 
-#: commands/user.c:324 commands/user.c:1153
+#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13600
+#: gram.y:13635
+#, c-format
+msgid "role name \"%s\" is reserved"
+msgstr "имя роли \"%s\" зарезервировано"
+
+#: commands/user.c:324 commands/user.c:1178 commands/user.c:1185
+#, c-format
+msgid "Role names starting with \"pg_\" are reserved."
+msgstr "Имена ролей, начинающиеся с \"pg_\", зарезервированы."
+
+#: commands/user.c:336 commands/user.c:1191
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "роль \"%s\" уже существует"
 
-#: commands/user.c:402
+#: commands/user.c:414
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "значение OID в pg_authid не задано в режиме двоичного обновления"
 
-#: commands/user.c:664 commands/user.c:878 commands/user.c:1394
-#: commands/user.c:1540
+#: commands/user.c:679 commands/user.c:896 commands/user.c:1432
+#: commands/user.c:1578
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "для модификации суперпользователей нужно быть суперпользователем"
 
-#: commands/user.c:671
+#: commands/user.c:686
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr ""
 "для модификации пользователей-репликаторов нужно быть суперпользователем"
 
-#: commands/user.c:694 commands/user.c:886
+#: commands/user.c:709 commands/user.c:904
 #, c-format
 msgid "permission denied"
 msgstr "нет доступа"
 
-#: commands/user.c:916
+#: commands/user.c:934
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "для глобального изменения параметров нужно быть суперпользователем"
 
-#: commands/user.c:938
+#: commands/user.c:956
 #, c-format
 msgid "permission denied to drop role"
 msgstr "нет прав для удаления роли"
 
-#: commands/user.c:962
+#: commands/user.c:980
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "использовать специальную роль в DROP ROLE нельзя"
 
-#: commands/user.c:972 commands/user.c:1128 commands/variable.c:799
-#: commands/variable.c:871 utils/adt/acl.c:5120 utils/adt/acl.c:5172
-#: utils/adt/acl.c:5205 utils/adt/acl.c:5223 utils/init/miscinit.c:494
+#: commands/user.c:990 commands/user.c:1147 commands/variable.c:801
+#: commands/variable.c:873 utils/adt/acl.c:5121 utils/adt/acl.c:5173
+#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "роль \"%s\" не существует"
 
-#: commands/user.c:977
+#: commands/user.c:995
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "роль \"%s\" не существует, пропускается"
 
-#: commands/user.c:989 commands/user.c:993
+#: commands/user.c:1007 commands/user.c:1011
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "пользователь не может удалить сам себя"
 
-#: commands/user.c:997
+#: commands/user.c:1015
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "пользователя текущего сеанса нельзя удалить"
 
-#: commands/user.c:1008
+#: commands/user.c:1026
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "для удаления суперпользователей нужно быть суперпользователем"
 
-#: commands/user.c:1024
+#: commands/user.c:1042
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "роль \"%s\" нельзя удалить, так как есть зависящие от неё объекты"
 
-#: commands/user.c:1143
+#: commands/user.c:1163
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "пользователя текущего сеанса нельзя переименовать"
 
-#: commands/user.c:1147
+#: commands/user.c:1167
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "пользователь не может переименовать сам себя"
 
-#: commands/user.c:1163
+#: commands/user.c:1201
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "для переименования суперпользователей нужно быть суперпользователем"
 
-#: commands/user.c:1170
+#: commands/user.c:1208
 #, c-format
 msgid "permission denied to rename role"
 msgstr "нет прав на переименование роли"
 
-#: commands/user.c:1191
+#: commands/user.c:1229
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "в результате переименования роли очищен MD5-хеш пароля"
 
-#: commands/user.c:1253
+#: commands/user.c:1291
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "в GRANT/REVOKE ROLE нельзя включать названия столбцов"
 
-#: commands/user.c:1291
+#: commands/user.c:1329
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "нет прав на удаление объектов"
 
-#: commands/user.c:1318 commands/user.c:1327
+#: commands/user.c:1356 commands/user.c:1365
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "нет прав для переназначения объектов"
 
-#: commands/user.c:1402 commands/user.c:1548
+#: commands/user.c:1440 commands/user.c:1586
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "требуется право admin для роли \"%s\""
 
-#: commands/user.c:1419
+#: commands/user.c:1457
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "для назначения права управления правами нужно быть суперпользователем"
 
-#: commands/user.c:1444
+#: commands/user.c:1482
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "роль \"%s\" включена в роль \"%s\""
 
-#: commands/user.c:1459
+#: commands/user.c:1497
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "роль \"%s\" уже включена в роль \"%s\""
 
-#: commands/user.c:1570
+#: commands/user.c:1608
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "роль \"%s\" не включена в роль \"%s\""
@@ -9764,23 +10334,23 @@ msgstr "роль \"%s\" не включена в роль \"%s\""
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE"
 
-#: commands/vacuum.c:527
+#: commands/vacuum.c:528
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "самый старый xmin далеко в прошлом"
 
-#: commands/vacuum.c:528
+#: commands/vacuum.c:529
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr ""
 "Скорее закройте открытые транзакции, чтобы избежать проблемы наложения."
 
-#: commands/vacuum.c:567
+#: commands/vacuum.c:568
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "самый старый multixact далеко в прошлом"
 
-#: commands/vacuum.c:568
+#: commands/vacuum.c:569
 #, c-format
 msgid ""
 "Close open transactions with multixacts soon to avoid wraparound problems."
@@ -9788,62 +10358,65 @@ msgstr ""
 "Скорее закройте открытые транзакции в мультитранзакциях, чтобы избежать "
 "проблемы наложения."
 
-#: commands/vacuum.c:1130
+#: commands/vacuum.c:1139
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов "
 "транзакций"
 
-#: commands/vacuum.c:1131
+#: commands/vacuum.c:1140
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Возможно, вы уже потеряли данные в результате наложения ID транзакций."
 
-#: commands/vacuum.c:1252
+#: commands/vacuum.c:1261
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "очистка \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/vacuum.c:1278
+#: commands/vacuum.c:1287
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь может очистить эту таблицу"
 
-#: commands/vacuum.c:1282
+#: commands/vacuum.c:1291
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr ""
 "пропускается \"%s\" --- только суперпользователь или владелец БД может "
 "очистить эту таблицу"
 
-#: commands/vacuum.c:1286
+#: commands/vacuum.c:1295
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr ""
 "\"%s\" пропускается --- только владелец базы данных или этой таблицы может "
 "очистить её"
 
-#: commands/vacuum.c:1304
+#: commands/vacuum.c:1313
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы "
 "нельзя"
 
-#: commands/vacuumlazy.c:358
+#: commands/vacuumlazy.c:363
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr ""
 "автоматическая очистка таблицы \"%s.%s.%s\": сканирований индекса: %d\n"
 
-#: commands/vacuumlazy.c:363
+#: commands/vacuumlazy.c:368
 #, c-format
-msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
-msgstr "страниц: удалено: %u, осталось: %u, пропущено (закреплённых): %u\n"
+msgid ""
+"pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
+msgstr ""
+"страниц удалено: %u, осталось: %u, пропущено закреплённых: %u, пропущено "
+"замороженных: %u\n"
 
-#: commands/vacuumlazy.c:368
+#: commands/vacuumlazy.c:374
 #, c-format
 msgid ""
 "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
@@ -9851,45 +10424,45 @@ msgstr ""
 "версий строк: удалено: %.0f, осталось: %.0f, «мёртвых», но ещё не подлежащих "
 "удалению: %.0f\n"
 
-#: commands/vacuumlazy.c:373
+#: commands/vacuumlazy.c:379
 #, c-format
 msgid "buffer usage: %d hits, %d misses, %d dirtied\n"
 msgstr ""
 "использование буфера: попаданий: %d, промахов: %d, «грязных» записей: %d\n"
 
-#: commands/vacuumlazy.c:377
+#: commands/vacuumlazy.c:383
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr ""
 "средняя скорость чтения: %.3f МБ/с, средняя скорость записи: %.3f МБ/с\n"
 
-#: commands/vacuumlazy.c:379
+#: commands/vacuumlazy.c:385
 #, c-format
 msgid "system usage: %s"
 msgstr "нагрузка системы: %s"
 
-#: commands/vacuumlazy.c:701
+#: commands/vacuumlazy.c:837
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr ""
 "в отношении \"%s\" не инициализирована страница %u --- ситуация исправляется"
 
-#: commands/vacuumlazy.c:1113
+#: commands/vacuumlazy.c:1301
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "\"%s\": удалено версий строк: %.0f, обработано страниц: %u"
 
-#: commands/vacuumlazy.c:1123
+#: commands/vacuumlazy.c:1311
 #, c-format
 msgid "%.0f dead row versions cannot be removed yet.\n"
 msgstr "В данный момент нельзя удалить \"мёртвых\" строк: %.0f.\n"
 
-#: commands/vacuumlazy.c:1125
+#: commands/vacuumlazy.c:1313
 #, c-format
 msgid "There were %.0f unused item pointers.\n"
 msgstr "Найдено неиспользованных указателей: %.0f.\n"
 
-#: commands/vacuumlazy.c:1127
+#: commands/vacuumlazy.c:1315
 #, c-format
 msgid "Skipped %u page due to buffer pins.\n"
 msgid_plural "Skipped %u pages due to buffer pins.\n"
@@ -9897,7 +10470,7 @@ msgstr[0] "Пропущено страниц, закреплённых в буф
 msgstr[1] "Пропущено страниц, закреплённых в буфере: %u.\n"
 msgstr[2] "Пропущено страниц, закреплённых в буфере: %u.\n"
 
-#: commands/vacuumlazy.c:1131
+#: commands/vacuumlazy.c:1319
 #, c-format
 msgid "%u page is entirely empty.\n"
 msgid_plural "%u pages are entirely empty.\n"
@@ -9905,7 +10478,7 @@ msgstr[0] "Полностью пустых страниц: %u.\n"
 msgstr[1] "Полностью пустых страниц: %u.\n"
 msgstr[2] "Полностью пустых страниц: %u.\n"
 
-#: commands/vacuumlazy.c:1139
+#: commands/vacuumlazy.c:1327
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u "
@@ -9914,22 +10487,22 @@ msgstr ""
 "\"%s\": найдено удаляемых версий строк: %.0f, неудаляемых - %.0f, обработано "
 "страниц: %u, всего страниц: %u"
 
-#: commands/vacuumlazy.c:1208
+#: commands/vacuumlazy.c:1396
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "\"%s\": удалено версий строк: %d, обработано страниц: %d"
 
-#: commands/vacuumlazy.c:1375
+#: commands/vacuumlazy.c:1585
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "просканирован индекс \"%s\", удалено версий строк: %d"
 
-#: commands/vacuumlazy.c:1421
+#: commands/vacuumlazy.c:1631
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u"
 
-#: commands/vacuumlazy.c:1425
+#: commands/vacuumlazy.c:1635
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -9940,22 +10513,22 @@ msgstr ""
 "Удалено индексных страниц: %u, пригодно для повторного использования: %u.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1482
+#: commands/vacuumlazy.c:1721
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки"
 
-#: commands/vacuumlazy.c:1547
+#: commands/vacuumlazy.c:1786
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "\"%s\": усечение (было страниц: %u, стало: %u)"
 
-#: commands/vacuumlazy.c:1603
+#: commands/vacuumlazy.c:1842
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "\"%s\": приостановка усечения из-за конфликтующего запроса блокировки"
 
-#: commands/variable.c:164 utils/misc/guc.c:9660
+#: commands/variable.c:164 utils/misc/guc.c:9868
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "нераспознанное ключевое слово: \"%s\"."
@@ -9990,72 +10563,72 @@ msgstr "PostgreSQL не поддерживает координационные
 msgid "UTC timezone offset is out of range."
 msgstr "смещение часового пояса UTC вне диапазона"
 
-#: commands/variable.c:495
+#: commands/variable.c:497
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr ""
 "нельзя установить режим транзакции \"чтение-запись\" внутри транзакции "
 "\"только чтение\""
 
-#: commands/variable.c:502
+#: commands/variable.c:504
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr ""
 "режим транзакции \"чтение-запись\" должен быть установлен до выполнения "
 "запросов"
 
-#: commands/variable.c:509
+#: commands/variable.c:511
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr ""
 "нельзя установить режим транзакции \"чтение-запись\" в процессе "
 "восстановления"
 
-#: commands/variable.c:558
+#: commands/variable.c:560
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "команда SET TRANSACTION ISOLATION LEVEL должна выполняться до запросов"
 
-#: commands/variable.c:565
+#: commands/variable.c:567
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr ""
 "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции"
 
-#: commands/variable.c:572 storage/lmgr/predicate.c:1586
+#: commands/variable.c:574 storage/lmgr/predicate.c:1587
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "использовать сериализуемый режим в горячем резерве нельзя"
 
-#: commands/variable.c:573
+#: commands/variable.c:575
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Используйте REPEATABLE READ."
 
-#: commands/variable.c:621
+#: commands/variable.c:623
 #, c-format
 msgid ""
 "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr ""
 "команда SET TRANSACTION [NOT] DEFERRABLE не может вызываться в подтранзакции"
 
-#: commands/variable.c:627
+#: commands/variable.c:629
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr ""
 "команда SET TRANSACTION [NOT] DEFERRABLE должна выполняться до запросов"
 
-#: commands/variable.c:709
+#: commands/variable.c:711
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "Преобразование кодировок %s <-> %s не поддерживается."
 
-#: commands/variable.c:716
+#: commands/variable.c:718
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "Изменить клиентскую кодировку сейчас нельзя."
 
-#: commands/variable.c:889
+#: commands/variable.c:891
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "нет прав установить роль \"%s\""
@@ -10154,7 +10727,7 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr ""
 "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\""
 
-#: executor/execCurrent.c:231 executor/execQual.c:1156
+#: executor/execCurrent.c:231 executor/execQual.c:1178
 #, c-format
 msgid ""
 "type of parameter %d (%s) does not match that when preparing the plan (%s)"
@@ -10162,7 +10735,7 @@ msgstr ""
 "тип параметра %d (%s) не соответствует тому, с которым подготавливался план "
 "(%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1168
+#: executor/execCurrent.c:243 executor/execQual.c:1190
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "не найдено значение параметра %d"
@@ -10176,52 +10749,52 @@ msgstr ""
 "ON CONFLICT не поддерживает откладываемые ограничения уникальности/"
 "ограничения-исключения в качестве определяющего индекса"
 
-#: executor/execIndexing.c:814
+#: executor/execIndexing.c:816
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "не удалось создать ограничение-исключение \"%s\""
 
-#: executor/execIndexing.c:817
+#: executor/execIndexing.c:819
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Ключ %s конфликтует с ключом %s."
 
-#: executor/execIndexing.c:819
+#: executor/execIndexing.c:821
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Обнаружен конфликт ключей."
 
-#: executor/execIndexing.c:825
+#: executor/execIndexing.c:827
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "конфликтующее значение ключа нарушает ограничение-исключение \"%s\""
 
-#: executor/execIndexing.c:828
+#: executor/execIndexing.c:830
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Ключ %s конфликтует с существующим ключом %s."
 
-#: executor/execIndexing.c:830
+#: executor/execIndexing.c:832
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "Ключ конфликтует с уже существующим."
 
-#: executor/execMain.c:1025
+#: executor/execMain.c:1027
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "последовательность \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1031
+#: executor/execMain.c:1033
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "TOAST-отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1049 rewrite/rewriteHandler.c:2641
+#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2648
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "вставить данные в представление \"%s\" нельзя"
 
-#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2644
+#: executor/execMain.c:1053 rewrite/rewriteHandler.c:2651
 #, c-format
 msgid ""
 "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
@@ -10230,12 +10803,12 @@ msgstr ""
 "Чтобы представление допускало добавление данных, установите триггер INSTEAD "
 "OF INSERT trigger или безусловное правило ON INSERT DO INSTEAD."
 
-#: executor/execMain.c:1057 rewrite/rewriteHandler.c:2649
+#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2656
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "изменить данные в представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2652
+#: executor/execMain.c:1061 rewrite/rewriteHandler.c:2659
 #, c-format
 msgid ""
 "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
@@ -10244,12 +10817,12 @@ msgstr ""
 "Чтобы представление допускало изменение данных, установите триггер INSTEAD "
 "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD."
 
-#: executor/execMain.c:1065 rewrite/rewriteHandler.c:2657
+#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2664
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "удалить данные из представления \"%s\" нельзя"
 
-#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2660
+#: executor/execMain.c:1069 rewrite/rewriteHandler.c:2667
 #, c-format
 msgid ""
 "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
@@ -10258,111 +10831,111 @@ msgstr ""
 "Чтобы представление допускало удаление данных, установите триггер INSTEAD OF "
 "DELETE или безусловное правило ON DELETE DO INSTEAD."
 
-#: executor/execMain.c:1078
+#: executor/execMain.c:1080
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "изменить материализованное представление \"%s\" нельзя"
 
-#: executor/execMain.c:1090
+#: executor/execMain.c:1092
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "вставлять данные в стороннюю таблицу \"%s\" нельзя"
 
-#: executor/execMain.c:1096
+#: executor/execMain.c:1098
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "сторонняя таблица \"%s\" не допускает добавления"
 
-#: executor/execMain.c:1103
+#: executor/execMain.c:1105
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "изменять данные в сторонней таблице \"%s\""
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1111
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "сторонняя таблица \"%s\" не допускает изменения"
 
-#: executor/execMain.c:1116
+#: executor/execMain.c:1118
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "удалять данные из сторонней таблицы \"%s\" нельзя"
 
-#: executor/execMain.c:1122
+#: executor/execMain.c:1124
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "сторонняя таблица \"%s\" не допускает удаления"
 
-#: executor/execMain.c:1133
+#: executor/execMain.c:1135
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "отношение \"%s\" изменить нельзя"
 
-#: executor/execMain.c:1159
+#: executor/execMain.c:1161
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "блокировать строки в последовательности \"%s\" нельзя"
 
-#: executor/execMain.c:1166
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "блокировать строки в TOAST-отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1173
+#: executor/execMain.c:1175
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "блокировать строки в представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1181
+#: executor/execMain.c:1183
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "блокировать строки в материализованном представлении \"%s\" нельзя"
 
-#: executor/execMain.c:1190 executor/execMain.c:2578
+#: executor/execMain.c:1192 executor/execMain.c:2611
 #: executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "блокировать строки в сторонней таблице \"%s\" нельзя"
 
-#: executor/execMain.c:1196
+#: executor/execMain.c:1198
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "блокировать строки в отношении \"%s\" нельзя"
 
-#: executor/execMain.c:1696
+#: executor/execMain.c:1729
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "нулевое значение в столбце \"%s\" нарушает ограничение NOT NULL"
 
-#: executor/execMain.c:1698 executor/execMain.c:1724 executor/execMain.c:1813
+#: executor/execMain.c:1731 executor/execMain.c:1757 executor/execMain.c:1846
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Ошибочная строка содержит %s."
 
-#: executor/execMain.c:1722
+#: executor/execMain.c:1755
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "новая строка в отношении \"%s\" нарушает ограничение-проверку \"%s\""
 
-#: executor/execMain.c:1811
+#: executor/execMain.c:1844
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "новая строка нарушает ограничение-проверку для представления \"%s\""
 
-#: executor/execMain.c:1821
+#: executor/execMain.c:1854
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr ""
 "новая строка нарушает политику защиты на уровне строк \"%s\" для таблицы \"%s"
 "\""
 
-#: executor/execMain.c:1826
+#: executor/execMain.c:1859
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr ""
 "новая строка нарушает политику защиты на уровне строк для таблицы \"%s\""
 
-#: executor/execMain.c:1833
+#: executor/execMain.c:1866
 #, c-format
 msgid ""
 "new row violates row-level security policy \"%s\" (USING expression) for "
@@ -10371,7 +10944,7 @@ msgstr ""
 "новая строка нарушает политику защиты на уровне строк \"%s\" (выражение "
 "USING) для таблицы \"%s\""
 
-#: executor/execMain.c:1838
+#: executor/execMain.c:1871
 #, c-format
 msgid ""
 "new row violates row-level security policy (USING expression) for table \"%s"
@@ -10380,38 +10953,38 @@ msgstr ""
 "новая строка нарушает политику защиты на уровне строк (выражение USING) для "
 "таблицы \"%s\""
 
-#: executor/execQual.c:300 executor/execQual.c:328 executor/execQual.c:3191
-#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:263
-#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:1291
-#: utils/adt/arrayfuncs.c:3335 utils/adt/arrayfuncs.c:5219
-#: utils/adt/arrayfuncs.c:5742
+#: executor/execQual.c:302 executor/execQual.c:339 executor/execQual.c:3213
+#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:260
+#: utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288
+#: utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5245
+#: utils/adt/arrayfuncs.c:5768
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "число размерностей массива (%d) превышает предел (%d)"
 
-#: executor/execQual.c:313 executor/execQual.c:341
+#: executor/execQual.c:324 executor/execQual.c:360
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "индекс элемента массива в присваивании не может быть NULL"
 
-#: executor/execQual.c:635 executor/execQual.c:4116
+#: executor/execQual.c:657 executor/execQual.c:4138
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "атрибут %d имеет неверный тип"
 
-#: executor/execQual.c:636 executor/execQual.c:4117
+#: executor/execQual.c:658 executor/execQual.c:4139
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "В таблице задан тип %s, а в запросе ожидается %s."
 
-#: executor/execQual.c:829 executor/execQual.c:846 executor/execQual.c:1046
+#: executor/execQual.c:851 executor/execQual.c:868 executor/execQual.c:1068
 #: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
 #: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "тип строки таблицы отличается от типа строки-результата запроса"
 
-#: executor/execQual.c:830
+#: executor/execQual.c:852
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
@@ -10419,22 +10992,22 @@ msgstr[0] "Строка таблицы содержит %d атрибут, а в
 msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d."
 msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d."
 
-#: executor/execQual.c:847 executor/nodeModifyTable.c:106
+#: executor/execQual.c:869 executor/nodeModifyTable.c:106
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr ""
 "В таблице определён тип %s (номер столбца: %d), а в запросе предполагается "
 "%s."
 
-#: executor/execQual.c:1047 executor/execQual.c:1643
+#: executor/execQual.c:1069 executor/execQual.c:1665
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
 "Несоответствие параметров физического хранения удалённого атрибута (под "
 "номером %d)."
 
-#: executor/execQual.c:1322 parser/parse_func.c:115 parser/parse_func.c:542
-#: parser/parse_func.c:894
+#: executor/execQual.c:1344 parser/parse_func.c:115 parser/parse_func.c:542
+#: parser/parse_func.c:895
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
@@ -10442,12 +11015,12 @@ msgstr[0] "функции нельзя передать больше %d аргу
 msgstr[1] "функции нельзя передать больше %d аргументов"
 msgstr[2] "функции нельзя передать больше %d аргументов"
 
-#: executor/execQual.c:1511
+#: executor/execQual.c:1533
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "функции и операторы принимают только один аргумент-множество"
 
-#: executor/execQual.c:1561
+#: executor/execQual.c:1583
 #, c-format
 msgid ""
 "function returning setof record called in context that cannot accept type "
@@ -10456,12 +11029,12 @@ msgstr ""
 "функция, возвращающая запись SET OF, вызвана в контексте, не допускающем "
 "этот тип"
 
-#: executor/execQual.c:1616 executor/execQual.c:1632 executor/execQual.c:1642
+#: executor/execQual.c:1638 executor/execQual.c:1654 executor/execQual.c:1664
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "тип результат функции отличается от типа строки-результата запроса"
 
-#: executor/execQual.c:1617
+#: executor/execQual.c:1639
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
@@ -10471,47 +11044,47 @@ msgstr[1] ""
 msgstr[2] ""
 "Возвращённая строка содержит %d атрибутов, но запрос предполагает %d."
 
-#: executor/execQual.c:1633
+#: executor/execQual.c:1655
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Возвращён тип %s (номер столбца: %d), а в запросе предполагается %s."
 
-#: executor/execQual.c:1875 executor/execQual.c:2306
+#: executor/execQual.c:1897 executor/execQual.c:2328
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "нарушение протокола табличной функции в режиме материализации"
 
-#: executor/execQual.c:1895 executor/execQual.c:2313
+#: executor/execQual.c:1917 executor/execQual.c:2335
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "нераспознанный режим возврата табличной функции: %d"
 
-#: executor/execQual.c:2223
+#: executor/execQual.c:2245
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "функция, возвращающая множество строк, не может возвращать NULL"
 
-#: executor/execQual.c:2280
+#: executor/execQual.c:2302
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "строки, возвращённые функцией, имеют разные типы"
 
-#: executor/execQual.c:2495
+#: executor/execQual.c:2517
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM не поддерживает аргументы-множества"
 
-#: executor/execQual.c:2572
+#: executor/execQual.c:2594
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "операторы ANY/ALL (с массивом) не поддерживают аргументы-множества"
 
-#: executor/execQual.c:3169
+#: executor/execQual.c:3191
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "не удалось объединить несовместимые массивы"
 
-#: executor/execQual.c:3170
+#: executor/execQual.c:3192
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
@@ -10520,7 +11093,7 @@ msgstr ""
 "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом "
 "элементов %s."
 
-#: executor/execQual.c:3211 executor/execQual.c:3238
+#: executor/execQual.c:3233 executor/execQual.c:3260
 #, c-format
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
@@ -10528,58 +11101,53 @@ msgstr ""
 "для многомерных массивов должны задаваться выражения с соответствующими "
 "размерностями"
 
-#: executor/execQual.c:3753
+#: executor/execQual.c:3775
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF не поддерживает аргументы-множества"
 
-#: executor/execQual.c:3986 utils/adt/domains.c:136
+#: executor/execQual.c:4008 utils/adt/domains.c:136
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "домен %s не допускает значения null"
 
-#: executor/execQual.c:4016 utils/adt/domains.c:173
+#: executor/execQual.c:4038 utils/adt/domains.c:173
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "значение домена %s нарушает ограничение-проверку \"%s\""
 
-#: executor/execQual.c:4371
+#: executor/execQual.c:4393
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается"
 
-#: executor/execQual.c:4518 parser/parse_agg.c:596 parser/parse_agg.c:626
-#, c-format
-msgid "aggregate function calls cannot be nested"
-msgstr "вложенные вызовы агрегатных функций недопустимы"
-
-#: executor/execQual.c:4580 parser/parse_agg.c:742
+#: executor/execQual.c:4597 parser/parse_agg.c:743
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "вложенные вызовы оконных функций недопустимы"
 
-#: executor/execQual.c:4792
+#: executor/execQual.c:4809
 #, c-format
 msgid "target type is not an array"
 msgstr "целевой тип не является массивом"
 
-#: executor/execQual.c:4907
+#: executor/execQual.c:4924
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "столбец ROW() имеет тип %s, а должен - %s"
 
-#: executor/execQual.c:5042 utils/adt/arrayfuncs.c:3777
-#: utils/adt/arrayfuncs.c:6315 utils/adt/rowtypes.c:927
+#: executor/execQual.c:5059 utils/adt/arrayfuncs.c:3803
+#: utils/adt/arrayfuncs.c:6341 utils/adt/rowtypes.c:927
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "не удалось найти функцию сравнения для типа %s"
 
-#: executor/execUtils.c:831
+#: executor/execUtils.c:819
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "материализованное представление \"%s\" не было наполнено"
 
-#: executor/execUtils.c:833
+#: executor/execUtils.c:821
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Примените команду REFRESH MATERIALIZED VIEW."
@@ -10590,18 +11158,18 @@ msgid "could not determine actual type of argument declared %s"
 msgstr "не удалось определить фактический тип аргумента, объявленного как %s"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:506
+#: executor/functions.c:508
 #, c-format
 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:1368 executor/spi.c:2158
+#: executor/functions.c:515 executor/spi.c:1368 executor/spi.c:2160
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s нельзя использовать в не изменчивой (volatile) функции"
 
-#: executor/functions.c:641
+#: executor/functions.c:643
 #, c-format
 msgid ""
 "could not determine actual result type for function declared to return type "
@@ -10610,24 +11178,24 @@ msgstr ""
 "не удалось определить фактический тип результата для функции (в объявлении "
 "указан тип %s)"
 
-#: executor/functions.c:1405
+#: executor/functions.c:1408
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-функция \"%s\", оператор %d"
 
-#: executor/functions.c:1431
+#: executor/functions.c:1434
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-функция \"%s\" (при старте)"
 
-#: executor/functions.c:1590 executor/functions.c:1627
-#: executor/functions.c:1639 executor/functions.c:1752
-#: executor/functions.c:1785 executor/functions.c:1815
+#: executor/functions.c:1593 executor/functions.c:1630
+#: executor/functions.c:1642 executor/functions.c:1755
+#: executor/functions.c:1788 executor/functions.c:1818
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)"
 
-#: executor/functions.c:1592
+#: executor/functions.c:1595
 #, c-format
 msgid ""
 "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
@@ -10635,43 +11203,55 @@ msgstr ""
 "Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE "
 "RETURNING."
 
-#: executor/functions.c:1629
+#: executor/functions.c:1632
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Последний оператор должен возвращать один столбец."
 
-#: executor/functions.c:1641
+#: executor/functions.c:1644
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Фактический тип возврата: %s."
 
-#: executor/functions.c:1754
+#: executor/functions.c:1757
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Последний оператор возвращает слишком много столбцов."
 
-#: executor/functions.c:1787
+#: executor/functions.c:1790
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "Последний оператор возвращает %s вместо %s для столбца %d."
 
-#: executor/functions.c:1817
+#: executor/functions.c:1820
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Последний оператор возвращает слишком мало столбцов."
 
-#: executor/functions.c:1866
+#: executor/functions.c:1869
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "для SQL-функций тип возврата %s не поддерживается"
 
-#: executor/nodeAgg.c:2450 executor/nodeWindowAgg.c:2286
+#: executor/nodeAgg.c:3013
+#, c-format
+msgid "combine function for aggregate %u must to be declared as strict"
+msgstr ""
+"комбинирующая функция для агрегата %u не должна объявляться как строгая "
+"(STRICT)"
+
+#: executor/nodeAgg.c:3058 executor/nodeWindowAgg.c:2289
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
 "агрегатная функция %u должна иметь совместимые входной и переходный типы"
 
-#: executor/nodeCustom.c:147 executor/nodeCustom.c:158
+#: executor/nodeAgg.c:3130 parser/parse_agg.c:597 parser/parse_agg.c:627
+#, c-format
+msgid "aggregate function calls cannot be nested"
+msgstr "вложенные вызовы агрегатных функций недопустимы"
+
+#: executor/nodeCustom.c:148 executor/nodeCustom.c:159
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "нестандартное сканирование \"%s\" не поддерживает MarkPos"
@@ -10736,12 +11316,12 @@ msgstr ""
 msgid "Query has too few columns."
 msgstr "Запрос возвращает меньше столбцов."
 
-#: executor/nodeModifyTable.c:1103
+#: executor/nodeModifyTable.c:1117
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "команда ON CONFLICT DO UPDATE не может менять строку повторно"
 
-#: executor/nodeModifyTable.c:1104
+#: executor/nodeModifyTable.c:1118
 #, c-format
 msgid ""
 "Ensure that no rows proposed for insertion within the same command have "
@@ -10822,27 +11402,32 @@ msgstr "не удалось открыть запрос %s как курсор"
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживается"
 
-#: executor/spi.c:1343 parser/analyze.c:2292
+#: executor/spi.c:1343 parser/analyze.c:2314
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Прокручиваемые курсоры должны быть READ ONLY."
 
-#: executor/spi.c:2450
+#: executor/spi.c:2461
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-оператор: \"%s\""
 
-#: foreign/foreign.c:192
+#: executor/tqueue.c:206
+#, c-format
+msgid "unable to send tuples"
+msgstr "не удалось передать кортежи"
+
+#: foreign/foreign.c:314
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "сопоставление пользователя для \"%s\" не найдено"
 
-#: foreign/foreign.c:643
+#: foreign/foreign.c:750
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "неверный параметр \"%s\""
 
-#: foreign/foreign.c:644
+#: foreign/foreign.c:751
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "В данном контексте допустимы параметры: %s"
@@ -10853,79 +11438,84 @@ msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr ""
 "Не удалось увеличить строковый буфер (в буфере байт: %d, требовалось ещё %d)."
 
-#: libpq/auth.c:235
+#: libpq/auth.c:251
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: не разрешённый компьютер "
 
-#: libpq/auth.c:238
+#: libpq/auth.c:254
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (\"trust\")"
 
-#: libpq/auth.c:241
+#: libpq/auth.c:257
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Ident)"
 
-#: libpq/auth.c:244
+#: libpq/auth.c:260
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (Peer)"
 
-#: libpq/auth.c:248
+#: libpq/auth.c:264
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по паролю)"
 
-#: libpq/auth.c:253
+#: libpq/auth.c:269
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (GSSAPI)"
 
-#: libpq/auth.c:256
+#: libpq/auth.c:272
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (SSPI)"
 
-#: libpq/auth.c:259
+#: libpq/auth.c:275
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (PAM)"
 
-#: libpq/auth.c:262
+#: libpq/auth.c:278
+#, c-format
+msgid "BSD authentication failed for user \"%s\""
+msgstr "пользователь \"%s\" не прошёл проверку подлинности (BSD)"
+
+#: libpq/auth.c:281
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (LDAP)"
 
-#: libpq/auth.c:265
+#: libpq/auth.c:284
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (по сертификату)"
 
-#: libpq/auth.c:268
+#: libpq/auth.c:287
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "пользователь \"%s\" не прошёл проверку подлинности (RADIUS)"
 
-#: libpq/auth.c:271
+#: libpq/auth.c:290
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr ""
 "пользователь \"%s\" не прошёл проверку подлинности: неверный метод проверки"
 
-#: libpq/auth.c:275
+#: libpq/auth.c:294
 #, c-format
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "Подключение соответствует строке %d в pg_hba.conf: \"%s\""
 
-#: libpq/auth.c:330
+#: libpq/auth.c:349
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "для подключения требуется годный сертификат клиента"
 
-#: libpq/auth.c:372
+#: libpq/auth.c:391
 #, c-format
 msgid ""
 "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
@@ -10933,22 +11523,22 @@ msgstr ""
 "pg_hba.conf отвергает подключение для репликации: компьютер \"%s\", "
 "пользователь \"%s\", \"%s\""
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL off"
 msgstr "SSL выкл."
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL on"
 msgstr "SSL вкл."
 
-#: libpq/auth.c:378
+#: libpq/auth.c:397
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr ""
 "pg_hba.conf отвергает подключение для репликации: компьютер \"%s\", "
 "пользователь \"%s\""
 
-#: libpq/auth.c:387
+#: libpq/auth.c:406
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s"
@@ -10957,7 +11547,7 @@ msgstr ""
 "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", "
 "база данных \"%s\", %s"
 
-#: libpq/auth.c:394
+#: libpq/auth.c:413
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
@@ -10965,37 +11555,37 @@ msgstr ""
 "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", "
 "база данных \"%s\""
 
-#: libpq/auth.c:423
+#: libpq/auth.c:442
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", соответствует прямому преобразованию."
 
-#: libpq/auth.c:426
+#: libpq/auth.c:445
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", прямое преобразование не проверялось."
 
-#: libpq/auth.c:429
+#: libpq/auth.c:448
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr ""
 "IP-адрес клиента разрешается в \"%s\", это не соответствует прямому "
 "преобразованию."
 
-#: libpq/auth.c:432
+#: libpq/auth.c:451
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr ""
 "Преобразовать имя клиентского компьютера \"%s\" в IP-адрес не удалось: %s."
 
-#: libpq/auth.c:437
+#: libpq/auth.c:456
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "Получить имя компьютера из IP-адреса клиента не удалось: %s."
 
-#: libpq/auth.c:446
+#: libpq/auth.c:465
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s"
@@ -11004,7 +11594,7 @@ msgstr ""
 "в pg_hba.conf нет записи, разрешающей подключение для репликации с "
 "компьютера \"%s\" для пользователя \"%s\", %s"
 
-#: libpq/auth.c:453
+#: libpq/auth.c:472
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
@@ -11012,21 +11602,21 @@ msgstr ""
 "в pg_hba.conf нет записи, разрешающей подключение для репликации с "
 "компьютера \"%s\" для пользователя \"%s\""
 
-#: libpq/auth.c:463
+#: libpq/auth.c:482
 #, 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:471
+#: libpq/auth.c:490
 #, 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:514 libpq/hba.c:1180
+#: libpq/auth.c:533 libpq/hba.c:1180
 #, c-format
 msgid ""
 "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
@@ -11034,190 +11624,210 @@ msgstr ""
 "проверка подлинности MD5 не поддерживается, когда включен режим "
 "\"db_user_namespace\""
 
-#: libpq/auth.c:640
+#: libpq/auth.c:667
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "ожидался ответ с паролем, но получено сообщение %d"
 
-#: libpq/auth.c:668
+#: libpq/auth.c:695
 #, c-format
 msgid "invalid password packet size"
 msgstr "неверный размер пакета с паролем"
 
-#: libpq/auth.c:798
+#: libpq/auth.c:825
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI не поддерживается в протоколе версии 2"
 
-#: libpq/auth.c:858
+#: libpq/auth.c:885
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "ожидался ответ GSS, но получено сообщение %d"
 
-#: libpq/auth.c:919
+#: libpq/auth.c:946
 msgid "accepting GSS security context failed"
 msgstr "принять контекст безопасности GSS не удалось"
 
-#: libpq/auth.c:945
+#: libpq/auth.c:972
 msgid "retrieving GSS user name failed"
 msgstr "получить имя пользователя GSS не удалось"
 
-#: libpq/auth.c:1062
+#: libpq/auth.c:1091
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSPI не поддерживается в протоколе версии 2"
 
-#: libpq/auth.c:1077
+#: libpq/auth.c:1106
 msgid "could not acquire SSPI credentials"
 msgstr "не удалось получить удостоверение SSPI"
 
-#: libpq/auth.c:1095
+#: libpq/auth.c:1124
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "ожидался ответ SSPI, но получено сообщение %d"
 
-#: libpq/auth.c:1167
+#: libpq/auth.c:1196
 msgid "could not accept SSPI security context"
 msgstr "принять контекст безопасности SSPI не удалось"
 
-#: libpq/auth.c:1229
+#: libpq/auth.c:1258
 msgid "could not get token from SSPI security context"
 msgstr "не удалось получить маркер из контекста безопасности SSPI"
 
-#: libpq/auth.c:1476
+#: libpq/auth.c:1377 libpq/auth.c:1396
+#, c-format
+msgid "could not translate name"
+msgstr "не удалось преобразовать имя"
+
+#: libpq/auth.c:1409
+#, c-format
+msgid "realm name too long"
+msgstr "имя области слишком длинное"
+
+#: libpq/auth.c:1424
+#, c-format
+msgid "translated account name too long"
+msgstr "преобразованное имя учётной записи слишком длинное"
+
+#: libpq/auth.c:1610
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "не удалось создать сокет для подключения к серверу Ident: %m"
 
-#: libpq/auth.c:1491
+#: libpq/auth.c:1625
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "не удалось привязаться к локальному адресу \"%s\": %m"
 
-#: libpq/auth.c:1503
+#: libpq/auth.c:1637
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "не удалось подключиться к серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1525
+#: libpq/auth.c:1659
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось отправить запрос серверу Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1542
+#: libpq/auth.c:1676
 #, c-format
 msgid ""
 "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "не удалось получить ответ от сервера Ident по адресу \"%s\", порт %s: %m"
 
-#: libpq/auth.c:1552
+#: libpq/auth.c:1686
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "неверно форматированный ответ от сервера Ident: \"%s\""
 
-#: libpq/auth.c:1592
+#: libpq/auth.c:1726
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "проверка подлинности peer в этой ОС не поддерживается"
 
-#: libpq/auth.c:1596
+#: libpq/auth.c:1730
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "не удалось получить данные пользователя через механизм peer: %m"
 
-#: libpq/auth.c:1605
+#: libpq/auth.c:1739
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "найти локального пользователя по идентификатору (%ld) не удалось: %s"
 
-#: libpq/auth.c:1689 libpq/auth.c:1960 libpq/auth.c:2316
+#: libpq/auth.c:1823 libpq/auth.c:2149 libpq/auth.c:2509
 #, c-format
 msgid "empty password returned by client"
 msgstr "клиент возвратил пустой пароль"
 
-#: libpq/auth.c:1699
+#: libpq/auth.c:1833
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "ошибка в нижележащем слое PAM: %s"
 
-#: libpq/auth.c:1768
+#: libpq/auth.c:1914
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "не удалось создать аутентификатор PAM: %s"
 
-#: libpq/auth.c:1779
+#: libpq/auth.c:1925
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_USER): %s"
 
-#: libpq/auth.c:1790
+#: libpq/auth.c:1936
+#, c-format
+msgid "pam_set_item(PAM_RHOST) failed: %s"
+msgstr "ошибка в pam_set_item(PAM_RHOST): %s"
+
+#: libpq/auth.c:1947
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "ошибка в pam_set_item(PAM_CONV): %s"
 
-#: libpq/auth.c:1801
+#: libpq/auth.c:1958
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "ошибка в pam_authenticate: %s"
 
-#: libpq/auth.c:1812
+#: libpq/auth.c:1969
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "ошибка в pam_acct_mgmt: %s"
 
-#: libpq/auth.c:1823
+#: libpq/auth.c:1980
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "не удалось освободить аутентификатор PAM: %s"
 
-#: libpq/auth.c:1856
+#: libpq/auth.c:2045
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "не удалось инициализировать LDAP: %m"
 
-#: libpq/auth.c:1859
+#: libpq/auth.c:2048
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "не удалось инициализировать LDAP (код ошибки: %d)"
 
-#: libpq/auth.c:1869
+#: libpq/auth.c:2058
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "не удалось задать версию протокола LDAP: %s"
 
-#: libpq/auth.c:1898
+#: libpq/auth.c:2087
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "не удалось загрузить wldap32.dll"
 
-#: libpq/auth.c:1906
+#: libpq/auth.c:2095
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "не удалось найти функцию _ldap_start_tls_sA в wldap32.dll"
 
-#: libpq/auth.c:1907
+#: libpq/auth.c:2096
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP через SSL не поддерживается в этой ОС."
 
-#: libpq/auth.c:1922
+#: libpq/auth.c:2111
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "не удалось начать сеанс LDAP TLS: %s"
 
-#: libpq/auth.c:1944
+#: libpq/auth.c:2133
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-сервер не определён"
 
-#: libpq/auth.c:1997
+#: libpq/auth.c:2186
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "недопустимый символ в имени пользователя для проверки подлинности LDAP"
 
-#: libpq/auth.c:2012
+#: libpq/auth.c:2201
 #, c-format
 msgid ""
 "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
@@ -11226,28 +11836,28 @@ msgstr ""
 "не удалось выполнить начальную привязку LDAP для ldapbinddn \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2036
+#: libpq/auth.c:2225
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr ""
 "не удалось выполнить LDAP-поиск по фильтру \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2047
+#: libpq/auth.c:2236
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "в LDAP нет пользователя \"%s\""
 
-#: libpq/auth.c:2048
+#: libpq/auth.c:2237
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" не вернул результатов"
 
-#: libpq/auth.c:2052
+#: libpq/auth.c:2241
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "пользователь LDAP \"%s\" не уникален"
 
-#: libpq/auth.c:2053
+#: libpq/auth.c:2242
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural ""
@@ -11256,7 +11866,7 @@ msgstr[0] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\"
 msgstr[1] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записи."
 msgstr[2] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записей."
 
-#: libpq/auth.c:2071
+#: libpq/auth.c:2260
 #, c-format
 msgid ""
 "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
@@ -11264,19 +11874,19 @@ msgstr ""
 "не удалось получить dn для первого результата, соответствующего \"%s\" на "
 "сервере \"%s\": %s"
 
-#: libpq/auth.c:2091
+#: libpq/auth.c:2280
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2121
+#: libpq/auth.c:2310
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "ошибка при регистрации в LDAP пользователя \"%s\" на сервере \"%s\": %s"
 
-#: libpq/auth.c:2149
+#: libpq/auth.c:2338
 #, c-format
 msgid ""
 "certificate authentication failed for user \"%s\": client certificate "
@@ -11285,98 +11895,98 @@ msgstr ""
 "ошибка проверки подлинности пользователя \"%s\" по сертификату: сертификат "
 "клиента не содержит имя пользователя"
 
-#: libpq/auth.c:2272
+#: libpq/auth.c:2465
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-сервер не определён"
 
-#: libpq/auth.c:2279
+#: libpq/auth.c:2472
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "секрет RADIUS не определён"
 
-#: libpq/auth.c:2295 libpq/hba.c:1590
+#: libpq/auth.c:2488 libpq/hba.c:1634
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "не удалось преобразовать имя сервера RADIUS \"%s\" в адрес: %s"
 
-#: libpq/auth.c:2323
+#: libpq/auth.c:2516
 #, c-format
 msgid ""
-"RADIUS authentication does not support passwords longer than 16 characters"
-msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее 16 символов"
+"RADIUS authentication does not support passwords longer than %d characters"
+msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее %d симв."
 
-#: libpq/auth.c:2334
+#: libpq/auth.c:2528
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "не удалось сгенерировать случайный вектор шифрования"
 
-#: libpq/auth.c:2357
+#: libpq/auth.c:2566
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "не удалось вычислить MD5-хеш пароля"
 
-#: libpq/auth.c:2379
+#: libpq/auth.c:2591
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "не удалось создать сокет RADIUS: %m"
 
-#: libpq/auth.c:2400
+#: libpq/auth.c:2612
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "не удалось привязаться к локальному сокету RADIUS: %m"
 
-#: libpq/auth.c:2410
+#: libpq/auth.c:2622
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "не удалось отправить пакет RADIUS: %m"
 
-#: libpq/auth.c:2443 libpq/auth.c:2468
+#: libpq/auth.c:2655 libpq/auth.c:2680
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "превышено время ожидания ответа RADIUS"
 
-#: libpq/auth.c:2461
+#: libpq/auth.c:2673
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "не удалось проверить состояние сокета RADIUS: %m"
 
-#: libpq/auth.c:2490
+#: libpq/auth.c:2702
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "не удалось прочитать ответ RADIUS: %m"
 
-#: libpq/auth.c:2502 libpq/auth.c:2506
+#: libpq/auth.c:2714 libpq/auth.c:2718
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "ответ RADIUS был отправлен с неверного порта: %d"
 
-#: libpq/auth.c:2515
+#: libpq/auth.c:2727
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "слишком короткий ответ RADIUS: %d"
 
-#: libpq/auth.c:2522
+#: libpq/auth.c:2734
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "в ответе RADIUS испорчена длина: %d (фактическая длина %d)"
 
-#: libpq/auth.c:2530
+#: libpq/auth.c:2742
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "пришёл ответ RADIUS на другой запрос: %d (ожидался %d)"
 
-#: libpq/auth.c:2555
+#: libpq/auth.c:2767
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "не удалось вычислить MD5 для принятого пакета"
 
-#: libpq/auth.c:2564
+#: libpq/auth.c:2776
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "ответ RADIUS содержит неверную подпись MD5"
 
-#: libpq/auth.c:2581
+#: libpq/auth.c:2793
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "ответ RADIUS содержит неверный код (%d) для пользователя \"%s\""
@@ -11478,122 +12088,159 @@ msgstr "не удалось загрузить сертификат сервер
 msgid "could not access private key file \"%s\": %m"
 msgstr "не удалось обратиться к файлу закрытого ключа \"%s\": %m"
 
-#: libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:212
+#, c-format
+msgid "private key file \"%s\" is not a regular file"
+msgstr "файл закрытого ключа \"%s\" не является обычным"
+
+#: libpq/be-secure-openssl.c:224
+#, c-format
+msgid "private key file \"%s\" must be owned by the database user or root"
+msgstr ""
+"файл закрытого ключа \"%s\" должен принадлежать пользователю, запускающему "
+"сервер, или root"
+
+#: libpq/be-secure-openssl.c:244
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "к файлу закрытого ключа \"%s\" имеют доступ все или группа"
 
-#: libpq/be-secure-openssl.c:223
+#: libpq/be-secure-openssl.c:246
 #, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "Права должны быть u=rw (0600) или более ограниченные."
+msgid ""
+"File must have permissions u=rw (0600) or less if owned by the database "
+"user, or permissions u=rw,g=r (0640) or less if owned by root."
+msgstr ""
+"Для файла должны быть заданы разрешения u=rw (0600) или более строгие, если "
+"он принадлежит пользователю сервера, либо u=rw,g=r (0640) или более строгие, "
+"если он принадлежит root."
 
-#: libpq/be-secure-openssl.c:230
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:235
+#: libpq/be-secure-openssl.c:258
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "ошибка при проверке закрытого ключа: %s"
 
-#: libpq/be-secure-openssl.c:264
+#: libpq/be-secure-openssl.c:287
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "не удалось загрузить файл корневых сертификатов \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:288
+#: libpq/be-secure-openssl.c:311
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "файл со списком отзыва сертификатов SSL \"%s\" игнорируется"
 
-#: libpq/be-secure-openssl.c:290
+#: libpq/be-secure-openssl.c:313
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "Библиотека SSL не поддерживает списки отзыва сертификатов."
 
-#: libpq/be-secure-openssl.c:295
+#: libpq/be-secure-openssl.c:318
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr ""
 "не удалось загрузить файл со списком отзыва сертификатов SSL \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:341
+#: libpq/be-secure-openssl.c:365
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "инициализировать SSL-подключение не удалось: %s"
 
-#: libpq/be-secure-openssl.c:349
+#: libpq/be-secure-openssl.c:373
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "не удалось создать SSL-сокет: %s"
 
-#: libpq/be-secure-openssl.c:383
+#: libpq/be-secure-openssl.c:427
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "не удалось принять SSL-подключение: %m"
 
-#: libpq/be-secure-openssl.c:387 libpq/be-secure-openssl.c:398
+#: libpq/be-secure-openssl.c:431 libpq/be-secure-openssl.c:442
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "не удалось принять SSL-подключение: обрыв данных"
 
-#: libpq/be-secure-openssl.c:392
+#: libpq/be-secure-openssl.c:436
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "не удалось принять SSL-подключение: %s"
 
-#: libpq/be-secure-openssl.c:403 libpq/be-secure-openssl.c:541
-#: libpq/be-secure-openssl.c:598
+#: libpq/be-secure-openssl.c:447 libpq/be-secure-openssl.c:588
+#: libpq/be-secure-openssl.c:648
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "нераспознанный код ошибки SSL: %d"
 
-#: libpq/be-secure-openssl.c:447
+#: libpq/be-secure-openssl.c:491
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "Имя SSL-сертификата включает нулевой байт"
 
-#: libpq/be-secure-openssl.c:458
+#: libpq/be-secure-openssl.c:502
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "SSL-подключение от \"%s\""
 
-#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589
+#: libpq/be-secure-openssl.c:579 libpq/be-secure-openssl.c:639
 #, c-format
 msgid "SSL error: %s"
 msgstr "ошибка SSL: %s"
 
-#: libpq/be-secure-openssl.c:937
+#: libpq/be-secure-openssl.c:988
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: нераспознанное имя кривой: %s"
 
-#: libpq/be-secure-openssl.c:942
+#: libpq/be-secure-openssl.c:993
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: не удалось создать ключ"
 
-#: libpq/be-secure-openssl.c:966
+#: libpq/be-secure-openssl.c:1017
 msgid "no SSL error reported"
 msgstr "нет сообщения об ошибке SSL"
 
-#: libpq/be-secure-openssl.c:970
+#: libpq/be-secure-openssl.c:1021
 #, c-format
 msgid "SSL error code %lu"
 msgstr "код ошибки SSL: %lu"
 
-#: libpq/crypt.c:60
+#: libpq/be-secure.c:171 libpq/be-secure.c:256
+#, c-format
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "закрытие подключения из-за неожиданного завершения главного процесса"
+
+#: libpq/crypt.c:54
+#, c-format
+msgid "Role \"%s\" does not exist."
+msgstr "Роль \"%s\" не существует."
+
+#: libpq/crypt.c:64
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "Пользователь \"%s\" не имеет пароля."
 
-#: libpq/crypt.c:150
+#: libpq/crypt.c:79
+#, c-format
+msgid "User \"%s\" has an empty password."
+msgstr "У пользователя \"%s\" пустой пароль."
+
+#: libpq/crypt.c:159
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "Срок пароля пользователя \"%s\" истёк."
 
+#: libpq/crypt.c:167
+#, c-format
+msgid "Password does not match for user \"%s\"."
+msgstr "Пароль не подходит для пользователя \"%s\"."
+
 #: libpq/hba.c:188
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
@@ -11618,11 +12265,11 @@ msgstr "слишком длинная строка в файле конфигу
 #: libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966
 #: libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062
 #: libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119
-#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1213
-#: libpq/hba.c:1224 libpq/hba.c:1244 libpq/hba.c:1255 libpq/hba.c:1272
-#: libpq/hba.c:1310 libpq/hba.c:1347 libpq/hba.c:1357 libpq/hba.c:1413
-#: libpq/hba.c:1425 libpq/hba.c:1438 libpq/hba.c:1521 libpq/hba.c:1592
-#: libpq/hba.c:1610 libpq/hba.c:1631 tsearch/ts_locale.c:182
+#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1219
+#: libpq/hba.c:1230 libpq/hba.c:1250 libpq/hba.c:1261 libpq/hba.c:1278
+#: libpq/hba.c:1327 libpq/hba.c:1364 libpq/hba.c:1374 libpq/hba.c:1430
+#: libpq/hba.c:1442 libpq/hba.c:1455 libpq/hba.c:1547 libpq/hba.c:1636
+#: libpq/hba.c:1654 libpq/hba.c:1675 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "строка %d файла конфигурации \"%s\""
@@ -11772,39 +12419,39 @@ msgstr "для типа проверки подлинности указано 
 msgid "Specify exactly one authentication type per line."
 msgstr "Определите в строке единственный тип проверки подлинности."
 
-#: libpq/hba.c:1211
+#: libpq/hba.c:1217
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "неверный метод проверки подлинности \"%s\""
 
-#: libpq/hba.c:1222
+#: libpq/hba.c:1228
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr ""
 "неверный метод проверки подлинности \"%s\": не поддерживается в этой сборке"
 
-#: libpq/hba.c:1243
+#: libpq/hba.c:1249
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "проверка подлинности gssapi для локальных сокетов не поддерживается"
 
-#: libpq/hba.c:1254
+#: libpq/hba.c:1260
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "проверка подлинности peer поддерживается только для локальных сокетов"
 
-#: libpq/hba.c:1271
+#: libpq/hba.c:1277
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr ""
 "проверка подлинности cert поддерживается только для подключений hostssl"
 
-#: libpq/hba.c:1309
+#: libpq/hba.c:1326
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "параметр проверки подлинности указан не в формате имя=значение: %s"
 
-#: libpq/hba.c:1346
+#: libpq/hba.c:1363
 #, c-format
 msgid ""
 "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or "
@@ -11813,7 +12460,7 @@ msgstr ""
 "нельзя использовать ldapbasedn, ldapbinddn, ldapbindpasswd, "
 "ldapsearchattribute или ldapurl вместе с ldapprefix"
 
-#: libpq/hba.c:1356
+#: libpq/hba.c:1373
 #, c-format
 msgid ""
 "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix"
@@ -11822,16 +12469,16 @@ msgstr ""
 "для метода проверки подлинности \"ldap\" требуется установить аргументы "
 "\"ldapbasedn\" и \"ldapprefix\" или \"ldapsuffix\""
 
-#: libpq/hba.c:1399
+#: libpq/hba.c:1416
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi и cert"
 
-#: libpq/hba.c:1412
+#: libpq/hba.c:1429
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert можно определить только в строках \"hostssl\""
 
-#: libpq/hba.c:1423
+#: libpq/hba.c:1440
 #, c-format
 msgid ""
 "client certificates can only be checked if a root certificate store is "
@@ -11840,73 +12487,77 @@ msgstr ""
 "сертификаты клиентов могут проверяться, только если доступно хранилище "
 "корневых сертификатов"
 
-#: libpq/hba.c:1437
+#: libpq/hba.c:1454
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr ""
 "clientcert нельзя установить в 0 при использовании проверки подлинности "
 "\"cert\""
 
-#: libpq/hba.c:1464
+#: libpq/hba.c:1490
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "не удалось разобрать URL-адрес LDAP \"%s\": %s"
 
-#: libpq/hba.c:1472
+#: libpq/hba.c:1498
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "неподдерживаемая схема в URL-адресе LDAP: %s"
 
-#: libpq/hba.c:1488
+#: libpq/hba.c:1514
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "фильтры в URL-адресах LDAP не поддерживаются"
 
-#: libpq/hba.c:1496
+#: libpq/hba.c:1522
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL-адреса LDAP не поддерживаются в этой ОС"
 
-#: libpq/hba.c:1520
+#: libpq/hba.c:1546
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "неверный номер порта LDAP: \"%s\""
 
-#: libpq/hba.c:1560 libpq/hba.c:1567
+#: libpq/hba.c:1586 libpq/hba.c:1593
 msgid "gssapi and sspi"
 msgstr "gssapi и sspi"
 
-#: libpq/hba.c:1609
+#: libpq/hba.c:1602 libpq/hba.c:1611
+msgid "sspi"
+msgstr "sspi"
+
+#: libpq/hba.c:1653
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "неверный номер порта RADIUS: \"%s\""
 
-#: libpq/hba.c:1629
+#: libpq/hba.c:1673
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "нераспознанное имя атрибута проверки подлинности: \"%s\""
 
-#: libpq/hba.c:1764 guc-file.l:595
+#: libpq/hba.c:1808 guc-file.l:595
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "открыть файл конфигурации \"%s\" не удалось: %m"
 
-#: libpq/hba.c:1814
+#: libpq/hba.c:1859
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "файл конфигурации \"%s\" не содержит записей"
 
-#: libpq/hba.c:1910
+#: libpq/hba.c:1955
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "неверное регулярное выражение \"%s\": %s"
 
-#: libpq/hba.c:1970
+#: libpq/hba.c:2015
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "ошибка при поиске по регулярному выражению для \"%s\": %s"
 
-#: libpq/hba.c:1989
+#: libpq/hba.c:2034
 #, c-format
 msgid ""
 "regular expression \"%s\" has no subexpressions as requested by "
@@ -11915,92 +12566,92 @@ msgstr ""
 "в регулярном выражении \"%s\" нет подвыражений, требуемых для обратной "
 "ссылки в \"%s\""
 
-#: libpq/hba.c:2086
+#: libpq/hba.c:2131
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr ""
 "указанное имя пользователя (%s) не совпадает с именем прошедшего проверку "
 "(%s)"
 
-#: libpq/hba.c:2106
+#: libpq/hba.c:2151
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr ""
 "нет соответствия в файле сопоставлений \"%s\" для пользователя \"%s\", "
 "прошедшего проверку как \"%s\""
 
-#: libpq/hba.c:2141
+#: libpq/hba.c:2186
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "не удалось открыть файл сопоставлений пользователей \"%s\": %m"
 
-#: libpq/pqcomm.c:201
+#: libpq/pqcomm.c:202
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "не удалось перевести сокет в неблокирующий режим: %m"
 
-#: libpq/pqcomm.c:348
+#: libpq/pqcomm.c:354
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "длина пути доменного сокета \"%s\" превышает предел (%d байт)"
 
-#: libpq/pqcomm.c:369
+#: libpq/pqcomm.c:375
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "перевести имя узла \"%s\", службы \"%s\" в адрес не удалось: %s"
 
-#: libpq/pqcomm.c:373
+#: libpq/pqcomm.c:379
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "не удалось перевести имя службы \"%s\" в адрес: %s"
 
-#: libpq/pqcomm.c:400
+#: libpq/pqcomm.c:406
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr ""
 "не удалось привязаться ко всем запрошенным адресам: превышен предел "
 "MAXLISTEN (%d)"
 
-#: libpq/pqcomm.c:409
+#: libpq/pqcomm.c:415
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:413
+#: libpq/pqcomm.c:419
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:418
+#: libpq/pqcomm.c:424
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:423
+#: libpq/pqcomm.c:429
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "нераспознанное семейство адресов: %d"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:434
+#: libpq/pqcomm.c:440
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "не удалось создать сокет %s: %m"
 
-#: libpq/pqcomm.c:459
+#: libpq/pqcomm.c:465
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "ошибка в setsockopt(SO_REUSEADDR): %m"
 
-#: libpq/pqcomm.c:474
+#: libpq/pqcomm.c:480
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "ошибка в setsockopt(IPV6_V6ONLY): %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:493
+#: libpq/pqcomm.c:499
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "не удалось привязаться к сокету %s: %m"
 
-#: libpq/pqcomm.c:496
+#: libpq/pqcomm.c:502
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, remove socket file "
@@ -12009,7 +12660,7 @@ msgstr ""
 "Возможно порт %d занят другим процессом postmaster? Если нет, удалите файл "
 "\"%s\" и повторите попытку."
 
-#: libpq/pqcomm.c:499
+#: libpq/pqcomm.c:505
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, wait a few seconds "
@@ -12019,62 +12670,62 @@ msgstr ""
 "попытку через несколько секунд."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:532
+#: libpq/pqcomm.c:538
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "не удалось начать приём в сокете %s: %m"
 
-#: libpq/pqcomm.c:617
+#: libpq/pqcomm.c:623
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "группа \"%s\" не существует"
 
-#: libpq/pqcomm.c:627
+#: libpq/pqcomm.c:633
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "не удалось установить группу для файла \"%s\": %m"
 
-#: libpq/pqcomm.c:638
+#: libpq/pqcomm.c:644
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "не удалось установить права доступа для файла \"%s\": %m"
 
-#: libpq/pqcomm.c:668
+#: libpq/pqcomm.c:674
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "не удалось принять новое подключение: %m"
 
-#: libpq/pqcomm.c:847
+#: libpq/pqcomm.c:885
 #, c-format
 msgid "there is no client connection"
 msgstr "нет клиентского подключения"
 
-#: libpq/pqcomm.c:898 libpq/pqcomm.c:994
+#: libpq/pqcomm.c:936 libpq/pqcomm.c:1032
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "не удалось получить данные от клиента: %m"
 
-#: libpq/pqcomm.c:1139 tcop/postgres.c:3902
+#: libpq/pqcomm.c:1177 tcop/postgres.c:3921
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "закрытие подключения из-за потери синхронизации протокола"
 
-#: libpq/pqcomm.c:1205
+#: libpq/pqcomm.c:1243
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "неожиданный обрыв данных в слове длины сообщения"
 
-#: libpq/pqcomm.c:1216
+#: libpq/pqcomm.c:1254
 #, c-format
 msgid "invalid message length"
 msgstr "неверная длина сообщения"
 
-#: libpq/pqcomm.c:1238 libpq/pqcomm.c:1251
+#: libpq/pqcomm.c:1276 libpq/pqcomm.c:1289
 #, c-format
 msgid "incomplete message from client"
 msgstr "неполное сообщение от клиента"
 
-#: libpq/pqcomm.c:1384
+#: libpq/pqcomm.c:1422
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "не удалось послать данные клиенту: %m"
@@ -12085,7 +12736,7 @@ msgid "no data left in message"
 msgstr "в сообщении не осталось данных"
 
 #: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:563
+#: utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
 #, c-format
 msgid "insufficient data left in message"
 msgstr "недостаточно данных осталось в сообщении"
@@ -12100,12 +12751,12 @@ msgstr "неверная строка в сообщении"
 msgid "invalid message format"
 msgstr "неверный формат сообщения"
 
-#: main/main.c:259
+#: main/main.c:264
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: ошибка WSAStartup: %d\n"
 
-#: main/main.c:306
+#: main/main.c:328
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -12114,7 +12765,7 @@ msgstr ""
 "%s - сервер PostgreSQL.\n"
 "\n"
 
-#: main/main.c:307
+#: main/main.c:329
 #, c-format
 msgid ""
 "Usage:\n"
@@ -12125,114 +12776,114 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: main/main.c:308
+#: main/main.c:330
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: main/main.c:309
+#: main/main.c:331
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ЧИСЛО_БУФ       число разделяемых буферов\n"
 
-#: main/main.c:310
+#: main/main.c:332
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c ИМЯ=ЗНАЧЕНИЕ    установить параметр выполнения\n"
 
-#: main/main.c:311
+#: main/main.c:333
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C ИМЯ             вывести значение параметра выполнения и выйти\n"
 
-#: main/main.c:312
+#: main/main.c:334
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             уровень отладочных сообщений\n"
 
-#: main/main.c:313
+#: main/main.c:335
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D КАТАЛОГ         каталог с данными\n"
 
-#: main/main.c:314
+#: main/main.c:336
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 использовать европейский формат дат (ДМГ)\n"
 
-#: main/main.c:315
+#: main/main.c:337
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 выключить синхронизацию с ФС\n"
 
-#: main/main.c:316
+#: main/main.c:338
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h ИМЯ             имя или IP-адрес для приёма сетевых соединений\n"
 
-#: main/main.c:317
+#: main/main.c:339
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 включить соединения TCP/IP\n"
 
-#: main/main.c:318
+#: main/main.c:340
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k КАТАЛОГ         расположение доменных сокетов Unix\n"
 
-#: main/main.c:320
+#: main/main.c:342
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 разрешить SSL-подключения\n"
 
-#: main/main.c:322
+#: main/main.c:344
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N МАКС_ПОДКЛ      предельное число подключений\n"
 
-#: main/main.c:323
+#: main/main.c:345
 #, c-format
 msgid ""
 "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr ""
 "  -o ПАРАМЕТРЫ       параметры для серверных процессов (уже неактуально)\n"
 
-#: main/main.c:324
+#: main/main.c:346
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p ПОРТ            номер порта для приёма подключений\n"
 
-#: main/main.c:325
+#: main/main.c:347
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 показывать статистику после каждого запроса\n"
 
-#: main/main.c:326
+#: main/main.c:348
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S РАБ_ПАМЯТЬ      задать объём памяти для сортировки (в КБ)\n"
 
-#: main/main.c:327
+#: main/main.c:349
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      показать версию и выйти\n"
 
-#: main/main.c:328
+#: main/main.c:350
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --ИМЯ=ЗНАЧЕНИЕ     установить параметр выполнения\n"
 
-#: main/main.c:329
+#: main/main.c:351
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  вывести параметры конфигурации и выйти\n"
 
-#: main/main.c:330
+#: main/main.c:352
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         показать эту справку и выйти\n"
 
-#: main/main.c:332
+#: main/main.c:354
 #, c-format
 msgid ""
 "\n"
@@ -12241,12 +12892,12 @@ msgstr ""
 "\n"
 "Параметры для разработчиков:\n"
 
-#: main/main.c:333
+#: main/main.c:355
 #, 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:334
+#: main/main.c:356
 #, c-format
 msgid ""
 "  -n                 do not reinitialize shared memory after abnormal exit\n"
@@ -12254,22 +12905,22 @@ msgstr ""
 "  -n                 не переинициализировать разделяемую память после\n"
 "                     аварийного выхода\n"
 
-#: main/main.c:335
+#: main/main.c:357
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 разрешить изменять структуру системных таблиц\n"
 
-#: main/main.c:336
+#: main/main.c:358
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 отключить системные индексы\n"
 
-#: main/main.c:337
+#: main/main.c:359
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        показать время каждого запроса\n"
 
-#: main/main.c:338
+#: main/main.c:360
 #, c-format
 msgid ""
 "  -T                 send SIGSTOP to all backend processes if one dies\n"
@@ -12277,13 +12928,13 @@ msgstr ""
 "  -T                 посылать сигнал SIGSTOP всем серверным процессам\n"
 "                     при отключении одного\n"
 
-#: main/main.c:339
+#: main/main.c:361
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W СЕК             ждать заданное число секунд для подключения отладчика\n"
 
-#: main/main.c:341
+#: main/main.c:363
 #, c-format
 msgid ""
 "\n"
@@ -12292,7 +12943,7 @@ msgstr ""
 "\n"
 "Параметры для монопольного режима:\n"
 
-#: main/main.c:342
+#: main/main.c:364
 #, c-format
 msgid ""
 "  --single           selects single-user mode (must be first argument)\n"
@@ -12300,22 +12951,22 @@ msgstr ""
 "  --single           включить монопольный режим\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:343
+#: main/main.c:365
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  ИМЯ_БД             база данных (по умолчанию - имя пользователя)\n"
 
-#: main/main.c:344
+#: main/main.c:366
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             переопределить уровень отладочных сообщений\n"
 
-#: main/main.c:345
+#: main/main.c:367
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 выводить SQL-операторы перед выполнением\n"
 
-#: main/main.c:346
+#: main/main.c:368
 #, c-format
 msgid ""
 "  -j                 do not use newline as interactive query delimiter\n"
@@ -12323,12 +12974,12 @@ msgstr ""
 "  -j                 не считать конец строки разделителем интерактивных "
 "запросов\n"
 
-#: main/main.c:347 main/main.c:352
+#: main/main.c:369 main/main.c:374
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r ИМЯ_ФАЙЛА       перенаправить STDOUT и STDERR в указанный файл\n"
 
-#: main/main.c:349
+#: main/main.c:371
 #, c-format
 msgid ""
 "\n"
@@ -12337,7 +12988,7 @@ msgstr ""
 "\n"
 "Параметры для режима инициализации:\n"
 
-#: main/main.c:350
+#: main/main.c:372
 #, c-format
 msgid ""
 "  --boot             selects bootstrapping mode (must be first argument)\n"
@@ -12345,7 +12996,7 @@ msgstr ""
 "  --boot             включить режим инициализации\n"
 "                     (этот аргумент должен быть первым)\n"
 
-#: main/main.c:351
+#: main/main.c:373
 #, c-format
 msgid ""
 "  DBNAME             database name (mandatory argument in bootstrapping "
@@ -12353,12 +13004,12 @@ msgid ""
 msgstr ""
 "  ИМЯ_БД             имя базы данных (необходимо в режиме инициализации)\n"
 
-#: main/main.c:353
+#: main/main.c:375
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x ЧИСЛО           параметр для внутреннего использования\n"
 
-#: main/main.c:355
+#: main/main.c:377
 #, c-format
 msgid ""
 "\n"
@@ -12375,7 +13026,7 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: main/main.c:369
+#: main/main.c:391
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -12388,12 +13039,12 @@ msgstr ""
 "должен запускать обычный пользователь. Подробнее о том, как\n"
 "правильно запускать сервер, вы можете узнать в документации.\n"
 
-#: main/main.c:386
+#: main/main.c:408
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: фактический и эффективный ID пользователя должны совпадать\n"
 
-#: main/main.c:393
+#: main/main.c:415
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -12408,21 +13059,31 @@ msgstr ""
 "должен запускать обычный пользователь. Подробнее о том, как\n"
 "правильно запускать сервер, вы можете узнать в документации.\n"
 
-#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:1820
+#: nodes/extensible.c:66
+#, c-format
+msgid "extensible node type \"%s\" already exists"
+msgstr "расширенный тип узла \"%s\" уже существует"
+
+#: nodes/extensible.c:114
+#, c-format
+msgid "ExtensibleNodeMethods \"%s\" was not registered"
+msgstr "методы расширенного узла \"%s\" не зарегистрированы"
+
+#: nodes/nodeFuncs.c:124 nodes/nodeFuncs.c:155 parser/parse_coerce.c:1820
 #: parser/parse_coerce.c:1848 parser/parse_coerce.c:1924
-#: parser/parse_expr.c:1981 parser/parse_func.c:597 parser/parse_oper.c:952
+#: parser/parse_expr.c:1994 parser/parse_func.c:597 parser/parse_oper.c:952
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "тип массива для типа данных %s не найден"
 
-#: optimizer/path/allpaths.c:2272
+#: optimizer/path/allpaths.c:2625
 #, c-format
 msgid "WHERE CURRENT OF is not supported on a view with no underlying relation"
 msgstr ""
 "WHERE CURRENT OF поддерживается только для представлений, основанных на "
 "таблицах"
 
-#: optimizer/path/allpaths.c:2277
+#: optimizer/path/allpaths.c:2630
 #, c-format
 msgid ""
 "WHERE CURRENT OF is not supported on a view with more than one underlying "
@@ -12431,7 +13092,7 @@ msgstr ""
 "WHERE CURRENT OF не поддерживается для представлений, основанных на "
 "нескольких таблицах"
 
-#: optimizer/path/allpaths.c:2282
+#: optimizer/path/allpaths.c:2635
 #, c-format
 msgid ""
 "WHERE CURRENT OF is not supported on a view with grouping or aggregation"
@@ -12449,25 +13110,25 @@ msgstr ""
 "слиянием или хеш-соединение"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1104
+#: optimizer/plan/initsplan.c:1124
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s не может применяться к NULL-содержащей стороне внешнего соединения"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1330 parser/analyze.c:1481 parser/analyze.c:1679
-#: parser/analyze.c:2460
+#: optimizer/plan/planner.c:1484 parser/analyze.c:1503 parser/analyze.c:1701
+#: parser/analyze.c:2482
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s несовместимо с UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:3587
+#: optimizer/plan/planner.c:3751
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "не удалось реализовать GROUP BY"
 
-#: optimizer/plan/planner.c:3588 optimizer/plan/planner.c:3756
-#: optimizer/prep/prepunion.c:828
+#: optimizer/plan/planner.c:3752 optimizer/plan/planner.c:4094
+#: optimizer/prep/prepunion.c:927
 #, c-format
 msgid ""
 "Some of the datatypes only support hashing, while others only support "
@@ -12476,70 +13137,72 @@ msgstr ""
 "Одни типы данных поддерживают только хеширование, а другие - только "
 "сортировку."
 
-#: optimizer/plan/planner.c:3755
+#: optimizer/plan/planner.c:4093
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "не удалось реализовать DISTINCT"
 
-#: optimizer/plan/planner.c:4361
+#: optimizer/plan/planner.c:4632
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "не удалось реализовать PARTITION BY для окна"
 
-#: optimizer/plan/planner.c:4362
+#: optimizer/plan/planner.c:4633
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Столбцы, разбивающие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/plan/planner.c:4366
+#: optimizer/plan/planner.c:4637
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "не удалось реализовать ORDER BY для окна"
 
-#: optimizer/plan/planner.c:4367
+#: optimizer/plan/planner.c:4638
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Столбцы, сортирующие окна, должны иметь сортируемые типы данных."
 
-#: optimizer/plan/setrefs.c:411
+#: optimizer/plan/setrefs.c:422
 #, c-format
 msgid "too many range table entries"
 msgstr "слишком много элементов RTE"
 
-#: optimizer/prep/prepunion.c:421
+#: optimizer/prep/prepunion.c:480
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "не удалось реализовать рекурсивный UNION"
 
-#: optimizer/prep/prepunion.c:422
+#: optimizer/prep/prepunion.c:481
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Все столбцы должны иметь хешируемые типы данных."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:827
+#: optimizer/prep/prepunion.c:926
 #, c-format
 msgid "could not implement %s"
 msgstr "не удалось реализовать %s"
 
-#: optimizer/util/clauses.c:4597
+#: optimizer/util/clauses.c:4587
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "внедрённая в код SQL-функция \"%s\""
 
-#: optimizer/util/plancat.c:108
+#: optimizer/util/plancat.c:109
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr ""
 "обращаться к временным или нежурналируемым отношениям в процессе "
 "восстановления нельзя"
 
-#: optimizer/util/plancat.c:498
+#: optimizer/util/plancat.c:500
 #, c-format
-msgid "system columns cannot be used in an ON CONFLICT clause"
-msgstr "системные столбцы нельзя использовать в предложении ON CONFLICT"
+msgid "whole row unique index inference specifications are not supported"
+msgstr ""
+"указания со ссылкой на всю строку для выбора уникального индекса не "
+"поддерживаются"
 
-#: optimizer/util/plancat.c:516
+#: optimizer/util/plancat.c:517
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "ограничению в ON CONFLICT не соответствует индекс"
@@ -12549,7 +13212,7 @@ msgstr "ограничению в ON CONFLICT не соответствует и
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE не поддерживается с ограничениями-исключениями"
 
-#: optimizer/util/plancat.c:675
+#: optimizer/util/plancat.c:673
 #, c-format
 msgid ""
 "there is no unique or exclusion constraint matching the ON CONFLICT "
@@ -12558,22 +13221,22 @@ msgstr ""
 "нет уникального ограничения или ограничения-исключения, соответствующего "
 "указанию ON CONFLICT"
 
-#: parser/analyze.c:639 parser/analyze.c:1253
+#: parser/analyze.c:661 parser/analyze.c:1275
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "списки VALUES должны иметь одинаковую длину"
 
-#: parser/analyze.c:811
+#: parser/analyze.c:833
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT содержит больше выражений, чем целевых столбцов"
 
-#: parser/analyze.c:829
+#: parser/analyze.c:851
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT содержит больше целевых столбцов, чем выражений"
 
-#: parser/analyze.c:833
+#: parser/analyze.c:855
 #, c-format
 msgid ""
 "The insertion source is a row expression containing the same number of "
@@ -12582,34 +13245,34 @@ msgstr ""
 "Источником данных является строка, включающая столько же столбцов, сколько "
 "требуется для INSERT. Вы намеренно использовали скобки?"
 
-#: parser/analyze.c:1074 parser/analyze.c:1454
+#: parser/analyze.c:1096 parser/analyze.c:1476
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO здесь не допускается"
 
-#: parser/analyze.c:1267
+#: parser/analyze.c:1289
 #, c-format
 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:1386 parser/analyze.c:2630
+#: parser/analyze.c:1408 parser/analyze.c:2652
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s нельзя применять к VALUES"
 
-#: parser/analyze.c:1607
+#: parser/analyze.c:1629
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "неверное предложение UNION/INTERSECT/EXCEPT ORDER BY"
 
-#: parser/analyze.c:1608
+#: parser/analyze.c:1630
 #, c-format
 msgid "Only result column names can be used, not expressions or functions."
 msgstr ""
 "Допустимо использование только имён столбцов, но не выражений или функций."
 
-#: parser/analyze.c:1609
+#: parser/analyze.c:1631
 #, c-format
 msgid ""
 "Add the expression/function to every SELECT, or move the UNION into a FROM "
@@ -12618,12 +13281,12 @@ msgstr ""
 "Добавьте выражение/функцию в каждый SELECT или перенесите UNION в "
 "предложение FROM."
 
-#: parser/analyze.c:1669
+#: parser/analyze.c:1691
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO можно добавить только в первый SELECT в UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1733
+#: parser/analyze.c:1755
 #, c-format
 msgid ""
 "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of "
@@ -12632,283 +13295,283 @@ msgstr ""
 "оператор, составляющий UNION/INTERSECT/EXCEPT, не может ссылаться на другие "
 "отношения на том же уровне запроса"
 
-#: parser/analyze.c:1822
+#: parser/analyze.c:1844
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "все запросы в %s должны возвращать одинаковое число столбцов"
 
-#: parser/analyze.c:2215
+#: parser/analyze.c:2237
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "в RETURNING должен быть минимум один столбец"
 
-#: parser/analyze.c:2252
+#: parser/analyze.c:2274
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "противоречивые указания SCROLL и NO SCROLL"
 
-#: parser/analyze.c:2270
+#: parser/analyze.c:2292
 #, 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:2278
+#: parser/analyze.c:2300
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживается"
 
-#: parser/analyze.c:2281
+#: parser/analyze.c:2303
 #, 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:2289
+#: parser/analyze.c:2311
 #, 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:2300
+#: parser/analyze.c:2322
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s не поддерживается"
 
-#: parser/analyze.c:2303
+#: parser/analyze.c:2325
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Независимые курсоры должны быть READ ONLY."
 
-#: parser/analyze.c:2369
+#: parser/analyze.c:2391
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr ""
 "в материализованных представлениях не должны использоваться операторы, "
 "изменяющие данные в WITH"
 
-#: parser/analyze.c:2379
+#: parser/analyze.c:2401
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr ""
 "в материализованных представлениях не должны использоваться временные "
 "таблицы и представления"
 
-#: parser/analyze.c:2389
+#: parser/analyze.c:2411
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr ""
 "определять материализованные представления со связанными параметрами нельзя"
 
-#: parser/analyze.c:2401
+#: parser/analyze.c:2423
 #, 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:2467
+#: parser/analyze.c:2489
 #, 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:2474
+#: parser/analyze.c:2496
 #, 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:2481
+#: parser/analyze.c:2503
 #, 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:2488
+#: parser/analyze.c:2510
 #, 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:2495
+#: parser/analyze.c:2517
 #, 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:2502
+#: parser/analyze.c:2524
 #, 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:2581
+#: parser/analyze.c:2603
 #, 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:2612
+#: parser/analyze.c:2634
 #, 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:2621
+#: parser/analyze.c:2643
 #, 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:2639
+#: parser/analyze.c:2661
 #, 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:2656
+#: parser/analyze.c:2678
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM"
 
-#: parser/parse_agg.c:207 parser/parse_oper.c:220
+#: parser/parse_agg.c:208 parser/parse_oper.c:220
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "для типа %s не удалось найти оператор сортировки"
 
-#: parser/parse_agg.c:209
+#: parser/parse_agg.c:210
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные."
 
-#: parser/parse_agg.c:244
+#: parser/parse_agg.c:245
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "у GROUPING должно быть меньше 32 аргументов"
 
-#: parser/parse_agg.c:347
+#: parser/parse_agg.c:348
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "агрегатные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:349
+#: parser/parse_agg.c:350
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "операции группировки нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:361
+#: parser/parse_agg.c:362
 msgid ""
 "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr ""
 "агрегатные функции нельзя применять в предложении FROM их уровня запроса"
 
-#: parser/parse_agg.c:363
+#: parser/parse_agg.c:364
 msgid ""
 "grouping operations are not allowed in FROM clause of their own query level"
 msgstr ""
 "операции группировки нельзя применять в предложении FROM их уровня запроса"
 
-#: parser/parse_agg.c:368
+#: parser/parse_agg.c:369
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "агрегатные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:370
+#: parser/parse_agg.c:371
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "операции группировки нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:378
+#: parser/parse_agg.c:379
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "агрегатные функции нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:380
+#: parser/parse_agg.c:381
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "операции группировки нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:397
+#: parser/parse_agg.c:398
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "агрегатные функции нельзя применять в указании RANGE для окна"
 
-#: parser/parse_agg.c:399
+#: parser/parse_agg.c:400
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "операции группировки нельзя применять в указании RANGE для окна"
 
-#: parser/parse_agg.c:404
+#: parser/parse_agg.c:405
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "агрегатные функции нельзя применять в указании ROWS для окна"
 
-#: parser/parse_agg.c:406
+#: parser/parse_agg.c:407
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "операции группировки нельзя применять в указании ROWS для окна"
 
-#: parser/parse_agg.c:439
+#: parser/parse_agg.c:440
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "агрегатные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:441
+#: parser/parse_agg.c:442
 msgid "grouping operations are not allowed in check constraints"
 msgstr "операции группировки нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:448
+#: parser/parse_agg.c:449
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "агрегатные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:450
+#: parser/parse_agg.c:451
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "операции группировки нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:455
+#: parser/parse_agg.c:456
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "агрегатные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:457
+#: parser/parse_agg.c:458
 msgid "grouping operations are not allowed in index expressions"
 msgstr "операции группировки нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:462
+#: parser/parse_agg.c:463
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "агрегатные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:464
+#: parser/parse_agg.c:465
 msgid "grouping operations are not allowed in index predicates"
 msgstr "операции группировки нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:470
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "агрегатные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:471
+#: parser/parse_agg.c:472
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "операции группировки нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:477
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "агрегатные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:478
+#: parser/parse_agg.c:479
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "операции группировки нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:483
+#: parser/parse_agg.c:484
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "агрегатные функции нельзя применять в условиях WHEN для триггеров"
 
-#: parser/parse_agg.c:485
+#: parser/parse_agg.c:486
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "операции группировки нельзя применять в условиях WHEN для триггеров"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:508 parser/parse_clause.c:1548
+#: parser/parse_agg.c:509 parser/parse_clause.c:1550
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "агрегатные функции нельзя применять в конструкции %s"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:512
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "операции группировки нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:619
+#: parser/parse_agg.c:620
 #, c-format
 msgid ""
 "outer-level aggregate cannot contain a lower-level variable in its direct "
@@ -12917,79 +13580,79 @@ msgstr ""
 "агрегатная функция внешнего уровня не может содержать в своих аргументах "
 "переменные нижнего уровня"
 
-#: parser/parse_agg.c:690
+#: parser/parse_agg.c:691
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "вызовы агрегатных функций не могут включать вызовы оконных функции"
 
-#: parser/parse_agg.c:768
+#: parser/parse_agg.c:769
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "оконные функции нельзя применять в условиях JOIN"
 
-#: parser/parse_agg.c:775
+#: parser/parse_agg.c:776
 msgid "window functions are not allowed in functions in FROM"
 msgstr "оконные функции нельзя применять в функциях во FROM"
 
-#: parser/parse_agg.c:781
+#: parser/parse_agg.c:782
 msgid "window functions are not allowed in policy expressions"
 msgstr "оконные функции нельзя применять в выражениях политик"
 
-#: parser/parse_agg.c:793
+#: parser/parse_agg.c:794
 msgid "window functions are not allowed in window definitions"
 msgstr "оконные функции нельзя применять в определении окна"
 
-#: parser/parse_agg.c:824
+#: parser/parse_agg.c:825
 msgid "window functions are not allowed in check constraints"
 msgstr "оконные функции нельзя применять в ограничениях-проверках"
 
-#: parser/parse_agg.c:828
+#: parser/parse_agg.c:829
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "оконные функции нельзя применять в выражениях DEFAULT"
 
-#: parser/parse_agg.c:831
+#: parser/parse_agg.c:832
 msgid "window functions are not allowed in index expressions"
 msgstr "оконные функции нельзя применять в выражениях индексов"
 
-#: parser/parse_agg.c:834
+#: parser/parse_agg.c:835
 msgid "window functions are not allowed in index predicates"
 msgstr "оконные функции нельзя применять в предикатах индексов"
 
-#: parser/parse_agg.c:837
+#: parser/parse_agg.c:838
 msgid "window functions are not allowed in transform expressions"
 msgstr "оконные функции нельзя применять в выражениях преобразований"
 
-#: parser/parse_agg.c:840
+#: parser/parse_agg.c:841
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "оконные функции нельзя применять в параметрах EXECUTE"
 
-#: parser/parse_agg.c:843
+#: parser/parse_agg.c:844
 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:863 parser/parse_clause.c:1557
+#: parser/parse_agg.c:864 parser/parse_clause.c:1559
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "оконные функции нельзя применять в конструкции %s"
 
-#: parser/parse_agg.c:897 parser/parse_clause.c:2394
+#: parser/parse_agg.c:898 parser/parse_clause.c:2396
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "окно \"%s\" не существует"
 
-#: parser/parse_agg.c:982
+#: parser/parse_agg.c:983
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "слишком много наборов группирования (при максимуме 4096)"
 
-#: parser/parse_agg.c:1131
+#: parser/parse_agg.c:1132
 #, c-format
 msgid ""
 "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr ""
 "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы"
 
-#: parser/parse_agg.c:1324
+#: parser/parse_agg.c:1325
 #, c-format
 msgid ""
 "column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
@@ -12998,7 +13661,7 @@ msgstr ""
 "столбец \"%s.%s\" должен фигурировать в предложении GROUP BY или "
 "использоваться в агрегатной функции"
 
-#: parser/parse_agg.c:1327
+#: parser/parse_agg.c:1328
 #, c-format
 msgid ""
 "Direct arguments of an ordered-set aggregate must use only grouped columns."
@@ -13006,13 +13669,13 @@ msgstr ""
 "Прямые аргументы сортирующей агрегатной функции могут включать только "
 "группируемые столбцы."
 
-#: parser/parse_agg.c:1332
+#: parser/parse_agg.c:1333
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr ""
 "подзапрос использует негруппированный столбец \"%s.%s\" из внешнего запроса"
 
-#: parser/parse_agg.c:1496
+#: parser/parse_agg.c:1497
 #, c-format
 msgid ""
 "arguments to GROUPING must be grouping expressions of the associated query "
@@ -13021,14 +13684,14 @@ msgstr ""
 "аргументами GROUPING должны быть выражения группирования для "
 "соответствующего уровня запроса"
 
-#: parser/parse_clause.c:647
+#: parser/parse_clause.c:649
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr ""
 "для одной и той же функции нельзя задать разные списки с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:680
+#: parser/parse_clause.c:682
 #, c-format
 msgid ""
 "ROWS FROM() with multiple functions cannot have a column definition list"
@@ -13036,7 +13699,7 @@ msgstr ""
 "у ROWS FROM() с несколькими функциями не может быть списка с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:681
+#: parser/parse_clause.c:683
 #, c-format
 msgid ""
 "Put a separate column definition list for each function inside ROWS FROM()."
@@ -13044,14 +13707,14 @@ msgstr ""
 "Добавьте отдельные списки с определениями столбцов для каждой функции в ROWS "
 "FROM()."
 
-#: parser/parse_clause.c:687
+#: parser/parse_clause.c:689
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr ""
 "у UNNEST() с несколькими аргументами не может быть списка с определениями "
 "столбцов"
 
-#: parser/parse_clause.c:688
+#: parser/parse_clause.c:690
 #, c-format
 msgid ""
 "Use separate UNNEST() calls inside ROWS FROM(), and attach a column "
@@ -13060,28 +13723,23 @@ msgstr ""
 "Напишите отдельные вызовы UNNEST() внутри ROWS FROM() и добавьте список с "
 "определениями столбцов к каждому."
 
-#: parser/parse_clause.c:695
+#: parser/parse_clause.c:697
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr ""
 "WITH ORDINALITY нельзя использовать со списком с определениями столбцов"
 
-#: parser/parse_clause.c:696
+#: parser/parse_clause.c:698
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Поместите список с определениями столбцов внутрь ROWS FROM()."
 
-#: parser/parse_clause.c:751
+#: parser/parse_clause.c:753
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "метод %s для получения выборки не существует"
 
-#: parser/parse_clause.c:759
-#, c-format
-msgid "function %s must return type \"tsm_handler\""
-msgstr "функция %s должна возвращать тип \"tsm_handler\""
-
-#: parser/parse_clause.c:773
+#: parser/parse_clause.c:775
 #, c-format
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
@@ -13089,103 +13747,103 @@ msgstr[0] "метод %s для получения выборки требует
 msgstr[1] "метод %s для получения выборки требует аргументов: %d, получено: %d"
 msgstr[2] "метод %s для получения выборки требует аргументов: %d, получено: %d"
 
-#: parser/parse_clause.c:807
+#: parser/parse_clause.c:809
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "метод %s для получения выборки не поддерживает REPEATABLE"
 
-#: parser/parse_clause.c:938
+#: parser/parse_clause.c:940
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr ""
 "предложение TABLESAMPLE можно применять только к таблицам и "
 "материализованным представлениям"
 
-#: parser/parse_clause.c:1108
+#: parser/parse_clause.c:1110
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "имя столбца \"%s\" фигурирует в предложении USING неоднократно"
 
-#: parser/parse_clause.c:1123
+#: parser/parse_clause.c:1125
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "имя общего столбца \"%s\" фигурирует в таблице слева неоднократно"
 
-#: parser/parse_clause.c:1132
+#: parser/parse_clause.c:1134
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "в таблице слева нет столбца \"%s\", указанного в предложении USING"
 
-#: parser/parse_clause.c:1146
+#: parser/parse_clause.c:1148
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "имя общего столбца \"%s\" фигурирует в таблице справа неоднократно"
 
-#: parser/parse_clause.c:1155
+#: parser/parse_clause.c:1157
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "в таблице справа нет столбца \"%s\", указанного в предложении USING"
 
-#: parser/parse_clause.c:1209
+#: parser/parse_clause.c:1211
 #, 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:1518
+#: parser/parse_clause.c:1520
 #, 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:1683
+#: parser/parse_clause.c:1685
 #, 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:1712
+#: parser/parse_clause.c:1714
 #, 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:1734
+#: parser/parse_clause.c:1736
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "в списке выборки %s нет элемента %d"
 
-#: parser/parse_clause.c:2176
+#: parser/parse_clause.c:2178
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE имеет ограничение в 12 элементов"
 
-#: parser/parse_clause.c:2382
+#: parser/parse_clause.c:2384
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "окно \"%s\" уже определено"
 
-#: parser/parse_clause.c:2444
+#: parser/parse_clause.c:2446
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "переопределить предложение PARTITION BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:2456
+#: parser/parse_clause.c:2458
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "переопределить предложение ORDER BY для окна \"%s\" нельзя"
 
-#: parser/parse_clause.c:2486 parser/parse_clause.c:2492
+#: parser/parse_clause.c:2488 parser/parse_clause.c:2494
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "скопировать окно \"%s\", имеющее предложение рамки, нельзя"
 
-#: parser/parse_clause.c:2494
+#: parser/parse_clause.c:2496
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Уберите скобки в предложении OVER."
 
-#: parser/parse_clause.c:2560
+#: parser/parse_clause.c:2562
 #, c-format
 msgid ""
 "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
@@ -13194,68 +13852,68 @@ msgstr ""
 "для агрегатной функции с DISTINCT, выражения ORDER BY должны быть в списке "
 "аргументов"
 
-#: parser/parse_clause.c:2561
+#: parser/parse_clause.c:2563
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 "в конструкции SELECT DISTINCT выражения ORDER BY должны быть в списке выборки"
 
-#: parser/parse_clause.c:2594
+#: parser/parse_clause.c:2596
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "агрегатной функции с DISTINCT нужен минимум один аргумент"
 
-#: parser/parse_clause.c:2595
+#: parser/parse_clause.c:2597
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "в SELECT DISTINCT нужен минимум один столбец"
 
-#: parser/parse_clause.c:2661 parser/parse_clause.c:2693
+#: parser/parse_clause.c:2663 parser/parse_clause.c:2695
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "выражения SELECT DISTINCT ON должны соответствовать начальным выражениям "
 "ORDER BY"
 
-#: parser/parse_clause.c:2772
+#: parser/parse_clause.c:2774
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC нельзя использовать в ON CONFLICT"
 
-#: parser/parse_clause.c:2778
+#: parser/parse_clause.c:2780
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST нельзя использовать в ON CONFLICT"
 
-#: parser/parse_clause.c:2858
+#: parser/parse_clause.c:2860
 #, c-format
 msgid ""
 "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr ""
 "в ON CONFLICT DO UPDATE требуется наводящее указание или имя ограничения"
 
-#: parser/parse_clause.c:2859
+#: parser/parse_clause.c:2861
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Например: ON CONFLICT (имя_столбца)."
 
-#: parser/parse_clause.c:2870
+#: parser/parse_clause.c:2872
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT с таблицами системного каталога не поддерживается"
 
-#: parser/parse_clause.c:2878
+#: parser/parse_clause.c:2880
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr ""
 "ON CONFLICT не поддерживается для таблицы \"%s\", служащей таблицей каталога"
 
-#: parser/parse_clause.c:3010
+#: parser/parse_clause.c:3012
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "оператор %s не годится для сортировки"
 
-#: parser/parse_clause.c:3012
+#: parser/parse_clause.c:3014
 #, c-format
 msgid ""
 "Ordering operators must be \"<\" or \">\" members of btree operator families."
@@ -13265,7 +13923,7 @@ msgstr ""
 
 #: parser/parse_coerce.c:971 parser/parse_coerce.c:1001
 #: parser/parse_coerce.c:1019 parser/parse_coerce.c:1034
-#: parser/parse_expr.c:2015 parser/parse_expr.c:2528 parser/parse_target.c:874
+#: parser/parse_expr.c:2028 parser/parse_expr.c:2552 parser/parse_target.c:874
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "привести тип %s к %s нельзя"
@@ -13574,141 +14232,141 @@ msgstr "неоднозначная ссылка на столбец \"%s\""
 msgid "there is no parameter $%d"
 msgstr "параметр $%d не существует"
 
-#: parser/parse_expr.c:1034
+#: parser/parse_expr.c:1042
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "для NULLIF требуется, чтобы оператор = возвращал логическое значение"
 
-#: parser/parse_expr.c:1468 gram.y:9745
+#: parser/parse_expr.c:1476 gram.y:9868
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "число столбцов не равно числу значений"
 
-#: parser/parse_expr.c:1697
+#: parser/parse_expr.c:1705
 msgid "cannot use subquery in check constraint"
 msgstr "в ограничении-проверке нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1701
+#: parser/parse_expr.c:1709
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "в выражении DEFAULT нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1704
+#: parser/parse_expr.c:1712
 msgid "cannot use subquery in index expression"
 msgstr "в индексном выражении нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1707
+#: parser/parse_expr.c:1715
 msgid "cannot use subquery in index predicate"
 msgstr "в предикате индекса нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1710
+#: parser/parse_expr.c:1718
 msgid "cannot use subquery in transform expression"
 msgstr "нельзя использовать подзапрос в выражении преобразования"
 
-#: parser/parse_expr.c:1713
+#: parser/parse_expr.c:1721
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "в качестве параметра EXECUTE нельзя использовать подзапрос"
 
-#: parser/parse_expr.c:1716
+#: parser/parse_expr.c:1724
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "в условии WHEN для триггера нельзя использовать подзапросы"
 
-#: parser/parse_expr.c:1770
+#: parser/parse_expr.c:1778
 #, c-format
 msgid "subquery must return only one column"
 msgstr "подзапрос должен вернуть только один столбец"
 
-#: parser/parse_expr.c:1854
+#: parser/parse_expr.c:1862
 #, c-format
 msgid "subquery has too many columns"
 msgstr "в подзапросе слишком много столбцов"
 
-#: parser/parse_expr.c:1859
+#: parser/parse_expr.c:1867
 #, c-format
 msgid "subquery has too few columns"
 msgstr "в подзапросе недостаточно столбцов"
 
-#: parser/parse_expr.c:1955
+#: parser/parse_expr.c:1968
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "тип пустого массива определить нельзя"
 
-#: parser/parse_expr.c:1956
+#: parser/parse_expr.c:1969
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr ""
 "Приведите его к желаемому типу явным образом, например ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1970
+#: parser/parse_expr.c:1983
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "не удалось определить тип элемента для типа данных %s"
 
-#: parser/parse_expr.c:2193
+#: parser/parse_expr.c:2206
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "вместо значения XML-атрибута без имени должен указываться столбец"
 
-#: parser/parse_expr.c:2194
+#: parser/parse_expr.c:2207
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "вместо значения XML-элемента без имени должен указываться столбец"
 
-#: parser/parse_expr.c:2209
+#: parser/parse_expr.c:2222
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "имя XML-атрибута \"%s\" указано неоднократно"
 
-#: parser/parse_expr.c:2316
+#: parser/parse_expr.c:2329
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "привести результат XMLSERIALIZE к типу %s нельзя"
 
-#: parser/parse_expr.c:2601 parser/parse_expr.c:2797
+#: parser/parse_expr.c:2625 parser/parse_expr.c:2821
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "разное число элементов в строках"
 
-#: parser/parse_expr.c:2611
+#: parser/parse_expr.c:2635
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "строки нулевой длины сравнивать нельзя"
 
-#: parser/parse_expr.c:2636
+#: parser/parse_expr.c:2660
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr ""
 "оператор сравнения строк должен выдавать результат логического типа, а не %s"
 
-#: parser/parse_expr.c:2643
+#: parser/parse_expr.c:2667
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "оператор сравнения строк не должен возвращать множество"
 
-#: parser/parse_expr.c:2702 parser/parse_expr.c:2743
+#: parser/parse_expr.c:2726 parser/parse_expr.c:2767
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "не удалось выбрать интерпретацию оператора сравнения строк %s"
 
-#: parser/parse_expr.c:2704
+#: parser/parse_expr.c:2728
 #, c-format
 msgid ""
 "Row comparison operators must be associated with btree operator families."
 msgstr ""
 "Операторы сравнения строк должны быть связаны с семейством операторов btree."
 
-#: parser/parse_expr.c:2745
+#: parser/parse_expr.c:2769
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Оказалось несколько равноценных кандидатур."
 
-#: parser/parse_expr.c:2837
+#: parser/parse_expr.c:2861
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr ""
 "для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое "
 "значение"
 
-#: parser/parse_expr.c:3127 parser/parse_expr.c:3145
+#: parser/parse_expr.c:3151 parser/parse_expr.c:3169
 #, c-format
 msgid "operator precedence change: %s is now lower precedence than %s"
 msgstr ""
@@ -13848,52 +14506,52 @@ msgstr ""
 msgid "VARIADIC argument must be an array"
 msgstr "параметр VARIADIC должен быть массивом"
 
-#: parser/parse_func.c:668 parser/parse_func.c:732
+#: parser/parse_func.c:669 parser/parse_func.c:733
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "агрегатная функция без параметров должна вызываться так: %s(*)"
 
-#: parser/parse_func.c:675
+#: parser/parse_func.c:676
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "агрегатные функции не могут возвращать множества"
 
-#: parser/parse_func.c:690
+#: parser/parse_func.c:691
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "у агрегатных функций не может быть именованных аргументов"
 
-#: parser/parse_func.c:722
+#: parser/parse_func.c:723
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "предложение DISTINCT для оконных функций не реализовано"
 
-#: parser/parse_func.c:742
+#: parser/parse_func.c:743
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано"
 
-#: parser/parse_func.c:751
+#: parser/parse_func.c:752
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "предложение FILTER для не агрегатных оконных функций не реализовано"
 
-#: parser/parse_func.c:757
+#: parser/parse_func.c:758
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "оконные функции не могут возвращать множества"
 
-#: parser/parse_func.c:2007
+#: parser/parse_func.c:2008
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "агрегатная функция %s(*) не существует"
 
-#: parser/parse_func.c:2012
+#: parser/parse_func.c:2013
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "агрегатная функция %s не существует"
 
-#: parser/parse_func.c:2031
+#: parser/parse_func.c:2032
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "функция \"%s\" не является агрегатной"
@@ -13908,12 +14566,12 @@ msgstr "допустимое число элементов в целевом с
 msgid "cannot subscript type %s because it is not an array"
 msgstr "тип %s - не массив и для него нельзя указать индекс элемента"
 
-#: parser/parse_node.c:356 parser/parse_node.c:383
+#: parser/parse_node.c:356 parser/parse_node.c:393
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "индекс элемента массива должен быть целочисленным"
 
-#: parser/parse_node.c:407
+#: parser/parse_node.c:424
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr ""
@@ -13931,8 +14589,8 @@ msgid "Use an explicit ordering operator or modify the query."
 msgstr "Используйте явный оператор сортировки или измените запрос."
 
 #: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782
-#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3613
-#: utils/adt/arrayfuncs.c:4051 utils/adt/arrayfuncs.c:6029
+#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3639
+#: utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6055
 #: utils/adt/rowtypes.c:1167
 #, c-format
 msgid "could not identify an equality operator for type %s"
@@ -14199,7 +14857,7 @@ msgstr "неправильное указание %%TYPE (слишком мно
 msgid "type reference %s converted to %s"
 msgstr "ссылка на тип %s преобразована в тип %s"
 
-#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:238
+#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:239
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "тип \"%s\" - лишь пустышка"
@@ -14219,133 +14877,133 @@ msgstr "модификатором типа должна быть простая
 msgid "invalid type name \"%s\""
 msgstr "неверное имя типа \"%s\""
 
-#: parser/parse_utilcmd.c:358
+#: parser/parse_utilcmd.c:399
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "массивы с типом serial не реализованы"
 
-#: parser/parse_utilcmd.c:406
+#: parser/parse_utilcmd.c:447
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s создаст последовательность \"%s\" для столбца serial \"%s.%s\""
 
-#: parser/parse_utilcmd.c:500 parser/parse_utilcmd.c:512
+#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:553
 #, c-format
 msgid ""
 "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "конфликт NULL/NOT NULL в объявлении столбца \"%s\" таблицы \"%s\""
 
-#: parser/parse_utilcmd.c:524
+#: parser/parse_utilcmd.c:565
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr ""
 "для столбца \"%s\" таблицы \"%s\" указано несколько значений по умолчанию"
 
-#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:632
+#: parser/parse_utilcmd.c:582 parser/parse_utilcmd.c:673
 #, c-format
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "ограничения первичного ключа для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:550 parser/parse_utilcmd.c:642
+#: parser/parse_utilcmd.c:591 parser/parse_utilcmd.c:683
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "ограничения уникальности для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:666
+#: parser/parse_utilcmd.c:608 parser/parse_utilcmd.c:707
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "ограничения внешнего ключа для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:652
+#: parser/parse_utilcmd.c:693
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "ограничения-исключения для сторонних таблиц не поддерживаются"
 
-#: parser/parse_utilcmd.c:716
+#: parser/parse_utilcmd.c:757
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE при создании сторонних таблиц не поддерживается"
 
-#: parser/parse_utilcmd.c:1239 parser/parse_utilcmd.c:1315
+#: parser/parse_utilcmd.c:1288 parser/parse_utilcmd.c:1364
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы."
 
-#: parser/parse_utilcmd.c:1584
+#: parser/parse_utilcmd.c:1634
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "в CREATE TABLE нельзя использовать существующий индекс"
 
-#: parser/parse_utilcmd.c:1604
+#: parser/parse_utilcmd.c:1654
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "индекс \"%s\" уже связан с ограничением"
 
-#: parser/parse_utilcmd.c:1612
+#: parser/parse_utilcmd.c:1662
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "индекс \"%s\" не принадлежит таблице \"%s\""
 
-#: parser/parse_utilcmd.c:1619
+#: parser/parse_utilcmd.c:1669
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "индекс \"%s\" - нерабочий"
 
-#: parser/parse_utilcmd.c:1625
+#: parser/parse_utilcmd.c:1675
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "\"%s\" не является уникальным индексом"
 
-#: parser/parse_utilcmd.c:1626 parser/parse_utilcmd.c:1633
-#: parser/parse_utilcmd.c:1640 parser/parse_utilcmd.c:1710
+#: parser/parse_utilcmd.c:1676 parser/parse_utilcmd.c:1683
+#: parser/parse_utilcmd.c:1690 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr ""
 "Создать первичный ключ или ограничение уникальности для такого индекса "
 "нельзя."
 
-#: parser/parse_utilcmd.c:1632
+#: parser/parse_utilcmd.c:1682
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "индекс \"%s\" содержит выражения"
 
-#: parser/parse_utilcmd.c:1639
+#: parser/parse_utilcmd.c:1689
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "\"%s\" - частичный индекс"
 
-#: parser/parse_utilcmd.c:1651
+#: parser/parse_utilcmd.c:1701
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "\"%s\" - откладываемый индекс"
 
-#: parser/parse_utilcmd.c:1652
+#: parser/parse_utilcmd.c:1702
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr ""
 "Создать не откладываемое ограничение на базе откладываемого индекса нельзя."
 
-#: parser/parse_utilcmd.c:1709
+#: parser/parse_utilcmd.c:1759
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "для индекса \"%s\" не определено поведение при сортировке по умолчанию"
 
-#: parser/parse_utilcmd.c:1856
+#: parser/parse_utilcmd.c:1906
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "столбец \"%s\" фигурирует в первичном ключе дважды"
 
-#: parser/parse_utilcmd.c:1862
+#: parser/parse_utilcmd.c:1912
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды"
 
-#: parser/parse_utilcmd.c:2032
+#: parser/parse_utilcmd.c:2116
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "индексное выражение не может возвращать множество"
 
-#: parser/parse_utilcmd.c:2043
+#: parser/parse_utilcmd.c:2127
 #, c-format
 msgid ""
 "index expressions and predicates can refer only to the table being indexed"
@@ -14353,17 +15011,17 @@ msgstr ""
 "индексные выражения и предикаты могут ссылаться только на индексируемую "
 "таблицу"
 
-#: parser/parse_utilcmd.c:2089
+#: parser/parse_utilcmd.c:2173
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "правила для материализованных представлений не поддерживаются"
 
-#: parser/parse_utilcmd.c:2150
+#: parser/parse_utilcmd.c:2234
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения"
 
-#: parser/parse_utilcmd.c:2222
+#: parser/parse_utilcmd.c:2306
 #, c-format
 msgid ""
 "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE "
@@ -14372,106 +15030,95 @@ msgstr ""
 "правила с условиями WHERE могут содержать только действия SELECT, INSERT, "
 "UPDATE или DELETE"
 
-#: parser/parse_utilcmd.c:2240 parser/parse_utilcmd.c:2339
-#: rewrite/rewriteHandler.c:478 rewrite/rewriteManip.c:1015
+#: parser/parse_utilcmd.c:2324 parser/parse_utilcmd.c:2423
+#: rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы"
 
-#: parser/parse_utilcmd.c:2258
+#: parser/parse_utilcmd.c:2342
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "в правиле ON SELECT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:2262
+#: parser/parse_utilcmd.c:2346
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "в правиле ON SELECT нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:2271
+#: parser/parse_utilcmd.c:2355
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "в правиле ON INSERT нельзя использовать OLD"
 
-#: parser/parse_utilcmd.c:2277
+#: parser/parse_utilcmd.c:2361
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "в правиле ON DELETE нельзя использовать NEW"
 
-#: parser/parse_utilcmd.c:2305
+#: parser/parse_utilcmd.c:2389
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на OLD"
 
-#: parser/parse_utilcmd.c:2312
+#: parser/parse_utilcmd.c:2396
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "в запросе WITH нельзя ссылаться на NEW"
 
-#: parser/parse_utilcmd.c:2515
+#: parser/parse_utilcmd.c:2599
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "выражение преобразования не должно возвращать множество"
 
-#: parser/parse_utilcmd.c:2629
+#: parser/parse_utilcmd.c:2713
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "предложение DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2634 parser/parse_utilcmd.c:2649
+#: parser/parse_utilcmd.c:2718 parser/parse_utilcmd.c:2733
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз"
 
-#: parser/parse_utilcmd.c:2644
+#: parser/parse_utilcmd.c:2728
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "предложение NOT DEFERRABLE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2657 parser/parse_utilcmd.c:2683 gram.y:4852
+#: parser/parse_utilcmd.c:2741 parser/parse_utilcmd.c:2767 gram.y:4893
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr ""
 "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как "
 "DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2665
+#: parser/parse_utilcmd.c:2749
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "предложение INITIALLY DEFERRED расположено неправильно"
 
-#: parser/parse_utilcmd.c:2670 parser/parse_utilcmd.c:2696
+#: parser/parse_utilcmd.c:2754 parser/parse_utilcmd.c:2780
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз"
 
-#: parser/parse_utilcmd.c:2691
+#: parser/parse_utilcmd.c:2775
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "предложение INITIALLY IMMEDIATE расположено неправильно"
 
-#: parser/parse_utilcmd.c:2882
+#: parser/parse_utilcmd.c:2966
 #, c-format
 msgid ""
 "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "в CREATE указана схема (%s), отличная от создаваемой (%s)"
 
-#: parser/scansup.c:194
+#: parser/scansup.c:204
 #, c-format
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "идентификатор \"%s\" будет усечён до \"%s\""
 
-#: port/pg_latch.c:344 port/unix_latch.c:344
-#, c-format
-msgid "poll() failed: %m"
-msgstr "ошибка в poll(): %m"
-
-#: port/pg_latch.c:440 port/unix_latch.c:440
-#: replication/libpqwalreceiver/libpqwalreceiver.c:374
-#, c-format
-msgid "select() failed: %m"
-msgstr "ошибка в select(): %m"
-
 #: port/pg_sema.c:113 port/sysv_sema.c:113
 #, c-format
 msgid "could not create semaphores: %m"
@@ -14600,12 +15247,12 @@ msgstr "гигантские страницы на этой платформе 
 msgid "could not stat data directory \"%s\": %m"
 msgstr "не удалось получить информацию о каталоге данных \"%s\": %m"
 
-#: port/win32/crashdump.c:108
+#: port/win32/crashdump.c:122
 #, c-format
 msgid "could not load dbghelp.dll, cannot write crash dump\n"
 msgstr "не удалось загрузить dbghelp.dll, сохранить аварийный дамп нельзя\n"
 
-#: port/win32/crashdump.c:116
+#: port/win32/crashdump.c:130
 #, c-format
 msgid ""
 "could not load required functions in dbghelp.dll, cannot write crash dump\n"
@@ -14613,52 +15260,36 @@ msgstr ""
 "не удалось найти требуемые функции в dbghelp.dll, сохранить аварийный дамп "
 "нельзя\n"
 
-#: port/win32/crashdump.c:147
+#: port/win32/crashdump.c:161
 #, c-format
 msgid "could not open crash dump file \"%s\" for writing: error code %lu\n"
 msgstr "не удалось открыть файл дампа \"%s\" для записи (код ошибки: %lu)\n"
 
-#: port/win32/crashdump.c:154
+#: port/win32/crashdump.c:168
 #, c-format
 msgid "wrote crash dump to file \"%s\"\n"
 msgstr "аварийный дамп записан в файл\"%s\"\n"
 
-#: port/win32/crashdump.c:156
+#: port/win32/crashdump.c:170
 #, c-format
 msgid "could not write crash dump to file \"%s\": error code %lu\n"
 msgstr "не удалось записать аварийный дамп в файл \"%s\" (код ошибки: %lu)\n"
 
-#: port/win32/security.c:43
-#, c-format
-msgid "could not open process token: error code %lu\n"
-msgstr "не удалось открыть маркер процесса (код ошибки: %lu)\n"
-
-#: port/win32/security.c:63
-#, c-format
-msgid "could not get SID for Administrators group: error code %lu\n"
-msgstr "не удалось получить SID группы Администраторы (код ошибки: %lu)\n"
-
-#: port/win32/security.c:72
-#, c-format
-msgid "could not get SID for PowerUsers group: error code %lu\n"
-msgstr ""
-"не удалось получить SID группы Опытные пользователи (код ошибки: %lu)\n"
-
-#: port/win32/signal.c:193
+#: port/win32/signal.c:194
 #, c-format
 msgid "could not create signal listener pipe for PID %d: error code %lu"
 msgstr ""
 "не удалось создать канал приёма сигналов для процесса с PID %d (код ошибки: "
 "%lu)"
 
-#: port/win32/signal.c:273 port/win32/signal.c:305
+#: port/win32/signal.c:274 port/win32/signal.c:306
 #, c-format
 msgid "could not create signal listener pipe: error code %lu; retrying\n"
 msgstr ""
 "не удалось создать канал приёма сигналов (код ошибки: %lu); ещё одна "
 "попытка...\n"
 
-#: port/win32/signal.c:316
+#: port/win32/signal.c:317
 #, c-format
 msgid "could not create signal dispatch thread: error code %lu\n"
 msgstr "не удалось создать поток распределения сигналов (код ошибки: %lu)\n"
@@ -14716,59 +15347,59 @@ msgstr "Ошибка в системном вызове DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Ошибка в системном вызове MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:377
+#: postmaster/autovacuum.c:380
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "породить процесс запуска автоочистки не удалось: %m"
 
-#: postmaster/autovacuum.c:413
+#: postmaster/autovacuum.c:416
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "процесс запуска автоочистки создан"
 
-#: postmaster/autovacuum.c:775
+#: postmaster/autovacuum.c:779
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "процесс запуска автоочистки завершается"
 
-#: postmaster/autovacuum.c:1443
+#: postmaster/autovacuum.c:1447
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "не удалось породить рабочий процесс автоочистки: %m"
 
-#: postmaster/autovacuum.c:1639
+#: postmaster/autovacuum.c:1643
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "автоочистка: обработка базы данных \"%s\""
 
-#: postmaster/autovacuum.c:2051
+#: postmaster/autovacuum.c:2056
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "автоочистка: удаление устаревшей врем. таблицы \"%s\".\"%s\" в базе \"%s\""
 
-#: postmaster/autovacuum.c:2063
+#: postmaster/autovacuum.c:2068
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "автоочистка: найдена устаревшая врем. таблица \"%s\".\"%s\" в базе \"%s\""
 
-#: postmaster/autovacuum.c:2346
+#: postmaster/autovacuum.c:2352
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "автоматическая очистка таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2349
+#: postmaster/autovacuum.c:2355
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "автоматический анализ таблицы \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2877
+#: postmaster/autovacuum.c:2885
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "автоочистка не запущена из-за неправильной конфигурации"
 
-#: postmaster/autovacuum.c:2878
+#: postmaster/autovacuum.c:2886
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Включите параметр \"track_counts\"."
@@ -14850,7 +15481,7 @@ msgid ""
 "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"."
 
-#: postmaster/checkpointer.c:470
+#: postmaster/checkpointer.c:465
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
@@ -14858,27 +15489,27 @@ msgstr[0] "контрольные точки происходят слишком
 msgstr[1] "контрольные точки происходят слишком часто (через %d сек.)"
 msgstr[2] "контрольные точки происходят слишком часто (через %d сек.)"
 
-#: postmaster/checkpointer.c:474
+#: postmaster/checkpointer.c:469
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgstr "Возможно, стоит увеличить параметр \"max_wal_size\"."
 
-#: postmaster/checkpointer.c:621
+#: postmaster/checkpointer.c:616
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "принудительное переключение журнала транзакций (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1081
+#: postmaster/checkpointer.c:1074
 #, c-format
 msgid "checkpoint request failed"
 msgstr "сбой при запросе контрольной точки"
 
-#: postmaster/checkpointer.c:1082
+#: postmaster/checkpointer.c:1075
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Смотрите подробности в протоколе сервера."
 
-#: postmaster/checkpointer.c:1277
+#: postmaster/checkpointer.c:1270
 #, c-format
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "очередь запросов fsync сжата (было записей: %d, стало: %d)"
@@ -14918,7 +15549,7 @@ msgstr "Команда архивации с ошибкой: %s"
 msgid "archive command was terminated by exception 0x%X"
 msgstr "команда архивации была прервана исключением 0x%X"
 
-#: postmaster/pgarch.c:598 postmaster/postmaster.c:3459
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3478
 #, c-format
 msgid ""
 "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
@@ -14951,137 +15582,132 @@ msgstr "файл архива журнала транзакций \"%s\""
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "не удалось открыть каталог состояния архива \"%s\": %m"
 
-#: postmaster/pgstat.c:356
+#: postmaster/pgstat.c:352
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "не удалось разрешить \"localhost\": %s"
 
-#: postmaster/pgstat.c:379
+#: postmaster/pgstat.c:375
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "проба другого адреса для сборщика статистики"
 
-#: postmaster/pgstat.c:388
+#: postmaster/pgstat.c:384
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "не удалось создать сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:400
+#: postmaster/pgstat.c:396
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "не удалось привязаться к сокету для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:411
+#: postmaster/pgstat.c:407
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "не удалось получить адрес сокета для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:427
+#: postmaster/pgstat.c:423
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "не удалось подключить сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:448
+#: postmaster/pgstat.c:444
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr ""
 "не удалось послать тестовое сообщение в сокет для сборщика статистики: %m"
 
-#: postmaster/pgstat.c:474
+#: postmaster/pgstat.c:470
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "сбой select() в сборщике статистики: %m"
 
-#: postmaster/pgstat.c:489
+#: postmaster/pgstat.c:485
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "тестовое сообщение не прошло через сокет для сборщика статистики"
 
-#: postmaster/pgstat.c:504
+#: postmaster/pgstat.c:500
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr ""
 "тестовое сообщение через сокет для сборщика статистики получить не удалось: "
 "%m"
 
-#: postmaster/pgstat.c:514
+#: postmaster/pgstat.c:510
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "тестовое сообщение через сокет для сборщика статистики прошло неверно"
 
-#: postmaster/pgstat.c:537
+#: postmaster/pgstat.c:533
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr ""
 "не удалось переключить сокет сборщика статистики в неблокирующий режим: %m"
 
-#: postmaster/pgstat.c:547
+#: postmaster/pgstat.c:543
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "сборщик статистики отключается из-за нехватки рабочего сокета"
 
-#: postmaster/pgstat.c:694
+#: postmaster/pgstat.c:690
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "не удалось породить процесс сборщика статистики: %m"
 
-#: 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:1266
+#: postmaster/pgstat.c:1258
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "запрошен сброс неизвестного счётчика: \"%s\""
 
-#: postmaster/pgstat.c:1267
+#: postmaster/pgstat.c:1259
 #, c-format
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "Допустимый счётчик: \"archiver\" или \"bgwriter\"."
 
-#: postmaster/pgstat.c:3425
+#: postmaster/pgstat.c:3579
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "не удалось прочитать сообщение статистики: %m"
 
-#: postmaster/pgstat.c:3756 postmaster/pgstat.c:3933
+#: postmaster/pgstat.c:3910 postmaster/pgstat.c:4067
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "не удалось открыть временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3824 postmaster/pgstat.c:3978
+#: postmaster/pgstat.c:3977 postmaster/pgstat.c:4112
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "не удалось записать во временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3833 postmaster/pgstat.c:3987
+#: postmaster/pgstat.c:3986 postmaster/pgstat.c:4121
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "не удалось закрыть временный файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:3841 postmaster/pgstat.c:3995
+#: postmaster/pgstat.c:3994 postmaster/pgstat.c:4129
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 "не удалось переименовать временный файл статистики из \"%s\" в \"%s\": %m"
 
-#: postmaster/pgstat.c:4077 postmaster/pgstat.c:4260 postmaster/pgstat.c:4415
+#: postmaster/pgstat.c:4218 postmaster/pgstat.c:4403 postmaster/pgstat.c:4556
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "не удалось открыть файл статистики \"%s\": %m"
 
-#: postmaster/pgstat.c:4089 postmaster/pgstat.c:4099 postmaster/pgstat.c:4109
-#: postmaster/pgstat.c:4130 postmaster/pgstat.c:4145 postmaster/pgstat.c:4201
-#: postmaster/pgstat.c:4272 postmaster/pgstat.c:4292 postmaster/pgstat.c:4310
-#: postmaster/pgstat.c:4326 postmaster/pgstat.c:4344 postmaster/pgstat.c:4360
-#: postmaster/pgstat.c:4427 postmaster/pgstat.c:4439 postmaster/pgstat.c:4451
-#: postmaster/pgstat.c:4476 postmaster/pgstat.c:4498
+#: postmaster/pgstat.c:4230 postmaster/pgstat.c:4240 postmaster/pgstat.c:4250
+#: postmaster/pgstat.c:4271 postmaster/pgstat.c:4286 postmaster/pgstat.c:4340
+#: postmaster/pgstat.c:4415 postmaster/pgstat.c:4435 postmaster/pgstat.c:4453
+#: postmaster/pgstat.c:4469 postmaster/pgstat.c:4487 postmaster/pgstat.c:4503
+#: postmaster/pgstat.c:4568 postmaster/pgstat.c:4580 postmaster/pgstat.c:4592
+#: postmaster/pgstat.c:4617 postmaster/pgstat.c:4639
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "файл статистики \"%s\" испорчен"
 
-#: postmaster/pgstat.c:4615
+#: postmaster/pgstat.c:4768
 #, c-format
 msgid ""
 "using stale statistics instead of current ones because stats collector is "
@@ -15090,134 +15716,134 @@ msgstr ""
 "используется просроченная статистика вместо текущей, так как сборщик "
 "статистики не отвечает"
 
-#: postmaster/pgstat.c:4933
+#: postmaster/pgstat.c:5097
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "таблица хеша базы данных испорчена при очистке --- прерывание"
 
-#: postmaster/postmaster.c:670
+#: postmaster/postmaster.c:676
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: неверный аргумент для параметра -f: \"%s\"\n"
 
-#: postmaster/postmaster.c:756
+#: postmaster/postmaster.c:762
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: неверный аргумент для параметра -t: \"%s\"\n"
 
-#: postmaster/postmaster.c:807
+#: postmaster/postmaster.c:813
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: неверный аргумент: \"%s\"\n"
 
-#: postmaster/postmaster.c:842
+#: postmaster/postmaster.c:848
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr ""
 "%s: параметр superuser_reserved_connections должен быть меньше "
 "max_connections\n"
 
-#: postmaster/postmaster.c:847
+#: postmaster/postmaster.c:853
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: параметр max_wal_senders должен быть меньше max_connections\n"
 
-#: postmaster/postmaster.c:852
+#: postmaster/postmaster.c:858
 #, c-format
 msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
 msgstr "Архивацию WAL нельзя включить, если установлен wal_level \"minimal\""
 
-#: postmaster/postmaster.c:855
+#: postmaster/postmaster.c:861
 #, c-format
 msgid ""
-"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", "
-"\"hot_standby\", or \"logical\""
+"WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or "
+"\"logical\""
 msgstr ""
 "Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть "
-"\"archive\", \"hot_standby\" или \"logical\""
+"\"replica\" или \"logical\""
 
-#: postmaster/postmaster.c:863
+#: postmaster/postmaster.c:869
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n"
 
-#: postmaster/postmaster.c:955 postmaster/postmaster.c:1053
-#: utils/init/miscinit.c:1400
+#: postmaster/postmaster.c:961 postmaster/postmaster.c:1059
+#: utils/init/miscinit.c:1429
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "неверный формат списка в параметре \"%s\""
 
-#: postmaster/postmaster.c:986
+#: postmaster/postmaster.c:992
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "не удалось создать принимающий сокет для \"%s\""
 
-#: postmaster/postmaster.c:992
+#: postmaster/postmaster.c:998
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "не удалось создать сокеты TCP/IP"
 
-#: postmaster/postmaster.c:1075
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "не удалось создать доменный сокет в каталоге \"%s\""
 
-#: postmaster/postmaster.c:1081
+#: postmaster/postmaster.c:1087
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "ни один доменный сокет создать не удалось"
 
-#: postmaster/postmaster.c:1093
+#: postmaster/postmaster.c:1099
 #, c-format
 msgid "no socket created for listening"
 msgstr "отсутствуют принимающие сокеты"
 
-#: postmaster/postmaster.c:1133
+#: postmaster/postmaster.c:1139
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "не удалось создать порт завершения ввода/вывода для очереди потомков"
 
-#: postmaster/postmaster.c:1162
+#: postmaster/postmaster.c:1168
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1166
+#: postmaster/postmaster.c:1172
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1217
+#: postmaster/postmaster.c:1222
 #, c-format
 msgid "ending log output to stderr"
 msgstr "завершение вывода в stderr"
 
-#: postmaster/postmaster.c:1218
+#: postmaster/postmaster.c:1223
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "В дальнейшем протокол будет выводиться в \"%s\"."
 
-#: postmaster/postmaster.c:1244 utils/init/postinit.c:200
+#: postmaster/postmaster.c:1249 utils/init/postinit.c:215
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "не удалось загрузить pg_hba.conf"
 
-#: postmaster/postmaster.c:1270
+#: postmaster/postmaster.c:1275
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "процесс postmaster стал многопоточным при запуске"
 
-#: postmaster/postmaster.c:1271
+#: postmaster/postmaster.c:1276
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Установите в переменной окружения LC_ALL правильную локаль."
 
-#: postmaster/postmaster.c:1368
+#: postmaster/postmaster.c:1373
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: подходящий исполняемый файл postgres не найден"
 
-#: postmaster/postmaster.c:1391 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1396 utils/misc/tzparser.c:341
 #, c-format
 msgid ""
 "This may indicate an incomplete PostgreSQL installation, or that the file "
@@ -15226,43 +15852,43 @@ msgstr ""
 "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в "
 "положенном месте."
 
-#: postmaster/postmaster.c:1419
+#: postmaster/postmaster.c:1424
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "каталог данных \"%s\" не существует"
 
-#: postmaster/postmaster.c:1424
+#: postmaster/postmaster.c:1429
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "не удалось считать права на каталог \"%s\": %m"
 
-#: postmaster/postmaster.c:1432
+#: postmaster/postmaster.c:1437
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "указанный каталог данных \"%s\" не существует"
 
-#: postmaster/postmaster.c:1448
+#: postmaster/postmaster.c:1453
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "владелец каталога данных \"%s\" определён неверно"
 
-#: postmaster/postmaster.c:1450
+#: postmaster/postmaster.c:1455
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr ""
 "Сервер должен запускать пользователь, являющийся владельцем каталога данных."
 
-#: postmaster/postmaster.c:1470
+#: postmaster/postmaster.c:1475
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "к каталогу данных \"%s\" имеют доступ все или группа"
 
-#: postmaster/postmaster.c:1472
+#: postmaster/postmaster.c:1477
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Права должны быть: u=rwx (0700)."
 
-#: postmaster/postmaster.c:1483
+#: postmaster/postmaster.c:1488
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -15273,376 +15899,376 @@ msgstr ""
 "Ожидалось найти её в каталоге \"%s\",\n"
 "но открыть файл \"%s\" не удалось: %s\n"
 
-#: postmaster/postmaster.c:1660
+#: postmaster/postmaster.c:1665
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "сбой select() в postmaster'е: %m"
 
-#: postmaster/postmaster.c:1810
+#: postmaster/postmaster.c:1815
 #, c-format
 msgid ""
 "performing immediate shutdown because data directory lock file is invalid"
 msgstr ""
 "немедленное отключение из-за ошибочного файла блокировки каталога данных"
 
-#: postmaster/postmaster.c:1888 postmaster/postmaster.c:1919
+#: postmaster/postmaster.c:1893 postmaster/postmaster.c:1924
 #, c-format
 msgid "incomplete startup packet"
 msgstr "неполный стартовый пакет"
 
-#: postmaster/postmaster.c:1900
+#: postmaster/postmaster.c:1905
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "неверная длина стартового пакета"
 
-#: postmaster/postmaster.c:1958
+#: postmaster/postmaster.c:1963
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "не удалось отправить ответ в процессе SSL-согласования: %m"
 
-#: postmaster/postmaster.c:1987
+#: postmaster/postmaster.c:1992
 #, 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:2050 utils/misc/guc.c:5484 utils/misc/guc.c:5577
-#: utils/misc/guc.c:6869 utils/misc/guc.c:9566 utils/misc/guc.c:9600
+#: postmaster/postmaster.c:2055 utils/misc/guc.c:5647 utils/misc/guc.c:5740
+#: utils/misc/guc.c:7038 utils/misc/guc.c:9774 utils/misc/guc.c:9808
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "неверное значение для параметра \"%s\": \"%s\""
 
-#: postmaster/postmaster.c:2053
+#: postmaster/postmaster.c:2058
 #, c-format
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Допустимые значения: \"false\", 0, \"true\", 1, \"database\"."
 
-#: postmaster/postmaster.c:2073
+#: postmaster/postmaster.c:2078
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
 "неверная структура стартового пакета: последним байтом должен быть терминатор"
 
-#: postmaster/postmaster.c:2101
+#: postmaster/postmaster.c:2106
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "в стартовом пакете не указано имя пользователя PostgreSQL"
 
-#: postmaster/postmaster.c:2160
+#: postmaster/postmaster.c:2165
 #, c-format
 msgid "the database system is starting up"
 msgstr "система баз данных запускается"
 
-#: postmaster/postmaster.c:2165
+#: postmaster/postmaster.c:2170
 #, c-format
 msgid "the database system is shutting down"
 msgstr "система баз данных останавливается"
 
-#: postmaster/postmaster.c:2170
+#: postmaster/postmaster.c:2175
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "система баз данных в режиме восстановления"
 
-#: postmaster/postmaster.c:2175 storage/ipc/procarray.c:284
-#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:334
+#: postmaster/postmaster.c:2180 storage/ipc/procarray.c:297
+#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "извините, уже слишком много клиентов"
 
-#: postmaster/postmaster.c:2237
+#: postmaster/postmaster.c:2242
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "неправильный ключ в запросе на отмену процесса %d"
 
-#: postmaster/postmaster.c:2245
+#: postmaster/postmaster.c:2250
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден"
 
-#: postmaster/postmaster.c:2465
+#: postmaster/postmaster.c:2470
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "получен SIGHUP, файлы конфигурации перезагружаются"
 
-#: postmaster/postmaster.c:2490
+#: postmaster/postmaster.c:2495
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf не перезагружен"
 
-#: postmaster/postmaster.c:2494
+#: postmaster/postmaster.c:2499
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf не перезагружен"
 
-#: postmaster/postmaster.c:2535
+#: postmaster/postmaster.c:2540
 #, c-format
 msgid "received smart shutdown request"
 msgstr "получен запрос на \"вежливое\" выключение"
 
-#: postmaster/postmaster.c:2587
+#: postmaster/postmaster.c:2595
 #, c-format
 msgid "received fast shutdown request"
 msgstr "получен запрос на быстрое выключение"
 
-#: postmaster/postmaster.c:2613
+#: postmaster/postmaster.c:2625
 #, c-format
 msgid "aborting any active transactions"
 msgstr "прерывание всех активных транзакций"
 
-#: postmaster/postmaster.c:2647
+#: postmaster/postmaster.c:2659
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "получен запрос на немедленное выключение"
 
-#: postmaster/postmaster.c:2708
+#: postmaster/postmaster.c:2723
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "выключение при достижении цели восстановления"
 
-#: postmaster/postmaster.c:2724 postmaster/postmaster.c:2747
+#: postmaster/postmaster.c:2739 postmaster/postmaster.c:2762
 msgid "startup process"
 msgstr "стартовый процесс"
 
-#: postmaster/postmaster.c:2727
+#: postmaster/postmaster.c:2742
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "прерывание запуска из-за ошибки в стартовом процессе"
 
-#: postmaster/postmaster.c:2788
+#: postmaster/postmaster.c:2803
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "система БД готова принимать подключения"
 
-#: postmaster/postmaster.c:2803
+#: postmaster/postmaster.c:2822
 msgid "background writer process"
 msgstr "процесс фоновой записи"
 
-#: postmaster/postmaster.c:2857
+#: postmaster/postmaster.c:2876
 msgid "checkpointer process"
 msgstr "процесс контрольных точек"
 
-#: postmaster/postmaster.c:2873
+#: postmaster/postmaster.c:2892
 msgid "WAL writer process"
 msgstr "процесс записи WAL"
 
-#: postmaster/postmaster.c:2887
+#: postmaster/postmaster.c:2906
 msgid "WAL receiver process"
 msgstr "процесс считывания WAL"
 
-#: postmaster/postmaster.c:2902
+#: postmaster/postmaster.c:2921
 msgid "autovacuum launcher process"
 msgstr "процесс запуска автоочистки"
 
-#: postmaster/postmaster.c:2917
+#: postmaster/postmaster.c:2936
 msgid "archiver process"
 msgstr "процесс архивации"
 
-#: postmaster/postmaster.c:2933
+#: postmaster/postmaster.c:2952
 msgid "statistics collector process"
 msgstr "процесс сбора статистики"
 
-#: postmaster/postmaster.c:2947
+#: postmaster/postmaster.c:2966
 msgid "system logger process"
 msgstr "процесс системного протоколирования"
 
-#: postmaster/postmaster.c:3009
+#: postmaster/postmaster.c:3028
 msgid "worker process"
 msgstr "рабочий процесс"
 
-#: postmaster/postmaster.c:3092 postmaster/postmaster.c:3112
-#: postmaster/postmaster.c:3119 postmaster/postmaster.c:3137
+#: postmaster/postmaster.c:3111 postmaster/postmaster.c:3131
+#: postmaster/postmaster.c:3138 postmaster/postmaster.c:3156
 msgid "server process"
 msgstr "процесс сервера"
 
-#: postmaster/postmaster.c:3191
+#: postmaster/postmaster.c:3210
 #, 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:3447
+#: postmaster/postmaster.c:3466
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) завершился с кодом выхода %d"
 
-#: postmaster/postmaster.c:3449 postmaster/postmaster.c:3460
-#: postmaster/postmaster.c:3471 postmaster/postmaster.c:3480
-#: postmaster/postmaster.c:3490
+#: postmaster/postmaster.c:3468 postmaster/postmaster.c:3479
+#: postmaster/postmaster.c:3490 postmaster/postmaster.c:3499
+#: postmaster/postmaster.c:3509
 #, 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:3457
+#: postmaster/postmaster.c:3476
 #, 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:3467
+#: postmaster/postmaster.c:3486
 #, 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:3478
+#: postmaster/postmaster.c:3497
 #, 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:3488
+#: postmaster/postmaster.c:3507
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) завершился с неизвестным кодом состояния %d"
 
-#: postmaster/postmaster.c:3675
+#: postmaster/postmaster.c:3694
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "аварийное выключение системы БД"
 
-#: postmaster/postmaster.c:3715
+#: postmaster/postmaster.c:3734
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "все серверные процессы завершены... переинициализация"
 
-#: postmaster/postmaster.c:3927
+#: postmaster/postmaster.c:3946
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "породить новый процесс для соединения не удалось: %m"
 
-#: postmaster/postmaster.c:3969
+#: postmaster/postmaster.c:3988
 msgid "could not fork new process for connection: "
 msgstr "породить новый процесс для соединения не удалось: "
 
-#: postmaster/postmaster.c:4083
+#: postmaster/postmaster.c:4102
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "принято подключение: узел=%s порт=%s"
 
-#: postmaster/postmaster.c:4088
+#: postmaster/postmaster.c:4107
 #, c-format
 msgid "connection received: host=%s"
 msgstr "принято подключение: узел=%s"
 
-#: postmaster/postmaster.c:4371
+#: postmaster/postmaster.c:4390
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "запустить серверный процесс \"%s\" не удалось: %m"
 
-#: postmaster/postmaster.c:4931
+#: postmaster/postmaster.c:4955
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "система БД готова к подключениям в режиме \"только чтение\""
 
-#: postmaster/postmaster.c:5214
+#: postmaster/postmaster.c:5242
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "породить стартовый процесс не удалось: %m"
 
-#: postmaster/postmaster.c:5218
+#: postmaster/postmaster.c:5246
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "породить процесс фоновой записи не удалось: %m"
 
-#: postmaster/postmaster.c:5222
+#: postmaster/postmaster.c:5250
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "породить процесс контрольных точек не удалось: %m"
 
-#: postmaster/postmaster.c:5226
+#: postmaster/postmaster.c:5254
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "породить процесс записи WAL не удалось: %m"
 
-#: postmaster/postmaster.c:5230
+#: postmaster/postmaster.c:5258
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "породить процесс считывания WAL не удалось: %m"
 
-#: postmaster/postmaster.c:5234
+#: postmaster/postmaster.c:5262
 #, c-format
 msgid "could not fork process: %m"
 msgstr "породить процесс не удалось: %m"
 
-#: postmaster/postmaster.c:5396 postmaster/postmaster.c:5419
+#: postmaster/postmaster.c:5424 postmaster/postmaster.c:5447
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr ""
 "при регистрации фонового процесса не указывалось, что ему требуется "
 "подключение к БД"
 
-#: postmaster/postmaster.c:5403 postmaster/postmaster.c:5426
+#: postmaster/postmaster.c:5431 postmaster/postmaster.c:5454
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "неправильный режим обработки в фоновом процессе"
 
-#: postmaster/postmaster.c:5478
+#: postmaster/postmaster.c:5506
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "запуск фонового рабочего процесса \"%s\""
 
-#: postmaster/postmaster.c:5489
+#: postmaster/postmaster.c:5517
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "породить рабочий процесс не удалось: %m"
 
-#: postmaster/postmaster.c:5865
+#: postmaster/postmaster.c:5894
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr ""
 "продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)"
 
-#: postmaster/postmaster.c:5897
+#: postmaster/postmaster.c:5926
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n"
 
-#: postmaster/postmaster.c:5926
+#: postmaster/postmaster.c:5955
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "открыть файл серверных переменных \"%s\" не удалось: %s\n"
 
-#: postmaster/postmaster.c:5933
+#: postmaster/postmaster.c:5962
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n"
 
-#: postmaster/postmaster.c:5942
+#: postmaster/postmaster.c:5971
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "не удалось стереть файл \"%s\": %s\n"
 
-#: postmaster/postmaster.c:5959
+#: postmaster/postmaster.c:5988
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n"
 
-#: postmaster/postmaster.c:5968
+#: postmaster/postmaster.c:5997
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr ""
 "отключить отображение файла серверных переменных не удалось (код ошибки: "
 "%lu)\n"
 
-#: postmaster/postmaster.c:5975
+#: postmaster/postmaster.c:6004
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr ""
 "закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n"
 
-#: postmaster/postmaster.c:6134
+#: postmaster/postmaster.c:6165
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "прочитать код завершения процесса не удалось\n"
 
-#: postmaster/postmaster.c:6139
+#: postmaster/postmaster.c:6170
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "отправить состояние завершения потомка не удалось\n"
@@ -15709,63 +16335,63 @@ msgstr ""
 "не удалось определить, какое правило сортировки использовать для регулярного "
 "выражения"
 
-#: replication/basebackup.c:227
+#: replication/basebackup.c:230
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "не удалось найти управляющий файл \"%s\": %m"
 
-#: replication/basebackup.c:336
+#: replication/basebackup.c:339
 #, c-format
 msgid "could not find any WAL files"
 msgstr "не удалось найти ни одного файла WAL"
 
-#: replication/basebackup.c:349 replication/basebackup.c:363
-#: replication/basebackup.c:372
+#: replication/basebackup.c:352 replication/basebackup.c:366
+#: replication/basebackup.c:375
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "не удалось найти файл WAL \"%s\""
 
-#: replication/basebackup.c:411 replication/basebackup.c:437
+#: replication/basebackup.c:414 replication/basebackup.c:440
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "неприемлемый размер файла WAL \"%s\""
 
-#: replication/basebackup.c:423 replication/basebackup.c:1169
+#: replication/basebackup.c:426 replication/basebackup.c:1172
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr ""
 "в процессе базового резервного копирования не удалось передать данные, "
 "копирование прерывается"
 
-#: replication/basebackup.c:525 replication/basebackup.c:534
-#: replication/basebackup.c:543 replication/basebackup.c:552
-#: replication/basebackup.c:561 replication/basebackup.c:572
-#: replication/basebackup.c:589
+#: replication/basebackup.c:528 replication/basebackup.c:537
+#: replication/basebackup.c:546 replication/basebackup.c:555
+#: replication/basebackup.c:564 replication/basebackup.c:575
+#: replication/basebackup.c:592
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "повторяющийся параметр \"%s\""
 
-#: replication/basebackup.c:578 utils/misc/guc.c:5494
+#: replication/basebackup.c:581 utils/misc/guc.c:5657
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d вне диапазона, допустимого для параметра \"%s\" (%d .. %d)"
 
-#: replication/basebackup.c:852 replication/basebackup.c:954
+#: replication/basebackup.c:855 replication/basebackup.c:957
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m"
 
-#: replication/basebackup.c:1121
+#: replication/basebackup.c:1124
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "специальный файл \"%s\" пропускается"
 
-#: replication/basebackup.c:1232
+#: replication/basebackup.c:1235
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "слишком длинное имя файла для формата tar: \"%s\""
 
-#: replication/basebackup.c:1237
+#: replication/basebackup.c:1240
 #, c-format
 msgid ""
 "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
@@ -15849,48 +16475,53 @@ msgstr "Ожидался 1 кортеж с 2 полями, однако полу
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:334
 #, c-format
-msgid "socket not open"
-msgstr "сокет не открыт"
+msgid "invalid socket: %s"
+msgstr "неверный сокет: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:374 storage/ipc/latch.c:1277
+#, c-format
+msgid "select() failed: %m"
+msgstr "ошибка в select(): %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:507
+#: replication/libpqwalreceiver/libpqwalreceiver.c:497
+#: replication/libpqwalreceiver/libpqwalreceiver.c:524
 #: replication/libpqwalreceiver/libpqwalreceiver.c:530
-#: replication/libpqwalreceiver/libpqwalreceiver.c:536
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "не удалось извлечь данные из потока WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:555
+#: replication/libpqwalreceiver/libpqwalreceiver.c:549
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "не удалось отправить данные в поток WAL: %s"
 
-#: replication/logical/logical.c:80
+#: replication/logical/logical.c:83
 #, c-format
 msgid "logical decoding requires wal_level >= logical"
 msgstr "для логического декодирования требуется wal_level >= logical"
 
-#: replication/logical/logical.c:85
+#: replication/logical/logical.c:88
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "для логического декодирования требуется подключение к БД"
 
-#: replication/logical/logical.c:103
+#: replication/logical/logical.c:106
 #, c-format
 msgid "logical decoding cannot be used while in recovery"
 msgstr "логическое декодирование нельзя использовать в процессе восстановления"
 
-#: replication/logical/logical.c:234 replication/logical/logical.c:383
+#: replication/logical/logical.c:238 replication/logical/logical.c:350
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr ""
 "физический слот репликации нельзя использовать для логического декодирования"
 
-#: replication/logical/logical.c:239 replication/logical/logical.c:388
+#: replication/logical/logical.c:243 replication/logical/logical.c:355
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "слот репликации \"%s\" создан не в этой базе данных"
 
-#: replication/logical/logical.c:246
+#: replication/logical/logical.c:250
 #, c-format
 msgid ""
 "cannot create logical replication slot in transaction that has performed "
@@ -15898,67 +16529,62 @@ msgid ""
 msgstr ""
 "нельзя создать логический слот репликации в транзакции, осуществляющей запись"
 
-#: replication/logical/logical.c:425
+#: replication/logical/logical.c:392
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "начинается логическое декодирование для слота \"%s\""
 
-#: replication/logical/logical.c:427
+#: replication/logical/logical.c:394
 #, c-format
 msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
 msgstr "передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X"
 
-#: replication/logical/logical.c:562
+#: replication/logical/logical.c:529
 #, 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:569
+#: replication/logical/logical.c:536
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s"
 
-#: replication/logical/logicalfuncs.c:192 replication/walsender.c:2129
-#, c-format
-msgid "could not read from log segment %s, offset %u, length %lu: %m"
-msgstr "не удалось прочитать сегмент журнала %s (смещение %u, длина %lu): %m"
-
-#: replication/logical/logicalfuncs.c:211 replication/slotfuncs.c:32
+#: replication/logical/logicalfuncs.c:113 replication/slotfuncs.c:32
 #, c-format
 msgid "must be superuser or replication role to use replication slots"
 msgstr ""
 "для использования слотов репликации требуется роль репликации или права "
 "суперпользователя"
 
-#: replication/logical/logicalfuncs.c:301
+#: replication/logical/logicalfuncs.c:152
 #, c-format
 msgid "slot name must not be null"
 msgstr "имя слота не может быть NULL"
 
-#: replication/logical/logicalfuncs.c:317
+#: replication/logical/logicalfuncs.c:168
 #, c-format
 msgid "options array must not be null"
 msgstr "массив параметров не может быть NULL"
 
-#: replication/logical/logicalfuncs.c:348
+#: replication/logical/logicalfuncs.c:199
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "массив должен быть одномерным"
 
-#: replication/logical/logicalfuncs.c:354
+#: replication/logical/logicalfuncs.c:205
 #, c-format
 msgid "array must not contain nulls"
 msgstr "массив не должен содержать элементы null"
 
-#: replication/logical/logicalfuncs.c:370 utils/adt/json.c:2277
+#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277
 #: utils/adt/jsonb.c:1356
 #, c-format
 msgid "array must have even number of elements"
 msgstr "в массиве должно быть чётное число элементов"
 
-#: replication/logical/logicalfuncs.c:412
+#: replication/logical/logicalfuncs.c:264
 #, c-format
 msgid ""
 "logical decoding output plugin \"%s\" produces binary output, but function "
@@ -15999,37 +16625,37 @@ msgstr ""
 "удалить источник репликации с OID %d нельзя, он используется процессом с PID "
 "%d"
 
-#: replication/logical/origin.c:690
+#: replication/logical/origin.c:671
 #, c-format
 msgid "replication checkpoint has wrong magic %u instead of %u"
 msgstr ""
 "контрольная точка репликации имеет неправильную сигнатуру (%u вместо %u)"
 
-#: replication/logical/origin.c:722
+#: replication/logical/origin.c:703
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)"
 
-#: replication/logical/origin.c:731
+#: replication/logical/origin.c:712
 #, c-format
 msgid "could not find free replication state, increase max_replication_slots"
 msgstr ""
 "не удалось найти свободную ячейку для состояния репликации, увеличьте "
 "max_replication_slots"
 
-#: replication/logical/origin.c:749
+#: replication/logical/origin.c:730
 #, c-format
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr ""
 "неверная контрольная сумма файла контрольной точки для слота репликации (%u "
 "вместо %u)"
 
-#: replication/logical/origin.c:873
+#: replication/logical/origin.c:854
 #, c-format
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "источник репликации с OID %d уже занят процессом с PID %d"
 
-#: replication/logical/origin.c:884 replication/logical/origin.c:1064
+#: replication/logical/origin.c:865 replication/logical/origin.c:1045
 #, c-format
 msgid ""
 "could not find free replication state slot for replication origin with OID %u"
@@ -16037,41 +16663,41 @@ msgstr ""
 "не удалось найти свободный слот состояния репликации для источника "
 "репликации с OID %u"
 
-#: replication/logical/origin.c:886 replication/logical/origin.c:1066
-#: replication/slot.c:1241
+#: replication/logical/origin.c:867 replication/logical/origin.c:1047
+#: replication/slot.c:1289
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Увеличьте параметр max_replication_slots и повторите попытку."
 
-#: replication/logical/origin.c:1023
+#: replication/logical/origin.c:1004
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "нельзя настроить источник репликации, когда он уже настроен"
 
-#: replication/logical/origin.c:1052
+#: replication/logical/origin.c:1033
 #, c-format
 msgid "replication identifier %d is already active for PID %d"
 msgstr "идентификатор репликации %d уже занят процессом с PID %d"
 
-#: replication/logical/origin.c:1098 replication/logical/origin.c:1293
-#: replication/logical/origin.c:1313
+#: replication/logical/origin.c:1079 replication/logical/origin.c:1274
+#: replication/logical/origin.c:1294
 #, c-format
 msgid "no replication origin is configured"
 msgstr "ни один источник репликации не настроен"
 
-#: replication/logical/reorderbuffer.c:2170
+#: replication/logical/reorderbuffer.c:2322
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "не удалось записать в файл данных для XID %u: %m"
 
-#: replication/logical/reorderbuffer.c:2266
-#: replication/logical/reorderbuffer.c:2286
+#: replication/logical/reorderbuffer.c:2418
+#: replication/logical/reorderbuffer.c:2438
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "не удалось прочитать из файла подкачки буфера пересортировки: %m"
 
-#: replication/logical/reorderbuffer.c:2270
-#: replication/logical/reorderbuffer.c:2290
+#: replication/logical/reorderbuffer.c:2422
+#: replication/logical/reorderbuffer.c:2442
 #, c-format
 msgid ""
 "could not read from reorderbuffer spill file: read %d instead of %u bytes"
@@ -16079,7 +16705,7 @@ msgstr ""
 "не удалось прочитать из файла подкачки буфера пересортировки (прочитано "
 "байт: %d, требовалось: %u)"
 
-#: replication/logical/reorderbuffer.c:2894
+#: replication/logical/reorderbuffer.c:3097
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr ""
@@ -16097,29 +16723,29 @@ msgstr[1] ""
 msgstr[2] ""
 "экспортирован снимок логического декодирования: \"%s\" (ид. транзакций: %u)"
 
-#: replication/logical/snapbuild.c:904 replication/logical/snapbuild.c:1269
-#: replication/logical/snapbuild.c:1800
+#: replication/logical/snapbuild.c:919 replication/logical/snapbuild.c:1284
+#: replication/logical/snapbuild.c:1815
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "процесс логического декодирования достиг точки согласованности в %X/%X"
 
-#: replication/logical/snapbuild.c:906
+#: replication/logical/snapbuild.c:921
 #, c-format
 msgid "Transaction ID %u finished; no more running transactions."
 msgstr "Транзакция %u завершена, больше активных транзакций нет."
 
-#: replication/logical/snapbuild.c:1271
+#: replication/logical/snapbuild.c:1286
 #, c-format
 msgid "There are no running transactions."
 msgstr "Больше активных транзакций нет."
 
-#: replication/logical/snapbuild.c:1333
+#: replication/logical/snapbuild.c:1348
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr ""
 "процесс логического декодирования нашёл начальную стартовую точку в %X/%X"
 
-#: replication/logical/snapbuild.c:1335
+#: replication/logical/snapbuild.c:1350
 #, c-format
 msgid "%u transaction needs to finish."
 msgid_plural "%u transactions need to finish."
@@ -16127,56 +16753,56 @@ msgstr[0] "Необходимо дождаться завершения тран
 msgstr[1] "Необходимо дождаться завершения транзакций (%u)."
 msgstr[2] "Необходимо дождаться завершения транзакций (%u)."
 
-#: replication/logical/snapbuild.c:1674 replication/logical/snapbuild.c:1700
-#: replication/logical/snapbuild.c:1714 replication/logical/snapbuild.c:1728
+#: replication/logical/snapbuild.c:1689 replication/logical/snapbuild.c:1715
+#: replication/logical/snapbuild.c:1729 replication/logical/snapbuild.c:1743
 #, c-format
 msgid "could not read file \"%s\", read %d of %d: %m"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d): %m"
 
-#: replication/logical/snapbuild.c:1680
+#: replication/logical/snapbuild.c:1695
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr ""
 "файл состояния snapbuild \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1685
+#: replication/logical/snapbuild.c:1700
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr ""
 "файл состояния snapbuild \"%s\" имеет неправильную версию (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1741
+#: replication/logical/snapbuild.c:1756
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr ""
 "в файле состояния snapbuild \"%s\" неверная контрольная сумма (%u вместо %u)"
 
-#: replication/logical/snapbuild.c:1802
+#: replication/logical/snapbuild.c:1817
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Логическое декодирование начнётся с сохранённого снимка."
 
-#: replication/logical/snapbuild.c:1875
+#: replication/logical/snapbuild.c:1890
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "не удалось разобрать имя файла \"%s\""
 
-#: replication/slot.c:174
+#: replication/slot.c:183
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "имя слота репликации \"%s\" слишком короткое"
 
-#: replication/slot.c:183
+#: replication/slot.c:192
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "имя слота репликации \"%s\" слишком длинное"
 
-#: replication/slot.c:196
+#: replication/slot.c:205
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "имя слота репликации \"%s\" содержит недопустимый символ"
 
-#: replication/slot.c:198
+#: replication/slot.c:207
 #, c-format
 msgid ""
 "Replication slot names may only contain lower case letters, numbers, and the "
@@ -16185,80 +16811,80 @@ msgstr ""
 "Имя слота репликации может содержать только буквы в нижнем регистре, цифры и "
 "знак подчёркивания."
 
-#: replication/slot.c:245
+#: replication/slot.c:254
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "слот репликации \"%s\" уже существует"
 
-#: replication/slot.c:255
+#: replication/slot.c:264
 #, c-format
 msgid "all replication slots are in use"
 msgstr "используются все слоты репликации"
 
-#: replication/slot.c:256
+#: replication/slot.c:265
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Освободите ненужные или увеличьте параметр max_replication_slots."
 
-#: replication/slot.c:348
+#: replication/slot.c:351
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "слот репликации \"%s\" не существует"
 
-#: replication/slot.c:352
+#: replication/slot.c:355
 #, c-format
-msgid "replication slot \"%s\" is already active for PID %d"
-msgstr "слот репликации \"%s\" уже занят процессом с PID %d"
+msgid "replication slot \"%s\" is active for PID %d"
+msgstr "слот репликации \"%s\" занят процессом с PID %d"
 
-#: replication/slot.c:501 replication/slot.c:857 replication/slot.c:1202
+#: replication/slot.c:501 replication/slot.c:913 replication/slot.c:1250
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "ошибка при удалении каталога \"%s\""
 
-#: replication/slot.c:776
+#: replication/slot.c:762
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr ""
 "слоты репликации можно использовать, только если max_replication_slots > 0"
 
-#: replication/slot.c:781
+#: replication/slot.c:767
 #, c-format
-msgid "replication slots can only be used if wal_level >= archive"
-msgstr "слоты репликации можно использовать, только если wal_level >= archive"
+msgid "replication slots can only be used if wal_level >= replica"
+msgstr "слоты репликации можно использовать, только если wal_level >= replica"
 
-#: replication/slot.c:1134 replication/slot.c:1172
+#: replication/slot.c:1182 replication/slot.c:1220
 #, c-format
 msgid "could not read file \"%s\", read %d of %u: %m"
 msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %u): %m"
 
-#: replication/slot.c:1143
+#: replication/slot.c:1191
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr ""
 "файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)"
 
-#: replication/slot.c:1150
+#: replication/slot.c:1198
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u"
 
-#: replication/slot.c:1157
+#: replication/slot.c:1205
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "у файла слота репликации \"%s\" неверная длина: %u"
 
-#: replication/slot.c:1187
+#: replication/slot.c:1235
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr ""
 "в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)"
 
-#: replication/slot.c:1240
+#: replication/slot.c:1288
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "перед завершением активно слишком много слотов репликации"
 
-#: replication/syncrep.c:199
+#: replication/syncrep.c:228
 #, c-format
 msgid ""
 "canceling the wait for synchronous replication and terminating connection "
@@ -16267,7 +16893,7 @@ msgstr ""
 "отмена ожидания синхронной репликации и закрытие соединения по команде "
 "администратора"
 
-#: replication/syncrep.c:200 replication/syncrep.c:217
+#: replication/syncrep.c:229 replication/syncrep.c:246
 #, c-format
 msgid ""
 "The transaction has already committed locally, but might not have been "
@@ -16276,113 +16902,116 @@ msgstr ""
 "Транзакция уже была зафиксирована локально, но возможно не была "
 "реплицирована на резервный сервер."
 
-#: replication/syncrep.c:216
+#: replication/syncrep.c:245
 #, c-format
 msgid "canceling wait for synchronous replication due to user request"
 msgstr "отмена ожидания синхронной репликации по запросу пользователя"
 
-#: replication/syncrep.c:346
+#: replication/syncrep.c:375
 #, c-format
 msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr ""
 "резервный сервер \"%s\" теперь имеет приоритет синхронной репликации %u"
 
-#: replication/syncrep.c:480
+#: replication/syncrep.c:435
 #, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
-msgstr ""
-"резервный сервер \"%s\" переходит в режим синхронной репликации с "
-"приоритетом %u"
+msgid "standby \"%s\" is now a synchronous standby with priority %u"
+msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %u"
+
+#: replication/syncrep.c:928
+#, c-format
+msgid "synchronous_standby_names parser failed"
+msgstr "ошибка при разборе synchronous_standby_names"
 
-#: replication/walreceiver.c:167
+#: replication/walreceiver.c:172
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "завершение процесса считывания журнала по команде администратора"
 
-#: replication/walreceiver.c:321
+#: replication/walreceiver.c:324
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr ""
 "последняя линия времени %u на главном сервере отстаёт от восстанавливаемой "
 "линии времени %u"
 
-#: replication/walreceiver.c:356
+#: replication/walreceiver.c:357
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr ""
 "начало передачи журнала с главного сервера, с позиции %X/%X на линии времени "
 "%u"
 
-#: replication/walreceiver.c:361
+#: replication/walreceiver.c:362
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u"
 
-#: replication/walreceiver.c:395
+#: replication/walreceiver.c:391
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "продолжить передачу WAL нельзя, восстановление уже окончено"
 
-#: replication/walreceiver.c:432
+#: replication/walreceiver.c:428
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "репликация прекращена главным сервером"
 
-#: replication/walreceiver.c:433
+#: replication/walreceiver.c:429
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "На линии времени %u в %X/%X достигнут конец журнала."
 
-#: replication/walreceiver.c:480
+#: replication/walreceiver.c:523
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "завершение приёма журнала из-за таймаута"
 
-#: replication/walreceiver.c:520
+#: replication/walreceiver.c:563
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr ""
 "на главном сервере больше нет журналов для запрошенной линии времени %u"
 
-#: replication/walreceiver.c:535 replication/walreceiver.c:895
+#: replication/walreceiver.c:578 replication/walreceiver.c:936
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "не удалось закрыть сегмент журнала %s: %m"
 
-#: replication/walreceiver.c:660
+#: replication/walreceiver.c:702
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "загрузка файла истории для линии времени %u с главного сервера"
 
-#: replication/walreceiver.c:949
+#: replication/walreceiver.c:990
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "не удалось записать в сегмент журнала %s (смещение %u, длина %lu): %m"
 
-#: replication/walsender.c:483
+#: replication/walsender.c:485
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "не удалось перейти к началу файла \"%s\": %m"
 
-#: replication/walsender.c:534
+#: replication/walsender.c:536
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr ""
 "логический слот репликации нельзя использовать для физической репликации"
 
-#: replication/walsender.c:597
+#: replication/walsender.c:599
 #, 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:601
+#: replication/walsender.c:603
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "История этого сервера ответвилась от линии времени %u в %X/%X."
 
-#: replication/walsender.c:646
+#: replication/walsender.c:648
 #, c-format
 msgid ""
 "requested starting point %X/%X is ahead of the WAL flush position of this "
@@ -16391,48 +17020,48 @@ msgstr ""
 "запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала "
 "на этом сервере (%X/%X)"
 
-#: replication/walsender.c:965
+#: replication/walsender.c:974
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "завершение процесса передачи журнала после повышения"
 
-#: replication/walsender.c:1292
+#: replication/walsender.c:1300
 #, c-format
 msgid "received replication command: %s"
 msgstr "получена команда репликации: %s"
 
-#: replication/walsender.c:1385 replication/walsender.c:1401
+#: replication/walsender.c:1393 replication/walsender.c:1409
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "неожиданный обрыв соединения с резервным сервером"
 
-#: replication/walsender.c:1415
+#: replication/walsender.c:1423
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr ""
 "после CopyDone резервный сервер передал сообщение неожиданного типа \"%c\""
 
-#: replication/walsender.c:1453
+#: replication/walsender.c:1461
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "неверный тип сообщения резервного сервера: \"%c\""
 
-#: replication/walsender.c:1494
+#: replication/walsender.c:1502
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "неожиданный тип сообщения \"%c\""
 
-#: replication/walsender.c:1781
+#: replication/walsender.c:1786
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "завершение процесса передачи журнала из-за таймаута репликации"
 
-#: replication/walsender.c:1874
+#: replication/walsender.c:1879
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "резервный сервер \"%s\" нагнал главный"
 
-#: replication/walsender.c:1978
+#: replication/walsender.c:1982
 #, c-format
 msgid ""
 "number of requested standby connections exceeds max_wal_senders (currently "
@@ -16441,7 +17070,7 @@ msgstr ""
 "число запрошенных подключений резервных серверов превосходит max_wal_senders "
 "(сейчас: %d)"
 
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:961
+#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:973
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "правило \"%s\" для отношения \"%s\" уже существует"
@@ -16582,13 +17211,20 @@ msgstr "список результата правила для SELECT соде
 msgid "RETURNING list has too many entries"
 msgstr "список RETURNING содержит слишком много столбцов"
 
-#: rewrite/rewriteDefine.c:684
+#: rewrite/rewriteDefine.c:695
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr ""
 "преобразовать отношение, содержащее удалённые столбцы, в представление нельзя"
 
-#: rewrite/rewriteDefine.c:690
+#: rewrite/rewriteDefine.c:696
+#, c-format
+msgid ""
+"cannot create a RETURNING list for a relation containing dropped columns"
+msgstr ""
+"создать список RETURNING для отношения, содержащего удалённые столбцы, нельзя"
+
+#: rewrite/rewriteDefine.c:702
 #, c-format
 msgid ""
 "SELECT rule's target entry %d has different column name from column \"%s\""
@@ -16596,67 +17232,67 @@ msgstr ""
 "элементу %d результата правила для SELECT присвоено имя, отличное от имени "
 "столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:692
+#: rewrite/rewriteDefine.c:704
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "Имя элемента результата SELECT: \"%s\"."
 
-#: rewrite/rewriteDefine.c:701
+#: rewrite/rewriteDefine.c:713
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет тип, отличный от типа столбца "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:703
+#: rewrite/rewriteDefine.c:715
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет тип, отличный от типа столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:706 rewrite/rewriteDefine.c:730
+#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:742
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "Элемент результата SELECT имеет тип %s, тогда как тип столбца - %s."
 
-#: rewrite/rewriteDefine.c:709 rewrite/rewriteDefine.c:734
+#: rewrite/rewriteDefine.c:721 rewrite/rewriteDefine.c:746
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "Элемент списка RETURNING имеет тип %s, тогда как тип столбца - %s."
 
-#: rewrite/rewriteDefine.c:725
+#: rewrite/rewriteDefine.c:737
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr ""
 "элемент %d результата правила для SELECT имеет размер, отличный от столбца "
 "\"%s\""
 
-#: rewrite/rewriteDefine.c:727
+#: rewrite/rewriteDefine.c:739
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "элемент %d списка RETURNING имеет размер, отличный от столбца \"%s\""
 
-#: rewrite/rewriteDefine.c:744
+#: rewrite/rewriteDefine.c:756
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "список результата правила для SELECT содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:745
+#: rewrite/rewriteDefine.c:757
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "список RETURNING содержит недостаточно элементов"
 
-#: rewrite/rewriteDefine.c:837 rewrite/rewriteDefine.c:952
+#: rewrite/rewriteDefine.c:849 rewrite/rewriteDefine.c:964
 #: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "правило \"%s\" для отношения\"%s\" не существует"
 
-#: rewrite/rewriteDefine.c:971
+#: rewrite/rewriteDefine.c:983
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "переименовывать правило ON SELECT нельзя"
 
-#: rewrite/rewriteHandler.c:521
+#: rewrite/rewriteHandler.c:528
 #, c-format
 msgid ""
 "WITH query name \"%s\" appears in both a rule action and the query being "
@@ -16665,92 +17301,92 @@ msgstr ""
 "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом "
 "запросе"
 
-#: rewrite/rewriteHandler.c:581
+#: rewrite/rewriteHandler.c:588
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING можно определить только для одного правила"
 
-#: rewrite/rewriteHandler.c:921 rewrite/rewriteHandler.c:939
+#: rewrite/rewriteHandler.c:928 rewrite/rewriteHandler.c:946
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "многочисленные присвоения одному столбцу \"%s\""
 
-#: rewrite/rewriteHandler.c:1714 rewrite/rewriteHandler.c:3324
+#: rewrite/rewriteHandler.c:1721 rewrite/rewriteHandler.c:3331
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\""
 
-#: rewrite/rewriteHandler.c:1799
+#: rewrite/rewriteHandler.c:1806
 #, c-format
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\""
 
-#: rewrite/rewriteHandler.c:2116
+#: rewrite/rewriteHandler.c:2123
 msgid "Junk view columns are not updatable."
 msgstr "Утилизируемые столбцы представлений не обновляются."
 
-#: rewrite/rewriteHandler.c:2121
+#: rewrite/rewriteHandler.c:2128
 msgid ""
 "View columns that are not columns of their base relation are not updatable."
 msgstr ""
 "Столбцы представлений, не являющиеся столбцами базовых отношений, не "
 "обновляются."
 
-#: rewrite/rewriteHandler.c:2124
+#: rewrite/rewriteHandler.c:2131
 msgid "View columns that refer to system columns are not updatable."
 msgstr ""
 "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются."
 
-#: rewrite/rewriteHandler.c:2127
+#: rewrite/rewriteHandler.c:2134
 msgid "View columns that return whole-row references are not updatable."
 msgstr ""
 "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются."
 
-#: rewrite/rewriteHandler.c:2185
+#: rewrite/rewriteHandler.c:2192
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Представления с DISTINCT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2188
+#: rewrite/rewriteHandler.c:2195
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Представления с GROUP BY не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2191
+#: rewrite/rewriteHandler.c:2198
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Представления с HAVING не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2194
+#: rewrite/rewriteHandler.c:2201
 msgid ""
 "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr ""
 "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2197
+#: rewrite/rewriteHandler.c:2204
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Представления с WITH не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2200
+#: rewrite/rewriteHandler.c:2207
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Представления с LIMIT или OFFSET не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2212
+#: rewrite/rewriteHandler.c:2219
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие агрегатные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2215
+#: rewrite/rewriteHandler.c:2222
 msgid "Views that return window functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие оконные функции, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2218
+#: rewrite/rewriteHandler.c:2225
 msgid ""
 "Views that return set-returning functions are not automatically updatable."
 msgstr ""
 "Представления, возвращающие функции с результатом-множеством, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:2225 rewrite/rewriteHandler.c:2229
-#: rewrite/rewriteHandler.c:2236
+#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236
+#: rewrite/rewriteHandler.c:2243
 msgid ""
 "Views that do not select from a single table or view are not automatically "
 "updatable."
@@ -16758,27 +17394,27 @@ msgstr ""
 "Представления, выбирающие данные не из одной таблицы или представления, не "
 "обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2239
+#: rewrite/rewriteHandler.c:2246
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически."
 
-#: rewrite/rewriteHandler.c:2263
+#: rewrite/rewriteHandler.c:2270
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr ""
 "Представления, не содержащие обновляемых столбцов, не обновляются "
 "автоматически."
 
-#: rewrite/rewriteHandler.c:2717
+#: rewrite/rewriteHandler.c:2724
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:2725
+#: rewrite/rewriteHandler.c:2732
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3123
+#: rewrite/rewriteHandler.c:3130
 #, c-format
 msgid ""
 "DO INSTEAD NOTHING rules are not supported for data-modifying statements in "
@@ -16787,7 +17423,7 @@ msgstr ""
 "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3137
+#: rewrite/rewriteHandler.c:3144
 #, c-format
 msgid ""
 "conditional DO INSTEAD rules are not supported for data-modifying statements "
@@ -16796,13 +17432,13 @@ msgstr ""
 "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3141
+#: rewrite/rewriteHandler.c:3148
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3146
+#: rewrite/rewriteHandler.c:3153
 #, c-format
 msgid ""
 "multi-statement DO INSTEAD rules are not supported for data-modifying "
@@ -16811,43 +17447,43 @@ msgstr ""
 "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих "
 "данные, в WITH"
 
-#: rewrite/rewriteHandler.c:3361
+#: rewrite/rewriteHandler.c:3368
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3363
+#: rewrite/rewriteHandler.c:3370
 #, 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:3368
+#: rewrite/rewriteHandler.c:3375
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3370
+#: rewrite/rewriteHandler.c:3377
 #, 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:3375
+#: rewrite/rewriteHandler.c:3382
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя"
 
-#: rewrite/rewriteHandler.c:3377
+#: rewrite/rewriteHandler.c:3384
 #, 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:3395
+#: rewrite/rewriteHandler.c:3402
 #, c-format
 msgid ""
 "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or "
@@ -16856,7 +17492,7 @@ msgstr ""
 "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для "
 "которой заданы правила INSERT или UPDATE"
 
-#: rewrite/rewriteHandler.c:3452
+#: rewrite/rewriteHandler.c:3459
 #, c-format
 msgid ""
 "WITH cannot be used in a query that is rewritten by rules into multiple "
@@ -16925,17 +17561,17 @@ msgstr "нераспознанный параметр Snowball: \"%s\""
 msgid "missing Language parameter"
 msgstr "отсутствует параметр Language"
 
-#: storage/buffer/bufmgr.c:442 storage/buffer/bufmgr.c:555
+#: storage/buffer/bufmgr.c:544 storage/buffer/bufmgr.c:657
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "обращаться к временным таблицам других сеансов нельзя"
 
-#: storage/buffer/bufmgr.c:704
+#: storage/buffer/bufmgr.c:807
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "неожиданные данные после EOF в блоке %u отношения %s"
 
-#: storage/buffer/bufmgr.c:706
+#: storage/buffer/bufmgr.c:809
 #, c-format
 msgid ""
 "This has been seen to occur with buggy kernels; consider updating your "
@@ -16944,80 +17580,110 @@ msgstr ""
 "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует "
 "обновить ОС."
 
-#: storage/buffer/bufmgr.c:793
+#: storage/buffer/bufmgr.c:907
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "неверная страница в блоке %u отношения %s; страница обнуляется"
 
-#: storage/buffer/bufmgr.c:3590
+#: storage/buffer/bufmgr.c:3952
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "не удалось запись блок %u файла %s"
 
-#: storage/buffer/bufmgr.c:3592
+#: storage/buffer/bufmgr.c:3954
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Множественные сбои - возможно, постоянная ошибка записи."
 
-#: storage/buffer/bufmgr.c:3613 storage/buffer/bufmgr.c:3632
+#: storage/buffer/bufmgr.c:3975 storage/buffer/bufmgr.c:3994
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "запись блока %u отношения %s"
 
-#: storage/buffer/localbuf.c:189
+#: storage/buffer/bufmgr.c:4297
+#, c-format
+msgid "snapshot too old"
+msgstr "снимок слишком стар"
+
+#: storage/buffer/localbuf.c:199
 #, c-format
 msgid "no empty local buffer available"
 msgstr "нет пустого локального буфера"
 
-#: storage/file/fd.c:528
+#: storage/buffer/localbuf.c:427
+#, c-format
+msgid "cannot access temporary tables during a parallel operation"
+msgstr "обращаться к временным таблицам во время параллельных операций нельзя"
+
+#: storage/file/fd.c:436 storage/file/fd.c:508 storage/file/fd.c:544
+#, c-format
+msgid "could not flush dirty data: %m"
+msgstr "не удалось сбросить грязные данные: %m"
+
+#: storage/file/fd.c:466
+#, c-format
+msgid "could not determine dirty data size: %m"
+msgstr "не удалось определить размер грязных данных: %m"
+
+#: storage/file/fd.c:518
+#, c-format
+msgid "could not munmap() while flushing data: %m"
+msgstr "ошибка в munmap() при сбросе данных на диск: %m"
+
+#: storage/file/fd.c:682
+#, c-format
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m"
+
+#: storage/file/fd.c:776
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "ошибка в getrlimit(): %m"
 
-#: storage/file/fd.c:618
+#: storage/file/fd.c:866
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "недостаточно дескрипторов файлов для запуска серверного процесса"
 
-#: storage/file/fd.c:619
+#: storage/file/fd.c:867
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "Система выделяет: %d, а требуется минимум: %d."
 
-#: storage/file/fd.c:660 storage/file/fd.c:1694 storage/file/fd.c:1787
-#: storage/file/fd.c:1935
+#: storage/file/fd.c:908 storage/file/fd.c:2001 storage/file/fd.c:2094
+#: storage/file/fd.c:2242
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "нехватка дескрипторов файлов: %m; освободите их и повторите попытку"
 
-#: storage/file/fd.c:1234
+#: storage/file/fd.c:1482
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "временный файл: путь \"%s\", размер %lu"
 
-#: storage/file/fd.c:1383
+#: storage/file/fd.c:1656
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "размер временного файла превышает предел temp_file_limit (%d КБ)"
 
-#: storage/file/fd.c:1670 storage/file/fd.c:1720
+#: storage/file/fd.c:1977 storage/file/fd.c:2027
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "превышен предел maxAllocatedDescs (%d) при попытке открыть файл \"%s\""
 
-#: storage/file/fd.c:1760
+#: storage/file/fd.c:2067
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке выполнить команду \"%s\""
 
-#: storage/file/fd.c:1911
+#: storage/file/fd.c:2218
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr ""
 "превышен предел maxAllocatedDescs (%d) при попытке открыть каталог \"%s\""
 
-#: storage/file/fd.c:1997
+#: storage/file/fd.c:2304
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "не удалось прочитать каталог \"%s\": %m"
@@ -17101,17 +17767,32 @@ msgstr "не удалось создать сегмент разделяемой
 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:867 storage/lmgr/lock.c:901 storage/lmgr/lock.c:2598
-#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
-#: storage/lmgr/predicate.c:2328 storage/lmgr/predicate.c:2343
-#: storage/lmgr/predicate.c:3735 storage/lmgr/predicate.c:4878
-#: storage/lmgr/proc.c:200 utils/hash/dynahash.c:998
+#: storage/ipc/latch.c:775
+#, c-format
+msgid "epoll_ctl() failed: %m"
+msgstr "ошибка в epoll_ctl(): %m"
+
+#: storage/ipc/latch.c:999
+#, c-format
+msgid "epoll_wait() failed: %m"
+msgstr "ошибка в epoll_wait(): %m"
+
+#: storage/ipc/latch.c:1119
+#, c-format
+msgid "poll() failed: %m"
+msgstr "ошибка в poll(): %m"
+
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212
+#: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682
+#: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364
+#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
+#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879
+#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1045
 #, c-format
 msgid "out of shared memory"
 msgstr "нехватка разделяемой памяти"
 
-#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
+#: storage/ipc/shmem.c:370 storage/ipc/shmem.c:421
 #, c-format
 msgid ""
 "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
@@ -17119,12 +17800,12 @@ msgstr ""
 "недостаточно разделяемой памяти для структуры данных \"%s\" (требовалось "
 "байт: %zu)"
 
-#: storage/ipc/shmem.c:380
+#: storage/ipc/shmem.c:389
 #, c-format
 msgid "could not create ShmemIndex entry for data structure \"%s\""
 msgstr "не удалось создать запись ShmemIndex для структуры данных \"%s\""
 
-#: storage/ipc/shmem.c:395
+#: storage/ipc/shmem.c:404
 #, c-format
 msgid ""
 "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, "
@@ -17133,18 +17814,18 @@ msgstr ""
 "размер записи ShmemIndex не соответствует структуре данных \"%s"
 "\" (ожидалось: %zu, фактически: %zu)"
 
-#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
+#: storage/ipc/shmem.c:452 storage/ipc/shmem.c:471
 #, c-format
 msgid "requested shared memory size overflows size_t"
 msgstr "запрошенный размер разделяемой памяти не умещается в size_t"
 
-#: storage/ipc/standby.c:500 tcop/postgres.c:2974
+#: storage/ipc/standby.c:528 tcop/postgres.c:2978
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr ""
 "выполнение оператора отменено из-за конфликта с процессом восстановления"
 
-#: storage/ipc/standby.c:501 tcop/postgres.c:2274
+#: storage/ipc/standby.c:529 tcop/postgres.c:2265
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr ""
@@ -17172,124 +17853,124 @@ msgstr "неверное значение ориентира: %d"
 msgid "invalid large object write request size: %d"
 msgstr "неверный размер записи большого объекта: %d"
 
-#: storage/lmgr/deadlock.c:925
+#: storage/lmgr/deadlock.c:1109
 #, c-format
 msgid "Process %d waits for %s on %s; blocked by process %d."
 msgstr ""
 "Процесс %d ожидает в режиме %s блокировку \"%s\"; заблокирован процессом %d."
 
-#: storage/lmgr/deadlock.c:944
+#: storage/lmgr/deadlock.c:1128
 #, c-format
 msgid "Process %d: %s"
 msgstr "Процесс %d: %s"
 
-#: storage/lmgr/deadlock.c:953
+#: storage/lmgr/deadlock.c:1137
 #, c-format
 msgid "deadlock detected"
 msgstr "обнаружена взаимоблокировка"
 
-#: storage/lmgr/deadlock.c:956
+#: storage/lmgr/deadlock.c:1140
 #, c-format
 msgid "See server log for query details."
 msgstr "Подробности запроса смотрите в протоколе сервера."
 
-#: storage/lmgr/lmgr.c:684
+#: storage/lmgr/lmgr.c:719
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "при изменении кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:687
+#: storage/lmgr/lmgr.c:722
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "при удалении кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:690
+#: storage/lmgr/lmgr.c:725
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "при блокировке кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:693
+#: storage/lmgr/lmgr.c:728
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "при блокировке изменённой версии (%u,%u) кортежа в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:696
+#: storage/lmgr/lmgr.c:731
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "при добавлении кортежа индекса (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:699
+#: storage/lmgr/lmgr.c:734
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "при проверке уникальности кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:702
+#: storage/lmgr/lmgr.c:737
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "при перепроверке изменённого кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:705
+#: storage/lmgr/lmgr.c:740
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr ""
 "при проверке ограничения-исключения для кортежа (%u,%u) в отношении \"%s\""
 
-#: storage/lmgr/lmgr.c:925
+#: storage/lmgr/lmgr.c:960
 #, c-format
 msgid "relation %u of database %u"
 msgstr "отношение %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:931
+#: storage/lmgr/lmgr.c:966
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "расширение отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:937
+#: storage/lmgr/lmgr.c:972
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "страница %u отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:944
+#: storage/lmgr/lmgr.c:979
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "кортеж (%u,%u) отношения %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:952
+#: storage/lmgr/lmgr.c:987
 #, c-format
 msgid "transaction %u"
 msgstr "транзакция %u"
 
-#: storage/lmgr/lmgr.c:957
+#: storage/lmgr/lmgr.c:992
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "виртуальная транзакция %d/%u"
 
-#: storage/lmgr/lmgr.c:963
+#: storage/lmgr/lmgr.c:998
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "спекулятивный маркер %u транзакции %u"
 
-#: storage/lmgr/lmgr.c:969
+#: storage/lmgr/lmgr.c:1004
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "объект %u класса %u базы данных %u"
 
-#: storage/lmgr/lmgr.c:977
+#: storage/lmgr/lmgr.c:1012
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "пользовательская блокировка [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:984
+#: storage/lmgr/lmgr.c:1019
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "рекомендательная блокировка [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:992
+#: storage/lmgr/lmgr.c:1027
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "нераспознанный тип блокировки %d"
 
-#: storage/lmgr/lock.c:716
+#: storage/lmgr/lock.c:732
 #, c-format
 msgid ""
 "cannot acquire lock mode %s on database objects while recovery is in progress"
@@ -17297,7 +17978,7 @@ msgstr ""
 "пока выполняется восстановление, нельзя получить блокировку объектов базы "
 "данных в режиме %s"
 
-#: storage/lmgr/lock.c:718
+#: storage/lmgr/lock.c:734
 #, c-format
 msgid ""
 "Only RowExclusiveLock or less can be acquired on database objects during "
@@ -17306,13 +17987,13 @@ msgstr ""
 "В процессе восстановления для объектов базы данных может быть получена "
 "только блокировка RowExclusiveLock или менее сильная."
 
-#: storage/lmgr/lock.c:868 storage/lmgr/lock.c:902 storage/lmgr/lock.c:2599
-#: storage/lmgr/lock.c:3715 storage/lmgr/lock.c:3780 storage/lmgr/lock.c:4070
+#: storage/lmgr/lock.c:884 storage/lmgr/lock.c:918 storage/lmgr/lock.c:2683
+#: storage/lmgr/lock.c:4008 storage/lmgr/lock.c:4073 storage/lmgr/lock.c:4365
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Возможно, следует увеличить параметр max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3040 storage/lmgr/lock.c:3152
+#: storage/lmgr/lock.c:3124 storage/lmgr/lock.c:3240
 #, c-format
 msgid ""
 "cannot PREPARE while holding both session-level and transaction-level locks "
@@ -17344,12 +18025,12 @@ msgstr ""
 "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/"
 "записи"
 
-#: storage/lmgr/predicate.c:908
+#: storage/lmgr/predicate.c:909
 #, c-format
 msgid "memory for serializable conflict tracking is nearly exhausted"
 msgstr "память для отслеживания конфликтов сериализации практически исчерпана"
 
-#: storage/lmgr/predicate.c:909
+#: storage/lmgr/predicate.c:910
 #, c-format
 msgid ""
 "There might be an idle transaction or a forgotten prepared transaction "
@@ -17358,7 +18039,7 @@ msgstr ""
 "Вероятно, эта ситуация вызвана забытой подготовленной транзакцией или "
 "транзакцией, простаивающей долгое время."
 
-#: storage/lmgr/predicate.c:1189 storage/lmgr/predicate.c:1260
+#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1261
 #, c-format
 msgid ""
 "not enough shared memory for elements of data structure \"%s\" (%zu bytes "
@@ -17367,18 +18048,18 @@ msgstr ""
 "недостаточно разделяемой памяти для элементов структуры данных \"%s"
 "\" (запрошено байт: %zu)"
 
-#: storage/lmgr/predicate.c:1548
+#: storage/lmgr/predicate.c:1549
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "откладываемый снимок был небезопасен; пробуем более новый"
 
-#: storage/lmgr/predicate.c:1587
+#: storage/lmgr/predicate.c:1588
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr ""
 "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"."
 
-#: storage/lmgr/predicate.c:1588
+#: storage/lmgr/predicate.c:1589
 #, c-format
 msgid ""
 "You can use \"SET default_transaction_isolation = 'repeatable read'\" to "
@@ -17387,34 +18068,34 @@ msgstr ""
 "Чтобы изменить режим по умолчанию, выполните \"SET "
 "default_transaction_isolation = 'repeatable read'\"."
 
-#: storage/lmgr/predicate.c:1627
+#: storage/lmgr/predicate.c:1628
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1705 utils/time/snapmgr.c:431
-#: utils/time/snapmgr.c:437
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:543
+#: utils/time/snapmgr.c:549
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "не удалось импортировать запрошенный снимок"
 
-#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:438
+#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:550
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "Исходная транзакция %u уже не выполняется."
 
-#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
-#: storage/lmgr/predicate.c:3736
+#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345
+#: storage/lmgr/predicate.c:3737
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr ""
 "Возможно, следует увеличить значение параметра max_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3890 storage/lmgr/predicate.c:3979
-#: storage/lmgr/predicate.c:3987 storage/lmgr/predicate.c:4026
-#: storage/lmgr/predicate.c:4265 storage/lmgr/predicate.c:4602
-#: storage/lmgr/predicate.c:4614 storage/lmgr/predicate.c:4656
-#: storage/lmgr/predicate.c:4694
+#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980
+#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027
+#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603
+#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657
+#: storage/lmgr/predicate.c:4695
 #, c-format
 msgid ""
 "could not serialize access due to read/write dependencies among transactions"
@@ -17422,31 +18103,31 @@ msgstr ""
 "не удалось сериализовать доступ из-за зависимостей чтения/записи между "
 "транзакциями"
 
-#: storage/lmgr/predicate.c:3892 storage/lmgr/predicate.c:3981
-#: storage/lmgr/predicate.c:3989 storage/lmgr/predicate.c:4028
-#: storage/lmgr/predicate.c:4267 storage/lmgr/predicate.c:4604
-#: storage/lmgr/predicate.c:4616 storage/lmgr/predicate.c:4658
-#: storage/lmgr/predicate.c:4696
+#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982
+#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029
+#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605
+#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659
+#: storage/lmgr/predicate.c:4697
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "Транзакция может завершиться успешно при следующей попытке."
 
-#: storage/lmgr/proc.c:1164
+#: storage/lmgr/proc.c:1263
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "Процесс %d ожидает в режиме %s блокировку %s."
 
-#: storage/lmgr/proc.c:1175
+#: storage/lmgr/proc.c:1274
 #, c-format
 msgid "sending cancel to blocking autovacuum PID %d"
 msgstr "снятие блокирующего процесса автоочистки (PID %d)"
 
-#: storage/lmgr/proc.c:1193 utils/adt/misc.c:146
+#: storage/lmgr/proc.c:1292 utils/adt/misc.c:270
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "отправить сигнал процессу %d не удалось: %m"
 
-#: storage/lmgr/proc.c:1295
+#: storage/lmgr/proc.c:1394
 #, c-format
 msgid ""
 "process %d avoided deadlock for %s on %s by rearranging queue order after "
@@ -17455,7 +18136,7 @@ msgstr ""
 "процесс %d избежал взаимоблокировки, ожидая в режиме %s блокировку \"%s\", "
 "изменив порядок очереди через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1310
+#: storage/lmgr/proc.c:1409
 #, c-format
 msgid ""
 "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
@@ -17463,19 +18144,19 @@ msgstr ""
 "процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" "
 "в течение %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1319
+#: storage/lmgr/proc.c:1418
 #, 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:1326
+#: storage/lmgr/proc.c:1425
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс"
 
-#: storage/lmgr/proc.c:1342
+#: storage/lmgr/proc.c:1441
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr ""
@@ -17487,110 +18168,119 @@ msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr ""
 "ошибка проверки страницы: получена контрольная сумма %u, а ожидалась — %u"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:490
-#: storage/page/bufpage.c:705 storage/page/bufpage.c:836
-#: storage/page/bufpage.c:936
+#: storage/page/bufpage.c:203 storage/page/bufpage.c:522
+#: storage/page/bufpage.c:737 storage/page/bufpage.c:868
+#: storage/page/bufpage.c:968
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr ""
 "испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u"
 
-#: storage/page/bufpage.c:534
+#: storage/page/bufpage.c:566
 #, c-format
 msgid "corrupted item pointer: %u"
 msgstr "испорченный указатель элемента: %u"
 
-#: storage/page/bufpage.c:545 storage/page/bufpage.c:887
-#: storage/page/bufpage.c:1042
+#: storage/page/bufpage.c:577 storage/page/bufpage.c:919
+#: storage/page/bufpage.c:1074
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "испорченный размер элемента (общий размер: %u, доступно: %u)"
 
-#: storage/page/bufpage.c:724 storage/page/bufpage.c:860
+#: storage/page/bufpage.c:756 storage/page/bufpage.c:892
 #, c-format
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "испорченный указатель элемента: смещение = %u, размер = %u"
 
-#: storage/page/bufpage.c:965
+#: storage/page/bufpage.c:997
 #, c-format
 msgid "corrupted item pointer: offset = %u, length = %u"
 msgstr "испорченный указатель элемента: смещение = %u, длина = %u"
 
-#: storage/smgr/md.c:442 storage/smgr/md.c:913
+#: storage/smgr/md.c:453 storage/smgr/md.c:975
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "не удалось обрезать файл \"%s\": %m"
 
-#: storage/smgr/md.c:509
+#: storage/smgr/md.c:520
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "не удалось увеличить файл \"%s\" до блока %u"
 
-#: storage/smgr/md.c:531 storage/smgr/md.c:692 storage/smgr/md.c:767
+#: storage/smgr/md.c:542 storage/smgr/md.c:755 storage/smgr/md.c:831
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "не удалось перейти к блоку %u в файле \"%s\": %m"
 
-#: storage/smgr/md.c:539
+#: storage/smgr/md.c:550
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "не удалось увеличить файл \"%s\": %m"
 
-#: storage/smgr/md.c:541 storage/smgr/md.c:548 storage/smgr/md.c:794
+#: storage/smgr/md.c:552 storage/smgr/md.c:559 storage/smgr/md.c:858
 #, c-format
 msgid "Check free disk space."
 msgstr "Проверьте, есть ли место на диске."
 
-#: storage/smgr/md.c:545
+#: storage/smgr/md.c:556
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u"
 
-#: storage/smgr/md.c:710
+#: storage/smgr/md.c:773
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "не удалось прочитать блок %u в файле \"%s\": %m"
 
-#: storage/smgr/md.c:726
+#: storage/smgr/md.c:789
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)"
 
-#: storage/smgr/md.c:785
+#: storage/smgr/md.c:849
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "не удалось записать блок %u в файл \"%s\": %m"
 
-#: storage/smgr/md.c:790
+#: storage/smgr/md.c:854
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)"
 
-#: storage/smgr/md.c:889
+#: storage/smgr/md.c:951
 #, 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:938
+#: storage/smgr/md.c:1000
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m"
 
-#: storage/smgr/md.c:1218
+#: storage/smgr/md.c:1282
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr ""
 "не удалось синхронизировать с ФС файл \"%s\", последует повторная попытка: %m"
 
-#: storage/smgr/md.c:1381
+#: storage/smgr/md.c:1445
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr ""
 "не удалось отправить запрос синхронизации с ФС (очередь запросов переполнена)"
 
-#: storage/smgr/md.c:1776
+#: storage/smgr/md.c:1866
+#, c-format
+msgid ""
+"could not open file \"%s\" (target block %u): previous segment is only %u "
+"blocks"
+msgstr ""
+"не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в "
+"предыдущем сегменте (всего %u)"
+
+#: storage/smgr/md.c:1880
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m"
@@ -17600,9 +18290,9 @@ msgstr "не удалось открыть файл file \"%s\" (целевой
 msgid "invalid argument size %d in function call message"
 msgstr "неверный размер аргумента (%d) в сообщении вызова функции"
 
-#: tcop/fastpath.c:291 tcop/postgres.c:1003 tcop/postgres.c:1313
-#: tcop/postgres.c:1571 tcop/postgres.c:1975 tcop/postgres.c:2342
-#: tcop/postgres.c:2417
+#: tcop/fastpath.c:291 tcop/postgres.c:992 tcop/postgres.c:1303
+#: tcop/postgres.c:1561 tcop/postgres.c:1966 tcop/postgres.c:2333
+#: tcop/postgres.c:2408
 #, c-format
 msgid ""
 "current transaction is aborted, commands ignored until end of transaction "
@@ -17615,8 +18305,8 @@ msgstr ""
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "вызов функции fastpath: \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:401 tcop/postgres.c:1173 tcop/postgres.c:1438
-#: tcop/postgres.c:1816 tcop/postgres.c:2033
+#: tcop/fastpath.c:401 tcop/postgres.c:1163 tcop/postgres.c:1428
+#: tcop/postgres.c:1807 tcop/postgres.c:2024
 #, c-format
 msgid "duration: %s ms"
 msgstr "продолжительность: %s мс"
@@ -17645,60 +18335,60 @@ msgstr ""
 msgid "incorrect binary data format in function argument %d"
 msgstr "неправильный формат двоичных данных в аргументе функции %d"
 
-#: tcop/postgres.c:363 tcop/postgres.c:399 tcop/postgres.c:426
+#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
 #, c-format
 msgid "unexpected EOF on client connection"
 msgstr "неожиданный обрыв соединения с клиентом"
 
-#: tcop/postgres.c:449 tcop/postgres.c:461 tcop/postgres.c:472
-#: tcop/postgres.c:484 tcop/postgres.c:4268
+#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461
+#: tcop/postgres.c:473 tcop/postgres.c:4312
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "неправильный тип клиентского сообщения %d"
 
-#: tcop/postgres.c:944
+#: tcop/postgres.c:933
 #, c-format
 msgid "statement: %s"
 msgstr "оператор: %s"
 
-#: tcop/postgres.c:1178
+#: tcop/postgres.c:1168
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "продолжительность: %s мс, оператор: %s"
 
-#: tcop/postgres.c:1228
+#: tcop/postgres.c:1218
 #, c-format
 msgid "parse %s: %s"
 msgstr "разбор %s: %s"
 
-#: tcop/postgres.c:1286
+#: tcop/postgres.c:1276
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "в подготовленный оператор нельзя вставить несколько команд"
 
-#: tcop/postgres.c:1443
+#: tcop/postgres.c:1433
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "продолжительность: %s мс, разбор %s: %s"
 
-#: tcop/postgres.c:1488
+#: tcop/postgres.c:1478
 #, c-format
 msgid "bind %s to %s"
 msgstr "привязка %s к %s"
 
 # [SM]: TO REVIEW
-#: tcop/postgres.c:1507 tcop/postgres.c:2323
+#: tcop/postgres.c:1497 tcop/postgres.c:2314
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "безымянный подготовленный оператор не существует"
 
-#: tcop/postgres.c:1549
+#: tcop/postgres.c:1539
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr ""
 "неверное число форматов параметров в сообщении Bind (%d, а параметров %d)"
 
-#: tcop/postgres.c:1555
+#: tcop/postgres.c:1545
 #, c-format
 msgid ""
 "bind message supplies %d parameters, but prepared statement \"%s\" requires "
@@ -17707,88 +18397,88 @@ msgstr ""
 "в сообщении Bind передано неверное число параметров (%d, а подготовленный "
 "оператор \"%s\" требует %d)"
 
-#: tcop/postgres.c:1723
+#: tcop/postgres.c:1714
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "неверный формат двоичных данных в параметре Вind %d"
 
-#: tcop/postgres.c:1821
+#: tcop/postgres.c:1812
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "продолжительность: %s мс, сообщение Bind %s%s%s: %s"
 
-#: tcop/postgres.c:1869 tcop/postgres.c:2403
+#: tcop/postgres.c:1860 tcop/postgres.c:2394
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "портал \"%s\" не существует"
 
-#: tcop/postgres.c:1954
+#: tcop/postgres.c:1945
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1956 tcop/postgres.c:2041
+#: tcop/postgres.c:1947 tcop/postgres.c:2032
 msgid "execute fetch from"
 msgstr "выборка из"
 
-#: tcop/postgres.c:1957 tcop/postgres.c:2042
+#: tcop/postgres.c:1948 tcop/postgres.c:2033
 msgid "execute"
 msgstr "выполнение"
 
-#: tcop/postgres.c:2038
+#: tcop/postgres.c:2029
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "продолжительность: %s мс  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2164
+#: tcop/postgres.c:2155
 #, c-format
 msgid "prepare: %s"
 msgstr "подготовка: %s"
 
-#: tcop/postgres.c:2227
+#: tcop/postgres.c:2218
 #, c-format
 msgid "parameters: %s"
 msgstr "параметры: %s"
 
-#: tcop/postgres.c:2246
+#: tcop/postgres.c:2237
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "причина прерывания: конфликт при восстановлении"
 
-#: tcop/postgres.c:2262
+#: tcop/postgres.c:2253
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "Пользователь удерживал фиксатор разделяемого буфера слишком долго."
 
-#: tcop/postgres.c:2265
+#: tcop/postgres.c:2256
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "Пользователь удерживал блокировку таблицы слишком долго."
 
-#: tcop/postgres.c:2268
+#: tcop/postgres.c:2259
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr ""
 "Пользователь использовал табличное пространство, которое должно быть удалено."
 
-#: tcop/postgres.c:2271
+#: tcop/postgres.c:2262
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr ""
 "Запросу пользователя нужно было видеть версии строк, которые должны быть "
 "удалены."
 
-#: tcop/postgres.c:2277
+#: tcop/postgres.c:2268
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "Пользователь был подключен к базе данных, которая должна быть удалена."
 
-#: tcop/postgres.c:2606
+#: tcop/postgres.c:2597
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "закрытие подключения из-за краха другого серверного процесса"
 
-#: tcop/postgres.c:2607
+#: tcop/postgres.c:2598
 #, c-format
 msgid ""
 "The postmaster has commanded this server process to roll back the current "
@@ -17799,7 +18489,7 @@ msgstr ""
 "транзакцию и завершиться, так как другой серверный процесс завершился "
 "аварийно и возможно разрушил разделяемую память."
 
-#: tcop/postgres.c:2611 tcop/postgres.c:2917
+#: tcop/postgres.c:2602 tcop/postgres.c:2906
 #, c-format
 msgid ""
 "In a moment you should be able to reconnect to the database and repeat your "
@@ -17808,12 +18498,12 @@ msgstr ""
 "Вы сможете переподключиться к базе данных и повторить вашу команду сию "
 "минуту."
 
-#: tcop/postgres.c:2697
+#: tcop/postgres.c:2688
 #, c-format
 msgid "floating-point exception"
 msgstr "исключение в операции с плавающей точкой"
 
-#: tcop/postgres.c:2698
+#: tcop/postgres.c:2689
 #, c-format
 msgid ""
 "An invalid floating-point operation was signaled. This probably means an out-"
@@ -17823,57 +18513,62 @@ msgstr ""
 "оказался вне допустимых рамок или произошла ошибка вычисления, например, "
 "деление на ноль."
 
-#: tcop/postgres.c:2862
+#: tcop/postgres.c:2851
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "отмена проверки подлинности из-за таймаута"
 
-#: tcop/postgres.c:2866
+#: tcop/postgres.c:2855
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "прекращение процесса автоочистки по команде администратора"
 
-#: tcop/postgres.c:2872 tcop/postgres.c:2882 tcop/postgres.c:2915
+#: tcop/postgres.c:2861 tcop/postgres.c:2871 tcop/postgres.c:2904
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "закрытие подключения из-за конфликта с процессом восстановления"
 
-#: tcop/postgres.c:2888
+#: tcop/postgres.c:2877
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "закрытие подключения по команде администратора"
 
-#: tcop/postgres.c:2898
+#: tcop/postgres.c:2887
 #, c-format
 msgid "connection to client lost"
 msgstr "подключение к клиенту потеряно"
 
-#: tcop/postgres.c:2951
+#: tcop/postgres.c:2955
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "выполнение оператора отменено из-за таймаута блокировки"
 
-#: tcop/postgres.c:2958
+#: tcop/postgres.c:2962
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "выполнение оператора отменено из-за таймаута"
 
-#: tcop/postgres.c:2965
+#: tcop/postgres.c:2969
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "отмена задачи автоочистки"
 
-#: tcop/postgres.c:2988
+#: tcop/postgres.c:2992
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "выполнение оператора отменено по запросу пользователя"
 
-#: tcop/postgres.c:3098
+#: tcop/postgres.c:3002
+#, c-format
+msgid "terminating connection due to idle-in-transaction timeout"
+msgstr "закрытие подключения из-за таймаута простоя в транзакции"
+
+#: tcop/postgres.c:3116
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "превышен предел глубины стека"
 
-#: tcop/postgres.c:3099
+#: tcop/postgres.c:3117
 #, c-format
 msgid ""
 "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), "
@@ -17883,12 +18578,12 @@ msgstr ""
 "КБ), предварительно убедившись, что ОС предоставляет достаточный размер "
 "стека."
 
-#: tcop/postgres.c:3162
+#: tcop/postgres.c:3180
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "Значение \"max_stack_depth\" не должно превышать %ld КБ."
 
-#: tcop/postgres.c:3164
+#: tcop/postgres.c:3182
 #, c-format
 msgid ""
 "Increase the platform's stack depth limit via \"ulimit -s\" or local "
@@ -17897,48 +18592,48 @@ msgstr ""
 "Увеличьте предел глубины стека в системе с помощью команды \"ulimit -s\" или "
 "эквивалента в вашей ОС."
 
-#: tcop/postgres.c:3524
+#: tcop/postgres.c:3542
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "неверный аргумент командной строки для серверного процесса: %s"
 
-#: tcop/postgres.c:3525 tcop/postgres.c:3531
+#: tcop/postgres.c:3543 tcop/postgres.c:3549
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Для дополнительной информации попробуйте \"%s --help\"."
 
-#: tcop/postgres.c:3529
+#: tcop/postgres.c:3547
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: неверный аргумент командной строки: %s"
 
-#: tcop/postgres.c:3590
+#: tcop/postgres.c:3609
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: не указаны ни база данных, ни пользователь"
 
-#: tcop/postgres.c:4176
+#: tcop/postgres.c:4220
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "неверный подтип сообщения CLOSE: %d"
 
-#: tcop/postgres.c:4211
+#: tcop/postgres.c:4255
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "неверный подтип сообщения DESCRIBE: %d"
 
-#: tcop/postgres.c:4289
+#: tcop/postgres.c:4333
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "вызовы функции fastpath не поддерживаются для реплицирующих соединений"
 
-#: tcop/postgres.c:4293
+#: tcop/postgres.c:4337
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr ""
 "протокол расширенных запросов не поддерживается для реплицирующих соединений"
 
-#: tcop/postgres.c:4463
+#: tcop/postgres.c:4507
 #, c-format
 msgid ""
 "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s"
@@ -17947,48 +18642,48 @@ msgstr ""
 "отключение: время сеанса: %d:%02d:%02d.%03d пользователь=%s база данных=%s "
 "компьютер=%s%s%s"
 
-#: tcop/pquery.c:662
+#: tcop/pquery.c:663
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr ""
 "число форматов результатов в сообщении Вind (%d) не равно числу столбцов в "
 "запросе (%d)"
 
-#: tcop/pquery.c:968
+#: tcop/pquery.c:965
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "курсор может сканировать только вперёд"
 
-#: tcop/pquery.c:969
+#: tcop/pquery.c:966
 #, c-format
 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:233
+#: tcop/utility.c:235
 #, 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:251
+#: tcop/utility.c:253
 #, c-format
 msgid "cannot execute %s during a parallel operation"
 msgstr "выполнить %s во время параллельных операций нельзя"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:270
+#: tcop/utility.c:272
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "выполнить %s во время восстановления нельзя"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:288
+#: tcop/utility.c:290
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "в рамках операции с ограничениями по безопасности нельзя выполнить %s"
 
-#: tcop/utility.c:742
+#: tcop/utility.c:744
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "для выполнения CHECKPOINT нужно быть суперпользователем"
@@ -18117,43 +18812,70 @@ msgstr "нераспознанный параметр тезауруса: \"%s\"
 msgid "missing Dictionary parameter"
 msgstr "отсутствует параметр Dictionary"
 
-#: tsearch/spell.c:276
+#: tsearch/spell.c:382 tsearch/spell.c:399 tsearch/spell.c:408
+#: tsearch/spell.c:1035
+#, c-format
+msgid "invalid affix flag \"%s\""
+msgstr "неверный флаг аффиксов \"%s\""
+
+#: tsearch/spell.c:386 tsearch/spell.c:1039
+#, c-format
+msgid "affix flag \"%s\" is out of range"
+msgstr "флаг аффикса \"%s\" вне диапазона"
+
+#: tsearch/spell.c:416
+#, c-format
+msgid "invalid character in affix flag \"%s\""
+msgstr "неверный символ во флаге аффикса \"%s\""
+
+#: tsearch/spell.c:436
+#, c-format
+msgid "invalid affix flag \"%s\" with long flag value"
+msgstr "неверный флаг аффиксов \"%s\" с длинным значением флага"
+
+#: tsearch/spell.c:523
 #, c-format
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "не удалось открыть файл словаря \"%s\": %m"
 
-#: tsearch/spell.c:439 utils/adt/regexp.c:204
+#: tsearch/spell.c:741 utils/adt/regexp.c:204
 #, c-format
 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:14253 gram.y:14270
+#: tsearch/spell.c:955 tsearch/spell.c:972 tsearch/spell.c:989
+#: tsearch/spell.c:1006 tsearch/spell.c:1071 gram.y:14386 gram.y:14403
 #, c-format
 msgid "syntax error"
 msgstr "ошибка синтаксиса"
 
-#: tsearch/spell.c:596
+#: tsearch/spell.c:1162 tsearch/spell.c:1721
 #, c-format
-msgid "multibyte flag character is not allowed"
-msgstr "многобайтные символы флагов не допускаются"
+msgid "invalid affix alias \"%s\""
+msgstr "неверное указание аффикса \"%s\""
 
-#: tsearch/spell.c:632 tsearch/spell.c:690 tsearch/spell.c:787
+#: tsearch/spell.c:1212 tsearch/spell.c:1282 tsearch/spell.c:1426
 #, c-format
 msgid "could not open affix file \"%s\": %m"
 msgstr "не удалось открыть файл аффиксов \"%s\": %m"
 
-#: tsearch/spell.c:678
+#: tsearch/spell.c:1266
+#, c-format
+msgid "Ispell dictionary supports only default, long and num flag value"
+msgstr ""
+"словарь Ispell поддерживает для FLAG только значение default, long и num"
+
+#: tsearch/spell.c:1309
 #, c-format
-msgid "Ispell dictionary supports only default flag value"
-msgstr "словарь Ispell поддерживает для FLAG только значение default"
+msgid "invalid number of flag vector aliases"
+msgstr "неверное количество векторов флагов"
 
-#: tsearch/spell.c:901
+#: tsearch/spell.c:1542
 #, c-format
 msgid "affix file contains both old-style and new-style commands"
 msgstr "файл аффиксов содержит команды и в старом, и в новом стиле"
 
-#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
+#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:1082
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "строка слишком длинна для tsvector (%d Б, при максимуме %d)"
@@ -18168,14 +18890,14 @@ msgstr "строка %d файла конфигурации \"%s\": \"%s\""
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "преобразовать wchar_t в кодировку сервера не удалось: %m"
 
-#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:560
-#: tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:566
+#: tsearch/ts_parse.c:573
 #, c-format
 msgid "word is too long to be indexed"
 msgstr "слишком длинное слово для индексации"
 
-#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:561
-#: tsearch/ts_parse.c:568
+#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:574
 #, c-format
 msgid "Words longer than %d characters are ignored."
 msgstr "Слова длиннее %d символов игнорируются."
@@ -18195,146 +18917,151 @@ msgstr "не удалось открыть файл стоп-слов \"%s\": %m
 msgid "text search parser does not support headline creation"
 msgstr "анализатор текстового поиска не поддерживает создание выдержек"
 
-#: tsearch/wparser_def.c:2557
+#: tsearch/wparser_def.c:2583
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "нераспознанный параметр функции выдержки: \"%s\""
 
-#: tsearch/wparser_def.c:2566
+#: tsearch/wparser_def.c:2592
 #, c-format
 msgid "MinWords should be less than MaxWords"
 msgstr "Значение MinWords должно быть меньше MaxWords"
 
-#: tsearch/wparser_def.c:2570
+#: tsearch/wparser_def.c:2596
 #, c-format
 msgid "MinWords should be positive"
 msgstr "Значение MinWords должно быть положительным"
 
-#: tsearch/wparser_def.c:2574
+#: tsearch/wparser_def.c:2600
 #, c-format
 msgid "ShortWord should be >= 0"
 msgstr "Значение ShortWord должно быть >= 0"
 
-#: tsearch/wparser_def.c:2578
+#: tsearch/wparser_def.c:2604
 #, c-format
 msgid "MaxFragments should be >= 0"
 msgstr "Значение MaxFragments должно быть >= 0"
 
-#: utils/adt/acl.c:169 utils/adt/name.c:91
+#: utils/adt/acl.c:170 utils/adt/name.c:91
 #, c-format
 msgid "identifier too long"
 msgstr "слишком длинный идентификатор"
 
-#: utils/adt/acl.c:170 utils/adt/name.c:92
+#: utils/adt/acl.c:171 utils/adt/name.c:92
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "Идентификатор должен быть короче %d байт."
 
-#: utils/adt/acl.c:256
+#: utils/adt/acl.c:257
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "нераспознанное ключевое слово: \"%s\""
 
-#: utils/adt/acl.c:257
+#: utils/adt/acl.c:258
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "Ключевым словом ACL должно быть \"group\" или \"user\"."
 
-#: utils/adt/acl.c:262
+#: utils/adt/acl.c:263
 #, c-format
 msgid "missing name"
 msgstr "отсутствует имя"
 
-#: utils/adt/acl.c:263
+#: utils/adt/acl.c:264
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "За ключевыми словами \"group\" или \"user\" должно следовать имя."
 
-#: utils/adt/acl.c:269
+#: utils/adt/acl.c:270
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "отсутствует знак \"=\""
 
-#: utils/adt/acl.c:322
+#: utils/adt/acl.c:323
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "неверный символ режима: должен быть один из \"%s\""
 
-#: utils/adt/acl.c:344
+#: utils/adt/acl.c:345
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "за знаком \"/\" должно следовать имя"
 
-#: utils/adt/acl.c:352
+#: utils/adt/acl.c:353
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "назначившим права считается пользователь с ID %u"
 
-#: utils/adt/acl.c:543
+#: utils/adt/acl.c:544
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "Массив ACL содержит неверный тип данных"
 
-#: utils/adt/acl.c:547
+#: utils/adt/acl.c:548
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "Массивы ACL должны быть одномерными"
 
-#: utils/adt/acl.c:551
+#: utils/adt/acl.c:552
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "Массивы ACL не должны содержать значения null"
 
-#: utils/adt/acl.c:575
+#: utils/adt/acl.c:576
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "лишний мусор в конце спецификации ACL"
 
-#: utils/adt/acl.c:1195
+#: utils/adt/acl.c:1196
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "привилегию назначения прав нельзя вернуть тому, кто назначил её вам"
 
-#: utils/adt/acl.c:1256
+#: utils/adt/acl.c:1257
 #, c-format
 msgid "dependent privileges exist"
 msgstr "существуют зависимые права"
 
-#: utils/adt/acl.c:1257
+#: utils/adt/acl.c:1258
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Используйте CASCADE, чтобы отозвать и их."
 
-#: utils/adt/acl.c:1536
+#: utils/adt/acl.c:1537
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert больше не поддерживается"
 
-#: utils/adt/acl.c:1546
+#: utils/adt/acl.c:1547
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove больше не поддерживается "
 
-#: utils/adt/acl.c:1632 utils/adt/acl.c:1686
+#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "нераспознанный тип прав: \"%s\""
 
-#: utils/adt/acl.c:3426 utils/adt/regproc.c:123 utils/adt/regproc.c:144
+#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144
 #: utils/adt/regproc.c:319
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "функция \"%s\" не существует"
 
-#: utils/adt/acl.c:4880
+#: utils/adt/acl.c:4881
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "нужно быть членом роли \"%s\""
 
-#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:934
-#: utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3225
-#: utils/adt/arrayfuncs.c:3363 utils/adt/arrayfuncs.c:5838
-#: utils/adt/arrayfuncs.c:6149 utils/adt/arrayutils.c:93
+#: utils/adt/acl.c:5279 utils/adt/acl.c:5285
+#, c-format
+msgid "role \"%s\" is reserved"
+msgstr "роль \"%s\" зарезервирована"
+
+#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:931
+#: utils/adt/arrayfuncs.c:1519 utils/adt/arrayfuncs.c:3251
+#: utils/adt/arrayfuncs.c:3389 utils/adt/arrayfuncs.c:5864
+#: utils/adt/arrayfuncs.c:6175 utils/adt/arrayutils.c:93
 #: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
@@ -18343,7 +19070,7 @@ msgstr "размер массива превышает предел (%d)"
 #: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529
 #: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854
 #: utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155
-#: utils/adt/jsonb.c:1590 utils/adt/jsonb.c:1754 utils/adt/jsonb.c:1764
+#: utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
 #, c-format
 msgid "could not determine input data type"
 msgstr "не удалось определить тип входных данных"
@@ -18354,15 +19081,15 @@ msgid "input data type is not an array"
 msgstr "тип входных данных не является массивом"
 
 #: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174
-#: utils/adt/arrayfuncs.c:1325 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/arrayfuncs.c:1322 utils/adt/float.c:1230 utils/adt/float.c:1289
+#: utils/adt/float.c:3558 utils/adt/float.c:3574 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:1298 utils/adt/numeric.c:2903
-#: utils/adt/numeric.c:2912 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
-#: utils/adt/varlena.c:1045 utils/adt/varlena.c:2582
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2907
+#: utils/adt/numeric.c:2916 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/varlena.c:1055 utils/adt/varlena.c:2807
 #, c-format
 msgid "integer out of range"
 msgstr "целое вне диапазона"
@@ -18402,8 +19129,8 @@ msgstr "Массивы с разными размерностями элемен
 msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "Массивы с разными размерностями несовместимы для соединения."
 
-#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1287
-#: utils/adt/arrayfuncs.c:3331 utils/adt/arrayfuncs.c:5738
+#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1284
+#: utils/adt/arrayfuncs.c:3357 utils/adt/arrayfuncs.c:5764
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "неверное число размерностей: %d"
@@ -18418,234 +19145,248 @@ msgstr "поиск элементов в многомерных массивах
 msgid "initial position must not be null"
 msgstr "начальная позиция не может быть NULL"
 
-#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285
-#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318
-#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347
-#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
-#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:507
-#: utils/adt/arrayfuncs.c:518 utils/adt/arrayfuncs.c:533
-#: utils/adt/arrayfuncs.c:554 utils/adt/arrayfuncs.c:584
-#: utils/adt/arrayfuncs.c:591 utils/adt/arrayfuncs.c:599
-#: utils/adt/arrayfuncs.c:633 utils/adt/arrayfuncs.c:656
-#: utils/adt/arrayfuncs.c:676 utils/adt/arrayfuncs.c:788
-#: utils/adt/arrayfuncs.c:797 utils/adt/arrayfuncs.c:827
-#: utils/adt/arrayfuncs.c:842 utils/adt/arrayfuncs.c:895
+#: utils/adt/arrayfuncs.c:268 utils/adt/arrayfuncs.c:282
+#: utils/adt/arrayfuncs.c:293 utils/adt/arrayfuncs.c:315
+#: utils/adt/arrayfuncs.c:330 utils/adt/arrayfuncs.c:344
+#: utils/adt/arrayfuncs.c:350 utils/adt/arrayfuncs.c:357
+#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:504
+#: utils/adt/arrayfuncs.c:515 utils/adt/arrayfuncs.c:530
+#: utils/adt/arrayfuncs.c:551 utils/adt/arrayfuncs.c:581
+#: utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:596
+#: utils/adt/arrayfuncs.c:630 utils/adt/arrayfuncs.c:653
+#: utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:785
+#: utils/adt/arrayfuncs.c:794 utils/adt/arrayfuncs.c:824
+#: utils/adt/arrayfuncs.c:839 utils/adt/arrayfuncs.c:892
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "ошибочный литерал массива: \"%s\""
 
-#: utils/adt/arrayfuncs.c:272
+#: utils/adt/arrayfuncs.c:269
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "За \"[\" должны следовать явно задаваемые размерности массива."
 
-#: utils/adt/arrayfuncs.c:286
+#: utils/adt/arrayfuncs.c:283
 #, c-format
 msgid "Missing array dimension value."
 msgstr "Отсутствует значение размерности массива."
 
-#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
+#: utils/adt/arrayfuncs.c:294 utils/adt/arrayfuncs.c:331
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "После размерностей массива отсутствует \"%s\"."
 
-#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2848
-#: utils/adt/arrayfuncs.c:2876 utils/adt/arrayfuncs.c:2891
+#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:2870
+#: utils/adt/arrayfuncs.c:2902 utils/adt/arrayfuncs.c:2917
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "верхняя граница не может быть меньше нижней"
 
-#: utils/adt/arrayfuncs.c:319
+#: utils/adt/arrayfuncs.c:316
 #, c-format
 msgid "Array value must start with \"{\" or dimension information."
 msgstr "Значение массива должно начинаться с \"{\" или указания размерности."
 
-#: utils/adt/arrayfuncs.c:348
+#: utils/adt/arrayfuncs.c:345
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "Содержимое массива должно начинаться с \"{\"."
 
-#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
+#: utils/adt/arrayfuncs.c:351 utils/adt/arrayfuncs.c:358
 #, c-format
 msgid "Specified array dimensions do not match array contents."
 msgstr "Указанные размерности массива не соответствуют его содержимому."
 
-#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:519
+#: utils/adt/arrayfuncs.c:489 utils/adt/arrayfuncs.c:516
 #: utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132
 #: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Неожиданный конец ввода."
 
-#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:555
-#: utils/adt/arrayfuncs.c:585 utils/adt/arrayfuncs.c:634
+#: utils/adt/arrayfuncs.c:505 utils/adt/arrayfuncs.c:552
+#: utils/adt/arrayfuncs.c:582 utils/adt/arrayfuncs.c:631
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Неожиданный знак \"%c\"."
 
-#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:657
+#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:654
 #, c-format
 msgid "Unexpected array element."
 msgstr "Неожиданный элемент массива."
 
-#: utils/adt/arrayfuncs.c:592
+#: utils/adt/arrayfuncs.c:589
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Непарный знак \"%c\"."
 
-#: utils/adt/arrayfuncs.c:600
+#: utils/adt/arrayfuncs.c:597
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr ""
 "Для многомерных массивов должны задаваться вложенные массивы с "
 "соответствующими размерностями."
 
-#: utils/adt/arrayfuncs.c:677
+#: utils/adt/arrayfuncs.c:674
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Мусор после закрывающей фигурной скобки."
 
-#: utils/adt/arrayfuncs.c:1298
+#: utils/adt/arrayfuncs.c:1295
 #, c-format
 msgid "invalid array flags"
 msgstr "неверные флаги массива"
 
-#: utils/adt/arrayfuncs.c:1306
+#: utils/adt/arrayfuncs.c:1303
 #, c-format
 msgid "wrong element type"
 msgstr "неверный тип элемента"
 
-#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:334
-#: utils/cache/lsyscache.c:2586
+#: utils/adt/arrayfuncs.c:1353 utils/adt/rangetypes.c:334
+#: utils/cache/lsyscache.c:2651
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "для типа %s нет функции ввода двоичных данных"
 
-#: utils/adt/arrayfuncs.c:1496
+#: utils/adt/arrayfuncs.c:1493
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "неподходящий двоичный формат в элементе массива %d"
 
-#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:339
-#: utils/cache/lsyscache.c:2619
+#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339
+#: utils/cache/lsyscache.c:2684
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "для типа %s нет функции вывода двоичных данных"
 
-#: utils/adt/arrayfuncs.c:2048
+#: utils/adt/arrayfuncs.c:2052
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "разрезание массивов постоянной длины не поддерживается"
 
-#: utils/adt/arrayfuncs.c:2226 utils/adt/arrayfuncs.c:2248
-#: utils/adt/arrayfuncs.c:2297 utils/adt/arrayfuncs.c:2533
-#: utils/adt/arrayfuncs.c:2830 utils/adt/arrayfuncs.c:5718
-#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5767
+#: utils/adt/arrayfuncs.c:2230 utils/adt/arrayfuncs.c:2252
+#: utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537
+#: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5744
+#: utils/adt/arrayfuncs.c:5776 utils/adt/arrayfuncs.c:5793
 #: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369
-#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3528
-#: utils/adt/jsonfuncs.c:3573
+#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3537 utils/adt/jsonfuncs.c:3582
+#: utils/adt/jsonfuncs.c:3629
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "неверное число индексов массива"
 
-#: utils/adt/arrayfuncs.c:2231 utils/adt/arrayfuncs.c:2339
-#: utils/adt/arrayfuncs.c:2597 utils/adt/arrayfuncs.c:2881
+#: utils/adt/arrayfuncs.c:2235 utils/adt/arrayfuncs.c:2343
+#: utils/adt/arrayfuncs.c:2601 utils/adt/arrayfuncs.c:2907
 #, c-format
 msgid "array subscript out of range"
 msgstr "индекс массива вне диапазона"
 
-#: utils/adt/arrayfuncs.c:2236
+#: utils/adt/arrayfuncs.c:2240
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "нельзя присвоить значение null элементу массива фиксированной длины"
 
-#: utils/adt/arrayfuncs.c:2784
+#: utils/adt/arrayfuncs.c:2795
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "изменения в срезах массивов фиксированной длины не поддерживаются"
 
-#: utils/adt/arrayfuncs.c:2820 utils/adt/arrayfuncs.c:2907
+#: utils/adt/arrayfuncs.c:2826
+#, c-format
+msgid "array slice subscript must provide both boundaries"
+msgstr "в указании среза массива должны быть заданы обе границы"
+
+#: utils/adt/arrayfuncs.c:2827
+#, c-format
+msgid ""
+"When assigning to a slice of an empty array value, slice boundaries must be "
+"fully specified."
+msgstr ""
+"При присвоении значений срезу в пустом массиве, должны полностью задаваться "
+"обе границы."
+
+#: utils/adt/arrayfuncs.c:2838 utils/adt/arrayfuncs.c:2933
 #, c-format
 msgid "source array too small"
 msgstr "исходный массив слишком мал"
 
-#: utils/adt/arrayfuncs.c:3487
+#: utils/adt/arrayfuncs.c:3513
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "элемент массива null недопустим в данном контексте"
 
-#: utils/adt/arrayfuncs.c:3589 utils/adt/arrayfuncs.c:3760
-#: utils/adt/arrayfuncs.c:4034
+#: utils/adt/arrayfuncs.c:3615 utils/adt/arrayfuncs.c:3786
+#: utils/adt/arrayfuncs.c:4060
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "нельзя сравнивать массивы с элементами разных типов"
 
-#: utils/adt/arrayfuncs.c:3936 utils/adt/rangetypes.c:1253
+#: utils/adt/arrayfuncs.c:3962 utils/adt/rangetypes.c:1253
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "не удалось найти функцию хеширования для типа %s"
 
-#: utils/adt/arrayfuncs.c:5130
+#: utils/adt/arrayfuncs.c:5156
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "тип данных %s не является типом массива"
 
-#: utils/adt/arrayfuncs.c:5187
+#: utils/adt/arrayfuncs.c:5213
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "аккумулировать NULL-массивы нельзя"
 
-#: utils/adt/arrayfuncs.c:5215
+#: utils/adt/arrayfuncs.c:5241
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "аккумулировать пустые массивы нельзя"
 
-#: utils/adt/arrayfuncs.c:5244 utils/adt/arrayfuncs.c:5250
+#: utils/adt/arrayfuncs.c:5270 utils/adt/arrayfuncs.c:5276
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "аккумулировать массивы различной размерности нельзя"
 
-#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5656
+#: utils/adt/arrayfuncs.c:5642 utils/adt/arrayfuncs.c:5682
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "массив размерностей или массив нижних границ не может быть null"
 
-#: utils/adt/arrayfuncs.c:5719 utils/adt/arrayfuncs.c:5751
+#: utils/adt/arrayfuncs.c:5745 utils/adt/arrayfuncs.c:5777
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Массив размерностей должен быть одномерным."
 
-#: utils/adt/arrayfuncs.c:5724 utils/adt/arrayfuncs.c:5756
+#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5782
 #, c-format
 msgid "wrong range of array subscripts"
 msgstr "неправильный диапазон индексов массивов"
 
-#: utils/adt/arrayfuncs.c:5725 utils/adt/arrayfuncs.c:5757
+#: utils/adt/arrayfuncs.c:5751 utils/adt/arrayfuncs.c:5783
 #, c-format
 msgid "Lower bound of dimension array must be one."
 msgstr "Нижняя граница массива размерностей должна быть равна 1."
 
-#: utils/adt/arrayfuncs.c:5730 utils/adt/arrayfuncs.c:5762
+#: utils/adt/arrayfuncs.c:5756 utils/adt/arrayfuncs.c:5788
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "значения размерностей не могут быть null"
 
-#: utils/adt/arrayfuncs.c:5768
+#: utils/adt/arrayfuncs.c:5794
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "Массив нижних границ и массив размерностей имеют разные размеры."
 
-#: utils/adt/arrayfuncs.c:6014
+#: utils/adt/arrayfuncs.c:6040
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "удаление элементов из многомерных массивов не поддерживается"
 
-#: utils/adt/arrayfuncs.c:6291
+#: utils/adt/arrayfuncs.c:6317
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "границы должны задаваться одномерным массивом"
 
-#: utils/adt/arrayfuncs.c:6296
+#: utils/adt/arrayfuncs.c:6322
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "массив границ не должен содержать NULL"
@@ -18682,13 +19423,13 @@ msgstr "неверный синтаксис для типа money: \"%s\""
 
 #: 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:4155 utils/adt/int.c:719
+#: utils/adt/float.c:857 utils/adt/float.c:921 utils/adt/float.c:3317
+#: utils/adt/float.c:3380 utils/adt/geo_ops.c:4085 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:897 utils/adt/int8.c:1005
-#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:5917
-#: utils/adt/numeric.c:6200 utils/adt/timestamp.c:3349
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6800
+#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8102 utils/adt/timestamp.c:3446
 #, c-format
 msgid "division by zero"
 msgstr "деление на ноль"
@@ -18699,7 +19440,7 @@ msgid "\"char\" out of range"
 msgstr "значение \"char\" вне диапазона"
 
 #: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52
-#: utils/adt/varchar.c:44
+#: utils/adt/varchar.c:45
 #, c-format
 msgid "invalid type modifier"
 msgstr "неверный модификатор типа"
@@ -18714,147 +19455,166 @@ msgstr "TIME(%d)%s: точность должна быть неотрицате
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d"
 
-#: utils/adt/date.c:141 utils/adt/datetime.c:1208 utils/adt/datetime.c:2079
+#: utils/adt/date.c:141 utils/adt/datetime.c:1277 utils/adt/datetime.c:2148
 #, c-format
 msgid "date/time value \"current\" is no longer supported"
 msgstr "значение \"current\" для даты/времени больше не поддерживается"
 
-#: utils/adt/date.c:166 utils/adt/formatting.c:3523
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3529
+#: utils/adt/formatting.c:3538
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "дата вне диапазона: \"%s\""
 
-#: utils/adt/date.c:216 utils/adt/xml.c:2029
+#: utils/adt/date.c:222 utils/adt/date.c:456 utils/adt/date.c:480
+#: utils/adt/xml.c:2029
 #, c-format
 msgid "date out of range"
 msgstr "дата вне диапазона"
 
-#: utils/adt/date.c:258 utils/adt/timestamp.c:592
+#: utils/adt/date.c:264 utils/adt/timestamp.c:593
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "значение поля типа date вне диапазона: %d-%02d-%02d"
 
-#: utils/adt/date.c:264 utils/adt/timestamp.c:598
+#: utils/adt/date.c:271 utils/adt/date.c:280 utils/adt/timestamp.c:599
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "дата вне диапазона: %d-%02d-%02d"
 
-#: utils/adt/date.c:417
+#: utils/adt/date.c:431
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "вычитать бесконечные даты нельзя"
 
-#: utils/adt/date.c:474 utils/adt/date.c:511
+#: utils/adt/date.c:509 utils/adt/date.c:544 utils/adt/date.c:566
+#: utils/adt/date.c:2629 utils/adt/date.c:2643
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "дата вне диапазона для типа timestamp"
 
-#: utils/adt/date.c:970 utils/adt/date.c:1016 utils/adt/date.c:1616
-#: utils/adt/date.c:1652 utils/adt/date.c:2524 utils/adt/formatting.c:3399
-#: utils/adt/formatting.c:3431 utils/adt/formatting.c:3499
-#: utils/adt/json.c:1534 utils/adt/json.c:1556 utils/adt/jsonb.c:823
-#: utils/adt/jsonb.c:847 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
-#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:224
-#: utils/adt/timestamp.c:267 utils/adt/timestamp.c:716
-#: utils/adt/timestamp.c:745 utils/adt/timestamp.c:784
-#: utils/adt/timestamp.c:2938 utils/adt/timestamp.c:2959
-#: utils/adt/timestamp.c:2972 utils/adt/timestamp.c:2981
-#: utils/adt/timestamp.c:3038 utils/adt/timestamp.c:3061
-#: utils/adt/timestamp.c:3074 utils/adt/timestamp.c:3085
-#: utils/adt/timestamp.c:3610 utils/adt/timestamp.c:3739
-#: utils/adt/timestamp.c:3780 utils/adt/timestamp.c:3868
-#: utils/adt/timestamp.c:3914 utils/adt/timestamp.c:4025
-#: utils/adt/timestamp.c:4349 utils/adt/timestamp.c:4465
-#: utils/adt/timestamp.c:4475 utils/adt/timestamp.c:4560
-#: utils/adt/timestamp.c:4679 utils/adt/timestamp.c:4689
-#: utils/adt/timestamp.c:5005 utils/adt/timestamp.c:5019
-#: utils/adt/timestamp.c:5144 utils/adt/timestamp.c:5151
-#: utils/adt/timestamp.c:5177 utils/adt/timestamp.c:5181
-#: utils/adt/timestamp.c:5250 utils/adt/xml.c:2051 utils/adt/xml.c:2058
+#: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678
+#: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592
+#: utils/adt/formatting.c:3404 utils/adt/formatting.c:3436
+#: utils/adt/formatting.c:3504 utils/adt/json.c:1534 utils/adt/json.c:1556
+#: utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455
+#: utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571
+#: utils/adt/timestamp.c:224 utils/adt/timestamp.c:268
+#: utils/adt/timestamp.c:726 utils/adt/timestamp.c:735
+#: utils/adt/timestamp.c:820 utils/adt/timestamp.c:860
+#: utils/adt/timestamp.c:3021 utils/adt/timestamp.c:3042
+#: utils/adt/timestamp.c:3055 utils/adt/timestamp.c:3064
+#: utils/adt/timestamp.c:3072 utils/adt/timestamp.c:3127
+#: utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3163
+#: utils/adt/timestamp.c:3174 utils/adt/timestamp.c:3182
+#: utils/adt/timestamp.c:3756 utils/adt/timestamp.c:3885
+#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4014
+#: utils/adt/timestamp.c:4060 utils/adt/timestamp.c:4171
+#: utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4694
+#: utils/adt/timestamp.c:4704 utils/adt/timestamp.c:4800
+#: utils/adt/timestamp.c:4919 utils/adt/timestamp.c:4929
+#: utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5264
+#: utils/adt/timestamp.c:5269 utils/adt/timestamp.c:5283
+#: utils/adt/timestamp.c:5366 utils/adt/timestamp.c:5398
+#: utils/adt/timestamp.c:5405 utils/adt/timestamp.c:5431
+#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5504
+#: utils/adt/timestamp.c:5508 utils/adt/timestamp.c:5522
+#: utils/adt/timestamp.c:5560 utils/adt/xml.c:2051 utils/adt/xml.c:2058
 #: utils/adt/xml.c:2078 utils/adt/xml.c:2085
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp вне диапазона"
 
-#: utils/adt/date.c:1042
+#: utils/adt/date.c:1094
 #, c-format
 msgid "cannot convert reserved abstime value to date"
 msgstr "преобразовать зарезервированное значение abstime в дату нельзя"
 
-#: utils/adt/date.c:1196 utils/adt/date.c:1203 utils/adt/date.c:2014
-#: utils/adt/date.c:2021
+#: utils/adt/date.c:1112 utils/adt/date.c:1118
+#, c-format
+msgid "abstime out of range for date"
+msgstr "abstime вне диапазона для типа даты"
+
+#: utils/adt/date.c:1258 utils/adt/date.c:1265 utils/adt/date.c:2082
+#: utils/adt/date.c:2089
 #, c-format
 msgid "time out of range"
 msgstr "время вне диапазона"
 
-#: utils/adt/date.c:1264 utils/adt/timestamp.c:617
+#: utils/adt/date.c:1326 utils/adt/timestamp.c:618
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "значение поля типа time вне диапазона: %d:%02d:%02g"
 
-#: utils/adt/date.c:1892 utils/adt/date.c:1909
+#: utils/adt/date.c:1960 utils/adt/date.c:1977
 #, c-format
 msgid "\"time\" units \"%s\" not recognized"
 msgstr "\"время\" содержит нераспознанные единицы \"%s\""
 
-#: utils/adt/date.c:2030
+#: utils/adt/date.c:2098
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "смещение часового пояса вне диапазона"
 
-#: utils/adt/date.c:2654 utils/adt/date.c:2671
+#: utils/adt/date.c:2740 utils/adt/date.c:2757
 #, c-format
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "\"время с часовым поясом\" содержит нераспознанные единицы \"%s\""
 
-#: utils/adt/date.c:2744 utils/adt/datetime.c:925 utils/adt/datetime.c:1805
-#: utils/adt/datetime.c:4566 utils/adt/timestamp.c:531
-#: utils/adt/timestamp.c:558 utils/adt/timestamp.c:5031
-#: utils/adt/timestamp.c:5261
+#: utils/adt/date.c:2830 utils/adt/datetime.c:994 utils/adt/datetime.c:1874
+#: utils/adt/datetime.c:4700 utils/adt/timestamp.c:532
+#: utils/adt/timestamp.c:559 utils/adt/timestamp.c:5275
+#: utils/adt/timestamp.c:5514
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "часовой пояс \"%s\" не распознан"
 
-#: utils/adt/date.c:2784 utils/adt/timestamp.c:5102 utils/adt/timestamp.c:5287
+#: utils/adt/date.c:2870 utils/adt/timestamp.c:5351 utils/adt/timestamp.c:5545
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr ""
 "интервал \"%s\", задающий часовой пояс, не должен содержать дней или месяцев"
 
-#: utils/adt/datetime.c:1680
+#: utils/adt/datetime.c:1749
 #, c-format
 msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\""
 msgstr ""
 "краткое обозначение часового пояса \"%s\" отсутствует в данных часового "
 "пояса \"%s\""
 
-#: utils/adt/datetime.c:3766 utils/adt/datetime.c:3773
+#: utils/adt/datetime.c:3835 utils/adt/datetime.c:3842
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "значение поля типа date/time вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3775
+#: utils/adt/datetime.c:3844
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Возможно, вам нужно изменить настройку \"datestyle\"."
 
-#: utils/adt/datetime.c:3780
+#: utils/adt/datetime.c:3849
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "значение поля interval вне диапазона: \"%s\""
 
-#: utils/adt/datetime.c:3786
+#: utils/adt/datetime.c:3855
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "смещение часового пояса вне диапазона: \"%s\""
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3793 utils/adt/network.c:58
+#: utils/adt/datetime.c:3862 utils/adt/float.c:463 utils/adt/float.c:546
+#: utils/adt/float.c:572 utils/adt/geo_ops.c:156 utils/adt/geo_ops.c:166
+#: utils/adt/geo_ops.c:178 utils/adt/geo_ops.c:210 utils/adt/geo_ops.c:255
+#: utils/adt/geo_ops.c:265 utils/adt/geo_ops.c:935 utils/adt/geo_ops.c:1321
+#: utils/adt/geo_ops.c:1356 utils/adt/geo_ops.c:1364 utils/adt/geo_ops.c:3422
+#: utils/adt/geo_ops.c:4555 utils/adt/geo_ops.c:4571 utils/adt/geo_ops.c:4578
+#: utils/adt/network.c:58
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "неверный синтаксис для типа %s: \"%s\""
 
-#: utils/adt/datetime.c:4568
+#: utils/adt/datetime.c:4702
 #, c-format
 msgid ""
 "This time zone name appears in the configuration file for time zone "
@@ -18868,11 +19628,27 @@ msgstr ""
 msgid "invalid Datum pointer"
 msgstr "неверный указатель Datum"
 
-#: utils/adt/dbsize.c:108
+#: utils/adt/dbsize.c:110
 #, c-format
 msgid "could not open tablespace directory \"%s\": %m"
 msgstr "не удалось открыть каталог табличного пространства \"%s\": %m"
 
+#: utils/adt/dbsize.c:757 utils/adt/dbsize.c:776 utils/adt/dbsize.c:831
+#, c-format
+msgid "invalid size: \"%s\""
+msgstr "некорректная величина: \"%s\""
+
+#: utils/adt/dbsize.c:832
+#, c-format
+msgid "Invalid size unit: \"%s\"."
+msgstr "Неверная единица измерения величины: \"%s\"."
+
+#: utils/adt/dbsize.c:833
+#, c-format
+msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr ""
+"Допустимые единицы измерения: \"bytes\", \"kB\", \"MB\", \"GB\" и \"TB\"."
+
 #: utils/adt/domains.c:85
 #, c-format
 msgid "type %s is not a domain"
@@ -18914,8 +19690,8 @@ msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr ""
 "Входные данные лишены выравнивания, обрезаны или повреждены иным образом."
 
-#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:287
-#: utils/adt/varlena.c:328
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:297
+#: utils/adt/varlena.c:338
 #, c-format
 msgid "invalid input syntax for type bytea"
 msgstr "неверный синтаксис для типа bytea"
@@ -18942,93 +19718,88 @@ msgstr "не удалось определить фактический тип 
 msgid "enum %s contains no values"
 msgstr "перечисление %s не содержит значений"
 
-#: utils/adt/float.c:55
+#: utils/adt/float.c:58
 #, c-format
 msgid "value out of range: overflow"
 msgstr "значение вне диапазона: переполнение"
 
-#: utils/adt/float.c:60
+#: utils/adt/float.c:63
 #, c-format
 msgid "value out of range: underflow"
 msgstr "значение вне диапазона: антипереполнение"
 
-#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:316
+#: utils/adt/float.c:246 utils/adt/float.c:320 utils/adt/float.c:344
 #, c-format
 msgid "invalid input syntax for type real: \"%s\""
 msgstr "неверный синтаксис для типа real: \"%s\""
 
-#: utils/adt/float.c:286
+#: utils/adt/float.c:314
 #, c-format
 msgid "\"%s\" is out of range for type real"
 msgstr "\"%s\" вне диапазона для типа real"
 
-#: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
-#: utils/adt/numeric.c:5373 utils/adt/numeric.c:5399
-#, c-format
-msgid "invalid input syntax for type double precision: \"%s\""
-msgstr "неверный синтаксис для типа double precision: \"%s\""
-
-#: utils/adt/float.c:485
+#: utils/adt/float.c:539
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "\"%s\" вне диапазона для типа double precision"
 
-#: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
+#: utils/adt/float.c:1248 utils/adt/float.c:1306 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:1323 utils/adt/numeric.c:3000 utils/adt/numeric.c:3009
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:3004 utils/adt/numeric.c:3013
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint вне диапазона"
 
-#: utils/adt/float.c:1363 utils/adt/numeric.c:6599
+#: utils/adt/float.c:1432 utils/adt/numeric.c:7522
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "извлечь квадратный корень отрицательного числа нельзя"
 
-#: utils/adt/float.c:1405 utils/adt/numeric.c:2820
+#: utils/adt/float.c:1474 utils/adt/numeric.c:2807
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "ноль в отрицательной степени даёт неопределённость"
 
-#: utils/adt/float.c:1409 utils/adt/numeric.c:2826
+#: utils/adt/float.c:1478 utils/adt/numeric.c:2813
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "отрицательное число в дробной степени даёт комплексный результат"
 
-#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:6817
+#: utils/adt/float.c:1544 utils/adt/float.c:1574 utils/adt/numeric.c:7788
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "вычислить логарифм нуля нельзя"
 
-#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:6821
+#: utils/adt/float.c:1548 utils/adt/float.c:1578 utils/adt/numeric.c:7792
 #, 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:1608 utils/adt/float.c:1638 utils/adt/float.c:1730
+#: utils/adt/float.c:1756 utils/adt/float.c:1783 utils/adt/float.c:1809
+#: utils/adt/float.c:1956 utils/adt/float.c:1991 utils/adt/float.c:2155
+#: utils/adt/float.c:2209 utils/adt/float.c:2273 utils/adt/float.c:2328
 #, c-format
 msgid "input is out of range"
 msgstr "введённое значение вне диапазона"
 
-#: utils/adt/float.c:2747 utils/adt/numeric.c:1454
+#: utils/adt/float.c:3534 utils/adt/numeric.c:1447
 #, c-format
 msgid "count must be greater than zero"
 msgstr "счётчик должен быть больше нуля"
 
-#: utils/adt/float.c:2752 utils/adt/numeric.c:1461
+#: utils/adt/float.c:3539 utils/adt/numeric.c:1454
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "операнд, нижняя и верхняя границы не могут быть NaN"
 
-#: utils/adt/float.c:2758
+#: utils/adt/float.c:3545
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "нижняя и верхняя границы должны быть конечными"
 
-#: utils/adt/float.c:2796 utils/adt/numeric.c:1474
+#: utils/adt/float.c:3583 utils/adt/numeric.c:1467
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "нижняя граница не может равняться верхней"
@@ -19043,110 +19814,110 @@ msgstr "неправильная спецификация формата для
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Интервалы не привязываются к определённым календарным датам."
 
-#: utils/adt/formatting.c:1059
+#: utils/adt/formatting.c:1058
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "\"EEEE\" может быть только последним шаблоном"
 
-#: utils/adt/formatting.c:1067
+#: utils/adt/formatting.c:1066
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "\"9\" должна стоять до \"PR\""
 
-#: utils/adt/formatting.c:1083
+#: utils/adt/formatting.c:1082
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "\"0\" должен стоять до \"PR\""
 
-#: utils/adt/formatting.c:1110
+#: utils/adt/formatting.c:1109
 #, c-format
 msgid "multiple decimal points"
 msgstr "многочисленные десятичные точки"
 
-#: utils/adt/formatting.c:1114 utils/adt/formatting.c:1197
+#: utils/adt/formatting.c:1113 utils/adt/formatting.c:1196
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "нельзя использовать \"V\" вместе с десятичной точкой"
 
-#: utils/adt/formatting.c:1126
+#: utils/adt/formatting.c:1125
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "нельзя использовать \"S\" дважды"
 
-#: utils/adt/formatting.c:1130
+#: utils/adt/formatting.c:1129
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\""
 
-#: utils/adt/formatting.c:1150
+#: utils/adt/formatting.c:1149
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "нельзя использовать \"S\" вместе с \"MI\""
 
-#: utils/adt/formatting.c:1160
+#: utils/adt/formatting.c:1159
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "нельзя использовать \"S\" вместе с \"PL\""
 
-#: utils/adt/formatting.c:1170
+#: utils/adt/formatting.c:1169
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "нельзя использовать \"S\" вместе с \"SG\""
 
-#: utils/adt/formatting.c:1179
+#: utils/adt/formatting.c:1178
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\""
 
-#: utils/adt/formatting.c:1205
+#: utils/adt/formatting.c:1204
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "нельзя использовать \"EEEE\" дважды"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/formatting.c:1210
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "\"EEEE\" несовместим с другими форматами"
 
-#: utils/adt/formatting.c:1212
+#: utils/adt/formatting.c:1211
 #, c-format
 msgid ""
 "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr ""
 "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки."
 
-#: utils/adt/formatting.c:1412
+#: utils/adt/formatting.c:1411
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "\"%s\" не является числом"
 
-#: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565
+#: utils/adt/formatting.c:1512 utils/adt/formatting.c:1564
 #, c-format
 msgid "could not determine which collation to use for lower() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "lower()"
 
-#: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685
+#: utils/adt/formatting.c:1632 utils/adt/formatting.c:1684
 #, c-format
 msgid "could not determine which collation to use for upper() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "upper()"
 
-#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818
+#: utils/adt/formatting.c:1753 utils/adt/formatting.c:1817
 #, c-format
 msgid "could not determine which collation to use for initcap() function"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для функции "
 "initcap()"
 
-#: utils/adt/formatting.c:2122
+#: utils/adt/formatting.c:2114
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "неверное сочетание стилей дат"
 
-#: utils/adt/formatting.c:2123
+#: utils/adt/formatting.c:2115
 #, c-format
 msgid ""
 "Do not mix Gregorian and ISO week date conventions in a formatting template."
@@ -19154,27 +19925,27 @@ msgstr ""
 "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне "
 "форматирования."
 
-#: utils/adt/formatting.c:2140
+#: utils/adt/formatting.c:2132
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "конфликтующие значения поля \"%s\" в строке форматирования"
 
-#: utils/adt/formatting.c:2142
+#: utils/adt/formatting.c:2134
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Это значение противоречит предыдущему значению поля того же типа."
 
-#: utils/adt/formatting.c:2203
+#: utils/adt/formatting.c:2195
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "входная строка короче, чем требует поле форматирования \"%s\""
 
-#: utils/adt/formatting.c:2205
+#: utils/adt/formatting.c:2197
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Требуется символов: %d, а осталось только %d."
 
-#: utils/adt/formatting.c:2208 utils/adt/formatting.c:2222
+#: utils/adt/formatting.c:2200 utils/adt/formatting.c:2214
 #, c-format
 msgid ""
 "If your source string is not fixed-width, try using the \"FM\" modifier."
@@ -19182,42 +19953,42 @@ msgstr ""
 "Если входная строка имеет переменную длину, попробуйте использовать "
 "модификатор \"FM\"."
 
-#: utils/adt/formatting.c:2218 utils/adt/formatting.c:2231
-#: utils/adt/formatting.c:2361
+#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
+#: utils/adt/formatting.c:2353
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "неверное значение \"%s\" для \"%s\""
 
-#: utils/adt/formatting.c:2220
+#: utils/adt/formatting.c:2212
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d."
 
-#: utils/adt/formatting.c:2233
+#: utils/adt/formatting.c:2225
 #, c-format
 msgid "Value must be an integer."
 msgstr "Значение должно быть целым числом."
 
-#: utils/adt/formatting.c:2238
+#: utils/adt/formatting.c:2230
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "значение \"%s\" во входной строке вне диапазона"
 
-#: utils/adt/formatting.c:2240
+#: utils/adt/formatting.c:2232
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Значение должно быть в интервале %d..%d."
 
-#: utils/adt/formatting.c:2363
+#: utils/adt/formatting.c:2355
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr ""
 "Данное значение не соответствует ни одному из допустимых значений для этого "
 "поля."
 
-#: utils/adt/formatting.c:2551 utils/adt/formatting.c:2571
-#: utils/adt/formatting.c:2591 utils/adt/formatting.c:2611
-#: utils/adt/formatting.c:2630 utils/adt/formatting.c:2649
+#: utils/adt/formatting.c:2550 utils/adt/formatting.c:2570
+#: utils/adt/formatting.c:2590 utils/adt/formatting.c:2610
+#: utils/adt/formatting.c:2629 utils/adt/formatting.c:2648
 #: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
 #: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
 #: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
@@ -19225,37 +19996,37 @@ msgstr ""
 msgid "localized string format value too long"
 msgstr "слишком длинное значение формата локализованной строки"
 
-#: utils/adt/formatting.c:3044
+#: utils/adt/formatting.c:3047
 #, c-format
 msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
 msgstr "шаблоны формата \"TZ\"/\"tz\"/\"OF\" не поддерживаются в to_date"
 
-#: utils/adt/formatting.c:3152
+#: utils/adt/formatting.c:3156
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\""
 
-#: utils/adt/formatting.c:3655
+#: utils/adt/formatting.c:3668
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "час \"%d\" не соответствует 12-часовому формату времени"
 
-#: utils/adt/formatting.c:3657
+#: utils/adt/formatting.c:3670
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12."
 
-#: utils/adt/formatting.c:3752
+#: utils/adt/formatting.c:3765
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "нельзя рассчитать день года без информации о годе"
 
-#: utils/adt/formatting.c:4601
+#: utils/adt/formatting.c:4614
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "\"EEEE\" не поддерживается при вводе"
 
-#: utils/adt/formatting.c:4613
+#: utils/adt/formatting.c:4626
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "\"RN\" не поддерживается при вводе"
@@ -19302,129 +20073,83 @@ msgstr "получать информацию о файлах может тол
 msgid "must be superuser to get directory listings"
 msgstr "читать содержимое каталогов может только суперпользователь"
 
-#: utils/adt/geo_ops.c:301 utils/adt/geo_ops.c:1400 utils/adt/geo_ops.c:3498
-#: utils/adt/geo_ops.c:4315 utils/adt/geo_ops.c:5259
-#, c-format
-msgid "too many points requested"
-msgstr "запрошено слишком много точек"
-
-#: utils/adt/geo_ops.c:324
-#, c-format
-msgid "could not format \"path\" value"
-msgstr "не удалось отформатировать значение \"path\""
-
-#: utils/adt/geo_ops.c:399
-#, c-format
-msgid "invalid input syntax for type box: \"%s\""
-msgstr "неверный синтаксис для типа box: \"%s\""
-
-#: utils/adt/geo_ops.c:994
-#, c-format
-msgid "invalid line specification: must be two distinct points"
-msgstr "неверное определение линии: требуются две различных точки"
-
-#: utils/adt/geo_ops.c:1003
+#: utils/adt/geo_ops.c:940
 #, c-format
 msgid "invalid line specification: A and B cannot both be zero"
 msgstr "неверное определение линии: A и B вдвоём не могут быть нулевыми"
 
-#: utils/adt/geo_ops.c:1008
+#: utils/adt/geo_ops.c:948
 #, 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:1380 utils/adt/geo_ops.c:1411
+#: utils/adt/geo_ops.c:1342 utils/adt/geo_ops.c:3432 utils/adt/geo_ops.c:4245
+#: utils/adt/geo_ops.c:5173
 #, c-format
-msgid "invalid input syntax for type path: \"%s\""
-msgstr "неверный синтаксис для типа path: \"%s\""
+msgid "too many points requested"
+msgstr "запрошено слишком много точек"
 
-#: utils/adt/geo_ops.c:1450
+#: utils/adt/geo_ops.c:1404
 #, c-format
 msgid "invalid number of points in external \"path\" value"
 msgstr "недопустимое число точек во внешнем представлении типа \"path\""
 
-#: utils/adt/geo_ops.c:1793
-#, c-format
-msgid "invalid input syntax for type point: \"%s\""
-msgstr "неверный синтаксис для типа point: \"%s\""
-
-#: utils/adt/geo_ops.c:2021
-#, c-format
-msgid "invalid input syntax for type lseg: \"%s\""
-msgstr "неверный синтаксис для типа lseg: \"%s\""
-
-#: utils/adt/geo_ops.c:2621
+#: utils/adt/geo_ops.c:2555
 #, c-format
 msgid "function \"dist_lb\" not implemented"
 msgstr "функция \"dist_lb\" не реализована"
 
-#: utils/adt/geo_ops.c:3073
+#: utils/adt/geo_ops.c:3007
 #, c-format
 msgid "function \"close_sl\" not implemented"
 msgstr "функция \"close_sl\" не реализована"
 
-#: utils/adt/geo_ops.c:3175
+#: utils/adt/geo_ops.c:3109
 #, c-format
 msgid "function \"close_lb\" not implemented"
 msgstr "функция \"close_lb\" не реализована"
 
-#: utils/adt/geo_ops.c:3464
+#: utils/adt/geo_ops.c:3398
 #, c-format
 msgid "cannot create bounding box for empty polygon"
 msgstr "построить окружающий прямоугольник для пустого многоугольника нельзя"
 
-#: utils/adt/geo_ops.c:3489 utils/adt/geo_ops.c:3509
-#, c-format
-msgid "invalid input syntax for type polygon: \"%s\""
-msgstr "неверный синтаксис для типа polygon: \"%s\""
-
-#: utils/adt/geo_ops.c:3549
+#: utils/adt/geo_ops.c:3479
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "недопустимое число точек во внешнем представлении типа \"polygon\""
 
-#: utils/adt/geo_ops.c:4074
+#: utils/adt/geo_ops.c:4004
 #, c-format
 msgid "function \"poly_distance\" not implemented"
 msgstr "функция \"poly_distance\" не реализована"
 
-#: utils/adt/geo_ops.c:4427
+#: utils/adt/geo_ops.c:4357
 #, c-format
 msgid "function \"path_center\" not implemented"
 msgstr "функция \"path_center\" не реализована"
 
-#: utils/adt/geo_ops.c:4444
-#, c-format
-msgid "open path cannot be converted to polygon"
-msgstr "открытый путь нельзя преобразовать во многоугольник"
-
-#: utils/adt/geo_ops.c:4621 utils/adt/geo_ops.c:4631 utils/adt/geo_ops.c:4646
-#: utils/adt/geo_ops.c:4652
-#, c-format
-msgid "invalid input syntax for type circle: \"%s\""
-msgstr "неверный синтаксис для типа circle: \"%s\""
-
-#: utils/adt/geo_ops.c:4674 utils/adt/geo_ops.c:4682
+#: utils/adt/geo_ops.c:4374
 #, c-format
-msgid "could not format \"circle\" value"
-msgstr "не удалось отформатировать значение \"circle\""
+msgid "open path cannot be converted to polygon"
+msgstr "открытый путь нельзя преобразовать во многоугольник"
 
-#: utils/adt/geo_ops.c:4709
+#: utils/adt/geo_ops.c:4623
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "недопустимый радиус во внешнем представлении типа \"circle\""
 
-#: utils/adt/geo_ops.c:5245
+#: utils/adt/geo_ops.c:5159
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "круг с нулевым радиусом нельзя преобразовать в многоугольник"
 
-#: utils/adt/geo_ops.c:5250
+#: utils/adt/geo_ops.c:5164
 #, c-format
 msgid "must request at least 2 points"
 msgstr "точек должно быть минимум 2"
 
-#: utils/adt/geo_ops.c:5294
+#: utils/adt/geo_ops.c:5208
 #, c-format
 msgid "cannot convert empty polygon to circle"
 msgstr "пустой многоугольник нельзя преобразовать в круг"
@@ -19444,8 +20169,8 @@ msgstr "неверные данные int2vector"
 msgid "oidvector has too many elements"
 msgstr "oidvector содержит слишком много элементов"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1362
-#: utils/adt/timestamp.c:5348 utils/adt/timestamp.c:5429
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1355
+#: utils/adt/timestamp.c:5611 utils/adt/timestamp.c:5692
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "размер шага не может быть нулевым"
@@ -19469,7 +20194,7 @@ msgstr "значение \"%s\" вне диапазона для типа bigint
 #: 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:2955
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2959
 #: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
@@ -19608,7 +20333,7 @@ msgstr "не удалось определить тип данных аргум
 msgid "could not determine data type for argument 2"
 msgstr "не удалось определить тип данных аргумента 2"
 
-#: utils/adt/json.c:2040 utils/adt/jsonb.c:1780
+#: utils/adt/json.c:2040 utils/adt/jsonb.c:1781
 #, c-format
 msgid "field name must not be null"
 msgstr "имя поля не может быть NULL"
@@ -19685,7 +20410,7 @@ msgstr "аргумент %d: ключ не может быть NULL"
 msgid "argument %d: could not determine data type"
 msgstr "аргумент %d: не удалось определить тип данных"
 
-#: utils/adt/jsonb.c:1833
+#: utils/adt/jsonb.c:1834
 #, c-format
 msgid "object keys must be strings"
 msgstr "ключи объектов должны быть строковыми"
@@ -19711,73 +20436,73 @@ msgstr "общий размер элементов массива jsonb прев
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "общий размер элементов объекта jsonb превышает предел (%u байт)"
 
-#: utils/adt/jsonfuncs.c:296 utils/adt/jsonfuncs.c:461
-#: utils/adt/jsonfuncs.c:2056 utils/adt/jsonfuncs.c:2497
-#: utils/adt/jsonfuncs.c:3003
+#: utils/adt/jsonfuncs.c:305 utils/adt/jsonfuncs.c:470
+#: utils/adt/jsonfuncs.c:2065 utils/adt/jsonfuncs.c:2506
+#: utils/adt/jsonfuncs.c:3012
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "вызывать %s со скаляром нельзя"
 
-#: utils/adt/jsonfuncs.c:301 utils/adt/jsonfuncs.c:448
-#: utils/adt/jsonfuncs.c:2486
+#: utils/adt/jsonfuncs.c:310 utils/adt/jsonfuncs.c:457
+#: utils/adt/jsonfuncs.c:2495
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "вызывать %s с массивом нельзя"
 
-#: utils/adt/jsonfuncs.c:1364 utils/adt/jsonfuncs.c:1399
+#: utils/adt/jsonfuncs.c:1373 utils/adt/jsonfuncs.c:1408
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "получить длину скаляра нельзя"
 
-#: utils/adt/jsonfuncs.c:1368 utils/adt/jsonfuncs.c:1387
+#: utils/adt/jsonfuncs.c:1377 utils/adt/jsonfuncs.c:1396
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "получить длину массива для не массива нельзя"
 
-#: utils/adt/jsonfuncs.c:1464
+#: utils/adt/jsonfuncs.c:1473
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "вызывать %s с не объектом нельзя"
 
-#: utils/adt/jsonfuncs.c:1482 utils/adt/jsonfuncs.c:2169
-#: utils/adt/jsonfuncs.c:2706
+#: utils/adt/jsonfuncs.c:1491 utils/adt/jsonfuncs.c:2178
+#: utils/adt/jsonfuncs.c:2715
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr ""
 "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
 
-#: utils/adt/jsonfuncs.c:1725
+#: utils/adt/jsonfuncs.c:1734
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "извлечь массив в виде объекта нельзя"
 
-#: utils/adt/jsonfuncs.c:1737
+#: utils/adt/jsonfuncs.c:1746
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "извлечь скаляр нельзя"
 
-#: utils/adt/jsonfuncs.c:1783
+#: utils/adt/jsonfuncs.c:1792
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "извлечь элементы из скаляра нельзя"
 
-#: utils/adt/jsonfuncs.c:1787
+#: utils/adt/jsonfuncs.c:1796
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "извлечь элементы из объекта нельзя"
 
-#: utils/adt/jsonfuncs.c:2043 utils/adt/jsonfuncs.c:2802
+#: utils/adt/jsonfuncs.c:2052 utils/adt/jsonfuncs.c:2811
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "вызывать %s с не массивом нельзя"
 
-#: utils/adt/jsonfuncs.c:2130 utils/adt/jsonfuncs.c:2682
+#: utils/adt/jsonfuncs.c:2139 utils/adt/jsonfuncs.c:2691
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "первым аргументом %s должен быть кортеж"
 
-#: utils/adt/jsonfuncs.c:2171
+#: utils/adt/jsonfuncs.c:2180
 #, c-format
 msgid ""
 "Try calling the function in the FROM clause using a column definition list."
@@ -19785,47 +20510,67 @@ msgstr ""
 "Попробуйте вызвать эту функцию в предложении FROM, используя список с "
 "определениями столбцов."
 
-#: utils/adt/jsonfuncs.c:2818 utils/adt/jsonfuncs.c:2985
+#: utils/adt/jsonfuncs.c:2827 utils/adt/jsonfuncs.c:2994
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "аргументом %s должен быть массив объектов"
 
-#: utils/adt/jsonfuncs.c:2842
+#: utils/adt/jsonfuncs.c:2851
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "вызывать %s с объектом нельзя"
 
-#: utils/adt/jsonfuncs.c:3409 utils/adt/jsonfuncs.c:3462
+#: utils/adt/jsonfuncs.c:3418 utils/adt/jsonfuncs.c:3471
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "удаление из скаляра невозможно"
 
-#: utils/adt/jsonfuncs.c:3467
+#: utils/adt/jsonfuncs.c:3476
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "удаление из объекта по числовому индексу невозможно"
 
-#: utils/adt/jsonfuncs.c:3533
+#: utils/adt/jsonfuncs.c:3542 utils/adt/jsonfuncs.c:3634
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "задать путь в скаляре нельзя"
 
-#: utils/adt/jsonfuncs.c:3578
+#: utils/adt/jsonfuncs.c:3587
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "удалить путь в скаляре нельзя"
 
-#: utils/adt/jsonfuncs.c:3703
+#: utils/adt/jsonfuncs.c:3757
 #, c-format
 msgid "invalid concatenation of jsonb objects"
 msgstr "неверная конкатенация объектов jsonb"
 
+#: utils/adt/jsonfuncs.c:3791
+#, c-format
+msgid "path element at position %d is null"
+msgstr "элемент пути в позиции %d равен NULL"
+
+#: utils/adt/jsonfuncs.c:3877
+#, c-format
+msgid "cannot replace existing key"
+msgstr "заменить существующий ключ нельзя"
+
+#: utils/adt/jsonfuncs.c:3878
+#, c-format
+msgid "Try using the function jsonb_set to replace key value."
+msgstr "Попробуйте применить функцию jsonb_set для замены значения ключа."
+
+#: utils/adt/jsonfuncs.c:3960
+#, c-format
+msgid "path element at position %d is not an integer: \"%s\""
+msgstr "элемент пути в позиции %d - не целочисленный: \"%s\""
+
 #: utils/adt/levenshtein.c:133
 #, c-format
 msgid "levenshtein argument exceeds maximum length of %d characters"
 msgstr "длина аргумента levenshtein() превышает максимум (%d симв.)"
 
-#: utils/adt/like.c:212 utils/adt/selfuncs.c:5275
+#: utils/adt/like.c:212 utils/adt/selfuncs.c:5329
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "не удалось определить, какой порядок сортировки использовать для ILIKE"
@@ -19845,7 +20590,7 @@ msgstr "неверный защитный символ"
 msgid "Escape string must be empty or one character."
 msgstr "Защитный символ должен быть пустым или состоять из одного байта."
 
-#: utils/adt/lockfuncs.c:422
+#: utils/adt/lockfuncs.c:545
 #, c-format
 msgid "cannot use advisory locks during a parallel operation"
 msgstr ""
@@ -19862,77 +20607,101 @@ msgstr "неверный синтаксис для типа macaddr: \"%s\""
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "неверный октет в значении типа macaddr: \"%s\""
 
-#: utils/adt/misc.c:116
+#: utils/adt/misc.c:239
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "PID %d не относится к серверному процессу PostgreSQL"
 
-#: utils/adt/misc.c:166
+#: utils/adt/misc.c:290
 #, c-format
 msgid "must be a superuser to cancel superuser query"
 msgstr "для отмены запроса суперпользователя нужно быть суперпользователем"
 
-#: utils/adt/misc.c:171
+#: utils/adt/misc.c:295
 #, c-format
-msgid "must be a member of the role whose query is being canceled"
-msgstr "необходимо быть членом роли, запрос которой отменяется"
+msgid ""
+"must be a member of the role whose query is being canceled or member of "
+"pg_signal_backend"
+msgstr ""
+"необходимо быть членом роли, запрос которой отменяется, или роли "
+"pg_signal_backend"
 
-#: utils/adt/misc.c:190
+#: utils/adt/misc.c:314
 #, c-format
 msgid "must be a superuser to terminate superuser process"
 msgstr "прерывать процесс суперпользователя может только суперпользователь"
 
-#: utils/adt/misc.c:195
+#: utils/adt/misc.c:319
 #, c-format
-msgid "must be a member of the role whose process is being terminated"
-msgstr "необходимо быть членом роли, процесс которой прерывается"
-
-#: utils/adt/misc.c:209
-#, c-format
-msgid "must be superuser to signal the postmaster"
-msgstr "сигнализировать процессу postmaster может только суперпользователь"
+msgid ""
+"must be a member of the role whose process is being terminated or member of "
+"pg_signal_backend"
+msgstr ""
+"необходимо быть членом роли, процесс которой прерывается, или роли "
+"pg_signal_backend"
 
-#: utils/adt/misc.c:214
+#: utils/adt/misc.c:336
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "отправить сигнал процессу postmaster не удалось: %m"
 
-#: utils/adt/misc.c:231
-#, c-format
-msgid "must be superuser to rotate log files"
-msgstr "прокрутить файлы протоколов может только суперпользователь"
-
-#: utils/adt/misc.c:236
+#: utils/adt/misc.c:356
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "прокрутка невозможна, так как протоколирование отключено"
 
-#: utils/adt/misc.c:273
+#: utils/adt/misc.c:393
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "в табличном пространстве global никогда не было баз данных"
 
-#: utils/adt/misc.c:294
+#: utils/adt/misc.c:414
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u - это не OID табличного пространства"
 
-#: utils/adt/misc.c:491
+#: utils/adt/misc.c:611
 msgid "unreserved"
 msgstr "не зарезервировано"
 
-#: utils/adt/misc.c:495
+#: utils/adt/misc.c:615
 msgid "unreserved (cannot be function or type name)"
 msgstr "не зарезервировано (но не может быть именем типа или функции)"
 
-#: utils/adt/misc.c:499
+#: utils/adt/misc.c:619
 msgid "reserved (can be function or type name)"
 msgstr "зарезервировано (но может быть именем типа или функции)"
 
-#: utils/adt/misc.c:503
+#: utils/adt/misc.c:623
 msgid "reserved"
 msgstr "зарезервировано"
 
+#: utils/adt/misc.c:797 utils/adt/misc.c:811 utils/adt/misc.c:850
+#: utils/adt/misc.c:856 utils/adt/misc.c:862 utils/adt/misc.c:885
+#, c-format
+msgid "string is not a valid identifier: \"%s\""
+msgstr "строка не является допустимым идентификатором: \"%s\""
+
+#: utils/adt/misc.c:799
+#, c-format
+msgid "String has unclosed double quotes."
+msgstr "В строке не закрыты кавычки."
+
+#: utils/adt/misc.c:813
+#, c-format
+msgid "Quoted identifier must not be empty."
+msgstr "Идентификатор в кавычках не может быть пустым."
+
+#: utils/adt/misc.c:852
+#, c-format
+msgid "No valid identifier before \".\"."
+msgstr "Перед \".\" нет допустимого идентификатора."
+
+#: utils/adt/misc.c:858
+#, c-format
+msgid "No valid identifier after \".\"."
+msgstr "После \".\" нет допустимого идентификатора."
+
 #: utils/adt/nabstime.c:136
 #, c-format
 msgid "invalid time zone name: \"%s\""
@@ -20032,88 +20801,89 @@ msgstr "результат вне диапазона"
 msgid "cannot subtract inet values of different sizes"
 msgstr "нельзя вычитать значения inet разного размера"
 
-#: utils/adt/numeric.c:549 utils/adt/numeric.c:576 utils/adt/numeric.c:4604
-#: utils/adt/numeric.c:4627 utils/adt/numeric.c:4651 utils/adt/numeric.c:4658
+#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5394
+#: utils/adt/numeric.c:5417 utils/adt/numeric.c:5441 utils/adt/numeric.c:5448
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "неверный синтаксис для типа numeric: \"%s\""
 
-#: utils/adt/numeric.c:766
+#: utils/adt/numeric.c:759
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "неверная длина во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:779
+#: utils/adt/numeric.c:772
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "неверный знак во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:785
+#: utils/adt/numeric.c:778
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "неверный порядок числа во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:794
+#: utils/adt/numeric.c:787
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "неверная цифра во внешнем значении \"numeric\""
 
-#: utils/adt/numeric.c:985 utils/adt/numeric.c:999
+#: utils/adt/numeric.c:978 utils/adt/numeric.c:992
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "точность NUMERIC %d должна быть между 1 и %d"
 
-#: utils/adt/numeric.c:990
+#: utils/adt/numeric.c:983
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "порядок NUMERIC %d должен быть между 0 и точностью (%d)"
 
-#: utils/adt/numeric.c:1008
+#: utils/adt/numeric.c:1001
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "неверный модификатор типа NUMERIC"
 
-#: utils/adt/numeric.c:1340
+#: utils/adt/numeric.c:1333
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "начальное значение не может быть NaN"
 
-#: utils/adt/numeric.c:1345
+#: utils/adt/numeric.c:1338
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "конечное значение не может быть NaN"
 
-#: utils/adt/numeric.c:1355
+#: utils/adt/numeric.c:1348
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "размер шага не может быть NaN"
 
-#: utils/adt/numeric.c:2550 utils/adt/numeric.c:5104 utils/adt/numeric.c:7132
+#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7598
+#: utils/adt/numeric.c:8023 utils/adt/numeric.c:8138 utils/adt/numeric.c:8211
 #, c-format
 msgid "value overflows numeric format"
 msgstr "значение переполняет формат numeric"
 
-#: utils/adt/numeric.c:2881
+#: utils/adt/numeric.c:2885
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "нельзя преобразовать NaN в integer"
 
-#: utils/adt/numeric.c:2947
+#: utils/adt/numeric.c:2951
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "нельзя преобразовать NaN в bigint"
 
-#: utils/adt/numeric.c:2992
+#: utils/adt/numeric.c:2996
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "нельзя преобразовать NaN в smallint"
 
-#: utils/adt/numeric.c:5174
+#: utils/adt/numeric.c:5964
 #, c-format
 msgid "numeric field overflow"
 msgstr "переполнение поля numeric"
 
-#: utils/adt/numeric.c:5175
+#: utils/adt/numeric.c:5965
 #, c-format
 msgid ""
 "A field with precision %d, scale %d must round to an absolute value less "
@@ -20122,10 +20892,10 @@ msgstr ""
 "Поле с точностью %d, порядком %d должно округляться до абсолютного значения "
 "меньше чем %s%d."
 
-#: utils/adt/numeric.c:6689
+#: utils/adt/numeric.c:6236 utils/adt/numeric.c:6262
 #, c-format
-msgid "argument for function \"exp\" too big"
-msgstr "аргумент функции \"exp\" слишком велик"
+msgid "invalid input syntax for type double precision: \"%s\""
+msgstr "неверный синтаксис для типа double precision: \"%s\""
 
 #: utils/adt/numutils.c:75
 #, c-format
@@ -20183,24 +20953,24 @@ msgstr "символ не может быть null"
 msgid "percentile value %g is not between 0 and 1"
 msgstr "значение перцентиля %g лежит не в диапазоне 0..1"
 
-#: utils/adt/pg_locale.c:911
+#: utils/adt/pg_locale.c:917
 #, c-format
 msgid "Apply system library package updates."
 msgstr "Обновите пакет с системной библиотекой."
 
-#: utils/adt/pg_locale.c:1116
+#: utils/adt/pg_locale.c:1122
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "не удалось создать локаль \"%s\": %m"
 
-#: utils/adt/pg_locale.c:1119
+#: utils/adt/pg_locale.c:1125
 #, c-format
 msgid ""
 "The operating system could not find any locale data for the locale name \"%s"
 "\"."
 msgstr "Операционная система не может найти данные локали с именем \"%s\"."
 
-#: utils/adt/pg_locale.c:1206
+#: utils/adt/pg_locale.c:1212
 #, c-format
 msgid ""
 "collations with different collate and ctype values are not supported on this "
@@ -20209,17 +20979,17 @@ msgstr ""
 "правила сортировки с разными значениями collate и ctype не поддерживаются на "
 "этой платформе"
 
-#: utils/adt/pg_locale.c:1221
+#: utils/adt/pg_locale.c:1227
 #, c-format
 msgid "nondefault collations are not supported on this platform"
 msgstr "на этой платформе поддерживаются только стандартные правила сортировки"
 
-#: utils/adt/pg_locale.c:1392
+#: utils/adt/pg_locale.c:1398
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "неверный многобайтный символ для локали"
 
-#: utils/adt/pg_locale.c:1393
+#: utils/adt/pg_locale.c:1399
 #, c-format
 msgid ""
 "The server's LC_CTYPE locale is probably incompatible with the database "
@@ -20232,12 +21002,17 @@ msgstr ""
 msgid "invalid input syntax for type pg_lsn: \"%s\""
 msgstr "неверный синтаксис для типа pg_lsn: \"%s\""
 
-#: utils/adt/pg_upgrade_support.c:39
+#: utils/adt/pg_upgrade_support.c:40
 #, c-format
 msgid "function can only be called when server is in binary upgrade mode"
 msgstr ""
 "функцию можно вызывать только когда сервер в режиме двоичного обновления"
 
+#: utils/adt/pgstatfuncs.c:571
+#, c-format
+msgid "invalid command name: \"%s\""
+msgstr "неверное имя команды: \"%s\""
+
 #: utils/adt/pseudotypes.c:95
 #, c-format
 msgid "cannot accept a value of type any"
@@ -20305,71 +21080,81 @@ msgstr "значение типа fdw_handler нельзя вывести"
 
 #: utils/adt/pseudotypes.c:384
 #, c-format
+msgid "cannot accept a value of type index_am_handler"
+msgstr "значение типа index_am_handler нельзя ввести"
+
+#: utils/adt/pseudotypes.c:397
+#, c-format
+msgid "cannot display a value of type index_am_handler"
+msgstr "значение типа index_am_handler нельзя вывести"
+
+#: utils/adt/pseudotypes.c:411
+#, c-format
 msgid "cannot accept a value of type tsm_handler"
 msgstr "значение типа tsm_handler нельзя ввести"
 
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/pseudotypes.c:424
 #, c-format
 msgid "cannot display a value of type tsm_handler"
 msgstr "значение типа tsm_handler нельзя вывести"
 
-#: utils/adt/pseudotypes.c:411
+#: utils/adt/pseudotypes.c:438
 #, c-format
 msgid "cannot accept a value of type internal"
 msgstr "значение типа internal нельзя ввести"
 
-#: utils/adt/pseudotypes.c:424
+#: utils/adt/pseudotypes.c:451
 #, c-format
 msgid "cannot display a value of type internal"
 msgstr "значение типа internal нельзя вывести"
 
-#: utils/adt/pseudotypes.c:438
+#: utils/adt/pseudotypes.c:465
 #, c-format
 msgid "cannot accept a value of type opaque"
 msgstr "значение типа opaque нельзя ввести"
 
-#: utils/adt/pseudotypes.c:451
+#: utils/adt/pseudotypes.c:478
 #, c-format
 msgid "cannot display a value of type opaque"
 msgstr "значение типа opaque нельзя вывести"
 
-#: utils/adt/pseudotypes.c:465
+#: utils/adt/pseudotypes.c:492
 #, c-format
 msgid "cannot accept a value of type anyelement"
 msgstr "значение типа anyelement нельзя ввести"
 
-#: utils/adt/pseudotypes.c:478
+#: utils/adt/pseudotypes.c:505
 #, c-format
 msgid "cannot display a value of type anyelement"
 msgstr "значение типа anyelement нельзя вывести"
 
-#: utils/adt/pseudotypes.c:491
+#: utils/adt/pseudotypes.c:518
 #, c-format
 msgid "cannot accept a value of type anynonarray"
 msgstr "значение типа anynonarray нельзя ввести"
 
-#: utils/adt/pseudotypes.c:504
+#: utils/adt/pseudotypes.c:531
 #, c-format
 msgid "cannot display a value of type anynonarray"
 msgstr "значение типа anynonarray нельзя вывести"
 
-#: utils/adt/pseudotypes.c:517
+#: utils/adt/pseudotypes.c:544
 #, c-format
 msgid "cannot accept a value of a shell type"
 msgstr "значение типа shell нельзя ввести"
 
-#: utils/adt/pseudotypes.c:530
+#: utils/adt/pseudotypes.c:557
 #, c-format
 msgid "cannot display a value of a shell type"
 msgstr "значение типа shell нельзя вывести"
 
-#: utils/adt/pseudotypes.c:552 utils/adt/pseudotypes.c:577
-#: utils/adt/pseudotypes.c:605 utils/adt/pseudotypes.c:633
+#: utils/adt/pseudotypes.c:579 utils/adt/pseudotypes.c:604
+#: utils/adt/pseudotypes.c:632 utils/adt/pseudotypes.c:660
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "значение типа %s нельзя ввести"
 
-#: utils/adt/pseudotypes.c:620 utils/adt/pseudotypes.c:646
+#: utils/adt/pseudotypes.c:647 utils/adt/pseudotypes.c:673
 #, c-format
 msgid "cannot output a value of type %s"
 msgstr "значение типа %s нельзя вывести"
@@ -20439,7 +21224,7 @@ msgstr "Слишком много запятых."
 msgid "Junk after right parenthesis or bracket."
 msgstr "Мусор после правой скобки."
 
-#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3588
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3829
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "ошибка в регулярном выражении: %s"
@@ -20464,19 +21249,19 @@ msgstr "имя \"%s\" имеют несколько функций"
 msgid "more than one operator named %s"
 msgstr "имя %s имеют несколько операторов"
 
-#: utils/adt/regproc.c:774 utils/adt/regproc.c:815 gram.y:7246
+#: utils/adt/regproc.c:774 utils/adt/regproc.c:815 gram.y:7293
 #, c-format
 msgid "missing argument"
 msgstr "отсутствует аргумент"
 
-#: utils/adt/regproc.c:775 utils/adt/regproc.c:816 gram.y:7247
+#: utils/adt/regproc.c:775 utils/adt/regproc.c:816 gram.y:7294
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr ""
 "Чтобы обозначить отсутствующий аргумент унарного оператора, укажите NONE."
 
 #: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006
-#: utils/adt/ruleutils.c:8167 utils/adt/ruleutils.c:8292
+#: utils/adt/ruleutils.c:8238 utils/adt/ruleutils.c:8404
 #, c-format
 msgid "too many arguments"
 msgstr "слишком много аргументов"
@@ -20488,7 +21273,7 @@ msgstr "Предоставьте для оператора два типа ар
 
 #: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715
 #: utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846
-#: utils/adt/varlena.c:2859 utils/adt/varlena.c:2864
+#: utils/adt/varlena.c:3084 utils/adt/varlena.c:3089
 #, c-format
 msgid "invalid name syntax"
 msgstr "ошибка синтаксиса в имени"
@@ -20519,7 +21304,7 @@ msgstr "ошибочное имя типа"
 #: utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693
 #: utils/adt/ri_triggers.c:1873 utils/adt/ri_triggers.c:2064
 #: utils/adt/ri_triggers.c:2122 utils/adt/ri_triggers.c:2227
-#: utils/adt/ri_triggers.c:2404 gram.y:3325
+#: utils/adt/ri_triggers.c:2404 gram.y:3345
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "выражение MATCH PARTIAL ещё не реализовано"
@@ -20655,29 +21440,29 @@ msgstr "неверный тип данных: %u, ожидался %u"
 msgid "improper binary format in record column %d"
 msgstr "неподходящий двоичный формат в столбце записи %d"
 
-#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142
-#: utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673
+#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396
+#: utils/adt/rowtypes.c:1673
 #, c-format
 msgid "cannot compare dissimilar column types %s and %s at record column %d"
 msgstr "не удалось сравнить различные типы столбцов %s и %s, столбец записи %d"
 
-#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213
-#: utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769
+#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529
+#: utils/adt/rowtypes.c:1769
 #, c-format
 msgid "cannot compare record types with different numbers of columns"
 msgstr "сравнивать типы записей с разным числом столбцов нельзя"
 
-#: utils/adt/ruleutils.c:4147
+#: utils/adt/ruleutils.c:4174
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "правило \"%s\" имеет неподдерживаемый тип событий %d"
 
-#: utils/adt/selfuncs.c:5260
+#: utils/adt/selfuncs.c:5314
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "регистро-независимое сравнение не поддерживается для типа bytea"
 
-#: utils/adt/selfuncs.c:5363
+#: utils/adt/selfuncs.c:5417
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "сравнение с регулярными выражениями не поддерживается для типа bytea "
@@ -20697,109 +21482,118 @@ msgstr "TIMESTAMP(%d)%s: точность должна быть неотрица
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIMESTAMP(%d)%s: точность уменьшена до дозволенного максимума: %d"
 
-#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:444
+#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:445
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp вне диапазона: \"%s\""
 
-#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:462
-#: utils/adt/timestamp.c:917
+#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:463
+#: utils/adt/timestamp.c:993
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "значение даты/времени \"%s\" более не поддерживается"
 
-#: utils/adt/timestamp.c:258
+#: utils/adt/timestamp.c:258 utils/adt/timestamp.c:754
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "timestamp не может быть NaN"
 
-#: utils/adt/timestamp.c:379
+#: utils/adt/timestamp.c:380
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "точность timestamp(%d) должна быть между %d и %d"
 
-#: utils/adt/timestamp.c:512
+#: utils/adt/timestamp.c:513
 #, c-format
 msgid "invalid input syntax for numeric time zone: \"%s\""
 msgstr "неверный синтаксис для числового часового пояса: \"%s\""
 
-#: utils/adt/timestamp.c:514
+#: utils/adt/timestamp.c:515
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr ""
 "Запись числового часового пояса должна начинаться с символа \"-\" или \"+\"."
 
-#: utils/adt/timestamp.c:527
+#: utils/adt/timestamp.c:528
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "числовой часовой пояс \"%s\" вне диапазона"
 
-#: utils/adt/timestamp.c:630 utils/adt/timestamp.c:640
+#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641
+#: utils/adt/timestamp.c:653
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp вне диапазона: %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:911 utils/adt/timestamp.c:1482
-#: utils/adt/timestamp.c:1985 utils/adt/timestamp.c:3125
-#: utils/adt/timestamp.c:3130 utils/adt/timestamp.c:3135
-#: utils/adt/timestamp.c:3185 utils/adt/timestamp.c:3192
-#: utils/adt/timestamp.c:3199 utils/adt/timestamp.c:3219
-#: utils/adt/timestamp.c:3226 utils/adt/timestamp.c:3233
-#: utils/adt/timestamp.c:3262 utils/adt/timestamp.c:3269
-#: utils/adt/timestamp.c:3314 utils/adt/timestamp.c:3605
-#: utils/adt/timestamp.c:3734 utils/adt/timestamp.c:4125
+#: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776
+#: utils/adt/timestamp.c:791
+#, c-format
+msgid "timestamp out of range: \"%g\""
+msgstr "timestamp вне диапазона: \"%g\""
+
+#: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558
+#: utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220
+#: utils/adt/timestamp.c:3225 utils/adt/timestamp.c:3230
+#: utils/adt/timestamp.c:3280 utils/adt/timestamp.c:3287
+#: utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3314
+#: utils/adt/timestamp.c:3321 utils/adt/timestamp.c:3328
+#: utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3366
+#: utils/adt/timestamp.c:3411 utils/adt/timestamp.c:3751
+#: utils/adt/timestamp.c:3880 utils/adt/timestamp.c:4271
 #, c-format
 msgid "interval out of range"
 msgstr "interval вне диапазона"
 
-#: utils/adt/timestamp.c:1052 utils/adt/timestamp.c:1085
+#: utils/adt/timestamp.c:1128 utils/adt/timestamp.c:1161
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "неверный модификатор типа INTERVAL"
 
-#: utils/adt/timestamp.c:1068
+#: utils/adt/timestamp.c:1144
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "INTERVAL(%d): точность должна быть неотрицательна"
 
-#: utils/adt/timestamp.c:1074
+#: utils/adt/timestamp.c:1150
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "INTERVAL(%d): точность уменьшена до максимально возможной: %d"
 
-#: utils/adt/timestamp.c:1426
+#: utils/adt/timestamp.c:1502
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "точность interval(%d) должна быть между %d и %d"
 
-#: utils/adt/timestamp.c:2714
+#: utils/adt/timestamp.c:2797
 #, c-format
 msgid "cannot subtract infinite timestamps"
 msgstr "вычитать бесконечные значения timestamp нельзя"
 
-#: utils/adt/timestamp.c:3860 utils/adt/timestamp.c:4486
-#: utils/adt/timestamp.c:4506
+#: utils/adt/timestamp.c:4006 utils/adt/timestamp.c:4531
+#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4740
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "единицы timestamp \"%s\" не поддерживаются"
 
-#: utils/adt/timestamp.c:3874 utils/adt/timestamp.c:4516
+#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4485
+#: utils/adt/timestamp.c:4750
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "единицы timestamp \"%s\" не распознаны"
 
-#: utils/adt/timestamp.c:4014 utils/adt/timestamp.c:4697
-#: utils/adt/timestamp.c:4718
+#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4526
+#: utils/adt/timestamp.c:4937 utils/adt/timestamp.c:4963
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr "единицы timestamp с часовым поясом \"%s\" не поддерживаются"
 
-#: utils/adt/timestamp.c:4031 utils/adt/timestamp.c:4727
+#: utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4480
+#: utils/adt/timestamp.c:4972
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr "единицы timestamp с часовым поясом \"%s\" не распознаны"
 
-#: utils/adt/timestamp.c:4112
+#: utils/adt/timestamp.c:4258
 #, c-format
 msgid ""
 "interval units \"%s\" not supported because months usually have fractional "
@@ -20808,21 +21602,16 @@ msgstr ""
 "единицы интервала \"%s\" не поддерживаются, так как в месяцах дробное число "
 "недель"
 
-#: utils/adt/timestamp.c:4118 utils/adt/timestamp.c:4833
+#: utils/adt/timestamp.c:4264 utils/adt/timestamp.c:5078
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "единицы interval \"%s\" не поддерживаются"
 
-#: utils/adt/timestamp.c:4134 utils/adt/timestamp.c:4860
+#: utils/adt/timestamp.c:4280 utils/adt/timestamp.c:5105
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "единицы interval \"%s\" не распознаны"
 
-#: utils/adt/timestamp.c:5024 utils/adt/timestamp.c:5254
-#, c-format
-msgid "could not convert to time zone \"%s\""
-msgstr "не удалось пересчитать время в часовой пояс \"%s\""
-
 #: utils/adt/trigfuncs.c:42
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called as trigger"
@@ -20854,43 +21643,48 @@ msgstr ""
 msgid "gtsvector_in not implemented"
 msgstr "функция gtsvector_in не реализована"
 
-#: utils/adt/tsquery.c:155 utils/adt/tsquery.c:390
-#: utils/adt/tsvector_parser.c:133
+#: utils/adt/tsquery.c:166
+#, c-format
+msgid "distance in phrase operator should not be greater than %d"
+msgstr "дистанция во фразовом операторе должна быть не больше %d"
+
+#: utils/adt/tsquery.c:254 utils/adt/tsquery.c:513
+#: utils/adt/tsvector_parser.c:141
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "ошибка синтаксиса в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:176
+#: utils/adt/tsquery.c:275
 #, c-format
 msgid "no operand in tsquery: \"%s\""
 msgstr "нет оператора в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:248
+#: utils/adt/tsquery.c:358
 #, c-format
 msgid "value is too big in tsquery: \"%s\""
 msgstr "слишком большое значение в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:253
+#: utils/adt/tsquery.c:363
 #, c-format
 msgid "operand is too long in tsquery: \"%s\""
 msgstr "слишком длинный операнд в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:281
+#: utils/adt/tsquery.c:391
 #, c-format
 msgid "word is too long in tsquery: \"%s\""
 msgstr "слишком длинное слово в tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:510
+#: utils/adt/tsquery.c:648
 #, c-format
 msgid "text-search query doesn't contain lexemes: \"%s\""
 msgstr "запрос поиска текста не содержит лексемы: \"%s\""
 
-#: utils/adt/tsquery.c:521 utils/adt/tsquery_util.c:340
+#: utils/adt/tsquery.c:659 utils/adt/tsquery_util.c:347
 #, c-format
 msgid "tsquery is too large"
 msgstr "tsquery слишком большой"
 
-#: utils/adt/tsquery_cleanup.c:287
+#: utils/adt/tsquery_cleanup.c:584
 #, c-format
 msgid ""
 "text-search query contains only stop words or doesn't contain lexemes, "
@@ -20899,27 +21693,33 @@ msgstr ""
 "запрос поиска текста игнорируется, так как содержит только стоп-слова или не "
 "содержит лексем"
 
-#: utils/adt/tsquery_rewrite.c:293
+#: utils/adt/tsquery_op.c:122
+#, c-format
+msgid "distance in phrase operator should be non-negative and less than %d"
+msgstr ""
+"дистанция во фразовом операторе должна быть неотрицательной и меньше %d"
+
+#: utils/adt/tsquery_rewrite.c:292
 #, c-format
 msgid "ts_rewrite query must return two tsquery columns"
 msgstr "запрос ts_rewrite должен вернуть два столбца типа tsquery"
 
-#: utils/adt/tsrank.c:410
+#: utils/adt/tsrank.c:412
 #, c-format
 msgid "array of weight must be one-dimensional"
 msgstr "массив весов должен быть одномерным"
 
-#: utils/adt/tsrank.c:415
+#: utils/adt/tsrank.c:417
 #, c-format
 msgid "array of weight is too short"
 msgstr "массив весов слишком мал"
 
-#: utils/adt/tsrank.c:420
+#: utils/adt/tsrank.c:422
 #, c-format
 msgid "array of weight must not contain nulls"
 msgstr "массив весов не может содержать null"
 
-#: utils/adt/tsrank.c:429 utils/adt/tsrank.c:756
+#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:866
 #, c-format
 msgid "weight out of range"
 msgstr "вес вне диапазона"
@@ -20934,57 +21734,73 @@ msgstr "слово слишком длинное (%ld Б, при максиму
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "строка слишком длинна для tsvector (%ld Б, при максимуме %ld)"
 
-#: utils/adt/tsvector_op.c:1173
+#: utils/adt/tsvector_op.c:321 utils/adt/tsvector_op.c:576
+#: utils/adt/tsvector_op.c:742
+#, c-format
+msgid "lexeme array may not contain nulls"
+msgstr "массив лексем не может содержать элементы null"
+
+#: utils/adt/tsvector_op.c:801
+#, c-format
+msgid "weight array may not contain nulls"
+msgstr "массив весов не может содержать элементы null"
+
+#: utils/adt/tsvector_op.c:825
+#, c-format
+msgid "unrecognized weight: \"%c\""
+msgstr "нераспознанный вес: \"%c\""
+
+#: utils/adt/tsvector_op.c:1998
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "запрос ts_stat должен вернуть один столбец tsvector"
 
-#: utils/adt/tsvector_op.c:1353
+#: utils/adt/tsvector_op.c:2180
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "столбец \"%s\" типа tsvector не существует"
 
-#: utils/adt/tsvector_op.c:1359
+#: utils/adt/tsvector_op.c:2186
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "столбец \"%s\" должен иметь тип tsvector"
 
-#: utils/adt/tsvector_op.c:1371
+#: utils/adt/tsvector_op.c:2198
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "столбец конфигурации \"%s\" не существует"
 
-#: utils/adt/tsvector_op.c:1377
+#: utils/adt/tsvector_op.c:2204
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "столбец \"%s\" должен иметь тип regconfig"
 
-#: utils/adt/tsvector_op.c:1384
+#: utils/adt/tsvector_op.c:2211
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "значение столбца конфигурации \"%s\" не должно быть null"
 
-#: utils/adt/tsvector_op.c:1397
+#: utils/adt/tsvector_op.c:2224
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr "имя конфигурации текстового поиска \"%s\" должно указываться со схемой"
 
-#: utils/adt/tsvector_op.c:1422
+#: utils/adt/tsvector_op.c:2249
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "столбец \"%s\" имеет не символьный тип"
 
-#: utils/adt/tsvector_parser.c:134
+#: utils/adt/tsvector_parser.c:142
 #, c-format
 msgid "syntax error in tsvector: \"%s\""
 msgstr "ошибка синтаксиса в tsvector: \"%s\""
 
-#: utils/adt/tsvector_parser.c:199
+#: utils/adt/tsvector_parser.c:207
 #, c-format
 msgid "there is no escaped character: \"%s\""
 msgstr "нет спец. символа \"%s\""
 
-#: utils/adt/tsvector_parser.c:316
+#: utils/adt/tsvector_parser.c:324
 #, c-format
 msgid "wrong position info in tsvector: \"%s\""
 msgstr "неверная информация о позиции в tsvector: \"%s\""
@@ -20999,17 +21815,17 @@ msgstr "неверный синтаксис для типа txid_snapshot: \"%s\
 msgid "invalid external txid_snapshot data"
 msgstr "неверное внешнее представление txid_snapshot"
 
-#: utils/adt/uuid.c:128
+#: utils/adt/uuid.c:145
 #, c-format
 msgid "invalid input syntax for uuid: \"%s\""
 msgstr "неверный синтаксис для uuid: \"%s\""
 
-#: utils/adt/varbit.c:57 utils/adt/varchar.c:49
+#: utils/adt/varbit.c:57 utils/adt/varchar.c:50
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "длина значения типа %s должна быть как минимум 1"
 
-#: utils/adt/varbit.c:62 utils/adt/varchar.c:53
+#: utils/adt/varbit.c:62 utils/adt/varchar.c:54
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "длина значения типа %s не может превышать %d"
@@ -21044,9 +21860,9 @@ msgstr "неверная длина во внешней строке битов"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "строка битов не умещается в тип bit varying(%d)"
 
-#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:832
-#: utils/adt/varlena.c:896 utils/adt/varlena.c:1040 utils/adt/varlena.c:2510
-#: utils/adt/varlena.c:2577
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:842
+#: utils/adt/varlena.c:906 utils/adt/varlena.c:1050 utils/adt/varlena.c:2735
+#: utils/adt/varlena.c:2802
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "подстрока должна иметь неотрицательную длину"
@@ -21072,80 +21888,90 @@ msgstr ""
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "индекс бита %d вне диапазона 0..%d"
 
-#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2777
+#: utils/adt/varbit.c:1802 utils/adt/varlena.c:3002
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "значением бита должен быть 0 или 1"
 
-#: utils/adt/varchar.c:153 utils/adt/varchar.c:306
+#: utils/adt/varchar.c:154 utils/adt/varchar.c:307
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr "значение не умещается в тип character(%d)"
 
-#: utils/adt/varchar.c:468 utils/adt/varchar.c:622
+#: utils/adt/varchar.c:469 utils/adt/varchar.c:623
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr "значение не умещается в тип character varying(%d)"
 
-#: utils/adt/varlena.c:1410 utils/adt/varlena.c:1799
+#: utils/adt/varlena.c:1420 utils/adt/varlena.c:1825
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr ""
 "не удалось определить, какое правило сортировки использовать для сравнения "
 "строк"
 
-#: utils/adt/varlena.c:1468 utils/adt/varlena.c:1481
+#: utils/adt/varlena.c:1478 utils/adt/varlena.c:1491
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)"
 
-#: utils/adt/varlena.c:1496
+#: utils/adt/varlena.c:1506
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "не удалось сравнить строки в Unicode: %m"
 
-#: utils/adt/varlena.c:2655 utils/adt/varlena.c:2686 utils/adt/varlena.c:2722
-#: utils/adt/varlena.c:2765
+#: utils/adt/varlena.c:2880 utils/adt/varlena.c:2911 utils/adt/varlena.c:2947
+#: utils/adt/varlena.c:2990
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "индекс %d вне диапазона 0..%d"
 
-#: utils/adt/varlena.c:3684
+#: utils/adt/varlena.c:3925
 #, c-format
 msgid "field position must be greater than zero"
 msgstr "позиция поля должна быть больше нуля"
 
-#: utils/adt/varlena.c:4563
+#: utils/adt/varlena.c:4804
+#, c-format
+msgid "unterminated format() type specifier"
+msgstr "незавершённый спецификатор типа format()"
+
+#: utils/adt/varlena.c:4805 utils/adt/varlena.c:4939 utils/adt/varlena.c:5060
 #, c-format
-msgid "unterminated format specifier"
-msgstr "незавершённый спецификатор формата"
+msgid "For a single \"%%\" use \"%%%%\"."
+msgstr "Для представления одного знака \"%%\" запишите \"%%%%\"."
 
-#: utils/adt/varlena.c:4695 utils/adt/varlena.c:4815
+#: utils/adt/varlena.c:4937 utils/adt/varlena.c:5058
 #, c-format
-msgid "unrecognized conversion type specifier \"%c\""
-msgstr "нераспознанный спецификатор преобразования \"%c\""
+msgid "unrecognized format() type specifier \"%c\""
+msgstr "нераспознанный спецификатор типа format(): \"%c\""
 
-#: utils/adt/varlena.c:4707 utils/adt/varlena.c:4764
+#: utils/adt/varlena.c:4950
+#, c-format
+msgid "too few arguments for format()"
+msgstr "мало аргументов для format()"
+
+#: utils/adt/varlena.c:5007
 #, c-format
 msgid "too few arguments for format"
 msgstr "мало аргументов для формата"
 
-#: utils/adt/varlena.c:4858 utils/adt/varlena.c:5041
+#: utils/adt/varlena.c:5102 utils/adt/varlena.c:5285
 #, c-format
 msgid "number is out of range"
 msgstr "число вне диапазона"
 
-#: utils/adt/varlena.c:4922 utils/adt/varlena.c:4950
+#: utils/adt/varlena.c:5166 utils/adt/varlena.c:5194
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "формат ссылается на аргумент 0, но аргументы нумеруются с 1"
 
-#: utils/adt/varlena.c:4943
+#: utils/adt/varlena.c:5187
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "указание аргумента ширины должно оканчиваться \"$\""
 
-#: utils/adt/varlena.c:4988
+#: utils/adt/varlena.c:5232
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "значения null нельзя представить в виде SQL-идентификатора"
@@ -21307,38 +22133,38 @@ msgstr ""
 "не удалось зарегистрировать пространство имён XML с префиксом \"%s\" и URI "
 "\"%s\""
 
-#: utils/cache/lsyscache.c:2515 utils/cache/lsyscache.c:2548
-#: utils/cache/lsyscache.c:2581 utils/cache/lsyscache.c:2614
+#: utils/cache/lsyscache.c:2580 utils/cache/lsyscache.c:2613
+#: utils/cache/lsyscache.c:2646 utils/cache/lsyscache.c:2679
 #, c-format
 msgid "type %s is only a shell"
 msgstr "тип %s - лишь оболочка"
 
-#: utils/cache/lsyscache.c:2520
+#: utils/cache/lsyscache.c:2585
 #, c-format
 msgid "no input function available for type %s"
 msgstr "для типа %s нет функции ввода"
 
-#: utils/cache/lsyscache.c:2553
+#: utils/cache/lsyscache.c:2618
 #, c-format
 msgid "no output function available for type %s"
 msgstr "для типа %s нет функции вывода"
 
-#: utils/cache/plancache.c:725
+#: utils/cache/plancache.c:746
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "в кешированном плане не должен изменяться тип результата"
 
-#: utils/cache/relcache.c:5021
+#: utils/cache/relcache.c:5060
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "создать файл инициализации для кеша отношений \"%s\" не удалось: %m"
 
-#: utils/cache/relcache.c:5023
+#: utils/cache/relcache.c:5062
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Продолжаем всё равно, хотя что-то не так."
 
-#: utils/cache/relcache.c:5256
+#: utils/cache/relcache.c:5336
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "не удалось стереть файл кеша \"%s\": %m"
@@ -21385,12 +22211,12 @@ msgstr ""
 msgid "could not close relation mapping file \"%s\": %m"
 msgstr "закрыть файл сопоставления отношений \"%s\" не удалось: %m"
 
-#: utils/cache/typcache.c:1210
+#: utils/cache/typcache.c:1211
 #, c-format
 msgid "type %s is not composite"
 msgstr "тип %s не является составным"
 
-#: utils/cache/typcache.c:1224
+#: utils/cache/typcache.c:1225
 #, c-format
 msgid "record type has not been registered"
 msgstr "тип записи не зарегистрирован"
@@ -21405,102 +22231,102 @@ msgstr "ЛОВУШКА: Исключительное условие: невер
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
 msgstr "ЛОВУШКА: %s(\"%s\", файл: \"%s\", строка: %d)\n"
 
-#: utils/error/elog.c:316 utils/error/elog.c:1297
+#: utils/error/elog.c:322 utils/error/elog.c:1306
 #, c-format
 msgid "error occurred at %s:%d before error message processing is available\n"
 msgstr ""
 "в %s:%d произошла ошибка до готовности подсистемы обработки сообщений\n"
 
-#: utils/error/elog.c:1864
+#: utils/error/elog.c:1880
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "открыть файл \"%s\" как stderr не удалось: %m"
 
-#: utils/error/elog.c:1877
+#: utils/error/elog.c:1893
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "открыть файл \"%s\" как stdout не удалось: %m"
 
-#: utils/error/elog.c:2353 utils/error/elog.c:2370 utils/error/elog.c:2386
+#: utils/error/elog.c:2380 utils/error/elog.c:2397 utils/error/elog.c:2413
 msgid "[unknown]"
 msgstr "[н/д]"
 
-#: utils/error/elog.c:2825 utils/error/elog.c:3124 utils/error/elog.c:3232
+#: utils/error/elog.c:2872 utils/error/elog.c:3171 utils/error/elog.c:3279
 msgid "missing error text"
 msgstr "отсутствует текст ошибки"
 
-#: utils/error/elog.c:2828 utils/error/elog.c:2831 utils/error/elog.c:3235
-#: utils/error/elog.c:3238
+#: utils/error/elog.c:2875 utils/error/elog.c:2878 utils/error/elog.c:3282
+#: utils/error/elog.c:3285
 #, c-format
 msgid " at character %d"
 msgstr " (символ %d)"
 
-#: utils/error/elog.c:2841 utils/error/elog.c:2848
+#: utils/error/elog.c:2888 utils/error/elog.c:2895
 msgid "DETAIL:  "
 msgstr "ПОДРОБНОСТИ:  "
 
-#: utils/error/elog.c:2855
+#: utils/error/elog.c:2902
 msgid "HINT:  "
 msgstr "ПОДСКАЗКА:  "
 
-#: utils/error/elog.c:2862
+#: utils/error/elog.c:2909
 msgid "QUERY:  "
 msgstr "ЗАПРОС:  "
 
-#: utils/error/elog.c:2869
+#: utils/error/elog.c:2916
 msgid "CONTEXT:  "
 msgstr "КОНТЕКСТ:  "
 
-#: utils/error/elog.c:2879
+#: utils/error/elog.c:2926
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "ПОЛОЖЕНИЕ: %s, %s:%d\n"
 
-#: utils/error/elog.c:2886
+#: utils/error/elog.c:2933
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "ПОЛОЖЕНИЕ: %s:%d\n"
 
-#: utils/error/elog.c:2900
+#: utils/error/elog.c:2947
 msgid "STATEMENT:  "
 msgstr "ОПЕРАТОР:  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3353
+#: utils/error/elog.c:3400
 #, c-format
 msgid "operating system error %d"
 msgstr "ошибка ОС %d"
 
-#: utils/error/elog.c:3548
+#: utils/error/elog.c:3595
 msgid "DEBUG"
 msgstr "ОТЛАДКА"
 
-#: utils/error/elog.c:3552
+#: utils/error/elog.c:3599
 msgid "LOG"
 msgstr "СООБЩЕНИЕ"
 
-#: utils/error/elog.c:3555
+#: utils/error/elog.c:3602
 msgid "INFO"
 msgstr "ИНФОРМАЦИЯ"
 
-#: utils/error/elog.c:3558
+#: utils/error/elog.c:3605
 msgid "NOTICE"
 msgstr "ЗАМЕЧАНИЕ"
 
-#: utils/error/elog.c:3561
+#: utils/error/elog.c:3608
 msgid "WARNING"
 msgstr "ПРЕДУПРЕЖДЕНИЕ"
 
-#: utils/error/elog.c:3564
+#: utils/error/elog.c:3611
 msgid "ERROR"
 msgstr "ОШИБКА"
 
-#: utils/error/elog.c:3567
+#: utils/error/elog.c:3614
 msgid "FATAL"
 msgstr "ВАЖНО"
 
-#: utils/error/elog.c:3570
+#: utils/error/elog.c:3617
 msgid "PANIC"
 msgstr "ПАНИКА"
 
@@ -21640,59 +22466,69 @@ msgstr "псевдоним столбца не указан"
 msgid "could not determine row description for function returning record"
 msgstr "не удалось определить описание строки для функции, возвращающей запись"
 
-#: utils/init/miscinit.c:120
+#: utils/init/miscinit.c:121
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "не удалось перейти в каталог \"%s\": %m"
 
-#: utils/init/miscinit.c:441 utils/misc/guc.c:5839
+#: utils/init/miscinit.c:449 utils/misc/guc.c:6003
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr ""
 "параметр \"%s\" нельзя задать в рамках операции с ограничениями по "
 "безопасности"
 
-#: utils/init/miscinit.c:522
+#: utils/init/miscinit.c:510
+#, c-format
+msgid "role with OID %u does not exist"
+msgstr "роль с OID %u не существует"
+
+#: utils/init/miscinit.c:540
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "для роли \"%s\" вход запрещён"
 
-#: utils/init/miscinit.c:540
+#: utils/init/miscinit.c:558
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "слишком много подключений для роли \"%s\""
 
-#: utils/init/miscinit.c:600
+#: utils/init/miscinit.c:618
 #, c-format
 msgid "permission denied to set session authorization"
 msgstr "нет прав для смены объекта авторизации в сеансе"
 
-#: utils/init/miscinit.c:683
+#: utils/init/miscinit.c:701
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "неверный OID роли: %u"
 
-#: utils/init/miscinit.c:813
+#: utils/init/miscinit.c:755
+#, c-format
+msgid "database system is shut down"
+msgstr "система БД выключена"
+
+#: utils/init/miscinit.c:842
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "не удалось создать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:827
+#: utils/init/miscinit.c:856
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "не удалось открыть файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:833
+#: utils/init/miscinit.c:862
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "не удалось прочитать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:841
+#: utils/init/miscinit.c:870
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "файл блокировки \"%s\" пуст"
 
-#: utils/init/miscinit.c:842
+#: utils/init/miscinit.c:871
 #, c-format
 msgid ""
 "Either another server is starting, or the lock file is the remnant of a "
@@ -21701,40 +22537,40 @@ msgstr ""
 "Либо сейчас запускается другой сервер, либо этот файл остался в результате "
 "сбоя при предыдущем запуске."
 
-#: utils/init/miscinit.c:889
+#: utils/init/miscinit.c:918
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "файл блокировки \"%s\" уже существует"
 
-#: utils/init/miscinit.c:893
+#: utils/init/miscinit.c:922
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr "Другой экземпляр postgres (PID %d) работает с каталогом данных \"%s\"?"
 
-#: utils/init/miscinit.c:895
+#: utils/init/miscinit.c:924
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr ""
 "Другой экземпляр postmaster (PID %d) работает с каталогом данных \"%s\"?"
 
-#: utils/init/miscinit.c:898
+#: utils/init/miscinit.c:927
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "Другой экземпляр postgres (PID %d) использует файл сокета \"%s\"?"
 
-#: utils/init/miscinit.c:900
+#: utils/init/miscinit.c:929
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "Другой экземпляр postmaster (PID %d) использует файл сокета \"%s\"?"
 
-#: utils/init/miscinit.c:936
+#: utils/init/miscinit.c:965
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr ""
 "ранее выделенный блок разделяемой памяти (ключ %lu, ID %lu) по-прежнему "
 "используется"
 
-#: utils/init/miscinit.c:939
+#: utils/init/miscinit.c:968
 #, c-format
 msgid ""
 "If you're sure there are no old server processes still running, remove the "
@@ -21743,12 +22579,12 @@ msgstr ""
 "Если вы уверены, что процессов старого сервера уже не осталось, освободите "
 "этот блок разделяемой памяти или просто удалите файл \"%s\"."
 
-#: utils/init/miscinit.c:955
+#: utils/init/miscinit.c:984
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "не удалось стереть старый файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:957
+#: utils/init/miscinit.c:986
 #, c-format
 msgid ""
 "The file seems accidentally left over, but it could not be removed. Please "
@@ -21757,48 +22593,48 @@ msgstr ""
 "Кажется, файл сохранился по ошибке, но удалить его не получилось. "
 "Пожалуйста, удалите файл вручную и повторите попытку."
 
-#: utils/init/miscinit.c:993 utils/init/miscinit.c:1004
-#: utils/init/miscinit.c:1014
+#: utils/init/miscinit.c:1022 utils/init/miscinit.c:1033
+#: utils/init/miscinit.c:1043
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "не удалось записать файл блокировки \"%s\": %m"
 
-#: utils/init/miscinit.c:1143 utils/init/miscinit.c:1272 utils/misc/guc.c:8589
+#: utils/init/miscinit.c:1172 utils/init/miscinit.c:1301 utils/misc/guc.c:8797
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
-#: utils/init/miscinit.c:1262
+#: utils/init/miscinit.c:1291
 #, c-format
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "не удалось открыть файл \"%s\": %m; ошибка игнорируется"
 
-#: utils/init/miscinit.c:1285
+#: utils/init/miscinit.c:1314
 #, c-format
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "файл блокировки \"%s\" содержит неверный PID: %ld вместо %ld"
 
-#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1340
+#: utils/init/miscinit.c:1356 utils/init/miscinit.c:1369
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "\"%s\" не является каталогом данных"
 
-#: utils/init/miscinit.c:1329
+#: utils/init/miscinit.c:1358
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "Файл \"%s\" отсутствует."
 
-#: utils/init/miscinit.c:1342
+#: utils/init/miscinit.c:1371
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "Файл \"%s\" содержит неприемлемые данные."
 
-#: utils/init/miscinit.c:1344
+#: utils/init/miscinit.c:1373
 #, c-format
 msgid "You might need to initdb."
 msgstr "Возможно, вам нужно выполнить initdb."
 
-#: utils/init/miscinit.c:1352
+#: utils/init/miscinit.c:1381
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %ld.%ld, which is "
@@ -21807,12 +22643,12 @@ msgstr ""
 "Каталог данных инициализирован сервером PostgreSQL версии %ld.%ld, не "
 "совместимой с данной версией (%s)."
 
-#: utils/init/miscinit.c:1423
+#: utils/init/miscinit.c:1452
 #, c-format
 msgid "loaded library \"%s\""
 msgstr "загружена библиотека \"%s\""
 
-#: utils/init/postinit.c:238
+#: utils/init/postinit.c:253
 #, c-format
 msgid ""
 "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher="
@@ -21821,20 +22657,20 @@ msgstr ""
 "подключение для репликации авторизовано: пользователь=%s, SSL включён "
 "(протокол=%s, шифр=%s, сжатие=%s)"
 
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:255 utils/init/postinit.c:269
 msgid "off"
 msgstr "выкл."
 
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:255 utils/init/postinit.c:269
 msgid "on"
 msgstr "вкл."
 
-#: utils/init/postinit.c:244
+#: utils/init/postinit.c:259
 #, c-format
 msgid "replication connection authorized: user=%s"
 msgstr "подключение для репликации авторизовано: пользователь=%s"
 
-#: utils/init/postinit.c:252
+#: utils/init/postinit.c:267
 #, c-format
 msgid ""
 "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher="
@@ -21843,47 +22679,47 @@ msgstr ""
 "подключение авторизовано: пользователь=%s, база=%s, SSL включён (протокол="
 "%s, шифр=%s, сжатие=%s)"
 
-#: utils/init/postinit.c:258
+#: utils/init/postinit.c:273
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "подключение авторизовано: пользователь=%s, база=%s"
 
-#: utils/init/postinit.c:290
+#: utils/init/postinit.c:305
 #, c-format
 msgid "database \"%s\" has disappeared from pg_database"
 msgstr "база данных \"%s\" исчезла из pg_database"
 
-#: utils/init/postinit.c:292
+#: utils/init/postinit.c:307
 #, c-format
 msgid "Database OID %u now seems to belong to \"%s\"."
 msgstr "Похоже, базой данных с OID %u теперь владеет \"%s\"."
 
-#: utils/init/postinit.c:312
+#: utils/init/postinit.c:327
 #, c-format
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "база \"%s\" не принимает подключения в данный момент"
 
-#: utils/init/postinit.c:325
+#: utils/init/postinit.c:340
 #, c-format
 msgid "permission denied for database \"%s\""
 msgstr "доступ к базе \"%s\" запрещён"
 
-#: utils/init/postinit.c:326
+#: utils/init/postinit.c:341
 #, c-format
 msgid "User does not have CONNECT privilege."
 msgstr "Пользователь не имеет привилегии CONNECT."
 
-#: utils/init/postinit.c:343
+#: utils/init/postinit.c:358
 #, c-format
 msgid "too many connections for database \"%s\""
 msgstr "слишком много подключений к БД \"%s\""
 
-#: utils/init/postinit.c:365 utils/init/postinit.c:372
+#: utils/init/postinit.c:380 utils/init/postinit.c:387
 #, c-format
 msgid "database locale is incompatible with operating system"
 msgstr "локаль БД несовместима с операционной системой"
 
-#: utils/init/postinit.c:366
+#: utils/init/postinit.c:381
 #, c-format
 msgid ""
 "The database was initialized with LC_COLLATE \"%s\",  which is not "
@@ -21892,7 +22728,7 @@ msgstr ""
 "База данных была инициализирована с параметром LC_COLLATE \"%s\", но сейчас "
 "setlocale() не воспринимает его."
 
-#: utils/init/postinit.c:368 utils/init/postinit.c:375
+#: utils/init/postinit.c:383 utils/init/postinit.c:390
 #, c-format
 msgid ""
 "Recreate the database with another locale or install the missing locale."
@@ -21900,7 +22736,7 @@ msgstr ""
 "Пересоздайте базу данных с другой локалью или установите поддержку нужной "
 "локали."
 
-#: utils/init/postinit.c:373
+#: utils/init/postinit.c:388
 #, c-format
 msgid ""
 "The database was initialized with LC_CTYPE \"%s\",  which is not recognized "
@@ -21909,36 +22745,36 @@ msgstr ""
 "База данных была инициализирована с параметром LC_CTYPE \"%s\", но сейчас "
 "setlocale() не воспринимает его."
 
-#: utils/init/postinit.c:699
+#: utils/init/postinit.c:716
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "в этой системе баз данных не создано ни одной роли"
 
-#: utils/init/postinit.c:700
+#: utils/init/postinit.c:717
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Вы должны немедленно выполнить CREATE USER \"%s\" CREATEUSER;."
 
-#: utils/init/postinit.c:736
+#: utils/init/postinit.c:753
 #, c-format
 msgid "new replication connections are not allowed during database shutdown"
 msgstr ""
 "новые подключения для репликации не допускаются в процессе остановки БД"
 
-#: utils/init/postinit.c:740
+#: utils/init/postinit.c:757
 #, c-format
 msgid "must be superuser to connect during database shutdown"
 msgstr ""
 "нужно быть суперпользователем, чтобы подключиться в процессе остановки БД"
 
-#: utils/init/postinit.c:750
+#: utils/init/postinit.c:767
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr ""
 "нужно быть суперпользователем, чтобы подключиться в режиме двоичного "
 "обновления"
 
-#: utils/init/postinit.c:764
+#: utils/init/postinit.c:781
 #, c-format
 msgid ""
 "remaining connection slots are reserved for non-replication superuser "
@@ -21947,34 +22783,34 @@ msgstr ""
 "оставшиеся слоты подключений зарезервированы для подключений "
 "суперпользователя (не для репликации)"
 
-#: utils/init/postinit.c:774
+#: utils/init/postinit.c:791
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr ""
 "для запуска процесса walsender требуется роль репликации или права "
 "суперпользователя"
 
-#: utils/init/postinit.c:843
+#: utils/init/postinit.c:860
 #, c-format
 msgid "database %u does not exist"
 msgstr "база данных \"%u не существует"
 
-#: utils/init/postinit.c:929
+#: utils/init/postinit.c:946
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Похоже, она только что была удалена или переименована."
 
-#: utils/init/postinit.c:947
+#: utils/init/postinit.c:964
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "Подкаталог базы данных \"%s\" отсутствует."
 
-#: utils/init/postinit.c:952
+#: utils/init/postinit.c:969
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "ошибка доступа к каталогу \"%s\": %m"
 
-#: utils/mb/conv.c:360 utils/mb/conv.c:546
+#: utils/mb/conv.c:405 utils/mb/conv.c:591
 #, c-format
 msgid "invalid encoding number: %d"
 msgstr "неверный номер кодировки: %d"
@@ -22047,290 +22883,290 @@ msgstr ""
 "для символа с последовательностью байт %s из кодировки \"%s\" нет "
 "эквивалента в \"%s\""
 
-#: utils/misc/guc.c:535
+#: utils/misc/guc.c:548
 msgid "Ungrouped"
 msgstr "Разное"
 
-#: utils/misc/guc.c:537
+#: utils/misc/guc.c:550
 msgid "File Locations"
 msgstr "Расположения файлов"
 
-#: utils/misc/guc.c:539
+#: utils/misc/guc.c:552
 msgid "Connections and Authentication"
 msgstr "Подключения и аутентификация"
 
-#: utils/misc/guc.c:541
+#: utils/misc/guc.c:554
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Подключения и аутентификация / Параметры подключений"
 
-#: utils/misc/guc.c:543
+#: utils/misc/guc.c:556
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "Подключения и аутентификация / Безопасность и аутентификация"
 
-#: utils/misc/guc.c:545
+#: utils/misc/guc.c:558
 msgid "Resource Usage"
 msgstr "Использование ресурсов"
 
-#: utils/misc/guc.c:547
+#: utils/misc/guc.c:560
 msgid "Resource Usage / Memory"
 msgstr "Использование ресурсов / Память"
 
-#: utils/misc/guc.c:549
+#: utils/misc/guc.c:562
 msgid "Resource Usage / Disk"
 msgstr "Использование ресурсов / Диск"
 
-#: utils/misc/guc.c:551
+#: utils/misc/guc.c:564
 msgid "Resource Usage / Kernel Resources"
 msgstr "Использование ресурсов / Ресурсы ядра"
 
-#: utils/misc/guc.c:553
+#: utils/misc/guc.c:566
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Использование ресурсов / Задержка очистки по стоимости"
 
-#: utils/misc/guc.c:555
+#: utils/misc/guc.c:568
 msgid "Resource Usage / Background Writer"
 msgstr "Использование ресурсов / Фоновая запись"
 
-#: utils/misc/guc.c:557
+#: utils/misc/guc.c:570
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Использование ресурсов / Асинхронное поведение"
 
-#: utils/misc/guc.c:559
+#: utils/misc/guc.c:572
 msgid "Write-Ahead Log"
 msgstr "Журнал WAL"
 
-#: utils/misc/guc.c:561
+#: utils/misc/guc.c:574
 msgid "Write-Ahead Log / Settings"
 msgstr "Журнал WAL / Настройки"
 
-#: utils/misc/guc.c:563
+#: utils/misc/guc.c:576
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Журнал WAL / Контрольные точки"
 
-#: utils/misc/guc.c:565
+#: utils/misc/guc.c:578
 msgid "Write-Ahead Log / Archiving"
 msgstr "Журнал WAL / Архивация"
 
-#: utils/misc/guc.c:567
+#: utils/misc/guc.c:580
 msgid "Replication"
 msgstr "Репликация"
 
-#: utils/misc/guc.c:569
+#: utils/misc/guc.c:582
 msgid "Replication / Sending Servers"
 msgstr "Репликация / Передающие серверы"
 
-#: utils/misc/guc.c:571
+#: utils/misc/guc.c:584
 msgid "Replication / Master Server"
 msgstr "Репликация / Главный сервер"
 
-#: utils/misc/guc.c:573
+#: utils/misc/guc.c:586
 msgid "Replication / Standby Servers"
 msgstr "Репликация / Резервные серверы"
 
-#: utils/misc/guc.c:575
+#: utils/misc/guc.c:588
 msgid "Query Tuning"
 msgstr "Настройка запросов"
 
-#: utils/misc/guc.c:577
+#: utils/misc/guc.c:590
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Настройка запросов / Конфигурация методов планировщика"
 
-#: utils/misc/guc.c:579
+#: utils/misc/guc.c:592
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Настройка запросов / Константы стоимости для планировщика"
 
-#: utils/misc/guc.c:581
+#: utils/misc/guc.c:594
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Настройка запросов / Генетический оптимизатор запросов"
 
-#: utils/misc/guc.c:583
+#: utils/misc/guc.c:596
 msgid "Query Tuning / Other Planner Options"
 msgstr "Настройка запросов / Другие параметры планировщика"
 
-#: utils/misc/guc.c:585
+#: utils/misc/guc.c:598
 msgid "Reporting and Logging"
 msgstr "Отчёты и протоколы"
 
-#: utils/misc/guc.c:587
+#: utils/misc/guc.c:600
 msgid "Reporting and Logging / Where to Log"
 msgstr "Отчёты и протоколы / Куда записывать"
 
-#: utils/misc/guc.c:589
+#: utils/misc/guc.c:602
 msgid "Reporting and Logging / When to Log"
 msgstr "Отчёты и протоколы / Когда записывать"
 
-#: utils/misc/guc.c:591
+#: utils/misc/guc.c:604
 msgid "Reporting and Logging / What to Log"
 msgstr "Отчёты и протоколы / Что записывать"
 
-#: utils/misc/guc.c:593
+#: utils/misc/guc.c:606
 msgid "Process Title"
 msgstr "Заголовок процесса"
 
-#: utils/misc/guc.c:595
+#: utils/misc/guc.c:608
 msgid "Statistics"
 msgstr "Статистика"
 
-#: utils/misc/guc.c:597
+#: utils/misc/guc.c:610
 msgid "Statistics / Monitoring"
 msgstr "Статистика / Мониторинг"
 
-#: utils/misc/guc.c:599
+#: utils/misc/guc.c:612
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "Статистика / Сбор статистики по запросам и индексам"
 
-#: utils/misc/guc.c:601
+#: utils/misc/guc.c:614
 msgid "Autovacuum"
 msgstr "Автоочистка"
 
-#: utils/misc/guc.c:603
+#: utils/misc/guc.c:616
 msgid "Client Connection Defaults"
 msgstr "Параметры клиентских сеансов по умолчанию"
 
-#: utils/misc/guc.c:605
+#: utils/misc/guc.c:618
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Параметры клиентских подключений по умолчанию / Поведение команд"
 
-#: utils/misc/guc.c:607
+#: utils/misc/guc.c:620
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr ""
 "Параметры клиентских подключений по умолчанию / Языковая среда и форматы"
 
-#: utils/misc/guc.c:609
+#: utils/misc/guc.c:622
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr ""
 "Параметры клиентских подключений по умолчанию / Предзагрузка разделяемых "
 "библиотек"
 
-#: utils/misc/guc.c:611
+#: utils/misc/guc.c:624
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Параметры клиентских подключений по умолчанию / Другие параметры"
 
-#: utils/misc/guc.c:613
+#: utils/misc/guc.c:626
 msgid "Lock Management"
 msgstr "Управление блокировками"
 
-#: utils/misc/guc.c:615
+#: utils/misc/guc.c:628
 msgid "Version and Platform Compatibility"
 msgstr "Совместимость с разными версиями и платформами"
 
-#: utils/misc/guc.c:617
+#: utils/misc/guc.c:630
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Версия и совместимость платформ / Предыдущие версии PostgreSQL"
 
-#: utils/misc/guc.c:619
+#: utils/misc/guc.c:632
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Версия и совместимость платформ / Другие платформы и клиенты"
 
-#: utils/misc/guc.c:621
+#: utils/misc/guc.c:634
 msgid "Error Handling"
 msgstr "Обработка ошибок"
 
-#: utils/misc/guc.c:623
+#: utils/misc/guc.c:636
 msgid "Preset Options"
 msgstr "Предопределённые параметры"
 
-#: utils/misc/guc.c:625
+#: utils/misc/guc.c:638
 msgid "Customized Options"
 msgstr "Внесистемные параметры"
 
-#: utils/misc/guc.c:627
+#: utils/misc/guc.c:640
 msgid "Developer Options"
 msgstr "Параметры для разработчиков"
 
-#: utils/misc/guc.c:684
+#: utils/misc/guc.c:697
 msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr ""
 "Допустимые единицы измерения для этого параметра - \"kB\", \"MB\", \"GB\" и "
 "\"TB\"."
 
-#: utils/misc/guc.c:711
+#: utils/misc/guc.c:724
 msgid ""
 "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr ""
 "Допустимые единицы измерения для этого параметра - \"ms\", \"s\", \"min\", "
 "\"h\" и \"d\"."
 
-#: utils/misc/guc.c:770
+#: utils/misc/guc.c:783
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr ""
 "Разрешает планировщику использовать планы последовательного сканирования."
 
-#: utils/misc/guc.c:779
+#: utils/misc/guc.c:792
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования по индексу."
 
-#: utils/misc/guc.c:788
+#: utils/misc/guc.c:801
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования только индекса."
 
-#: utils/misc/guc.c:797
+#: utils/misc/guc.c:810
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr ""
 "Разрешает планировщику использовать планы сканирования по битовой карте."
 
-#: utils/misc/guc.c:806
+#: utils/misc/guc.c:819
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Разрешает планировщику использовать планы сканирования TID."
 
-#: utils/misc/guc.c:815
+#: utils/misc/guc.c:828
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Разрешает планировщику использовать шаги с явной сортировкой."
 
-#: utils/misc/guc.c:824
+#: utils/misc/guc.c:837
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Разрешает планировщику использовать планы агрегирования по хешу."
 
-#: utils/misc/guc.c:833
+#: utils/misc/guc.c:846
 msgid "Enables the planner's use of materialization."
 msgstr "Разрешает планировщику использовать материализацию."
 
-#: utils/misc/guc.c:842
+#: utils/misc/guc.c:855
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr ""
 "Разрешает планировщику использовать планы соединения с вложенными циклами."
 
-#: utils/misc/guc.c:851
+#: utils/misc/guc.c:864
 msgid "Enables the planner's use of merge join plans."
 msgstr "Разрешает планировщику использовать планы соединения слиянием."
 
-#: utils/misc/guc.c:860
+#: utils/misc/guc.c:873
 msgid "Enables the planner's use of hash join plans."
 msgstr "Разрешает планировщику использовать планы соединения по хешу."
 
-#: utils/misc/guc.c:869
+#: utils/misc/guc.c:883
 msgid "Enables genetic query optimization."
 msgstr "Включает генетическую оптимизацию запросов."
 
-#: utils/misc/guc.c:870
+#: utils/misc/guc.c:884
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Этот алгоритм пытается построить план без полного перебора."
 
-#: utils/misc/guc.c:880
+#: utils/misc/guc.c:894
 msgid "Shows whether the current user is a superuser."
 msgstr "Показывает, является ли текущий пользователь суперпользователем."
 
-#: utils/misc/guc.c:890
+#: utils/misc/guc.c:904
 msgid "Enables advertising the server via Bonjour."
 msgstr "Включает объявление сервера посредством Bonjour."
 
-#: utils/misc/guc.c:899
+#: utils/misc/guc.c:913
 msgid "Collects transaction commit time."
 msgstr "Записывает время фиксации транзакций."
 
-#: utils/misc/guc.c:908
+#: utils/misc/guc.c:922
 msgid "Enables SSL connections."
 msgstr "Разрешает SSL-подключения."
 
-#: utils/misc/guc.c:917
+#: utils/misc/guc.c:931
 msgid "Give priority to server ciphersuite order."
 msgstr "Назначает более приоритетным набор шифров сервера."
 
-#: utils/misc/guc.c:926
+#: utils/misc/guc.c:940
 msgid "Forces synchronization of updates to disk."
 msgstr "Принудительная запись изменений на диск."
 
-#: utils/misc/guc.c:927
+#: utils/misc/guc.c:941
 msgid ""
 "The server will use the fsync() system call in several places to make sure "
 "that updates are physically written to disk. This insures that a database "
@@ -22341,11 +23177,11 @@ msgstr ""
 "физической записи данных на диск. Это позволит привести кластер БД в "
 "целостное состояние после отказа ОС или оборудования."
 
-#: utils/misc/guc.c:938
+#: utils/misc/guc.c:952
 msgid "Continues processing after a checksum failure."
 msgstr "Продолжает обработку при ошибке контрольной суммы."
 
-#: utils/misc/guc.c:939
+#: utils/misc/guc.c:953
 msgid ""
 "Detection of a checksum failure normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting ignore_checksum_failure to "
@@ -22359,11 +23195,11 @@ msgstr ""
 "что может привести к сбоям или другим серьёзным проблемам. Это имеет место, "
 "только если включён контроль целостности страниц."
 
-#: utils/misc/guc.c:953
+#: utils/misc/guc.c:967
 msgid "Continues processing past damaged page headers."
 msgstr "Продолжает обработку при повреждении заголовков страниц."
 
-#: utils/misc/guc.c:954
+#: utils/misc/guc.c:968
 msgid ""
 "Detection of a damaged page header normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting zero_damaged_pages to true "
@@ -22377,12 +23213,12 @@ msgstr ""
 "продолжит работу. Это приведёт к потере данных, а именно строк в "
 "повреждённой странице."
 
-#: utils/misc/guc.c:967
+#: utils/misc/guc.c:981
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr ""
 "Запись полных страниц в WAL при первом изменении после контрольной точки."
 
-#: utils/misc/guc.c:968
+#: utils/misc/guc.c:982
 msgid ""
 "A page write in process during an operating system crash might be only "
 "partially written to disk.  During recovery, the row changes stored in WAL "
@@ -22395,7 +23231,7 @@ msgstr ""
 "при первом изменении после контрольной точки, что позволяет полностью "
 "восстановить данные."
 
-#: utils/misc/guc.c:981
+#: utils/misc/guc.c:995
 msgid ""
 "Writes full pages to WAL when first modified after a checkpoint, even for a "
 "non-critical modifications."
@@ -22403,75 +23239,75 @@ msgstr ""
 "Запись полных страниц в WAL при первом изменении после контрольной точки, "
 "даже при некритических изменениях."
 
-#: utils/misc/guc.c:991
+#: utils/misc/guc.c:1005
 msgid "Compresses full-page writes written in WAL file."
 msgstr "Сжимать данные при записи полных страниц в журнал."
 
-#: utils/misc/guc.c:1001
+#: utils/misc/guc.c:1015
 msgid "Logs each checkpoint."
 msgstr "Протоколировать каждую контрольную точку."
 
-#: utils/misc/guc.c:1010
+#: utils/misc/guc.c:1024
 msgid "Logs each successful connection."
 msgstr "Протоколировать устанавливаемые соединения."
 
-#: utils/misc/guc.c:1019
+#: utils/misc/guc.c:1033
 msgid "Logs end of a session, including duration."
 msgstr "Протоколировать конец сеанса, отмечая длительность."
 
-#: utils/misc/guc.c:1028
+#: utils/misc/guc.c:1042
 msgid "Logs each replication command."
 msgstr "Протоколировать каждую команду репликации."
 
-#: utils/misc/guc.c:1037
+#: utils/misc/guc.c:1051
 msgid "Shows whether the running server has assertion checks enabled."
 msgstr "Показывает, включены ли проверки истинности на работающем сервере."
 
-#: utils/misc/guc.c:1052
+#: utils/misc/guc.c:1066
 msgid "Terminate session on any error."
 msgstr "Завершать сеансы при любой ошибке."
 
-#: utils/misc/guc.c:1061
+#: utils/misc/guc.c:1075
 msgid "Reinitialize server after backend crash."
 msgstr "Перезапускать систему БД при аварии серверного процесса."
 
-#: utils/misc/guc.c:1071
+#: utils/misc/guc.c:1085
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Протоколировать длительность каждого выполненного SQL-оператора."
 
-#: utils/misc/guc.c:1080
+#: utils/misc/guc.c:1094
 msgid "Logs each query's parse tree."
 msgstr "Протоколировать дерево разбора для каждого запроса."
 
-#: utils/misc/guc.c:1089
+#: utils/misc/guc.c:1103
 msgid "Logs each query's rewritten parse tree."
 msgstr "Протоколировать перезаписанное дерево разбора для каждого запроса."
 
-#: utils/misc/guc.c:1098
+#: utils/misc/guc.c:1112
 msgid "Logs each query's execution plan."
 msgstr "Протоколировать план выполнения каждого запроса."
 
-#: utils/misc/guc.c:1107
+#: utils/misc/guc.c:1121
 msgid "Indents parse and plan tree displays."
 msgstr "Отступы при отображении деревьев разбора и плана запросов."
 
-#: utils/misc/guc.c:1116
+#: utils/misc/guc.c:1130
 msgid "Writes parser performance statistics to the server log."
 msgstr "Запись статистики разбора запросов в протокол сервера."
 
-#: utils/misc/guc.c:1125
+#: utils/misc/guc.c:1139
 msgid "Writes planner performance statistics to the server log."
 msgstr "Запись статистики планирования в протокол сервера."
 
-#: utils/misc/guc.c:1134
+#: utils/misc/guc.c:1148
 msgid "Writes executor performance statistics to the server log."
 msgstr "Запись статистики выполнения запросов в протокол сервера."
 
-#: utils/misc/guc.c:1143
+#: utils/misc/guc.c:1157
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Запись общей статистики производительности в протокол сервера."
 
-#: utils/misc/guc.c:1153
+#: utils/misc/guc.c:1167
 msgid ""
 "Logs system resource usage statistics (memory and CPU) on various B-tree "
 "operations."
@@ -22479,11 +23315,11 @@ msgstr ""
 "Фиксировать статистику использования системных ресурсов (памяти и "
 "процессора) при различных операциях с b-деревом."
 
-#: utils/misc/guc.c:1165
+#: utils/misc/guc.c:1179
 msgid "Collects information about executing commands."
 msgstr "Собирает информацию о выполняющихся командах."
 
-#: utils/misc/guc.c:1166
+#: utils/misc/guc.c:1180
 msgid ""
 "Enables the collection of information on the currently executing command of "
 "each session, along with the time at which that command began execution."
@@ -22491,60 +23327,60 @@ msgstr ""
 "Включает сбор информации о командах, выполняющихся во всех сеансах, а также "
 "время запуска команды."
 
-#: utils/misc/guc.c:1176
+#: utils/misc/guc.c:1190
 msgid "Collects statistics on database activity."
 msgstr "Собирает статистику активности в БД."
 
-#: utils/misc/guc.c:1185
+#: utils/misc/guc.c:1199
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Собирает статистику по времени активности ввода/вывода."
 
-#: utils/misc/guc.c:1195
+#: utils/misc/guc.c:1209
 msgid "Updates the process title to show the active SQL command."
 msgstr "Выводит в заголовок процесса активную SQL-команду."
 
-#: utils/misc/guc.c:1196
+#: utils/misc/guc.c:1210
 msgid ""
 "Enables updating of the process title every time a new SQL command is "
 "received by the server."
 msgstr "Отражает в заголовке процесса каждую SQL-команду, поступающую серверу."
 
-#: utils/misc/guc.c:1205
+#: utils/misc/guc.c:1219
 msgid "Starts the autovacuum subprocess."
 msgstr "Запускает подпроцесс автоочистки."
 
-#: utils/misc/guc.c:1215
+#: utils/misc/guc.c:1229
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Генерирует отладочные сообщения для LISTEN и NOTIFY."
 
-#: utils/misc/guc.c:1227
+#: utils/misc/guc.c:1241
 msgid "Emits information about lock usage."
 msgstr "Выдавать информацию о применяемых блокировках."
 
-#: utils/misc/guc.c:1237
+#: utils/misc/guc.c:1251
 msgid "Emits information about user lock usage."
 msgstr "Выдавать информацию о применяемых пользовательских блокировках."
 
-#: utils/misc/guc.c:1247
+#: utils/misc/guc.c:1261
 msgid "Emits information about lightweight lock usage."
 msgstr "Выдавать информацию о применяемых лёгких блокировках."
 
-#: utils/misc/guc.c:1257
+#: utils/misc/guc.c:1271
 msgid ""
 "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr ""
 "Выводить информацию обо всех текущих блокировках в случае таймаута при "
 "взаимоблокировке."
 
-#: utils/misc/guc.c:1269
+#: utils/misc/guc.c:1283
 msgid "Logs long lock waits."
 msgstr "Протоколировать длительные ожидания в блокировках."
 
-#: utils/misc/guc.c:1279
+#: utils/misc/guc.c:1293
 msgid "Logs the host name in the connection logs."
 msgstr "Записывать имя узла в протоколы подключений."
 
-#: utils/misc/guc.c:1280
+#: utils/misc/guc.c:1294
 msgid ""
 "By default, connection logs only show the IP address of the connecting host. "
 "If you want them to show the host name you can turn this on, but depending "
@@ -22556,15 +23392,15 @@ msgstr ""
 "параметр, но учтите, что это может значительно повлиять на "
 "производительность."
 
-#: utils/misc/guc.c:1291
+#: utils/misc/guc.c:1305
 msgid "Causes subtables to be included by default in various commands."
 msgstr "Выбирает режим включения подчинённых таблиц по умолчанию."
 
-#: utils/misc/guc.c:1300
+#: utils/misc/guc.c:1314
 msgid "Encrypt passwords."
 msgstr "Шифровать пароли."
 
-#: utils/misc/guc.c:1301
+#: utils/misc/guc.c:1315
 msgid ""
 "When a password is specified in CREATE USER or ALTER USER without writing "
 "either ENCRYPTED or UNENCRYPTED, this parameter determines whether the "
@@ -22573,11 +23409,11 @@ msgstr ""
 "Этот параметр определяет, нужно ли шифровать пароли, заданные в CREATE USER "
 "или ALTER USER без указания ENCRYPTED или UNENCRYPTED."
 
-#: utils/misc/guc.c:1311
+#: utils/misc/guc.c:1325
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Обрабатывать \"expr=NULL\" как \"expr IS NULL\"."
 
-#: utils/misc/guc.c:1312
+#: utils/misc/guc.c:1326
 msgid ""
 "When turned on, expressions of the form expr = NULL (or NULL = expr) are "
 "treated as expr IS NULL, that is, they return true if expr evaluates to the "
@@ -22589,25 +23425,25 @@ msgstr ""
 "совпадает с NULL, и false в противном случае. По правилам expr = NULL всегда "
 "должно возвращать null (неопределённость)."
 
-#: utils/misc/guc.c:1324
+#: utils/misc/guc.c:1338
 msgid "Enables per-database user names."
 msgstr "Включает связывание имён пользователей с базами данных."
 
-#: utils/misc/guc.c:1333
+#: utils/misc/guc.c:1347
 msgid "Sets the default read-only status of new transactions."
 msgstr ""
 "Устанавливает режим \"только чтение\" по умолчанию для новых транзакций."
 
-#: utils/misc/guc.c:1342
+#: utils/misc/guc.c:1356
 msgid "Sets the current transaction's read-only status."
 msgstr "Устанавливает режим \"только чтение\" для текущей транзакции."
 
-#: utils/misc/guc.c:1352
+#: utils/misc/guc.c:1366
 msgid "Sets the default deferrable status of new transactions."
 msgstr ""
 "Устанавливает режим отложенного выполнения по умолчанию для новых транзакций."
 
-#: utils/misc/guc.c:1361
+#: utils/misc/guc.c:1375
 msgid ""
 "Whether to defer a read-only serializable transaction until it can be "
 "executed with no possible serialization failures."
@@ -22615,25 +23451,25 @@ msgstr ""
 "Определяет, откладывать ли сериализуемую транзакцию \"только чтение\" до "
 "момента, когда сбой сериализации будет исключён."
 
-#: utils/misc/guc.c:1371
+#: utils/misc/guc.c:1385
 msgid "Enable row security."
 msgstr "Включает защиту на уровне строк."
 
-#: utils/misc/guc.c:1372
+#: utils/misc/guc.c:1386
 msgid "When enabled, row security will be applied to all users."
 msgstr ""
 "Когда включена, защита на уровне строк распространяется на всех "
 "пользователей."
 
-#: utils/misc/guc.c:1380
+#: utils/misc/guc.c:1394
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "Проверять тело функций в момент CREATE FUNCTION."
 
-#: utils/misc/guc.c:1389
+#: utils/misc/guc.c:1403
 msgid "Enable input of NULL elements in arrays."
 msgstr "Разрешать ввод элементов NULL в массивах."
 
-#: utils/misc/guc.c:1390
+#: utils/misc/guc.c:1404
 msgid ""
 "When turned on, unquoted NULL in an array input value means a null value; "
 "otherwise it is taken literally."
@@ -22641,68 +23477,68 @@ msgstr ""
 "Когда этот параметр включен, NULL без кавычек при вводе в массив "
 "воспринимается как значение NULL, иначе - как строка."
 
-#: utils/misc/guc.c:1400
+#: utils/misc/guc.c:1414
 msgid "Create new tables with OIDs by default."
 msgstr "По умолчанию создавать новые таблицы со столбцом OID."
 
-#: utils/misc/guc.c:1409
+#: utils/misc/guc.c:1423
 msgid ""
 "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr ""
 "Запускает подпроцесс для чтения stderr и/или csv-файлов и записи в файлы "
 "протоколов."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1432
 msgid "Truncate existing log files of same name during log rotation."
 msgstr ""
 "Очищать уже существующий файл с тем же именем при прокручивании протокола."
 
-#: utils/misc/guc.c:1429
+#: utils/misc/guc.c:1443
 msgid "Emit information about resource usage in sorting."
 msgstr "Выдавать сведения об использовании ресурсов при сортировке."
 
-#: utils/misc/guc.c:1443
+#: utils/misc/guc.c:1457
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Выдавать отладочные сообщения для синхронного сканирования."
 
-#: utils/misc/guc.c:1458
+#: utils/misc/guc.c:1472
 msgid "Enable bounded sorting using heap sort."
 msgstr ""
 "Разрешить ограниченную сортировку с применением пирамидальной сортировки."
 
-#: utils/misc/guc.c:1471
+#: utils/misc/guc.c:1485
 msgid "Emit WAL-related debugging output."
 msgstr "Выдавать отладочные сообщения, связанные с WAL."
 
-#: utils/misc/guc.c:1483
+#: utils/misc/guc.c:1497
 msgid "Datetimes are integer based."
 msgstr "Целочисленная реализация даты/времени."
 
-#: utils/misc/guc.c:1498
+#: utils/misc/guc.c:1512
 msgid ""
 "Sets whether Kerberos and GSSAPI user names should be treated as case-"
 "insensitive."
 msgstr ""
 "Включает регистро-независимую обработку имён пользователей Kerberos и GSSAPI."
 
-#: utils/misc/guc.c:1508
+#: utils/misc/guc.c:1522
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Предупреждения о спецсимволах '\\' в обычных строках."
 
-#: utils/misc/guc.c:1518
+#: utils/misc/guc.c:1532
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Включает буквальную обработку символов '\\' в строках '...'."
 
-#: utils/misc/guc.c:1529
+#: utils/misc/guc.c:1543
 msgid "Enable synchronized sequential scans."
 msgstr "Включить синхронизацию последовательного сканирования."
 
-#: utils/misc/guc.c:1539
+#: utils/misc/guc.c:1553
 msgid "Allows connections and queries during recovery."
 msgstr ""
 "Разрешает принимать новые подключения и запросы в процессе восстановления."
 
-#: utils/misc/guc.c:1549
+#: utils/misc/guc.c:1563
 msgid ""
 "Allows feedback from a hot standby to the primary that will avoid query "
 "conflicts."
@@ -22710,15 +23546,15 @@ msgstr ""
 "Разрешает обратную связь сервера горячего резерва с основным для "
 "предотвращения конфликтов при длительных запросах."
 
-#: utils/misc/guc.c:1559
+#: utils/misc/guc.c:1573
 msgid "Allows modifications of the structure of system tables."
 msgstr "Разрешает модифицировать структуру системных таблиц."
 
-#: utils/misc/guc.c:1570
+#: utils/misc/guc.c:1584
 msgid "Disables reading from system indexes."
 msgstr "Запрещает использование системных индексов."
 
-#: utils/misc/guc.c:1571
+#: utils/misc/guc.c:1585
 msgid ""
 "It does not prevent updating the indexes, so it is safe to use.  The worst "
 "consequence is slowness."
@@ -22726,14 +23562,14 @@ msgstr ""
 "При этом индексы продолжают обновляться, так что данное поведение безопасно. "
 "Худшее следствие - замедление."
 
-#: utils/misc/guc.c:1582
+#: utils/misc/guc.c:1596
 msgid ""
 "Enables backward compatibility mode for privilege checks on large objects."
 msgstr ""
 "Включает режим обратной совместимости при проверке привилегий для больших "
 "объектов."
 
-#: utils/misc/guc.c:1583
+#: utils/misc/guc.c:1597
 msgid ""
 "Skips privilege checks when reading or modifying large objects, for "
 "compatibility with PostgreSQL releases prior to 9.0."
@@ -22741,23 +23577,35 @@ msgstr ""
 "Пропускает проверки привилегий при чтении или изменении больших объектов "
 "(для совместимости с версиями PostgreSQL до 9.0)."
 
-#: utils/misc/guc.c:1593
+#: utils/misc/guc.c:1607
 msgid ""
 "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
 msgstr ""
 "Выдаёт предупреждение о конструкциях, поведение которых изменилось после "
 "PostgreSQL 9.4."
 
-#: utils/misc/guc.c:1603
+#: utils/misc/guc.c:1617
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr ""
 "Генерируя SQL-фрагменты, заключать все идентификаторы в двойные кавычки."
 
-#: utils/misc/guc.c:1613
+#: utils/misc/guc.c:1627
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Показывает, включён ли в этом кластере контроль целостности данных."
 
-#: utils/misc/guc.c:1633
+#: utils/misc/guc.c:1638
+msgid "Add sequence number to syslog messages to avoid duplicate suppression."
+msgstr ""
+"Добавлять последовательный номер в сообщения syslog во избежание подавления "
+"повторов."
+
+#: utils/misc/guc.c:1648
+msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
+msgstr ""
+"Разбивать сообщения, передаваемые в syslog, по строкам размером не больше "
+"1024 байт."
+
+#: utils/misc/guc.c:1667
 msgid ""
 "Forces a switch to the next xlog file if a new file has not been started "
 "within N seconds."
@@ -22765,19 +23613,19 @@ msgstr ""
 "Принудительно переключаться на следующий файл xlog, если начать новый файл "
 "за N секунд не удалось."
 
-#: utils/misc/guc.c:1644
+#: utils/misc/guc.c:1678
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "Ждать N секунд при подключении после проверки подлинности."
 
-#: utils/misc/guc.c:1645 utils/misc/guc.c:2147
+#: utils/misc/guc.c:1679 utils/misc/guc.c:2202
 msgid "This allows attaching a debugger to the process."
 msgstr "Это позволяет подключить к процессу отладчик."
 
-#: utils/misc/guc.c:1654
+#: utils/misc/guc.c:1688
 msgid "Sets the default statistics target."
 msgstr "Устанавливает целевое ограничение статистики по умолчанию."
 
-#: utils/misc/guc.c:1655
+#: utils/misc/guc.c:1689
 msgid ""
 "This applies to table columns that have not had a column-specific target set "
 "via ALTER TABLE SET STATISTICS."
@@ -22785,13 +23633,13 @@ msgstr ""
 "Это значение распространяется на столбцы таблицы, для которых целевое "
 "ограничение не задано явно через ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc.c:1664
+#: utils/misc/guc.c:1698
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого подзапросы не "
 "сворачиваются."
 
-#: utils/misc/guc.c:1666
+#: utils/misc/guc.c:1700
 msgid ""
 "The planner will merge subqueries into upper queries if the resulting FROM "
 "list would have no more than this many items."
@@ -22799,13 +23647,13 @@ msgstr ""
 "Планировщик объединит вложенные запросы с внешними, если в полученном списке "
 "FROM будет не больше заданного числа элементов."
 
-#: utils/misc/guc.c:1676
+#: utils/misc/guc.c:1710
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого конструкции JOIN "
 "сохраняются."
 
-#: utils/misc/guc.c:1678
+#: utils/misc/guc.c:1712
 msgid ""
 "The planner will flatten explicit JOIN constructs into lists of FROM items "
 "whenever a list of no more than this many items would result."
@@ -22813,34 +23661,34 @@ msgstr ""
 "Планировщик будет сносить явные конструкции JOIN в списки FROM, пока в "
 "результирующем списке не больше заданного числа элементов."
 
-#: utils/misc/guc.c:1688
+#: utils/misc/guc.c:1722
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr ""
 "Задаёт предел для списка FROM, при превышении которого применяется GEQO."
 
-#: utils/misc/guc.c:1697
+#: utils/misc/guc.c:1731
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr ""
 "GEQO: оценка усилий для планирования, задающая значения по умолчанию для "
 "других параметров GEQO."
 
-#: utils/misc/guc.c:1706
+#: utils/misc/guc.c:1740
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: число особей в популяции."
 
-#: utils/misc/guc.c:1707 utils/misc/guc.c:1716
+#: utils/misc/guc.c:1741 utils/misc/guc.c:1750
 msgid "Zero selects a suitable default value."
 msgstr "При нуле выбирается подходящее значение по умолчанию."
 
-#: utils/misc/guc.c:1715
+#: utils/misc/guc.c:1749
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: число итераций алгоритма."
 
-#: utils/misc/guc.c:1726
+#: utils/misc/guc.c:1760
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Задаёт интервал ожидания в блокировке до проверки на взаимоблокировку."
 
-#: utils/misc/guc.c:1737
+#: utils/misc/guc.c:1771
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing archived WAL data."
@@ -22848,7 +23696,7 @@ msgstr ""
 "Задаёт максимальную задержку до отмены запроса, когда сервер горячего "
 "резерва обрабатывает данные WAL из архива."
 
-#: utils/misc/guc.c:1748
+#: utils/misc/guc.c:1782
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing streamed WAL data."
@@ -22856,42 +23704,42 @@ msgstr ""
 "Задаёт максимальную задержку до отмены запроса, когда сервер горячего "
 "резерва обрабатывает данные WAL из потока."
 
-#: utils/misc/guc.c:1759
+#: utils/misc/guc.c:1793
 msgid ""
 "Sets the maximum interval between WAL receiver status reports to the primary."
 msgstr "Задаёт максимальный интервал для отчётов о состоянии получателей WAL."
 
-#: utils/misc/guc.c:1770
+#: utils/misc/guc.c:1804
 msgid "Sets the maximum wait time to receive data from the primary."
 msgstr ""
 "Задаёт предельное время ожидания для получения данных с главного сервера."
 
-#: utils/misc/guc.c:1781
+#: utils/misc/guc.c:1815
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Задаёт максимально возможное число подключений."
 
-#: utils/misc/guc.c:1791
+#: utils/misc/guc.c:1825
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr ""
 "Определяет, сколько слотов подключений забронировано для суперпользователей."
 
-#: utils/misc/guc.c:1805
+#: utils/misc/guc.c:1839
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Задаёт количество буферов в разделяемой памяти, используемых сервером."
 
-#: utils/misc/guc.c:1816
+#: utils/misc/guc.c:1850
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Задаёт предельное число временных буферов на один сеанс."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1861
 msgid "Sets the TCP port the server listens on."
 msgstr "Задаёт TCP-порт для работы сервера."
 
-#: utils/misc/guc.c:1837
+#: utils/misc/guc.c:1871
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Задаёт права доступа для доменного сокета Unix."
 
-#: utils/misc/guc.c:1838
+#: utils/misc/guc.c:1872
 msgid ""
 "Unix-domain sockets use the usual Unix file system permission set. The "
 "parameter value is expected to be a numeric mode specification in the form "
@@ -22903,11 +23751,11 @@ msgstr ""
 "воспринимаемом системными функциями chmod и umask. (Чтобы использовать "
 "привычный восьмеричный формат, добавьте в начало ноль (0).)"
 
-#: utils/misc/guc.c:1852
+#: utils/misc/guc.c:1886
 msgid "Sets the file permissions for log files."
 msgstr "Задаёт права доступа к файлам протоколов."
 
-#: utils/misc/guc.c:1853
+#: utils/misc/guc.c:1887
 msgid ""
 "The parameter value is expected to be a numeric mode specification in the "
 "form accepted by the chmod and umask system calls. (To use the customary "
@@ -22917,11 +23765,11 @@ msgstr ""
 "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, "
 "добавьте в начало ноль (0).) "
 
-#: utils/misc/guc.c:1866
+#: utils/misc/guc.c:1900
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Задаёт предельный объём памяти для рабочих пространств запросов."
 
-#: utils/misc/guc.c:1867
+#: utils/misc/guc.c:1901
 msgid ""
 "This much memory can be used by each internal sort operation and hash table "
 "before switching to temporary disk files."
@@ -22929,116 +23777,131 @@ msgstr ""
 "Такой объём памяти может использоваться каждой внутренней операцией "
 "сортировки и таблицей хешей до переключения на временные файлы на диске."
 
-#: utils/misc/guc.c:1879
+#: utils/misc/guc.c:1913
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Задаёт предельный объём памяти для операций по обслуживанию."
 
-#: utils/misc/guc.c:1880
+#: utils/misc/guc.c:1914
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Подразумеваются в частности операции VACUUM и CREATE INDEX."
 
-#: utils/misc/guc.c:1895
+#: utils/misc/guc.c:1924
+msgid ""
+"Sets the maximum number of tuples to be sorted using replacement selection."
+msgstr ""
+"Задаёт предельное число кортежей, сортируемое посредством алгоритма выбора с "
+"замещением."
+
+#: utils/misc/guc.c:1925
+msgid "When more tuples than this are present, quicksort will be used."
+msgstr "Когда кортежей больше этого количества, будет применяться quicksort."
+
+#: utils/misc/guc.c:1939
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Задаёт максимальную глубину стека (в КБ)."
 
-#: utils/misc/guc.c:1906
+#: utils/misc/guc.c:1950
 msgid "Limits the total size of all temporary files used by each session."
 msgstr ""
 "Ограничивает общий размер всех временных файлов, доступный для каждого "
 "сеанса."
 
-#: utils/misc/guc.c:1907
+#: utils/misc/guc.c:1951
 msgid "-1 means no limit."
 msgstr "-1 отключает ограничение."
 
-#: utils/misc/guc.c:1917
+#: utils/misc/guc.c:1961
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Стоимость очистки для страницы, найденной в кеше."
 
-#: utils/misc/guc.c:1927
+#: utils/misc/guc.c:1971
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Стоимость очистки для страницы, не найденной в кеше."
 
-#: utils/misc/guc.c:1937
+#: utils/misc/guc.c:1981
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Стоимость очистки для страницы, которая не была \"грязной\"."
 
-#: utils/misc/guc.c:1947
+#: utils/misc/guc.c:1991
 msgid "Vacuum cost amount available before napping."
 msgstr "Суммарная стоимость очистки, при которой нужна передышка."
 
-#: utils/misc/guc.c:1957
+#: utils/misc/guc.c:2001
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Задержка очистки (в миллисекундах)."
 
-#: utils/misc/guc.c:1968
+#: utils/misc/guc.c:2012
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Задержка очистки для автоочистки (в миллисекундах)."
 
-#: utils/misc/guc.c:1979
+#: utils/misc/guc.c:2023
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr ""
 "Суммарная стоимость очистки, при которой нужна передышка, для автоочистки."
 
-#: utils/misc/guc.c:1989
+#: utils/misc/guc.c:2033
 msgid ""
 "Sets the maximum number of simultaneously open files for each server process."
 msgstr ""
 "Задаёт предельное число одновременно открытых файлов для каждого серверного "
 "процесса."
 
-#: utils/misc/guc.c:2002
+#: utils/misc/guc.c:2046
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Задаёт предельное число одновременно подготовленных транзакций."
 
-#: utils/misc/guc.c:2013
+#: utils/misc/guc.c:2057
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Задаёт минимальный OID таблиц, для которых отслеживаются блокировки."
 
-#: utils/misc/guc.c:2014
+#: utils/misc/guc.c:2058
 msgid "Is used to avoid output on system tables."
 msgstr "Применяется для игнорирования системных таблиц."
 
-#: utils/misc/guc.c:2023
+#: utils/misc/guc.c:2067
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Задаёт OID таблицы для безусловного отслеживания блокировок."
 
-#: utils/misc/guc.c:2035
+#: utils/misc/guc.c:2079
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Задаёт предельную длительность для любого оператора."
 
-#: utils/misc/guc.c:2036 utils/misc/guc.c:2047
+#: utils/misc/guc.c:2080 utils/misc/guc.c:2091 utils/misc/guc.c:2102
 msgid "A value of 0 turns off the timeout."
 msgstr "Нулевое значение отключает таймаут."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2090
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Задаёт максимальную продолжительность ожидания блокировок."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2101
+msgid "Sets the maximum allowed duration of any idling transaction."
+msgstr "Задаёт предельно допустимую длительность для простаивающих транзакций."
+
+#: utils/misc/guc.c:2112
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr ""
 "Минимальный возраст строк таблицы, при котором VACUUM может их заморозить."
 
-#: utils/misc/guc.c:2067
+#: utils/misc/guc.c:2122
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Возраст, при котором VACUUM должен сканировать всю таблицу с целью "
 "заморозить кортежи."
 
-#: utils/misc/guc.c:2077
+#: utils/misc/guc.c:2132
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr ""
 "Минимальный возраст, при котором VACUUM будет замораживать MultiXactId в "
 "строке таблицы."
 
-#: utils/misc/guc.c:2087
+#: utils/misc/guc.c:2142
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Возраст multixact, при котором VACUUM должен сканировать всю таблицу с целью "
 "заморозить кортежи."
 
-#: utils/misc/guc.c:2097
+#: utils/misc/guc.c:2152
 msgid ""
 "Number of transactions by which VACUUM and HOT cleanup should be deferred, "
 "if any."
@@ -23046,11 +23909,11 @@ msgstr ""
 "Определяет, на сколько транзакций следует задержать старые строки, выполняя "
 "VACUUM или \"горячее\" обновление."
 
-#: utils/misc/guc.c:2110
+#: utils/misc/guc.c:2165
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Задаёт предельное число блокировок на транзакцию."
 
-#: utils/misc/guc.c:2111
+#: utils/misc/guc.c:2166
 msgid ""
 "The shared lock table is sized on the assumption that at most "
 "max_locks_per_transaction * max_connections distinct objects will need to be "
@@ -23060,11 +23923,11 @@ msgstr ""
 "один момент времени потребуется заблокировать не больше чем "
 "max_locks_per_transaction * max_connections различных объектов."
 
-#: utils/misc/guc.c:2122
+#: utils/misc/guc.c:2177
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Задаёт предельное число предикатных блокировок на транзакцию."
 
-#: utils/misc/guc.c:2123
+#: utils/misc/guc.c:2178
 msgid ""
 "The shared predicate lock table is sized on the assumption that at most "
 "max_pred_locks_per_transaction * max_connections distinct objects will need "
@@ -23074,39 +23937,39 @@ msgstr ""
 "предположения, что в один момент времени потребуется заблокировать не больше "
 "чем max_pred_locks_per_transaction * max_connections различных объектов."
 
-#: utils/misc/guc.c:2134
+#: utils/misc/guc.c:2189
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Ограничивает время, за которое клиент должен пройти аутентификацию."
 
-#: utils/misc/guc.c:2146
+#: utils/misc/guc.c:2201
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "Ждать N секунд при подключении до проверки подлинности."
 
-#: utils/misc/guc.c:2157
+#: utils/misc/guc.c:2212
 msgid "Sets the number of WAL files held for standby servers."
 msgstr "Определяет, сколько файлов WAL нужно сохранять для резервных серверов."
 
-#: utils/misc/guc.c:2167
+#: utils/misc/guc.c:2222
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "Задаёт минимальный размер WAL при сжатии."
 
-#: utils/misc/guc.c:2178
+#: utils/misc/guc.c:2233
 msgid "Sets the WAL size that triggers a checkpoint."
 msgstr "Задаёт размер WAL, при котором инициируется контрольная точка."
 
-#: utils/misc/guc.c:2189
+#: utils/misc/guc.c:2244
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr ""
 "Задаёт максимальное время между автоматическими контрольными точками WAL."
 
-#: utils/misc/guc.c:2200
+#: utils/misc/guc.c:2255
 msgid ""
 "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr ""
 "Выдаёт предупреждения, когда сегменты контрольных точек заполняются за это "
 "время."
 
-#: utils/misc/guc.c:2202
+#: utils/misc/guc.c:2257
 msgid ""
 "Write a message to the server log if checkpoints caused by the filling of "
 "checkpoint segment files happens more frequently than this number of "
@@ -23116,28 +23979,41 @@ msgstr ""
 "переполнением файлов сегментов, происходят за столько секунд. Нулевое "
 "значение отключает эти предупреждения."
 
-#: utils/misc/guc.c:2214
+#: utils/misc/guc.c:2269 utils/misc/guc.c:2427 utils/misc/guc.c:2455
+msgid ""
+"Number of pages after which previously performed writes are flushed to disk."
+msgstr ""
+"Число страниц, по достижении которого ранее выполненные операции записи "
+"сбрасываются на диск."
+
+#: utils/misc/guc.c:2281
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Задаёт число буферов дисковых страниц в разделяемой памяти для WAL."
 
-#: utils/misc/guc.c:2225
-msgid "WAL writer sleep time between WAL flushes."
-msgstr "Время простоя в процессе записи WAL после сброса буферов на диск."
+#: utils/misc/guc.c:2292
+msgid "Time between WAL flushes performed in the WAL writer."
+msgstr "Задержка между сбросом WAL в процессе, записывающем WAL."
+
+#: utils/misc/guc.c:2303
+msgid "Amount of WAL written out by WAL writer triggering a flush."
+msgstr ""
+"Объём WAL, обработанный пишущим WAL процессом, при котором инициируется "
+"сброс журнала на диск."
 
-#: utils/misc/guc.c:2237
+#: utils/misc/guc.c:2315
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr ""
 "Задаёт предельное число одновременно работающих процессов передачи WAL."
 
-#: utils/misc/guc.c:2248
+#: utils/misc/guc.c:2326
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Задаёт предельное число одновременно существующих слотов репликации."
 
-#: utils/misc/guc.c:2258
+#: utils/misc/guc.c:2336
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Задаёт предельное время ожидания репликации WAL."
 
-#: utils/misc/guc.c:2269
+#: utils/misc/guc.c:2347
 msgid ""
 "Sets the delay in microseconds between transaction commit and flushing WAL "
 "to disk."
@@ -23145,18 +24021,18 @@ msgstr ""
 "Задаёт задержку в микросекундах между фиксированием транзакций и сбросом WAL "
 "на диск."
 
-#: utils/misc/guc.c:2281
+#: utils/misc/guc.c:2359
 msgid ""
 "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr ""
 "Задаёт минимальное число одновременно открытых транзакций для применения "
 "commit_delay."
 
-#: utils/misc/guc.c:2292
+#: utils/misc/guc.c:2370
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Задаёт число выводимых цифр для чисел с плавающей точкой."
 
-#: utils/misc/guc.c:2293
+#: utils/misc/guc.c:2371
 msgid ""
 "This affects real, double precision, and geometric data types. The parameter "
 "value is added to the standard number of digits (FLT_DIG or DBL_DIG as "
@@ -23165,17 +24041,17 @@ msgstr ""
 "Этот параметр относится к типам real, double и geometric. Значение параметра "
 "добавляется к стандартному числу цифр (FLT_DIG или DBL_DIG)."
 
-#: utils/misc/guc.c:2304
+#: utils/misc/guc.c:2382
 msgid "Sets the minimum execution time above which statements will be logged."
 msgstr ""
 "Задаёт предельное время выполнения оператора, при превышении которого он "
 "фиксируется в протоколе."
 
-#: utils/misc/guc.c:2306
+#: utils/misc/guc.c:2384
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "При 0 протоколируются все запросы; -1 отключает эти сообщения."
 
-#: utils/misc/guc.c:2316
+#: utils/misc/guc.c:2394
 msgid ""
 "Sets the minimum execution time above which autovacuum actions will be "
 "logged."
@@ -23183,22 +24059,22 @@ msgstr ""
 "Задаёт предельное время выполнения автоочистки, при превышении которого эта "
 "операция фиксируется в протоколе."
 
-#: utils/misc/guc.c:2318
+#: utils/misc/guc.c:2396
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr ""
 "При 0 протоколируются все операции автоочистки; -1 отключает эти сообщения."
 
-#: utils/misc/guc.c:2328
+#: utils/misc/guc.c:2406
 msgid "Background writer sleep time between rounds."
 msgstr "Время простоя в процессе фоновой записи между подходами."
 
-#: utils/misc/guc.c:2339
+#: utils/misc/guc.c:2417
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr ""
 "Максимальное число LRU-страниц, сбрасываемых за один подход, в процессе "
 "фоновой записи."
 
-#: utils/misc/guc.c:2351
+#: utils/misc/guc.c:2441
 msgid ""
 "Number of simultaneous requests that can be handled efficiently by the disk "
 "subsystem."
@@ -23206,89 +24082,89 @@ msgstr ""
 "Число одновременных запросов, которые могут быть эффективно обработаны "
 "дисковой подсистемой."
 
-#: utils/misc/guc.c:2352
+#: utils/misc/guc.c:2442
 msgid ""
 "For RAID arrays, this should be approximately the number of drive spindles "
 "in the array."
 msgstr ""
 "Для RAID-массивов это примерно равно числу физических дисков в массиве."
 
-#: utils/misc/guc.c:2367
+#: utils/misc/guc.c:2468
 msgid "Maximum number of concurrent worker processes."
 msgstr "Задаёт максимально возможное число рабочих процессов."
 
-#: utils/misc/guc.c:2377
+#: utils/misc/guc.c:2478
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr "Автоматическая прокрутка файла протокола через каждые N минут."
 
-#: utils/misc/guc.c:2388
+#: utils/misc/guc.c:2489
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr ""
 "Автоматическая прокрутка файла протокола при выходе за предел N килобайт."
 
-#: utils/misc/guc.c:2399
+#: utils/misc/guc.c:2500
 msgid "Shows the maximum number of function arguments."
 msgstr "Показывает максимально возможное число аргументов функций."
 
-#: utils/misc/guc.c:2410
+#: utils/misc/guc.c:2511
 msgid "Shows the maximum number of index keys."
 msgstr "Показывает максимально возможное число ключей в индексе."
 
-#: utils/misc/guc.c:2421
+#: utils/misc/guc.c:2522
 msgid "Shows the maximum identifier length."
 msgstr "Показывает максимально возможную длину идентификатора."
 
-#: utils/misc/guc.c:2432
+#: utils/misc/guc.c:2533
 msgid "Shows the size of a disk block."
 msgstr "Показывает размер дискового блока."
 
-#: utils/misc/guc.c:2443
+#: utils/misc/guc.c:2544
 msgid "Shows the number of pages per disk file."
 msgstr "Показывает число страниц в одном файле."
 
-#: utils/misc/guc.c:2454
+#: utils/misc/guc.c:2555
 msgid "Shows the block size in the write ahead log."
 msgstr "Показывает размер блока в журнале WAL."
 
-#: utils/misc/guc.c:2465
+#: utils/misc/guc.c:2566
 msgid ""
 "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr ""
 "Задаёт время задержки перед повторной попыткой обращения к WAL после неудачи."
 
-#: utils/misc/guc.c:2477
+#: utils/misc/guc.c:2578
 msgid "Shows the number of pages per write ahead log segment."
 msgstr "Показывает число страниц в одном сегменте журнала WAL."
 
-#: utils/misc/guc.c:2490
+#: utils/misc/guc.c:2591
 msgid "Time to sleep between autovacuum runs."
 msgstr "Время простоя между запусками автоочистки."
 
-#: utils/misc/guc.c:2500
+#: utils/misc/guc.c:2601
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Минимальное число изменений или удалений кортежей, вызывающее очистку."
 
-#: utils/misc/guc.c:2509
+#: utils/misc/guc.c:2610
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr ""
 "Минимальное число добавлений, изменений или удалений кортежей, вызывающее "
 "анализ."
 
-#: utils/misc/guc.c:2519
+#: utils/misc/guc.c:2620
 msgid ""
 "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr ""
 "Возраст, при котором необходима автоочистка таблицы для предотвращения "
 "наложений ID транзакций."
 
-#: utils/misc/guc.c:2530
+#: utils/misc/guc.c:2631
 msgid ""
 "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr ""
 "Возраст multixact, при котором необходима автоочистка таблицы для "
 "предотвращения наложений идентификаторов multixact."
 
-#: utils/misc/guc.c:2540
+#: utils/misc/guc.c:2641
 msgid ""
 "Sets the maximum number of simultaneously running autovacuum worker "
 "processes."
@@ -23296,34 +24172,50 @@ msgstr ""
 "Задаёт предельное число одновременно выполняющихся рабочих процессов "
 "автоочистки."
 
-#: utils/misc/guc.c:2550
+#: utils/misc/guc.c:2651
+msgid "Sets the maximum number of parallel processes per executor node."
+msgstr "Задаёт максимальное число параллельных процессов на узел исполнителя."
+
+#: utils/misc/guc.c:2661
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr ""
 "Задаёт предельный объём памяти для каждого рабочего процесса автоочистки."
 
-#: utils/misc/guc.c:2561
+#: utils/misc/guc.c:2672
+msgid ""
+"Time before a snapshot is too old to read pages changed after the snapshot "
+"was taken."
+msgstr ""
+"Срок, по истечении которого снимок считается слишком старым для получения "
+"страниц, изменённых после создания снимка."
+
+#: utils/misc/guc.c:2673
+msgid "A value of -1 disables this feature."
+msgstr "Значение -1 отключает это поведение."
+
+#: utils/misc/guc.c:2683
 msgid "Time between issuing TCP keepalives."
 msgstr "Интервал между TCP-пакетами пульса (keep-alive)."
 
-#: utils/misc/guc.c:2562 utils/misc/guc.c:2573
+#: utils/misc/guc.c:2684 utils/misc/guc.c:2695
 msgid "A value of 0 uses the system default."
 msgstr "При нулевом значении действует системный параметр."
 
-#: utils/misc/guc.c:2572
+#: utils/misc/guc.c:2694
 msgid "Time between TCP keepalive retransmits."
 msgstr "Интервал между повторениями TCP-пакетов пульса (keep-alive)."
 
-#: utils/misc/guc.c:2583
-msgid "SSL regenotiation is no longer supported; this can only be 0."
+#: utils/misc/guc.c:2705
+msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr ""
 "Повторное согласование SSL более не поддерживается; единственное допустимое "
 "значение - 0."
 
-#: utils/misc/guc.c:2594
+#: utils/misc/guc.c:2716
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Максимальное число повторений TCP-пакетов пульса (keep-alive)."
 
-#: utils/misc/guc.c:2595
+#: utils/misc/guc.c:2717
 msgid ""
 "This controls the number of consecutive keepalive retransmits that can be "
 "lost before a connection is considered dead. A value of 0 uses the system "
@@ -23333,15 +24225,15 @@ msgstr ""
 "прежде чем соединение будет считаться пропавшим. При нулевом значении "
 "действует системный параметр."
 
-#: utils/misc/guc.c:2606
+#: utils/misc/guc.c:2728
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Ограничивает результат точного поиска с использованием GIN."
 
-#: utils/misc/guc.c:2617
+#: utils/misc/guc.c:2739
 msgid "Sets the planner's assumption about the size of the disk cache."
 msgstr "Подсказывает планировщику примерный размер дискового кеша."
 
-#: utils/misc/guc.c:2618
+#: utils/misc/guc.c:2740
 msgid ""
 "That is, the portion of the kernel's disk cache that will be used for "
 "PostgreSQL data files. This is measured in disk pages, which are normally 8 "
@@ -23350,35 +24242,35 @@ msgstr ""
 "Подразумевается часть дискового кеша в ядре ОС, которую займут файлы данных "
 "PostgreSQL. Размер задаётся в дисковых страницах (обычно это 8 КБ)."
 
-#: utils/misc/guc.c:2631
+#: utils/misc/guc.c:2753
 msgid "Shows the server version as an integer."
 msgstr "Показывает версию сервера в виде целого числа."
 
-#: utils/misc/guc.c:2642
+#: utils/misc/guc.c:2764
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr ""
 "Фиксирует в протоколе превышение временными файлами заданного размера (в КБ)."
 
-#: utils/misc/guc.c:2643
+#: utils/misc/guc.c:2765
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr ""
 "При 0 отмечаются все файлы; при -1 эти сообщения отключаются (по умолчанию)."
 
-#: utils/misc/guc.c:2653
+#: utils/misc/guc.c:2775
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Задаёт размер, резервируемый для pg_stat_activity.query (в байтах)."
 
-#: utils/misc/guc.c:2668
+#: utils/misc/guc.c:2790
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "Задаёт максимальный размер списка-очереди для GIN-индекса."
 
-#: utils/misc/guc.c:2688
+#: utils/misc/guc.c:2810
 msgid ""
 "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr ""
 "Задаёт для планировщика ориентир стоимости последовательного чтения страницы."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2820
 msgid ""
 "Sets the planner's estimate of the cost of a nonsequentially fetched disk "
 "page."
@@ -23386,13 +24278,13 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости непоследовательного чтения "
 "страницы."
 
-#: utils/misc/guc.c:2708
+#: utils/misc/guc.c:2830
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого кортежа "
 "(строки)."
 
-#: utils/misc/guc.c:2718
+#: utils/misc/guc.c:2840
 msgid ""
 "Sets the planner's estimate of the cost of processing each index entry "
 "during an index scan."
@@ -23400,7 +24292,7 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого элемента "
 "индекса в процессе сканирования индекса."
 
-#: utils/misc/guc.c:2728
+#: utils/misc/guc.c:2850
 msgid ""
 "Sets the planner's estimate of the cost of processing each operator or "
 "function call."
@@ -23408,32 +24300,48 @@ msgstr ""
 "Задаёт для планировщика ориентир стоимости обработки каждого оператора или "
 "вызова функции."
 
-#: utils/misc/guc.c:2739
+#: utils/misc/guc.c:2860
+msgid ""
+"Sets the planner's estimate of the cost of passing each tuple (row) from "
+"worker to master backend."
+msgstr ""
+"Задаёт для планировщика ориентир стоимости передачи каждого кортежа (строки) "
+"от рабочего процесса обслуживающему."
+
+#: utils/misc/guc.c:2870
+msgid ""
+"Sets the planner's estimate of the cost of starting up worker processes for "
+"parallel query."
+msgstr ""
+"Задаёт для планировщика ориентир стоимости запуска рабочих процессов для "
+"параллельного выполнения запроса."
+
+#: utils/misc/guc.c:2881
 msgid ""
 "Sets the planner's estimate of the fraction of a cursor's rows that will be "
 "retrieved."
 msgstr ""
 "Задаёт для планировщика ориентир доли требуемых строк курсора в общем числе."
 
-#: utils/misc/guc.c:2750
+#: utils/misc/guc.c:2892
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: селективное давление в популяции."
 
-#: utils/misc/guc.c:2760
+#: utils/misc/guc.c:2902
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: отправное значение для случайного выбора пути."
 
-#: utils/misc/guc.c:2770
+#: utils/misc/guc.c:2912
 msgid "Multiple of the average buffer usage to free per round."
 msgstr ""
 "Множитель для среднего числа использованных буферов, определяющий число "
 "буферов, освобождаемых за один подход."
 
-#: utils/misc/guc.c:2780
+#: utils/misc/guc.c:2922
 msgid "Sets the seed for random-number generation."
 msgstr "Задаёт отправное значение для генератора случайных чисел."
 
-#: utils/misc/guc.c:2791
+#: utils/misc/guc.c:2933
 msgid ""
 "Number of tuple updates or deletes prior to vacuum as a fraction of "
 "reltuples."
@@ -23441,7 +24349,7 @@ msgstr ""
 "Отношение числа обновлений или удалений кортежей к reltuples, определяющее "
 "потребность в очистке."
 
-#: utils/misc/guc.c:2800
+#: utils/misc/guc.c:2942
 msgid ""
 "Number of tuple inserts, updates, or deletes prior to analyze as a fraction "
 "of reltuples."
@@ -23449,7 +24357,7 @@ msgstr ""
 "Отношение числа добавлений, обновлений или удалений кортежей к reltuples, "
 "определяющее потребность в анализе."
 
-#: utils/misc/guc.c:2810
+#: utils/misc/guc.c:2952
 msgid ""
 "Time spent flushing dirty buffers during checkpoint, as fraction of "
 "checkpoint interval."
@@ -23457,53 +24365,53 @@ msgstr ""
 "Отношение продолжительности сброса \"грязных\" буферов во время контрольной "
 "точки к интервалу контрольных точек."
 
-#: utils/misc/guc.c:2829
+#: utils/misc/guc.c:2971
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "Задаёт команду оболочки, вызываемую для архивации файла WAL."
 
-#: utils/misc/guc.c:2839
+#: utils/misc/guc.c:2981
 msgid "Sets the client's character set encoding."
 msgstr "Задаёт кодировку символов, используемую клиентом."
 
-#: utils/misc/guc.c:2850
+#: utils/misc/guc.c:2992
 msgid "Controls information prefixed to each log line."
 msgstr "Определяет содержимое префикса каждой строки протокола."
 
-#: utils/misc/guc.c:2851
+#: utils/misc/guc.c:2993
 msgid "If blank, no prefix is used."
 msgstr "При пустом значении префикс также отсутствует."
 
-#: utils/misc/guc.c:2860
+#: utils/misc/guc.c:3002
 msgid "Sets the time zone to use in log messages."
 msgstr "Задаёт часовой пояс для вывода времени в сообщениях протокола."
 
-#: utils/misc/guc.c:2870
+#: utils/misc/guc.c:3012
 msgid "Sets the display format for date and time values."
 msgstr "Устанавливает формат вывода дат и времени."
 
-#: utils/misc/guc.c:2871
+#: utils/misc/guc.c:3013
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Также помогает разбирать неоднозначно заданные вводимые даты."
 
-#: utils/misc/guc.c:2882
+#: utils/misc/guc.c:3024
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr ""
 "Задаёт табличное пространство по умолчанию для новых таблиц и индексов."
 
-#: utils/misc/guc.c:2883
+#: utils/misc/guc.c:3025
 msgid "An empty string selects the database's default tablespace."
 msgstr "При пустом значении используется табличное пространство базы данных."
 
-#: utils/misc/guc.c:2893
+#: utils/misc/guc.c:3035
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr ""
 "Задаёт табличное пространство(а) для временных таблиц и файлов сортировки."
 
-#: utils/misc/guc.c:2904
+#: utils/misc/guc.c:3046
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Задаёт путь для динамически загружаемых модулей."
 
-#: utils/misc/guc.c:2905
+#: utils/misc/guc.c:3047
 msgid ""
 "If a dynamically loadable module needs to be opened and the specified name "
 "does not have a directory component (i.e., the name does not contain a "
@@ -23513,79 +24421,79 @@ msgstr ""
 "указан путь (нет символа '/'), система будет искать этот файл в заданном "
 "пути."
 
-#: utils/misc/guc.c:2918
+#: utils/misc/guc.c:3060
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Задаёт размещение файла с ключом Kerberos для данного сервера."
 
-#: utils/misc/guc.c:2929
+#: utils/misc/guc.c:3071
 msgid "Sets the Bonjour service name."
 msgstr "Задаёт название службы Bonjour."
 
-#: utils/misc/guc.c:2941
+#: utils/misc/guc.c:3083
 msgid "Shows the collation order locale."
 msgstr "Показывает правило сортировки."
 
-#: utils/misc/guc.c:2952
+#: utils/misc/guc.c:3094
 msgid "Shows the character classification and case conversion locale."
 msgstr "Показывает правило классификации символов и преобразования регистра."
 
-#: utils/misc/guc.c:2963
+#: utils/misc/guc.c:3105
 msgid "Sets the language in which messages are displayed."
 msgstr "Задаёт язык выводимых сообщений."
 
-#: utils/misc/guc.c:2973
+#: utils/misc/guc.c:3115
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Задаёт локаль для форматирования денежных сумм."
 
-#: utils/misc/guc.c:2983
+#: utils/misc/guc.c:3125
 msgid "Sets the locale for formatting numbers."
 msgstr "Задаёт локаль для форматирования чисел."
 
-#: utils/misc/guc.c:2993
+#: utils/misc/guc.c:3135
 msgid "Sets the locale for formatting date and time values."
 msgstr "Задаёт локаль для форматирования дат и времени."
 
-#: utils/misc/guc.c:3003
+#: utils/misc/guc.c:3145
 msgid "Lists shared libraries to preload into each backend."
 msgstr ""
 "Список разделяемых библиотек, заранее загружаемых в каждый обслуживающий "
 "процесс."
 
-#: utils/misc/guc.c:3014
+#: utils/misc/guc.c:3156
 msgid "Lists shared libraries to preload into server."
 msgstr "Список разделяемых библиотек, заранее загружаемых в память сервера."
 
-#: utils/misc/guc.c:3025
+#: utils/misc/guc.c:3167
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr ""
 "Список непривилегированных разделяемых библиотек, заранее загружаемых в "
 "каждый обслуживающий процесс."
 
-#: utils/misc/guc.c:3036
+#: utils/misc/guc.c:3178
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Задаёт порядок просмотра схемы при поиске неполных имён."
 
-#: utils/misc/guc.c:3048
+#: utils/misc/guc.c:3190
 msgid "Sets the server (database) character set encoding."
 msgstr "Задаёт кодировку символов сервера (баз данных)."
 
-#: utils/misc/guc.c:3060
+#: utils/misc/guc.c:3202
 msgid "Shows the server version."
 msgstr "Показывает версию сервера."
 
-#: utils/misc/guc.c:3072
+#: utils/misc/guc.c:3214
 msgid "Sets the current role."
 msgstr "Задаёт текущую роль."
 
-#: utils/misc/guc.c:3084
+#: utils/misc/guc.c:3226
 msgid "Sets the session user name."
 msgstr "Задаёт имя пользователя в сеансе."
 
-#: utils/misc/guc.c:3095
+#: utils/misc/guc.c:3237
 msgid "Sets the destination for server log output."
 msgstr "Определяет, куда будет выводиться протокол сервера."
 
-#: utils/misc/guc.c:3096
+#: utils/misc/guc.c:3238
 msgid ""
 "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and "
 "\"eventlog\", depending on the platform."
@@ -23593,24 +24501,24 @@ msgstr ""
 "Значение может включать сочетание слов \"stderr\", \"syslog\", \"csvlog\" и "
 "\"eventlog\", в зависимости от платформы."
 
-#: utils/misc/guc.c:3107
+#: utils/misc/guc.c:3249
 msgid "Sets the destination directory for log files."
 msgstr "Задаёт целевой каталог для файлов протоколов."
 
-#: utils/misc/guc.c:3108
+#: utils/misc/guc.c:3250
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr ""
 "Путь может быть абсолютным или указываться относительно каталога данных."
 
-#: utils/misc/guc.c:3118
+#: utils/misc/guc.c:3260
 msgid "Sets the file name pattern for log files."
 msgstr "Задаёт шаблон имени для файлов протоколов."
 
-#: utils/misc/guc.c:3129
+#: utils/misc/guc.c:3271
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Задаёт имя программы для идентификации сообщений PostgreSQL в syslog."
 
-#: utils/misc/guc.c:3140
+#: utils/misc/guc.c:3282
 msgid ""
 "Sets the application name used to identify PostgreSQL messages in the event "
 "log."
@@ -23618,116 +24526,119 @@ msgstr ""
 "Задаёт имя приложения для идентификации сообщений PostgreSQL в журнале "
 "событий."
 
-#: utils/misc/guc.c:3151
+#: utils/misc/guc.c:3293
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr ""
 "Задаёт часовой пояс для вывода и разбора строкового представления времени."
 
-#: utils/misc/guc.c:3161
+#: utils/misc/guc.c:3303
 msgid "Selects a file of time zone abbreviations."
 msgstr "Выбирает файл с сокращёнными названиями часовых поясов."
 
-#: utils/misc/guc.c:3171
+#: utils/misc/guc.c:3313
 msgid "Sets the current transaction's isolation level."
 msgstr "Задаёт текущий уровень изоляции транзакций."
 
-#: utils/misc/guc.c:3182
+#: utils/misc/guc.c:3324
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Задаёт группу-владельца доменного сокета Unix."
 
-#: utils/misc/guc.c:3183
+#: utils/misc/guc.c:3325
 msgid ""
 "The owning user of the socket is always the user that starts the server."
 msgstr ""
 "Собственно владельцем сокета всегда будет пользователь, запускающий сервер."
 
-#: utils/misc/guc.c:3193
+#: utils/misc/guc.c:3335
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Задаёт каталоги, где будут создаваться доменные сокеты Unix."
 
-#: utils/misc/guc.c:3208
+#: utils/misc/guc.c:3350
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Задаёт имя узла или IP-адрес(а) для привязки."
 
-#: utils/misc/guc.c:3223
+#: utils/misc/guc.c:3365
 msgid "Sets the server's data directory."
 msgstr "Определяет каталог данных сервера."
 
-#: utils/misc/guc.c:3234
+#: utils/misc/guc.c:3376
 msgid "Sets the server's main configuration file."
 msgstr "Определяет основной файл конфигурации сервера."
 
-#: utils/misc/guc.c:3245
+#: utils/misc/guc.c:3387
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Задаёт путь к файлу конфигурации \"hba\"."
 
-#: utils/misc/guc.c:3256
+#: utils/misc/guc.c:3398
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Задаёт путь к файлу конфигурации \"ident\"."
 
-#: utils/misc/guc.c:3267
+#: utils/misc/guc.c:3409
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Файл, в который будет записан код процесса postmaster."
 
-#: utils/misc/guc.c:3278
+#: utils/misc/guc.c:3420
 msgid "Location of the SSL server certificate file."
 msgstr "Размещение файла сертификата сервера для SSL."
 
-#: utils/misc/guc.c:3288
+#: utils/misc/guc.c:3430
 msgid "Location of the SSL server private key file."
 msgstr "Размещение файла с закрытым ключом сервера для SSL."
 
-#: utils/misc/guc.c:3298
+#: utils/misc/guc.c:3440
 msgid "Location of the SSL certificate authority file."
 msgstr "Размещение файла центра сертификации для SSL."
 
-#: utils/misc/guc.c:3308
+#: utils/misc/guc.c:3450
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Размещение файла со списком отзыва сертификатов для SSL."
 
-#: utils/misc/guc.c:3318
+#: utils/misc/guc.c:3460
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "Каталог, в который будут записываться временные файлы статистики."
 
-#: utils/misc/guc.c:3329
-msgid "List of names of potential synchronous standbys."
-msgstr "Список имён потенциально синхронных резервных серверов."
+#: utils/misc/guc.c:3471
+msgid ""
+"Number of synchronous standbys and list of names of potential synchronous "
+"ones."
+msgstr ""
+"Количество потенциально синхронных резервных серверов и список их имён."
 
-#: utils/misc/guc.c:3340
+#: utils/misc/guc.c:3482
 msgid "Sets default text search configuration."
 msgstr "Задаёт конфигурацию текстового поиска по умолчанию."
 
-#: utils/misc/guc.c:3350
+#: utils/misc/guc.c:3492
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Задаёт список допустимых алгоритмов шифрования для SSL."
 
-#: utils/misc/guc.c:3365
+#: utils/misc/guc.c:3507
 msgid "Sets the curve to use for ECDH."
 msgstr "Задаёт кривую для ECDH."
 
-#: utils/misc/guc.c:3380
+#: utils/misc/guc.c:3522
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr ""
 "Задаёт имя приложения, которое будет выводиться в статистике и протоколах."
 
-#: utils/misc/guc.c:3391
+#: utils/misc/guc.c:3533
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr "Задаёт имя кластера, которое будет добавляться в название процесса."
 
-#: utils/misc/guc.c:3411
+#: utils/misc/guc.c:3553
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Определяет, можно ли использовать \"\\'\" в текстовых строках."
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3563
 msgid "Sets the output format for bytea."
 msgstr "Задаёт формат вывода данных типа bytea."
 
-#: utils/misc/guc.c:3431
+#: utils/misc/guc.c:3573
 msgid "Sets the message levels that are sent to the client."
 msgstr "Ограничивает уровень сообщений, передаваемых клиенту."
 
-#: utils/misc/guc.c:3432 utils/misc/guc.c:3485 utils/misc/guc.c:3496
-#: utils/misc/guc.c:3562
+#: utils/misc/guc.c:3574 utils/misc/guc.c:3627 utils/misc/guc.c:3638
+#: utils/misc/guc.c:3704
 msgid ""
 "Each level includes all the levels that follow it. The later the level, the "
 "fewer messages are sent."
@@ -23735,12 +24646,12 @@ msgstr ""
 "Каждый уровень включает все последующие. Чем выше уровень, тем меньше "
 "сообщений."
 
-#: utils/misc/guc.c:3442
+#: utils/misc/guc.c:3584
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr ""
 "Разрешает планировщику оптимизировать запросы, полагаясь на ограничения."
 
-#: utils/misc/guc.c:3443
+#: utils/misc/guc.c:3585
 msgid ""
 "Table scans will be skipped if their constraints guarantee that no rows "
 "match the query."
@@ -23748,76 +24659,76 @@ msgstr ""
 "Сканирование таблицы не будет выполняться, если её ограничения гарантируют, "
 "что запросу не удовлетворяют никакие строки."
 
-#: utils/misc/guc.c:3453
+#: utils/misc/guc.c:3595
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Задаёт уровень изоляции транзакций для новых транзакций."
 
-#: utils/misc/guc.c:3463
+#: utils/misc/guc.c:3605
 msgid "Sets the display format for interval values."
 msgstr "Задаёт формат отображения для внутренних значений."
 
-#: utils/misc/guc.c:3474
+#: utils/misc/guc.c:3616
 msgid "Sets the verbosity of logged messages."
 msgstr "Задаёт детализацию протоколируемых сообщений."
 
-#: utils/misc/guc.c:3484
+#: utils/misc/guc.c:3626
 msgid "Sets the message levels that are logged."
 msgstr "Ограничивает уровни протоколируемых сообщений."
 
-#: utils/misc/guc.c:3495
+#: utils/misc/guc.c:3637
 msgid ""
 "Causes all statements generating error at or above this level to be logged."
 msgstr ""
 "Включает протоколирование для SQL-операторов, выполненных с ошибкой этого "
 "или большего уровня."
 
-#: utils/misc/guc.c:3506
+#: utils/misc/guc.c:3648
 msgid "Sets the type of statements logged."
 msgstr "Задаёт тип протоколируемых операторов."
 
-#: utils/misc/guc.c:3516
+#: utils/misc/guc.c:3658
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "Задаёт получателя сообщений, отправляемых в syslog."
 
-#: utils/misc/guc.c:3531
+#: utils/misc/guc.c:3673
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr ""
 "Задаёт режим срабатывания триггеров и правил перезаписи для текущего сеанса."
 
-#: utils/misc/guc.c:3541
+#: utils/misc/guc.c:3683
 msgid "Sets the current transaction's synchronization level."
 msgstr "Задаёт уровень синхронизации текущей транзакции."
 
-#: utils/misc/guc.c:3551
+#: utils/misc/guc.c:3693
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "Разрешает архивацию файлов WAL командой archive_command."
 
-#: utils/misc/guc.c:3561
+#: utils/misc/guc.c:3703
 msgid "Enables logging of recovery-related debugging information."
 msgstr ""
 "Включает протоколирование отладочной информации, связанной с репликацией."
 
-#: utils/misc/guc.c:3577
+#: utils/misc/guc.c:3719
 msgid "Collects function-level statistics on database activity."
 msgstr "Включает сбор статистики активности в БД на уровне функций."
 
-#: utils/misc/guc.c:3587
+#: utils/misc/guc.c:3729
 msgid "Set the level of information written to the WAL."
 msgstr "Задаёт уровень информации, записываемой в WAL."
 
-#: utils/misc/guc.c:3597
+#: utils/misc/guc.c:3739
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Выбирает используемую реализацию динамической разделяемой памяти."
 
-#: utils/misc/guc.c:3607
+#: utils/misc/guc.c:3749
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Выбирает метод принудительной записи изменений в WAL на диск."
 
-#: utils/misc/guc.c:3617
+#: utils/misc/guc.c:3759
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Определяет, как должны кодироваться двоичные значения в XML."
 
-#: utils/misc/guc.c:3627
+#: utils/misc/guc.c:3769
 msgid ""
 "Sets whether XML data in implicit parsing and serialization operations is to "
 "be considered as documents or content fragments."
@@ -23825,11 +24736,36 @@ msgstr ""
 "Определяет, следует ли рассматривать XML-данные в неявных операциях разбора "
 "и сериализации как документы или как фрагменты содержания."
 
-#: utils/misc/guc.c:3638
+#: utils/misc/guc.c:3780
 msgid "Use of huge pages on Linux."
 msgstr "Включает использование гигантских страниц в Linux."
 
-#: utils/misc/guc.c:4453
+#: utils/misc/guc.c:3790
+msgid "Forces use of parallel query facilities."
+msgstr "Принудительно включает режим параллельного выполнения запросов."
+
+#: utils/misc/guc.c:3791
+msgid ""
+"If possible, run query using a parallel worker and with parallel "
+"restrictions."
+msgstr ""
+"Если возможно, запрос выполняется параллельными исполнителями и с "
+"ограничениями параллельности."
+
+#: utils/misc/guc.c:4591
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n"
+
+#: utils/misc/guc.c:4596
+#, c-format
+msgid ""
+"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
+msgstr ""
+"Запустите initdb или pg_basebackup для инициализации каталога данных "
+"PostgreSQL.\n"
+
+#: utils/misc/guc.c:4616
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -23840,12 +24776,12 @@ msgstr ""
 "Вы должны указать его расположение в параметре --config-file или -D, либо "
 "установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:4472
+#: utils/misc/guc.c:4635
 #, c-format
-msgid "%s cannot access the server configuration file \"%s\": %s\n"
+msgid "%s: could not access the server configuration file \"%s\": %s\n"
 msgstr "%s не может открыть файл конфигурации сервера \"%s\": %s\n"
 
-#: utils/misc/guc.c:4498
+#: utils/misc/guc.c:4661
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -23856,7 +24792,7 @@ msgstr ""
 "Их расположение можно задать как значение \"data_directory\" в файле \"%s\", "
 "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:4546
+#: utils/misc/guc.c:4709
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -23867,7 +24803,7 @@ msgstr ""
 "Его расположение можно задать как значение \"hba_file\" в файле \"%s\", либо "
 "передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:4569
+#: utils/misc/guc.c:4732
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -23878,122 +24814,127 @@ msgstr ""
 "Его расположение можно задать как значение \"ident_file\" в файле \"%s\", "
 "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n"
 
-#: utils/misc/guc.c:5243 utils/misc/guc.c:5290
+#: utils/misc/guc.c:5406 utils/misc/guc.c:5453
 msgid "Value exceeds integer range."
 msgstr "Значение выходит за рамки целых чисел."
 
-#: utils/misc/guc.c:5513
+#: utils/misc/guc.c:5676
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "параметр \"%s\" требует числовое значение"
 
-#: utils/misc/guc.c:5522
+#: utils/misc/guc.c:5685
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g вне диапазона, допустимого для параметра \"%s\" (%g .. %g)"
 
-#: utils/misc/guc.c:5675 utils/misc/guc.c:7004
+#: utils/misc/guc.c:5838 utils/misc/guc.c:7181
 #, c-format
 msgid "cannot set parameters during a parallel operation"
 msgstr "устанавливать параметры во время параллельных операций нельзя"
 
-#: utils/misc/guc.c:5682 utils/misc/guc.c:6432 utils/misc/guc.c:6484
-#: utils/misc/guc.c:6845 utils/misc/guc.c:7592 utils/misc/guc.c:7751
-#: utils/misc/guc.c:9386
+#: utils/misc/guc.c:5845 utils/misc/guc.c:6596 utils/misc/guc.c:6648
+#: utils/misc/guc.c:7009 utils/misc/guc.c:7769 utils/misc/guc.c:7937
+#: utils/misc/guc.c:9594
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "нераспознанный параметр конфигурации: \"%s\""
 
-#: utils/misc/guc.c:5697 utils/misc/guc.c:6857
+#: utils/misc/guc.c:5860 utils/misc/guc.c:7021
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "параметр \"%s\" нельзя изменить"
 
-#: utils/misc/guc.c:5720 utils/misc/guc.c:5912 utils/misc/guc.c:6002
-#: utils/misc/guc.c:6092 utils/misc/guc.c:6200 utils/misc/guc.c:6295
+#: utils/misc/guc.c:5883 utils/misc/guc.c:6076 utils/misc/guc.c:6166
+#: utils/misc/guc.c:6256 utils/misc/guc.c:6364 utils/misc/guc.c:6459
 #: guc-file.l:352
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "параметр \"%s\" изменяется только при перезапуске сервера"
 
-#: utils/misc/guc.c:5730
+#: utils/misc/guc.c:5893
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "параметр \"%s\" нельзя изменить сейчас"
 
-#: utils/misc/guc.c:5748 utils/misc/guc.c:5793 utils/misc/guc.c:9402
+#: utils/misc/guc.c:5911 utils/misc/guc.c:5957 utils/misc/guc.c:9610
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "нет прав для изменения параметра \"%s\""
 
-#: utils/misc/guc.c:5783
+#: utils/misc/guc.c:5947
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "параметр \"%s\" нельзя задать после установления соединения"
 
-#: utils/misc/guc.c:5831
+#: utils/misc/guc.c:5995
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr ""
 "параметр \"%s\" нельзя задать в функции с контекстом безопасности "
 "определившего"
 
-#: utils/misc/guc.c:6440 utils/misc/guc.c:6488 utils/misc/guc.c:7755
+#: utils/misc/guc.c:6604 utils/misc/guc.c:6652 utils/misc/guc.c:7943
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "прочитать \"%s\" может только суперпользователь"
 
-#: utils/misc/guc.c:6554
+#: utils/misc/guc.c:6718
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s принимает только один аргумент"
 
-#: utils/misc/guc.c:6805
+#: utils/misc/guc.c:6969
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "выполнить команду ALTER SYSTEM может только суперпользователь"
 
-#: utils/misc/guc.c:6918
+#: utils/misc/guc.c:7054
+#, c-format
+msgid "parameter value for ALTER SYSTEM must not contain a newline"
+msgstr "значение параметра для ALTER SYSTEM не должно быть многострочным"
+
+#: utils/misc/guc.c:7099
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "не удалось разобрать содержимое файла \"%s\""
 
-#: utils/misc/guc.c:7080
+#: utils/misc/guc.c:7257
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT не реализовано"
 
-#: utils/misc/guc.c:7165
+#: utils/misc/guc.c:7342
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET требует имя параметра"
 
-#: utils/misc/guc.c:7289
+#: utils/misc/guc.c:7466
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "попытка переопределить параметр \"%s\""
 
-#: utils/misc/guc.c:9019
+#: utils/misc/guc.c:9227
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "параметр \"%s\" нельзя установить"
 
-#: utils/misc/guc.c:9106
+#: utils/misc/guc.c:9314
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "не удалось разобрать значение параметра \"%s\""
 
-#: utils/misc/guc.c:9464 utils/misc/guc.c:9498
+#: utils/misc/guc.c:9672 utils/misc/guc.c:9706
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "неверное значение параметра \"%s\": %d"
 
-#: utils/misc/guc.c:9532
+#: utils/misc/guc.c:9740
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "неверное значение параметра \"%s\": %g"
 
-#: utils/misc/guc.c:9722
+#: utils/misc/guc.c:9930
 #, c-format
 msgid ""
 "\"temp_buffers\" cannot be changed after any temporary tables have been "
@@ -24002,23 +24943,23 @@ msgstr ""
 "параметр \"temp_buffers\" нельзя изменить после обращения к временным "
 "таблицам в текущем сеансе."
 
-#: utils/misc/guc.c:9734
+#: utils/misc/guc.c:9942
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour не поддерживается в данной сборке"
 
-#: utils/misc/guc.c:9747
+#: utils/misc/guc.c:9955
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL не поддерживается в данной сборке"
 
-#: utils/misc/guc.c:9759
+#: utils/misc/guc.c:9967
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr ""
 "Этот параметр нельзя включить, когда \"log_statement_stats\" равен true."
 
-#: utils/misc/guc.c:9771
+#: utils/misc/guc.c:9979
 #, c-format
 msgid ""
 "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", "
@@ -24032,6 +24973,13 @@ msgstr ""
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "внутренняя ошибка: нераспознанный тип параметра времени выполнения\n"
 
+#: utils/misc/pg_config.c:61
+#, c-format
+msgid ""
+"query-specified return tuple and function return type are not compatible"
+msgstr ""
+"заданный в запросе кортеж результата несовместим с типом результата функции"
+
 #: utils/misc/rls.c:127
 #, c-format
 msgid "query would be affected by row-level security policy for table \"%s\""
@@ -24134,15 +25082,15 @@ msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr ""
 "в @INCLUDE не указано имя файла (файл часовых поясов \"%s\", строка %d)"
 
-#: utils/mmgr/aset.c:505
+#: utils/mmgr/aset.c:506
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Ошибка при создании контекста памяти \"%s\"."
 
-#: utils/mmgr/mcxt.c:689 utils/mmgr/mcxt.c:724 utils/mmgr/mcxt.c:761
-#: utils/mmgr/mcxt.c:798 utils/mmgr/mcxt.c:832 utils/mmgr/mcxt.c:861
-#: utils/mmgr/mcxt.c:895 utils/mmgr/mcxt.c:975 utils/mmgr/mcxt.c:1008
-#: utils/mmgr/mcxt.c:1055
+#: utils/mmgr/mcxt.c:771 utils/mmgr/mcxt.c:806 utils/mmgr/mcxt.c:843
+#: utils/mmgr/mcxt.c:880 utils/mmgr/mcxt.c:914 utils/mmgr/mcxt.c:943
+#: utils/mmgr/mcxt.c:977 utils/mmgr/mcxt.c:1059 utils/mmgr/mcxt.c:1093
+#: utils/mmgr/mcxt.c:1142
 #, c-format
 msgid "Failed on request of size %zu."
 msgstr "Ошибка при запросе памяти (%zu Б)."
@@ -24177,17 +25125,22 @@ msgstr "нельзя выполнить PREPARE для транзакции, с
 msgid "could not read block %ld of temporary file: %m"
 msgstr "не удалось считать блок %ld временного файла: %m"
 
-#: utils/sort/tuplesort.c:3606
+#: utils/sort/tuplesort.c:3358
+#, c-format
+msgid "cannot have more than %d runs for an external sort"
+msgstr "число потоков данных для внешней сортировки не может превышать %d"
+
+#: utils/sort/tuplesort.c:4412
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "создать уникальный индекс \"%s\" не удалось"
 
-#: utils/sort/tuplesort.c:3608
+#: utils/sort/tuplesort.c:4414
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "Ключ %s дублируется."
 
-#: utils/sort/tuplesort.c:3609
+#: utils/sort/tuplesort.c:4415
 #, c-format
 msgid "Duplicate keys exist."
 msgstr "Данные содержат дублирующиеся ключи."
@@ -24213,31 +25166,31 @@ msgstr "не удалось прочитать файл временного х
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "не удалось записать в файл временного хранилища кортежей: %m"
 
-#: utils/time/snapmgr.c:432
+#: utils/time/snapmgr.c:544
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "Исходная транзакция уже не выполняется."
 
-#: utils/time/snapmgr.c:986
+#: utils/time/snapmgr.c:1098
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "экспортировать снимок из вложенной транзакции нельзя"
 
-#: utils/time/snapmgr.c:1135 utils/time/snapmgr.c:1140
-#: utils/time/snapmgr.c:1145 utils/time/snapmgr.c:1160
-#: utils/time/snapmgr.c:1165 utils/time/snapmgr.c:1170
-#: utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1285
-#: utils/time/snapmgr.c:1310
+#: utils/time/snapmgr.c:1247 utils/time/snapmgr.c:1252
+#: utils/time/snapmgr.c:1257 utils/time/snapmgr.c:1272
+#: utils/time/snapmgr.c:1277 utils/time/snapmgr.c:1282
+#: utils/time/snapmgr.c:1381 utils/time/snapmgr.c:1397
+#: utils/time/snapmgr.c:1422
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "неверные данные снимка в файле \"%s\""
 
-#: utils/time/snapmgr.c:1207
+#: utils/time/snapmgr.c:1319
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "команда SET TRANSACTION SNAPSHOT должна выполняться до запросов"
 
-#: utils/time/snapmgr.c:1216
+#: utils/time/snapmgr.c:1328
 #, c-format
 msgid ""
 "a snapshot-importing transaction must have isolation level SERIALIZABLE or "
@@ -24246,12 +25199,12 @@ msgstr ""
 "транзакция, импортирующая снимок, должна иметь уровень изоляции SERIALIZABLE "
 "или REPEATABLE READ"
 
-#: utils/time/snapmgr.c:1225 utils/time/snapmgr.c:1234
+#: utils/time/snapmgr.c:1337 utils/time/snapmgr.c:1346
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "неверный идентификатор снимка: \"%s\""
 
-#: utils/time/snapmgr.c:1323
+#: utils/time/snapmgr.c:1435
 #, c-format
 msgid ""
 "a serializable transaction cannot import a snapshot from a non-serializable "
@@ -24259,7 +25212,7 @@ msgid ""
 msgstr ""
 "сериализуемая транзакция не может импортировать снимок из не сериализуемой"
 
-#: utils/time/snapmgr.c:1327
+#: utils/time/snapmgr.c:1439
 #, c-format
 msgid ""
 "a non-read-only serializable transaction cannot import a snapshot from a "
@@ -24268,216 +25221,211 @@ msgstr ""
 "сериализуемая транзакция в режиме \"чтение-запись\" не может импортировать "
 "снимок из транзакции в режиме \"только чтение\""
 
-#: utils/time/snapmgr.c:1342
+#: utils/time/snapmgr.c:1454
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "нельзя импортировать снимок из другой базы данных"
 
-#: gram.y:1009
+#: gram.y:1004
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "нераспознанный параметр роли \"%s\""
 
-#: gram.y:1285 gram.y:1300
+#: gram.y:1280 gram.y:1295
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS не может включать элементы схемы"
 
-#: gram.y:1445
+#: gram.y:1440
 #, c-format
 msgid "current database cannot be changed"
 msgstr "сменить текущую базу данных нельзя"
 
-#: gram.y:1569
+#: gram.y:1564
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr ""
 "интервал, задающий часовой пояс, должен иметь точность HOUR или HOUR TO "
 "MINUTE"
 
-#: gram.y:2584 gram.y:2613
+#: gram.y:2602 gram.y:2631
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "указания STDIN/STDOUT несовместимы с PROGRAM"
 
-#: gram.y:2879 gram.y:2886 gram.y:10153 gram.y:10161
+#: gram.y:2897 gram.y:2904 gram.y:10276 gram.y:10284
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "указание GLOBAL при создании временных таблиц устарело"
 
-#: gram.y:4759
+#: gram.y:4800
 msgid "duplicate trigger events specified"
 msgstr "события триггера повторяются"
 
-#: gram.y:4859
+#: gram.y:4900
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "противоречащие характеристики ограничения"
 
-#: gram.y:4991
+#: gram.y:5032
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "оператор CREATE ASSERTION ещё не реализован"
 
-#: gram.y:5007
+#: gram.y:5048
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "оператор DROP ASSERTION ещё не реализован"
 
-#: gram.y:5353
+#: gram.y:5394
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK более не требуется"
 
-#: gram.y:5354
+#: gram.y:5395
 #, c-format
 msgid "Update your data type."
 msgstr "Обновите тип данных."
 
-#: gram.y:6931
+#: gram.y:6974
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "у агрегатных функций не может быть выходных аргументов"
 
-#: gram.y:8721 gram.y:8739
+#: gram.y:8844 gram.y:8862
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr ""
 "предложение WITH CHECK OPTION не поддерживается для рекурсивных представлений"
 
-#: gram.y:10261
+#: gram.y:10384
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "синтаксис LIMIT #,# не поддерживается"
 
-#: gram.y:10262
+#: gram.y:10385
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Используйте отдельные предложения LIMIT и OFFSET."
 
-#: gram.y:10525 gram.y:10550
+#: gram.y:10648 gram.y:10673
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "список VALUES во FROM должен иметь псевдоним"
 
-#: gram.y:10526 gram.y:10551
+#: gram.y:10649 gram.y:10674
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Например, FROM (VALUES ...) [AS] foo."
 
-#: gram.y:10531 gram.y:10556
+#: gram.y:10654 gram.y:10679
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "подзапрос во FROM должен иметь псевдоним"
 
-#: gram.y:10532 gram.y:10557
+#: gram.y:10655 gram.y:10680
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Например, FROM (SELECT ...) [AS] foo."
 
-#: gram.y:11131
+#: gram.y:11254
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "тип float должен иметь точность минимум 1 бит"
 
-#: gram.y:11140
+#: gram.y:11263
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "тип float должен иметь точность меньше 54 бит"
 
-#: gram.y:11644
+#: gram.y:11767
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "неверное число параметров в левой части выражения OVERLAPS"
 
-#: gram.y:11649
+#: gram.y:11772
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "неверное число параметров в правой части выражения OVERLAPS"
 
-#: gram.y:11826
+#: gram.y:11949
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "предикат UNIQUE ещё не реализован"
 
-#: gram.y:12158
+#: gram.y:12281
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "ORDER BY с WITHIN GROUP можно указать только один раз"
 
-#: gram.y:12163
+#: gram.y:12286
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT нельзя использовать с WITHIN GROUP"
 
-#: gram.y:12168
+#: gram.y:12291
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC нельзя использовать с WITHIN GROUP"
 
-#: gram.y:12674
+#: gram.y:12797
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING поддерживается только с UNBOUNDED"
 
-#: gram.y:12680
+#: gram.y:12803
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING поддерживается только с UNBOUNDED"
 
-#: gram.y:12707 gram.y:12730
+#: gram.y:12830 gram.y:12853
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "началом рамки не может быть UNBOUNDED FOLLOWING"
 
-#: gram.y:12712
+#: gram.y:12835
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr ""
 "рамка, начинающаяся со следующей строки, не может заканчиваться текущей"
 
-#: gram.y:12735
+#: gram.y:12858
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "концом рамки не может быть UNBOUNDED PRECEDING"
 
-#: gram.y:12741
+#: gram.y:12864
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr ""
 "рамка, начинающаяся с текущей строки, не может иметь предшествующих строк"
 
-#: gram.y:12748
+#: gram.y:12871
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr ""
 "рамка, начинающаяся со следующей строки, не может иметь предшествующих строк"
 
-#: gram.y:13406
+#: gram.y:13536
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "параметр функции-модификатора типа должен быть безымянным"
 
-#: gram.y:13412
+#: gram.y:13542
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "модификатор типа не может включать ORDER BY"
 
-#: gram.y:13470 gram.y:13505
-#, c-format
-msgid "role name \"%s\" is reserved"
-msgstr "имя роли \"%s\" зарезервировано"
-
-#: gram.y:13476 gram.y:13482
+#: gram.y:13606 gram.y:13612
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s нельзя использовать здесь как имя роли"
 
-#: gram.y:14101 gram.y:14290
+#: gram.y:14234 gram.y:14423
 msgid "improper use of \"*\""
 msgstr "недопустимое использование \"*\""
 
-#: gram.y:14354
+#: gram.y:14487
 #, c-format
 msgid ""
 "an ordered-set aggregate with a VARIADIC direct argument must have one "
@@ -24486,50 +25434,50 @@ msgstr ""
 "сортирующая агрегатная функция с непосредственным аргументом VARIADIC должна "
 "иметь один агрегатный аргумент VARIADIC того же типа данных"
 
-#: gram.y:14391
+#: gram.y:14524
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "ORDER BY можно указать только один раз"
 
-#: gram.y:14402
+#: gram.y:14535
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "OFFSET можно указать только один раз"
 
-#: gram.y:14411
+#: gram.y:14544
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "LIMIT можно указать только один раз"
 
-#: gram.y:14420
+#: gram.y:14553
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "WITH можно указать только один раз"
 
-#: gram.y:14600
+#: gram.y:14745
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "в табличных функциях не может быть аргументов OUT и INOUT"
 
-#: gram.y:14701
+#: gram.y:14846
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "COLLATE можно указать только один раз"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14739 gram.y:14752
+#: gram.y:14884 gram.y:14897
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "ограничения %s не могут иметь характеристики DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14765
+#: gram.y:14910
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "ограничения %s не могут иметь характеристики NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14778
+#: gram.y:14923
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "ограничения %s не могут иметь характеристики NO INHERIT"
@@ -24603,42 +25551,42 @@ msgstr ""
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "открыть каталог конфигурации \"%s\" не удалось: %m"
 
-#: repl_gram.y:257 repl_gram.y:284
+#: repl_gram.y:260 repl_gram.y:292
 #, c-format
 msgid "invalid timeline %u"
 msgstr "неверная линия времени %u"
 
-#: repl_scanner.l:119
+#: repl_scanner.l:120
 msgid "invalid streaming start location"
 msgstr "неверная позиция начала потока"
 
-#: repl_scanner.l:170 scan.l:667
+#: repl_scanner.l:171 scan.l:671
 msgid "unterminated quoted string"
 msgstr "незавершённая строка в кавычках"
 
-#: repl_scanner.l:180
+#: repl_scanner.l:181
 #, c-format
 msgid "syntax error: unexpected character \"%s\""
 msgstr "ошибка синтаксиса: неожиданный символ \"%s\""
 
-#: scan.l:432
+#: scan.l:433
 msgid "unterminated /* comment"
 msgstr "незавершённый комментарий /*"
 
-#: scan.l:461
+#: scan.l:462
 msgid "unterminated bit string literal"
 msgstr "оборванная битовая строка"
 
-#: scan.l:482
+#: scan.l:483
 msgid "unterminated hexadecimal string literal"
 msgstr "оборванная шестнадцатеричная строка"
 
-#: scan.l:532
+#: scan.l:533
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "небезопасное использование строковой константы со спецкодами Unicode"
 
-#: scan.l:533
+#: scan.l:534
 #, c-format
 msgid ""
 "String constants with Unicode escapes cannot be used when "
@@ -24647,31 +25595,31 @@ msgstr ""
 "Строки со спецкодами Unicode нельзя использовать, когда параметр "
 "standard_conforming_strings выключен."
 
-#: scan.l:577 scan.l:773
+#: scan.l:580 scan.l:779
 msgid "invalid Unicode escape character"
 msgstr "неверный символ спецкода Unicode"
 
-#: scan.l:602 scan.l:610 scan.l:618 scan.l:619 scan.l:620 scan.l:1329
-#: scan.l:1356 scan.l:1360 scan.l:1398 scan.l:1402 scan.l:1424
+#: scan.l:606 scan.l:614 scan.l:622 scan.l:623 scan.l:624 scan.l:1338
+#: scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433
 msgid "invalid Unicode surrogate pair"
 msgstr "неверная суррогатная пара Unicode"
 
-#: scan.l:624
+#: scan.l:628
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "неверный спецкод Unicode"
 
-#: scan.l:625
+#: scan.l:629
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX."
 
-#: scan.l:636
+#: scan.l:640
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "небезопасное использование символа \\' в строке"
 
-#: scan.l:637
+#: scan.l:641
 #, c-format
 msgid ""
 "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
@@ -24679,35 +25627,35 @@ msgstr ""
 "Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для "
 "исключительно клиентских кодировок."
 
-#: scan.l:712
+#: scan.l:716
 msgid "unterminated dollar-quoted string"
 msgstr "незавершённая спецстрока с $"
 
-#: scan.l:729 scan.l:753 scan.l:768
+#: scan.l:733 scan.l:759 scan.l:774
 msgid "zero-length delimited identifier"
 msgstr "пустой идентификатор в кавычках"
 
-#: scan.l:788
+#: scan.l:794 syncrep_scanner.l:84
 msgid "unterminated quoted identifier"
 msgstr "незавершённый идентификатор в кавычках"
 
-#: scan.l:919
+#: scan.l:925
 msgid "operator too long"
 msgstr "слишком длинный оператор"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1072
+#: scan.l:1078
 #, c-format
 msgid "%s at end of input"
 msgstr "%s в конце"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1080
+#: scan.l:1086
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s (примерное положение: \"%s\")"
 
-#: scan.l:1245 scan.l:1277
+#: scan.l:1252 scan.l:1284
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
 "the server encoding is not UTF8"
@@ -24715,16 +25663,16 @@ msgstr ""
 "Спецкоды Unicode для значений выше 007F можно использовать только с "
 "серверной кодировкой UTF8"
 
-#: scan.l:1273 scan.l:1416
+#: scan.l:1280 scan.l:1425
 msgid "invalid Unicode escape value"
 msgstr "неверное значение спецкода Unicode"
 
-#: scan.l:1472
+#: scan.l:1482
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "нестандартное применение \\' в строке"
 
-#: scan.l:1473
+#: scan.l:1483
 #, c-format
 msgid ""
 "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
@@ -24732,27 +25680,178 @@ msgstr ""
 "Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок "
 "(E'...')."
 
-#: scan.l:1482
+#: scan.l:1492
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "нестандартное применение \\\\ в строке"
 
-#: scan.l:1483
+#: scan.l:1493
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr ""
 "Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'."
 
-#: scan.l:1497
+#: scan.l:1507
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "нестандартное использование спецсимвола в строке"
 
-#: scan.l:1498
+#: scan.l:1508
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'."
 
+#~ msgid "aggregate serialization type cannot be \"%s\""
+#~ msgstr "сериализуемым типом данных агрегата не может быть \"%s\""
+
+#~ msgid "Enables use of foreign keys for estimating joins."
+#~ msgstr "Разрешает использовать внешние ключи для оценивания соединений."
+
+#~ msgid "could not create two-phase state file \"%s\": %m"
+#~ msgstr "не удалось создать файл состояния 2PC \"%s\": %m"
+
+#~ msgid "could not seek in two-phase state file: %m"
+#~ msgstr "не удалось переместиться в файле состояния 2PC: %m"
+
+#~ msgid "two-phase state file for transaction %u is corrupt"
+#~ msgstr "в файле состояния 2PC испорчена информация о транзакции %u"
+
+#~ msgid "could not fsync two-phase state file \"%s\": %m"
+#~ msgstr "не удалось синхронизировать с ФС файл состояния 2PC \"%s\": %m"
+
+#~ msgid "could not close two-phase state file \"%s\": %m"
+#~ msgstr "не удалось закрыть файл состояния 2PC \"%s\": %m"
+
+#~ msgid ""
+#~ "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
+#~ msgstr ""
+#~ "для файла \"%s\" не удалось создать ссылку \"%s\" (при инициализации "
+#~ "файла журнала): %m"
+
+#~ msgid ""
+#~ "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
+#~ msgstr ""
+#~ "не удалось переименовать файл \"%s\" в \"%s\" (при инициализации файла "
+#~ "журнала): %m"
+
+#~ msgid "ignoring \"%s\" file because no \"%s\" file exists"
+#~ msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\""
+
+#~ msgid "must be superuser or replication role to run a backup"
+#~ msgstr ""
+#~ "запускать резервное копирование может только суперпользователь или роль "
+#~ "репликации"
+
+#~ msgid "must be superuser to switch transaction log files"
+#~ msgstr ""
+#~ "для переключения файлов журнала транзакций нужно быть суперпользователем"
+
+#~ msgid "must be superuser to create a restore point"
+#~ msgstr "для создания точки восстановления нужно быть суперпользователем"
+
+#~ msgid "must be superuser to control recovery"
+#~ msgstr "для управления восстановлением нужно быть суперпользователем"
+
+#~ msgid "%s is already in schema \"%s\""
+#~ msgstr "объект %s уже существует в схеме \"%s\""
+
+#~ msgid "function \"%s\" must return type \"event_trigger\""
+#~ msgstr "функция \"%s\" должна возвращать тип \"event_trigger\""
+
+#~ msgid "function %s must return type \"fdw_handler\""
+#~ msgstr "функция %s должна возвращать тип \"fdw_handler\""
+
+#~ msgid "could not reposition held cursor"
+#~ msgstr "передвинуть сохранённый курсор не удалось"
+
+#~ msgid "function %s must return type \"language_handler\""
+#~ msgstr "функция %s должна возвращать тип \"language_handler\""
+
+#~ msgid "function %s must return type \"trigger\""
+#~ msgstr "функция %s должна возвращать тип \"trigger\""
+
+#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\""
+#~ msgstr "изменение типа возврата функции %s с \"opaque\" на \"cstring\""
+
+#~ msgid "type output function %s must return type \"cstring\""
+#~ msgstr "функция вывода типа %s должна возвращать тип \"cstring\""
+
+#~ msgid "type send function %s must return type \"bytea\""
+#~ msgstr "функция отправки типа %s должна возвращать тип \"bytea\""
+
+#~ msgid "typmod_in function %s must return type \"integer\""
+#~ msgstr "функция TYPMOD_IN %s должна возвращать тип \"integer\""
+
+#~ msgid "Permissions should be u=rw (0600) or less."
+#~ msgstr "Права должны быть u=rw (0600) или более ограниченные."
+
+#~ msgid "system columns cannot be used in an ON CONFLICT clause"
+#~ msgstr "системные столбцы нельзя использовать в предложении ON CONFLICT"
+
+#~ msgid "function %s must return type \"tsm_handler\""
+#~ msgstr "функция %s должна возвращать тип \"tsm_handler\""
+
+#~ msgid "could not open process token: error code %lu\n"
+#~ msgstr "не удалось открыть маркер процесса (код ошибки: %lu)\n"
+
+#~ msgid "could not get SID for Administrators group: error code %lu\n"
+#~ msgstr "не удалось получить SID группы Администраторы (код ошибки: %lu)\n"
+
+#~ msgid "could not get SID for PowerUsers group: error code %lu\n"
+#~ msgstr ""
+#~ "не удалось получить SID группы Опытные пользователи (код ошибки: %lu)\n"
+
+#~ msgid "must be superuser to reset statistics counters"
+#~ msgstr "для сброса счётчиков статистики нужно быть суперпользователем"
+
+#~ msgid "socket not open"
+#~ msgstr "сокет не открыт"
+
+#~ msgid "multibyte flag character is not allowed"
+#~ msgstr "многобайтные символы флагов не допускаются"
+
+#~ msgid "could not format \"path\" value"
+#~ msgstr "не удалось отформатировать значение \"path\""
+
+#~ msgid "invalid input syntax for type box: \"%s\""
+#~ msgstr "неверный синтаксис для типа box: \"%s\""
+
+#~ msgid "invalid input syntax for type line: \"%s\""
+#~ msgstr "неверный синтаксис для типа line: \"%s\""
+
+#~ msgid "invalid input syntax for type path: \"%s\""
+#~ msgstr "неверный синтаксис для типа path: \"%s\""
+
+#~ msgid "invalid input syntax for type point: \"%s\""
+#~ msgstr "неверный синтаксис для типа point: \"%s\""
+
+#~ msgid "invalid input syntax for type lseg: \"%s\""
+#~ msgstr "неверный синтаксис для типа lseg: \"%s\""
+
+#~ msgid "invalid input syntax for type polygon: \"%s\""
+#~ msgstr "неверный синтаксис для типа polygon: \"%s\""
+
+#~ msgid "invalid input syntax for type circle: \"%s\""
+#~ msgstr "неверный синтаксис для типа circle: \"%s\""
+
+#~ msgid "could not format \"circle\" value"
+#~ msgstr "не удалось отформатировать значение \"circle\""
+
+#~ msgid "must be superuser to signal the postmaster"
+#~ msgstr "сигнализировать процессу postmaster может только суперпользователь"
+
+#~ msgid "must be superuser to rotate log files"
+#~ msgstr "прокрутить файлы протоколов может только суперпользователь"
+
+#~ msgid "argument for function \"exp\" too big"
+#~ msgstr "аргумент функции \"exp\" слишком велик"
+
+#~ msgid "could not convert to time zone \"%s\""
+#~ msgstr "не удалось пересчитать время в часовой пояс \"%s\""
+
+#~ msgid "WAL writer sleep time between WAL flushes."
+#~ msgstr "Время простоя в процессе записи WAL после сброса буферов на диск."
+
 #~ msgid "insufficient privilege to bypass row-level security"
 #~ msgstr "недостаточно прав для обхода защиты на уровне строк"
 
@@ -24848,12 +25947,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr ""
 #~ "значением ключа должен быть скаляр, не массив, составное значение или json"
 
-#~ msgid "posting list is too long"
-#~ msgstr "слишком длинный список указателей"
-
-#~ msgid "Reduce maintenance_work_mem"
-#~ msgstr "Уменьшите maintenance_work_mem"
-
 #~ msgid "oldest MultiXactId member offset unknown"
 #~ msgstr "смещение членов старейшей мультитранзакции неизвестно"
 
@@ -24867,12 +25960,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "parallel option \"%s\" not recognized"
 #~ msgstr "параметр \"%s\" указания PARALLEL не распознан"
 
-#~ msgid "operator attribute \"%s\" can not be changed"
-#~ msgstr "атрибут оператора \"%s\" нельзя изменить"
-
-#~ msgid "column \"%s\" of relation \"%s\" already exists, skipping"
-#~ msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается"
-
 #~ msgid "%d: %s(%s): excl %u shared %u haswaiters %u waiters %u rOK %d"
 #~ msgstr "%d: %s(%s): искл. %u разделяем. %u есть_ждущие %u ждут %u осв. %d"
 
@@ -24932,9 +26019,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "incorrect total length in record at %X/%X"
 #~ msgstr "некорректная общая длина в записи по смещению %X/%X"
 
-#~ msgid "role with OID %u does not exist"
-#~ msgstr "роль с OID %u не существует"
-
 #~ msgid "=> is deprecated as an operator name"
 #~ msgstr "=> как имя оператора считается устаревшим"
 
@@ -25182,9 +26266,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "could not rename file \"%s\" to \"%s\" : %m"
 #~ msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
 
-#~ msgid "invalid number or arguments"
-#~ msgstr "неверное число аргументов"
-
 #~ msgid "%s \"%s\": return code %d"
 #~ msgstr "%s \"%s\": код возврата %d"
 
@@ -25648,9 +26729,6 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "select() failed in logger process: %m"
 #~ msgstr "сбой select() в процессе протоколирования: %m"
 
-#~ msgid "%s: could not open file \"%s\": %s\n"
-#~ msgstr "%s: не удалось открыть файл \"%s\": %s\n"
-
 #~ msgid "%s: could not open log file \"%s/%s\": %s\n"
 #~ msgstr "%s: не удалось открыть файл протокола \"%s/%s\": %s\n"
 
diff --git a/src/backend/po/zh_CN.po b/src/backend/po/zh_CN.po
index 2d2ab855bdc4d0310aeacd2844e1d6f58bcb0812..1e6934a7a545772e1c2de56608aeeb93f0efa5fd 100644
--- a/src/backend/po/zh_CN.po
+++ b/src/backend/po/zh_CN.po
@@ -5,8 +5,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: postgres (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:42+0000\n"
-"PO-Revision-Date: 2016-01-03 23:27-0500\n"
+"POT-Creation-Date: 2016-04-18 04:43+0000\n"
+"PO-Revision-Date: 2016-06-12 15:34+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
 "Language-Team: Chinese (Simplified)\n"
 "Language: zh_CN\n"
@@ -16,6 +16,80 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 1.5.7\n"
 
+#: ../common/config_info.c:131 ../common/config_info.c:139
+#: ../common/config_info.c:147 ../common/config_info.c:155
+#: ../common/config_info.c:163 ../common/config_info.c:171
+#: ../common/config_info.c:179 ../common/config_info.c:187
+#: ../common/config_info.c:195
+#| msgid "not recorded\n"
+msgid "not recorded"
+msgstr "没有被记录"
+
+#: ../common/controldata_utils.c:52 commands/copy.c:2798
+#: commands/extension.c:3120 utils/adt/genfile.c:134
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "为了读取, 无法打开文件 \"%s\": %m"
+
+#: ../common/controldata_utils.c:56
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s: 为了读取, 无法打开文件 \"%s\": %s\n"
+
+#: ../common/controldata_utils.c:66 access/transam/timeline.c:346
+#: access/transam/xlog.c:3193 access/transam/xlog.c:10338
+#: access/transam/xlog.c:10351 access/transam/xlog.c:10714
+#: access/transam/xlog.c:10757 access/transam/xlog.c:10796
+#: access/transam/xlog.c:10839 access/transam/xlogfuncs.c:666
+#: access/transam/xlogfuncs.c:685 commands/extension.c:3130
+#: replication/logical/origin.c:665 replication/logical/origin.c:695
+#: replication/logical/reorderbuffer.c:3077 replication/walsender.c:499
+#: storage/file/copydir.c:176 utils/adt/genfile.c:151
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "无法读取文件 \"%s\": %m"
+
+#: ../common/controldata_utils.c:69
+#, c-format
+msgid "%s: could not read file \"%s\": %s\n"
+msgstr "%s: 无法读取文件 \"%s\": %s\n"
+
+#: ../common/controldata_utils.c:86
+msgid "calculated CRC checksum does not match value stored in file"
+msgstr "计算得到的 CRC 校验与存储在文件中的值不匹配"
+
+#: ../common/controldata_utils.c:88
+#, c-format
+msgid ""
+"WARNING: Calculated CRC checksum does not match value stored in file.\n"
+"Either the file is corrupt, or it has a different layout than this program\n"
+"is expecting.  The results below are untrustworthy.\n"
+"\n"
+msgstr ""
+"警告: 计算出来的CRC校验值与已保存在文件中的值不匹配.\n"
+"不是文件坏了,就是设计与程序的期望值不同.\n"
+"下面的结果是不可靠的.\n"
+"\n"
+
+#: ../common/controldata_utils.c:97
+#| msgid "%s: encoding mismatch\n"
+msgid "byte ordering mismatch"
+msgstr "字节排序不匹配"
+
+#: ../common/controldata_utils.c:99
+#, c-format
+msgid ""
+"WARNING: possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory.\n"
+msgstr ""
+"警告: 可能字节顺序不匹配\n"
+"用于存储文件pg_control的字节顺序可能与程序使用的不匹配\n"
+"在那种情况下结果将会是不正确的,并且所安装的PostgreSQL\n"
+"将会与这个数据目录不兼容\n"
+
 #: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
@@ -54,8 +128,8 @@ msgid "pclose failed: %s"
 msgstr "pclose调用失败: %s"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
-#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:598
-#: ../port/path.c:636 ../port/path.c:653
+#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:632
+#: ../port/path.c:670 ../port/path.c:687
 #, c-format
 msgid "out of memory\n"
 msgstr "内存溢出\n"
@@ -81,28 +155,29 @@ msgstr "无法读取目录 \"%s\": %s\n"
 msgid "could not close directory \"%s\": %s\n"
 msgstr "无法关闭目录 \"%s\": %s\n"
 
-#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
-#: ../port/path.c:651 access/transam/xlog.c:6041 lib/stringinfo.c:258
-#: libpq/auth.c:820 libpq/auth.c:1181 libpq/auth.c:1249 libpq/auth.c:1658
+#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668
+#: ../port/path.c:685 access/transam/twophase.c:1261
+#: access/transam/xlog.c:6069 lib/stringinfo.c:258 libpq/auth.c:847
+#: libpq/auth.c:1210 libpq/auth.c:1278 libpq/auth.c:1794
 #: postmaster/bgworker.c:289 postmaster/bgworker.c:797
-#: postmaster/postmaster.c:2317 postmaster/postmaster.c:2348
-#: postmaster/postmaster.c:3867 postmaster/postmaster.c:4555
-#: postmaster/postmaster.c:4623 postmaster/postmaster.c:5313
-#: postmaster/postmaster.c:5566 replication/logical/logical.c:167
-#: storage/buffer/localbuf.c:396 storage/file/fd.c:481 storage/file/fd.c:878
-#: storage/file/fd.c:996 storage/file/fd.c:1609 storage/ipc/procarray.c:907
-#: storage/ipc/procarray.c:1393 storage/ipc/procarray.c:1400
-#: storage/ipc/procarray.c:1793 storage/ipc/procarray.c:2377
+#: postmaster/postmaster.c:2323 postmaster/postmaster.c:2354
+#: postmaster/postmaster.c:3886 postmaster/postmaster.c:4576
+#: postmaster/postmaster.c:4644 postmaster/postmaster.c:5343
+#: postmaster/postmaster.c:5596 replication/logical/logical.c:170
+#: storage/buffer/localbuf.c:422 storage/file/fd.c:729 storage/file/fd.c:1126
+#: storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060
+#: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
+#: storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570
 #: utils/adt/formatting.c:1523 utils/adt/formatting.c:1643
-#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4199
-#: utils/adt/varlena.c:4220 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:411
-#: utils/hash/dynahash.c:488 utils/hash/dynahash.c:1002 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3723 utils/misc/guc.c:3739
-#: utils/misc/guc.c:3752 utils/misc/guc.c:6686 utils/misc/tzparser.c:470
-#: utils/mmgr/aset.c:504 utils/mmgr/mcxt.c:688 utils/mmgr/mcxt.c:723
-#: utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:831
-#: utils/mmgr/mcxt.c:860 utils/mmgr/mcxt.c:894 utils/mmgr/mcxt.c:974
-#: utils/mmgr/mcxt.c:1007 utils/mmgr/mcxt.c:1054
+#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
+#: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431
+#: utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3885 utils/misc/guc.c:3901
+#: utils/misc/guc.c:3914 utils/misc/guc.c:6859 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:505 utils/mmgr/mcxt.c:770 utils/mmgr/mcxt.c:805
+#: utils/mmgr/mcxt.c:842 utils/mmgr/mcxt.c:879 utils/mmgr/mcxt.c:913
+#: utils/mmgr/mcxt.c:942 utils/mmgr/mcxt.c:976 utils/mmgr/mcxt.c:1058
+#: utils/mmgr/mcxt.c:1092 utils/mmgr/mcxt.c:1141
 #, c-format
 msgid "out of memory"
 msgstr "内存用尽"
@@ -167,7 +242,7 @@ msgstr "无法删除目录 \"%s\": %s\n"
 msgid "could not look up effective user ID %ld: %s"
 msgstr "无法找到有效的用户ID %ld: %s"
 
-#: ../common/username.c:47 libpq/auth.c:1605
+#: ../common/username.c:47 libpq/auth.c:1741
 msgid "user does not exist"
 msgstr "用户不存在"
 
@@ -217,7 +292,7 @@ msgid "could not determine encoding for codeset \"%s\""
 msgstr "无法确定字符集的编码\"%s\""
 
 #: ../port/chklocale.c:260 ../port/chklocale.c:389
-#: postmaster/postmaster.c:4855
+#: postmaster/postmaster.c:4876
 #, c-format
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr "请向 <pgsql-bugs@postgresql.org>发送报告."
@@ -227,22 +302,22 @@ msgstr "请向 <pgsql-bugs@postgresql.org>发送报告."
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "无法确定语言环境\"%s\"的编码: 代码集是\"%s\""
 
-#: ../port/dirmod.c:216
+#: ../port/dirmod.c:218
 #, c-format
 msgid "could not set junction for \"%s\": %s"
 msgstr "无法为\"%s\"设置连接点: %s"
 
-#: ../port/dirmod.c:219
+#: ../port/dirmod.c:221
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "无法为\"%s\"设置连接点: %s\n"
 
-#: ../port/dirmod.c:291
+#: ../port/dirmod.c:295
 #, c-format
 msgid "could not get junction for \"%s\": %s"
 msgstr "无法得到联接 \"%s\": %s"
 
-#: ../port/dirmod.c:294
+#: ../port/dirmod.c:298
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "无法得到联接 \"%s\": %s\n"
@@ -273,7 +348,7 @@ msgid ""
 "database system."
 msgstr "您可能有反病毒,备份或类似的软件与数据库系统冲突"
 
-#: ../port/path.c:620
+#: ../port/path.c:654
 #, c-format
 msgid "could not get current working directory: %s\n"
 msgstr "无法得到当前工作目录: %s\n"
@@ -283,19 +358,79 @@ msgstr "无法得到当前工作目录: %s\n"
 msgid "unrecognized error %d"
 msgstr "未知的 SSL 错误码: %d"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
-#: access/brin/brin_pageops.c:828
+#: access/brin/brin.c:817
+#, c-format
+#| msgid "\"%s\" is not an index"
+msgid "\"%s\" is not a BRIN index"
+msgstr "\"%s\" 不是一个 BRIN 索引"
+
+#: access/brin/brin.c:833
+#, c-format
+#| msgid "could not open two-phase state file \"%s\": %m"
+msgid "could not open parent table of index %s"
+msgstr "无法打开索引 %s 的父表"
+
+#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:369
+#: access/brin/brin_pageops.c:844
 #, c-format
-#| msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "索引行的大小%1$lu超过了索引\"%3$s\"的最大值%2$lu"
 
-#: access/brin/brin_revmap.c:449
+#: access/brin/brin_revmap.c:456
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "意料之外的页类型0x%04X出现在BRIN索引\"%s\"的块%u中"
 
-#: access/common/heaptuple.c:708 access/common/heaptuple.c:1450
+#: access/brin/brin_validate.c:115
+#, c-format
+msgid "brin opfamily %s contains function %s with invalid support number %d"
+msgstr "brin opfamily %s 包含的函数 %s 具有无效的支持号 %d"
+
+#: access/brin/brin_validate.c:131
+#, c-format
+msgid ""
+"brin opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr "brin opfamily %s 包含的函数 %s 具有错误的支持号签名 %d"
+
+#: access/brin/brin_validate.c:153
+#, c-format
+msgid "brin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "brin opfamily %s 包含的操作符 %s 具有无效的策略号 %d"
+
+#: access/brin/brin_validate.c:182
+#, c-format
+msgid ""
+"brin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr "brin opfamily %s 包含的操作符 %s 的无效 ORDER BY 说明"
+
+#: access/brin/brin_validate.c:195
+#, c-format
+msgid "brin opfamily %s contains operator %s with wrong signature"
+msgstr "brin opfamily %s 包含的操作符 %s 具有错误的签名"
+
+#: access/brin/brin_validate.c:233
+#, c-format
+msgid "brin opfamily %s is missing operator(s) for types %s and %s"
+msgstr "brin opfamily %s 中缺少用于类型 %s 和 %s 的操作符"
+
+#: access/brin/brin_validate.c:243
+#, c-format
+msgid "brin opfamily %s is missing support function(s) for types %s and %s"
+msgstr "brin opfamily %s 中缺少用于类型 %s 和 %s 的支持函数"
+
+#: access/brin/brin_validate.c:256
+#, c-format
+msgid "brin opclass %s is missing operator(s)"
+msgstr "brin opclass %s 缺少操作符"
+
+#: access/brin/brin_validate.c:267
+#, c-format
+#| msgid "return type %s is not supported for SQL functions"
+msgid "brin opclass %s is missing support function %d"
+msgstr "brin opclass %s 缺少支持函数 %d"
+
+#: access/common/heaptuple.c:708 access/common/heaptuple.c:1339
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "字段个数 (%d) 超出限制 (%d)"
@@ -305,68 +440,68 @@ msgstr "字段个数 (%d) 超出限制 (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "索引字段个数 (%d) 超出限制 (%d)"
 
-#: access/common/indextuple.c:176 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:176 access/spgist/spgutils.c:646
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "索引行需要 %zu 字节, 最大值为 %zu"
 
 #: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
-#: tcop/postgres.c:1730
+#: tcop/postgres.c:1721
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "不支持的格式代码: %d"
 
-#: access/common/reloptions.c:419
+#: access/common/reloptions.c:488
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "用户定义的关系参数类型超过限制"
 
-#: access/common/reloptions.c:701
+#: access/common/reloptions.c:770
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET中不能包含参数的值"
 
-#: access/common/reloptions.c:734
+#: access/common/reloptions.c:803
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "未识别的参数命名空间 \"%s\""
 
-#: access/common/reloptions.c:974 parser/parse_clause.c:279
+#: access/common/reloptions.c:1045 parser/parse_clause.c:281
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "未识别的参数 \"%s\""
 
-#: access/common/reloptions.c:1004
+#: access/common/reloptions.c:1075
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "表名 \"%s\" 被指定多次"
 
-#: access/common/reloptions.c:1020
+#: access/common/reloptions.c:1091
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "布尔选项\"%s\"的值无效:%s"
 
-#: access/common/reloptions.c:1032
+#: access/common/reloptions.c:1103
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "参数 \"%s\" 的值无效: \"%s\""
 
-#: access/common/reloptions.c:1038 access/common/reloptions.c:1058
+#: access/common/reloptions.c:1109 access/common/reloptions.c:1129
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "值 %s超出了选项\"%s\"的范围"
 
-#: access/common/reloptions.c:1040
+#: access/common/reloptions.c:1111
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "有效值在\"%d\"和\"%d\"之间."
 
-#: access/common/reloptions.c:1052
+#: access/common/reloptions.c:1123
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "浮点数类型选项\"%s\"的值无效:%s"
 
-#: access/common/reloptions.c:1060
+#: access/common/reloptions.c:1131
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "有效值在 \"%f\"和 \"%f\"之间"
@@ -394,42 +529,123 @@ msgstr "类型%2$s的属性\"%1$s\"与对应类型%3$s的属性不匹配。"
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "类型%2$s的属性\"%1$s\"在类型%3$s中不存在."
 
-#: access/common/tupdesc.c:635 parser/parse_relation.c:1514
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1517
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "字段 \"%s\" 不能被声明为 SETOF"
 
-#: access/gin/ginentrypage.c:109 access/gist/gist.c:1289
-#: access/nbtree/nbtinsert.c:567 access/nbtree/nbtsort.c:488
-#: access/spgist/spgdoinsert.c:1907
+#: access/gin/ginbulk.c:44
+#, c-format
+#| msgid "payload string too long"
+msgid "posting list is too long"
+msgstr "位置列表太长"
+
+#: access/gin/ginbulk.c:45
+#, c-format
+msgid "Reduce maintenance_work_mem"
+msgstr "减小 maintenance_work_mem"
+
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1354
+#: access/nbtree/nbtinsert.c:575 access/nbtree/nbtsort.c:488
+#: access/spgist/spgdoinsert.c:1915
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "索引行的大小 %1$zu 超过了索引\"%3$s\"所允许的最大值%2$zu"
 
-#: access/gin/ginscan.c:410
+#: access/gin/ginfast.c:979 access/transam/xlog.c:9795
+#: access/transam/xlog.c:10266 access/transam/xlogfuncs.c:294
+#: access/transam/xlogfuncs.c:321 access/transam/xlogfuncs.c:360
+#: access/transam/xlogfuncs.c:381 access/transam/xlogfuncs.c:402
+#: access/transam/xlogfuncs.c:472 access/transam/xlogfuncs.c:528
+#, c-format
+msgid "recovery is in progress"
+msgstr "恢复操作正在进行中"
+
+#: access/gin/ginfast.c:980
+#, c-format
+#| msgid "WAL control functions cannot be executed during recovery."
+msgid "GIN pending list cannot be cleaned up during recovery."
+msgstr "在恢复期间不能清理 GIN 待处理列表。"
+
+#: access/gin/ginfast.c:987
+#, c-format
+#| msgid "\"%s\" is not an index"
+msgid "\"%s\" is not a GIN index"
+msgstr "\"%s\" 不是一个 GIN 索引"
+
+#: access/gin/ginfast.c:998
+#, c-format
+#| msgid "cannot access temporary tables of other sessions"
+msgid "cannot access temporary indexes of other sessions"
+msgstr "不能访问其他会话的临时索引"
+
+#: access/gin/ginscan.c:409
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr "老的GIN索引不支持完整索引 (whole-index) 扫描,也不支持null值搜索"
 
-#: access/gin/ginscan.c:411
+#: access/gin/ginscan.c:410
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "要解决此问题, 可执行REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:632 access/gist/gistvacuum.c:266
+#: access/gin/ginvalidate.c:92
+#, c-format
+msgid ""
+"gin opfamily %s contains support procedure %s with cross-type registration"
+msgstr "gin opfamily %s 包含的支持过程 %s 被注册在多种类型中"
+
+#: access/gin/ginvalidate.c:148
+#, c-format
+msgid "gin opfamily %s contains function %s with invalid support number %d"
+msgstr "gin opfamily %1$s 包含具有无效支持编号 %3$d 的函数 %2$s"
+
+#: access/gin/ginvalidate.c:160
+#, c-format
+msgid ""
+"gin opfamily %s contains function %s with wrong signature for support number "
+"%d"
+msgstr "gin opfamily %1$s 包含的函数 %2$s 对支持编号 %3$d 具有错误的签名"
+
+#: access/gin/ginvalidate.c:179
+#, c-format
+msgid "gin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "gin opfamily %1$s 包含具有无效策略编号 %3$d 的操作符 %2$s"
+
+#: access/gin/ginvalidate.c:192
+#, c-format
+msgid "gin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr "gin opfamily %s 包含操作符 %s 的无效 ORDER BY 声明"
+
+#: access/gin/ginvalidate.c:205
+#, c-format
+msgid "gin opfamily %s contains operator %s with wrong signature"
+msgstr "gin opfamily %s 包含具有错误签名的操作符 %s"
+
+#: access/gin/ginvalidate.c:246
+#, c-format
+msgid "gin opclass %s is missing support function %d"
+msgstr "gin opclass %s 缺少支持函数 %d"
+
+#: access/gin/ginvalidate.c:256
+#, c-format
+msgid "gin opclass %s is missing support function %d or %d"
+msgstr "gin opclass %s 缺少支持函数 %d 或 %d"
+
+#: access/gist/gist.c:692 access/gist/gistvacuum.c:258
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "索引\"%s\"包含无效的内部元组"
 
-#: access/gist/gist.c:634 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:694 access/gist/gistvacuum.c:260
 #, c-format
 msgid ""
 "This is caused by an incomplete page split at crash recovery before "
 "upgrading to PostgreSQL 9.1."
 msgstr "这是在升级到PostgreSQL 9.1之前执行灾难恢复时不完全的页分裂引起的."
 
-#: access/gist/gist.c:635 access/gist/gistutil.c:735
-#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:269
+#: access/gist/gist.c:695 access/gist/gistutil.c:735
+#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:261
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
 #: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
@@ -437,12 +653,12 @@ msgstr "这是在升级到PostgreSQL 9.1之前执行灾难恢复时不完全的
 msgid "Please REINDEX it."
 msgstr "请重建索引 (REINDEX)."
 
-#: access/gist/gistbuild.c:252
+#: access/gist/gistbuild.c:249
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "\"buffering\"选项值无效"
 
-#: access/gist/gistbuild.c:253
+#: access/gist/gistbuild.c:250
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "有效值为\"on\", \"off\", 或 \"auto\"之一."
@@ -478,18 +694,64 @@ msgstr "索引\"%s\"在块%u上包含未期望的零页"
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "索引\"%s\"在块%u上包含已损坏的页"
 
-#: access/hash/hashinsert.c:68
+#: access/gist/gistvalidate.c:92
+#, c-format
+msgid ""
+"gist opfamily %s contains support procedure %s with cross-type registration"
+msgstr "gist opfamily %s 包含具有跨类型注册的支持过程 %s"
+
+#: access/gist/gistvalidate.c:145
+#, c-format
+msgid "gist opfamily %s contains function %s with invalid support number %d"
+msgstr "gist opfamily %1$s 包含具有无效支持编号 %3$d 的函数 %2$s"
+
+#: access/gist/gistvalidate.c:157
+#, c-format
+msgid ""
+"gist opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr "gist opfamily %1$s 包含的函数 %2$s 对支持编号 %3$d 具有错误的签名"
+
+#: access/gist/gistvalidate.c:177
+#, c-format
+msgid "gist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "gist opfamily %1$s 包含具有无效策略编号 %3$d 的操作符 %2$s"
+
+#: access/gist/gistvalidate.c:195
+#, c-format
+msgid ""
+"gist opfamily %s contains unsupported ORDER BY specification for operator %s"
+msgstr "gist opfamily %s 包含操作符 %s 的不支持的 ORDER BY 声明"
+
+#: access/gist/gistvalidate.c:206
+#, c-format
+msgid ""
+"gist opfamily %s contains incorrect ORDER BY opfamily specification for "
+"operator %s"
+msgstr "gist opfamily %s 包含操作符 %s 的不正确的 ORDER BY opfamily 声明"
+
+#: access/gist/gistvalidate.c:225
+#, c-format
+msgid "gist opfamily %s contains operator %s with wrong signature"
+msgstr "gist opfamily %s 包含具有错误签名的操作符 %s"
+
+#: access/gist/gistvalidate.c:264
+#, c-format
+msgid "gist opclass %s is missing support function %d"
+msgstr "gist opclass %s 缺少支持函数 %d"
+
+#: access/hash/hashinsert.c:69
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "索引行大小 %zu 超过散列最大值 %zu"
 
-#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911
-#: access/spgist/spgutils.c:666
+#: access/hash/hashinsert.c:71 access/spgist/spgdoinsert.c:1919
+#: access/spgist/spgutils.c:707
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "大于一个缓冲页的值无法用于创建索引."
 
-#: access/hash/hashovfl.c:546
+#: access/hash/hashovfl.c:548
 #, c-format
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "散列索引 \"%s\" 中页溢出"
@@ -509,60 +771,110 @@ msgstr "索引 \"%s\" 不是一个散列索引"
 msgid "index \"%s\" has wrong hash version"
 msgstr "索引 \"%s\" 有错误的散列版本"
 
-#: access/heap/heapam.c:1074 access/heap/heapam.c:1126
+#: access/hash/hashvalidate.c:98
+#, c-format
+msgid ""
+"hash opfamily %s contains support procedure %s with cross-type registration"
+msgstr "hash opfamily %s 包含具有跨类型注册的支持过程 %s"
+
+#: access/hash/hashvalidate.c:113
+#, c-format
+msgid ""
+"hash opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr "hash opfamily %1$s 包含的函数 %2$s 对支持编号 %3$d 具有错误的签名"
+
+#: access/hash/hashvalidate.c:130
+#, c-format
+msgid "hash opfamily %s contains function %s with invalid support number %d"
+msgstr "hash opfamily %1$s 包含具有无效支持编号 %3$d 的函数 %2$s"
+
+#: access/hash/hashvalidate.c:151
+#, c-format
+msgid "hash opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "hash opfamily %1$s 包含具有无效策略编号 %3$d 的操作符 %2$s"
+
+#: access/hash/hashvalidate.c:164
+#, c-format
+msgid ""
+"hash opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr "hash opfamily %s 包含操作符 %s 的无效 ORDER BY 声明"
+
+#: access/hash/hashvalidate.c:177
+#, c-format
+msgid "hash opfamily %s contains operator %s with wrong signature"
+msgstr "hash opfamily %s 包含具有错误签名的操作符 %s"
+
+#: access/hash/hashvalidate.c:189
+#, c-format
+msgid "hash opfamily %s lacks support function for operator %s"
+msgstr "hash opfamily %s 缺少操作符 %s 的支持函数"
+
+#: access/hash/hashvalidate.c:217
+#, c-format
+msgid "hash opfamily %s is missing operator(s) for types %s and %s"
+msgstr "hash opfamily %s 缺少类型 %s 和 %s 的操作符"
+
+#: access/hash/hashvalidate.c:231
+#, c-format
+msgid "hash opclass %s is missing operator(s)"
+msgstr "hash opclass %s 缺少操作符"
+
+#: access/hash/hashvalidate.c:247
+#, c-format
+msgid "hash opfamily %s is missing cross-type operator(s)"
+msgstr "hash opclass %s 缺少跨类型操作符"
+
+#: access/heap/heapam.c:1137 access/heap/heapam.c:1189
 #, c-format
-#| msgid "cannot create temporary tables during recovery"
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "不能在并行操作期间访问临时表"
 
-#: access/heap/heapam.c:1243 access/heap/heapam.c:1271
-#: access/heap/heapam.c:1303 catalog/aclchk.c:1733
+#: access/heap/heapam.c:1306 access/heap/heapam.c:1334
+#: access/heap/heapam.c:1366 catalog/aclchk.c:1755
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" 是一个索引"
 
-#: access/heap/heapam.c:1248 access/heap/heapam.c:1276
-#: access/heap/heapam.c:1308 catalog/aclchk.c:1740 commands/tablecmds.c:8953
-#: commands/tablecmds.c:11976
+#: access/heap/heapam.c:1311 access/heap/heapam.c:1339
+#: access/heap/heapam.c:1371 catalog/aclchk.c:1762 commands/tablecmds.c:8986
+#: commands/tablecmds.c:12044
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" 为混和类型"
 
-#: access/heap/heapam.c:2344
+#: access/heap/heapam.c:2580
 #, c-format
-#| msgid "cannot insert multiple commands into a prepared statement"
 msgid "cannot insert tuples during a parallel operation"
 msgstr "无法在并行操作期间插入元组"
 
-#: access/heap/heapam.c:2794
+#: access/heap/heapam.c:3030
 #, c-format
-#| msgid "cannot execute %s during recovery"
 msgid "cannot delete tuples during a parallel operation"
 msgstr "无法在并行操作期间删除元组"
 
-#: access/heap/heapam.c:2840
+#: access/heap/heapam.c:3076
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "试图删除不可见元组"
 
-#: access/heap/heapam.c:3267 access/heap/heapam.c:5818
+#: access/heap/heapam.c:3503 access/heap/heapam.c:6063
 #, c-format
-#| msgid "cannot execute %s during recovery"
 msgid "cannot update tuples during a parallel operation"
 msgstr "无法在并行操作期间更新元组"
 
-#: access/heap/heapam.c:3389
+#: access/heap/heapam.c:3625
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "试图更新不可见元组"
 
-#: access/heap/heapam.c:4640 access/heap/heapam.c:4678
-#: access/heap/heapam.c:4901 executor/execMain.c:2279
+#: access/heap/heapam.c:4884 access/heap/heapam.c:4922
+#: access/heap/heapam.c:5145 executor/execMain.c:2304
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "无法在关系 \"%s\"中的记录上获得锁"
 
-#: access/heap/hio.c:253 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:325 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "行太大: 尺寸 %zu, 最大值 %zu"
@@ -574,23 +886,22 @@ msgstr "无法往文件 \"%s\" 偏移量 %d, %d 写入: %m"
 
 #: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
 #: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
-#: access/transam/timeline.c:497 access/transam/xlog.c:3011
-#: access/transam/xlog.c:3173 replication/logical/origin.c:613
-#: replication/logical/snapbuild.c:1592 replication/slot.c:1026
-#: replication/slot.c:1115 storage/file/fd.c:459 storage/file/fd.c:2718
-#: storage/smgr/md.c:982 storage/smgr/md.c:1213 storage/smgr/md.c:1386
-#: utils/misc/guc.c:6708
+#: access/transam/timeline.c:483 access/transam/xlog.c:3060
+#: access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607
+#: replication/slot.c:1077 replication/slot.c:1162 storage/file/fd.c:624
+#: storage/file/fd.c:3052 storage/smgr/md.c:1031 storage/smgr/md.c:1262
+#: storage/smgr/md.c:1435 utils/misc/guc.c:6881
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "无法 fsync 文件 \"%s\": %m"
 
 #: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
-#: access/transam/timeline.c:315 access/transam/timeline.c:475
-#: access/transam/xlog.c:2967 access/transam/xlog.c:3116
-#: access/transam/xlog.c:10099 access/transam/xlog.c:10135
-#: access/transam/xlog.c:10457 postmaster/postmaster.c:4330
-#: replication/logical/origin.c:542 replication/slot.c:983
-#: storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1071
+#: access/transam/timeline.c:315 access/transam/timeline.c:461
+#: access/transam/xlog.c:3016 access/transam/xlog.c:3165
+#: access/transam/xlog.c:10124 access/transam/xlog.c:10162
+#: access/transam/xlog.c:10489 postmaster/postmaster.c:4351
+#: replication/logical/origin.c:542 replication/slot.c:1034
+#: storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1175
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "无法创建文件 \"%s\": %m"
@@ -600,86 +911,98 @@ msgstr "无法创建文件 \"%s\": %m"
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "无法将文件\"%s\"截断为%u:%m"
 
-#: access/heap/rewriteheap.c:1156 replication/walsender.c:479
-#: storage/smgr/md.c:1798
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:481
+#: storage/smgr/md.c:1847
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "无法查找到文件\"%s\"的末端: %m"
 
 #: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
-#: access/transam/timeline.c:401 access/transam/timeline.c:491
-#: access/transam/xlog.c:3002 access/transam/xlog.c:3166
-#: postmaster/postmaster.c:4340 postmaster/postmaster.c:4350
+#: access/transam/timeline.c:401 access/transam/timeline.c:477
+#: access/transam/xlog.c:3051 access/transam/xlog.c:3215
+#: postmaster/postmaster.c:4361 postmaster/postmaster.c:4371
 #: replication/logical/origin.c:551 replication/logical/origin.c:587
-#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1576
-#: replication/slot.c:1012 storage/file/copydir.c:187
-#: utils/init/miscinit.c:1199 utils/init/miscinit.c:1208
-#: utils/init/miscinit.c:1215 utils/misc/guc.c:6669 utils/misc/guc.c:6700
-#: utils/misc/guc.c:8487 utils/misc/guc.c:8501 utils/time/snapmgr.c:1076
-#: utils/time/snapmgr.c:1083
+#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1591
+#: replication/slot.c:1063 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
+#: utils/init/miscinit.c:1244 utils/misc/guc.c:6842 utils/misc/guc.c:6873
+#: utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1180
+#: utils/time/snapmgr.c:1187
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "无法写入文件 \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10324
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10356
 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
-#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2421
-#: replication/logical/reorderbuffer.c:2478
-#: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
-#: replication/slot.c:1089 storage/ipc/dsm.c:326 storage/smgr/md.c:420
-#: storage/smgr/md.c:469 storage/smgr/md.c:1333
+#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2611
+#: replication/logical/reorderbuffer.c:2668
+#: replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910
+#: replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:420
+#: storage/smgr/md.c:469 storage/smgr/md.c:1382
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "无法删除文件 \"%s\": %m"
 
 #: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:2943 access/transam/xlog.c:3060
-#: access/transam/xlog.c:3101 access/transam/xlog.c:3392
-#: access/transam/xlog.c:3470 replication/basebackup.c:398
-#: replication/basebackup.c:1159 replication/logical/logicalfuncs.c:154
-#: replication/logical/origin.c:677 replication/logical/reorderbuffer.c:2038
-#: replication/logical/reorderbuffer.c:2242
-#: replication/logical/reorderbuffer.c:2869
-#: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
-#: replication/slot.c:1104 replication/walsender.c:472
-#: replication/walsender.c:2097 storage/file/copydir.c:155
-#: storage/file/fd.c:445 storage/file/fd.c:2653 storage/file/fd.c:2705
-#: storage/smgr/md.c:602 storage/smgr/md.c:860 utils/error/elog.c:1854
-#: utils/init/miscinit.c:1134 utils/init/miscinit.c:1255
-#: utils/init/miscinit.c:1333 utils/misc/guc.c:6912 utils/misc/guc.c:6944
+#: access/transam/xlog.c:2992 access/transam/xlog.c:3109
+#: access/transam/xlog.c:3150 access/transam/xlog.c:3423
+#: access/transam/xlog.c:3501 access/transam/xlogutils.c:705
+#: replication/basebackup.c:401 replication/basebackup.c:1162
+#: replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2141
+#: replication/logical/reorderbuffer.c:2381
+#: replication/logical/reorderbuffer.c:3059
+#: replication/logical/snapbuild.c:1584 replication/logical/snapbuild.c:1668
+#: replication/slot.c:1151 replication/walsender.c:474
+#: replication/walsender.c:2104 storage/file/copydir.c:155
+#: storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031
+#: storage/smgr/md.c:602 utils/error/elog.c:1870 utils/init/miscinit.c:1163
+#: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7101
+#: utils/misc/guc.c:7134
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "无法打开文件 \"%s\": %m"
 
-#: access/index/indexam.c:172 catalog/objectaddress.c:1144
-#: commands/indexcmds.c:1754 commands/tablecmds.c:238
-#: commands/tablecmds.c:11967
+#: access/index/amapi.c:69 commands/amcmds.c:164
+#, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "access method \"%s\" is not of type %s"
+msgstr "访问方法 \"%s\" 不是类型 %s 的"
+
+#: access/index/amapi.c:78
+#, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "index access method \"%s\" does not have a handler"
+msgstr "索引访问方法 \"%s\" 没有处理器"
+
+#: access/index/indexam.c:155 catalog/objectaddress.c:1196
+#: commands/indexcmds.c:1799 commands/tablecmds.c:241
+#: commands/tablecmds.c:12035
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" 不是一个索引"
 
-#: access/nbtree/nbtinsert.c:419
+#: access/nbtree/nbtinsert.c:427
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "重复键违反唯一约束\"%s\""
 
-#: access/nbtree/nbtinsert.c:421
+#: access/nbtree/nbtinsert.c:429
 #, c-format
 msgid "Key %s already exists."
 msgstr "键值\"%s\" 已经存在"
 
-#: access/nbtree/nbtinsert.c:488
+#: access/nbtree/nbtinsert.c:496
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "在索引\"%s\"中重新寻找元组失败"
 
-#: access/nbtree/nbtinsert.c:490
+#: access/nbtree/nbtinsert.c:498
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "这可能是由于一个非不可改变的索引表达式引起的"
 
-#: access/nbtree/nbtinsert.c:570 access/nbtree/nbtsort.c:491
+#: access/nbtree/nbtinsert.c:578 access/nbtree/nbtsort.c:491
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -690,7 +1013,7 @@ msgstr ""
 "请考虑这个值MD5哈希函数索引,或者使用全文索引."
 
 #: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
-#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1665
+#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1715
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "索引 \"%s\" 不是一个 btree"
@@ -715,37 +1038,136 @@ msgstr ""
 "可能是由于升级之前, 使用了9.3或者更老的版本里的VACUUM命令并产生中断造成的. 请"
 "为它重建索引."
 
-#: access/spgist/spgutils.c:663
+#: access/nbtree/nbtvalidate.c:100
+#, c-format
+msgid "btree opfamily %s contains function %s with invalid support number %d"
+msgstr "btree opfamily %1$s 包含具有无效支持编号 %3$d 的函数 %2$s"
+
+#: access/nbtree/nbtvalidate.c:112
+#, c-format
+msgid ""
+"btree opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr "btree opfamily %1$s 包含的函数 %2$s 对支持编号 %3$d 具有错误的签名"
+
+#: access/nbtree/nbtvalidate.c:132
+#, c-format
+msgid "btree opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "btree opfamily %1$s 包含具有无效策略编号 %3$d 的操作符 %2$s"
+
+#: access/nbtree/nbtvalidate.c:145
+#, c-format
+msgid ""
+"btree opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr "btree opfamily %s 包含操作符 %s 的无效 ORDER BY 声明"
+
+#: access/nbtree/nbtvalidate.c:158
+#, c-format
+msgid "btree opfamily %s contains operator %s with wrong signature"
+msgstr "btree opfamily %s 包含具有错误签名的操作符 %s"
+
+#: access/nbtree/nbtvalidate.c:200
+#, c-format
+msgid "btree opfamily %s is missing operator(s) for types %s and %s"
+msgstr "btree opfamily %s 缺少类型 %s 和 %s 的操作符"
+
+#: access/nbtree/nbtvalidate.c:210
+#, c-format
+msgid "btree opfamily %s is missing support function for types %s and %s"
+msgstr "btree opfamily %s 缺少类型 %s 和 %s 的支持函数"
+
+#: access/nbtree/nbtvalidate.c:224
+#, c-format
+msgid "btree opclass %s is missing operator(s)"
+msgstr "btree opclass %s 缺少操作符"
+
+#: access/nbtree/nbtvalidate.c:241
+#, c-format
+msgid "btree opfamily %s is missing cross-type operator(s)"
+msgstr "btree opfamily %s 缺少跨类型操作符"
+
+#: access/spgist/spgutils.c:704
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "SP-GiST内部元组大小%zu超出最大值%zu"
 
+#: access/spgist/spgvalidate.c:92
+#, c-format
+msgid ""
+"spgist opfamily %s contains support procedure %s with cross-type registration"
+msgstr "spgist opfamily %s 包含具有跨类型注册的支持过程 %s"
+
+#: access/spgist/spgvalidate.c:115
+#, c-format
+msgid "spgist opfamily %s contains function %s with invalid support number %d"
+msgstr "spgist opfamily %1$s 包含具有无效支持编号 %3$d 的函数 %2$s"
+
+#: access/spgist/spgvalidate.c:127
+#, c-format
+msgid ""
+"spgist opfamily %s contains function %s with wrong signature for support "
+"number %d"
+msgstr "spgist opfamily %1$s 包含的函数 %2$s 对支持编号 %3$d 具有错误的签名"
+
+#: access/spgist/spgvalidate.c:146
+#, c-format
+msgid "spgist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr "spgist opfamily %1$s 包含具有无效策略编号 %3$d 的操作符 %2$s"
+
+#: access/spgist/spgvalidate.c:159
+#, c-format
+msgid ""
+"spgist opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr "spgist opfamily %s 包含操作符 %s 的无效 ORDER BY 声明"
+
+#: access/spgist/spgvalidate.c:172
+#, c-format
+msgid "spgist opfamily %s contains operator %s with wrong signature"
+msgstr "spgist opfamily %s 包含具有错误签名的操作符 %s"
+
+#: access/spgist/spgvalidate.c:200
+#, c-format
+msgid "spgist opfamily %s is missing operator(s) for types %s and %s"
+msgstr "spgist opfamily %s 缺少类型 %s 和 %s 的操作符"
+
+#: access/spgist/spgvalidate.c:220
+#, c-format
+msgid "spgist opfamily %s is missing support function %d for type %s"
+msgstr "spgist opfamily %1$s 缺少类型 %3$s 的支持函数 %2$d"
+
+#: access/spgist/spgvalidate.c:233
+#, c-format
+msgid "spgist opclass %s is missing operator(s)"
+msgstr "spgist opclass %s 缺少操作符"
+
 #: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156
 #, c-format
-#| msgid "timestamp(%d) precision must be between %d and %d"
 msgid "sample percentage must be between 0 and 100"
 msgstr "采样百分率必须位于0和100之间"
 
-#: access/transam/commit_ts.c:294
+#: access/transam/commit_ts.c:295
 #, c-format
-#| msgid "cannot inherit from temporary relation \"%s\""
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "无法检索到事务%u的提交时间戳"
 
-#: access/transam/commit_ts.c:302 access/transam/commit_ts.c:373
+#: access/transam/commit_ts.c:385
 #, c-format
-#| msgid "could not commit database transaction"
 msgid "could not get commit timestamp data"
 msgstr "无法得到提交时间戳数据"
 
-#: access/transam/commit_ts.c:303 access/transam/commit_ts.c:374
-#: libpq/hba.c:1424
+#: access/transam/commit_ts.c:387
+#, c-format
+#| msgid "Make sure the configuration parameter \"%s\" is set."
+msgid ""
+"Make sure the configuration parameter \"%s\" is set on the master server."
+msgstr "确保在主服务器上配置参数 \"%s\" 已经被设置。"
+
+#: access/transam/commit_ts.c:389 libpq/hba.c:1441
 #, c-format
-#| msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "确保配置参数\"%s\"已经被设置。"
 
-#: access/transam/multixact.c:1008
+#: access/transam/multixact.c:1000
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -753,8 +1175,8 @@ msgid ""
 msgstr ""
 "数据库没有接收产生新的MultiXactIds的命令来避免在数据库\"%s\"中的重叠数据损失"
 
-#: access/transam/multixact.c:1010 access/transam/multixact.c:1017
-#: access/transam/multixact.c:1041 access/transam/multixact.c:1050
+#: access/transam/multixact.c:1002 access/transam/multixact.c:1009
+#: access/transam/multixact.c:1033 access/transam/multixact.c:1042
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -763,7 +1185,7 @@ msgstr ""
 "在数据库中执行数据库范围的VACUUM.\n"
 "您也可能需要提交或回滚旧的已准备好的事务."
 
-#: access/transam/multixact.c:1015
+#: access/transam/multixact.c:1007
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -772,14 +1194,14 @@ msgstr ""
 "数据库没有接受产生新的MultiXactIds的命令来避免在带有OID为%u的数据库中的重叠数"
 "据损失"
 
-#: access/transam/multixact.c:1036 access/transam/multixact.c:2319
+#: access/transam/multixact.c:1028 access/transam/multixact.c:2317
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural ""
 "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "数据库 \"%s\"必须在运行%u个事务前进行清理(vacuume)."
 
-#: access/transam/multixact.c:1045 access/transam/multixact.c:2328
+#: access/transam/multixact.c:1037 access/transam/multixact.c:2326
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %u more MultiXactId is used"
@@ -787,13 +1209,12 @@ msgid_plural ""
 "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "带有OID为%u的数据库必须在%u个MultiXactIds使用前进行清理(vacuume)."
 
-#: access/transam/multixact.c:1106
+#: access/transam/multixact.c:1098
 #, c-format
-#| msgid "stack depth limit exceeded"
 msgid "multixact \"members\" limit exceeded"
 msgstr "超过多事务\"成员\"限制"
 
-#: access/transam/multixact.c:1107
+#: access/transam/multixact.c:1099
 #, c-format
 msgid ""
 "This command would create a multixact with %u members, but the remaining "
@@ -804,7 +1225,7 @@ msgid_plural ""
 msgstr[0] ""
 "这个命令将创建一个具有%u成员的多事务,但是剩余的空间只能用于%u个成员。"
 
-#: access/transam/multixact.c:1112
+#: access/transam/multixact.c:1104
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in database with OID %u with reduced "
@@ -814,12 +1235,8 @@ msgstr ""
 "在具有缩减vacuum_multixact_freeze_min_age和vacuum_multixact_freeze_table_age"
 "设置的数据库(OID是%u)中执行一次数据库范围的VACUUM。"
 
-#: access/transam/multixact.c:1143
+#: access/transam/multixact.c:1135
 #, c-format
-#| msgid ""
-#| "database with OID %u must be vacuumed before %u more MultiXactId is used"
-#| msgid_plural ""
-#| "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgid ""
 "database with OID %u must be vacuumed before %d more multixact member is used"
 msgid_plural ""
@@ -827,7 +1244,7 @@ msgid_plural ""
 "used"
 msgstr[0] "OID为%u的数据库必须在%d以上个多事务成员被使用前进行清理(VACUUM)"
 
-#: access/transam/multixact.c:1148
+#: access/transam/multixact.c:1140
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database with reduced "
@@ -837,22 +1254,22 @@ msgstr ""
 "在具有缩减vacuum_multixact_freeze_min_age和vacuum_multixact_freeze_table_age"
 "设置的数据库中执行一次数据库范围的VACUUM。"
 
-#: access/transam/multixact.c:1286
+#: access/transam/multixact.c:1278
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId的值%u不再使用 -- 明显是回卷了"
 
-#: access/transam/multixact.c:1294
+#: access/transam/multixact.c:1286
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u还没被创建 -- 有明显的重叠"
 
-#: access/transam/multixact.c:2269
+#: access/transam/multixact.c:2267
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "MultiXactId的封装限制是%u, 限制于OID为%u的数据库."
 
-#: access/transam/multixact.c:2324 access/transam/multixact.c:2333
+#: access/transam/multixact.c:2322 access/transam/multixact.c:2331
 #: access/transam/varsup.c:146 access/transam/varsup.c:153
 #: access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
@@ -866,7 +1283,6 @@ msgstr ""
 
 #: access/transam/multixact.c:2601
 #, c-format
-#| msgid "oldest MultiXactId: %u, in database %u"
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "最旧的 MultiXactId 成员位于偏移量%u"
 
@@ -888,103 +1304,98 @@ msgstr "多事务成员回卷保护现在被启用。"
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr "多事务成员停止限制现在是%u,这是基于多事务%u得出的"
 
-#: access/transam/multixact.c:3007
+#: access/transam/multixact.c:3009
 #, c-format
 msgid ""
 "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "没有找到最旧的多事务%u,最新的多事务是%u,跳过截断"
 
-#: access/transam/multixact.c:3025
+#: access/transam/multixact.c:3027
 #, c-format
 msgid ""
 "cannot truncate up to MultiXact %u because it does not exist on disk, "
 "skipping truncation"
 msgstr "无法一直截断到多事务%u,因为它在磁盘上不存在,跳过截断"
 
-#: access/transam/multixact.c:3351
+#: access/transam/multixact.c:3353
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "无效的MultiXactId:%u"
 
-#: access/transam/parallel.c:577
+#: access/transam/parallel.c:581
 #, c-format
-#| msgid "cannot execute %s in a read-only transaction"
 msgid "postmaster exited during a parallel transaction"
 msgstr "在并行操作期间postmaster退出"
 
 # fe-exec.c:745
-#: access/transam/parallel.c:668
+#: access/transam/parallel.c:739
 #, c-format
-#| msgid "no connection to the server\n"
 msgid "lost connection to parallel worker"
 msgstr "并行工作者进程的连接丢失"
 
-#: access/transam/parallel.c:845
+#: access/transam/parallel.c:914
 #, c-format
-#| msgid "too many dynamic shared memory segments"
 msgid "could not map dynamic shared memory segment"
 msgstr "无法映射动态共享内存段"
 
-#: access/transam/parallel.c:850
+#: access/transam/parallel.c:919
 #, c-format
-#| msgid "too many dynamic shared memory segments"
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "动态共享内存段中有非法magic号"
 
-#: access/transam/parallel.c:1001
+#: access/transam/parallel.c:1084
 #, c-format
-#| msgid "parallel archiver"
 msgid "parallel worker, PID %d"
 msgstr "并行工作者进程,PID为%d"
 
-#: access/transam/slru.c:652
+#: access/transam/slru.c:665
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "文件 \"%s\" 不存在, 假设读取了 0 字节"
 
-#: access/transam/slru.c:882 access/transam/slru.c:888
-#: access/transam/slru.c:895 access/transam/slru.c:902
-#: access/transam/slru.c:909 access/transam/slru.c:916
+#: access/transam/slru.c:895 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
+#: access/transam/slru.c:922 access/transam/slru.c:929
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "无法处理事物 %u 的状态"
 
-#: access/transam/slru.c:883
+#: access/transam/slru.c:896
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "无法打开文件 \"%s\": %m"
 
-#: access/transam/slru.c:889
+#: access/transam/slru.c:902
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "无法在文件 \"%s\" 偏移量 %u 查找: %m"
 
-#: access/transam/slru.c:896
+#: access/transam/slru.c:909
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "无法从文件 \"%s\" 偏移量 %u 读取: %m"
 
-#: access/transam/slru.c:903
+#: access/transam/slru.c:916
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "无法往文件 \"%s\" 偏移量 %u 写入: %m"
 
-#: access/transam/slru.c:910
+#: access/transam/slru.c:923
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "无法在文件 \"%s\"上执行系统调用fsync: %m"
 
-#: access/transam/slru.c:917
+#: access/transam/slru.c:930
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "无法关闭文件 \"%s\": %m"
 
-#: access/transam/slru.c:1172
+#: access/transam/slru.c:1185
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "无法清空目录\"%s\": 有明显的重叠"
 
-#: access/transam/slru.c:1227 access/transam/slru.c:1283
+#: access/transam/slru.c:1240 access/transam/slru.c:1296
 #, c-format
 msgid "removing file \"%s\""
 msgstr "删除文件 \"%s\""
@@ -1025,201 +1436,166 @@ msgstr "历史文件 \"%s\" 中存在无效数据"
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Timeline ID 必须小于子 timeline 的 ID."
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3144
-#: access/transam/xlog.c:10306 access/transam/xlog.c:10319
-#: access/transam/xlog.c:10682 access/transam/xlog.c:10725
-#: access/transam/xlog.c:10764 access/transam/xlog.c:10807
-#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:497
-#: commands/extension.c:3047 replication/logical/origin.c:684
-#: replication/logical/origin.c:714 replication/logical/reorderbuffer.c:2887
-#: replication/walsender.c:497 storage/file/copydir.c:176
-#: utils/adt/genfile.c:151
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "无法读取文件 \"%s\": %m"
-
-#: access/transam/timeline.c:412 access/transam/timeline.c:502
-#: access/transam/xlog.c:3017 access/transam/xlog.c:3178
-#: access/transam/xlogfuncs.c:503 commands/copy.c:1631
+#: access/transam/timeline.c:412 access/transam/timeline.c:488
+#: access/transam/xlog.c:3066 access/transam/xlog.c:3227
+#: access/transam/xlogfuncs.c:691 commands/copy.c:1671
 #: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "无法关闭文件 \"%s\": %m"
 
-#: access/transam/timeline.c:429 access/transam/timeline.c:519
-#, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "无法把文件 \"%s\" 链接到 \"%s\": %m"
-
-#: access/transam/timeline.c:436 access/transam/timeline.c:526
-#: access/transam/xlog.c:5302 access/transam/xlog.c:6504
-#: access/transam/xlog.c:6521 access/transam/xlog.c:7303
-#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:476
-#: access/transam/xlogarchive.c:586 postmaster/pgarch.c:734
-#: replication/logical/origin.c:624 replication/logical/snapbuild.c:1606
-#: replication/slot.c:470 replication/slot.c:926 replication/slot.c:1038
-#: utils/misc/guc.c:6968 utils/time/snapmgr.c:1094
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
-
-#: access/transam/timeline.c:598
+#: access/transam/timeline.c:570
 #, c-format
 msgid "requested timeline %u is not in this server's history"
 msgstr "服务器上没有起始时间表 %u"
 
-#: access/transam/twophase.c:330
+#: access/transam/twophase.c:363
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "事务标示符 \"%s\" 太长"
 
 # large_obj.c:55
-#: access/transam/twophase.c:337
+#: access/transam/twophase.c:370
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "禁用已准备好的事务"
 
-#: access/transam/twophase.c:338
+#: access/transam/twophase.c:371
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "将max_prepared_transactions设置为一个非零值"
 
-#: access/transam/twophase.c:357
+#: access/transam/twophase.c:390
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "事务标示符\"%s\"已经在使用"
 
-#: access/transam/twophase.c:366
+#: access/transam/twophase.c:399
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "已经达到已准备好事务的最大数量"
 
-#: access/transam/twophase.c:367
+#: access/transam/twophase.c:400
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "增加max_prepared_transactions的值(当前值是%d)."
 
-#: access/transam/twophase.c:504
+#: access/transam/twophase.c:539
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "标示符为\"%s\"的事务处于繁忙状态."
 
-#: access/transam/twophase.c:510
+#: access/transam/twophase.c:545
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "完成已准备好事务的权限不够"
 
-#: access/transam/twophase.c:511
+#: access/transam/twophase.c:546
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "必须是超级用户或者是准备好事务的用户"
 
-#: access/transam/twophase.c:522
+#: access/transam/twophase.c:557
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "已准备好的事务属于另一个数据库"
 
-#: access/transam/twophase.c:523
+#: access/transam/twophase.c:558
 #, c-format
 msgid ""
 "Connect to the database where the transaction was prepared to finish it."
 msgstr "连接到带有准备好完成事务的数据库"
 
-#: access/transam/twophase.c:538
+#: access/transam/twophase.c:573
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "带有标示符\"%s\" 已准备好事务不存在"
 
-#: access/transam/twophase.c:1048
+#: access/transam/twophase.c:1042
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "超过两阶段状态文件的最大长度"
 
-#: access/transam/twophase.c:1061
-#, c-format
-msgid "could not create two-phase state file \"%s\": %m"
-msgstr "无法创建两阶段提交状态文件 \"%s\": %m"
-
-#: access/transam/twophase.c:1075 access/transam/twophase.c:1092
-#: access/transam/twophase.c:1145 access/transam/twophase.c:1575
-#: access/transam/twophase.c:1582
-#, c-format
-msgid "could not write two-phase state file: %m"
-msgstr "无法对两阶段提交状态文件进行写操作: %m"
-
-#: access/transam/twophase.c:1101
-#, c-format
-msgid "could not seek in two-phase state file: %m"
-msgstr "无法在两阶段提交状态文件中进行查找: %m"
-
-#: access/transam/twophase.c:1151 access/transam/twophase.c:1600
-#, c-format
-msgid "could not close two-phase state file: %m"
-msgstr "无法关闭两阶段提交状态文件: %m"
-
-#: access/transam/twophase.c:1239 access/transam/twophase.c:1681
+#: access/transam/twophase.c:1160
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "无法打开两阶段提交状态文件\"%s\": %m"
 
-#: access/transam/twophase.c:1256
+#: access/transam/twophase.c:1177
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "无法获取两阶段提交状态文件 \"%s\" 的状态: %m"
 
-#: access/transam/twophase.c:1288
+#: access/transam/twophase.c:1209
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "无法读取两阶段提交状态文件 \"%s\": %m"
 
-#: access/transam/twophase.c:1384
+#: access/transam/twophase.c:1262 access/transam/xlog.c:6070
+#, c-format
+msgid "Failed while allocating an XLog reading processor."
+msgstr "分配XLog读取处理器失败."
+
+#: access/transam/twophase.c:1268
+#, c-format
+#| msgid "could not read two-phase state file \"%s\": %m"
+msgid "could not read two-phase state from xlog at %X/%X"
+msgstr "无法从 %X/%X 位置的 xlog 读取两阶段状态"
+
+#: access/transam/twophase.c:1276
 #, c-format
-msgid "two-phase state file for transaction %u is corrupt"
-msgstr "事务%u的两阶段提交状态文件损坏"
+msgid "expected two-phase state data is not present in xlog at %X/%X"
+msgstr "预期的两阶段状态数据没有出现在 xlog 的 %X/%X 位置上"
 
-#: access/transam/twophase.c:1537
+#: access/transam/twophase.c:1512
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "无法删除两阶段提交状态文件\"%s\": %m"
 
-#: access/transam/twophase.c:1566
+#: access/transam/twophase.c:1542
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "无法重新创建两阶段提交状态文件 \"%s\": %m"
 
-#: access/transam/twophase.c:1594
+#: access/transam/twophase.c:1551 access/transam/twophase.c:1558
+#, c-format
+msgid "could not write two-phase state file: %m"
+msgstr "无法对两阶段提交状态文件进行写操作: %m"
+
+#: access/transam/twophase.c:1570
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "无法在两阶段提交状态文件上执行系统调用fsync: %m"
 
-#: access/transam/twophase.c:1690
+#: access/transam/twophase.c:1576
 #, c-format
-msgid "could not fsync two-phase state file \"%s\": %m"
-msgstr "无法在两阶段提交状态文件\"%s\"上执行系统调用fsync: %m"
+msgid "could not close two-phase state file: %m"
+msgstr "无法关闭两阶段提交状态文件: %m"
 
-#: access/transam/twophase.c:1697
+#: access/transam/twophase.c:1651
 #, c-format
-msgid "could not close two-phase state file \"%s\": %m"
-msgstr "无法关闭两阶段提交状态文件 \"%s\": %m"
+msgid ""
+"%u two-phase state files were written for long-running prepared transactions"
+msgstr "为长时间运行的准备好事务写了 %u 个两阶段状态文件"
 
-#: access/transam/twophase.c:1762
+#: access/transam/twophase.c:1712
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "删除可能产生的两阶段提交状态文件 \"%s\""
 
-#: access/transam/twophase.c:1778 access/transam/twophase.c:1789
-#: access/transam/twophase.c:1908 access/transam/twophase.c:1919
-#: access/transam/twophase.c:1992
+#: access/transam/twophase.c:1728 access/transam/twophase.c:1739
+#: access/transam/twophase.c:1858 access/transam/twophase.c:1869
+#: access/transam/twophase.c:1943
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "删除已损坏的两阶段提交状态文件\"%s\""
 
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1981
+#: access/transam/twophase.c:1847 access/transam/twophase.c:1932
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "正在删除无用的两阶段提交状态文件\"%s\""
 
-#: access/transam/twophase.c:1999
+#: access/transam/twophase.c:1950
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "正在恢复已准备事务%u"
@@ -1283,193 +1659,179 @@ msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "无法在一个已经导出快照的事务上执行PREPARE操作"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3137
+#: access/transam/xact.c:3141
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s 无法在事物块中运行"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3147
+#: access/transam/xact.c:3151
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s 无法在一个子事物中运行"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3157
+#: access/transam/xact.c:3161
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr "%s 无法从函数或包含多条命令的字符串中执行."
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3228
+#: access/transam/xact.c:3232
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s 只能在事务块中使用"
 
-#: access/transam/xact.c:3412
+#: access/transam/xact.c:3416
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "已经有一个事物在运行中"
 
-#: access/transam/xact.c:3580 access/transam/xact.c:3683
+#: access/transam/xact.c:3584 access/transam/xact.c:3687
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "没有事物在运行中"
 
-#: access/transam/xact.c:3591
+#: access/transam/xact.c:3595
 #, c-format
-#| msgid "could not commit database transaction"
 msgid "cannot commit during a parallel operation"
 msgstr "并行操作期间无法提交"
 
-#: access/transam/xact.c:3694
+#: access/transam/xact.c:3698
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "在并行操作期间无法中止"
 
-#: access/transam/xact.c:3736
+#: access/transam/xact.c:3740
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "在并行操作期间无法定义保存点"
 
-#: access/transam/xact.c:3803
+#: access/transam/xact.c:3807
 #, c-format
-#| msgid "cannot create temporary tables during recovery"
 msgid "cannot release savepoints during a parallel operation"
 msgstr "在并行操作期间不能释放保存点"
 
-#: access/transam/xact.c:3814 access/transam/xact.c:3866
-#: access/transam/xact.c:3872 access/transam/xact.c:3928
-#: access/transam/xact.c:3978 access/transam/xact.c:3984
+#: access/transam/xact.c:3818 access/transam/xact.c:3870
+#: access/transam/xact.c:3876 access/transam/xact.c:3932
+#: access/transam/xact.c:3982 access/transam/xact.c:3988
 #, c-format
 msgid "no such savepoint"
 msgstr "没有这个保存点"
 
-#: access/transam/xact.c:3916
+#: access/transam/xact.c:3920
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "在并行操作期间无法回滚到保存点"
 
-#: access/transam/xact.c:4044
+#: access/transam/xact.c:4048
 #, c-format
-#| msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgid "cannot start subtransactions during a parallel operation"
 msgstr "在并行操作期间不能开始子事务"
 
-#: access/transam/xact.c:4111
+#: access/transam/xact.c:4115
 #, c-format
-#| msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgid "cannot commit subtransactions during a parallel operation"
 msgstr "在并行操作期间不能提交子事务"
 
-#: access/transam/xact.c:4717
+#: access/transam/xact.c:4723
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "在一个事物中不可以超过有 2^32-1 个子事物"
 
-#: access/transam/xlog.c:2270
+#: access/transam/xlog.c:2272
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "无法在日志文件 \"%s\" 中定位 %u: %m"
 
-#: access/transam/xlog.c:2290
+#: access/transam/xlog.c:2292
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "无法在偏移量 %2$u,长度 %3$zu写入日志文件%1$s: %4$m"
 
-#: access/transam/xlog.c:2553
+#: access/transam/xlog.c:2555
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "在时间点%3$u上将最小恢复点更新到%1$X/%2$X"
 
-#: access/transam/xlog.c:3148
+#: access/transam/xlog.c:3197
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "文件 \"%s\" 中的数据不足"
 
-#: access/transam/xlog.c:3267
-#, c-format
-msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr "无法链接文件 \"%s\" 到 \"%s\" (日志文件初始化): %m"
-
-#: access/transam/xlog.c:3279
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr "无法重命名文件 \"%s\" 为 \"%s\" (日志文件初始化): %m"
-
-#: access/transam/xlog.c:3307
+#: access/transam/xlog.c:3338
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "无法打开事务日志文件 \"%s\": %m"
 
-#: access/transam/xlog.c:3496 access/transam/xlog.c:5272
+#: access/transam/xlog.c:3527 access/transam/xlog.c:5300
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "无法关闭日志文件 %s: %m"
 
-#: access/transam/xlog.c:3553 replication/logical/logicalfuncs.c:149
-#: replication/walsender.c:2092
+#: access/transam/xlog.c:3584 access/transam/xlogutils.c:700
+#: replication/walsender.c:2099
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "所要求的WAL段%s已经被删除"
 
-#: access/transam/xlog.c:3613 access/transam/xlog.c:3688
-#: access/transam/xlog.c:3886
+#: access/transam/xlog.c:3644 access/transam/xlog.c:3719
+#: access/transam/xlog.c:3917
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "无法打开事务日志目录 \"%s\": %m"
 
-#: access/transam/xlog.c:3769
+#: access/transam/xlog.c:3800
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "回收事务日志文件 \"%s\""
 
-#: access/transam/xlog.c:3781
+#: access/transam/xlog.c:3812
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "删除事务日志文件 \"%s\""
 
-#: access/transam/xlog.c:3801
+#: access/transam/xlog.c:3832
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "无法重命名旧的事务日志文件\"%s\": %m"
 
-#: access/transam/xlog.c:3813
+#: access/transam/xlog.c:3844
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "无法删除旧的事务日志文件 \"%s\": %m"
 
-#: access/transam/xlog.c:3846 access/transam/xlog.c:3856
+#: access/transam/xlog.c:3877 access/transam/xlog.c:3887
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "所需要的WAL目录 \"%s\" 不存在"
 
-#: access/transam/xlog.c:3862
+#: access/transam/xlog.c:3893
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "正在创建丢失的WAL目录\"%s\""
 
-#: access/transam/xlog.c:3865
+#: access/transam/xlog.c:3896
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "无法创建丢失的目录 \"%s\": %m"
 
-#: access/transam/xlog.c:3896
+#: access/transam/xlog.c:3927
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "正在删除事务日志备份历史文件 \"%s\""
 
-#: access/transam/xlog.c:3977
+#: access/transam/xlog.c:4008
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "日志段%2$s,偏移%3$u出现意外的时间点ID %1$u"
 
-#: access/transam/xlog.c:4099
+#: access/transam/xlog.c:4130
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "新的时间线%u不附属于数据库系统时间线%u"
 
-#: access/transam/xlog.c:4113
+#: access/transam/xlog.c:4144
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
@@ -1477,56 +1839,56 @@ msgid ""
 msgstr ""
 "在当前恢复点%3$X/%4$X之前, 新的时间点%1$u脱离了当前茅的数据库系统时间点%2$u"
 
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4163
 #, c-format
 msgid "new target timeline is %u"
 msgstr "新的目标时间线为%u"
 
-#: access/transam/xlog.c:4212
+#: access/transam/xlog.c:4243
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "无法创建控制文件 \"%s\": %m"
 
-#: access/transam/xlog.c:4223 access/transam/xlog.c:4459
+#: access/transam/xlog.c:4254 access/transam/xlog.c:4490
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "无法写入控制文件: %m"
 
-#: access/transam/xlog.c:4229 access/transam/xlog.c:4465
+#: access/transam/xlog.c:4260 access/transam/xlog.c:4496
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "无法 fsync 控制文件: %m"
 
-#: access/transam/xlog.c:4234 access/transam/xlog.c:4470
+#: access/transam/xlog.c:4265 access/transam/xlog.c:4501
 #, c-format
 msgid "could not close control file: %m"
 msgstr "无法关闭控制文件: %m"
 
-#: access/transam/xlog.c:4252 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4283 access/transam/xlog.c:4479
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "无法打开控制文件 \"%s\": %m"
 
-#: access/transam/xlog.c:4258
+#: access/transam/xlog.c:4289
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "无法读取控制文件: %m"
 
-#: access/transam/xlog.c:4271 access/transam/xlog.c:4280
-#: access/transam/xlog.c:4304 access/transam/xlog.c:4311
-#: access/transam/xlog.c:4318 access/transam/xlog.c:4323
-#: access/transam/xlog.c:4330 access/transam/xlog.c:4337
-#: access/transam/xlog.c:4344 access/transam/xlog.c:4351
-#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
-#: access/transam/xlog.c:4372 access/transam/xlog.c:4381
-#: access/transam/xlog.c:4388 access/transam/xlog.c:4397
-#: access/transam/xlog.c:4404 access/transam/xlog.c:4413
-#: access/transam/xlog.c:4420 utils/init/miscinit.c:1351
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4311
+#: access/transam/xlog.c:4335 access/transam/xlog.c:4342
+#: access/transam/xlog.c:4349 access/transam/xlog.c:4354
+#: access/transam/xlog.c:4361 access/transam/xlog.c:4368
+#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
+#: access/transam/xlog.c:4389 access/transam/xlog.c:4396
+#: access/transam/xlog.c:4403 access/transam/xlog.c:4412
+#: access/transam/xlog.c:4419 access/transam/xlog.c:4428
+#: access/transam/xlog.c:4435 access/transam/xlog.c:4444
+#: access/transam/xlog.c:4451 utils/init/miscinit.c:1380
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "数据库文件和服务器不兼容"
 
-#: access/transam/xlog.c:4272
+#: access/transam/xlog.c:4303
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
@@ -1535,14 +1897,14 @@ msgstr ""
 "数据库集群是以 PG_CONTROL_VERSION %d (0x%08x)初始化的, 但是 服务器是以 "
 "PG_CONTROL_VERSION %d (0x%08x)编译的."
 
-#: access/transam/xlog.c:4276
+#: access/transam/xlog.c:4307
 #, c-format
 msgid ""
 "This could be a problem of mismatched byte ordering.  It looks like you need "
 "to initdb."
 msgstr "这是一个字节顺序不匹配的问题.您需要运行initdb."
 
-#: access/transam/xlog.c:4281
+#: access/transam/xlog.c:4312
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -1551,18 +1913,18 @@ msgstr ""
 "数据库集群是以 PG_CONTROL_VERSION %d 初始化的, 但是 服务器是以 "
 "PG_CONTROL_VERSION %d 编译的."
 
-#: access/transam/xlog.c:4284 access/transam/xlog.c:4308
-#: access/transam/xlog.c:4315 access/transam/xlog.c:4320
+#: access/transam/xlog.c:4315 access/transam/xlog.c:4339
+#: access/transam/xlog.c:4346 access/transam/xlog.c:4351
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "看上去, 你需要初始化数据库."
 
-#: access/transam/xlog.c:4295
+#: access/transam/xlog.c:4326
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "控制文件的校验值不正确"
 
-#: access/transam/xlog.c:4305
+#: access/transam/xlog.c:4336
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -1571,7 +1933,7 @@ msgstr ""
 "数据库簇是以 CATALOG_VERSION_NO %d 初始化的, 但是 服务器是以 "
 "CATALOG_VERSION_NO %d 编译的."
 
-#: access/transam/xlog.c:4312
+#: access/transam/xlog.c:4343
 #, c-format
 msgid ""
 "The database cluster was initialized with MAXALIGN %d, but the server was "
@@ -1579,32 +1941,32 @@ msgid ""
 msgstr ""
 "数据库集群是以 MAXALIGN%d 初始化的, 但是 服务器是以 NAMEDATALEN %d 编译的."
 
-#: access/transam/xlog.c:4319
+#: access/transam/xlog.c:4350
 #, c-format
 msgid ""
 "The database cluster appears to use a different floating-point number format "
 "than the server executable."
 msgstr "数据库集群在使用与服务器执行部分不同的浮点数格式"
 
-#: access/transam/xlog.c:4324
+#: access/transam/xlog.c:4355
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
 "compiled with BLCKSZ %d."
 msgstr "数据库簇是以 BLCKSZ %d 初始化的, 但是 服务器是以 BLCKSZ %d 编译的."
 
-#: access/transam/xlog.c:4327 access/transam/xlog.c:4334
-#: access/transam/xlog.c:4341 access/transam/xlog.c:4348
-#: access/transam/xlog.c:4355 access/transam/xlog.c:4362
-#: access/transam/xlog.c:4369 access/transam/xlog.c:4376
-#: access/transam/xlog.c:4384 access/transam/xlog.c:4391
+#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
+#: access/transam/xlog.c:4372 access/transam/xlog.c:4379
+#: access/transam/xlog.c:4386 access/transam/xlog.c:4393
 #: access/transam/xlog.c:4400 access/transam/xlog.c:4407
-#: access/transam/xlog.c:4416 access/transam/xlog.c:4423
+#: access/transam/xlog.c:4415 access/transam/xlog.c:4422
+#: access/transam/xlog.c:4431 access/transam/xlog.c:4438
+#: access/transam/xlog.c:4447 access/transam/xlog.c:4454
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "看上去, 你需要重新编译或初始化数据库."
 
-#: access/transam/xlog.c:4331
+#: access/transam/xlog.c:4362
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -1612,7 +1974,7 @@ msgid ""
 msgstr ""
 "数据库簇是以 RELSEG_SIZE %d 初始化的, 但是 服务器是以 RELSEG_SIZE %d 编译的."
 
-#: access/transam/xlog.c:4338
+#: access/transam/xlog.c:4369
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
@@ -1621,7 +1983,7 @@ msgstr ""
 "数据库集群是以 XLOG_BLCKSZ %d 初始化的, 但是 服务器是以 XLOG_BLCKSZ %d 编译"
 "çš„."
 
-#: access/transam/xlog.c:4345
+#: access/transam/xlog.c:4376
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
@@ -1630,7 +1992,7 @@ msgstr ""
 "数据库簇是以 XLOG_SEG_SIZE %d 初始化的, 但是 服务器是以 XLOG_SEG_SIZE %d 编译"
 "çš„."
 
-#: access/transam/xlog.c:4352
+#: access/transam/xlog.c:4383
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -1638,7 +2000,7 @@ msgid ""
 msgstr ""
 "数据库簇是以 NAMEDATALEN %d 初始化的, 但是 服务器是以 NAMEDATALEN %d 编译的."
 
-#: access/transam/xlog.c:4359
+#: access/transam/xlog.c:4390
 #, c-format
 msgid ""
 "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
@@ -1647,7 +2009,7 @@ msgstr ""
 "数据库集群是以 INDEX_MAX_KEYS  %d 初始化的, 但是 服务器是以 INDEX_MAX_KEYS "
 "%d 编译的."
 
-#: access/transam/xlog.c:4366
+#: access/transam/xlog.c:4397
 #, c-format
 msgid ""
 "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
@@ -1656,7 +2018,7 @@ msgstr ""
 "数据库集群是以 TOAST_MAX_CHUNK_SIZE %d 初始化的, 但是 服务器是以 "
 "TOAST_MAX_CHUNK_SIZE %d 编译的."
 
-#: access/transam/xlog.c:4373
+#: access/transam/xlog.c:4404
 #, c-format
 msgid ""
 "The database cluster was initialized with LOBLKSIZE %d, but the server was "
@@ -1664,7 +2026,7 @@ msgid ""
 msgstr ""
 "数据库簇是以 LOBLKSIZE %d 初始化的, 但是 服务器是以 LOBLKSIZE %d 编译的."
 
-#: access/transam/xlog.c:4382
+#: access/transam/xlog.c:4413
 #, c-format
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
@@ -1673,7 +2035,7 @@ msgstr ""
 "数据库簇初始化时没有定义 HAVE_INT64_TIMESTAMP, 但是 服务器编译时定义了 "
 "HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4389
+#: access/transam/xlog.c:4420
 #, c-format
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
@@ -1682,7 +2044,7 @@ msgstr ""
 "数据库簇初始化时定义了 HAVE_INT64_TIMESTAMP, 但是 服务器编译时没有定义 "
 "HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4398
+#: access/transam/xlog.c:4429
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT4_BYVAL but the server "
@@ -1691,7 +2053,7 @@ msgstr ""
 "数据库集群在初始化时没带有USE_FLOAT4_BYVAL选项, 但是服务器是以"
 "USE_FLOAT4_BYVAL选项编译的."
 
-#: access/transam/xlog.c:4405
+#: access/transam/xlog.c:4436
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT4_BYVAL but the server "
@@ -1700,7 +2062,7 @@ msgstr ""
 "数据库集群是以USE_FLOAT4_BYVAL 初始化的, 但是服务器是以USE_FLOAT4_BYVAL编译"
 "çš„."
 
-#: access/transam/xlog.c:4414
+#: access/transam/xlog.c:4445
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
@@ -1709,7 +2071,7 @@ msgstr ""
 "数据库集群在初始化时没有带有 USE_FLOAT8_BYVAL, 但是服务器是以 "
 "USE_FLOAT8_BYVAL编译的."
 
-#: access/transam/xlog.c:4421
+#: access/transam/xlog.c:4452
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
@@ -1718,88 +2080,86 @@ msgstr ""
 "数据库集群是以USE_FLOAT8_BYVAL初始化的, 但是 服务器没有以USE_FLOAT8_BYVAL编"
 "译."
 
-#: access/transam/xlog.c:4847
+#: access/transam/xlog.c:4875
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "无法写入 bootstrap 事务日志文件: %m"
 
-#: access/transam/xlog.c:4853
+#: access/transam/xlog.c:4881
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "无法同步 (fsync) 事务日志文件: %m"
 
-#: access/transam/xlog.c:4858
+#: access/transam/xlog.c:4886
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "无法关闭 bootstrap 事务日志文件: %m"
 
-#: access/transam/xlog.c:4933
+#: access/transam/xlog.c:4961
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "无法打开恢复命令文件 \"%s\": %m"
 
-#: access/transam/xlog.c:4979 access/transam/xlog.c:5062
+#: access/transam/xlog.c:5007 access/transam/xlog.c:5090
 #, c-format
-#| msgid "invalid value for parameter \"%s\": \"%s\""
 msgid "invalid value for recovery parameter \"%s\": \"%s\""
 msgstr "恢复参数 \"%s\" 的值无效:\"%s\""
 
-#: access/transam/xlog.c:4982
+#: access/transam/xlog.c:5010
 #, c-format
-#| msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"."
 msgstr "有效值为\"pause\"、\"promote\"和\"shutdown\"。"
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5029
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline 不是一个有效的数字: \"%s\""
 
-#: access/transam/xlog.c:5017
+#: access/transam/xlog.c:5045
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid 不是一个有效的数字: \"%s\""
 
-#: access/transam/xlog.c:5048
+#: access/transam/xlog.c:5076
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "recovery_target_name 值超长 (最大长度为 %d 个字符)"
 
-#: access/transam/xlog.c:5065
+#: access/transam/xlog.c:5093
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "唯一有效的值是\"immediate\"."
 
-#: access/transam/xlog.c:5078 access/transam/xlog.c:5089
-#: commands/extension.c:531 commands/extension.c:539 utils/misc/guc.c:5464
+#: access/transam/xlog.c:5106 access/transam/xlog.c:5117
+#: commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:5637
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "参数 \"%s\" 需要一个布尔值"
 
-#: access/transam/xlog.c:5124
+#: access/transam/xlog.c:5152
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "参数 \"%s\" 需要一个临时值"
 
-#: access/transam/xlog.c:5126 catalog/dependency.c:984
-#: catalog/dependency.c:985 catalog/dependency.c:991 catalog/dependency.c:992
-#: catalog/dependency.c:1003 catalog/dependency.c:1004
-#: catalog/objectaddress.c:1053 commands/tablecmds.c:790
-#: commands/tablecmds.c:9415 commands/user.c:1027 commands/view.c:482
-#: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1177 utils/misc/guc.c:5486 utils/misc/guc.c:5579
-#: utils/misc/guc.c:9458 utils/misc/guc.c:9492 utils/misc/guc.c:9526
-#: utils/misc/guc.c:9560 utils/misc/guc.c:9595
+#: access/transam/xlog.c:5154 catalog/dependency.c:991
+#: catalog/dependency.c:992 catalog/dependency.c:998 catalog/dependency.c:999
+#: catalog/dependency.c:1010 catalog/dependency.c:1011
+#: catalog/objectaddress.c:1100 commands/tablecmds.c:795
+#: commands/tablecmds.c:9447 commands/user.c:1045 commands/view.c:482
+#: libpq/auth.c:304 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1276
+#: utils/adt/acl.c:5281 utils/misc/guc.c:5659 utils/misc/guc.c:5752
+#: utils/misc/guc.c:9686 utils/misc/guc.c:9720 utils/misc/guc.c:9754
+#: utils/misc/guc.c:9788 utils/misc/guc.c:9823
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5132
+#: access/transam/xlog.c:5160
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "未认可的恢复参数 \"%s\""
 
-#: access/transam/xlog.c:5143
+#: access/transam/xlog.c:5171
 #, c-format
 msgid ""
 "recovery command file \"%s\" specified neither primary_conninfo nor "
@@ -1807,14 +2167,14 @@ msgid ""
 msgstr ""
 "恢复命令文件 \"%s\" 既没有指定restore_command,也没有指定primary_conninfo"
 
-#: access/transam/xlog.c:5145
+#: access/transam/xlog.c:5173
 #, c-format
 msgid ""
 "The database server will regularly poll the pg_xlog subdirectory to check "
 "for files placed there."
 msgstr "数据服务器将会通过定期轮询pg_xlog子目录来检查放在这里的文件。"
 
-#: access/transam/xlog.c:5151
+#: access/transam/xlog.c:5179
 #, c-format
 msgid ""
 "recovery command file \"%s\" must specify restore_command when standby mode "
@@ -1822,57 +2182,57 @@ msgid ""
 msgstr ""
 "当没有启用备份模式的时候恢复命令文件 \"%s\" 必须指定 restore_command的值"
 
-#: access/transam/xlog.c:5181
+#: access/transam/xlog.c:5209
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "恢复目标的时间线 %u 不存在"
 
-#: access/transam/xlog.c:5306
+#: access/transam/xlog.c:5330
 #, c-format
 msgid "archive recovery complete"
 msgstr "归档恢复完毕"
 
-#: access/transam/xlog.c:5365 access/transam/xlog.c:5593
+#: access/transam/xlog.c:5389 access/transam/xlog.c:5617
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "达到一致性前恢复停止"
 
-#: access/transam/xlog.c:5453
+#: access/transam/xlog.c:5477
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 提交之前, 时间 %s"
 
-#: access/transam/xlog.c:5460
+#: access/transam/xlog.c:5484
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 中断之前, 时间 %s"
 
-#: access/transam/xlog.c:5505
+#: access/transam/xlog.c:5529
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "恢复停止在恢复点 \"%s\", 时间 %s"
 
-#: access/transam/xlog.c:5573
+#: access/transam/xlog.c:5597
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 提交之后, 时间 %s"
 
-#: access/transam/xlog.c:5581
+#: access/transam/xlog.c:5605
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 中断之后, 时间 %s"
 
-#: access/transam/xlog.c:5620
+#: access/transam/xlog.c:5644
 #, c-format
 msgid "recovery has paused"
 msgstr "恢复操作已暂停"
 
-#: access/transam/xlog.c:5621
+#: access/transam/xlog.c:5645
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "执行 pg_xlog_replay_resume() 以继续."
 
-#: access/transam/xlog.c:5824
+#: access/transam/xlog.c:5852
 #, c-format
 msgid ""
 "hot standby is not possible because %s = %d is a lower setting than on the "
@@ -1881,12 +2241,12 @@ msgstr ""
 "在备用点无法实施热备操作,因为%s = %d这个设置低于在主服务器的设置(它的值"
 "是%d)"
 
-#: access/transam/xlog.c:5850
+#: access/transam/xlog.c:5878
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL文件由wal_level=minimal的设置而产生,这种情况下数据可能会丢失"
 
-#: access/transam/xlog.c:5851
+#: access/transam/xlog.c:5879
 #, c-format
 msgid ""
 "This happens if you temporarily set wal_level=minimal without taking a new "
@@ -1894,61 +2254,68 @@ msgid ""
 msgstr ""
 "发生这种情况是因为您临时将wal_level设置为minimal,而没有同时进行基础备份"
 
-#: access/transam/xlog.c:5862
+#: access/transam/xlog.c:5890
 #, c-format
+#| msgid ""
+#| "hot standby is not possible because wal_level was not set to \"hot_standby"
+#| "\" or higher on the master server"
 msgid ""
-"hot standby is not possible because wal_level was not set to \"hot_standby\" "
-"or higher on the master server"
+"hot standby is not possible because wal_level was not set to \"replica\" or "
+"higher on the master server"
 msgstr ""
-"无法实施热备份,因为在主用服务器上参数wal_level没有设置为\"hot_standby\"或更"
-"高等级的值"
+"无法实施热后备,因为在主服务器上 wal_level 没有被设置为 \"replica\" 或更高的"
+"值"
 
-#: access/transam/xlog.c:5863
+#: access/transam/xlog.c:5891
 #, c-format
+#| msgid ""
+#| "Either set wal_level to \"hot_standby\" on the master, or turn off "
+#| "hot_standby here."
 msgid ""
-"Either set wal_level to \"hot_standby\" on the master, or turn off "
-"hot_standby here."
+"Either set wal_level to \"replica\" on the master, or turn off hot_standby "
+"here."
 msgstr ""
-"在这里既可以将参数wal_level设置为\"hot_standby\" ,也可以将hot_standby关闭"
+"要么在主服务器上把 wal_level 设置为\"replica\" ,要么在这里把 hot_standby 关"
+"闭。"
 
-#: access/transam/xlog.c:5920
+#: access/transam/xlog.c:5948
 #, c-format
 msgid "control file contains invalid data"
 msgstr "控制文件包含无效的数据"
 
-#: access/transam/xlog.c:5926
+#: access/transam/xlog.c:5954
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "数据库上次关闭时间为 %s"
 
-#: access/transam/xlog.c:5931
+#: access/transam/xlog.c:5959
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "在%s,数据库在恢复中关闭"
 
-#: access/transam/xlog.c:5935
+#: access/transam/xlog.c:5963
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "数据库系统关闭操作被中断;上一次已知的运行是在%s"
 
-#: access/transam/xlog.c:5939
+#: access/transam/xlog.c:5967
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "恢复时, 数据库系统在 %s 被中断"
 
-#: access/transam/xlog.c:5941
+#: access/transam/xlog.c:5969
 #, c-format
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
 "last backup for recovery."
 msgstr "这意味着一些数据被毁坏, 你将不得不使用最新的备份恢复."
 
-#: access/transam/xlog.c:5945
+#: access/transam/xlog.c:5973
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr "当日志时间%s进行恢复时,数据库系统被中断"
 
-#: access/transam/xlog.c:5947
+#: access/transam/xlog.c:5975
 #, c-format
 msgid ""
 "If this has occurred more than once some data might be corrupted and you "
@@ -1957,113 +2324,104 @@ msgstr ""
 "如果这种现象多次发生,那么表示数据可能已经损坏,您可能需要选择更早一点的恢复"
 "目标"
 
-#: access/transam/xlog.c:5951
+#: access/transam/xlog.c:5979
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "数据库系统中断;上一次的启动时间是在%s"
 
-#: access/transam/xlog.c:6007
+#: access/transam/xlog.c:6035
 #, c-format
 msgid "entering standby mode"
 msgstr "正在进入备用模式"
 
-#: access/transam/xlog.c:6010
+#: access/transam/xlog.c:6038
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "开始执行到XID %u的基于时间点恢复"
 
-#: access/transam/xlog.c:6014
+#: access/transam/xlog.c:6042
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "开始执行到%s的基于时间点恢复"
 
-#: access/transam/xlog.c:6018
+#: access/transam/xlog.c:6046
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "开始执行到基于时间点恢复的时间点\"%s\""
 
-#: access/transam/xlog.c:6022
+#: access/transam/xlog.c:6050
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr "开始执行到最早一致点的基于时间点恢复"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:6053
 #, c-format
 msgid "starting archive recovery"
 msgstr "开始归档恢复"
 
-#: access/transam/xlog.c:6042
-#, c-format
-msgid "Failed while allocating an XLog reading processor."
-msgstr "分配XLog读取处理器失败."
-
-#: access/transam/xlog.c:6069 access/transam/xlog.c:6197
+#: access/transam/xlog.c:6097 access/transam/xlog.c:6225
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "checkpoint 记录位置在 %X/%X"
 
-#: access/transam/xlog.c:6083
+#: access/transam/xlog.c:6111
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "无法找到checkpoint 记录对应的重做日志位置"
 
-#: access/transam/xlog.c:6084 access/transam/xlog.c:6091
+#: access/transam/xlog.c:6112 access/transam/xlog.c:6119
 #, c-format
 msgid ""
 "If you are not restoring from a backup, try removing the file \"%s/"
 "backup_label\"."
 msgstr "如果你不是从备份恢复, 请删除 \"%s/backup_label\"."
 
-#: access/transam/xlog.c:6090
+#: access/transam/xlog.c:6118
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "无法找到需要的 checkpoint 记录"
 
-#: access/transam/xlog.c:6116 commands/tablespace.c:641
+#: access/transam/xlog.c:6144 commands/tablespace.c:645
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "无法创建符号链接 \"%s\": %m"
 
-#: access/transam/xlog.c:6148
+#: access/transam/xlog.c:6176
 #, c-format
-#| msgid "foreign table \"%s\" does not exist"
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "忽略文件\"%s\",因为不存在文件\"%s\""
 
-#: access/transam/xlog.c:6150 access/transam/xlog.c:10882
+#: access/transam/xlog.c:6178 access/transam/xlog.c:10918
 #, c-format
-#| msgid "\"%s\" was renamed to \"%s\"."
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "文件\"%s\" 被重新命名为\"%s\"。"
 
-#: access/transam/xlog.c:6154
+#: access/transam/xlog.c:6182
 #, c-format
-#| msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgid "ignoring \"%s\" file because no \"%s\" file exists"
 msgstr "忽略\"%s\"文件,因为不存在\"%s\"文件"
 
-#: access/transam/xlog.c:6156
+#: access/transam/xlog.c:6184
 #, c-format
-#| msgid "could not rename file \"%s\" to \"%s\": %m"
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "无法把文件\"%s\"重命名为\"%s\":%m。"
 
-#: access/transam/xlog.c:6207 access/transam/xlog.c:6222
+#: access/transam/xlog.c:6235 access/transam/xlog.c:6250
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "无法找到一个有效的 checkpoint 记录"
 
-#: access/transam/xlog.c:6216
+#: access/transam/xlog.c:6244
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "使用在 %X/%X 的前一个 checkpoint 记录"
 
-#: access/transam/xlog.c:6260
+#: access/transam/xlog.c:6288
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "所要求的时间线%u不在服务器的历史时间线里"
 
-#: access/transam/xlog.c:6262
+#: access/transam/xlog.c:6290
 #, c-format
 msgid ""
 "Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
@@ -2072,94 +2430,94 @@ msgstr ""
 "最近的检查点位于%X/%X,时间点为%u, 但是在请求的历史时间点中,服务器端在那个时"
 "间点会产生分支%X/%X."
 
-#: access/transam/xlog.c:6278
+#: access/transam/xlog.c:6306
 #, c-format
 msgid ""
 "requested timeline %u does not contain minimum recovery point %X/%X on "
 "timeline %u"
 msgstr "所要求的时间线%u不包含最小恢复点%X/%X,在时间线%u处"
 
-#: access/transam/xlog.c:6309
+#: access/transam/xlog.c:6337
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "无效的下一个事务 ID"
 
-#: access/transam/xlog.c:6384
+#: access/transam/xlog.c:6420
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "在检查点记录中无效的redo操作"
 
-#: access/transam/xlog.c:6395
+#: access/transam/xlog.c:6431
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "在关闭检查点中的redo记录无效"
 
-#: access/transam/xlog.c:6423
+#: access/transam/xlog.c:6459
 #, c-format
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
 msgstr "数据库系统没有正确的关闭; 处于自动恢复状态中"
 
-#: access/transam/xlog.c:6427
+#: access/transam/xlog.c:6463
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "崩溃恢复开始于时间线%u, 目标时间线是%u"
 
-#: access/transam/xlog.c:6471
+#: access/transam/xlog.c:6507
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label 包含了与控制文件不一致的数据"
 
-#: access/transam/xlog.c:6472
+#: access/transam/xlog.c:6508
 #, c-format
 msgid ""
 "This means that the backup is corrupted and you will have to use another "
 "backup for recovery."
 msgstr "这意味着一些数据备份已毁坏, 你将不得不使用别的备份进行恢复."
 
-#: access/transam/xlog.c:6554
+#: access/transam/xlog.c:6582
 #, c-format
 msgid "initializing for hot standby"
 msgstr "正在为热备进行初始化"
 
-#: access/transam/xlog.c:6687
+#: access/transam/xlog.c:6714
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo 在 %X/%X 开始"
 
-#: access/transam/xlog.c:6901
+#: access/transam/xlog.c:6939
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "所要求的恢复停止点在一致性恢复点之前"
 
-#: access/transam/xlog.c:6939
+#: access/transam/xlog.c:6977
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo 在 %X/%X 完成"
 
-#: access/transam/xlog.c:6944 access/transam/xlog.c:8879
+#: access/transam/xlog.c:6982 access/transam/xlog.c:8906
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "上一次完成事务是在日志时间%s完成的."
 
-#: access/transam/xlog.c:6953
+#: access/transam/xlog.c:6991
 #, c-format
 msgid "redo is not required"
 msgstr "不需要 redo"
 
-#: access/transam/xlog.c:7028 access/transam/xlog.c:7032
+#: access/transam/xlog.c:7066 access/transam/xlog.c:7070
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "联机备份终止之前,WAL已经终止"
 
-#: access/transam/xlog.c:7029
+#: access/transam/xlog.c:7067
 #, c-format
 msgid ""
 "All WAL generated while online backup was taken must be available at "
 "recovery."
 msgstr "所有联机备份时产生的WAL日志在恢复时必须存在."
 
-#: access/transam/xlog.c:7033
+#: access/transam/xlog.c:7071
 #, c-format
 msgid ""
 "Online backup started with pg_start_backup() must be ended with "
@@ -2168,145 +2526,140 @@ msgstr ""
 "由pg_start_backup()发起的联机备份必须通过调用pg_stop_backup()来终止, 并且到那"
 "一刻为止所有的WAL日志在恢复时必须存在."
 
-#: access/transam/xlog.c:7036
+#: access/transam/xlog.c:7074
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "在一致性恢复点前结束WAL"
 
-#: access/transam/xlog.c:7063
+#: access/transam/xlog.c:7101
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "已选择的新时间线ID:%u"
 
-#: access/transam/xlog.c:7479
+#: access/transam/xlog.c:7512
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "在%X/%X上已到达一致性恢复状态"
 
-#: access/transam/xlog.c:7670
+#: access/transam/xlog.c:7703
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "在控制文件中无效的主 checkpoint 链接"
 
-#: access/transam/xlog.c:7674
+#: access/transam/xlog.c:7707
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "在控制文件中无效的次 checkpoint 链接"
 
-#: access/transam/xlog.c:7678
+#: access/transam/xlog.c:7711
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "在 backup_label 文件中无效的 checkpoint 链接"
 
-#: access/transam/xlog.c:7695
+#: access/transam/xlog.c:7728
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "无效的主 checkpoint 记录"
 
-#: access/transam/xlog.c:7699
+#: access/transam/xlog.c:7732
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "无效的次 checkpoint 记录"
 
-#: access/transam/xlog.c:7703
+#: access/transam/xlog.c:7736
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "无效的 checkpoint 记录"
 
-#: access/transam/xlog.c:7714
+#: access/transam/xlog.c:7747
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "在主 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:7718
+#: access/transam/xlog.c:7751
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "在次 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:7722
+#: access/transam/xlog.c:7755
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "在 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:7734
+#: access/transam/xlog.c:7767
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "在主 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:7738
+#: access/transam/xlog.c:7771
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "在次 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:7742
+#: access/transam/xlog.c:7775
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "在 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:7753
+#: access/transam/xlog.c:7786
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "无效的主 checkpoint 记录长度"
 
-#: access/transam/xlog.c:7757
+#: access/transam/xlog.c:7790
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "无效的次 checkpoint 记录长度"
 
-#: access/transam/xlog.c:7761
+#: access/transam/xlog.c:7794
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "无效的 checkpoint 记录长度"
 
-#: access/transam/xlog.c:7931
+#: access/transam/xlog.c:7962
 #, c-format
 msgid "shutting down"
 msgstr "正在关闭"
 
-#: access/transam/xlog.c:7955
-#, c-format
-msgid "database system is shut down"
-msgstr "数据库系统已关闭"
-
-#: access/transam/xlog.c:8448
+#: access/transam/xlog.c:8475
 #, c-format
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
 msgstr "当数据库正在关闭时, 仍有活跃的并发事物日志"
 
-#: access/transam/xlog.c:8699
+#: access/transam/xlog.c:8726
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "正在跳过重新启动点, 恢复已经结束"
 
-#: access/transam/xlog.c:8722
+#: access/transam/xlog.c:8749
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "跳过重新启动点,它已经在%X/%X上执行了."
 
-#: access/transam/xlog.c:8877
+#: access/transam/xlog.c:8904
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "恢复得重新启动点是在%X/%X开始"
 
-#: access/transam/xlog.c:9010
+#: access/transam/xlog.c:9037
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "恢复点\"%s\",创建于%X/%X"
 
-#: access/transam/xlog.c:9140
+#: access/transam/xlog.c:9167
 #, c-format
 msgid ""
 "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
 "record"
 msgstr "在检查点记录中出现未期望的时间线ID%u(当前时间线%u)"
 
-#: access/transam/xlog.c:9149
+#: access/transam/xlog.c:9176
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "在检查点记录中出现未期望的时间线ID%u(在%u之后)"
 
-#: access/transam/xlog.c:9165
+#: access/transam/xlog.c:9192
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
@@ -2315,90 +2668,82 @@ msgstr ""
 "在达到最小恢复点%2$X/%3$X之前,时间点%4$u处,在检查点记录中出现意外的时间点"
 "ID %1$u"
 
-#: access/transam/xlog.c:9236
+#: access/transam/xlog.c:9263
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "在线备份操作已取消,恢复操作无法继续"
 
-#: access/transam/xlog.c:9292 access/transam/xlog.c:9339
-#: access/transam/xlog.c:9362
+#: access/transam/xlog.c:9319 access/transam/xlog.c:9366
+#: access/transam/xlog.c:9389
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "在检查点记录中出现未期望的时间线ID%u(应该是%u)"
 
-#: access/transam/xlog.c:9639
+#: access/transam/xlog.c:9664
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "无法同步 (fsync) 日志段 %s: %m"
 
-#: access/transam/xlog.c:9663
+#: access/transam/xlog.c:9688
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "无法 fsync 日志文件 %s: %m"
 
-#: access/transam/xlog.c:9671
+#: access/transam/xlog.c:9696
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "无法同步 (fsync) 写入日志文件%s: %m"
 
-#: access/transam/xlog.c:9680
+#: access/transam/xlog.c:9705
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "无法同步 (fdatasync) 日志文件 %s: %m"
 
-#: access/transam/xlog.c:9772 access/transam/xlog.c:10243
-#: access/transam/xlogfuncs.c:121 access/transam/xlogfuncs.c:150
-#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:210
-#: access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:336
-#, c-format
-msgid "recovery is in progress"
-msgstr "恢复操作正在进行中"
-
-#: access/transam/xlog.c:9773 access/transam/xlog.c:10244
-#: access/transam/xlogfuncs.c:122 access/transam/xlogfuncs.c:151
-#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:211
+#: access/transam/xlog.c:9796 access/transam/xlog.c:10267
+#: access/transam/xlogfuncs.c:295 access/transam/xlogfuncs.c:322
+#: access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382
+#: access/transam/xlogfuncs.c:403
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "在恢复期间无法执行WAL控制函数"
 
-#: access/transam/xlog.c:9782 access/transam/xlog.c:10253
+#: access/transam/xlog.c:9805 access/transam/xlog.c:10276
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "WAL的级别不能满足在线备份的要求"
 
-#: access/transam/xlog.c:9783 access/transam/xlog.c:10254
-#: access/transam/xlogfuncs.c:157
+#: access/transam/xlog.c:9806 access/transam/xlog.c:10277
+#: access/transam/xlogfuncs.c:328
 #, c-format
-msgid ""
-"wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
-"server start."
-msgstr ""
-"在服务器启动的时候wal_level必须被设置为\"archive\",\"hot_standby\"或\"logical"
-"\"."
+#| msgid ""
+#| "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
+#| "server start."
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "wal_level 必须在服务器启动的时候被设置为 \"replica\" 或 \"logical\"。"
 
-#: access/transam/xlog.c:9788
+#: access/transam/xlog.c:9811
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "备份标签名超长(最大为%d字节)"
 
-#: access/transam/xlog.c:9820 access/transam/xlog.c:10090
-#: access/transam/xlog.c:10126
+#: access/transam/xlog.c:9843 access/transam/xlog.c:10115
+#: access/transam/xlog.c:10153
 #, c-format
 msgid "a backup is already in progress"
 msgstr "一个备份已经在运行中"
 
-#: access/transam/xlog.c:9821
+#: access/transam/xlog.c:9844
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "运行pg_stop_backup(),然后重新尝试一次."
 
-#: access/transam/xlog.c:9916
+#: access/transam/xlog.c:9939
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "使用full_page_writes=off产生的WAL日志自最后一次重启点,已经重做了"
 
-#: access/transam/xlog.c:9918 access/transam/xlog.c:10408
+#: access/transam/xlog.c:9941 access/transam/xlog.c:10440
 #, c-format
 msgid ""
 "This means that the backup being taken on the standby is corrupt and should "
@@ -2408,95 +2753,101 @@ msgstr ""
 "这意味着备用节点上的备份已经损坏,不应该使用。启用 full_page_writes并在主节点"
 "上运行CHECKPOINT,然后再试着执行联机备份."
 
-#: access/transam/xlog.c:9984 replication/basebackup.c:1035
-#: utils/adt/misc.c:378
+#: access/transam/xlog.c:10008 replication/basebackup.c:1038
+#: utils/adt/misc.c:498
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "无法读取符号链接 \"%s\": %m"
 
-#: access/transam/xlog.c:9991 replication/basebackup.c:1040
-#: utils/adt/misc.c:383
+#: access/transam/xlog.c:10015 replication/basebackup.c:1043
+#: utils/adt/misc.c:503
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "符号链接 \"%s\" 目标超长"
 
-#: access/transam/xlog.c:10044 commands/tablespace.c:391
-#: commands/tablespace.c:553 replication/basebackup.c:1056
-#: utils/adt/misc.c:391
+#: access/transam/xlog.c:10068 commands/tablespace.c:395
+#: commands/tablespace.c:557 replication/basebackup.c:1059
+#: utils/adt/misc.c:511
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "在此平台上不支持表空间"
 
-#: access/transam/xlog.c:10084 access/transam/xlog.c:10120
-#: access/transam/xlog.c:10294 access/transam/xlogarchive.c:106
-#: access/transam/xlogarchive.c:265 commands/copy.c:1738 commands/copy.c:2764
-#: commands/extension.c:3026 commands/tablespace.c:860 guc-file.l:1003
-#: replication/basebackup.c:404 replication/basebackup.c:472
-#: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
-#: storage/file/copydir.c:115 storage/file/fd.c:2519 storage/file/fd.c:2611
-#: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
-#: utils/adt/genfile.c:114 utils/adt/genfile.c:333
+#: access/transam/xlog.c:10109 access/transam/xlog.c:10147
+#: access/transam/xlog.c:10326 access/transam/xlogarchive.c:106
+#: access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804
+#: commands/extension.c:3109 commands/tablespace.c:786
+#: commands/tablespace.c:877 guc-file.l:1003 replication/basebackup.c:407
+#: replication/basebackup.c:475 replication/logical/snapbuild.c:1493
+#: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2826
+#: storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220
+#: utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "无法取文件 \"%s\" 的状态: %m"
 
-#: access/transam/xlog.c:10091 access/transam/xlog.c:10127
+#: access/transam/xlog.c:10116 access/transam/xlog.c:10154
 #, c-format
 msgid ""
 "If you're sure there is no backup in progress, remove file \"%s\" and try "
 "again."
 msgstr "如果你确认没有其他备份进程在运行, 删除文件 \"%s\", 然后重试."
 
-#: access/transam/xlog.c:10108 access/transam/xlog.c:10144
-#: access/transam/xlog.c:10469
+#: access/transam/xlog.c:10133 access/transam/xlog.c:10171
+#: access/transam/xlog.c:10501
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "无法写入文件 \"%s\": %m"
 
-#: access/transam/xlog.c:10298
+#: access/transam/xlog.c:10290
 #, c-format
-msgid "a backup is not in progress"
+#| msgid "a backup is not in progress"
+msgid "exclusive backup not in progress"
+msgstr "排除备份不在运行中"
+
+#: access/transam/xlog.c:10330
+#, c-format
+msgid "a backup is not in progress"
 msgstr "没有备份在运行中"
 
-#: access/transam/xlog.c:10343 access/transam/xlog.c:10356
-#: access/transam/xlog.c:10696 access/transam/xlog.c:10702
-#: access/transam/xlog.c:10786 access/transam/xlogfuncs.c:508
+#: access/transam/xlog.c:10375 access/transam/xlog.c:10388
+#: access/transam/xlog.c:10728 access/transam/xlog.c:10734
+#: access/transam/xlog.c:10818 access/transam/xlogfuncs.c:696
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "文件 \"%s\" 中存在无效数据"
 
-#: access/transam/xlog.c:10360 replication/basebackup.c:933
+#: access/transam/xlog.c:10392 replication/basebackup.c:936
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "联机备份期间,备用节点已提升为主节点"
 
-#: access/transam/xlog.c:10361 replication/basebackup.c:934
+#: access/transam/xlog.c:10393 replication/basebackup.c:937
 #, c-format
 msgid ""
 "This means that the backup being taken is corrupt and should not be used. "
 "Try taking another online backup."
 msgstr "这意味着备用节点上的备份已经损坏,不应该使用. 请尝试再次执行联机备份."
 
-#: access/transam/xlog.c:10406
+#: access/transam/xlog.c:10438
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "由full_page_writes=off产生的WAL日志在联机备份期间已经完成重做"
 
-#: access/transam/xlog.c:10518
+#: access/transam/xlog.c:10550
 #, c-format
 msgid ""
 "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "pg_stop_backup命令所执行的清理操作已完成,正在等待所要求的WAL段归档"
 
-#: access/transam/xlog.c:10528
+#: access/transam/xlog.c:10560
 #, c-format
 msgid ""
 "pg_stop_backup still waiting for all required WAL segments to be archived "
 "(%d seconds elapsed)"
 msgstr "pg_stop_backup在等待所有需要的WAL段归档(已过去%d秒)"
 
-#: access/transam/xlog.c:10530
+#: access/transam/xlog.c:10562
 #, c-format
 msgid ""
 "Check that your archive_command is executing properly.  pg_stop_backup can "
@@ -2506,12 +2857,12 @@ msgstr ""
 "请检查您的归档命令是否正确执行。pg_stop_backup命令可以安全退出,但是如果没有"
 "所有需要的WAL段,数据库备份将无法使用."
 
-#: access/transam/xlog.c:10537
+#: access/transam/xlog.c:10569
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup 执行完成,所有需要的WAL段都已经归档完成。"
 
-#: access/transam/xlog.c:10541
+#: access/transam/xlog.c:10573
 #, c-format
 msgid ""
 "WAL archiving is not enabled; you must ensure that all required WAL segments "
@@ -2519,63 +2870,64 @@ msgid ""
 msgstr ""
 "没有启用WAL归档;您必须确保所有的WAL段已通过其他的方法拷贝,这样才能完成备份"
 
-#: access/transam/xlog.c:10825
+#. translator: %s is an XLog record description
+#: access/transam/xlog.c:10858
 #, c-format
-msgid "xlog redo %s"
-msgstr "xlog重做 %s"
+#| msgid "xlog redo %s"
+msgid "xlog redo at %X/%X for %s"
+msgstr "%3$s xlog 重做在 %1$X/%2$X 位置"
 
-#: access/transam/xlog.c:10871
+#: access/transam/xlog.c:10907
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "在线备份模式没有取消"
 
-#: access/transam/xlog.c:10872
+#: access/transam/xlog.c:10908
 #, c-format
-#| msgid "Could not rename \"%s\" to \"%s\": %m."
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "文件\"%s\"不能被重命名为\"%s\":%m。"
 
-#: access/transam/xlog.c:10881 access/transam/xlog.c:10893
-#: access/transam/xlog.c:10903
+#: access/transam/xlog.c:10917 access/transam/xlog.c:10929
+#: access/transam/xlog.c:10939
 #, c-format
 msgid "online backup mode canceled"
 msgstr "在线备份模式已取消"
 
-#: access/transam/xlog.c:10894
+#: access/transam/xlog.c:10930
 #, c-format
 msgid ""
 "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr "文件\"%s\"和\"%s\"分别被重命名为\"%s\"和\"%s\"。"
 
-#: access/transam/xlog.c:10904
+#: access/transam/xlog.c:10940
 #, c-format
 msgid ""
 "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to "
 "\"%s\": %m."
 msgstr "文件\"%s\"被重命名为\"%s\",但文件\"%s\"无法被重命名为\"%s\":%m。"
 
-#: access/transam/xlog.c:11026 replication/logical/logicalfuncs.c:171
-#: replication/walreceiver.c:932 replication/walsender.c:2109
+#: access/transam/xlog.c:11062 access/transam/xlogutils.c:723
+#: replication/walreceiver.c:973 replication/walsender.c:2116
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "无法在日志段%s中查找, 偏移量 %u: %m"
 
-#: access/transam/xlog.c:11038
+#: access/transam/xlog.c:11074
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "无法从日志段%s中读取偏移量 %u: %m"
 
-#: access/transam/xlog.c:11512
+#: access/transam/xlog.c:11548
 #, c-format
 msgid "received promote request"
 msgstr "接收到提或请求"
 
-#: access/transam/xlog.c:11525
+#: access/transam/xlog.c:11561
 #, c-format
 msgid "trigger file found: %s"
 msgstr "已找到触发器文件:%s"
 
-#: access/transam/xlog.c:11534
+#: access/transam/xlog.c:11570
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "无法统计触发器文件 \"%s\": %m"
@@ -2603,144 +2955,183 @@ msgstr "无法从归档文件%2$s中恢复文件 \"%1$s\""
 msgid "%s \"%s\": %s"
 msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:529 access/transam/xlogarchive.c:598
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
+#: replication/slot.c:470 replication/slot.c:981 replication/slot.c:1089
+#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1198
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
+
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:589
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "无法创建归档状态文件 \"%s\": %m"
 
-#: access/transam/xlogarchive.c:537 access/transam/xlogarchive.c:606
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:597
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "无法写入归档状态文件 \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:61 access/transam/xlogfuncs.c:98
+#: access/transam/xlogfuncs.c:58
+#, c-format
+msgid "aborting backup due to backend exiting before pg_stop_backup was called"
+msgstr "由于后端在 pg_stop_backup 被调用前退出而中断备份"
+
+#: access/transam/xlogfuncs.c:88
 #, c-format
-msgid "must be superuser or replication role to run a backup"
-msgstr "运行备份必须为超级用户或者是复制角色用户"
+#| msgid "a backup is already in progress"
+msgid "a backup is already in progress in this session"
+msgstr "这个会话中已经有一个备份在运行中"
 
-#: access/transam/xlogfuncs.c:67 commands/tablespace.c:705
-#: commands/tablespace.c:715 postmaster/postmaster.c:1389
-#: replication/basebackup.c:292 replication/basebackup.c:632
-#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:1985
-#: storage/file/fd.c:2584 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
-#: utils/adt/misc.c:291 utils/misc/tzparser.c:339
+#: access/transam/xlogfuncs.c:94 commands/tablespace.c:709
+#: commands/tablespace.c:719 postmaster/postmaster.c:1395
+#: replication/basebackup.c:295 replication/basebackup.c:635
+#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292
+#: storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
+#: utils/adt/misc.c:411 utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "无法打开目录 \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:116
+#: access/transam/xlogfuncs.c:155 access/transam/xlogfuncs.c:229
+#, c-format
+#| msgid "a backup is not in progress"
+msgid "non-exclusive backup in progress"
+msgstr "非排除备份在运行中"
+
+#: access/transam/xlogfuncs.c:156 access/transam/xlogfuncs.c:230
+#, c-format
+msgid "did you mean to use pg_stop_backup('f')?"
+msgstr "你是想使用 pg_stop_backup('f') 吗?"
+
+#: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449
+#: commands/event_trigger.c:2000 commands/extension.c:1728
+#: commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702
+#: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157
+#: executor/execQual.c:5386 executor/functions.c:1024 foreign/foreign.c:598
+#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391
+#: replication/slotfuncs.c:189 replication/walsender.c:2761
+#: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615
+#: utils/adt/jsonfuncs.c:1805 utils/adt/jsonfuncs.c:1934
+#: utils/adt/jsonfuncs.c:2702 utils/adt/pgstatfuncs.c:552
+#: utils/adt/pgstatfuncs.c:653 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8424
+#: utils/mmgr/portalmem.c:1064
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "在不能接受使用集合的环境中调用set-valued函数"
+
+#: access/transam/xlogfuncs.c:204 commands/event_trigger.c:1453
+#: commands/event_trigger.c:2004 commands/extension.c:1732
+#: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:706
+#: foreign/foreign.c:603 replication/logical/logicalfuncs.c:179
+#: replication/logical/origin.c:1395 replication/slotfuncs.c:193
+#: replication/walsender.c:2765 utils/adt/pgstatfuncs.c:556
+#: utils/adt/pgstatfuncs.c:657 utils/misc/guc.c:8428 utils/misc/pg_config.c:44
+#: utils/mmgr/portalmem.c:1068
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "要求使用物化模式,但是在这种环境下不允许使用."
+
+#: access/transam/xlogfuncs.c:247
 #, c-format
-msgid "must be superuser to switch transaction log files"
-msgstr "必须为超级用户才能切换事务日志文件"
+#| msgid "a backup is not in progress"
+msgid "non-exclusive backup is not in progress"
+msgstr "非排除备份不在运行中"
 
-#: access/transam/xlogfuncs.c:145
+#: access/transam/xlogfuncs.c:248
 #, c-format
-msgid "must be superuser to create a restore point"
-msgstr "只有超级用户能创建恢复点"
+msgid "did you mean to use pg_stop_backup('t')?"
+msgstr "你是想使用 pg_stop_backup('t') 吗?"
 
-#: access/transam/xlogfuncs.c:156
+#: access/transam/xlogfuncs.c:327
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "WAL的级别不能满足创建恢复点的要求"
 
-#: access/transam/xlogfuncs.c:164
+#: access/transam/xlogfuncs.c:335
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "恢复点值超长(最大%d个字符)"
 
-#: access/transam/xlogfuncs.c:281
+#: access/transam/xlogfuncs.c:473
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "在恢复过程中不能执行pg_xlogfile_name_offset()"
 
-#: access/transam/xlogfuncs.c:337
+#: access/transam/xlogfuncs.c:529
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "在恢复过程中无法执行pg_xlogfile_name() "
 
-#: access/transam/xlogfuncs.c:354 access/transam/xlogfuncs.c:376
-#, c-format
-msgid "must be superuser to control recovery"
-msgstr "只有超级用户才能控制恢复"
-
-#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:381
-#: access/transam/xlogfuncs.c:398
+#: access/transam/xlogfuncs.c:549 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:586
 #, c-format
 msgid "recovery is not in progress"
 msgstr "恢复操作没在进行中"
 
-#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:382
-#: access/transam/xlogfuncs.c:399
+#: access/transam/xlogfuncs.c:550 access/transam/xlogfuncs.c:570
+#: access/transam/xlogfuncs.c:587
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "在恢复期间无法执行恢复控制函数"
 
-#: access/transam/xlogreader.c:264
+#: access/transam/xlogreader.c:285
 #, c-format
-#| msgid "checkpoint record is at %X/%X"
 msgid "invalid record offset at %X/%X"
 msgstr "%X/%X处有无效记录偏移量"
 
-#: access/transam/xlogreader.c:272
+#: access/transam/xlogreader.c:293
 #, c-format
-#| msgid "checkpoint record is at %X/%X"
 msgid "contrecord is requested by %X/%X"
 msgstr "%X/%X位置处要求继续记录"
 
-#: access/transam/xlogreader.c:312 access/transam/xlogreader.c:603
+#: access/transam/xlogreader.c:334 access/transam/xlogreader.c:633
 #, c-format
-#| msgid "checkpoint record is at %X/%X"
-msgid "invalid record length at %X/%X"
-msgstr "%X/%X处的记录长度不合法"
+#| msgid "invalid record length at %X/%X"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%X 处的记录长度不合法:想要 %u,但得到的是 %u"
 
-#: access/transam/xlogreader.c:326
+#: access/transam/xlogreader.c:349
 #, c-format
-#| msgid "encoding name too long"
 msgid "record length %u at %X/%X too long"
 msgstr "%2$X/%3$X处的记录长度%1$u太长"
 
-#: access/transam/xlogreader.c:367
+#: access/transam/xlogreader.c:390
 #, c-format
-#| msgid "checkpoint record is at %X/%X"
 msgid "there is no contrecord flag at %X/%X"
 msgstr "在%X/%X处没有继续记录标志"
 
-#: access/transam/xlogreader.c:380
+#: access/transam/xlogreader.c:403
 #, c-format
-#| msgid "using previous checkpoint record at %X/%X"
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "在%2$X/%3$X处的继续记录长度%1$u不合法"
 
-#: access/transam/xlogreader.c:610
+#: access/transam/xlogreader.c:641
 #, c-format
-#| msgid "invalid resource manager ID in checkpoint record"
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "在%2$X/%3$X处的资源管理器ID%1$u不合法"
 
-#: access/transam/xlogreader.c:624 access/transam/xlogreader.c:641
+#: access/transam/xlogreader.c:655 access/transam/xlogreader.c:672
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "具有不正确向前链接%X/%X的记录出现在%X/%X"
 
-#: access/transam/xlogreader.c:678
+#: access/transam/xlogreader.c:709
 #, c-format
-#| msgid "invalid resource manager ID in checkpoint record"
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "在%X/%X处的记录中的资源管理器数据校验和不正确"
 
-#: access/transam/xlogreader.c:711
+#: access/transam/xlogreader.c:742
 #, c-format
-#| msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "日志段%2$s、偏移量%3$u中的magic号%1$04X无效"
 
-#: access/transam/xlogreader.c:725 access/transam/xlogreader.c:776
+#: access/transam/xlogreader.c:756 access/transam/xlogreader.c:807
 #, c-format
-#| msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "日志段%2$s、偏移量%3$u中的info位%1$04X无效"
 
-#: access/transam/xlogreader.c:751
+#: access/transam/xlogreader.c:782
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -2749,48 +3140,46 @@ msgstr ""
 "WAL文件来自于不同的数据库系统:WAL文件数据库系统标识符为%s,pg_control数据库"
 "标识符为%s"
 
-#: access/transam/xlogreader.c:758
+#: access/transam/xlogreader.c:789
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page "
 "header"
 msgstr "WAL文件来自于不同的数据库系统:页头部中的XLOG_SEG_SIZE不正确"
 
-#: access/transam/xlogreader.c:764
+#: access/transam/xlogreader.c:795
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
 "header"
 msgstr "WAL文件来自于不同的数据库系统:页头部中的XLOG_BLCKSZ不正确"
 
-#: access/transam/xlogreader.c:790
+#: access/transam/xlogreader.c:821
 #, c-format
-#| msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "日志段%3$s、偏移%4$u出现意外的pageaddr %1$X/%2$X"
 
-#: access/transam/xlogreader.c:815
+#: access/transam/xlogreader.c:846
 #, c-format
-#| msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "日志段%3$s、偏移%4$u出现失序的时间线ID %1$u(在%2$u之后)"
 
-#: access/transam/xlogreader.c:1024
+#: access/transam/xlogreader.c:1053
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "乱序的block_id %u位于%X/%X"
 
-#: access/transam/xlogreader.c:1046
+#: access/transam/xlogreader.c:1075
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA已设置,但是在%X/%X没有包括数据"
 
-#: access/transam/xlogreader.c:1053
+#: access/transam/xlogreader.c:1082
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA没有被设置,但是数据长度为%u,它位于%X/%X"
 
-#: access/transam/xlogreader.c:1086
+#: access/transam/xlogreader.c:1115
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -2799,17 +3188,17 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE被设置,但是洞偏移为%u,长度为%u,块映像长度为%u,它位于%X/"
 "%X"
 
-#: access/transam/xlogreader.c:1102
+#: access/transam/xlogreader.c:1131
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE没有被设置,但是洞偏移为%u,长度为%u,它位于%X/%X"
 
-#: access/transam/xlogreader.c:1117
+#: access/transam/xlogreader.c:1146
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED被设置,但是块映像长度是%u,它位于%X/%X"
 
-#: access/transam/xlogreader.c:1132
+#: access/transam/xlogreader.c:1161
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
@@ -2818,619 +3207,622 @@ msgstr ""
 "既没有设置BKPIMAGE_HAS_HOLE也没有设置BKPIMAGE_IS_COMPRESSED,但是块映像长度"
 "是%u,它位于%X/%X"
 
-#: access/transam/xlogreader.c:1148
+#: access/transam/xlogreader.c:1177
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "设置了BKPBLOCK_SAME_REL,但是在%X/%X位置没有记录先前的关系"
 
-#: access/transam/xlogreader.c:1160
+#: access/transam/xlogreader.c:1189
 #, c-format
-#| msgid "invalid page in block %u of relation %s"
 msgid "invalid block_id %u at %X/%X"
 msgstr "%2$X/%3$X处的block_id %1$u无效"
 
-#: access/transam/xlogreader.c:1225
+#: access/transam/xlogreader.c:1254
 #, c-format
-#| msgid "recovery restart point at %X/%X"
 msgid "record with invalid length at %X/%X"
 msgstr "在%X/%X处的记录的长度无效"
 
-#: access/transam/xlogreader.c:1314
+#: access/transam/xlogreader.c:1343
 #, c-format
-#| msgid "invalid compression code: %d\n"
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "在%X/%X、块%d处有无效压缩映像"
 
-#: bootstrap/bootstrap.c:268 postmaster/postmaster.c:779 tcop/postgres.c:3485
+#: access/transam/xlogutils.c:744 replication/walsender.c:2133
+#, c-format
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "无法在日志段%s,偏移量为%u, 长度为%lu的位置上进行读操作: %m"
+
+#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:785 tcop/postgres.c:3488
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s 需要一个值"
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:784 tcop/postgres.c:3490
+#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:790 tcop/postgres.c:3493
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s 需要一个值"
 
-#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:796
-#: postmaster/postmaster.c:809
+#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:802
+#: postmaster/postmaster.c:815
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: bootstrap/bootstrap.c:293
+#: bootstrap/bootstrap.c:294
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: 无效的命令行参数\n"
 
-#: catalog/aclchk.c:182
+#: catalog/aclchk.c:193
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "grant 选项只能用于个体用户上"
 
-#: catalog/aclchk.c:305
+#: catalog/aclchk.c:316
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "没有为关系\"%2$s\"的列\"%1$s\"授予相应的权限"
 
-#: catalog/aclchk.c:310
+#: catalog/aclchk.c:321
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "没有为\"%s\"授予权限"
 
-#: catalog/aclchk.c:318
+#: catalog/aclchk.c:329
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "没有为关系\"%2$s\"的列\"%1$s\"授予所有权限"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:334
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "没有为\"%s\"授予所有的权限"
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:345
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "不能从关系\"%2$s\"的列\"%1$s\"上撤销权限"
 
-#: catalog/aclchk.c:339
+#: catalog/aclchk.c:350
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "不能为\"%s\"撤销权限"
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:358
 #, c-format
 msgid ""
 "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "不能从关系\"%2$s\"的列\"%1$s\"上撤销所有权限"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:363
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "不能为\"%s\"撤销所有权限"
 
-#: catalog/aclchk.c:434 catalog/aclchk.c:924
+#: catalog/aclchk.c:448 catalog/aclchk.c:940
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "关系的权限类型%s无效"
 
-#: catalog/aclchk.c:438 catalog/aclchk.c:928
+#: catalog/aclchk.c:452 catalog/aclchk.c:944
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "序列的权限类型 %s 无效"
 
-#: catalog/aclchk.c:442
+#: catalog/aclchk.c:456
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "无效的数据库权限类型 %s"
 
-#: catalog/aclchk.c:446
+#: catalog/aclchk.c:460
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "域的权限类型%s无效"
 
-#: catalog/aclchk.c:450 catalog/aclchk.c:932
+#: catalog/aclchk.c:464 catalog/aclchk.c:948
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "无效的函数权限类型 %s"
 
-#: catalog/aclchk.c:454
+#: catalog/aclchk.c:468
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "无效的语言权限类型 %s"
 
-#: catalog/aclchk.c:458
+#: catalog/aclchk.c:472
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "用于大对象的无效权限类型%s"
 
-#: catalog/aclchk.c:462
+#: catalog/aclchk.c:476
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "无效的模式权限类型 %s"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:480
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "无效的表空间权限类型 %s"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:936
+#: catalog/aclchk.c:484 catalog/aclchk.c:952
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "类型的权限类型 %s无效"
 
-#: catalog/aclchk.c:474
+#: catalog/aclchk.c:488
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "外部数据封装器的权限类型 %s 无效"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:492
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "外部服务器的权限类型%s无效"
 
-#: catalog/aclchk.c:517
+#: catalog/aclchk.c:531
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "列权限只对关系有效"
 
-#: catalog/aclchk.c:676 catalog/aclchk.c:3874 catalog/aclchk.c:4651
-#: catalog/objectaddress.c:854 catalog/pg_largeobject.c:113
+#: catalog/aclchk.c:690 catalog/aclchk.c:3921 catalog/aclchk.c:4698
+#: catalog/objectaddress.c:873 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:863 catalog/aclchk.c:871 commands/collationcmds.c:92
-#: commands/copy.c:1010 commands/copy.c:1028 commands/copy.c:1036
-#: commands/copy.c:1044 commands/copy.c:1052 commands/copy.c:1060
-#: commands/copy.c:1068 commands/copy.c:1076 commands/copy.c:1084
-#: commands/copy.c:1100 commands/copy.c:1114 commands/copy.c:1133
-#: commands/copy.c:1148 commands/dbcommands.c:155 commands/dbcommands.c:163
+#: catalog/aclchk.c:877 catalog/aclchk.c:885 commands/collationcmds.c:92
+#: commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034
+#: commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058
+#: commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082
+#: commands/copy.c:1098 commands/copy.c:1112 commands/copy.c:1131
+#: commands/copy.c:1146 commands/dbcommands.c:155 commands/dbcommands.c:163
 #: commands/dbcommands.c:171 commands/dbcommands.c:179
 #: commands/dbcommands.c:187 commands/dbcommands.c:195
 #: commands/dbcommands.c:203 commands/dbcommands.c:211
 #: commands/dbcommands.c:219 commands/dbcommands.c:1397
 #: commands/dbcommands.c:1405 commands/dbcommands.c:1413
-#: commands/dbcommands.c:1421 commands/extension.c:1244
-#: commands/extension.c:1252 commands/extension.c:1260
-#: commands/extension.c:2677 commands/foreigncmds.c:539
-#: commands/foreigncmds.c:548 commands/functioncmds.c:525
-#: commands/functioncmds.c:619 commands/functioncmds.c:627
-#: commands/functioncmds.c:635 commands/functioncmds.c:643
-#: commands/functioncmds.c:2045 commands/functioncmds.c:2053
-#: commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205
-#: commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229
-#: commands/sequence.c:1237 commands/sequence.c:1245 commands/typecmds.c:293
-#: commands/typecmds.c:1380 commands/typecmds.c:1389 commands/typecmds.c:1397
-#: commands/typecmds.c:1405 commands/typecmds.c:1413 commands/user.c:138
-#: commands/user.c:155 commands/user.c:163 commands/user.c:171
-#: commands/user.c:179 commands/user.c:187 commands/user.c:195
-#: commands/user.c:203 commands/user.c:211 commands/user.c:219
-#: commands/user.c:227 commands/user.c:235 commands/user.c:243
-#: commands/user.c:522 commands/user.c:534 commands/user.c:542
-#: commands/user.c:550 commands/user.c:558 commands/user.c:566
-#: commands/user.c:574 commands/user.c:582 commands/user.c:591
-#: commands/user.c:599 commands/user.c:607
+#: commands/dbcommands.c:1421 commands/extension.c:1218
+#: commands/extension.c:1226 commands/extension.c:1234
+#: commands/extension.c:1242 commands/extension.c:2760
+#: commands/foreigncmds.c:539 commands/foreigncmds.c:548
+#: commands/functioncmds.c:533 commands/functioncmds.c:649
+#: commands/functioncmds.c:657 commands/functioncmds.c:665
+#: commands/functioncmds.c:673 commands/functioncmds.c:2085
+#: commands/functioncmds.c:2093 commands/sequence.c:1189
+#: commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213
+#: commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237
+#: commands/sequence.c:1245 commands/typecmds.c:295 commands/typecmds.c:1382
+#: commands/typecmds.c:1391 commands/typecmds.c:1399 commands/typecmds.c:1407
+#: commands/typecmds.c:1415 commands/user.c:139 commands/user.c:156
+#: commands/user.c:164 commands/user.c:172 commands/user.c:180
+#: commands/user.c:188 commands/user.c:196 commands/user.c:204
+#: commands/user.c:212 commands/user.c:220 commands/user.c:228
+#: commands/user.c:236 commands/user.c:244 commands/user.c:537
+#: commands/user.c:549 commands/user.c:557 commands/user.c:565
+#: commands/user.c:573 commands/user.c:581 commands/user.c:589
+#: commands/user.c:597 commands/user.c:606 commands/user.c:614
+#: commands/user.c:622
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "选项冲突或过多"
 
-#: catalog/aclchk.c:969
+#: catalog/aclchk.c:985
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "无法为列设置缺省权限"
 
-#: catalog/aclchk.c:1483 catalog/objectaddress.c:1338 commands/analyze.c:378
-#: commands/copy.c:4383 commands/sequence.c:1491 commands/tablecmds.c:5166
-#: commands/tablecmds.c:5272 commands/tablecmds.c:5332
-#: commands/tablecmds.c:5445 commands/tablecmds.c:5502
-#: commands/tablecmds.c:5596 commands/tablecmds.c:5692
-#: commands/tablecmds.c:7844 commands/tablecmds.c:8049
-#: commands/tablecmds.c:8469 commands/trigger.c:643 parser/analyze.c:2160
-#: parser/parse_relation.c:2539 parser/parse_relation.c:2601
-#: parser/parse_target.c:940 parser/parse_type.c:128 utils/adt/acl.c:2839
-#: utils/adt/ruleutils.c:1856
+#: catalog/aclchk.c:1501 catalog/objectaddress.c:1390 commands/analyze.c:378
+#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5199
+#: commands/tablecmds.c:5305 commands/tablecmds.c:5365
+#: commands/tablecmds.c:5478 commands/tablecmds.c:5535
+#: commands/tablecmds.c:5629 commands/tablecmds.c:5725
+#: commands/tablecmds.c:7877 commands/tablecmds.c:8082
+#: commands/tablecmds.c:8502 commands/trigger.c:642 parser/analyze.c:2160
+#: parser/parse_relation.c:2542 parser/parse_relation.c:2604
+#: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1862
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "关系 \"%2$s\" 的 \"%1$s\" 字段不存在"
 
-#: catalog/aclchk.c:1748 catalog/objectaddress.c:1151 commands/sequence.c:1078
-#: commands/tablecmds.c:220 commands/tablecmds.c:11941 utils/adt/acl.c:2075
-#: utils/adt/acl.c:2105 utils/adt/acl.c:2137 utils/adt/acl.c:2169
-#: utils/adt/acl.c:2197 utils/adt/acl.c:2227
+#: catalog/aclchk.c:1770 catalog/objectaddress.c:1203 commands/sequence.c:1078
+#: commands/tablecmds.c:223 commands/tablecmds.c:12009 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
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" 不是一个序列"
 
-#: catalog/aclchk.c:1786
+#: catalog/aclchk.c:1808
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "序列\"%s\"只支持权限USAGE, SELECT 和UPDATE"
 
-#: catalog/aclchk.c:1803
+#: catalog/aclchk.c:1825
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "表的权限类型 USAGE 无效"
 
-#: catalog/aclchk.c:1968
+#: catalog/aclchk.c:1993
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "列的权限类型%s无效"
 
-#: catalog/aclchk.c:1981
+#: catalog/aclchk.c:2006
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "序列\"%s\"只支持在列上的SELECT权限"
 
-#: catalog/aclchk.c:2565
+#: catalog/aclchk.c:2600
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "语言 \"%s\" 不可信"
 
-#: catalog/aclchk.c:2567
+#: catalog/aclchk.c:2602
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "只有超级用户可以使用非信任语言."
 
-#: catalog/aclchk.c:3083
+#: catalog/aclchk.c:3127
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "不能设置数组类型的权限"
 
-#: catalog/aclchk.c:3084
+#: catalog/aclchk.c:3128
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "设置元素类型的权限."
 
-#: catalog/aclchk.c:3091 catalog/objectaddress.c:1471 commands/typecmds.c:3142
+#: catalog/aclchk.c:3135 catalog/objectaddress.c:1523 commands/typecmds.c:3146
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" 不是一个域"
 
-#: catalog/aclchk.c:3211
+#: catalog/aclchk.c:3258
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "未知的权限类型: \"%s\""
 
-#: catalog/aclchk.c:3260
+#: catalog/aclchk.c:3307
 #, c-format
 msgid "permission denied for column %s"
 msgstr "访问列 %s 的权限不够"
 
-#: catalog/aclchk.c:3262
+#: catalog/aclchk.c:3309
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "对关系 %s 权限不够"
 
-#: catalog/aclchk.c:3264 commands/sequence.c:561 commands/sequence.c:786
+#: catalog/aclchk.c:3311 commands/sequence.c:561 commands/sequence.c:786
 #: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "对于序列 %s, 权限不够"
 
-#: catalog/aclchk.c:3266
+#: catalog/aclchk.c:3313
 #, c-format
 msgid "permission denied for database %s"
 msgstr "对数据库 %s 权限不够"
 
-#: catalog/aclchk.c:3268
+#: catalog/aclchk.c:3315
 #, c-format
 msgid "permission denied for function %s"
 msgstr "对函数 %s 权限不够"
 
-#: catalog/aclchk.c:3270
+#: catalog/aclchk.c:3317
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "对操作符 %s 权限不够"
 
-#: catalog/aclchk.c:3272
+#: catalog/aclchk.c:3319
 #, c-format
 msgid "permission denied for type %s"
 msgstr "对类型 %s 权限不够"
 
-#: catalog/aclchk.c:3274
+#: catalog/aclchk.c:3321
 #, c-format
 msgid "permission denied for language %s"
 msgstr "对语言 %s 权限不够"
 
-#: catalog/aclchk.c:3276
+#: catalog/aclchk.c:3323
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "在大对象%s上的权限不够"
 
-#: catalog/aclchk.c:3278
+#: catalog/aclchk.c:3325
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "对模式 %s 权限不够"
 
-#: catalog/aclchk.c:3280
+#: catalog/aclchk.c:3327
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "对操作符表 %s 权限不够"
 
-#: catalog/aclchk.c:3282
+#: catalog/aclchk.c:3329
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "对于操作符表%s的权限不够"
 
-#: catalog/aclchk.c:3284
+#: catalog/aclchk.c:3331
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "对排序规则 %s 权限不够"
 
-#: catalog/aclchk.c:3286
+#: catalog/aclchk.c:3333
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "对编码转换 %s 权限不够"
 
-#: catalog/aclchk.c:3288
+#: catalog/aclchk.c:3335
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "对表空间 %s 权限不够"
 
-#: catalog/aclchk.c:3290
+#: catalog/aclchk.c:3337
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "访问文本搜索字典%s的权限不够"
 
-#: catalog/aclchk.c:3292
+#: catalog/aclchk.c:3339
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "访问文本搜索配置%s的权限不足"
 
-#: catalog/aclchk.c:3294
+#: catalog/aclchk.c:3341
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "访问外部数据封装器 %s 的权限不足"
 
-#: catalog/aclchk.c:3296
+#: catalog/aclchk.c:3343
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "访问外部服务器%s的权限不足"
 
-#: catalog/aclchk.c:3298
+#: catalog/aclchk.c:3345
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "事件触发器 %s, 权限不够"
 
-#: catalog/aclchk.c:3300
+#: catalog/aclchk.c:3347
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "对扩展 %s 权限不够"
 
-#: catalog/aclchk.c:3306 catalog/aclchk.c:3308
+#: catalog/aclchk.c:3353 catalog/aclchk.c:3355
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "必须是关系 %s 的属主"
 
-#: catalog/aclchk.c:3310
+#: catalog/aclchk.c:3357
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "必须是序列 %s 的属主"
 
-#: catalog/aclchk.c:3312
+#: catalog/aclchk.c:3359
 #, c-format
 msgid "must be owner of database %s"
 msgstr "必须是数据库 %s 的属主"
 
-#: catalog/aclchk.c:3314
+#: catalog/aclchk.c:3361
 #, c-format
 msgid "must be owner of function %s"
 msgstr "必须是函数 %s 的属主"
 
-#: catalog/aclchk.c:3316
+#: catalog/aclchk.c:3363
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "必须是操作符 %s 的属主"
 
-#: catalog/aclchk.c:3318
+#: catalog/aclchk.c:3365
 #, c-format
 msgid "must be owner of type %s"
 msgstr "必须是类型 %s 的属主"
 
-#: catalog/aclchk.c:3320
+#: catalog/aclchk.c:3367
 #, c-format
 msgid "must be owner of language %s"
 msgstr "必须是语言 %s 的属主"
 
-#: catalog/aclchk.c:3322
+#: catalog/aclchk.c:3369
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "必须是大对象%s的属主"
 
-#: catalog/aclchk.c:3324
+#: catalog/aclchk.c:3371
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "必须是模式 %s 的属主"
 
-#: catalog/aclchk.c:3326
+#: catalog/aclchk.c:3373
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "必须是操作符表 %s 的属主"
 
-#: catalog/aclchk.c:3328
+#: catalog/aclchk.c:3375
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "必须是操作符集合 %s 的属主"
 
-#: catalog/aclchk.c:3330
+#: catalog/aclchk.c:3377
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "必须是排序规则 %s 的属主"
 
-#: catalog/aclchk.c:3332
+#: catalog/aclchk.c:3379
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "必须是编码转换 %s 的属主"
 
-#: catalog/aclchk.c:3334
+#: catalog/aclchk.c:3381
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "必须是表空间 %s 的属主"
 
 # describe.c:1549
-#: catalog/aclchk.c:3336
+#: catalog/aclchk.c:3383
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "必须是文本搜寻字典%s的属主"
 
 # describe.c:97
-#: catalog/aclchk.c:3338
+#: catalog/aclchk.c:3385
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "必须是文本搜索配置%s的属主"
 
-#: catalog/aclchk.c:3340
+#: catalog/aclchk.c:3387
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "必须是外部数据封装器 %s 的属主"
 
-#: catalog/aclchk.c:3342
+#: catalog/aclchk.c:3389
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "必须是外部服务器 %s 的属主"
 
-#: catalog/aclchk.c:3344
+#: catalog/aclchk.c:3391
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "必须是事件触发器 %s 的属主"
 
-#: catalog/aclchk.c:3346
+#: catalog/aclchk.c:3393
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "必须是扩展 %s 的属主"
 
-#: catalog/aclchk.c:3388
+#: catalog/aclchk.c:3435
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "访问关系\"%2$s\"的列\"%1$s\"的权限不够"
 
-#: catalog/aclchk.c:3507 catalog/aclchk.c:3515
+#: catalog/aclchk.c:3554 catalog/aclchk.c:3562
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "带有OID为%2$u的关系的属性%1$d不存在"
 
-#: catalog/aclchk.c:3588 catalog/aclchk.c:4502
+#: catalog/aclchk.c:3635 catalog/aclchk.c:4549
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "OID 为 %u 的关系不存在"
 
-#: catalog/aclchk.c:3687 catalog/aclchk.c:4920
+#: catalog/aclchk.c:3734 catalog/aclchk.c:4967
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "OID 为 %u 的数据库不存在"
 
-#: catalog/aclchk.c:3741 catalog/aclchk.c:4580 tcop/fastpath.c:223
+#: catalog/aclchk.c:3788 catalog/aclchk.c:4627 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "OID 为 %u 的函数不存在"
 
-#: catalog/aclchk.c:3795 catalog/aclchk.c:4606
+#: catalog/aclchk.c:3842 catalog/aclchk.c:4653
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "OID 为 %u 的语言不存在"
 
-#: catalog/aclchk.c:3959 catalog/aclchk.c:4678
+#: catalog/aclchk.c:4006 catalog/aclchk.c:4725
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "OID 为 %u 的模式不存在"
 
-#: catalog/aclchk.c:4013 catalog/aclchk.c:4705
+#: catalog/aclchk.c:4060 catalog/aclchk.c:4752
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "OID 为 %u 的表空间不存在"
 
-#: catalog/aclchk.c:4071 catalog/aclchk.c:4839 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4118 catalog/aclchk.c:4886 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "带有OID为%u的外部数据封装器(foreign-data wrapper)不存在"
 
-#: catalog/aclchk.c:4132 catalog/aclchk.c:4866 commands/foreigncmds.c:461
+#: catalog/aclchk.c:4179 catalog/aclchk.c:4913 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "带有OID为%u的外部服务器不存在"
 
-#: catalog/aclchk.c:4191 catalog/aclchk.c:4205 catalog/aclchk.c:4528
+#: catalog/aclchk.c:4238 catalog/aclchk.c:4252 catalog/aclchk.c:4575
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "OID 为 %u 的类型不存在"
 
-#: catalog/aclchk.c:4554
+#: catalog/aclchk.c:4601
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "OID 为 %u 的操作符不存在"
 
-#: catalog/aclchk.c:4731
+#: catalog/aclchk.c:4778
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "OID 为 %u 的操作符表不存在"
 
-#: catalog/aclchk.c:4758
+#: catalog/aclchk.c:4805
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "OID 为 %u 的操作符表不存在"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4832
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "带有OID为%u的文本搜索字典不存在"
 
-#: catalog/aclchk.c:4812
+#: catalog/aclchk.c:4859
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "带有OID为%u的文本搜索配置不存在"
 
-#: catalog/aclchk.c:4893 commands/event_trigger.c:586
+#: catalog/aclchk.c:4940 commands/event_trigger.c:587
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "OID 为 %u 的事件触发器不存在"
 
-#: catalog/aclchk.c:4946
+#: catalog/aclchk.c:4993
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "OID 为 %u 的排序规则不存在"
 
-#: catalog/aclchk.c:4972
+#: catalog/aclchk.c:5019
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "OID 为 %u 的编码转换不存在"
 
-#: catalog/aclchk.c:5013
+#: catalog/aclchk.c:5060
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "OID 为 %u 的扩展不存在"
 
-#: catalog/dependency.c:640
+#: catalog/dependency.c:646
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "无法删除 %s, 因为 %s 需要它"
 
-#: catalog/dependency.c:643
+#: catalog/dependency.c:649
 #, c-format
 msgid "You can drop %s instead."
 msgstr "您也可以删除 %s 代替."
 
-#: catalog/dependency.c:804 catalog/pg_shdepend.c:574
+#: catalog/dependency.c:811 catalog/pg_shdepend.c:576
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "无法删除 %s, 因为它是数据库系统所需要的"
 
-#: catalog/dependency.c:920
+#: catalog/dependency.c:927
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "自动递归删除 %s"
 
-#: catalog/dependency.c:932 catalog/dependency.c:941
+#: catalog/dependency.c:939 catalog/dependency.c:948
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s 倚赖于 %s"
 
-#: catalog/dependency.c:953 catalog/dependency.c:962
+#: catalog/dependency.c:960 catalog/dependency.c:969
 #, c-format
 msgid "drop cascades to %s"
 msgstr "递归删除 %s"
 
-#: catalog/dependency.c:970 catalog/pg_shdepend.c:685
+#: catalog/dependency.c:977 catalog/pg_shdepend.c:687
 #, c-format
 msgid ""
 "\n"
@@ -3442,107 +3834,107 @@ msgstr[0] ""
 "\n"
 "%d个其它对象(相关列表参见服务器日志)"
 
-#: catalog/dependency.c:982
+#: catalog/dependency.c:989
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "无法删除 %s 因为有其它对象倚赖它"
 
-#: catalog/dependency.c:986 catalog/dependency.c:993
+#: catalog/dependency.c:993 catalog/dependency.c:1000
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "使用 DROP .. CASCADE 把倚赖对象一并删除."
 
-#: catalog/dependency.c:990
+#: catalog/dependency.c:997
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "无法删除希望的对象,因为有其它对象倚赖它"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:999
+#: catalog/dependency.c:1006
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "串联删除%d个其它对象"
 
-#: catalog/dependency.c:1622
+#: catalog/dependency.c:1634
 #, c-format
 msgid "constant of the type \"regrole\" cannot be used here"
 msgstr "不能在这里使用类型\"regrole\"的常量"
 
-#: catalog/heap.c:276
+#: catalog/heap.c:277
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "创建 \"%s.%s\" 权限不够"
 
-#: catalog/heap.c:278
+#: catalog/heap.c:279
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "系统表修改是不被同时允许的"
 
-#: catalog/heap.c:413 commands/tablecmds.c:1433 commands/tablecmds.c:1886
-#: commands/tablecmds.c:4803
+#: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895
+#: commands/tablecmds.c:4821
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "表最多可以有 %d 个字段"
 
-#: catalog/heap.c:430 commands/tablecmds.c:5062
+#: catalog/heap.c:431 commands/tablecmds.c:5082
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "字段名 \"%s\" 与系统字段名冲突"
 
-#: catalog/heap.c:446
+#: catalog/heap.c:447
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "字段名称\"%s\" 被定义多次"
 
-#: catalog/heap.c:496
+#: catalog/heap.c:497
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "字段 \"%s\" 类型为 \"未知\""
 
-#: catalog/heap.c:497
+#: catalog/heap.c:498
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "继续关系的创建."
 
-#: catalog/heap.c:510
+#: catalog/heap.c:511
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "字段 \"%s\" 有伪类型 %s"
 
-#: catalog/heap.c:540
+#: catalog/heap.c:541
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "混合类型 %s 的成员不能为自身"
 
-#: catalog/heap.c:582 commands/createas.c:373
+#: catalog/heap.c:583 commands/createas.c:373
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "没有来自列 \"%s\"的排序规则带有可排序类型 %s"
 
-#: catalog/heap.c:584 commands/createas.c:375 commands/indexcmds.c:1087
+#: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132
 #: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514
 #: utils/adt/formatting.c:1566 utils/adt/formatting.c:1634
 #: utils/adt/formatting.c:1686 utils/adt/formatting.c:1755
-#: utils/adt/formatting.c:1819 utils/adt/like.c:213 utils/adt/selfuncs.c:5276
-#: utils/adt/varlena.c:1411 utils/adt/varlena.c:1800
+#: utils/adt/formatting.c:1819 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
+#: utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "使用COLLATE子句来显示设置排序规则."
 
-#: catalog/heap.c:1065 catalog/index.c:793 commands/tablecmds.c:2613
+#: catalog/heap.c:1066 catalog/index.c:792 commands/tablecmds.c:2622
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "关系 \"%s\" 已经存在"
 
-#: catalog/heap.c:1081 catalog/pg_type.c:412 catalog/pg_type.c:722
-#: commands/typecmds.c:235 commands/typecmds.c:782 commands/typecmds.c:1133
-#: commands/typecmds.c:1355 commands/typecmds.c:2109
+#: catalog/heap.c:1082 catalog/pg_type.c:412 catalog/pg_type.c:722
+#: commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135
+#: commands/typecmds.c:1357 commands/typecmds.c:2113
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "类型 \"%s\" 已经存在"
 
-#: catalog/heap.c:1082
+#: catalog/heap.c:1083
 #, c-format
 msgid ""
 "A relation has an associated type of the same name, so you must use a name "
@@ -3550,153 +3942,150 @@ msgid ""
 msgstr ""
 "关系和与它相关联的类型名称相同,所以不能使用与任何已存在类型名称相冲突的名称."
 
-#: catalog/heap.c:1110
+#: catalog/heap.c:1111
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_class的堆OID值"
 
-#: catalog/heap.c:2290
+#: catalog/heap.c:2289
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "检查约束 \"%s\" 已经存在"
 
-#: catalog/heap.c:2445 catalog/pg_constraint.c:652 commands/tablecmds.c:6037
+#: catalog/heap.c:2442 catalog/pg_constraint.c:654 commands/tablecmds.c:6070
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "关系 \"%2$s\" 的约束 \"%1$s\" 已经存在"
 
-#: catalog/heap.c:2455
+#: catalog/heap.c:2452
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "关系\"%2$s\"上的约束\"%1$s\"与非继承约束相冲突"
 
-#: catalog/heap.c:2469
+#: catalog/heap.c:2466
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "正在合并带有已继承定义的约束\"%s\" "
 
-#: catalog/heap.c:2562
+#: catalog/heap.c:2559
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "在默认的表达式中不能使用字段关联"
 
-#: catalog/heap.c:2573
+#: catalog/heap.c:2570
 #, c-format
 msgid "default expression must not return a set"
 msgstr "默认表达式不能返回一个组合"
 
-#: catalog/heap.c:2592 rewrite/rewriteHandler.c:1077
+#: catalog/heap.c:2589 rewrite/rewriteHandler.c:1084
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "字段 \"%s\" 类型是 %s, 但默认表达式类型是 %s"
 
-#: catalog/heap.c:2597 commands/prepare.c:374 parser/parse_node.c:411
+#: catalog/heap.c:2594 commands/prepare.c:374 parser/parse_node.c:428
 #: parser/parse_target.c:528 parser/parse_target.c:778
-#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1082
+#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1089
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "你需要重写或转换表达式"
 
-#: catalog/heap.c:2644
+#: catalog/heap.c:2641
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "在检查约束中只有表 \"%s\" 能被关联的"
 
-#: catalog/heap.c:2884
+#: catalog/heap.c:2881
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "不支持ON COMMIT和外键一同使用"
 
-#: catalog/heap.c:2885
+#: catalog/heap.c:2882
 #, c-format
 msgid ""
 "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
 "setting."
 msgstr "表 \"%s\"引用表\"%s\",但是它们没有相同的ON COMMIT设置."
 
-#: catalog/heap.c:2890
+#: catalog/heap.c:2887
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "在一个外键约束中无法删除 (truncate) 一个表的关联"
 
-#: catalog/heap.c:2891
+#: catalog/heap.c:2888
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "表\"%s\" 引用\"%s\"."
 
-#: catalog/heap.c:2893
+#: catalog/heap.c:2890
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "同时截断表\"%s\" ,或者使用TRUNCATE ... CASCADE."
 
-#: catalog/index.c:205 parser/parse_utilcmd.c:1436 parser/parse_utilcmd.c:1522
+#: catalog/index.c:210 parser/parse_utilcmd.c:1486 parser/parse_utilcmd.c:1572
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "对表 \"%s\" 指定多个主键是不允许的"
 
-#: catalog/index.c:223
+#: catalog/index.c:228
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "主键不能是表达式"
 
-#: catalog/index.c:743 catalog/index.c:1161
+#: catalog/index.c:742 catalog/index.c:1160
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "在系统表上用户定义的索引是不被支持的"
 
-#: catalog/index.c:753
+#: catalog/index.c:752
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "不支持在系统目录表上同时创建索引"
 
-#: catalog/index.c:771
+#: catalog/index.c:770
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "在 initdb 之后, 不能创建共享索引"
 
-#: catalog/index.c:785 commands/createas.c:100 commands/sequence.c:141
-#: parser/parse_utilcmd.c:185
+#: catalog/index.c:784 commands/createas.c:100 commands/sequence.c:141
+#: parser/parse_utilcmd.c:192
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "关系 \"%s\" 已经存在, 跳过"
 
-#: catalog/index.c:821
+#: catalog/index.c:820
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_class的索引OID值"
 
-#: catalog/index.c:1423
+#: catalog/index.c:1422
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY在一个事务当中必须是最先执行"
 
-#: catalog/index.c:2007
+#: catalog/index.c:2004
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "为表 \"%2$s\" 建立索引\"%1$s\""
 
-#: catalog/index.c:3262
+#: catalog/index.c:3315
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "不能重新创建其他会话的临时表上的索引"
 
-#: catalog/index.c:3387
+#: catalog/index.c:3440
 #, c-format
-#| msgid "table \"%s.%s\" was reindexed"
 msgid "index \"%s\" was reindexed"
 msgstr "索引\"%s\"已被重新索引"
 
-#: catalog/index.c:3389 commands/vacuumlazy.c:1135 commands/vacuumlazy.c:1211
-#: commands/vacuumlazy.c:1378 commands/vacuumlazy.c:1550
+#: catalog/index.c:3442 commands/vacuumlazy.c:1323 commands/vacuumlazy.c:1399
+#: commands/vacuumlazy.c:1588 commands/vacuumlazy.c:1789
 #, c-format
 msgid "%s."
 msgstr "%s"
 
 #: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
-#: commands/trigger.c:4528
+#: commands/trigger.c:4527
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "未实现跨数据库关联: \"%s.%s.%s\""
@@ -3716,19 +4105,19 @@ msgstr "无法在关系 \"%s.%s\" 上获得锁"
 msgid "could not obtain lock on relation \"%s\""
 msgstr "无法在关系 \"%s\" 上获得锁"
 
-#: catalog/namespace.c:414 parser/parse_relation.c:1134
+#: catalog/namespace.c:414 parser/parse_relation.c:1137
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "关系 \"%s.%s\" 不存在"
 
-#: catalog/namespace.c:419 parser/parse_relation.c:1147
-#: parser/parse_relation.c:1155 utils/adt/regproc.c:1035
+#: catalog/namespace.c:419 parser/parse_relation.c:1150
+#: parser/parse_relation.c:1158 utils/adt/regproc.c:1034
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "关系 \"%s\" 不存在"
 
-#: catalog/namespace.c:487 catalog/namespace.c:2852 commands/extension.c:1394
-#: commands/extension.c:1400
+#: catalog/namespace.c:487 catalog/namespace.c:2841 commands/extension.c:1382
+#: commands/extension.c:1388
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "创建中没有选择模式"
@@ -3774,329 +4163,310 @@ msgstr "文本搜寻配置 \"%s\" 不存在"
 msgid "cross-database references are not implemented: %s"
 msgstr "未实现跨数据库关联: %s"
 
-#: catalog/namespace.c:2652 gram.y:13305 gram.y:14659 parser/parse_expr.c:796
+#: catalog/namespace.c:2652 gram.y:13434 gram.y:14791 parser/parse_expr.c:796
 #: parser/parse_target.c:1137
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "不合适的条件名称 (名字中太多的点符号): %s"
 
-#: catalog/namespace.c:2786
-#, c-format
-msgid "%s is already in schema \"%s\""
-msgstr "在模式\"%2$s\"中已存在 %1$s了"
-
-#: catalog/namespace.c:2794
+#: catalog/namespace.c:2783
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "无法将对象移入或移出临时模式"
 
-#: catalog/namespace.c:2800
+#: catalog/namespace.c:2789
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "无法将对象移入或移出TOAST模式"
 
-#: catalog/namespace.c:2873 commands/schemacmds.c:238
-#: commands/schemacmds.c:317 commands/tablecmds.c:735
+#: catalog/namespace.c:2862 commands/schemacmds.c:242
+#: commands/schemacmds.c:321 commands/tablecmds.c:740
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "模式 \"%s\" 不存在"
 
-#: catalog/namespace.c:2904
+#: catalog/namespace.c:2893
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "不合适的关系名称 (名字中太多的点符号): %s"
 
-#: catalog/namespace.c:3369
+#: catalog/namespace.c:3358
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "编码 \"%2$s\" 中的排序规则 \"%1$s\" 不存在"
 
-#: catalog/namespace.c:3424
+#: catalog/namespace.c:3413
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "编码转换 \"%s\" 不存在"
 
-#: catalog/namespace.c:3632
+#: catalog/namespace.c:3621
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "不允许在数据库 \"%s\" 中创建临时表"
 
-#: catalog/namespace.c:3648
+#: catalog/namespace.c:3637
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "不能在恢复过程中创建临时表"
 
-#: catalog/namespace.c:3654
+#: catalog/namespace.c:3643
 #, c-format
-#| msgid "cannot create temporary tables during recovery"
 msgid "cannot create temporary tables in parallel mode"
 msgstr "并行模式中不能创建临时表"
 
-#: catalog/namespace.c:3898 commands/tablespace.c:1159 commands/variable.c:63
-#: replication/syncrep.c:700 utils/misc/guc.c:9625
+#: catalog/namespace.c:3887 commands/tablespace.c:1177 commands/variable.c:63
+#: utils/misc/guc.c:9853
 #, c-format
 msgid "List syntax is invalid."
 msgstr "列表语法无效."
 
-#: catalog/objectaddress.c:1021
+#: catalog/objectaddress.c:1065
+#| msgid "schema name cannot be qualified"
+msgid "access method name cannot be qualified"
+msgstr "不能限定访问方法名称"
+
+#: catalog/objectaddress.c:1068
 msgid "database name cannot be qualified"
 msgstr "不能限定数据库名称"
 
-#: catalog/objectaddress.c:1024 commands/extension.c:2423
+#: catalog/objectaddress.c:1071 commands/extension.c:2506
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "扩展名不合格"
 
-#: catalog/objectaddress.c:1027
+#: catalog/objectaddress.c:1074
 msgid "tablespace name cannot be qualified"
 msgstr "不能限定表空间名称"
 
-#: catalog/objectaddress.c:1030
+#: catalog/objectaddress.c:1077
 msgid "role name cannot be qualified"
 msgstr "不能限定角色名称"
 
-#: catalog/objectaddress.c:1033
+#: catalog/objectaddress.c:1080
 msgid "schema name cannot be qualified"
 msgstr "不能限定模式名称"
 
-#: catalog/objectaddress.c:1036
+#: catalog/objectaddress.c:1083
 msgid "language name cannot be qualified"
 msgstr "不能限定language名称"
 
-#: catalog/objectaddress.c:1039
+#: catalog/objectaddress.c:1086
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "foreign-data包装器名无法限定"
 
-#: catalog/objectaddress.c:1042
+#: catalog/objectaddress.c:1089
 msgid "server name cannot be qualified"
 msgstr "无法限定服务器名"
 
-#: catalog/objectaddress.c:1045
+#: catalog/objectaddress.c:1092
 msgid "event trigger name cannot be qualified"
 msgstr "事件触发器命名无法确定"
 
-#: catalog/objectaddress.c:1158 commands/lockcmds.c:94 commands/policy.c:94
-#: commands/policy.c:381 commands/tablecmds.c:214 commands/tablecmds.c:1294
-#: commands/tablecmds.c:4337 commands/tablecmds.c:7946
+#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94
+#: commands/policy.c:389 commands/policy.c:478 commands/tablecmds.c:217
+#: commands/tablecmds.c:1299 commands/tablecmds.c:4348
+#: commands/tablecmds.c:7979
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" 不是一个表"
 
-#: catalog/objectaddress.c:1165 commands/tablecmds.c:226
-#: commands/tablecmds.c:4367 commands/tablecmds.c:11946 commands/view.c:155
+#: catalog/objectaddress.c:1217 commands/tablecmds.c:229
+#: commands/tablecmds.c:4378 commands/tablecmds.c:12014 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" 不是一个视图"
 
-#: catalog/objectaddress.c:1172 commands/matview.c:174
-#: commands/tablecmds.c:232 commands/tablecmds.c:11951
+#: catalog/objectaddress.c:1224 commands/matview.c:174
+#: commands/tablecmds.c:235 commands/tablecmds.c:12019
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" 不是一个物化视图"
 
-#: catalog/objectaddress.c:1179 commands/tablecmds.c:250
-#: commands/tablecmds.c:4370 commands/tablecmds.c:11956
+#: catalog/objectaddress.c:1231 commands/tablecmds.c:253
+#: commands/tablecmds.c:4381 commands/tablecmds.c:12024
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" 不是一个外部表"
 
-#: catalog/objectaddress.c:1324 catalog/objectaddress.c:1377
+#: catalog/objectaddress.c:1376 catalog/objectaddress.c:1429
 #, c-format
 msgid "column name must be qualified"
 msgstr "不能限定列名称"
 
-#: catalog/objectaddress.c:1420
+#: catalog/objectaddress.c:1472
 #, c-format
-#| msgid "column \"%s\" of relation \"%s\" does not exist"
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "关系\"%2$s\"的列\"%1$s\"的默认值不存在"
 
-#: catalog/objectaddress.c:1460 commands/functioncmds.c:128
-#: commands/tablecmds.c:242 commands/typecmds.c:3210 parser/parse_type.c:227
-#: parser/parse_type.c:256 parser/parse_type.c:824 utils/adt/acl.c:4373
-#: utils/adt/regproc.c:1226
+#: catalog/objectaddress.c:1512 commands/functioncmds.c:128
+#: commands/tablecmds.c:245 commands/typecmds.c:3214 parser/parse_type.c:226
+#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: utils/adt/regproc.c:1225
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "类型 \"%s\" 不存在"
 
-#: catalog/objectaddress.c:1577
+#: catalog/objectaddress.c:1629
 #, c-format
-#| msgid "operator %d (%s, %s) of %s: %s"
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "%4$s的操作符%1$d (%2$s,%3$s)不存在"
 
-#: catalog/objectaddress.c:1606
+#: catalog/objectaddress.c:1658
 #, c-format
-#| msgid "function %d (%s, %s) of %s: %s"
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "%4$s的函数%1$d (%2$s, %3$s)不存在"
 
-#: catalog/objectaddress.c:1655 catalog/objectaddress.c:1681
+#: catalog/objectaddress.c:1707 catalog/objectaddress.c:1733
 #, c-format
-#| msgid "mapping for token type \"%s\" does not exist"
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "用户\"%s\"在服务器\"%s\"上的用户映射不存在"
 
-#: catalog/objectaddress.c:1670 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
-#: foreign/foreign.c:691
+#: catalog/objectaddress.c:1722 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1372
+#: foreign/foreign.c:798
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "服务器\"%s\" 不存在"
 
-#: catalog/objectaddress.c:1742
+#: catalog/objectaddress.c:1794
 #, c-format
-#| msgid "unrecognized locktag type %d"
 msgid "unrecognized default ACL object type %c"
 msgstr "无法识别的默认ACL对象类型%c"
 
-#: catalog/objectaddress.c:1743
+#: catalog/objectaddress.c:1795
 #, c-format
-#| msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
 msgid "Valid object types are \"r\", \"S\", \"f\", and \"T\"."
 msgstr "有效的对象类型为\"r\"、\"S\"、\"f\"和\"T\"。"
 
-#: catalog/objectaddress.c:1789
+#: catalog/objectaddress.c:1841
 #, c-format
-#| msgid ""
-#| "default conversion function for encoding \"%s\" to \"%s\" does not exist"
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "模式\"%2$s\"中用户\"%1$s\"在%3$s上的默认ACL不存在"
 
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:1846
 #, c-format
-#| msgid "LDAP user \"%s\" does not exist"
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "用户\"%s\"在%s上的默认ACL不存在"
 
-#: catalog/objectaddress.c:1821 catalog/objectaddress.c:1877
-#: catalog/objectaddress.c:1932
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1929
+#: catalog/objectaddress.c:1984
 #, c-format
-#| msgid "array must not contain nulls"
 msgid "name or argument lists may not contain nulls"
 msgstr "名称或者参数列表不能包含空值"
 
-#: catalog/objectaddress.c:1853
+#: catalog/objectaddress.c:1905
 #, c-format
-#| msgid "unsupported type \"%s\" on line %d"
 msgid "unsupported object type \"%s\""
 msgstr "不支持的对象类型\"%s\""
 
-#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1891
+#: catalog/objectaddress.c:1925 catalog/objectaddress.c:1943
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "名字列表的长度必须正好是 %d"
 
-#: catalog/objectaddress.c:1895
+#: catalog/objectaddress.c:1947
 #, c-format
-#| msgid "argument %d cannot be null"
 msgid "large object OID may not be null"
 msgstr "大对象OID不能为空"
 
-#: catalog/objectaddress.c:1904
+#: catalog/objectaddress.c:1956 catalog/objectaddress.c:2016
+#: catalog/objectaddress.c:2023
 #, c-format
-msgid "name list must be of length at least %d"
-msgstr "名字列表的长度必须至少是 %d"
+msgid "name list length must be at least %d"
+msgstr "名称列表的长度必须至少为%d"
 
-#: catalog/objectaddress.c:1957 catalog/objectaddress.c:1977
+#: catalog/objectaddress.c:2009 catalog/objectaddress.c:2029
 #, c-format
-#| msgid "argument of %s must be a type name"
 msgid "argument list length must be exactly %d"
 msgstr "参数列表的长度必须正好为%d"
 
-#: catalog/objectaddress.c:1964 catalog/objectaddress.c:1971
-#, c-format
-#| msgid "length for type %s must be at least 1"
-msgid "name list length must be at least %d"
-msgstr "名称列表的长度必须至少为%d"
-
-#: catalog/objectaddress.c:2113 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:2165 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "必须是大对象%u的属主"
 
-#: catalog/objectaddress.c:2128 commands/functioncmds.c:1386
+#: catalog/objectaddress.c:2180 commands/functioncmds.c:1426
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "只能是类型 %s 或 %s 的所由者"
 
-#: catalog/objectaddress.c:2168 catalog/objectaddress.c:2184
+#: catalog/objectaddress.c:2220 catalog/objectaddress.c:2237
 #, c-format
 msgid "must be superuser"
 msgstr "必须是超级用户"
 
-#: catalog/objectaddress.c:2175
+#: catalog/objectaddress.c:2227
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "必须拥有CREATEROLE权限."
 
-#: catalog/objectaddress.c:2254
+#: catalog/objectaddress.c:2307
 #, c-format
-#| msgid "unrecognized locktag type %d"
 msgid "unrecognized object type \"%s\""
 msgstr "无法识别的对象类型\"%s\""
 
-#: catalog/objectaddress.c:2449
+#: catalog/objectaddress.c:2502
 #, c-format
 msgid " column %s"
 msgstr " 字段 %s"
 
-#: catalog/objectaddress.c:2455
+#: catalog/objectaddress.c:2508
 #, c-format
 msgid "function %s"
 msgstr "函数 %s"
 
-#: catalog/objectaddress.c:2460
+#: catalog/objectaddress.c:2513
 #, c-format
 msgid "type %s"
 msgstr "类型 %s"
 
-#: catalog/objectaddress.c:2490
+#: catalog/objectaddress.c:2543
 #, c-format
 msgid "cast from %s to %s"
 msgstr "%s 转换为 %s"
 
-#: catalog/objectaddress.c:2510
+#: catalog/objectaddress.c:2563
 #, c-format
 msgid "collation %s"
 msgstr "排序规则 %s"
 
-#: catalog/objectaddress.c:2534
+#: catalog/objectaddress.c:2587
 #, c-format
 msgid "constraint %s on %s"
 msgstr "在%2$s上的约束%1$s "
 
-#: catalog/objectaddress.c:2540
+#: catalog/objectaddress.c:2593
 #, c-format
 msgid "constraint %s"
 msgstr "约束 %s"
 
-#: catalog/objectaddress.c:2557
+#: catalog/objectaddress.c:2610
 #, c-format
 msgid "conversion %s"
 msgstr "编码转换 %s"
 
-#: catalog/objectaddress.c:2594
+#: catalog/objectaddress.c:2647
 #, c-format
 msgid "default for %s"
 msgstr "%s的缺省"
 
-#: catalog/objectaddress.c:2603
+#: catalog/objectaddress.c:2656
 #, c-format
 msgid "language %s"
 msgstr "语言 %s"
 
-#: catalog/objectaddress.c:2608
+#: catalog/objectaddress.c:2661
 #, c-format
 msgid "large object %u"
 msgstr "大对象 %u "
 
-#: catalog/objectaddress.c:2613
+#: catalog/objectaddress.c:2666
 #, c-format
 msgid "operator %s"
 msgstr "操作符 %s"
 
-#: catalog/objectaddress.c:2645
+#: catalog/objectaddress.c:2698
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "处理方法 %s 的操作符类 %s"
@@ -4105,7 +4475,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:2695
+#: catalog/objectaddress.c:2748
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "%5$s: %4$s中的操作符%1$d (%2$s,%3$s)"
@@ -4114,298 +4484,326 @@ msgstr "%5$s: %4$s中的操作符%1$d (%2$s,%3$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:2745
+#: catalog/objectaddress.c:2798
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "%4$s: %5$s 的函数%1$d (%2$s, %3$s)"
 
-#: catalog/objectaddress.c:2785
+#: catalog/objectaddress.c:2838
 #, c-format
 msgid "rule %s on "
 msgstr "规则 %s 在 "
 
-#: catalog/objectaddress.c:2807
+#: catalog/objectaddress.c:2860
 #, c-format
-#| msgid "permission denied for language %s"
 msgid "transform for %s language %s"
 msgstr "用于把%s转换到语言%s的转换"
 
-#: catalog/objectaddress.c:2841
+#: catalog/objectaddress.c:2894
 #, c-format
 msgid "trigger %s on "
 msgstr "触发器 %s 在 "
 
-#: catalog/objectaddress.c:2858
+#: catalog/objectaddress.c:2911
 #, c-format
 msgid "schema %s"
 msgstr "模式 %s"
 
-#: catalog/objectaddress.c:2871
+#: catalog/objectaddress.c:2924
 #, c-format
 msgid "text search parser %s"
 msgstr "文本搜寻解析器 %s"
 
 # sql_help.h:301
-#: catalog/objectaddress.c:2886
+#: catalog/objectaddress.c:2939
 #, c-format
 msgid "text search dictionary %s"
 msgstr "文本搜寻字典 %s"
 
 # describe.c:1753
-#: catalog/objectaddress.c:2901
+#: catalog/objectaddress.c:2954
 #, c-format
 msgid "text search template %s"
 msgstr "文本搜寻模版 %s"
 
-#: catalog/objectaddress.c:2916
+#: catalog/objectaddress.c:2969
 #, c-format
 msgid "text search configuration %s"
 msgstr "文本搜寻配置 %s"
 
-#: catalog/objectaddress.c:2924
+#: catalog/objectaddress.c:2977
 #, c-format
 msgid "role %s"
 msgstr "角色 %s"
 
-#: catalog/objectaddress.c:2937
+#: catalog/objectaddress.c:2990
 #, c-format
 msgid "database %s"
 msgstr "数据库 %s"
 
 # describe.c:1342
-#: catalog/objectaddress.c:2949
+#: catalog/objectaddress.c:3002
 #, c-format
 msgid "tablespace %s"
 msgstr "表空间 %s"
 
-#: catalog/objectaddress.c:2958
+#: catalog/objectaddress.c:3011
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "外部数据封装器 %s"
 
-#: catalog/objectaddress.c:2967
+#: catalog/objectaddress.c:3020
 #, c-format
 msgid "server %s"
 msgstr "服务器 %s"
 
-#: catalog/objectaddress.c:2995
+#: catalog/objectaddress.c:3048
 #, c-format
-#| msgid "user mapping for %s"
 msgid "user mapping for %s on server %s"
 msgstr "%s在服务器%s上的用户映射"
 
-#: catalog/objectaddress.c:3030
+#: catalog/objectaddress.c:3083
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "在新的关系上的缺省权限属于角色%s"
 
-#: catalog/objectaddress.c:3035
+#: catalog/objectaddress.c:3088
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "在新的序列上的缺省权限属于角色%s"
 
-#: catalog/objectaddress.c:3040
+#: catalog/objectaddress.c:3093
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "在新的函数上的缺省权限属于角色%s"
 
-#: catalog/objectaddress.c:3045
+#: catalog/objectaddress.c:3098
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "在新类型上的缺省权限属于角色 %s"
 
-#: catalog/objectaddress.c:3051
+#: catalog/objectaddress.c:3104
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "缺省权限属于角色%s"
 
-#: catalog/objectaddress.c:3059
+#: catalog/objectaddress.c:3112
 #, c-format
 msgid " in schema %s"
 msgstr "在模式%s中"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3129
 #, c-format
 msgid "extension %s"
 msgstr "扩展 %s"
 
 # describe.c:1549
-#: catalog/objectaddress.c:3089
+#: catalog/objectaddress.c:3142
 #, c-format
 msgid "event trigger %s"
 msgstr "事件触发器%s"
 
-#: catalog/objectaddress.c:3121
+#: catalog/objectaddress.c:3174
 #, c-format
-#| msgid "rule %s on "
 msgid "policy %s on "
 msgstr "策略%s在 "
 
-#: catalog/objectaddress.c:3184
+#: catalog/objectaddress.c:3192
+#, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "access method %s"
+msgstr "访问方法 %s"
+
+#: catalog/objectaddress.c:3252
 #, c-format
 msgid "table %s"
 msgstr "表 %s"
 
-#: catalog/objectaddress.c:3188
+#: catalog/objectaddress.c:3256
 #, c-format
 msgid "index %s"
 msgstr "索引 %s"
 
-#: catalog/objectaddress.c:3192
+#: catalog/objectaddress.c:3260
 #, c-format
 msgid "sequence %s"
 msgstr "序列 %s"
 
-#: catalog/objectaddress.c:3196
+#: catalog/objectaddress.c:3264
 #, c-format
 msgid "toast table %s"
 msgstr "toast 表 %s"
 
-#: catalog/objectaddress.c:3200
+#: catalog/objectaddress.c:3268
 #, c-format
 msgid "view %s"
 msgstr "视图 %s"
 
-#: catalog/objectaddress.c:3204
+#: catalog/objectaddress.c:3272
 #, c-format
 msgid "materialized view %s"
 msgstr "物化视图 %s"
 
-#: catalog/objectaddress.c:3208
+#: catalog/objectaddress.c:3276
 #, c-format
 msgid "composite type %s"
 msgstr "复合类型 %s"
 
-#: catalog/objectaddress.c:3212
+#: catalog/objectaddress.c:3280
 #, c-format
 msgid "foreign table %s"
 msgstr "外部表 %s"
 
-#: catalog/objectaddress.c:3217
+#: catalog/objectaddress.c:3285
 #, c-format
 msgid "relation %s"
 msgstr "关系 %s"
 
-#: catalog/objectaddress.c:3254
+#: catalog/objectaddress.c:3322
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "访问方法 %2$s 的操作符类 %1$s"
 
-#: catalog/pg_aggregate.c:118
+#: catalog/pg_aggregate.c:126
 #, c-format
 msgid "aggregates cannot have more than %d argument"
 msgid_plural "aggregates cannot have more than %d arguments"
 msgstr[0] "聚集函数的参数不能多于%d个"
 
-#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
+#: catalog/pg_aggregate.c:149 catalog/pg_aggregate.c:159
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "无法确定转换数据类型"
 
-#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
+#: catalog/pg_aggregate.c:150 catalog/pg_aggregate.c:160
 #, c-format
 msgid ""
 "An aggregate using a polymorphic transition type must have at least one "
 "polymorphic argument."
 msgstr "使用多态转换类型的聚合函数必须至少有一个多态的参数"
 
-#: catalog/pg_aggregate.c:165
+#: catalog/pg_aggregate.c:173
 #, c-format
 msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
 msgstr "一个可变有序集聚集必须使用可变类型ANY"
 
-#: catalog/pg_aggregate.c:191
+#: catalog/pg_aggregate.c:199
 #, 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
+#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290
 #, c-format
 msgid "return type of transition function %s is not %s"
 msgstr "转换函数的返回类型 %s 不是 %s"
 
-#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
+#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309
 #, c-format
 msgid ""
 "must not omit initial value when transition function is strict and "
 "transition type is not compatible with input type"
 msgstr "当转换函数是受限制的并且转换类型与输入类型不兼容时,不能忽略初始化值"
 
-#: catalog/pg_aggregate.c:327
+#: catalog/pg_aggregate.c:335
 #, c-format
 msgid "return type of inverse transition function %s is not %s"
 msgstr "逆向转换函数的返回类型 %s 不是 %s"
 
-#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2302
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2305
 #, 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
+#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:547
 #, c-format
 msgid "final function with extra arguments must not be declared STRICT"
 msgstr "带参数的终止函数不能定义为STRICT"
 
-#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:245 catalog/pg_proc.c:252
+#: catalog/pg_aggregate.c:426
+#, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of combine function %s is not %s"
+msgstr "组合函数 %s 的返回类型不是 %s"
+
+#: catalog/pg_aggregate.c:437
+#, c-format
+#| msgid "final function with extra arguments must not be declared STRICT"
+msgid ""
+"combine function with \"%s\" transition type must not be declared STRICT"
+msgstr "带有 \"%s\" 转移类型的组合函数不能被声明为 STRICT"
+
+#: catalog/pg_aggregate.c:457
+#, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of serialization function %s is not %s"
+msgstr "序列化函数 %s 的返回类型不是 %s"
+
+#: catalog/pg_aggregate.c:477
+#, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of deserialization function %s is not %s"
+msgstr "反序列化函数 %s 的返回类型不是 %s"
+
+#: catalog/pg_aggregate.c:493 catalog/pg_proc.c:246 catalog/pg_proc.c:253
 #, c-format
 msgid "cannot determine result data type"
 msgstr "无法确定结构数据类型"
 
-#: catalog/pg_aggregate.c:411
+#: catalog/pg_aggregate.c:494
 #, c-format
 msgid ""
 "An aggregate returning a polymorphic type must have at least one polymorphic "
 "argument."
 msgstr "使用多态类型的聚合函数必须至少有一个多态的参数"
 
-#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:258
+#: catalog/pg_aggregate.c:506 catalog/pg_proc.c:259
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "使用伪类型\"internal\"的方式不安全"
 
-#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:259
+#: catalog/pg_aggregate.c:507 catalog/pg_proc.c:260
 #, c-format
 msgid ""
 "A function returning \"internal\" must have at least one \"internal\" "
 "argument."
 msgstr "返回\"internal\"类型结果的函数必须至少有一个\"internal\" 类型的参数"
 
-#: catalog/pg_aggregate.c:477
+#: catalog/pg_aggregate.c:560
 #, c-format
 msgid ""
 "moving-aggregate implementation returns type %s, but plain implementation "
 "returns type %s"
 msgstr "moving-aggregate的实现返回类型为%s, 但是普通的实现返回类型为%s"
 
-#: catalog/pg_aggregate.c:488
+#: catalog/pg_aggregate.c:571
 #, c-format
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "只能为单一参数的聚合函数而定义排序操作符."
 
-#: catalog/pg_aggregate.c:700 commands/typecmds.c:1702
-#: commands/typecmds.c:1753 commands/typecmds.c:1784 commands/typecmds.c:1807
-#: commands/typecmds.c:1828 commands/typecmds.c:1855 commands/typecmds.c:1882
-#: commands/typecmds.c:1959 commands/typecmds.c:2001 parser/parse_func.c:364
+#: catalog/pg_aggregate.c:816 commands/typecmds.c:1705
+#: commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810
+#: commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885
+#: commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364
 #: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432
-#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1920
+#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1921
 #, c-format
 msgid "function %s does not exist"
 msgstr "函数 %s 不存在"
 
-#: catalog/pg_aggregate.c:706
+#: catalog/pg_aggregate.c:822
 #, c-format
 msgid "function %s returns a set"
 msgstr "函数 %s 返回一个组合"
 
-#: catalog/pg_aggregate.c:721
+#: catalog/pg_aggregate.c:837
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr "函数%s必须接受VARIADIC ANY类型,用于聚集函数中"
 
-#: catalog/pg_aggregate.c:745
+#: catalog/pg_aggregate.c:861
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "函数 %s 需要运行时类型强制"
@@ -4420,27 +4818,27 @@ msgstr "编码 \"%2$s\" 的排序规则 \"%1$s\" 已经存在"
 msgid "collation \"%s\" already exists"
 msgstr "排序规则 \"%s\" 已经存在"
 
-#: catalog/pg_constraint.c:661
+#: catalog/pg_constraint.c:663
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "域 %2$s 的约束 \"%1$s\" 已经存在"
 
-#: catalog/pg_constraint.c:794
+#: catalog/pg_constraint.c:797
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "表 \"%s\" 有多个名为 \"%s\" 的约束"
 
-#: catalog/pg_constraint.c:806
+#: catalog/pg_constraint.c:809
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "表 \"%2$s\" 的 \"%1$s\" 约束不存在"
 
-#: catalog/pg_constraint.c:852
+#: catalog/pg_constraint.c:855
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "域 \"%s\" 有多个名为 \"%s\" 的约束"
 
-#: catalog/pg_constraint.c:864
+#: catalog/pg_constraint.c:867
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "域 \"%2$s\" 的 \"%1$s\" 约束不存在"
@@ -4455,7 +4853,7 @@ msgstr "编码转换 \"%s\" 已经存在"
 msgid "default conversion for %s to %s already exists"
 msgstr "默认的 %s 到 %s 的转换已经存在"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2945
+#: catalog/pg_depend.c:165 commands/extension.c:3028
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "\"%s\" 已经是扩展\"%s\"的成员"
@@ -4492,7 +4890,6 @@ msgstr "枚举标签\"%s\" 不存在"
 
 #: catalog/pg_enum.c:349
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_enum OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_enum OID值"
 
@@ -4501,173 +4898,173 @@ msgstr "当处于二进制升级模式时没有设置pg_enum OID值"
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER与二进制升级不兼容"
 
-#: catalog/pg_namespace.c:61 commands/schemacmds.c:246
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:250
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "模式 \"%s\" 已经存在"
 
-#: catalog/pg_operator.c:222 catalog/pg_operator.c:363
+#: catalog/pg_operator.c:219 catalog/pg_operator.c:360
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "\"%s\" 不是一个有效的操作符名称"
 
-#: catalog/pg_operator.c:372
+#: catalog/pg_operator.c:369
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "只有二进制操作符能有交换 (commutators)"
 
-#: catalog/pg_operator.c:376
+#: catalog/pg_operator.c:373 commands/operatorcmds.c:485
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "只有二进制操作符能有可选择性联合"
 
-#: catalog/pg_operator.c:380
+#: catalog/pg_operator.c:377
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "只有二进制操作符可以合并联合"
 
-#: catalog/pg_operator.c:384
+#: catalog/pg_operator.c:381
 #, c-format
 msgid "only binary operators can hash"
 msgstr "只有二进制操作符可以散列"
 
-#: catalog/pg_operator.c:395
+#: catalog/pg_operator.c:392
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "只有布尔类型的操作符能够具有负号."
 
-#: catalog/pg_operator.c:399
+#: catalog/pg_operator.c:396 commands/operatorcmds.c:493
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "只有布尔类型操作能够具有限制选择性"
 
-#: catalog/pg_operator.c:403
+#: catalog/pg_operator.c:400 commands/operatorcmds.c:497
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "只有布尔类型操作能够具有连接选择性"
 
-#: catalog/pg_operator.c:407
+#: catalog/pg_operator.c:404
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "只有布尔类型操作符可以进行合并联合操作"
 
-#: catalog/pg_operator.c:411
+#: catalog/pg_operator.c:408
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "只有布尔操作符可以进行散列操作"
 
-#: catalog/pg_operator.c:423
+#: catalog/pg_operator.c:420
 #, c-format
 msgid "operator %s already exists"
 msgstr "操作符 %s 已经存在"
 
-#: catalog/pg_operator.c:616
+#: catalog/pg_operator.c:617
 #, c-format
 msgid "operator cannot be its own negator or sort operator"
 msgstr "操作符不能否定自己或者排序分类操作符"
 
-#: catalog/pg_proc.c:133 parser/parse_func.c:1944 parser/parse_func.c:1984
+#: catalog/pg_proc.c:134 parser/parse_func.c:1945 parser/parse_func.c:1985
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "函数的参数不能多于%d个"
 
-#: catalog/pg_proc.c:246
+#: catalog/pg_proc.c:247
 #, c-format
 msgid ""
 "A function returning a polymorphic type must have at least one polymorphic "
 "argument."
 msgstr "返回一个多态类型的函数必须至少有一个多态参数"
 
-#: catalog/pg_proc.c:253
+#: catalog/pg_proc.c:254
 #, c-format
 msgid ""
 "A function returning \"anyrange\" must have at least one \"anyrange\" "
 "argument."
 msgstr "返回\"anyrange\"类型结果的函数必须至少有一个\"anyrange\" 类型的参数"
 
-#: catalog/pg_proc.c:271
+#: catalog/pg_proc.c:272
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "\"%s\" 已经是类型 %s 的一个属性"
 
-#: catalog/pg_proc.c:401
+#: catalog/pg_proc.c:403
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "带相同参数类型的函数 \"%s\" 已经存在"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:438
+#: catalog/pg_proc.c:417 catalog/pg_proc.c:440
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "不能改变已经存在的函数的返回值类型"
 
-#: catalog/pg_proc.c:416 catalog/pg_proc.c:440 catalog/pg_proc.c:483
-#: catalog/pg_proc.c:507 catalog/pg_proc.c:534
+#: catalog/pg_proc.c:418 catalog/pg_proc.c:442 catalog/pg_proc.c:485
+#: catalog/pg_proc.c:509 catalog/pg_proc.c:536
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "请先使用 DROP FUNCTION %s."
 
-#: catalog/pg_proc.c:439
+#: catalog/pg_proc.c:441
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "由OUT模式参数定义的记录类型不同"
 
-#: catalog/pg_proc.c:481
+#: catalog/pg_proc.c:483
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "无法改变输入参数\"%s\"的名称"
 
-#: catalog/pg_proc.c:506
+#: catalog/pg_proc.c:508
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "不能从已存在的函数种删除参数缺正值"
 
-#: catalog/pg_proc.c:533
+#: catalog/pg_proc.c:535
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "不能改变已经存在参数缺省值的数据类型"
 
-#: catalog/pg_proc.c:546
+#: catalog/pg_proc.c:548
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "函数\"%s\" 是一个聚合函数"
 
-#: catalog/pg_proc.c:551
+#: catalog/pg_proc.c:553
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "函数 \"%s\" 不是一个聚合函数"
 
-#: catalog/pg_proc.c:559
+#: catalog/pg_proc.c:561
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "函数\"%s\"是一个窗口函数"
 
-#: catalog/pg_proc.c:564
+#: catalog/pg_proc.c:566
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "函数 \"%s\" 不是一个窗口函数"
 
-#: catalog/pg_proc.c:772
+#: catalog/pg_proc.c:774
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "没有名为 \"%s\" 的内建函数"
 
-#: catalog/pg_proc.c:870
+#: catalog/pg_proc.c:872
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL 函数无法返回 %s 类型"
 
-#: catalog/pg_proc.c:885
+#: catalog/pg_proc.c:887
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL 函数不能有 %s 类型的参数"
 
-#: catalog/pg_proc.c:971 executor/functions.c:1421
+#: catalog/pg_proc.c:973 executor/functions.c:1424
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL 函数 \"%s\""
 
-#: catalog/pg_shdepend.c:692
+#: catalog/pg_shdepend.c:694
 #, c-format
 msgid ""
 "\n"
@@ -4679,52 +5076,51 @@ msgstr[0] ""
 "\n"
 "对象在 %d 个其它数据库中"
 
-#: catalog/pg_shdepend.c:1004
+#: catalog/pg_shdepend.c:1006
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "角色%u被同时删除"
 
-#: catalog/pg_shdepend.c:1023
+#: catalog/pg_shdepend.c:1025
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "表空间 %u 被同时删除"
 
-#: catalog/pg_shdepend.c:1038
+#: catalog/pg_shdepend.c:1040
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "数据库 %u 被同时删除"
 
-#: catalog/pg_shdepend.c:1083
+#: catalog/pg_shdepend.c:1085
 #, c-format
 msgid "owner of %s"
 msgstr "%s的属主"
 
-#: catalog/pg_shdepend.c:1085
+#: catalog/pg_shdepend.c:1087
 #, c-format
 msgid "privileges for %s"
 msgstr "%s的权限"
 
-#: catalog/pg_shdepend.c:1087
+#: catalog/pg_shdepend.c:1089
 #, c-format
-#| msgid "owner of %s"
 msgid "target of %s"
 msgstr "%s的目标"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1095
+#: catalog/pg_shdepend.c:1097
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "在%2$s中的%1$d个对象"
 
-#: catalog/pg_shdepend.c:1206
+#: catalog/pg_shdepend.c:1208
 #, c-format
 msgid ""
 "cannot drop objects owned by %s because they are required by the database "
 "system"
 msgstr "无法删除由%s所拥有的对象, 因为数据库系统需要这些对象"
 
-#: catalog/pg_shdepend.c:1309
+#: catalog/pg_shdepend.c:1323
 #, c-format
 msgid ""
 "cannot reassign ownership of objects owned by %s because they are required "
@@ -4733,7 +5129,6 @@ msgstr "无法再分配由%s所拥有的对象, 因为数据库系统需要这
 
 #: catalog/pg_type.c:136 catalog/pg_type.c:454
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_type OID值"
 
@@ -4768,88 +5163,139 @@ msgstr "固定大小类型必需有明确的存储"
 msgid "could not form array type name for type \"%s\""
 msgstr "无法为类型\"%s\"来形成数组类型名称"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:381 commands/tablecmds.c:4349
-#: commands/tablecmds.c:11834
+#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4360
+#: commands/tablecmds.c:11902
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" 不是一个表或物化视图"
 
-#: catalog/toasting.c:157
+#: catalog/toasting.c:158
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr "在 initdb 之后, 不可以 toasted 共享表"
 
-#: commands/aggregatecmds.c:148
+#: commands/aggregatecmds.c:161
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "只有有序集聚焦函数可用被用于判定"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:188
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "聚集属性 \"%s\" 不被认可"
 
-#: commands/aggregatecmds.c:181
+#: commands/aggregatecmds.c:198
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "聚集 stype 必须指定"
 
-#: commands/aggregatecmds.c:185
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "聚集 sfunc 必须指定"
 
-#: commands/aggregatecmds.c:197
+#: commands/aggregatecmds.c:214
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "当mstype指定了的时候, 聚集 sfunc 必须指定"
 
-#: commands/aggregatecmds.c:201
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "当mstype指定了的时候, 聚集 minvfunc 必须指定"
 
-#: commands/aggregatecmds.c:208
+#: commands/aggregatecmds.c:225
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "当mstype没被指定时, 聚集 msfunc 也不能指定"
 
-#: commands/aggregatecmds.c:212
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "没有mstype, 就不能指定聚集minvfunc"
 
-#: commands/aggregatecmds.c:216
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "没有mstype, 就不能指定聚集 mfinalfunc"
 
-#: commands/aggregatecmds.c:220
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "没有指定mstype,就不能指定聚集msspace"
 
-#: commands/aggregatecmds.c:224
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "没有指定mstype,就不能指定minitcond"
 
-#: commands/aggregatecmds.c:244
+#: commands/aggregatecmds.c:261
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "必须指定聚合函数的输入参数类型"
 
-#: commands/aggregatecmds.c:274
+#: commands/aggregatecmds.c:291
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "如果带有聚合函数输入类型定义,那么基类型定义就是冗余的."
 
-#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
+#: commands/aggregatecmds.c:332 commands/aggregatecmds.c:421
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "聚集转换数据类型不能为 %s"
 
-#: commands/alter.c:80 commands/event_trigger.c:230
+#: commands/aggregatecmds.c:347
+#, c-format
+msgid ""
+"a serialization type must only be specified when the aggregate transition "
+"data type is \"%s\""
+msgstr "只有当聚集转移数据类型是 \"%s\" 时,才必须指定一个序列化类型"
+
+#: commands/aggregatecmds.c:356
+#, c-format
+#| msgid "aggregate transition data type cannot be %s"
+msgid "aggregate serialization data type cannot be %s"
+msgstr "聚集序列化数据类型不能是 %s"
+
+#: commands/aggregatecmds.c:369
+#, c-format
+#| msgid "aggregate transition data type cannot be %s"
+msgid "aggregate serialization type cannot be \"%s\""
+msgstr "聚集序列化类型不能是 %s"
+
+#: commands/aggregatecmds.c:380
+#, c-format
+#| msgid "aggregate minvfunc must be specified when mstype is specified"
+msgid ""
+"aggregate serialization function must be specified when serialization type "
+"is specified"
+msgstr "当序列化类型被指定时必须指定聚集序列化函数"
+
+#: commands/aggregatecmds.c:385
+#, c-format
+#| msgid "aggregate minvfunc must be specified when mstype is specified"
+msgid ""
+"aggregate deserialization function must be specified when serialization type "
+"is specified"
+msgstr "当序列化类型被指定时必须指定聚集反序列化函数"
+
+#: commands/aggregatecmds.c:396
+#, c-format
+msgid "must specify serialization type when specifying serialization function"
+msgstr "在指定序列化函数时必须指定序列化类型"
+
+#: commands/aggregatecmds.c:402
+#, c-format
+msgid ""
+"must specify serialization type when specifying deserialization function"
+msgstr "在指定反序列化函数时必须指定序列化类型"
+
+#: commands/aggregatecmds.c:467 commands/functioncmds.c:570
+#, c-format
+msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
+msgstr "参数 \"parallel\" 必须为 SAFE、RESTRICTED 或者 UNSAFE"
+
+#: commands/alter.c:80 commands/event_trigger.c:231
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "事件触发器 \"%s\" 已经存在"
@@ -4864,7 +5310,7 @@ msgstr "外部数据封装器\"%s\"已经存在"
 msgid "server \"%s\" already exists"
 msgstr "服务器 \"%s\" 已经存在"
 
-#: commands/alter.c:89 commands/proclang.c:363
+#: commands/alter.c:89 commands/proclang.c:366
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "语言 \"%s\" 已经存在"
@@ -4899,11 +5345,55 @@ msgstr "文本搜索配置\"%s\"已存在于方案\"%s\"中"
 msgid "must be superuser to rename %s"
 msgstr "必须为超级用户才能进行重命名\"%s\" "
 
-#: commands/alter.c:609
+#: commands/alter.c:656
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "只有超级用户能设置%s的模式"
 
+#: commands/amcmds.c:58
+#, c-format
+#| msgid "permission denied to create tablespace \"%s\""
+msgid "permission denied to create access method \"%s\""
+msgstr "权限不允许创建访问方法 \"%s\""
+
+#: commands/amcmds.c:60
+#, c-format
+#| msgid "Must be superuser to create a tablespace."
+msgid "Must be superuser to create an access method."
+msgstr "只有超级用户能创建访问方法。"
+
+#: commands/amcmds.c:68
+#, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "access method \"%s\" already exists"
+msgstr "访问方法 \"%s\" 已存在"
+
+#: commands/amcmds.c:124
+#, c-format
+#| msgid "must be superuser to drop superusers"
+msgid "must be superuser to drop access methods"
+msgstr "只有超级用户可以删除访问方法"
+
+#: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495
+#: commands/opclasscmds.c:365 commands/opclasscmds.c:790
+#, c-format
+msgid "access method \"%s\" does not exist"
+msgstr "访问方式 \"%s\" 不存在"
+
+#: commands/amcmds.c:251
+#, c-format
+#| msgid "no function body specified"
+msgid "handler function is not specified"
+msgstr "没有指定处理器函数"
+
+#: commands/amcmds.c:263 commands/event_trigger.c:240
+#: commands/foreigncmds.c:489 commands/proclang.c:117 commands/proclang.c:288
+#: commands/trigger.c:441 parser/parse_clause.c:761
+#, c-format
+#| msgid "function %s should return type %s"
+msgid "function %s must return type %s"
+msgstr "函数 %s 必须返回类型 %s"
+
 #: commands/analyze.c:145
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
@@ -4944,12 +5434,12 @@ msgstr "正在分析 \"%s.%s\"继承树"
 msgid "analyzing \"%s.%s\""
 msgstr "正在分析 \"%s.%s\""
 
-#: commands/analyze.c:645
+#: commands/analyze.c:651
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "自动分析表 \"%s.%s.%s\"的系统使用情况: %s"
 
-#: commands/analyze.c:1201
+#: commands/analyze.c:1207
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -4958,138 +5448,138 @@ msgstr ""
 "\"%1$s\": 已经扫描了%3$u页的%2$d, 包含%4$.0f可用的记录和%5$.0f不能用的记录; "
 "在示例中有%6$d条记录,估算所有记录为%7$.0f ."
 
-#: commands/analyze.c:1280
+#: commands/analyze.c:1286
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
 "contains no child tables"
 msgstr "跳过\"%s.%s\"继承树的分析 --- 这个继承树不包含子表"
 
-#: commands/analyze.c:1369
+#: commands/analyze.c:1375
 #, c-format
 msgid ""
 "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
 "contains no analyzable child tables"
 msgstr "跳过\"%s.%s\"继承树的分析 --- 这个继承树包含不可分析的子表"
 
-#: commands/analyze.c:1417 executor/execQual.c:2900
+#: commands/analyze.c:1423 executor/execQual.c:2922
 msgid "could not convert row type"
 msgstr "无法转换记录类型"
 
-#: commands/async.c:553
+#: commands/async.c:558
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "通道名称不能为空"
 
-#: commands/async.c:558
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "通道名称太长"
 
-#: commands/async.c:565
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "流量负载字符串太长"
 
-#: commands/async.c:751
+#: commands/async.c:756
 #, c-format
 msgid ""
 "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "无法在一个已经执行了LISTEN或UNLISTEN、NOTIFY操作的事务上执行PREPARE"
 
-#: commands/async.c:854
+#: commands/async.c:859
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "在NOTIFY队列中的通知太多了"
 
-#: commands/async.c:1457
+#: commands/async.c:1489
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "NOTIFY队列达到了%.0f%%的容量"
 
-#: commands/async.c:1459
+#: commands/async.c:1491
 #, c-format
 msgid ""
 "The server process with PID %d is among those with the oldest transactions."
 msgstr "带有PID为%d的服务器进程在那些带有最老事务的进程中。"
 
-#: commands/async.c:1462
+#: commands/async.c:1494
 #, c-format
 msgid ""
 "The NOTIFY queue cannot be emptied until that process ends its current "
 "transaction."
 msgstr "在进程结束它所处理的当前事务前, NOTIFY队列不能为空."
 
-#: commands/cluster.c:127 commands/cluster.c:364
+#: commands/cluster.c:129 commands/cluster.c:366
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "无法为其它会话的临时表建簇"
 
-#: commands/cluster.c:157
+#: commands/cluster.c:159
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "在表 \"%s\" 中未找到先前建簇的索引"
 
-#: commands/cluster.c:171 commands/tablecmds.c:9256 commands/tablecmds.c:10953
+#: commands/cluster.c:173 commands/tablecmds.c:9288 commands/tablecmds.c:11004
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "表 \"%2$s\" 的 \"%1$s\" 索引不存在"
 
-#: commands/cluster.c:353
+#: commands/cluster.c:355
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "无法在共享目录视图上进行聚簇操作"
 
-#: commands/cluster.c:368
+#: commands/cluster.c:370
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "无法对其它会话的临时表进行清理操作"
 
-#: commands/cluster.c:431 commands/tablecmds.c:10963
+#: commands/cluster.c:433 commands/tablecmds.c:11014
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "对于表 \"%2$s\" \"%1$s\" 不是一个索引"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:441
 #, c-format
 msgid ""
 "cannot cluster on index \"%s\" because access method does not support "
 "clustering"
 msgstr "无法在索引\"%s\"进行聚簇操作,因为访问方法不支持进行聚簇操作"
 
-#: commands/cluster.c:451
+#: commands/cluster.c:453
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "无法在部分索引 \"%s\"上进行聚簇操作"
 
-#: commands/cluster.c:465
+#: commands/cluster.c:467
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "无法在无效索引\"%s\"进行聚簇操作"
 
-#: commands/cluster.c:918
+#: commands/cluster.c:920
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "簇 \"%s.%s\" 正在 \"%s\"进行索引扫描"
 
-#: commands/cluster.c:924
+#: commands/cluster.c:926
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "簇 \"%s.%s\"正在进行顺序扫描和排序"
 
-#: commands/cluster.c:929 commands/vacuumlazy.c:464
+#: commands/cluster.c:931 commands/vacuumlazy.c:476
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "正在清理 (vacuum)  \"%s.%s\""
 
-#: commands/cluster.c:1088
+#: commands/cluster.c:1090
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr ""
 "\"%1$s\": 在%4$u个页中找到%2$.0f个可删除行版本,%3$.0f不可删除的行版本."
 
-#: commands/cluster.c:1092
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -5126,13 +5616,13 @@ msgstr "在模式\"%2$s\"中已经存在排序规则\"%1$s\""
 #: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
 #: commands/dbcommands.c:1067 commands/dbcommands.c:1257
 #: commands/dbcommands.c:1477 commands/dbcommands.c:1594
-#: commands/dbcommands.c:2011 utils/init/postinit.c:826
-#: utils/init/postinit.c:928 utils/init/postinit.c:945
+#: commands/dbcommands.c:2011 utils/init/postinit.c:842
+#: utils/init/postinit.c:944 utils/init/postinit.c:961
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "数据库 \"%s\" 不存在"
 
-#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:727
+#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:768
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, or foreign "
@@ -5166,57 +5656,58 @@ msgstr "目标编码 \"%s\" 不存在"
 
 #: commands/conversioncmds.c:88
 #, c-format
-msgid "encoding conversion function %s must return type \"void\""
-msgstr "编码转换函数%s必须返回类型\"void\""
+#| msgid "encoding conversion function %s must return type \"void\""
+msgid "encoding conversion function %s must return type %s"
+msgstr "编码转换函数 %s 必须返回类型 %s"
 
-#: commands/copy.c:365 commands/copy.c:377 commands/copy.c:411
-#: commands/copy.c:423
+#: commands/copy.c:362 commands/copy.c:374 commands/copy.c:408
+#: commands/copy.c:420
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPOY BINARY 不支持输出到标准输出或来自标准输入"
 
-#: commands/copy.c:523
+#: commands/copy.c:520
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "无法写入 COPY 程序: %m"
 
-#: commands/copy.c:528
+#: commands/copy.c:525
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "无法写入 COPY 文件: %m"
 
-#: commands/copy.c:541
+#: commands/copy.c:538
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "COPY 到标准输出的过程中联接中断"
 
-#: commands/copy.c:582
+#: commands/copy.c:579
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "无法从COPY命令中文件进行读操作: %m"
 
-#: commands/copy.c:598 commands/copy.c:619 commands/copy.c:623
-#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
+#: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620
+#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "在客户端连接上的已打开事务中出现意外 EOF"
 
-#: commands/copy.c:636
+#: commands/copy.c:633
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "从标准输入上 COPY 失败: %s"
 
-#: commands/copy.c:652
+#: commands/copy.c:649
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "意外的信息类型 0x%02X, 在标准输入上 COPY 的过程中"
 
-#: commands/copy.c:808
+#: commands/copy.c:806
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr "必须成为超级用户才能 COPY 到外部程序或者从外部程序进行COPY"
 
-#: commands/copy.c:809 commands/copy.c:815
+#: commands/copy.c:807 commands/copy.c:813
 #, c-format
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
@@ -5225,443 +5716,478 @@ msgstr ""
 "任何人可以 COPY 到标准输出或来自标准输入的 COPY. 任何人也可以使用 Psql 的 "
 "\\copy 命令."
 
-#: commands/copy.c:814
+#: commands/copy.c:812
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "必须成为超级用户才能 COPY 到文件或从文件 COPY"
 
-#: commands/copy.c:880
+#: commands/copy.c:878
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "在行级安全性下不支持COPY FROM"
 
-#: commands/copy.c:881
+#: commands/copy.c:879
 #, c-format
-#| msgid "Use triggers instead."
 msgid "Use INSERT statements instead."
 msgstr "请使用INSERT语句代替。"
 
-#: commands/copy.c:1021
+#: commands/copy.c:1019
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "没有识别COPY命令的格式\"%s\""
 
-#: commands/copy.c:1092 commands/copy.c:1106 commands/copy.c:1120
-#: commands/copy.c:1140
+#: commands/copy.c:1090 commands/copy.c:1104 commands/copy.c:1118
+#: commands/copy.c:1138
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "选项 \"%s\"的参数必须是一个包含列名的列表"
 
-#: commands/copy.c:1153
+#: commands/copy.c:1151
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "选项 \"%s\"的参数必须是一个有效的编码名"
 
-#: commands/copy.c:1159 commands/dbcommands.c:232 commands/dbcommands.c:1427
+#: commands/copy.c:1157 commands/dbcommands.c:232 commands/dbcommands.c:1427
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "未识别选项\"%s\""
 
-#: commands/copy.c:1170
+#: commands/copy.c:1168
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "在 BINARY 模式中你不能指定 DELIMITER"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1173
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "在 BINARY 模式中你不能指定 NULL"
 
-#: commands/copy.c:1197
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "COPY命令中 的分隔符必需是单字节字符"
 
-#: commands/copy.c:1204
+#: commands/copy.c:1202
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "COPY 命令中的分隔符不能使新行或回车符"
 
-#: commands/copy.c:1210
+#: commands/copy.c:1208
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "在COPY命令中空表达式中不能使用新行或换行回车."
 
-#: commands/copy.c:1227
+#: commands/copy.c:1225
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "COPY命令中的分隔符不能为\"%s\""
 
-#: commands/copy.c:1233
+#: commands/copy.c:1231
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "只在CSV 模式中才能使用COPY HEADER命令"
 
-#: commands/copy.c:1239
+#: commands/copy.c:1237
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "只有在CSV模式中才能在COPY命令中使用引号"
 
-#: commands/copy.c:1244
+#: commands/copy.c:1242
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "在COPY命令中的引号必须是单字节字符"
 
-#: commands/copy.c:1249
+#: commands/copy.c:1247
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "COPY命令中的分隔符和引号不能一样."
 
-#: commands/copy.c:1255
+#: commands/copy.c:1253
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "COPY 转义 (escape) 只在 CSV 模式中有效"
 
-#: commands/copy.c:1260
+#: commands/copy.c:1258
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "在COPY命令中的转义字符必须是单个单字节字符"
 
-#: commands/copy.c:1266
+#: commands/copy.c:1264
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "只有在CSV模式中才能在COPY命令中进行强制引用操作"
 
-#: commands/copy.c:1270
+#: commands/copy.c:1268
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "只有使用COPY TO命令时, COPY强制引用操作才有效"
 
-#: commands/copy.c:1276
+#: commands/copy.c:1274
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "只有在CSV模式中强制不为空的COPY命令才有效"
 
-#: commands/copy.c:1280
+#: commands/copy.c:1278
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "只有在使用COPY FROM命令时,在COPY命令中的强制不可为空的操作才有效"
 
-#: commands/copy.c:1286
+#: commands/copy.c:1284
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "只有在CSV模式中强制为空的COPY命令才有效"
 
-#: commands/copy.c:1291
+#: commands/copy.c:1289
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "只有在使用COPY FROM命令时,在COPY命令中的强制为空的操作才有效"
 
-#: commands/copy.c:1297
+#: commands/copy.c:1295
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "COPY分隔符不能出现NULL定义中"
 
-#: commands/copy.c:1304
+#: commands/copy.c:1302
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "CSV引用字符不能出现在NULL定义中."
 
-#: commands/copy.c:1367
+#: commands/copy.c:1365
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "表 \"%s\" 没有 OID"
 
-#: commands/copy.c:1384
+#: commands/copy.c:1382
+#, c-format
+#| msgid "COPY (SELECT) WITH OIDS is not supported"
+msgid "COPY (query) WITH OIDS is not supported"
+msgstr "不支持 COPY (query) WITH OIDS"
+
+#: commands/copy.c:1402
+#, c-format
+#| msgid ""
+#| "DO INSTEAD NOTHING rules are not supported for data-modifying statements "
+#| "in WITH"
+msgid "DO INSTEAD NOTHING rules are not supported for COPY"
+msgstr "对 COPY 语句不支持 DO INSTEAD NOTHING 规则"
+
+#: commands/copy.c:1416
+#, c-format
+#| msgid ""
+#| "conditional DO INSTEAD rules are not supported for data-modifying "
+#| "statements in WITH"
+msgid "conditional DO INSTEAD rules are not supported for COPY"
+msgstr "对 COPY 语句不支持有条件的 DO INSTEAD 规则"
+
+#: commands/copy.c:1420
+#, c-format
+#| msgid ""
+#| "DO ALSO rules are not supported for data-modifying statements in WITH"
+msgid "DO ALSO rules are not supported for the COPY"
+msgstr "对 COPY 语句不支持 DO ALSO 规则"
+
+#: commands/copy.c:1425
 #, c-format
-msgid "COPY (SELECT) WITH OIDS is not supported"
-msgstr "不支持使用COPY (SELECT) WITH OIDS"
+#| msgid ""
+#| "multi-statement DO INSTEAD rules are not supported for data-modifying "
+#| "statements in WITH"
+msgid "multi-statement DO INSTEAD rules are not supported for COPY"
+msgstr "对 COPY 语句不支持多语句 DO INSTEAD 规则"
 
-#: commands/copy.c:1410
+#: commands/copy.c:1435
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "不支持使用COPY (SELECT INTO)命令."
 
-#: commands/copy.c:1440
+#: commands/copy.c:1452
+#, c-format
+#| msgid "WITH query \"%s\" does not have a RETURNING clause"
+msgid "COPY query must have a RETURNING clause"
+msgstr "COPY 查询必须有 RETURNING 子句"
+
+#: commands/copy.c:1480
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "COPY语句引用的关系已经改变"
 
-#: commands/copy.c:1498
+#: commands/copy.c:1538
 #, c-format
-msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
-msgstr "COPY命令没有引用FORCE QUOTE的列\"%s\" ."
+#| msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
+msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
+msgstr "FORCE_QUOTE 列 \"%s\" 没有被 COPY 引用"
 
-#: commands/copy.c:1520
+#: commands/copy.c:1560
 #, c-format
-msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
-msgstr "COPY命令没有引用FORCE NOT NULL的列\"%s\" ."
+#| msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
+msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
+msgstr "FORCE_NOT_NULL 列 \"%s\" 没有被 COPY 引用"
 
-#: commands/copy.c:1542
+#: commands/copy.c:1582
 #, c-format
-msgid "FORCE NULL column \"%s\" not referenced by COPY"
-msgstr "COPY命令没有引用FORCE NULL的列\"%s\" ."
+#| msgid "FORCE NULL column \"%s\" not referenced by COPY"
+msgid "FORCE_NULL column \"%s\" not referenced by COPY"
+msgstr "FORCE_NULL 列 \"%s\" 没有被 COPY 引用"
 
-#: commands/copy.c:1607
+#: commands/copy.c:1647
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "无法为外部命令: %m关闭管道"
 
-#: commands/copy.c:1611
+#: commands/copy.c:1651
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "程序\"%s\"失败"
 
-#: commands/copy.c:1661
+#: commands/copy.c:1701
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "不可以从视图 \"%s\" 拷贝"
 
-#: commands/copy.c:1663 commands/copy.c:1669 commands/copy.c:1675
+#: commands/copy.c:1703 commands/copy.c:1709 commands/copy.c:1715
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "尝试不同形式的COPY (SELECT ...) TO命令"
 
-#: commands/copy.c:1667
+#: commands/copy.c:1707
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "不可以从物化视图 \"%s\" 拷贝"
 
-#: commands/copy.c:1673
+#: commands/copy.c:1713
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "不可以从外部表 \"%s\" 拷贝"
 
-#: commands/copy.c:1679
+#: commands/copy.c:1719
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "不可以从序列 \"%s\" 拷贝"
 
-#: commands/copy.c:1684
+#: commands/copy.c:1724
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "不可以从非表关系 \"%s\" 拷贝"
 
-#: commands/copy.c:1709 commands/copy.c:2747
+#: commands/copy.c:1749 commands/copy.c:2787
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "无法执行命令 \"%s\": %m"
 
-#: commands/copy.c:1724
+#: commands/copy.c:1764
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "COPY 到文件不允许相对路径"
 
-#: commands/copy.c:1732
+#: commands/copy.c:1772
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "为了写入, 无法打开文件 \"%s\": %m"
 
-#: commands/copy.c:1744 commands/copy.c:2770
+#: commands/copy.c:1784 commands/copy.c:2810
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" 是一个目录"
 
-#: commands/copy.c:2069
+#: commands/copy.c:2109
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, 行 %d, 列 %s"
 
-#: commands/copy.c:2073 commands/copy.c:2120
+#: commands/copy.c:2113 commands/copy.c:2160
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, 行 %d"
 
-#: commands/copy.c:2084
+#: commands/copy.c:2124
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, 行 %d, 列 %s: \"%s\""
 
-#: commands/copy.c:2092
+#: commands/copy.c:2132
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, 行 %d, 列 %s: 空的输入"
 
-#: commands/copy.c:2114
+#: commands/copy.c:2154
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, 行 %d: \"%s\""
 
-#: commands/copy.c:2198
+#: commands/copy.c:2238
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "不可以拷贝到视图 \"%s\""
 
-#: commands/copy.c:2203
+#: commands/copy.c:2243
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "不可以拷贝到物化视图 \"%s\""
 
-#: commands/copy.c:2208
+#: commands/copy.c:2248
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "不可以拷贝到外部表 \"%s\""
 
-#: commands/copy.c:2213
+#: commands/copy.c:2253
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "不可以拷贝到序列 \"%s\""
 
-#: commands/copy.c:2218
+#: commands/copy.c:2258
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "不可以拷贝到非表关系 \"%s\""
 
-#: commands/copy.c:2281
+#: commands/copy.c:2321
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "由于前一个事务是活动的,无法执行FREEZE操作"
 
-#: commands/copy.c:2287
+#: commands/copy.c:2327
 #, c-format
 msgid ""
 "cannot perform FREEZE because the table was not created or truncated in the "
 "current subtransaction"
 msgstr "当前子事务中,因为表未建或被截短,无法执行FREEZE操作"
 
-#: commands/copy.c:2758 commands/extension.c:3037 utils/adt/genfile.c:134
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "为了读取, 无法打开文件 \"%s\": %m"
-
-#: commands/copy.c:2790
+#: commands/copy.c:2830
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "文件签字不被认可"
 
-#: commands/copy.c:2795
+#: commands/copy.c:2835
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "无效的 COPY 文件头 (缺少标志)"
 
-#: commands/copy.c:2801
+#: commands/copy.c:2841
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "在 COPY 文件头有不认可的危险标志"
 
-#: commands/copy.c:2807
+#: commands/copy.c:2847
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "无效的 COPY 文件头 (缺少长度)"
 
-#: commands/copy.c:2814
+#: commands/copy.c:2854
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "无效的 COPY 文件头 (错误长度)"
 
-#: commands/copy.c:2947 commands/copy.c:3654 commands/copy.c:3884
+#: commands/copy.c:2987 commands/copy.c:3694 commands/copy.c:3924
 #, c-format
 msgid "extra data after last expected column"
 msgstr "最后期望字段后有额外数据"
 
-#: commands/copy.c:2957
+#: commands/copy.c:2997
 #, c-format
 msgid "missing data for OID column"
 msgstr "OID列丢失数据"
 
-#: commands/copy.c:2963
+#: commands/copy.c:3003
 #, c-format
 msgid "null OID in COPY data"
 msgstr "在 COPY 数据中没有 OID"
 
-#: commands/copy.c:2973 commands/copy.c:3096
+#: commands/copy.c:3013 commands/copy.c:3136
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "在 COPY 数据中无效的 OID"
 
-#: commands/copy.c:2988
+#: commands/copy.c:3028
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "字段 \"%s\" 缺少数据"
 
-#: commands/copy.c:3071
+#: commands/copy.c:3111
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "在EOF标志后收到了复制数据"
 
-#: commands/copy.c:3078
+#: commands/copy.c:3118
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "元组字段计数是 %d, 期望计数是 %d"
 
-#: commands/copy.c:3418 commands/copy.c:3435
+#: commands/copy.c:3458 commands/copy.c:3475
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "在数据中找到了文字的回车换行符"
 
-#: commands/copy.c:3419 commands/copy.c:3436
+#: commands/copy.c:3459 commands/copy.c:3476
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "在数据中找到了未用引号引起来的回车换行符"
 
-#: commands/copy.c:3421 commands/copy.c:3438
+#: commands/copy.c:3461 commands/copy.c:3478
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "使用\"\\r\"来代表换行回车"
 
-#: commands/copy.c:3422 commands/copy.c:3439
+#: commands/copy.c:3462 commands/copy.c:3479
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "使用以引号引起来的CSV字段代表换行回车."
 
-#: commands/copy.c:3451
+#: commands/copy.c:3491
 #, c-format
 msgid "literal newline found in data"
 msgstr "在数据中找到了文字形式的新行"
 
-#: commands/copy.c:3452
+#: commands/copy.c:3492
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "在数据中找到了未用引号引起来的新行"
 
-#: commands/copy.c:3454
+#: commands/copy.c:3494
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "使用 \"\\n\" 表示新行."
 
-#: commands/copy.c:3455
+#: commands/copy.c:3495
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "使用用引号因起来的CSV字段来表示新行."
 
-#: commands/copy.c:3501 commands/copy.c:3537
+#: commands/copy.c:3541 commands/copy.c:3577
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "end-of-copy标示不匹配先前的新数据行的风格."
 
-#: commands/copy.c:3510 commands/copy.c:3526
+#: commands/copy.c:3550 commands/copy.c:3566
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "copy命令结束标记损坏"
 
-#: commands/copy.c:3968
+#: commands/copy.c:4008
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "CSV 引号域没有结束"
 
-#: commands/copy.c:4045 commands/copy.c:4064
+#: commands/copy.c:4085 commands/copy.c:4104
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "在 COPY 数据中意外的 EOF"
 
-#: commands/copy.c:4054
+#: commands/copy.c:4094
 #, c-format
 msgid "invalid field size"
 msgstr "无效字段尺寸"
 
-#: commands/copy.c:4077
+#: commands/copy.c:4117
 #, c-format
 msgid "incorrect binary data format"
 msgstr "不正确的二进制数据格式"
 
-#: commands/copy.c:4388 commands/indexcmds.c:1008 commands/tablecmds.c:1458
-#: commands/tablecmds.c:2281 parser/parse_relation.c:3081
-#: parser/parse_relation.c:3101 utils/adt/tsvector_op.c:1417
+#: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463
+#: commands/tablecmds.c:2290 parser/parse_relation.c:3084
+#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2222
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "字段 \"%s\" 不存在"
 
-#: commands/copy.c:4395 commands/tablecmds.c:1484 commands/trigger.c:652
+#: commands/copy.c:4435 commands/tablecmds.c:1489 commands/trigger.c:651
 #: parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -5674,7 +6200,6 @@ msgstr "指定了太多的列名"
 
 #: commands/createas.c:452
 #, c-format
-#| msgid "DISTINCT is not implemented for window functions"
 msgid "policies not yet implemented for this command"
 msgstr "还没有为该命令实现策略"
 
@@ -5699,8 +6224,8 @@ msgid "%s is not a valid encoding name"
 msgstr "%s 是一个无效编码名字"
 
 # fe-connect.c:2558
-#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:271
-#: commands/user.c:635
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:272
+#: commands/user.c:650
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "无效的连接限制:%d"
@@ -5875,21 +6400,19 @@ msgstr "在使用这条命令前,您必须把它们移动回数据库的缺省
 
 #: commands/dbcommands.c:1325 commands/dbcommands.c:1868
 #: commands/dbcommands.c:2072 commands/dbcommands.c:2120
-#: commands/tablespace.c:606
+#: commands/tablespace.c:610
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "在原先的数据库目录\"%s\"可能留下了一些无用的文件"
 
 #: commands/dbcommands.c:1440
 #, c-format
-#| msgid "parameter \"%s\" cannot be set after connection start"
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "选项\"%s\"不能和其他选项一起指定"
 
 # command.c:981
 #: commands/dbcommands.c:1494
 #, c-format
-#| msgid "too many connections for database \"%s\""
 msgid "cannot disallow connections for current database"
 msgstr "无法禁止到当前数据库的连接"
 
@@ -5954,8 +6477,8 @@ msgstr "%s 的参数必需是一个类型名"
 msgid "invalid argument for %s: \"%s\""
 msgstr "%s 的无效参数: \"%s\""
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1166
-#: utils/adt/ruleutils.c:1951
+#: commands/dropcmds.c:112 commands/functioncmds.c:1203
+#: utils/adt/ruleutils.c:1957
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "\"%s\" 是一个聚合函数"
@@ -5965,19 +6488,19 @@ msgstr "\"%s\" 是一个聚合函数"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "使用 DROP AGGREGATE 删除一个聚合函数."
 
-#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2368
-#: commands/tablecmds.c:2519 commands/tablecmds.c:2561
-#: commands/tablecmds.c:11317 tcop/utility.c:1104
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377
+#: commands/tablecmds.c:2528 commands/tablecmds.c:2570
+#: commands/tablecmds.c:11379 tcop/utility.c:1119
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "关系 \"%s\" 不存在,忽略"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:740
+#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:745
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "模式 \"%s\" 不存在"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:243
+#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:246
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "类型 \"%s\" 不存在"
@@ -6044,7 +6567,6 @@ msgstr "从类型 %s 到类型 %s 的类型转换不存在,跳过"
 
 #: commands/dropcmds.c:372
 #, c-format
-#| msgid "language \"%s\" does not exist, skipping"
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "用于类型%s、语言\"%s\"的转换不存在,跳过"
 
@@ -6055,7 +6577,6 @@ msgstr "关系 \"%2$s\"的触发器\"%1$s\"不存在,跳过"
 
 #: commands/dropcmds.c:389
 #, c-format
-#| msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "关系\"%2$s\"的策略\"%1$s\"不存在,跳过"
 
@@ -6090,103 +6611,70 @@ msgid ""
 "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "访问方法\"%2$s\"的操作符表 \"%1$s\" 不存在, 跳过"
 
-#: commands/event_trigger.c:181
+#: commands/event_trigger.c:182
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "创建事件触发器 \"%s\" 权限不够"
 
-#: commands/event_trigger.c:183
+#: commands/event_trigger.c:184
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "只有超级用户能创建事件触发器."
 
-#: commands/event_trigger.c:192
+#: commands/event_trigger.c:193
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "无法识别的事件名:\"%s\""
 
-#: commands/event_trigger.c:209
+#: commands/event_trigger.c:210
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "不可识别的过滤器变量 \"%s\""
 
-#: commands/event_trigger.c:239
-#, c-format
-msgid "function \"%s\" must return type \"event_trigger\""
-msgstr "函数 %s 必需返回 \"event_trigger\" 类型"
-
-#: commands/event_trigger.c:264
+#: commands/event_trigger.c:265
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "过滤器变量 \"%2$s\"中的过滤器值\"%1$s\"不能识别"
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:270 commands/event_trigger.c:340
+#: commands/event_trigger.c:271 commands/event_trigger.c:341
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "事件触发器在%s中不被支持"
 
-#: commands/event_trigger.c:363
+#: commands/event_trigger.c:364
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "过滤器变量 \"%s\" 被指定多次"
 
-#: commands/event_trigger.c:511 commands/event_trigger.c:555
-#: commands/event_trigger.c:648
+#: commands/event_trigger.c:512 commands/event_trigger.c:556
+#: commands/event_trigger.c:649
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "过滤器变量\"%s\" 不存在"
 
-#: commands/event_trigger.c:616
+#: commands/event_trigger.c:617
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "修改事件触发器的 \"%s\" 的属主权限不够"
 
-#: commands/event_trigger.c:618
+#: commands/event_trigger.c:619
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "事件触发器的属主必须是超级用户."
 
-#: commands/event_trigger.c:1439
+#: commands/event_trigger.c:1442
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s只能在sql_drop事件触发器函数中被调用"
 
-#: commands/event_trigger.c:1446 commands/event_trigger.c:1997
-#: commands/extension.c:1645 commands/extension.c:1754
-#: commands/extension.c:1947 commands/prepare.c:701 executor/execQual.c:1735
-#: executor/execQual.c:1760 executor/execQual.c:2135 executor/execQual.c:5376
-#: executor/functions.c:1021 foreign/foreign.c:491
-#: replication/logical/logicalfuncs.c:312 replication/logical/origin.c:1410
-#: replication/slotfuncs.c:173 replication/walsender.c:2759
-#: utils/adt/jsonfuncs.c:1474 utils/adt/jsonfuncs.c:1606
-#: utils/adt/jsonfuncs.c:1796 utils/adt/jsonfuncs.c:1925
-#: utils/adt/jsonfuncs.c:2693 utils/adt/pgstatfuncs.c:547
-#: utils/fmgr/funcapi.c:61 utils/misc/guc.c:8196 utils/mmgr/portalmem.c:1052
-#, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr "在不能接受使用集合的环境中调用set-valued函数"
-
-#: commands/event_trigger.c:1450 commands/event_trigger.c:2001
-#: commands/extension.c:1649 commands/extension.c:1758
-#: commands/extension.c:1951 commands/prepare.c:705 foreign/foreign.c:496
-#: replication/logical/logicalfuncs.c:316 replication/logical/origin.c:1414
-#: replication/slotfuncs.c:177 replication/walsender.c:2763
-#: utils/adt/pgstatfuncs.c:551 utils/misc/guc.c:8200
-#: utils/mmgr/portalmem.c:1056
-#, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "要求使用物化模式,但是在这种环境下不允许使用."
-
-#: commands/event_trigger.c:1559 commands/event_trigger.c:1580
+#: commands/event_trigger.c:1562 commands/event_trigger.c:1583
 #, c-format
-#| msgid "%s can only be called in a sql_drop event trigger function"
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s只能在table_rewrite事件触发器函数中被调用"
 
-#: commands/event_trigger.c:1990
+#: commands/event_trigger.c:1993
 #, c-format
-#| msgid "%s can only be called in a sql_drop event trigger function"
 msgid "%s can only be called in an event trigger function"
 msgstr "%s只能在事件触发器函数中被调用"
 
@@ -6210,224 +6698,241 @@ msgstr "在EXPLAIN命令中BUFFERS和ANALYZE选项需要一起使用"
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "在EXPLAIN命令中的TIMING选项需要ANALYZE"
 
-#: commands/extension.c:152 commands/extension.c:2635
+#: commands/extension.c:154 commands/extension.c:2718
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "扩展 \"%s\" 不存在"
 
-#: commands/extension.c:251 commands/extension.c:260 commands/extension.c:272
-#: commands/extension.c:282
+#: commands/extension.c:253 commands/extension.c:262 commands/extension.c:274
+#: commands/extension.c:284
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "无效扩展名: \"%s\""
 
-#: commands/extension.c:252
+#: commands/extension.c:254
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "扩展名不能为空."
 
-#: commands/extension.c:261
+#: commands/extension.c:263
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "扩展名不能包含\"--\"."
 
-#: commands/extension.c:273
+#: commands/extension.c:275
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "扩展名不能以 \"-\"作为开始或结束符."
 
-#: commands/extension.c:283
+#: commands/extension.c:285
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "扩展名不能包含目录分隔符."
 
-#: commands/extension.c:298 commands/extension.c:307 commands/extension.c:316
-#: commands/extension.c:326
+#: commands/extension.c:300 commands/extension.c:309 commands/extension.c:318
+#: commands/extension.c:328
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "无效的扩展版本名: \"%s\""
 
-#: commands/extension.c:299
+#: commands/extension.c:301
 #, c-format
 msgid "Version names must not be empty."
 msgstr "版本名不能为空."
 
-#: commands/extension.c:308
+#: commands/extension.c:310
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "版本名不能包含\"--\"."
 
-#: commands/extension.c:317
+#: commands/extension.c:319
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "版本名不能以 \"-\"作为开始或结束符."
 
-#: commands/extension.c:327
+#: commands/extension.c:329
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "版本名不能包含目录分隔符."
 
-#: commands/extension.c:477
+#: commands/extension.c:479
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "无法打开扩展控制文件 \"%s\": %m"
 
-#: commands/extension.c:499 commands/extension.c:509
+#: commands/extension.c:501 commands/extension.c:511
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "第二扩展控制文件中, 无法设置参数 \"%s\""
 
-#: commands/extension.c:548
+#: commands/extension.c:550
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "\"%s\" 是一个无效编码名"
 
-#: commands/extension.c:562
+#: commands/extension.c:564
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "参数 \"%s\"必须是一个包含扩展名的列表"
 
-#: commands/extension.c:569
+#: commands/extension.c:571
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "文件\"%2$s\"中出现未识别的参数 \"%1$s\""
 
-#: commands/extension.c:578
+#: commands/extension.c:580
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "当\"relocatable\"为真时,参数\"schema\"不允许被指定"
 
-#: commands/extension.c:719
+#: commands/extension.c:721
 #, c-format
 msgid ""
 "transaction control statements are not allowed within an extension script"
 msgstr "扩展脚本中不允许出现事务控制语句"
 
-#: commands/extension.c:787
+#: commands/extension.c:789
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "创建扩展 \"%s\" 权限不够"
 
-#: commands/extension.c:789
+#: commands/extension.c:791
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "只有超级用户能创建扩展."
 
-#: commands/extension.c:793
+#: commands/extension.c:795
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "更新扩展 \"%s\" 权限不够"
 
-#: commands/extension.c:795
+#: commands/extension.c:797
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "只有超级用户能更新扩展."
 
-#: commands/extension.c:1077
+#: commands/extension.c:1079
 #, c-format
 msgid ""
 "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "扩展 \"%s\" 没有从版本\"%s\"到版本\"%s\"的更新路径"
 
-#: commands/extension.c:1205
-#, c-format
-msgid "extension \"%s\" already exists, skipping"
-msgstr "扩展 \"%s\" 已经存在,跳过"
-
-#: commands/extension.c:1212
-#, c-format
-msgid "extension \"%s\" already exists"
-msgstr "扩展 \"%s\" 已经存在"
-
-#: commands/extension.c:1223
-#, c-format
-msgid "nested CREATE EXTENSION is not supported"
-msgstr "不支持嵌套的CREATE EXTENSION"
-
-#: commands/extension.c:1278 commands/extension.c:2695
+#: commands/extension.c:1261 commands/extension.c:2778
 #, c-format
 msgid "version to install must be specified"
 msgstr "必须指定安装版本"
 
-#: commands/extension.c:1295
+#: commands/extension.c:1278
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "FROM 版本与安装的目标版本 \"%s\" 必须不同"
 
-#: commands/extension.c:1350
+#: commands/extension.c:1343
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "扩展\"%s\"已经安装到模式\"%s\"中了"
 
-#: commands/extension.c:1434 commands/extension.c:2840
+#: commands/extension.c:1435
+#, c-format
+#| msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
+msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
+msgstr "在扩展 \"%s\" 和 \"%s\" 之间检测到循环依赖"
+
+#: commands/extension.c:1440
+#, c-format
+#| msgid "invalid extension name: \"%s\""
+msgid "installing required extension \"%s\""
+msgstr "正在安装所需的扩展 \"%s\""
+
+#: commands/extension.c:1468 commands/extension.c:2923
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "所需要的扩展\"%s\"没被安装"
 
-#: commands/extension.c:1597
+#: commands/extension.c:1470
+#, c-format
+#| msgid "Use ALTER ... CASCADE to alter the typed tables too."
+msgid "Use CREATE EXTENSION CASCADE to install required extensions too."
+msgstr "请使用 CREATE EXTENSION CASCADE 安装所需的扩展。"
+
+#: commands/extension.c:1534
+#, c-format
+msgid "extension \"%s\" already exists, skipping"
+msgstr "扩展 \"%s\" 已经存在,跳过"
+
+#: commands/extension.c:1541
+#, c-format
+msgid "extension \"%s\" already exists"
+msgstr "扩展 \"%s\" 已经存在"
+
+#: commands/extension.c:1552
+#, c-format
+msgid "nested CREATE EXTENSION is not supported"
+msgstr "不支持嵌套的CREATE EXTENSION"
+
+#: commands/extension.c:1680
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "无法删除扩展\"%s\",因为它正被修改中"
 
-#: commands/extension.c:2068
+#: commands/extension.c:2151
 #, c-format
 msgid ""
 "pg_extension_config_dump() can only be called from an SQL script executed by "
 "CREATE EXTENSION"
 msgstr "pg_extension_config_dump() 只能在执行 CREATE EXTENSION的SQL脚本里调用"
 
-#: commands/extension.c:2080
+#: commands/extension.c:2163
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u没有引用任何表"
 
-#: commands/extension.c:2085
+#: commands/extension.c:2168
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "表\"%s\"不是被创建的任何一个扩展的成员"
 
-#: commands/extension.c:2450
+#: commands/extension.c:2533
 #, c-format
 msgid ""
 "cannot move extension \"%s\" into schema \"%s\" because the extension "
 "contains the schema"
 msgstr "不能将扩展 \"%s\" 转移到模式 \"%s\" 里,因为该扩展已经拥有该模式"
 
-#: commands/extension.c:2490 commands/extension.c:2553
+#: commands/extension.c:2573 commands/extension.c:2636
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "扩展 \"%s\" 不支持SET SCHEMA操作"
 
-#: commands/extension.c:2555
+#: commands/extension.c:2638
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "扩展模式\"%2$s\"中不存在%1$s"
 
-#: commands/extension.c:2615
+#: commands/extension.c:2698
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "不支持使用嵌套的ALTER  EXTENSION"
 
-#: commands/extension.c:2706
+#: commands/extension.c:2789
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "扩展\"%2$s\"的版本\"%1$s\"已经安装"
 
-#: commands/extension.c:2957
+#: commands/extension.c:3040
 #, c-format
 msgid ""
 "cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
 "extension"
 msgstr "无法为扩展\"%2$s\"添加模式\"%1$s\",因为该模式已经包含此扩展"
 
-#: commands/extension.c:2975
+#: commands/extension.c:3058
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s不是扩展的成员\"%s\""
 
-#: commands/extension.c:3031
+#: commands/extension.c:3114
 #, c-format
-#| msgid "variable \"%s\" is not declared"
 msgid "file \"%s\" is too large"
 msgstr "文件\"%s\"太大"
 
@@ -6456,16 +6961,11 @@ msgstr "只有超级用户可以更改外部数据封装器的属主"
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "外部数据封装器的属主必须是超级用户."
 
-#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:670
+#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:777
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "外部数据封装器 \"%s\" 不存在"
 
-#: commands/foreigncmds.c:489
-#, c-format
-msgid "function %s must return type \"fdw_handler\""
-msgstr "函数 %s 必须返回 \"fdw_handler\" 类型"
-
 #: commands/foreigncmds.c:584
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
@@ -6500,40 +7000,38 @@ msgid ""
 "dependent objects to become invalid"
 msgstr "改变外部数据封装器的验证能够使所它依赖对象的选项变为无效"
 
-#: commands/foreigncmds.c:1165
+#: commands/foreigncmds.c:1169
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "对于服务器%2$s,用户映射\"%1$s\"已存在 "
 
-#: commands/foreigncmds.c:1259 commands/foreigncmds.c:1375
+#: commands/foreigncmds.c:1267 commands/foreigncmds.c:1388
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "对于服务器来说,用户映射\"%s\"不存在"
 
-#: commands/foreigncmds.c:1362
+#: commands/foreigncmds.c:1375
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "服务器不存在,跳过"
 
-#: commands/foreigncmds.c:1380
+#: commands/foreigncmds.c:1393
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "用户映射\"%s\"对于服务器来说不存在,跳过"
 
-#: commands/foreigncmds.c:1532 foreign/foreign.c:360
+#: commands/foreigncmds.c:1545 foreign/foreign.c:467
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "外部数据封装器 \"%s\"没有处理函数"
 
-#: commands/foreigncmds.c:1538
+#: commands/foreigncmds.c:1551
 #, c-format
-#| msgid "foreign-data wrapper \"%s\" does not exist"
 msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
 msgstr "外部数据包装器\"%s\"不支持IMPORT FOREIGN SCHEMA"
 
-#: commands/foreigncmds.c:1631
+#: commands/foreigncmds.c:1644
 #, c-format
-#| msgid "cannot insert into foreign table \"%s\""
 msgid "importing foreign table \"%s\""
 msgstr "导入外部表\"%s\""
 
@@ -6547,7 +7045,7 @@ msgstr "SQL 函数不能返回 shell 类型 %s"
 msgid "return type %s is only a shell"
 msgstr "返回类型 %s 只是一个 shell"
 
-#: commands/functioncmds.c:134 parser/parse_type.c:338
+#: commands/functioncmds.c:134 parser/parse_type.c:337
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "不能为shell类型\"%s\"指定类型修改器"
@@ -6622,431 +7120,414 @@ msgstr "在参数缺省值中不能使用表引用"
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "在带有缺省值参数后面的输入参数必须也带有缺省值."
 
-#: commands/functioncmds.c:670
+#: commands/functioncmds.c:701
 #, c-format
 msgid "no function body specified"
 msgstr "没有指定函数体"
 
-#: commands/functioncmds.c:680
+#: commands/functioncmds.c:711
 #, c-format
 msgid "no language specified"
 msgstr "没有指定语言"
 
-#: commands/functioncmds.c:705 commands/functioncmds.c:1205
+#: commands/functioncmds.c:736 commands/functioncmds.c:1243
 #, c-format
 msgid "COST must be positive"
 msgstr "COST必需为正数"
 
-#: commands/functioncmds.c:713 commands/functioncmds.c:1213
+#: commands/functioncmds.c:744 commands/functioncmds.c:1251
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS必需为正数"
 
-#: commands/functioncmds.c:752
+#: commands/functioncmds.c:785
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "忽略未认可的函数属性 \"%s\""
 
-#: commands/functioncmds.c:803
+#: commands/functioncmds.c:836
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "对于 \"%s\" 语言只能要求一个 AS 项目"
 
-#: commands/functioncmds.c:894 commands/functioncmds.c:2079
-#: commands/proclang.c:560
+#: commands/functioncmds.c:929 commands/functioncmds.c:2119
+#: commands/proclang.c:563
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "语言 \"%s\" 不存在"
 
-#: commands/functioncmds.c:896 commands/functioncmds.c:2081
+#: commands/functioncmds.c:931 commands/functioncmds.c:2121
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "使用CREATE LANGUAGE向数据库加载语言."
 
-#: commands/functioncmds.c:931 commands/functioncmds.c:1197
+#: commands/functioncmds.c:966 commands/functioncmds.c:1235
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "只有超级用户才能定义一个密封函数"
 
-#: commands/functioncmds.c:975
+#: commands/functioncmds.c:1010
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "因为OUT参数,函数的结果类型必须是%s"
 
-#: commands/functioncmds.c:988
+#: commands/functioncmds.c:1023
 #, c-format
 msgid "function result type must be specified"
 msgstr "必须指定函数返回结果的类型"
 
-#: commands/functioncmds.c:1042 commands/functioncmds.c:1217
+#: commands/functioncmds.c:1077 commands/functioncmds.c:1255
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "当转换函数不返回一个组合时,不适用ROWS"
 
-#: commands/functioncmds.c:1372
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "源数据类型 %s 是一个伪类型"
 
-#: commands/functioncmds.c:1378
+#: commands/functioncmds.c:1418
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "目标数据类型 %s 是一个伪类型"
 
-#: commands/functioncmds.c:1402
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "转换将被忽略,因为源数据类型是一个域"
 
-#: commands/functioncmds.c:1407
+#: commands/functioncmds.c:1447
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "转换将被忽略,因为目标数据类型是一个域"
 
-#: commands/functioncmds.c:1434
+#: commands/functioncmds.c:1474
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "类型转换函数只能带一到三个参数"
 
-#: commands/functioncmds.c:1438
+#: commands/functioncmds.c:1478
 #, c-format
 msgid ""
 "argument of cast function must match or be binary-coercible from source data "
 "type"
 msgstr "功能指派函数的参数必须匹配或者是或者从源数据类型以二进制方式强制转换的"
 
-#: commands/functioncmds.c:1442
+#: commands/functioncmds.c:1482
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "类型转换函数的第二个参数必须为整型"
 
-#: commands/functioncmds.c:1446
+#: commands/functioncmds.c:1486
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "类型转换函数的第三个参数必须为布尔类型"
 
-#: commands/functioncmds.c:1450
+#: commands/functioncmds.c:1490
 #, c-format
 msgid ""
 "return data type of cast function must match or be binary-coercible to "
 "target data type"
 msgstr "功能指派函数的返回数据类型必须匹配或者强制二进制方式转换的目标数据类型"
 
-#: commands/functioncmds.c:1461
+#: commands/functioncmds.c:1501
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "类型转换函数不能为易失的 (volatile)"
 
-#: commands/functioncmds.c:1466
+#: commands/functioncmds.c:1506
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "转换函数不能是一个聚合函数"
 
-#: commands/functioncmds.c:1470
+#: commands/functioncmds.c:1510
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "功能转换函数不能使窗口函数"
 
-#: commands/functioncmds.c:1474
+#: commands/functioncmds.c:1514
 #, c-format
 msgid "cast function must not return a set"
 msgstr "转换函数不能返回一个组合"
 
-#: commands/functioncmds.c:1500
+#: commands/functioncmds.c:1540
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "只有超级用户能创建一个非函数的类型转换"
 
-#: commands/functioncmds.c:1515
+#: commands/functioncmds.c:1555
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "源数据类型和目标数据类型不相容"
 
-#: commands/functioncmds.c:1530
+#: commands/functioncmds.c:1570
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "组合数据类型不是二进制兼容"
 
-#: commands/functioncmds.c:1536
+#: commands/functioncmds.c:1576
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "枚举数据类型不是二进制兼容"
 
-#: commands/functioncmds.c:1542
+#: commands/functioncmds.c:1582
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "数组数据类型不是二进制兼容的"
 
-#: commands/functioncmds.c:1559
+#: commands/functioncmds.c:1599
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "域数据类型不能标为二进制兼容"
 
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1609
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "源数据类型和目标数据类型相同"
 
-#: commands/functioncmds.c:1602
+#: commands/functioncmds.c:1642
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "类型 %s 到 %s 的转换已经存在"
 
-#: commands/functioncmds.c:1677
+#: commands/functioncmds.c:1717
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "类型 %s 到类型 %s 的转换不存在"
 
-#: commands/functioncmds.c:1716
+#: commands/functioncmds.c:1756
 #, c-format
-#| msgid "cast function must not be volatile"
 msgid "transform function must not be volatile"
 msgstr "转换函数不能是不稳定的 (volatile)"
 
-#: commands/functioncmds.c:1720
+#: commands/functioncmds.c:1760
 #, c-format
-#| msgid "cast function must not be an aggregate function"
 msgid "transform function must not be an aggregate function"
 msgstr "转换函数不能是一个聚集函数"
 
-#: commands/functioncmds.c:1724
+#: commands/functioncmds.c:1764
 #, c-format
-#| msgid "cast function must not be a window function"
 msgid "transform function must not be a window function"
 msgstr "转换函数不能是一个窗口函数"
 
-#: commands/functioncmds.c:1728
+#: commands/functioncmds.c:1768
 #, c-format
-#| msgid "cast function must not return a set"
 msgid "transform function must not return a set"
 msgstr "转换函数不能返回一个集合"
 
-#: commands/functioncmds.c:1732
+#: commands/functioncmds.c:1772
 #, c-format
-#| msgid "cast function must take one to three arguments"
 msgid "transform function must take one argument"
 msgstr "转换函数必须有一个参数"
 
-#: commands/functioncmds.c:1736
+#: commands/functioncmds.c:1776
 #, c-format
-#| msgid "second argument of cast function must be type integer"
 msgid "first argument of transform function must be type \"internal\""
 msgstr "转换函数的第一个参数必须为类型\"internal\""
 
-#: commands/functioncmds.c:1773
+#: commands/functioncmds.c:1813
 #, c-format
-#| msgid "source data type %s is a pseudo-type"
 msgid "data type %s is a pseudo-type"
 msgstr "数据类型 %s是一个伪类型"
 
-#: commands/functioncmds.c:1779
+#: commands/functioncmds.c:1819
 #, c-format
-#| msgid "type %s is not a domain"
 msgid "data type %s is a domain"
 msgstr "数据类型%s是一个域"
 
-#: commands/functioncmds.c:1819
+#: commands/functioncmds.c:1859
 #, c-format
-#| msgid ""
-#| "return data type of cast function must match or be binary-coercible to "
-#| "target data type"
 msgid "return data type of FROM SQL function must be \"internal\""
 msgstr "FROM SQL函数的返回数据类型必须是\"internal\""
 
-#: commands/functioncmds.c:1844
+#: commands/functioncmds.c:1884
 #, c-format
-#| msgid ""
-#| "return data type of cast function must match or be binary-coercible to "
-#| "target data type"
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "TO SQL函数的返回数据类型必须是转换数据类型"
 
-#: commands/functioncmds.c:1871
+#: commands/functioncmds.c:1911
 #, c-format
-#| msgid "language \"%s\" already exists"
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "类型%s语言\"%s\"的转换已经存在"
 
-#: commands/functioncmds.c:1962
+#: commands/functioncmds.c:2002
 #, c-format
-#| msgid "language \"%s\" does not exist"
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "类型%s语言\"%s\"的转换不存在"
 
-#: commands/functioncmds.c:2013
+#: commands/functioncmds.c:2053
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "在模式 \"%2$s\" 中函数 %1$s 已经存在"
 
-#: commands/functioncmds.c:2066
+#: commands/functioncmds.c:2106
 #, c-format
 msgid "no inline code specified"
 msgstr "没有指定内联代码"
 
-#: commands/functioncmds.c:2111
+#: commands/functioncmds.c:2151
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "语言 \"%s\" 不支持执行内联代码"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:487
-#: commands/opclasscmds.c:360 commands/opclasscmds.c:786
-#: commands/opclasscmds.c:1749
-#, c-format
-msgid "access method \"%s\" does not exist"
-msgstr "访问方式 \"%s\" 不存在"
-
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:349
 #, c-format
 msgid "must specify at least one column"
 msgstr "必需至少指定一个字段"
 
-#: commands/indexcmds.c:345
+#: commands/indexcmds.c:353
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "在一个索引中不能使用超过 %d 个字段"
 
-#: commands/indexcmds.c:376
+#: commands/indexcmds.c:384
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "外部表\"%s\"上无法创建索引"
 
-#: commands/indexcmds.c:391
+#: commands/indexcmds.c:399
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "不能在其他会话的临时表上创建索引"
 
-#: commands/indexcmds.c:446 commands/tablecmds.c:540 commands/tablecmds.c:9567
+#: commands/indexcmds.c:454 commands/tablecmds.c:545 commands/tablecmds.c:9599
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "在pg_global表空间中只能放置共享关系"
 
-#: commands/indexcmds.c:479
+#: commands/indexcmds.c:487
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "将已作废的方法\"rtree\"替换为访问方法\"gist\" "
 
-#: commands/indexcmds.c:496
+#: commands/indexcmds.c:505
 #, c-format
 msgid "hash indexes are not WAL-logged and their use is discouraged"
 msgstr "哈希索引不被WAL记录并且不鼓励使用它们"
 
-#: commands/indexcmds.c:501
+#: commands/indexcmds.c:510
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "存取方法 \"%s\" 不支持唯一索引"
 
-#: commands/indexcmds.c:506
+#: commands/indexcmds.c:515
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "存取方法 \"%s\" 不支持多字段索引"
 
-#: commands/indexcmds.c:511
+#: commands/indexcmds.c:520
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "访问方法 \"%s\" 不支持排他约束"
 
-#: commands/indexcmds.c:590
+#: commands/indexcmds.c:590 commands/indexcmds.c:610
+#, c-format
+#| msgid "concurrent index creation on system catalog tables is not supported"
+msgid "index creation on system columns is not supported"
+msgstr "不支持在系统列上创建索引"
+
+#: commands/indexcmds.c:635
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%1$s %2$s 将要为表 \"%4$s\" 创建隐含索引 \"%3$s\""
 
-#: commands/indexcmds.c:937
+#: commands/indexcmds.c:982
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "索引声明中函数必需标记为 IMMUTABLE"
 
-#: commands/indexcmds.c:1003 parser/parse_utilcmd.c:1844
+#: commands/indexcmds.c:1048 parser/parse_utilcmd.c:1894
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "在键字中命名的字段 \"%s\" 不存在"
 
-#: commands/indexcmds.c:1063
+#: commands/indexcmds.c:1108
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "索引表达式中函数必需标记为 IMMUTABLE"
 
-#: commands/indexcmds.c:1086
+#: commands/indexcmds.c:1131
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "索引表达式上无法确定使用哪个排序规则"
 
-#: commands/indexcmds.c:1094 commands/typecmds.c:825 parser/parse_expr.c:2559
-#: parser/parse_type.c:551 parser/parse_utilcmd.c:2736 utils/adt/misc.c:546
+#: commands/indexcmds.c:1139 commands/typecmds.c:827 parser/parse_expr.c:2559
+#: parser/parse_type.c:550 parser/parse_utilcmd.c:2820 utils/adt/misc.c:666
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "类型%s不能使用排序规则"
 
-#: commands/indexcmds.c:1132
+#: commands/indexcmds.c:1177
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "操作符%s不是可交换的"
 
-#: commands/indexcmds.c:1134
+#: commands/indexcmds.c:1179
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "只有可交换操作符能够在排他约束中使用."
 
-#: commands/indexcmds.c:1160
+#: commands/indexcmds.c:1205
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "操作符%s不是操作符表\"%s\"的成员"
 
-#: commands/indexcmds.c:1163
+#: commands/indexcmds.c:1208
 #, c-format
 msgid ""
 "The exclusion operator must be related to the index operator class for the "
 "constraint."
 msgstr "排他操作符必须和用于约束的索引操作符级别相关联"
 
-#: commands/indexcmds.c:1198
+#: commands/indexcmds.c:1243
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "访问方法 \"%s\" 不支持ASC/DESC选项"
 
-#: commands/indexcmds.c:1203
+#: commands/indexcmds.c:1248
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "访问方法 \"%s\" 不支持NULLS FIRST/LAST选项"
 
-#: commands/indexcmds.c:1259 commands/typecmds.c:1932
+#: commands/indexcmds.c:1304 commands/typecmds.c:1935
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "对访问方法 \"%2$s\" 数据类型 %1$s 没有默认的操作符表"
 
-#: commands/indexcmds.c:1261
+#: commands/indexcmds.c:1306
 #, c-format
 msgid ""
 "You must specify an operator class for the index or define a default "
 "operator class for the data type."
 msgstr "你必须指定一个操作符表给索引或定义一个默认的操作符表给数据类型."
 
-#: commands/indexcmds.c:1290 commands/indexcmds.c:1298
-#: commands/opclasscmds.c:204
+#: commands/indexcmds.c:1335 commands/indexcmds.c:1343
+#: commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "处理方法 \"%s\" 的操作符类 \"%s\" 不存在"
 
-#: commands/indexcmds.c:1311 commands/typecmds.c:1920
+#: commands/indexcmds.c:1356 commands/typecmds.c:1923
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "操作符表 \"%s\" 不能处理数据类型 %s"
 
-#: commands/indexcmds.c:1401
+#: commands/indexcmds.c:1446
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "数据类型 %s 有多个默认的操作符表"
 
-#: commands/indexcmds.c:1792
+#: commands/indexcmds.c:1837
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "表 \"%s\" 没有索引"
 
-#: commands/indexcmds.c:1847
+#: commands/indexcmds.c:1892
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "只能在当前打开的数据库上重建索引"
 
-#: commands/indexcmds.c:1949
+#: commands/indexcmds.c:1994
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "表 \"%s.%s\" 已被重新索引"
@@ -7061,279 +7542,291 @@ msgstr "CONCURRENTLY 不能用于物化视图未被产生之前"
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "CONCURRENTLY 和 WITH NO DATA 两个选项不能同时使用"
 
-#: commands/matview.c:611
-#, c-format
-#| msgid "new data for \"%s\" contains duplicate rows without any null columns"
-msgid ""
-"new data for materialized view \"%s\" contains duplicate rows without any "
-"null columns"
-msgstr "物化视图\"%s\"的新数据包含重复的没有空值列的行"
-
-#: commands/matview.c:613
-#, c-format
-msgid "Row: %s"
-msgstr "行: %s"
-
 # describe.c:933
-#: commands/matview.c:701
+#: commands/matview.c:258
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "不能同时刷新物化视图 \"%s\""
 
-#: commands/matview.c:703
+#: commands/matview.c:261
 #, 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:125
+#: commands/matview.c:656
+#, c-format
+msgid ""
+"new data for materialized view \"%s\" contains duplicate rows without any "
+"null columns"
+msgstr "物化视图\"%s\"的新数据包含重复的没有空值列的行"
+
+#: commands/matview.c:658
+#, c-format
+msgid "Row: %s"
+msgstr "行: %s"
+
+#: commands/opclasscmds.c:126
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "访问方法\"%2$s\"的操作符表 \"%1$s\" 不存在"
 
-#: commands/opclasscmds.c:263
+#: commands/opclasscmds.c:264
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "访问方法 \"%2$s\" 操作符表 \"%1$s\" 已经存在"
 
-#: commands/opclasscmds.c:399
+#: commands/opclasscmds.c:404
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "只有超级用户能创建一个操作符表"
 
-#: commands/opclasscmds.c:473 commands/opclasscmds.c:859
-#: commands/opclasscmds.c:992
+#: commands/opclasscmds.c:478 commands/opclasscmds.c:863
+#: commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "无效的操作符号 %d, 必需在 1 到 %d 之间"
 
-#: commands/opclasscmds.c:524 commands/opclasscmds.c:910
-#: commands/opclasscmds.c:1007
+#: commands/opclasscmds.c:529 commands/opclasscmds.c:914
+#: commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "无效的过程号 %d, 必需在 1 到 %d 之间"
 
-#: commands/opclasscmds.c:554
+#: commands/opclasscmds.c:559
 #, c-format
 msgid "storage type specified more than once"
 msgstr "存储类型指定了多次"
 
-#: commands/opclasscmds.c:581
+#: commands/opclasscmds.c:586
 #, c-format
 msgid ""
 "storage type cannot be different from data type for access method \"%s\""
 msgstr "存储类型应该和用于访问方法 \"%s\" 数据类型一样"
 
-#: commands/opclasscmds.c:597
+#: commands/opclasscmds.c:602
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "访问方法 \"%2$s\" 操作符表 \"%1$s\" 已经存在"
 
-#: commands/opclasscmds.c:625
+#: commands/opclasscmds.c:630
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "无法把操作符表 \"%s\" 设置为类型 %s 的默认操作符表"
 
-#: commands/opclasscmds.c:628
+#: commands/opclasscmds.c:633
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "操作符表 \"%s\" 已经是默认的了."
 
-#: commands/opclasscmds.c:756
+#: commands/opclasscmds.c:760
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "只有超级用户能创建一个操作符表"
 
-#: commands/opclasscmds.c:812
+#: commands/opclasscmds.c:816
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "只有超级用户能修改一个操作符表"
 
-#: commands/opclasscmds.c:875
+#: commands/opclasscmds.c:879
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "在ALTER OPERATOR FAMILY中必须指定操作符参数类型"
 
-#: commands/opclasscmds.c:939
+#: commands/opclasscmds.c:943
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "在ALTER OPERATOR FAMILY中无法指定参数STORAGE"
 
-#: commands/opclasscmds.c:1062
+#: commands/opclasscmds.c:1066
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "必须指定一个或两个参数类型"
 
-#: commands/opclasscmds.c:1088
+#: commands/opclasscmds.c:1092
 #, c-format
 msgid "index operators must be binary"
 msgstr "索引操作符必须为二进制"
 
-#: commands/opclasscmds.c:1113
+#: commands/opclasscmds.c:1111
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "访问方法 \"%s\" 不支持排序操作符"
 
-#: commands/opclasscmds.c:1126
+#: commands/opclasscmds.c:1122
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "索引搜索操作符必须返回布尔值"
 
-#: commands/opclasscmds.c:1168
+#: commands/opclasscmds.c:1164
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "B树比较过程必须有两个参数"
 
-#: commands/opclasscmds.c:1172
+#: commands/opclasscmds.c:1168
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "B树比较过程必须返回整数"
 
-#: commands/opclasscmds.c:1189
+#: commands/opclasscmds.c:1185
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "B树排序支持过程必须接受\"internal\"类型"
 
-#: commands/opclasscmds.c:1193
+#: commands/opclasscmds.c:1189
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "B树排序支持过程必须返回void"
 
-#: commands/opclasscmds.c:1205
+#: commands/opclasscmds.c:1201
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "哈希存储过程必须有一个参数"
 
-#: commands/opclasscmds.c:1209
+#: commands/opclasscmds.c:1205
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "哈希存储过程必须返回整数"
 
-#: commands/opclasscmds.c:1233
+#: commands/opclasscmds.c:1229
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr "必须为索引支持的存储过程指定相关联的数据类型"
 
-#: commands/opclasscmds.c:1258
+#: commands/opclasscmds.c:1254
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "对于(%2$s,%3$s)的存储过程号%1$d出现了多次 "
 
-#: commands/opclasscmds.c:1265
+#: commands/opclasscmds.c:1261
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "对于(%2$s,%3$s)操作符号%1$d出现过多次"
 
-#: commands/opclasscmds.c:1314
+#: commands/opclasscmds.c:1310
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "在操作符表\"%4$s\"中已存在操作符 %1$d(%2$s,%3$s)"
 
-#: commands/opclasscmds.c:1430
+#: commands/opclasscmds.c:1426
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "在操作符表\"%4$s\"中已存在函数 %1$d(%2$s,%3$s)"
 
-#: commands/opclasscmds.c:1520
+#: commands/opclasscmds.c:1516
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "在操作符表\"%4$s\"中不存在操作符 %1$d(%2$s,%3$s)"
 
-#: commands/opclasscmds.c:1560
+#: commands/opclasscmds.c:1556
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "在操作符表\"%4$s\"中不存在函数 %1$d(%2$s,%3$s)"
 
-#: commands/opclasscmds.c:1705
+#: commands/opclasscmds.c:1686
 #, c-format
 msgid ""
 "operator class \"%s\" for access method \"%s\" already exists in schema \"%s"
 "\""
 msgstr "访问方法 \"%s\" 的操作符表 \"%s\" 已经在模式 \"%s\" 存在了"
 
-#: commands/opclasscmds.c:1728
+#: commands/opclasscmds.c:1709
 #, c-format
 msgid ""
 "operator family \"%s\" for access method \"%s\" already exists in schema \"%s"
 "\""
 msgstr "对于访问方法 \"%2$s\" 的操作符表 \"%1$s\" 已经在模式 \"%3$s\" 存在了"
 
-#: commands/operatorcmds.c:109 commands/operatorcmds.c:117
+#: commands/operatorcmds.c:114 commands/operatorcmds.c:122
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "不允许将SETOF类型用于操作符参数"
 
-#: commands/operatorcmds.c:145
+#: commands/operatorcmds.c:152 commands/operatorcmds.c:457
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "操作符属性 \"%s\" 不被认可"
 
-#: commands/operatorcmds.c:155
+#: commands/operatorcmds.c:163
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "必须指定操作符过程"
 
-#: commands/operatorcmds.c:166
+#: commands/operatorcmds.c:174
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "必须至少指定一个左参数 (leftarg) 或右参数 (rightarg)"
 
-#: commands/operatorcmds.c:234
+#: commands/operatorcmds.c:278
+#, c-format
+#| msgid "restriction estimator function %s must return type \"float8\""
+msgid "restriction estimator function %s must return type %s"
+msgstr "限制估算器函数 %s 必需返回类型 %s"
+
+#: commands/operatorcmds.c:324
 #, c-format
-msgid "restriction estimator function %s must return type \"float8\""
-msgstr "限制估算函数 %s 必需返回类型\"float8\""
+#| msgid "join estimator function %s must return type \"float8\""
+msgid "join estimator function %s must return type %s"
+msgstr "连接估算器函数 %s 必需返回类型 %s"
 
-#: commands/operatorcmds.c:273
+#: commands/operatorcmds.c:451
 #, c-format
-msgid "join estimator function %s must return type \"float8\""
-msgstr "连接估算函数 %s 必需返回类型\"float8\""
+#| msgid "operator attribute \"%s\" not recognized"
+msgid "operator attribute \"%s\" can not be changed"
+msgstr "操作符属性 \"%s\" 不能被更改"
 
-#: commands/policy.c:87 commands/policy.c:387 commands/tablecmds.c:965
-#: commands/tablecmds.c:1307 commands/tablecmds.c:2175
-#: commands/tablecmds.c:4319 commands/tablecmds.c:6248
-#: commands/tablecmds.c:11867 commands/tablecmds.c:11902
-#: commands/trigger.c:240 commands/trigger.c:1126 commands/trigger.c:1234
-#: rewrite/rewriteDefine.c:273 rewrite/rewriteDefine.c:905
+#: commands/policy.c:87 commands/policy.c:395 commands/policy.c:484
+#: commands/tablecmds.c:970 commands/tablecmds.c:1312
+#: commands/tablecmds.c:2184 commands/tablecmds.c:4330
+#: commands/tablecmds.c:6281 commands/tablecmds.c:11935
+#: commands/tablecmds.c:11970 commands/trigger.c:241 commands/trigger.c:1125
+#: commands/trigger.c:1233 rewrite/rewriteDefine.c:273
+#: rewrite/rewriteDefine.c:917
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "权限不够: \"%s\" 是一个系统表"
 
 #: commands/policy.c:170
 #, c-format
-#| msgid "storage type specified more than once"
-msgid "ignoring roles specified other than public"
-msgstr "忽略所指定的除public之外的角色"
+#| msgid "ignoring roles specified other than public"
+msgid "ignoring specified roles other than PUBLIC"
+msgstr "忽略所指定的除 PUBLIC 之外的角色"
 
 #: commands/policy.c:171
 #, c-format
-msgid "All roles are members of the public role."
-msgstr "所有角色都是公共角色的成员。"
+#| msgid "All roles are members of the public role."
+msgid "All roles are members of the PUBLIC role."
+msgstr "所有角色都是 PUBLIC 角色的成员。"
+
+#: commands/policy.c:508
+#, c-format
+#| msgid "File \"%s\" could not be renamed to \"%s\": %m."
+msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
+msgstr "不能从 \"%3$s\" 上的策略 \"%2$s\" 中移除角色 \"%1$s\""
 
-#: commands/policy.c:451
+#: commands/policy.c:717
 #, c-format
-#| msgid "%s cannot be applied to VALUES"
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "不能把WITH CHECK应用到SELECT或者DELETE"
 
-#: commands/policy.c:460 commands/policy.c:760
+#: commands/policy.c:726 commands/policy.c:1026
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "对INSERT只允许WITH CHECK表达式"
 
-#: commands/policy.c:533 commands/policy.c:886
+#: commands/policy.c:799 commands/policy.c:1249
 #, c-format
-#| msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "用于表\"%2$s\"的策略\"%1$s\"已经存在"
 
-#: commands/policy.c:732 commands/policy.c:914 commands/policy.c:989
+#: commands/policy.c:998 commands/policy.c:1277 commands/policy.c:1352
 #, c-format
-#| msgid "index \"%s\" for table \"%s\" does not exist"
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "用于表\"%2$s\"的策略\"%1$s\"不存在"
 
-#: commands/policy.c:750
+#: commands/policy.c:1016
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "对SELECT、DELETE只允许USING表达式"
@@ -7350,17 +7843,12 @@ msgstr "无效的游标名称: 不能为空"
 msgid "cursor \"%s\" does not exist"
 msgstr "游标 \"%s\" 不存在"
 
-#: commands/portalcmds.c:407
-#, c-format
-msgid "could not reposition held cursor"
-msgstr "无法定位游标"
-
 #: commands/prepare.c:71
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "无效的语句名称: 不能为空"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1355
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1345
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "无法确定参数 $%d 的数据类型"
@@ -7390,12 +7878,12 @@ msgstr "预计 %d 个参数, 但得到了 %d 个."
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "类型 %2$s 的参数 $%1$d 不能强制到预计 (expected) 类型 %3$s"
 
-#: commands/prepare.c:464
+#: commands/prepare.c:465
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "准备好的语句 \"%s\" 已经存在"
 
-#: commands/prepare.c:503
+#: commands/prepare.c:504
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "准备好的语句 \"%s\" 不存在"
@@ -7410,43 +7898,38 @@ msgstr "使用pg_pltemplate信息,而不是CREATE LANGUAGE的参数"
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "只有有超级用户权限的用户才能创建过程语言\"%s\""
 
-#: commands/proclang.c:117 commands/proclang.c:285
-#, c-format
-msgid "function %s must return type \"language_handler\""
-msgstr "函数 %s 必须返回 \"language_handler\" 类型"
-
-#: commands/proclang.c:249
+#: commands/proclang.c:252
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "不支持语言 \"%s\""
 
-#: commands/proclang.c:251
+#: commands/proclang.c:254
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr "在pg_pltemplate系统目录视图中列出了所支持的语言."
 
-#: commands/proclang.c:259
+#: commands/proclang.c:262
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "只有有超级用户权限的用户才能创建过程语言"
 
-#: commands/proclang.c:278
+#: commands/proclang.c:281
 #, c-format
 msgid ""
 "changing return type of function %s from \"opaque\" to \"language_handler\""
 msgstr "函数 %s 的返回类型 \"opaque\" 改变成 \"language_handler\""
 
-#: commands/schemacmds.c:99 commands/schemacmds.c:262
+#: commands/schemacmds.c:103 commands/schemacmds.c:266
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "不可访问的模式名字 \"%s\""
 
-#: commands/schemacmds.c:100 commands/schemacmds.c:263
+#: commands/schemacmds.c:104 commands/schemacmds.c:267
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "前缀 \"pg_\" 是保留给系统模式的."
 
-#: commands/schemacmds.c:114
+#: commands/schemacmds.c:118
 #, c-format
 msgid "schema \"%s\" already exists, skipping"
 msgstr "模式 \"%s\" 已存在, 跳过"
@@ -7557,936 +8040,941 @@ msgstr "序列的属主必须和与它相链接的表的属主相同."
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "序列必须和与它相链接的表存放在同一个模式"
 
-#: commands/tablecmds.c:212
+#: commands/tablecmds.c:215
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "表 \"%s\" 不存在"
 
-#: commands/tablecmds.c:213
+#: commands/tablecmds.c:216
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "表 \"%s\" 不存在"
 
-#: commands/tablecmds.c:215
+#: commands/tablecmds.c:218
 msgid "Use DROP TABLE to remove a table."
 msgstr "请使用 DROP TABLE 删除一个表."
 
-#: commands/tablecmds.c:218
+#: commands/tablecmds.c:221
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "序列 \"%s\" 不存在"
 
-#: commands/tablecmds.c:219
+#: commands/tablecmds.c:222
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "序列 \"%s\" 不存在"
 
-#: commands/tablecmds.c:221
+#: commands/tablecmds.c:224
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "请使用 DROP SEQUENCE 删除一个序列."
 
-#: commands/tablecmds.c:224
+#: commands/tablecmds.c:227
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "视图 \"%s\" 不存在"
 
-#: commands/tablecmds.c:225
+#: commands/tablecmds.c:228
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "视图 \"%s\" 不存在"
 
-#: commands/tablecmds.c:227
+#: commands/tablecmds.c:230
 msgid "Use DROP VIEW to remove a view."
 msgstr "请使用 DROP VIEW 删除一个视图."
 
-#: commands/tablecmds.c:230
+#: commands/tablecmds.c:233
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "物化视图 \"%s\" 不存在"
 
-#: commands/tablecmds.c:231
+#: commands/tablecmds.c:234
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "物化视图 \"%s\" 不存在,跳过"
 
-#: commands/tablecmds.c:233
+#: commands/tablecmds.c:236
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "请使用 DROP MATERIALIZED VIEW 删除一个物化视图."
 
-#: commands/tablecmds.c:236 parser/parse_utilcmd.c:1593
+#: commands/tablecmds.c:239 parser/parse_utilcmd.c:1643
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "索引 \"%s\" 不存在"
 
-#: commands/tablecmds.c:237
+#: commands/tablecmds.c:240
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "索引 \"%s\" 不存在"
 
-#: commands/tablecmds.c:239
+#: commands/tablecmds.c:242
 msgid "Use DROP INDEX to remove an index."
 msgstr "请使用 DROP INDEX 删除一个索引."
 
-#: commands/tablecmds.c:244
+#: commands/tablecmds.c:247
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "\"%s\" 不是一个类型"
 
-#: commands/tablecmds.c:245
+#: commands/tablecmds.c:248
 msgid "Use DROP TYPE to remove a type."
 msgstr "请使用 DROP TYPE 删除一个类型."
 
-#: commands/tablecmds.c:248 commands/tablecmds.c:8455
-#: commands/tablecmds.c:11134
+#: commands/tablecmds.c:251 commands/tablecmds.c:8488
+#: commands/tablecmds.c:11196
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "外部表 \"%s\" 不存在"
 
-#: commands/tablecmds.c:249
+#: commands/tablecmds.c:252
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "外部表 \"%s\" 不存在, 跳过"
 
-#: commands/tablecmds.c:251
+#: commands/tablecmds.c:254
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "请使用 DROP FOREIGN TABLE 删除一个外部表."
 
-#: commands/tablecmds.c:488
+#: commands/tablecmds.c:493
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT 只能被用于临时表"
 
-#: commands/tablecmds.c:508
+#: commands/tablecmds.c:513
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "不能在安全限制的操作中创建临时表"
 
-#: commands/tablecmds.c:816
+#: commands/tablecmds.c:821
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY不支持同时删除多个对象"
 
-#: commands/tablecmds.c:820
+#: commands/tablecmds.c:825
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY 不支持级联操作"
 
-#: commands/tablecmds.c:1079
+#: commands/tablecmds.c:1084
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "级联截断表\"%s\""
 
-#: commands/tablecmds.c:1317
+#: commands/tablecmds.c:1322
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "不能缩短其他会话的临时表"
 
-#: commands/tablecmds.c:1523 parser/parse_utilcmd.c:1807
+#: commands/tablecmds.c:1528 parser/parse_utilcmd.c:1857
 #, c-format
-#| msgid "referenced relation \"%s\" is not a table or foreign table"
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "被继承的关系\"%s\" 不是一个表或外部表"
 
-#: commands/tablecmds.c:1530 commands/tablecmds.c:10004
+#: commands/tablecmds.c:1535 commands/tablecmds.c:10055
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "不能从临时关系 \"%s\" 继承"
 
-#: commands/tablecmds.c:1538 commands/tablecmds.c:10012
+#: commands/tablecmds.c:1543 commands/tablecmds.c:10063
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "不能从另一个会话的临时关系继承"
 
-#: commands/tablecmds.c:1554 commands/tablecmds.c:10046
+#: commands/tablecmds.c:1559 commands/tablecmds.c:10097
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "关系 \"%s\" 将被继承多次"
 
-#: commands/tablecmds.c:1602
+#: commands/tablecmds.c:1607
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "合并属性 \"%s\" 的多个继承定义"
 
-#: commands/tablecmds.c:1610
+#: commands/tablecmds.c:1615
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "继承属性 \"%s\" 类型冲突"
 
-#: commands/tablecmds.c:1612 commands/tablecmds.c:1633
-#: commands/tablecmds.c:1831 commands/tablecmds.c:1853
-#: 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
+#: commands/tablecmds.c:1617 commands/tablecmds.c:1640
+#: commands/tablecmds.c:1838 commands/tablecmds.c:1862
+#: parser/parse_coerce.c:1630 parser/parse_coerce.c:1650
+#: parser/parse_coerce.c:1670 parser/parse_coerce.c:1715
+#: parser/parse_coerce.c:1752 parser/parse_param.c:218
 #, c-format
 msgid "%s versus %s"
 msgstr "%s 对 %s"
 
-#: commands/tablecmds.c:1619
+#: commands/tablecmds.c:1626
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "继承列 \"%s\" 出现排序规则冲突"
 
-#: commands/tablecmds.c:1621 commands/tablecmds.c:1841
-#: commands/tablecmds.c:4756
+#: commands/tablecmds.c:1628 commands/tablecmds.c:1850
+#: commands/tablecmds.c:4768
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "\"%s\" 对 \"%s\""
 
-#: commands/tablecmds.c:1631
+#: commands/tablecmds.c:1638
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "继承列 \"%s\" 有一个存储参数冲突"
 
-#: commands/tablecmds.c:1744 parser/parse_utilcmd.c:894
-#: parser/parse_utilcmd.c:1238 parser/parse_utilcmd.c:1314
+#: commands/tablecmds.c:1751 parser/parse_utilcmd.c:938
+#: parser/parse_utilcmd.c:1287 parser/parse_utilcmd.c:1363
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "无法转换整行表引用"
 
-#: commands/tablecmds.c:1745 parser/parse_utilcmd.c:895
+#: commands/tablecmds.c:1752 parser/parse_utilcmd.c:939
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "约束\"%s\"包含到表\"%s\"的整行引用."
 
-#: commands/tablecmds.c:1817
+#: commands/tablecmds.c:1824
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "合并属性 \"%s\" 连同继承定义"
 
-#: commands/tablecmds.c:1821
+#: commands/tablecmds.c:1828
 #, c-format
-#| msgid "merging column \"%s\" with inherited definition"
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "移动\"%s\"并且将它与继承的定义合并"
 
-#: commands/tablecmds.c:1822
+#: commands/tablecmds.c:1829
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr "被移动到继承列位置的用户指定列。"
 
-#: commands/tablecmds.c:1829
+#: commands/tablecmds.c:1836
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "属性 \"%s\" 类型冲突"
 
-#: commands/tablecmds.c:1839
+#: commands/tablecmds.c:1848
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "列 \"%s\" 出现排序规则冲突"
 
-#: commands/tablecmds.c:1851
+#: commands/tablecmds.c:1860
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "列 \"%s\" 带有一个冲突的存储参数"
 
-#: commands/tablecmds.c:1903
+#: commands/tablecmds.c:1912
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "属性 \"%s\" 继承与默认值冲突"
 
-#: commands/tablecmds.c:1905
+#: commands/tablecmds.c:1914
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "要解决冲突, 指定明确的默认值"
 
-#: commands/tablecmds.c:1952
+#: commands/tablecmds.c:1961
 #, c-format
 msgid ""
 "check constraint name \"%s\" appears multiple times but with different "
 "expressions"
 msgstr "检查约束名称\"%s\"出现多次,但是带有不同的表达式"
 
-#: commands/tablecmds.c:2146
+#: commands/tablecmds.c:2155
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "无法重新命名已确定类型表(typed table)的列"
 
-#: commands/tablecmds.c:2163
+#: commands/tablecmds.c:2172
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, index, or "
 "foreign table"
 msgstr "\"%s\" 不是一个表,视图,物化视图,组合类型,索引或者外部表"
 
-#: commands/tablecmds.c:2257
+#: commands/tablecmds.c:2266
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "在子表中继承属性 \"%s\" 也必需重命名"
 
-#: commands/tablecmds.c:2289
+#: commands/tablecmds.c:2298
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "不能对系统字段 \"%s\" 重命名"
 
-#: commands/tablecmds.c:2304
+#: commands/tablecmds.c:2313
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "不能对继承字段 \"%s\" 重命名"
 
-#: commands/tablecmds.c:2459
+#: commands/tablecmds.c:2468
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "继承约束 \"%s\" 在子表中也必须重命名"
 
-#: commands/tablecmds.c:2466
+#: commands/tablecmds.c:2475
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "无法重命名约束\"%s\""
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2692
+#: commands/tablecmds.c:2701
 #, c-format
 msgid ""
 "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "无法%s \"%s\"  因为它正在被这个会话中的活动查询使用"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2701
+#: commands/tablecmds.c:2710
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "无法%s \"%s\"因为它有一个待发生的触发器事件"
 
-#: commands/tablecmds.c:3775
+#: commands/tablecmds.c:3786
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "不能改写系统关系 \"%s\""
 
-#: commands/tablecmds.c:3781
+#: commands/tablecmds.c:3792
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "无法重写表\"%s\",以用作一个目录表"
 
-#: commands/tablecmds.c:3791
+#: commands/tablecmds.c:3802
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "不能改写其他会话的临时表"
 
-#: commands/tablecmds.c:4059
+#: commands/tablecmds.c:4070
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "重写表 \"%s\""
 
-#: commands/tablecmds.c:4063
+#: commands/tablecmds.c:4074
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "校验表\"%s\""
 
-#: commands/tablecmds.c:4177
+#: commands/tablecmds.c:4188
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "字段 \"%s\" 包含空值"
 
-#: commands/tablecmds.c:4192 commands/tablecmds.c:7335
+#: commands/tablecmds.c:4203 commands/tablecmds.c:7368
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "一些行违反了检查约束 \"%s\""
 
-#: commands/tablecmds.c:4340 commands/trigger.c:234
-#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:900
+#: commands/tablecmds.c:4351 commands/trigger.c:235
+#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "\"%s\" 不是一个视图或视图"
 
-#: commands/tablecmds.c:4343 commands/trigger.c:1120 commands/trigger.c:1225
+#: commands/tablecmds.c:4354 commands/trigger.c:1119 commands/trigger.c:1224
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "\"%s\"不是表,视图或外部表"
 
-#: commands/tablecmds.c:4346
+#: commands/tablecmds.c:4357
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "\"%s\" 不是表,视图,物化视图,或者索引"
 
-#: commands/tablecmds.c:4352
+#: commands/tablecmds.c:4363
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "\"%s\" 不是一个表,物化视图或索引"
 
-#: commands/tablecmds.c:4355
+#: commands/tablecmds.c:4366
 #, c-format
-#| msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "\"%s\"不是表、物化视图或者外部表"
 
-#: commands/tablecmds.c:4358
+#: commands/tablecmds.c:4369
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "\"%s\" 不是表或外部表"
 
-#: commands/tablecmds.c:4361
+#: commands/tablecmds.c:4372
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "\"%s\" 不是一个表,组合类型或者外部表"
 
-#: commands/tablecmds.c:4364 commands/tablecmds.c:5394
+#: commands/tablecmds.c:4375 commands/tablecmds.c:5427
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "\"%s\"不是表,物化视图, 索引或外部表"
 
-#: commands/tablecmds.c:4374
+#: commands/tablecmds.c:4385
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "\"%s\" 是一个错误类型"
 
-#: commands/tablecmds.c:4526 commands/tablecmds.c:4533
+#: commands/tablecmds.c:4537 commands/tablecmds.c:4544
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "不能修改类型 \"%s\", 因为列 \"%s.%s\"正在使用它"
 
-#: commands/tablecmds.c:4540
+#: commands/tablecmds.c:4551
 #, c-format
 msgid ""
 "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "无法修改外部表\"%s\" ,因为列\"%s.%s\"使用它的行类型"
 
-#: commands/tablecmds.c:4547
+#: commands/tablecmds.c:4558
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "无法修改表\"%s\" ,因为列\"%s.%s\"使用它的行类型"
 
-#: commands/tablecmds.c:4609
+#: commands/tablecmds.c:4620
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "无法修改已确定类型表(typed table)中列的类型\"%s\""
 
-#: commands/tablecmds.c:4611
+#: commands/tablecmds.c:4622
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "使用ALTER .. CASCADE 把类型表一并修改."
 
-#: commands/tablecmds.c:4655
+#: commands/tablecmds.c:4666
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "类型 %s 不是复合类型"
 
-#: commands/tablecmds.c:4681
+#: commands/tablecmds.c:4692
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "无法为已确定类型表(typed table)添加列"
 
-#: commands/tablecmds.c:4748 commands/tablecmds.c:10205
+#: commands/tablecmds.c:4760 commands/tablecmds.c:10256
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "子表 \"%s\" 的字段 \"%s\" 有不同的类型"
 
-#: commands/tablecmds.c:4754 commands/tablecmds.c:10212
+#: commands/tablecmds.c:4766 commands/tablecmds.c:10263
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "子表 \"%s\" 的字段 \"%s\" 有不同的排序规则"
 
-#: commands/tablecmds.c:4764
+#: commands/tablecmds.c:4776
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "子表\"%s\"有一个冲突列\"%s\""
 
-#: commands/tablecmds.c:4776
+#: commands/tablecmds.c:4788
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "合并子表 \"%2$s\" 的字段 \"%1$s\" 定义"
 
-#: commands/tablecmds.c:4997
+#: commands/tablecmds.c:5015
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "属性也必需加入到子表中"
 
-#: commands/tablecmds.c:5067
+#: commands/tablecmds.c:5090
+#, c-format
+#| msgid "column \"%s\" of relation \"%s\" already exists"
+msgid "column \"%s\" of relation \"%s\" already exists, skipping"
+msgstr "关系 \"%2$s\" 的列 \"%1$s\" 已经存在,跳过"
+
+#: commands/tablecmds.c:5097
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "关系 \"%s\" 的属性 \"%s\" 已经存在"
 
-#: commands/tablecmds.c:5175 commands/tablecmds.c:5281
-#: commands/tablecmds.c:5339 commands/tablecmds.c:5453
-#: commands/tablecmds.c:5510 commands/tablecmds.c:5604
-#: commands/tablecmds.c:7853 commands/tablecmds.c:8478
+#: commands/tablecmds.c:5208 commands/tablecmds.c:5314
+#: commands/tablecmds.c:5372 commands/tablecmds.c:5486
+#: commands/tablecmds.c:5543 commands/tablecmds.c:5637
+#: commands/tablecmds.c:7886 commands/tablecmds.c:8511
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "不能更改系统字段 \"%s\""
 
-#: commands/tablecmds.c:5211
+#: commands/tablecmds.c:5244
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "字段 \"%s\" 是一个主键"
 
-#: commands/tablecmds.c:5426
+#: commands/tablecmds.c:5459
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "目标统计 %d 太低"
 
-#: commands/tablecmds.c:5434
+#: commands/tablecmds.c:5467
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "降低目标统计到 %d"
 
-#: commands/tablecmds.c:5584
+#: commands/tablecmds.c:5617
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "无效存储类型 \"%s\""
 
-#: commands/tablecmds.c:5616
+#: commands/tablecmds.c:5649
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "字段数据类型 %s 只能存储为明文 (PLAIN)"
 
-#: commands/tablecmds.c:5654
+#: commands/tablecmds.c:5687
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "无法从已确定类型表(typed table)中删除列"
 
-#: commands/tablecmds.c:5698
+#: commands/tablecmds.c:5731
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "关系 \"%2$s\" 的 列\"%1$s\"不存在"
 
-#: commands/tablecmds.c:5711
+#: commands/tablecmds.c:5744
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "不能删除系统字段 \"%s\""
 
-#: commands/tablecmds.c:5718
+#: commands/tablecmds.c:5751
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "不能删除继承字段 \"%s\""
 
-#: commands/tablecmds.c:5958
+#: commands/tablecmds.c:5991
 #, 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:6171
+#: commands/tablecmds.c:6204
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "必须也要对子表加上约束"
 
-#: commands/tablecmds.c:6242
+#: commands/tablecmds.c:6275
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "关联的关系 \"%s\" 不是一个表"
 
-#: commands/tablecmds.c:6265
+#: commands/tablecmds.c:6298
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "永久表上的约束只能引用永久表"
 
-#: commands/tablecmds.c:6272
+#: commands/tablecmds.c:6305
 #, c-format
 msgid ""
 "constraints on unlogged tables may reference only permanent or unlogged "
 "tables"
 msgstr "无事务日志的表上的约束只能引用持久表或者无事务日志的表"
 
-#: commands/tablecmds.c:6278
+#: commands/tablecmds.c:6311
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "临时表上的约束只能引用临时表"
 
-#: commands/tablecmds.c:6282
+#: commands/tablecmds.c:6315
 #, c-format
 msgid ""
 "constraints on temporary tables must involve temporary tables of this session"
 msgstr "临时表上的约束只能引用该会话里的临时表"
 
-#: commands/tablecmds.c:6343
+#: commands/tablecmds.c:6376
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "外键的关联数和关联字段不一致"
 
-#: commands/tablecmds.c:6450
+#: commands/tablecmds.c:6483
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "无法实现外键约束 \"%s\""
 
-#: commands/tablecmds.c:6453
+#: commands/tablecmds.c:6486
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "关键字段 \"%s\" 和 \"%s\" 为混和类型: %s 和 %s."
 
-#: commands/tablecmds.c:6660 commands/tablecmds.c:6810
-#: commands/tablecmds.c:7692 commands/tablecmds.c:7748
+#: commands/tablecmds.c:6693 commands/tablecmds.c:6843
+#: commands/tablecmds.c:7725 commands/tablecmds.c:7781
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "关系 \"%2$s\" 的 约束\"%1$s\" 不存在"
 
-#: commands/tablecmds.c:6666
+#: commands/tablecmds.c:6699
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "关系 \"%2$s\" 的 约束\"%1$s\"不是外键约束"
 
-#: commands/tablecmds.c:6817
+#: commands/tablecmds.c:6850
 #, c-format
 msgid ""
 "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "关系 \"%2$s\" 的 约束\"%1$s\"不是外键,也不是check约束"
 
-#: commands/tablecmds.c:6885
+#: commands/tablecmds.c:6918
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "子表上的约束也必须进行验证"
 
-#: commands/tablecmds.c:6954
+#: commands/tablecmds.c:6987
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "在外键约束中的关联字段 \"%s\" 不存在"
 
-#: commands/tablecmds.c:6959
+#: commands/tablecmds.c:6992
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "在一个外键中不能超过 %d 个键"
 
-#: commands/tablecmds.c:7024
+#: commands/tablecmds.c:7057
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "无法为被引用的表\"%s\"使用可延迟的主键"
 
-#: commands/tablecmds.c:7041
+#: commands/tablecmds.c:7074
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "关联表 \"%s\" 没有主键"
 
-#: commands/tablecmds.c:7106
+#: commands/tablecmds.c:7139
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "外键参照列的列表不能有重复值"
 
-#: commands/tablecmds.c:7200
+#: commands/tablecmds.c:7233
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "无法为被引用的表\"%s\"使用可延迟的唯一性约束"
 
-#: commands/tablecmds.c:7205
+#: commands/tablecmds.c:7238
 #, c-format
 msgid ""
 "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "没有唯一约束与关联表 \"%s\" 给定的键值匹配"
 
-#: commands/tablecmds.c:7368
+#: commands/tablecmds.c:7401
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "正验证外键约束 \"%s\""
 
-#: commands/tablecmds.c:7664
+#: commands/tablecmds.c:7697
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "不能删除关系\"%2$s\"的继承约束\"%1$s\""
 
-#: commands/tablecmds.c:7698
+#: commands/tablecmds.c:7731
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "关系 \"%2$s\" 的 约束\"%1$s\" 不存在"
 
-#: commands/tablecmds.c:7837
+#: commands/tablecmds.c:7870
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "无法修改已确定类型表(typed table)中列的类型"
 
-#: commands/tablecmds.c:7860
+#: commands/tablecmds.c:7893
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "不能修改继承字段 \"%s\""
 
-#: commands/tablecmds.c:7909
+#: commands/tablecmds.c:7942
 #, c-format
-#| msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgid ""
 "result of USING clause for column \"%s\" cannot be cast automatically to "
 "type %s"
 msgstr "用于列\"%s\"的USING子句的结果不能被自动地转换成类型%s"
 
-#: commands/tablecmds.c:7912
+#: commands/tablecmds.c:7945
 #, c-format
-#| msgid "You might need to initdb."
 msgid "You might need to add an explicit cast."
 msgstr "您可能需要增加一个显式转换。"
 
-#: commands/tablecmds.c:7916
+#: commands/tablecmds.c:7949
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "字段 \"%s\" 不能自动转换成类型 %s"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:7919
+#: commands/tablecmds.c:7952
 #, c-format
-#| msgid "You might need to initdb."
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "您可能需要指定\"USING %s::%s\"。"
 
-#: commands/tablecmds.c:7972
+#: commands/tablecmds.c:8005
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "在子表中继承字段 \"%s\" 的类型也必需改变"
 
-#: commands/tablecmds.c:8059
+#: commands/tablecmds.c:8092
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "不能更改字段 \"%s\" 的类型两遍"
 
-#: commands/tablecmds.c:8095
+#: commands/tablecmds.c:8128
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "字段 \"%s\" 的默认值不能转换成类型 %s"
 
-#: commands/tablecmds.c:8221
+#: commands/tablecmds.c:8254
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "不能使用视图或规则改变一个字段的类型"
 
-#: commands/tablecmds.c:8222 commands/tablecmds.c:8241
-#: commands/tablecmds.c:8259
+#: commands/tablecmds.c:8255 commands/tablecmds.c:8274
+#: commands/tablecmds.c:8292
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s 倚赖于字段 \"%s\""
 
-#: commands/tablecmds.c:8240
+#: commands/tablecmds.c:8273
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "无法更改触发器定义中的列类型"
 
-#: commands/tablecmds.c:8258
+#: commands/tablecmds.c:8291
 #, c-format
-#| msgid "cannot alter type of a column used in a trigger definition"
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "无法修改被用在策略定义中的列的类型"
 
-#: commands/tablecmds.c:8923
+#: commands/tablecmds.c:8956
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "无法改变索引\"%s\" 的属主"
 
-#: commands/tablecmds.c:8925
+#: commands/tablecmds.c:8958
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "可以改变索引表的所有权"
 
-#: commands/tablecmds.c:8941
+#: commands/tablecmds.c:8974
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "无法改变序列 \"%s\"的属主"
 
-#: commands/tablecmds.c:8943 commands/tablecmds.c:11336
+#: commands/tablecmds.c:8976 commands/tablecmds.c:11398
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "序列 \"%s\"已链接到表\"%s\"."
 
-#: commands/tablecmds.c:8955 commands/tablecmds.c:11977
+#: commands/tablecmds.c:8988 commands/tablecmds.c:12045
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "请使用ALTER TYPE"
 
-#: commands/tablecmds.c:8964
+#: commands/tablecmds.c:8997
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "\"%s\" 不是表,视图,序列或者外部表"
 
-#: commands/tablecmds.c:9308
+#: commands/tablecmds.c:9340
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "无法执行多个SET TABLESPACE子命令"
 
-#: commands/tablecmds.c:9381
+#: commands/tablecmds.c:9413
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "\"%s\"不是表,视图, 物化视图, 索引或TOAST表"
 
-#: commands/tablecmds.c:9414 commands/view.c:481
+#: commands/tablecmds.c:9446 commands/view.c:481
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION只能用于自动更新视图上"
 
-#: commands/tablecmds.c:9560
+#: commands/tablecmds.c:9592
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "不能删除系统关系 \"%s\""
 
-#: commands/tablecmds.c:9576
+#: commands/tablecmds.c:9608
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "不能在其他会话中删除临时表"
 
-#: commands/tablecmds.c:9704
+#: commands/tablecmds.c:9745
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "只有表、索引以及物化视图存在于表空间当中"
 
-#: commands/tablecmds.c:9716
+#: commands/tablecmds.c:9757
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "无法将关系移入或移出表空间pg_global"
 
-#: commands/tablecmds.c:9807
+#: commands/tablecmds.c:9848
 #, c-format
-#| msgid "aborting because lock on relation \"%s\".\"%s\" is not available"
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "由于关系\"%s.%s\"上的锁不可用而中止"
 
 # describe.c:1542
-#: commands/tablecmds.c:9823
+#: commands/tablecmds.c:9864
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "表空间\"%s\"中没有找到符合的关系"
 
-#: commands/tablecmds.c:9887 storage/buffer/bufmgr.c:801
+#: commands/tablecmds.c:9938 storage/buffer/bufmgr.c:915
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "关系 \"%2$s\" 中的块 %1$u 存在无效的页"
 
-#: commands/tablecmds.c:9969
+#: commands/tablecmds.c:10020
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "无法改变已确定类型表(typed table)的继承性"
 
-#: commands/tablecmds.c:10019
+#: commands/tablecmds.c:10070
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "无法继承来自另一会话中的临时关系"
 
-#: commands/tablecmds.c:10073
+#: commands/tablecmds.c:10124
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "不允许循环继承"
 
-#: commands/tablecmds.c:10074
+#: commands/tablecmds.c:10125
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "\"%s\" 已经是 \"%s\"的子表了."
 
-#: commands/tablecmds.c:10082
+#: commands/tablecmds.c:10133
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "不带有OIDs的表\"%s\"无法从带有OIDs的表\"%s\"继承。"
 
-#: commands/tablecmds.c:10223
+#: commands/tablecmds.c:10274
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "在子表中的列\"%s\"必须标识为NOT NULL"
 
-#: commands/tablecmds.c:10239
+#: commands/tablecmds.c:10290
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "在子表中没有列\"%s\""
 
-#: commands/tablecmds.c:10322
+#: commands/tablecmds.c:10373
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "子表 \"%s\" 对于检查约束\"%s\"有不同的定义"
 
-#: commands/tablecmds.c:10330
+#: commands/tablecmds.c:10381
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s"
 "\""
 msgstr "约束 \"%s\" 与子表中的非继承约束 \"%s\"相冲突"
 
-#: commands/tablecmds.c:10354
+#: commands/tablecmds.c:10405
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "子表丢失约束\"%s\""
 
-#: commands/tablecmds.c:10438
+#: commands/tablecmds.c:10489
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "关系 \"%s\" 不是关系\"%s\"的父表"
 
-#: commands/tablecmds.c:10672
+#: commands/tablecmds.c:10723
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "类型表不能继承"
 
-#: commands/tablecmds.c:10703
+#: commands/tablecmds.c:10754
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "表中没有列\"%s\""
 
-#: commands/tablecmds.c:10713
+#: commands/tablecmds.c:10764
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "表中含有列\"%s\",需要类型\"%s\""
 
-#: commands/tablecmds.c:10722
+#: commands/tablecmds.c:10773
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "表\"%s\"中的列\"%s\"带有不同的类型"
 
-#: commands/tablecmds.c:10735
+#: commands/tablecmds.c:10786
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "表含有多余的列\"%s\""
 
-#: commands/tablecmds.c:10787
+#: commands/tablecmds.c:10838
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "\"%s\" 不是一个类型表"
 
-#: commands/tablecmds.c:10970
+#: commands/tablecmds.c:11022
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "不能将非唯一索引\"%s\"用作复制标识"
 
-#: commands/tablecmds.c:10976
+#: commands/tablecmds.c:11028
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "不能把非立即索引\"%s\"用作复制标识"
 
-#: commands/tablecmds.c:10982
+#: commands/tablecmds.c:11034
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "不能将表达式索引\"%s\"用作复制标识"
 
-#: commands/tablecmds.c:10988
+#: commands/tablecmds.c:11040
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "不能将局部索引\"%s\"用作复制标识"
 
-#: commands/tablecmds.c:10994
+#: commands/tablecmds.c:11046
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "不能将无效索引\"%s\"用作复制标识"
 
-#: commands/tablecmds.c:11012
+#: commands/tablecmds.c:11067
+#, c-format
+#| msgid ""
+#| "index \"%s\" cannot be used as replica identity because column \"%s\" is "
+#| "nullable"
+msgid ""
+"index \"%s\" cannot be used as replica identity because column %d is a "
+"system column"
+msgstr "索引 \"%s\" 不能用做复制标识,因为列 %d 是一个系统列"
+
+#: commands/tablecmds.c:11074
 #, c-format
 msgid ""
 "index \"%s\" cannot be used as replica identity because column \"%s\" is "
 "nullable"
 msgstr "索引 \"%s\" 不能用于复制标识,因为列\"%s\"非空"
 
-#: commands/tablecmds.c:11209
+#: commands/tablecmds.c:11271
 #, c-format
-#| msgid "could not convert table \"%s\" to a view because it is not empty"
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "无法更改表\"%s\"的已记录状态,因为它是临时表"
 
-#: commands/tablecmds.c:11268
+#: commands/tablecmds.c:11330
 #, c-format
-#| msgid "could not convert table \"%s\" to a view because it has child tables"
 msgid ""
 "could not change table \"%s\" to logged because it references unlogged table "
 "\"%s\""
 msgstr "无法把表\"%s\"更改为被日志记录,因为它引用了不被日志记录的表\"%s\""
 
-#: commands/tablecmds.c:11278
+#: commands/tablecmds.c:11340
 #, c-format
-#| msgid "could not convert table \"%s\" to a view because it has child tables"
 msgid ""
 "could not change table \"%s\" to unlogged because it references logged table "
 "\"%s\""
 msgstr "无法把表\"%s\"更改为不被日志记录,因为它引用了日志记录的表\"%s\""
 
-#: commands/tablecmds.c:11335
+#: commands/tablecmds.c:11397
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "无法将已分配的序列移动到另一个模式中"
 
-#: commands/tablecmds.c:11436
+#: commands/tablecmds.c:11502
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "在模式\"%2$s\"中已经存在关系\"%1$s\""
 
-#: commands/tablecmds.c:11961
+#: commands/tablecmds.c:12029
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "\"%s\" 不是组合类型"
 
-#: commands/tablecmds.c:11991
+#: commands/tablecmds.c:12059
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
@@ -8494,7 +8982,7 @@ msgstr "\"%s\" 不是表,视图,物化视图,序列或者外部表"
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:625 replication/slot.c:914 storage/file/copydir.c:47
+#: commands/tablespace.c:629 replication/slot.c:969 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "无法创建目录 \"%s\": %m"
@@ -8519,284 +9007,277 @@ msgstr "创建表空间 \"%s\" 权限不够"
 msgid "Must be superuser to create a tablespace."
 msgstr "只有超级用户能创建表空间"
 
-#: commands/tablespace.c:267
+#: commands/tablespace.c:271
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "表空间路径不能包含单引号"
 
-#: commands/tablespace.c:277
+#: commands/tablespace.c:281
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "表空间路径必须为绝对路径"
 
-#: commands/tablespace.c:288
+#: commands/tablespace.c:292
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "表空间路径 \"%s\" 太长"
 
-#: commands/tablespace.c:295
+#: commands/tablespace.c:299
 #, c-format
-#| msgid "tablespace location must be an absolute path"
 msgid "tablespace location should not be inside the data directory"
 msgstr "表空间位置不应该位于数据目录内"
 
-#: commands/tablespace.c:304 commands/tablespace.c:938
+#: commands/tablespace.c:308 commands/tablespace.c:956
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "不可访问的表空间名字 \"%s\""
 
-#: commands/tablespace.c:306 commands/tablespace.c:939
+#: commands/tablespace.c:310 commands/tablespace.c:957
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "前缀 \"pg_\" 是保留给系统表空间的."
 
-#: commands/tablespace.c:316 commands/tablespace.c:951
+#: commands/tablespace.c:320 commands/tablespace.c:969
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "表空间 \"%s\" 已经存在"
 
-#: commands/tablespace.c:430 commands/tablespace.c:921
-#: commands/tablespace.c:1002 commands/tablespace.c:1071
-#: commands/tablespace.c:1204 commands/tablespace.c:1404
+#: commands/tablespace.c:434 commands/tablespace.c:939
+#: commands/tablespace.c:1020 commands/tablespace.c:1089
+#: commands/tablespace.c:1222 commands/tablespace.c:1422
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "表空间 \"%s\" 不存在"
 
-#: commands/tablespace.c:436
+#: commands/tablespace.c:440
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "表空间 \"%s\" 不存在,跳过"
 
-#: commands/tablespace.c:512
+#: commands/tablespace.c:516
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "表空间 \"%s\" 不是空的"
 
-#: commands/tablespace.c:584
+#: commands/tablespace.c:588
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "目录 \"%s\" 不存在"
 
-#: commands/tablespace.c:585
+#: commands/tablespace.c:589
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "在重新启动服务器前为这个表空间创建该目录."
 
-#: commands/tablespace.c:590
+#: commands/tablespace.c:594
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "无法为目录 \"%s\" 的设置权限: %m"
 
-#: commands/tablespace.c:620
+#: commands/tablespace.c:624
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "目录 \"%s\" 以一个表空间的形式正在使用"
 
-#: commands/tablespace.c:744 commands/tablespace.c:757
-#: commands/tablespace.c:781 commands/tablespace.c:872
+#: commands/tablespace.c:748 commands/tablespace.c:761
+#: commands/tablespace.c:797 commands/tablespace.c:889
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "无法删除目录 \"%s\": %m"
 
-#: commands/tablespace.c:793 commands/tablespace.c:881
+#: commands/tablespace.c:810 commands/tablespace.c:898
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "无法删除符号链接 \"%s\": %m"
 
-#: commands/tablespace.c:803 commands/tablespace.c:889
+#: commands/tablespace.c:820 commands/tablespace.c:907
 #, c-format
-#| msgid "\"%s\" is a directory"
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "\"%s\" 不是一个目录或者符号链接"
 
-#: commands/tablespace.c:1076
+#: commands/tablespace.c:1094
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "表空间 \"%s\" 不存在."
 
-#: commands/tablespace.c:1503
+#: commands/tablespace.c:1521
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "表空间 %u 的目录不能被移除"
 
-#: commands/tablespace.c:1505
+#: commands/tablespace.c:1523
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "如有必要您可以手动移除这些目录."
 
-#: commands/trigger.c:183
+#: commands/trigger.c:184
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "\"%s\" 是一个表"
 
-#: commands/trigger.c:185
+#: commands/trigger.c:186
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "表不能使用INSTEAD OF触发器."
 
-#: commands/trigger.c:196 commands/trigger.c:203
+#: commands/trigger.c:197 commands/trigger.c:204
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "\"%s\" 是一个视图"
 
-#: commands/trigger.c:198
+#: commands/trigger.c:199
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "视图不能使用行级 BEFORE 或 AFTER 触发器."
 
-#: commands/trigger.c:205
+#: commands/trigger.c:206
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "视图不能使用 TRUNCATE 触发器."
 
-#: commands/trigger.c:213 commands/trigger.c:220 commands/trigger.c:227
+#: commands/trigger.c:214 commands/trigger.c:221 commands/trigger.c:228
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "\"%s\" 是一个外部表"
 
-#: commands/trigger.c:215
+#: commands/trigger.c:216
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "外部表不能使用INSTEAD OF触发器."
 
-#: commands/trigger.c:222
+#: commands/trigger.c:223
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "外部表不能使用 TRUNCATE 触发器."
 
-#: commands/trigger.c:229
+#: commands/trigger.c:230
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "外部表不能使用约束触发器."
 
-#: commands/trigger.c:292
+#: commands/trigger.c:293
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "不支持使用TRUNCATE FOR EACH ROW触发器"
 
-#: commands/trigger.c:300
+#: commands/trigger.c:301
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF 触发器必须使用 FOR EACH ROW"
 
-#: commands/trigger.c:304
+#: commands/trigger.c:305
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF 触发器不能使用 WHEN 条件子句"
 
-#: commands/trigger.c:308
+#: commands/trigger.c:309
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF 触发器不能带有字段列表"
 
-#: commands/trigger.c:367 commands/trigger.c:380
+#: commands/trigger.c:366 commands/trigger.c:379
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "语句级触发器的WHEN条件中不能引用列的值。"
 
-#: commands/trigger.c:372
+#: commands/trigger.c:371
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "在INSERT触发器的WHEN条件中不能引用OLD值。"
 
-#: commands/trigger.c:385
+#: commands/trigger.c:384
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "在DELETE触发器的WHEN条件中不能引用NEW值。"
 
-#: commands/trigger.c:390
+#: commands/trigger.c:389
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "BEFORE类型触发器的WHERE条件不能引用NEW系统列"
 
-#: commands/trigger.c:435
+#: commands/trigger.c:434
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "改变函数 %s 的返回类型 \"opaque\" 为 \"trigger\""
 
-#: commands/trigger.c:442
-#, c-format
-msgid "function %s must return type \"trigger\""
-msgstr "函数 %s 必需返回 \"trigger\" 类型"
-
-#: commands/trigger.c:554 commands/trigger.c:1304
+#: commands/trigger.c:553 commands/trigger.c:1303
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "对于关系 \"%2$s\" 的 \"%1$s\" 触发器已经存在"
 
-#: commands/trigger.c:839
+#: commands/trigger.c:838
 msgid "Found referenced table's UPDATE trigger."
 msgstr "找到被引用表的UPDATE触发器"
 
-#: commands/trigger.c:840
+#: commands/trigger.c:839
 msgid "Found referenced table's DELETE trigger."
 msgstr "找到被引用表的DELETE触发器"
 
-#: commands/trigger.c:841
+#: commands/trigger.c:840
 msgid "Found referencing table's trigger."
 msgstr "找到正在引用表的触发器"
 
-#: commands/trigger.c:950 commands/trigger.c:966
+#: commands/trigger.c:949 commands/trigger.c:965
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "对于\"%s\" %s,忽略未完成的触发器组"
 
-#: commands/trigger.c:978
+#: commands/trigger.c:977
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "正在将触发器组转换为约束\"%s\" %s"
 
-#: commands/trigger.c:1191 commands/trigger.c:1352 commands/trigger.c:1470
+#: commands/trigger.c:1190 commands/trigger.c:1351 commands/trigger.c:1469
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "表 \"%2$s\" 的 \"%1$s\" 触发器不存在"
 
-#: commands/trigger.c:1435
+#: commands/trigger.c:1434
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "权限不够: \"%s\" 是一个系统触发器"
 
-#: commands/trigger.c:1931
+#: commands/trigger.c:1930
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "触发器函数 %u 返回了空值"
 
-#: commands/trigger.c:1990 commands/trigger.c:2189 commands/trigger.c:2393
-#: commands/trigger.c:2665
+#: commands/trigger.c:1989 commands/trigger.c:2188 commands/trigger.c:2392
+#: commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "BEFORE STATEMENT 触发器不能返回一个值"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:631
-#: executor/nodeModifyTable.c:919
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:664
+#: executor/nodeModifyTable.c:957
 #, c-format
 msgid ""
 "tuple to be updated was already modified by an operation triggered by the "
 "current command"
 msgstr "待更新元组值已经被当前命令触发的操作修改了"
 
-#: commands/trigger.c:2728 executor/nodeModifyTable.c:632
-#: executor/nodeModifyTable.c:920
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:665
+#: executor/nodeModifyTable.c:958
 #, c-format
 msgid ""
 "Consider using an AFTER trigger instead of a BEFORE trigger to propagate "
 "changes to other rows."
 msgstr "考虑使用AFTER触发器代替BEFORE触发器,来改变其它行的值."
 
-#: commands/trigger.c:2742 executor/execMain.c:2344
-#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:183
-#: executor/nodeModifyTable.c:644 executor/nodeModifyTable.c:932
-#: executor/nodeModifyTable.c:1099
+#: commands/trigger.c:2741 executor/execMain.c:2369
+#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:200
+#: executor/nodeModifyTable.c:677 executor/nodeModifyTable.c:970
+#: executor/nodeModifyTable.c:1136
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "由于同步更新而无法串行访问"
 
-#: commands/trigger.c:4580
+#: commands/trigger.c:4579
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "约束 \"%s\" 不可展缓"
 
-#: commands/trigger.c:4603
+#: commands/trigger.c:4602
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "约束 \"%s\" 不存在"
@@ -8897,607 +9378,606 @@ msgstr "符号类型\"%s\"的映射不存在, 跳过"
 msgid "invalid parameter list format: \"%s\""
 msgstr "无效参数列表格式: \"%s\""
 
-#: commands/typecmds.c:179
+#: commands/typecmds.c:181
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "只有超级用户能创建基类型"
 
-#: commands/typecmds.c:286 commands/typecmds.c:1419
+#: commands/typecmds.c:288 commands/typecmds.c:1421
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "类型属性 \"%s\" 不被认可"
 
-#: commands/typecmds.c:340
+#: commands/typecmds.c:342
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "无效的类型目录 \"%s\": 必须是简单ASCII"
 
-#: commands/typecmds.c:359
+#: commands/typecmds.c:361
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "排列元素类型不能为 %s"
 
-#: commands/typecmds.c:391
+#: commands/typecmds.c:393
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "alignment \"%s\" 不被认可"
 
-#: commands/typecmds.c:408
+#: commands/typecmds.c:410
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "存储 \"%s\" 不被认可"
 
-#: commands/typecmds.c:419
+#: commands/typecmds.c:421
 #, c-format
 msgid "type input function must be specified"
 msgstr "类型输入函数必需指定"
 
-#: commands/typecmds.c:423
+#: commands/typecmds.c:425
 #, c-format
 msgid "type output function must be specified"
 msgstr "类型输出函数必需指定"
 
-#: commands/typecmds.c:428
+#: commands/typecmds.c:430
 #, c-format
 msgid ""
 "type modifier output function is useless without a type modifier input "
 "function"
 msgstr "如果没有类型修改器的输入函数,那么类型修改器的输出函数没有用"
 
-#: commands/typecmds.c:451
+#: commands/typecmds.c:453 commands/typecmds.c:470
 #, c-format
-msgid "changing return type of function %s from \"opaque\" to %s"
-msgstr "改变函数 %s 的返回类型 \"opaque\" 为 %s"
+#| msgid "changing return type of function %s from \"opaque\" to %s"
+msgid "changing return type of function %s from %s to %s"
+msgstr "把函数 %1$s 的返回类型从 %2$s 改成 %3$s"
 
-#: commands/typecmds.c:458
+#: commands/typecmds.c:460
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "类型输入函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:468
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to \"cstring\""
-msgstr "改变函数 %s 的返回类型 \"opaque\" 为 \"cstring\""
-
-#: commands/typecmds.c:475
+#: commands/typecmds.c:477
 #, c-format
-msgid "type output function %s must return type \"cstring\""
-msgstr "类型输出函数 %s 必需返回类型 \"cstring\""
+#| msgid "type input function %s must return type %s"
+msgid "type output function %s must return type %s"
+msgstr "类型输出函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:484
+#: commands/typecmds.c:486
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "类型接收函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:493
+#: commands/typecmds.c:495
 #, c-format
-msgid "type send function %s must return type \"bytea\""
-msgstr "类型发送函数 %s 必需返回类型 \"bytea\""
+#| msgid "type input function %s must return type %s"
+msgid "type send function %s must return type %s"
+msgstr "类型发送函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:558
+#: commands/typecmds.c:560
 #, c-format
-#| msgid "cast function must not be volatile"
 msgid "type input function %s should not be volatile"
 msgstr "类型输入函数%s不能是不稳定的 (volatile)"
 
-#: commands/typecmds.c:563
+#: commands/typecmds.c:565
 #, c-format
-#| msgid "cast function must not be volatile"
 msgid "type output function %s should not be volatile"
 msgstr "类型输出函数%s不能是不稳定的 (volatile)"
 
-#: commands/typecmds.c:568
+#: commands/typecmds.c:570
 #, c-format
-#| msgid "type receive function %s must return type %s"
 msgid "type receive function %s should not be volatile"
 msgstr "类型接收函数%s不应该是不稳定的"
 
-#: commands/typecmds.c:573
+#: commands/typecmds.c:575
 #, c-format
-#| msgid "cast function must not be volatile"
 msgid "type send function %s should not be volatile"
 msgstr "类型发送函数%s不应该是不稳定的"
 
-#: commands/typecmds.c:578
+#: commands/typecmds.c:580
 #, c-format
-#| msgid "cast function must not be volatile"
 msgid "type modifier input function %s should not be volatile"
 msgstr "类型修饰输入函数%s不应该是不稳定的"
 
-#: commands/typecmds.c:583
+#: commands/typecmds.c:585
 #, c-format
-#| msgid ""
-#| "type modifier output function is useless without a type modifier input "
-#| "function"
 msgid "type modifier output function %s should not be volatile"
 msgstr "类型修饰输出函数%s不应该是不稳定的"
 
-#: commands/typecmds.c:805
+#: commands/typecmds.c:807
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "对于一个域, \"%s\" 不是一个有效的基本类型"
 
-#: commands/typecmds.c:891
+#: commands/typecmds.c:893
 #, c-format
 msgid "multiple default expressions"
 msgstr "多遍默认表达式"
 
-#: commands/typecmds.c:953 commands/typecmds.c:962
+#: commands/typecmds.c:955 commands/typecmds.c:964
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "NULL/NOT NULL 约束冲突"
 
-#: commands/typecmds.c:978
+#: commands/typecmds.c:980
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "域的CHECK约束不能标为NO INHERIT"
 
-#: commands/typecmds.c:987 commands/typecmds.c:2518
+#: commands/typecmds.c:989 commands/typecmds.c:2522
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "唯一约束对于域不可用"
 
-#: commands/typecmds.c:993 commands/typecmds.c:2524
+#: commands/typecmds.c:995 commands/typecmds.c:2528
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "不可为域使用主键约束"
 
-#: commands/typecmds.c:999 commands/typecmds.c:2530
+#: commands/typecmds.c:1001 commands/typecmds.c:2534
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "排他约束对于域不可用"
 
-#: commands/typecmds.c:1005 commands/typecmds.c:2536
+#: commands/typecmds.c:1007 commands/typecmds.c:2540
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "外键约束对于域不可用"
 
-#: commands/typecmds.c:1014 commands/typecmds.c:2545
+#: commands/typecmds.c:1016 commands/typecmds.c:2549
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "所指定的约束延迟对域不支持"
 
-#: commands/typecmds.c:1289 utils/cache/typcache.c:1579
+#: commands/typecmds.c:1291 utils/cache/typcache.c:1634
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s 不是枚举"
 
-#: commands/typecmds.c:1427
+#: commands/typecmds.c:1429
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "类型属性 \"subtype\" 不是必需的"
 
-#: commands/typecmds.c:1432
+#: commands/typecmds.c:1434
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "范围子类型不能为 %s"
 
-#: commands/typecmds.c:1451
+#: commands/typecmds.c:1453
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "已指定了范围排序规则但是子类型并不支持排序"
 
-#: commands/typecmds.c:1684
+#: commands/typecmds.c:1687
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "改变函数 %s 的参数类型 \"opaque\" 为 \"cstring\""
 
-#: commands/typecmds.c:1735
+#: commands/typecmds.c:1738
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "改变函数 %s 的参数类型 \"opaque\" 为 %s"
 
-#: commands/typecmds.c:1834
+#: commands/typecmds.c:1837
 #, c-format
-msgid "typmod_in function %s must return type \"integer\""
-msgstr "typmod_in类型函数 %s 必需返回 \"trigger\" 类型"
+#| msgid "type input function %s must return type %s"
+msgid "typmod_in function %s must return type %s"
+msgstr "typmod_in 函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:1861
+#: commands/typecmds.c:1864
 #, c-format
-msgid "typmod_out function %s must return type \"cstring\""
-msgstr "typmod_out类型函数 %s 必需返回类型 \"cstring\""
+#| msgid "typmod_out function %s must return type \"cstring\""
+msgid "typmod_out function %s must return type %s"
+msgstr "typmod_out 函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:1888
+#: commands/typecmds.c:1891
 #, c-format
-msgid "type analyze function %s must return type \"boolean\""
-msgstr "类型 analyze 函数 %s 必需返回类型 \"boolean\""
+#| msgid "type analyze function %s must return type \"boolean\""
+msgid "type analyze function %s must return type %s"
+msgstr "类型分析函数 %s 必需返回类型 %s"
 
-#: commands/typecmds.c:1934
+#: commands/typecmds.c:1937
 #, c-format
 msgid ""
 "You must specify an operator class for the range type or define a default "
 "operator class for the subtype."
 msgstr "你必须为范围类型指定一个操作符类或者为子类型定义一个默认的操作符类."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1968
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "范围的标准函数%s必须返回范围类型"
 
-#: commands/typecmds.c:1971
+#: commands/typecmds.c:1974
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "范围的标准函数%s必须是不可变的"
 
-#: commands/typecmds.c:2007
+#: commands/typecmds.c:2010
 #, c-format
-msgid "range subtype diff function %s must return type double precision"
-msgstr "范围子类型的diff函数%s必须返回double precision(双精浮点)类型"
+#| msgid "range subtype diff function %s must return type double precision"
+msgid "range subtype diff function %s must return type %s"
+msgstr "范围子类型的 diff 函数 %s 必须返回类型 %s"
 
-#: commands/typecmds.c:2013
+#: commands/typecmds.c:2017
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "范围的子类型diff函数%s必须是不可变的"
 
-#: commands/typecmds.c:2040
+#: commands/typecmds.c:2044
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_type的数组OID值"
 
-#: commands/typecmds.c:2344
+#: commands/typecmds.c:2348
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "表 \"%2$s\" 的字段 \"%1$s\" 包含空值"
 
-#: commands/typecmds.c:2459 commands/typecmds.c:2642
+#: commands/typecmds.c:2463 commands/typecmds.c:2646
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不存在"
 
-#: commands/typecmds.c:2463
+#: commands/typecmds.c:2467
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不存在, 跳过"
 
-#: commands/typecmds.c:2648
+#: commands/typecmds.c:2652
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不是一个check约束"
 
-#: commands/typecmds.c:2754
+#: commands/typecmds.c:2758
 #, c-format
 msgid ""
 "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "表 \"%2$s\" 的字段 \"%1$s\" 包含的值违反了新约束"
 
-#: commands/typecmds.c:2967 commands/typecmds.c:3224 commands/typecmds.c:3432
+#: commands/typecmds.c:2971 commands/typecmds.c:3228 commands/typecmds.c:3417
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s 不是一个域"
 
-#: commands/typecmds.c:3001
+#: commands/typecmds.c:3005
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "域 \"%2$s\" 的约束 \"%1$s\" 已经存在"
 
-#: commands/typecmds.c:3051
+#: commands/typecmds.c:3055
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "在域检查约束中不可以使用表关联"
 
-#: commands/typecmds.c:3154 commands/typecmds.c:3236 commands/typecmds.c:3545
+#: commands/typecmds.c:3158 commands/typecmds.c:3240 commands/typecmds.c:3534
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s 是一个表的记录类型"
 
-#: commands/typecmds.c:3156 commands/typecmds.c:3238 commands/typecmds.c:3547
+#: commands/typecmds.c:3160 commands/typecmds.c:3242 commands/typecmds.c:3536
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "请使用 ALTER TABLE命令代替."
 
-#: commands/typecmds.c:3163 commands/typecmds.c:3245 commands/typecmds.c:3464
+#: commands/typecmds.c:3167 commands/typecmds.c:3249 commands/typecmds.c:3449
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "不能更改数组类型%s"
 
-#: commands/typecmds.c:3165 commands/typecmds.c:3247 commands/typecmds.c:3466
+#: commands/typecmds.c:3169 commands/typecmds.c:3251 commands/typecmds.c:3451
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "您能够修改类型%s, 因而也能修改数组类型"
 
-#: commands/typecmds.c:3531
+#: commands/typecmds.c:3519
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "在于模式\"%2$s\"中已存在类型\"%1$s\""
 
-#: commands/user.c:148
+#: commands/user.c:149
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "不能再指定SYSID"
 
-#: commands/user.c:290
+#: commands/user.c:291
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "只有超级用户能创建另一个超级用户"
 
-#: commands/user.c:297
+#: commands/user.c:298
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "只有超级用户能创建复制用户"
 
-#: commands/user.c:304 commands/user.c:678
+#: commands/user.c:305 commands/user.c:693
 #, c-format
-#| msgid "must be superuser to create a base type"
 msgid "must be superuser to change bypassrls attribute"
 msgstr "只有超级用户能更改绕过行级安全性属性(bypassrls)"
 
-#: commands/user.c:311
+#: commands/user.c:312
 #, c-format
 msgid "permission denied to create role"
 msgstr "创建角色的权限不够"
 
-#: commands/user.c:324 commands/user.c:1153
+#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13599
+#: gram.y:13634
+#, c-format
+msgid "role name \"%s\" is reserved"
+msgstr "角色名称 \"%s\" 被保留了"
+
+#: commands/user.c:324 commands/user.c:1178 commands/user.c:1185
+#, c-format
+#| msgid "role name \"%s\" is reserved"
+msgid "Role names starting with \"pg_\" are reserved."
+msgstr "以 \"pg_\" 开始的角色名是被保留的。"
+
+#: commands/user.c:336 commands/user.c:1191
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "角色\"%s\" 已经存在"
 
-#: commands/user.c:402
+#: commands/user.c:414
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "当处于二进制升级模式时没有设置pg_authid的OID值"
 
-#: commands/user.c:664 commands/user.c:878 commands/user.c:1394
-#: commands/user.c:1540
+#: commands/user.c:679 commands/user.c:896 commands/user.c:1443
+#: commands/user.c:1589
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "只有超级用户能修改超级用户"
 
-#: commands/user.c:671
+#: commands/user.c:686
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "只有超级用户能修改复制用户"
 
-#: commands/user.c:694 commands/user.c:886
+#: commands/user.c:709 commands/user.c:904
 #, c-format
 msgid "permission denied"
 msgstr "权限不够"
 
-#: commands/user.c:916
+#: commands/user.c:934
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "只有超级用户可以做全局的alter settings操作"
 
-#: commands/user.c:938
+#: commands/user.c:956
 #, c-format
 msgid "permission denied to drop role"
 msgstr "删除角色的权限不够"
 
-#: commands/user.c:962
+#: commands/user.c:980
 #, c-format
-#| msgid "cannot assign new default tablespace \"%s\""
-msgid "cannot use special role specifier in \"%s\""
-msgstr "不能在\"%s\"中使用特殊的角色说明符"
+#| msgid "cannot use special role specifier in \"%s\""
+msgid "cannot use special role specifier in DROP ROLE"
+msgstr "不能在 DROP ROLE 中使用特殊角色说明符"
 
-#: commands/user.c:972 commands/user.c:1128 commands/variable.c:799
-#: commands/variable.c:871 utils/adt/acl.c:5120 utils/adt/acl.c:5172
-#: utils/adt/acl.c:5205 utils/adt/acl.c:5223 utils/init/miscinit.c:494
+#: commands/user.c:990 commands/user.c:1147 commands/variable.c:805
+#: commands/variable.c:880 utils/adt/acl.c:5121 utils/adt/acl.c:5173
+#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "角色 \"%s\" 不存在"
 
-#: commands/user.c:977
+#: commands/user.c:995
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "角色 \"%s\" 不存在"
 
-#: commands/user.c:989 commands/user.c:993
+#: commands/user.c:1007 commands/user.c:1011
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "当前用户不能被删除"
 
-#: commands/user.c:997
+#: commands/user.c:1015
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "会话用户不能被删除"
 
-#: commands/user.c:1008
+#: commands/user.c:1026
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "只有超级用户可以删除超级用户"
 
-#: commands/user.c:1024
+#: commands/user.c:1042
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "无法删除\"%s\"因为有其它对象倚赖它"
 
-#: commands/user.c:1143
+#: commands/user.c:1163
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "无法重命名会话用户"
 
-#: commands/user.c:1147
+#: commands/user.c:1167
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "无法重新命名当前用户"
 
-#: commands/user.c:1163
+#: commands/user.c:1201
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "只有超级用户可以对超级用户重命名"
 
-#: commands/user.c:1170
+#: commands/user.c:1208
 #, c-format
 msgid "permission denied to rename role"
 msgstr "重命名角色的权限不够"
 
-#: commands/user.c:1191
+#: commands/user.c:1229
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "由于对角色重命名, 需要清除以MD5方式加密的口令"
 
-#: commands/user.c:1253
+#: commands/user.c:1299
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "在GRANT/REVOKE ROLE中不能包含列名"
 
-#: commands/user.c:1291
+#: commands/user.c:1337
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "删除对象的权限不足"
 
-#: commands/user.c:1318 commands/user.c:1327
+#: commands/user.c:1364 commands/user.c:1376
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "重新分配对象的权限不足"
 
-#: commands/user.c:1402 commands/user.c:1548
+#: commands/user.c:1451 commands/user.c:1597
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "在角色\"%s\"上必须有admin选项"
 
-#: commands/user.c:1419
+#: commands/user.c:1468
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "只有超级用户能设置授权者"
 
-#: commands/user.c:1444
+#: commands/user.c:1493
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "角色\"%s\" 是角色\"%s\"的成员"
 
-#: commands/user.c:1459
+#: commands/user.c:1508
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "角色\"%s\" 已经是角色\"%s\"的成员"
 
-#: commands/user.c:1570
+#: commands/user.c:1619
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "角色 \"%s\"不是角色 \"%s\"的成员"
 
 #: commands/vacuum.c:185
 #, c-format
-#| msgid "%s: cannot be executed by \"root\"\n"
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "不能从VACUUM或ANALYZE执行%s"
 
-#: commands/vacuum.c:527
+#: commands/vacuum.c:528
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "最旧的xmin已经过去很久"
 
-#: commands/vacuum.c:528
+#: commands/vacuum.c:529
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "立即关闭已打开的事物, 以避免 wraparound 问题."
 
-#: commands/vacuum.c:567
+#: commands/vacuum.c:568
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "最旧的多事务已经过去很久"
 
-#: commands/vacuum.c:568
+#: commands/vacuum.c:569
 #, c-format
 msgid ""
 "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "立即关闭已打开的事务, 以避免重叠问题."
 
-#: commands/vacuum.c:1130
+#: commands/vacuum.c:1131
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "一些数据库在超过 20 亿笔事物后没有做清理 (vacuum)."
 
-#: commands/vacuum.c:1131
+#: commands/vacuum.c:1132
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "您可能已经遇到了由于事务重叠而造成的数据丢失."
 
-#: commands/vacuum.c:1252
+#: commands/vacuum.c:1253
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "跳过对 \"%s\" 的压缩处理 --- 无法获取相应锁"
 
-#: commands/vacuum.c:1278
+#: commands/vacuum.c:1279
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "忽略 \"%s\" --- 只有超级用户能够清理 (vacuum)"
 
-#: commands/vacuum.c:1282
+#: commands/vacuum.c:1283
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "忽略 \"%s\" --- 只有超级用户或数据库属主能够清理 (vacuum)"
 
-#: commands/vacuum.c:1286
+#: commands/vacuum.c:1287
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "忽略 \"%s\" --- 只有表或数据库属主能够清理 (vacuum)"
 
-#: commands/vacuum.c:1304
+#: commands/vacuum.c:1305
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "忽略 \"%s\" --- 无法清理 (vacuum) 非表或者特殊的系统表"
 
-#: commands/vacuumlazy.c:358
+#: commands/vacuumlazy.c:363
 #, c-format
-#| msgid "automatic vacuum of table \"%s.%s.%s\""
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "自动清理表\"%s.%s.%s\":索引扫描:%d\n"
 
-#: commands/vacuumlazy.c:363
+#: commands/vacuumlazy.c:368
 #, c-format
-msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
-msgstr "页面:%u被移除,%u保留,%u由于被占用而跳过\n"
+#| msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
+msgid ""
+"pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
+msgstr "页面:%u 被移除,%u 保留,%u 由于被占用而跳过,%u 被跳过的已被冻结\n"
 
-#: commands/vacuumlazy.c:368
+#: commands/vacuumlazy.c:374
 #, c-format
 msgid ""
 "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
 msgstr "元组:%.0f被移除,%.0f保留,%.0f已经死亡但还不能被移除\n"
 
-#: commands/vacuumlazy.c:373
+#: commands/vacuumlazy.c:379
 #, c-format
 msgid "buffer usage: %d hits, %d misses, %d dirtied\n"
 msgstr "缓冲区使用:%d次命中,%d次失效,%d次脏\n"
 
-#: commands/vacuumlazy.c:377
+#: commands/vacuumlazy.c:383
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "平均读取率:%.3f MB/s,平均写入率:%.3f MB/s\n"
 
-#: commands/vacuumlazy.c:379
+#: commands/vacuumlazy.c:385
 #, c-format
-#| msgid "statement: %s"
 msgid "system usage: %s"
 msgstr "系统用法:%s"
 
-#: commands/vacuumlazy.c:701
+#: commands/vacuumlazy.c:837
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "关系 \"%s\" 页 %u 没有初始化 --- 修复"
 
-#: commands/vacuumlazy.c:1113
+#: commands/vacuumlazy.c:1301
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "\"%1$s\": 在%3$u页中已删除%2$.0f行版本号"
 
-#: commands/vacuumlazy.c:1123
+#: commands/vacuumlazy.c:1311
 #, c-format
-#| msgid ""
-#| "%.0f dead row versions cannot be removed yet.\n"
-#| "%s."
 msgid "%.0f dead row versions cannot be removed yet.\n"
 msgstr "%.0f的死亡行版本还不能被移除。\n"
 
-#: commands/vacuumlazy.c:1125
+#: commands/vacuumlazy.c:1313
 #, c-format
 msgid "There were %.0f unused item pointers.\n"
 msgstr "有%.0f个未用的项指针。\n"
 
-#: commands/vacuumlazy.c:1127
+#: commands/vacuumlazy.c:1315
 #, c-format
 msgid "Skipped %u page due to buffer pins.\n"
 msgid_plural "Skipped %u pages due to buffer pins.\n"
 msgstr[0] "由于缓冲区占用而跳过%u个页面。\n"
 
-#: commands/vacuumlazy.c:1131
+#: commands/vacuumlazy.c:1319
 #, c-format
 msgid "%u page is entirely empty.\n"
 msgid_plural "%u pages are entirely empty.\n"
 msgstr[0] "%u 个页面完全为空。\n"
 
-#: commands/vacuumlazy.c:1139
+#: commands/vacuumlazy.c:1327
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u "
@@ -9505,22 +9985,22 @@ msgid ""
 msgstr ""
 "\"%1$s\": 在超出%5$u页的%4$u中找到可删除版本号%2$.0f, 不可删除的版本号%3$.0f"
 
-#: commands/vacuumlazy.c:1208
+#: commands/vacuumlazy.c:1396
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "\"%1$s\": 在%3$d个页中已删除%2$d记录版本"
 
-#: commands/vacuumlazy.c:1375
+#: commands/vacuumlazy.c:1585
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "扫描索引\"%s\"来删除%d记录版本"
 
-#: commands/vacuumlazy.c:1421
+#: commands/vacuumlazy.c:1631
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "索引\"%1$s\"在%3$u个页中包含了行版本号%2$.0f"
 
-#: commands/vacuumlazy.c:1425
+#: commands/vacuumlazy.c:1635
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -9531,22 +10011,22 @@ msgstr ""
 "%u个索引页已经被删除,%u当前可重用.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1482
+#: commands/vacuumlazy.c:1721
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "\"%s\":由于与锁请求相冲突,停止截断操作"
 
-#: commands/vacuumlazy.c:1547
+#: commands/vacuumlazy.c:1786
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "\"%s\": 将%u截断到%u pages"
 
-#: commands/vacuumlazy.c:1603
+#: commands/vacuumlazy.c:1842
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "\"%s\":由于与锁请求相冲突,暂停截断操作"
 
-#: commands/variable.c:164 utils/misc/guc.c:9649
+#: commands/variable.c:164 utils/misc/guc.c:9877
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "未知的关键字: \"%s\"."
@@ -9581,63 +10061,63 @@ msgstr "PostgreSQL 不支持闰秒"
 msgid "UTC timezone offset is out of range."
 msgstr "UTC时区偏移已超出范围"
 
-#: commands/variable.c:495
+#: commands/variable.c:497
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "不能在一个只读事物里面设置读写模式"
 
-#: commands/variable.c:502
+#: commands/variable.c:504
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr "执行任意查询前必须设置事务的读写模式"
 
-#: commands/variable.c:509
+#: commands/variable.c:511
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr "在恢复操作期间不能设置事务的读写模式"
 
-#: commands/variable.c:558
+#: commands/variable.c:560
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL 必须在任何查询之前调用"
 
-#: commands/variable.c:565
+#: commands/variable.c:567
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL 不能在子事物中调用"
 
-#: commands/variable.c:572 storage/lmgr/predicate.c:1586
+#: commands/variable.c:574 storage/lmgr/predicate.c:1587
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "热备过程中无法使用可串行化模式"
 
-#: commands/variable.c:573
+#: commands/variable.c:575
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "您必须使用REPEATABLE READ来代替"
 
-#: commands/variable.c:621
+#: commands/variable.c:623
 #, c-format
 msgid ""
 "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE 不能在子事物中调用"
 
-#: commands/variable.c:627
+#: commands/variable.c:629
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE 必须在任何查询之前调用"
 
-#: commands/variable.c:709
+#: commands/variable.c:711
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "不支持 %s 和 %s 之间的编码转换."
 
-#: commands/variable.c:716
+#: commands/variable.c:718
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "现在无法改变 \"client_encoding\" 值."
 
-#: commands/variable.c:889
+#: commands/variable.c:898
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "设置角色\"%s\"的权限不足"
@@ -9733,13 +10213,13 @@ msgstr "没有在记录上对游标\"%s\"进行定位"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "游标\"%s\"不对表\"%s\"进行可更新扫描"
 
-#: executor/execCurrent.c:231 executor/execQual.c:1156
+#: executor/execCurrent.c:231 executor/execQual.c:1178
 #, c-format
 msgid ""
 "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "第%d个参数(%s)的类型与正在执行计划(%s)中的不匹配"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1168
+#: executor/execCurrent.c:243 executor/execQual.c:1190
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "没有找到参数 %d 的值"
@@ -9751,54 +10231,52 @@ msgid ""
 "constraints as arbiters"
 msgstr "ON CONFLICT不支持可延迟唯一约束/排除约束作为仲裁者"
 
-#: executor/execIndexing.c:814
+#: executor/execIndexing.c:816
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "无法创建排他约束\"%s\""
 
-#: executor/execIndexing.c:817
+#: executor/execIndexing.c:819
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "键%s与另外一个键%s冲突"
 
-#: executor/execIndexing.c:819
+#: executor/execIndexing.c:821
 #, c-format
-#| msgid "Key %s conflicts with key %s."
 msgid "Key conflicts exist."
 msgstr "存在键冲突。"
 
-#: executor/execIndexing.c:825
+#: executor/execIndexing.c:827
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "互相冲突的键值违反排他约束\"%s\""
 
-#: executor/execIndexing.c:828
+#: executor/execIndexing.c:830
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "键%s与已存在的键%s冲突"
 
-#: executor/execIndexing.c:830
+#: executor/execIndexing.c:832
 #, c-format
-#| msgid "Key %s conflicts with existing key %s."
 msgid "Key conflicts with existing key."
 msgstr "与现有键发生键冲突。"
 
-#: executor/execMain.c:1025
+#: executor/execMain.c:1027
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "不可以改变序列 \"%s\""
 
-#: executor/execMain.c:1031
+#: executor/execMain.c:1033
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "不可以改变 TOAST 关系 \"%s\""
 
-#: executor/execMain.c:1049 rewrite/rewriteHandler.c:2631
+#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2648
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "无法插入到视图\"%s\""
 
-#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2634
+#: executor/execMain.c:1053 rewrite/rewriteHandler.c:2651
 #, c-format
 msgid ""
 "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
@@ -9807,12 +10285,12 @@ msgstr ""
 "启用向视图插入操作, 要提供INSTEAD OF INSERT触发器或者提供一个无条件的 ON "
 "INSERT DO INSTEAD 规则."
 
-#: executor/execMain.c:1057 rewrite/rewriteHandler.c:2639
+#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2656
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "无法更新视图\"%s\""
 
-#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2642
+#: executor/execMain.c:1061 rewrite/rewriteHandler.c:2659
 #, c-format
 msgid ""
 "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
@@ -9821,12 +10299,12 @@ msgstr ""
 "启用对视图的更新操作, 需要提供INSTEAD OF UPDATE触发器或者一个无条件的 ON "
 "UPDATE DO INSTEAD 规则."
 
-#: executor/execMain.c:1065 rewrite/rewriteHandler.c:2647
+#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2664
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "无法删除视图\"%s\""
 
-#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2650
+#: executor/execMain.c:1069 rewrite/rewriteHandler.c:2667
 #, c-format
 msgid ""
 "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
@@ -9836,305 +10314,298 @@ msgstr ""
 "DELETE DO INSTEAD 规则."
 
 # describe.c:933
-#: executor/execMain.c:1078
+#: executor/execMain.c:1080
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "不能改变物化视图 \"%s\""
 
-#: executor/execMain.c:1090
+#: executor/execMain.c:1092
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "不能插值到外部表 \"%s\""
 
-#: executor/execMain.c:1096
+#: executor/execMain.c:1098
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "外部表 \"%s\" 不允许插入操作"
 
-#: executor/execMain.c:1103
+#: executor/execMain.c:1105
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "无法更新外部表 \"%s\""
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1111
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "外部表 \"%s\" 不允许更新"
 
-#: executor/execMain.c:1116
+#: executor/execMain.c:1118
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "不能从外部表 \"%s\" 删除数据"
 
-#: executor/execMain.c:1122
+#: executor/execMain.c:1124
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "外部表 \"%s\" 不允许删除数据"
 
-#: executor/execMain.c:1133
+#: executor/execMain.c:1135
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "无法改变关系 \"%s\""
 
-#: executor/execMain.c:1159
+#: executor/execMain.c:1161
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "无法锁定序列\"%s\"中的行"
 
-#: executor/execMain.c:1166
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "无法锁定TOAST 关系 \"%s\"中的行"
 
-#: executor/execMain.c:1173
+#: executor/execMain.c:1175
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "无法锁定 \"%s\" 中的行"
 
-#: executor/execMain.c:1181
+#: executor/execMain.c:1183
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "无法锁定物化视图 \"%s\" 中的行"
 
-#: executor/execMain.c:1190 executor/execMain.c:2578
+#: executor/execMain.c:1192 executor/execMain.c:2603
 #: executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "无法锁定外部表 \"%s\"中的行"
 
-#: executor/execMain.c:1196
+#: executor/execMain.c:1198
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "无法锁定关系 \"%s\"中的行"
 
-#: executor/execMain.c:1696
+#: executor/execMain.c:1721
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "在字段 \"%s\" 中空值违反了非空约束"
 
-#: executor/execMain.c:1698 executor/execMain.c:1724 executor/execMain.c:1813
+#: executor/execMain.c:1723 executor/execMain.c:1749 executor/execMain.c:1838
 #, c-format
 msgid "Failing row contains %s."
 msgstr "失败, 行包含%s."
 
-#: executor/execMain.c:1722
+#: executor/execMain.c:1747
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "关系 \"%s\" 的新列违反了检查约束 \"%s\""
 
-#: executor/execMain.c:1811
+#: executor/execMain.c:1836
 #, c-format
-#| msgid "new row violates WITH CHECK OPTION for view \"%s\""
 msgid "new row violates check option for view \"%s\""
 msgstr "新行违反了视图\"%s\"的检查选项"
 
-#: executor/execMain.c:1821
+#: executor/execMain.c:1846
 #, c-format
-#| msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "新行违背了表\"%2$s\"的行级安全性策略\"%1$s\""
 
-#: executor/execMain.c:1826
+#: executor/execMain.c:1851
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "新行违背了表\"%s\"的行级安全策略"
 
-#: executor/execMain.c:1833
+#: executor/execMain.c:1858
 #, c-format
 msgid ""
 "new row violates row-level security policy \"%s\" (USING expression) for "
 "table \"%s\""
 msgstr "新行违背了表\"%s\"的行级安全策略\"%s\"(USING expression)"
 
-#: executor/execMain.c:1838
+#: executor/execMain.c:1863
 #, c-format
 msgid ""
 "new row violates row-level security policy (USING expression) for table \"%s"
 "\""
 msgstr "新行违背了表\"%s\"的行级安全策略(USING expression)"
 
-#: executor/execQual.c:300 executor/execQual.c:328 executor/execQual.c:3191
-#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:263
-#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:1291
-#: utils/adt/arrayfuncs.c:3335 utils/adt/arrayfuncs.c:5219
-#: utils/adt/arrayfuncs.c:5742
+#: executor/execQual.c:302 executor/execQual.c:339 executor/execQual.c:3213
+#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:260
+#: utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288
+#: utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5245
+#: utils/adt/arrayfuncs.c:5768
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "数组的维数(%d)超过最大允许值(%d)"
 
-#: executor/execQual.c:313 executor/execQual.c:341
+#: executor/execQual.c:324 executor/execQual.c:360
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "在分配中的数组下标不能为空"
 
-#: executor/execQual.c:635 executor/execQual.c:4116
+#: executor/execQual.c:657 executor/execQual.c:4138
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "属性%d的类型错误"
 
-#: executor/execQual.c:636 executor/execQual.c:4117
+#: executor/execQual.c:658 executor/execQual.c:4139
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "表具有类型%s,但是查询期望类型%s."
 
-#: executor/execQual.c:829 executor/execQual.c:846 executor/execQual.c:1046
+#: executor/execQual.c:851 executor/execQual.c:868 executor/execQual.c:1068
 #: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
 #: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "表记录类型和查询指定记录不匹配"
 
-#: executor/execQual.c:830
+#: executor/execQual.c:852
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
 msgstr[0] "在表记录中包含%d个属性, 但是查询期望%d个属性"
 
-#: executor/execQual.c:847 executor/nodeModifyTable.c:106
+#: executor/execQual.c:869 executor/nodeModifyTable.c:106
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "表在位置%2$d具有类型%1$s,但是查询期望类型%3$s."
 
-#: executor/execQual.c:1047 executor/execQual.c:1643
+#: executor/execQual.c:1069 executor/execQual.c:1665
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "在顺序位置%d上已删除属性与物理存储上的不匹配."
 
-#: executor/execQual.c:1322 parser/parse_func.c:115 parser/parse_func.c:542
-#: parser/parse_func.c:894
+#: executor/execQual.c:1344 parser/parse_func.c:115 parser/parse_func.c:542
+#: parser/parse_func.c:895
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "向函数传递的参数不多于%d个"
 
-#: executor/execQual.c:1511
+#: executor/execQual.c:1533
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "函数和操作符最多带一组参数"
 
-#: executor/execQual.c:1561
+#: executor/execQual.c:1583
 #, c-format
 msgid ""
 "function returning setof record called in context that cannot accept type "
 "record"
 msgstr "调用用于返回setof记录的函数的环境不能接受使用记录类型"
 
-#: executor/execQual.c:1616 executor/execQual.c:1632 executor/execQual.c:1642
+#: executor/execQual.c:1638 executor/execQual.c:1654 executor/execQual.c:1664
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "指定查询返回记录和实际函数返回记录不匹配"
 
-#: executor/execQual.c:1617
+#: executor/execQual.c:1639
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "在所返回的记录中包含了%d个属性,但是查询期望有%d个属性"
 
-#: executor/execQual.c:1633
+#: executor/execQual.c:1655
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "在顺序位置%2$d的返回类型是%1$s, 但是查询期望使用类型%3$s."
 
-#: executor/execQual.c:1875 executor/execQual.c:2306
+#: executor/execQual.c:1897 executor/execQual.c:2328
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "没有跟随针对物化模式的表函数协议"
 
-#: executor/execQual.c:1895 executor/execQual.c:2313
+#: executor/execQual.c:1917 executor/execQual.c:2335
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "未认可的表函数返回模式 (returnMode): %d"
 
-#: executor/execQual.c:2223
+#: executor/execQual.c:2245
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "函数返回值为多列时不能返回空值"
 
-#: executor/execQual.c:2280
+#: executor/execQual.c:2302
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "函数返回的记录不完全属于相同的记录类型"
 
-#: executor/execQual.c:2495
+#: executor/execQual.c:2517
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM 不支持一组参数"
 
-#: executor/execQual.c:2572
+#: executor/execQual.c:2594
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "操作符 ANY/ALL (数组) 不支持设置参数"
 
-#: executor/execQual.c:3169
+#: executor/execQual.c:3191
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "无法合并不兼容的排列"
 
-#: executor/execQual.c:3170
+#: executor/execQual.c:3192
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
 "element type %s."
 msgstr "元素类型为 %s 的 ARRAY 结构中不能包含带有元素类型为 %s 的数组."
 
-#: executor/execQual.c:3211 executor/execQual.c:3238
+#: executor/execQual.c:3233 executor/execQual.c:3260
 #, c-format
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "多维数组必须有符合维度的数组表达式"
 
-#: executor/execQual.c:3753
+#: executor/execQual.c:3775
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF 不支持一组参数"
 
-#: executor/execQual.c:3986 utils/adt/domains.c:136
+#: executor/execQual.c:4008 utils/adt/domains.c:136
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "域 %s 不允许空值"
 
-#: executor/execQual.c:4016 utils/adt/domains.c:173
+#: executor/execQual.c:4038 utils/adt/domains.c:173
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "域 %s 的值违反了检查约束 \"%s\""
 
-#: executor/execQual.c:4371
+#: executor/execQual.c:4393
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "这种表类型不能使用WHERE CURRENT OF"
 
-#: executor/execQual.c:4518 parser/parse_agg.c:596 parser/parse_agg.c:626
-#, c-format
-msgid "aggregate function calls cannot be nested"
-msgstr "不允许嵌套调用聚合函数"
-
-#: executor/execQual.c:4580 parser/parse_agg.c:742
+#: executor/execQual.c:4590 parser/parse_agg.c:743
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "不允许嵌套调用窗口函数"
 
-#: executor/execQual.c:4792
+#: executor/execQual.c:4802
 #, c-format
 msgid "target type is not an array"
 msgstr "目标类型不是一个数组"
 
-#: executor/execQual.c:4907
+#: executor/execQual.c:4917
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW() 列类型 %s 替换为 %s"
 
-#: executor/execQual.c:5042 utils/adt/arrayfuncs.c:3777
-#: utils/adt/arrayfuncs.c:6315 utils/adt/rowtypes.c:927
+#: executor/execQual.c:5052 utils/adt/arrayfuncs.c:3803
+#: utils/adt/arrayfuncs.c:6341 utils/adt/rowtypes.c:927
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "无法为类型 %s 确认一个比对函数"
 
-#: executor/execUtils.c:831
+#: executor/execUtils.c:819
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "物化视图 \"%s\"未被初始化"
 
-#: executor/execUtils.c:833
+#: executor/execUtils.c:821
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "使用命令 REFRESH MATERIALIZED VIEW."
@@ -10145,87 +10616,98 @@ msgid "could not determine actual type of argument declared %s"
 msgstr "无法确定声明为 %s 的参数的实际类型"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:506
+#: executor/functions.c:508
 #, c-format
 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:1368 executor/spi.c:2158
+#: executor/functions.c:515 executor/spi.c:1368 executor/spi.c:2158
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s 在一个 non-valatile 函数中是不允许的"
 
-#: executor/functions.c:641
+#: executor/functions.c:643
 #, c-format
 msgid ""
 "could not determine actual result type for function declared to return type "
 "%s"
 msgstr "无法确定实际结果类型为函数声明返回类型 %s"
 
-#: executor/functions.c:1405
+#: executor/functions.c:1408
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL 函数 \"%s\" 语句 %d"
 
-#: executor/functions.c:1431
+#: executor/functions.c:1434
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL 函数 \"%s\" 在启动的时候"
 
-#: executor/functions.c:1590 executor/functions.c:1627
-#: executor/functions.c:1639 executor/functions.c:1752
-#: executor/functions.c:1785 executor/functions.c:1815
+#: executor/functions.c:1593 executor/functions.c:1630
+#: executor/functions.c:1642 executor/functions.c:1755
+#: executor/functions.c:1788 executor/functions.c:1818
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "函数返回类型和声明类型 %s 不匹配"
 
-#: executor/functions.c:1592
+#: executor/functions.c:1595
 #, c-format
 msgid ""
 "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "函数的最后语句必须是 SELECT 或 INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1629
+#: executor/functions.c:1632
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "最终的语句必须返回一列."
 
-#: executor/functions.c:1641
+#: executor/functions.c:1644
 #, c-format
 msgid "Actual return type is %s."
 msgstr "实际返回类型是 %s."
 
-#: executor/functions.c:1754
+#: executor/functions.c:1757
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "最终的语句的返回列太多."
 
-#: executor/functions.c:1787
+#: executor/functions.c:1790
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "最终语句在第 %3$d 列返回 %1$s 而不是 %2$s"
 
-#: executor/functions.c:1817
+#: executor/functions.c:1820
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "最终的语句返回的列太少."
 
-#: executor/functions.c:1866
+#: executor/functions.c:1869
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "SQL 函数不支持返回类型 %s"
 
-#: executor/nodeAgg.c:2450 executor/nodeWindowAgg.c:2286
+#: executor/nodeAgg.c:3011
+#, c-format
+#| msgid "final function with extra arguments must not be declared STRICT"
+msgid "combine function for aggregate %u must to be declared as strict"
+msgstr "聚集 %u 的组合函数必须被声明为严格"
+
+#: executor/nodeAgg.c:3055 executor/nodeWindowAgg.c:2289
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "聚集 %u 需要有兼容的输入类型和转换类型"
 
-#: executor/nodeCustom.c:147 executor/nodeCustom.c:158
+#: executor/nodeAgg.c:3127 parser/parse_agg.c:597 parser/parse_agg.c:627
+#, c-format
+msgid "aggregate function calls cannot be nested"
+msgstr "不允许嵌套调用聚合函数"
+
+#: executor/nodeCustom.c:148 executor/nodeCustom.c:159
 #, c-format
-#| msgid "extension \"%s\" does not support SET SCHEMA"
-msgid "custom-scan \"%s\" does not support MarkPos"
-msgstr "自定义扫描\"%s\"不支持MarkPos"
+#| msgid "custom-scan \"%s\" does not support MarkPos"
+msgid "custom scan \"%s\" does not support MarkPos"
+msgstr "自定义扫描 \"%s\" 不支持 MarkPos"
 
 #: executor/nodeHashjoin.c:823 executor/nodeHashjoin.c:853
 #, c-format
@@ -10244,7 +10726,6 @@ msgstr "无法从散列联接 (hash-join) 临时文件读取: %m"
 
 #: executor/nodeIndexonlyscan.c:179
 #, c-format
-#| msgid "window functions are not allowed in index predicates"
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "在只用索引扫描中不支持有损距离函数"
 
@@ -10283,12 +10764,12 @@ msgstr "在顺序位置%d上查询为已删除的列提供了一个值"
 msgid "Query has too few columns."
 msgstr "查询中的列太少了"
 
-#: executor/nodeModifyTable.c:1080
+#: executor/nodeModifyTable.c:1117
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "ON CONFLICT DO UPDATE命令无法再次影响行"
 
-#: executor/nodeModifyTable.c:1081
+#: executor/nodeModifyTable.c:1118
 #, c-format
 msgid ""
 "Ensure that no rows proposed for insertion within the same command have "
@@ -10297,7 +10778,6 @@ msgstr "确保在具有重复受约束值的同一个命令中不会插入行。
 
 #: executor/nodeSamplescan.c:307
 #, c-format
-#| msgid "argument %d cannot be null"
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "TABLESAMPLE参数不能为空值"
 
@@ -10373,57 +10853,57 @@ msgstr "不支持DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE "
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "可滚动游标必须为只读."
 
-#: executor/spi.c:2450
+#: executor/spi.c:2459
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL 语句 \"%s\""
 
-#: foreign/foreign.c:192
+#: foreign/foreign.c:314
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "没有找到对于\"%s\"的用户映射"
 
-#: foreign/foreign.c:643
+#: foreign/foreign.c:750
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "无效选项 \"%s\""
 
-#: foreign/foreign.c:644
+#: foreign/foreign.c:751
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "这个环境中有效选项是:%s"
 
-#: gram.y:1009
+#: gram.y:1004
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "无法识别的角色选项\"%s\""
 
-#: gram.y:1285 gram.y:1300
+#: gram.y:1280 gram.y:1295
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS不能包含方案(schema)元素"
 
-#: gram.y:1445
+#: gram.y:1440
 #, c-format
 msgid "current database cannot be changed"
 msgstr "不能改变当前使用的数据库"
 
-#: gram.y:1569
+#: gram.y:1564
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "时区间隔必须为 HOUR 或者 HOUR TO MINUTE"
 
-#: gram.y:2584 gram.y:2613
+#: gram.y:2602 gram.y:2631
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT 不允许与PROGRAM一起使用"
 
-#: gram.y:2879 gram.y:2886 gram.y:10153 gram.y:10161
+#: gram.y:2897 gram.y:2904 gram.y:10275 gram.y:10283
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "GLOBAL在临时表中的创建中已经被废弃使用"
 
-#: gram.y:3325 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373
+#: gram.y:3345 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373
 #: utils/adt/ri_triggers.c:792 utils/adt/ri_triggers.c:1015
 #: utils/adt/ri_triggers.c:1171 utils/adt/ri_triggers.c:1352
 #: utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693
@@ -10434,253 +10914,247 @@ msgstr "GLOBAL在临时表中的创建中已经被废弃使用"
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL 仍未实现"
 
-#: gram.y:4759
+#: gram.y:4800
 msgid "duplicate trigger events specified"
 msgstr "重复指定触发器事件"
 
-#: gram.y:4852 parser/parse_utilcmd.c:2657 parser/parse_utilcmd.c:2683
+#: gram.y:4893 parser/parse_utilcmd.c:2741 parser/parse_utilcmd.c:2767
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "约束声明 INITIALLY DEFERRED 必须为 DEFERRABLE"
 
-#: gram.y:4859
+#: gram.y:4900
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "约束属性冲突"
 
-#: gram.y:4991
+#: gram.y:5032
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION 仍未实现"
 
-#: gram.y:5007
+#: gram.y:5048
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION 仍未实现"
 
-#: gram.y:5353
+#: gram.y:5394
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "不再需要RECHECK选项了"
 
 # describe.c:289
-#: gram.y:5354
+#: gram.y:5395
 #, c-format
 msgid "Update your data type."
 msgstr "更改您的数据类型"
 
-#: gram.y:6931
+#: gram.y:6973
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "聚合函数不能使用输出参数"
 
-#: gram.y:7246 utils/adt/regproc.c:774 utils/adt/regproc.c:815
+#: gram.y:7292 utils/adt/regproc.c:774 utils/adt/regproc.c:815
 #, c-format
 msgid "missing argument"
 msgstr "缺少参数"
 
-#: gram.y:7247 utils/adt/regproc.c:775 utils/adt/regproc.c:816
+#: gram.y:7293 utils/adt/regproc.c:775 utils/adt/regproc.c:816
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "使用 NONE 表示一元操作符缺少的参数."
 
-#: gram.y:8721 gram.y:8739
+#: gram.y:8843 gram.y:8861
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "递归视图不能使用WITH CHECK OPTION"
 
-#: gram.y:9745 parser/parse_expr.c:1468
+#: gram.y:9867 parser/parse_expr.c:1468
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "列的数量与值的数量不匹配"
 
-#: gram.y:10261
+#: gram.y:10383
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "不支持 LIMIT #,# 语法"
 
-#: gram.y:10262
+#: gram.y:10384
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "LIMIT和OFFSET子句要分隔开"
 
-#: gram.y:10525 gram.y:10550
+#: gram.y:10647 gram.y:10672
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "FROM中的VALUES子句必须有一个别名"
 
-#: gram.y:10526 gram.y:10551
+#: gram.y:10648 gram.y:10673
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "例如, FROM (SELECT ...) [AS] foo."
 
-#: gram.y:10531 gram.y:10556
+#: gram.y:10653 gram.y:10678
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "FROM 中的子查询必须有一个别名"
 
-#: gram.y:10532 gram.y:10557
+#: gram.y:10654 gram.y:10679
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "例如, FROM (SELECT ...) [AS] foo."
 
-#: gram.y:11131
+#: gram.y:11253
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "浮点类型的精确度必须至少 1 位"
 
-#: gram.y:11140
+#: gram.y:11262
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "浮点类型的精确度必须小于 54 位"
 
-#: gram.y:11644
+#: gram.y:11766
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "OVERLAPS 表达式左边的参数个数不对"
 
-#: gram.y:11649
+#: gram.y:11771
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "OVERLAPS 表达式右边的参数个数不对"
 
-#: gram.y:11826
+#: gram.y:11948
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "没有实现UNIQUE谓词"
 
-#: gram.y:12158
+#: gram.y:12280
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "WITHIN GROUP不允许多个 ORDER BY 子句"
 
-#: gram.y:12163
+#: gram.y:12285
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "不能将 DISTINCT 和 WITHIN GROUP混在一起使用"
 
-#: gram.y:12168
+#: gram.y:12290
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "不能将 VARIADIC 和 WITHIN GROUP在一起混用"
 
-#: gram.y:12674
+#: gram.y:12796
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "UNBOUNDED不支持RANGE PRECEDING"
 
-#: gram.y:12680
+#: gram.y:12802
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "UNBOUNDED不支持RANGE FOLLOWING"
 
-#: gram.y:12707 gram.y:12730
+#: gram.y:12829 gram.y:12852
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "框架的起始位置不能被执行UNBOUNDED FOLLOWING操作."
 
-#: gram.y:12712
+#: gram.y:12834
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "从后面记录启动的窗口框架(frame)不能以当前记录结束"
 
-#: gram.y:12735
+#: gram.y:12857
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "框架的结束位置不能被执行UNBOUNDED FOLLOWING操作."
 
-#: gram.y:12741
+#: gram.y:12863
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "从当前记录启动的窗口框架(frame)不能拥有正在处理的记录"
 
-#: gram.y:12748
+#: gram.y:12870
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "从后面记录启动的窗口框架(frame)不能拥有正在处理的记录"
 
-#: gram.y:13406
+#: gram.y:13535
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "类型修改器不能有参数名称"
 
-#: gram.y:13412
+#: gram.y:13541
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "类型修改器不能有ORDER BY"
 
-#: gram.y:13470 gram.y:13505
-#, c-format
-msgid "role name \"%s\" is reserved"
-msgstr "角色名称 \"%s\" 被保留了"
-
-#: gram.y:13476 gram.y:13482
+#: gram.y:13605 gram.y:13611
 #, c-format
-#| msgid "%s cannot be applied to a join"
 msgid "%s cannot be used as a role name here"
 msgstr "在这里%s不能被用做一个角色名"
 
-#: gram.y:14101 gram.y:14290
+#: gram.y:14233 gram.y:14422
 msgid "improper use of \"*\""
 msgstr "对\"*\"的使用不正确"
 
-#: gram.y:14253 gram.y:14270 tsearch/spell.c:518 tsearch/spell.c:535
-#: tsearch/spell.c:552 tsearch/spell.c:569 tsearch/spell.c:591
+#: gram.y:14385 gram.y:14402 tsearch/spell.c:954 tsearch/spell.c:971
+#: tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
 #, c-format
 msgid "syntax error"
 msgstr "语法错误"
 
-#: gram.y:14354
+#: gram.y:14486
 #, c-format
 msgid ""
 "an ordered-set aggregate with a VARIADIC direct argument must have one "
 "VARIADIC aggregated argument of the same data type"
 msgstr "带可变直接参数的有序集聚集函数必须有一个 相同类型的VARIADIC 聚集参数 "
 
-#: gram.y:14391
+#: gram.y:14523
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "不允许多个 ORDER BY 子句"
 
-#: gram.y:14402
+#: gram.y:14534
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "不允许多个 OFFSET 子句"
 
-#: gram.y:14411
+#: gram.y:14543
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "不允许多个 LIMIT 子句"
 
-#: gram.y:14420
+#: gram.y:14552
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "不允许使用多个WITH子句"
 
-#: gram.y:14600
+#: gram.y:14732
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "在TABLE函数中不允许使用OUT或INOUT模式的参数"
 
-#: gram.y:14701
+#: gram.y:14833
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "不允许多个 COLLATE 子句"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14739 gram.y:14752
+#: gram.y:14871 gram.y:14884
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "%s约束不能标为DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14765
+#: gram.y:14897
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "%s约束不能标为NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14778
+#: gram.y:14910
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s约束不能标为NO INHERIT"
@@ -10690,9 +11164,9 @@ msgstr "%s约束不能标为NO INHERIT"
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "未认可的配置参数 \"%s\", 文件\"%s\", 行%u"
 
-#: guc-file.l:352 utils/misc/guc.c:5720 utils/misc/guc.c:5912
-#: utils/misc/guc.c:6002 utils/misc/guc.c:6092 utils/misc/guc.c:6200
-#: utils/misc/guc.c:6295
+#: guc-file.l:352 utils/misc/guc.c:5893 utils/misc/guc.c:6085
+#: utils/misc/guc.c:6175 utils/misc/guc.c:6265 utils/misc/guc.c:6373
+#: utils/misc/guc.c:6468
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "在没有启动服务器的情况下,不能改变参数 \"%s\" "
@@ -10729,7 +11203,7 @@ msgid ""
 "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "无法打开配置文件 \"%s\": 已超过最大的嵌套深度"
 
-#: guc-file.l:595 libpq/hba.c:1764
+#: guc-file.l:595 libpq/hba.c:1808
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "无法打开配置文件 \"%s\": %m"
@@ -10764,96 +11238,102 @@ msgstr "无法打开配置文件目录 \"%s\": %m"
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr "无法为包含%d字节的字符串缓冲区扩大%d个更多字节."
 
-#: libpq/auth.c:235
+#: libpq/auth.c:251
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "用户 \"%s\" 认证失败: 主机拒绝"
 
-#: libpq/auth.c:238
+#: libpq/auth.c:254
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "用户 \"%s\" \"trust\" 认证失败"
 
-#: libpq/auth.c:241
+#: libpq/auth.c:257
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "用户 \"%s\" Ident 认证失败"
 
-#: libpq/auth.c:244
+#: libpq/auth.c:260
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "对用户\"%s\"的对等认证失败"
 
-#: libpq/auth.c:248
+#: libpq/auth.c:264
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "用户 \"%s\" Password 认证失败"
 
-#: libpq/auth.c:253
+#: libpq/auth.c:269
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "对于用户\"%s\"的GSSAPI 认证失败"
 
-#: libpq/auth.c:256
+#: libpq/auth.c:272
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "对于用户 \"%s\" 的 SSPI 认证失败"
 
-#: libpq/auth.c:259
+#: libpq/auth.c:275
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "用户 \"%s\" 认证 PAM 失败"
 
-#: libpq/auth.c:262
+#: libpq/auth.c:278
+#, c-format
+#| msgid "SSPI authentication failed for user \"%s\""
+msgid "BSD authentication failed for user \"%s\""
+msgstr "对于用户 \"%s\" 的 BSD 认证失败"
+
+#: libpq/auth.c:281
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "对于用户 \"%s\"的LDAP认证失败"
 
-#: libpq/auth.c:265
+#: libpq/auth.c:284
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "用户 \"%s\" 的认证失败"
 
-#: libpq/auth.c:268
+#: libpq/auth.c:287
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "用户 \"%s\" 的RADIUS认证失败"
 
-#: libpq/auth.c:271
+#: libpq/auth.c:290
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "用户 \"%s\" 认证失败: 无效的认证方式"
 
-#: libpq/auth.c:275
+#: libpq/auth.c:294
 #, c-format
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "与Connection相匹配的文件行位于 pg_hba.conf %d: \"%s\""
 
-#: libpq/auth.c:330
+#: libpq/auth.c:349
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "连接中需要一个有效的客户端认证"
 
-#: libpq/auth.c:372
+#: libpq/auth.c:391
 #, c-format
 msgid ""
 "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf中的记录拒绝来自主机\"%s\",用户 \"%s\",%s的复制连接"
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL off"
 msgstr "SSL 关闭"
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL on"
 msgstr "SSL 开启"
 
-#: libpq/auth.c:378
+#: libpq/auth.c:397
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\"的复制连接"
 
-#: libpq/auth.c:387
+#: libpq/auth.c:406
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s"
@@ -10861,401 +11341,426 @@ msgid ""
 msgstr ""
 "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\", %s的复制连接"
 
-#: libpq/auth.c:394
+#: libpq/auth.c:413
 #, c-format
 msgid ""
 "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
 msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\"的复制连接"
 
-#: libpq/auth.c:423
+#: libpq/auth.c:442
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果相匹配."
 
-#: libpq/auth.c:426
+#: libpq/auth.c:445
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr "客户端IP地址解析为 \"%s\", 转发查找结果没有检查."
 
-#: libpq/auth.c:429
+#: libpq/auth.c:448
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果不匹配."
 
 # fe-misc.c:702
-#: libpq/auth.c:432
+#: libpq/auth.c:451
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr "无法解析主机名 \"%s\" 对应的IP地址: %s."
 
 # fe-connect.c:1283
-#: libpq/auth.c:437
+#: libpq/auth.c:456
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "无法解析客户端地址主机名: %s."
 
-#: libpq/auth.c:446
+#: libpq/auth.c:465
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s"
 "\", %s"
 msgstr "没有来自主机 \"%s\", 用户\"%s\", %s的复制连接的pg_hba.conf记录"
 
-#: libpq/auth.c:453
+#: libpq/auth.c:472
 #, c-format
 msgid ""
 "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
 msgstr "没有来自主机 \"%s\", 用户\"%s\"的复制连接的pg_hba.conf记录"
 
-#: libpq/auth.c:463
+#: libpq/auth.c:482
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\", %s 的 pg_hba.conf 记录"
 
-#: libpq/auth.c:471
+#: libpq/auth.c:490
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr "没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\" 的 pg_hba.conf 记录"
 
-#: libpq/auth.c:514 libpq/hba.c:1180
+#: libpq/auth.c:533 libpq/hba.c:1180
 #, c-format
 msgid ""
 "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
 msgstr "当启用 \"db_user_namespace\" 时不支持 MD5 认证"
 
-#: libpq/auth.c:640
+#: libpq/auth.c:667
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "期望得到口令回应,但是得到了消息类型%d."
 
-#: libpq/auth.c:668
+#: libpq/auth.c:695
 #, c-format
 msgid "invalid password packet size"
 msgstr "无效的口令包尺寸"
 
-#: libpq/auth.c:798
+#: libpq/auth.c:825
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "在协议版本2中不支持使用GSSAPI"
 
-#: libpq/auth.c:858
+#: libpq/auth.c:885
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "期望GSS回应,但是得到了信息类型%d"
 
-#: libpq/auth.c:919
+#: libpq/auth.c:946
 msgid "accepting GSS security context failed"
 msgstr "接收GSS安全环境失败"
 
-#: libpq/auth.c:945
+#: libpq/auth.c:972
 msgid "retrieving GSS user name failed"
 msgstr "获取GSS用户名失败"
 
-#: libpq/auth.c:1062
+#: libpq/auth.c:1091
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "在协议版本2中不支持使用SSPI"
 
-#: libpq/auth.c:1077
+#: libpq/auth.c:1106
 msgid "could not acquire SSPI credentials"
 msgstr "无法获得SSPI证书"
 
-#: libpq/auth.c:1095
+#: libpq/auth.c:1124
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "期望SSPI回应,但是得到了消息类型%d"
 
-#: libpq/auth.c:1167
+#: libpq/auth.c:1196
 msgid "could not accept SSPI security context"
 msgstr "无法访问SSPI安全环境"
 
-#: libpq/auth.c:1229
+#: libpq/auth.c:1258
 msgid "could not get token from SSPI security context"
 msgstr "无法从SSPI安全环境中获取令牌(token)"
 
-#: libpq/auth.c:1474
+#: libpq/auth.c:1377 libpq/auth.c:1396
+#, c-format
+#| msgid "could not parse file name \"%s\""
+msgid "could not translate name"
+msgstr "不能翻译名称"
+
+#: libpq/auth.c:1409
+#, c-format
+#| msgid "channel name too long"
+msgid "realm name too long"
+msgstr "realm 名称太长"
+
+#: libpq/auth.c:1424
+#, c-format
+#| msgid "encoding name too long"
+msgid "translated account name too long"
+msgstr "翻译的账户名太长"
+
+#: libpq/auth.c:1610
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "无法为 Ident 联接创建套接字: %m"
 
-#: libpq/auth.c:1489
+#: libpq/auth.c:1625
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "无法绑定到本地地址 \"%s\": %m"
 
-#: libpq/auth.c:1501
+#: libpq/auth.c:1637
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "无法联接到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
 
-#: libpq/auth.c:1523
+#: libpq/auth.c:1659
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "无法发送查询到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
 
-#: libpq/auth.c:1540
+#: libpq/auth.c:1676
 #, c-format
 msgid ""
 "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "无法从地址为 \"%s\", 端口为 %s 的 Ident 服务器接收应答: %m"
 
-#: libpq/auth.c:1550
+#: libpq/auth.c:1686
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "从 Ident 服务器接收的无效格式应答: \"%s\""
 
 # fe-auth.c:640
-#: libpq/auth.c:1590
+#: libpq/auth.c:1726
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "对等认证在这个平台上不支持"
 
-#: libpq/auth.c:1594
+#: libpq/auth.c:1730
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "无法获得同等 (peer) 证书: %m"
 
-#: libpq/auth.c:1603
+#: libpq/auth.c:1739
 #, c-format
-#| msgid "could not to look up local user ID %ld: %s"
 msgid "could not look up local user ID %ld: %s"
 msgstr "无法查找本地用户ID %ld:%s"
 
-#: libpq/auth.c:1687 libpq/auth.c:1958 libpq/auth.c:2314
+#: libpq/auth.c:1823 libpq/auth.c:2149 libpq/auth.c:2509
 #, c-format
 msgid "empty password returned by client"
 msgstr "客户端返回了空口令"
 
-#: libpq/auth.c:1697
+#: libpq/auth.c:1833
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "来自 PAM 层下面的错误: %s"
 
-#: libpq/auth.c:1766
+#: libpq/auth.c:1914
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "无法创建 PAM 类型器: %s"
 
-#: libpq/auth.c:1777
+#: libpq/auth.c:1925
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) 失败: %s"
 
-#: libpq/auth.c:1788
+#: libpq/auth.c:1936
+#, c-format
+#| msgid "pam_set_item(PAM_USER) failed: %s"
+msgid "pam_set_item(PAM_RHOST) failed: %s"
+msgstr "pam_set_item(PAM_RHOST) 失败: %s"
+
+#: libpq/auth.c:1947
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) 失败: %s"
 
-#: libpq/auth.c:1799
+#: libpq/auth.c:1958
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate 失败: %s"
 
-#: libpq/auth.c:1810
+#: libpq/auth.c:1969
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt 失败: %s"
 
-#: libpq/auth.c:1821
+#: libpq/auth.c:1980
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "无法释放 PAM 类型器: %s"
 
-#: libpq/auth.c:1854
+#: libpq/auth.c:2045
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "无法初始化LDAP: %m"
 
-#: libpq/auth.c:1857
+#: libpq/auth.c:2048
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "无法初始化LDAP: 错误代码%d"
 
-#: libpq/auth.c:1867
+#: libpq/auth.c:2058
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "无法设置LDAP协议版本: %s"
 
-#: libpq/auth.c:1896
+#: libpq/auth.c:2087
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "无法加载wldap32.dll"
 
-#: libpq/auth.c:1904
+#: libpq/auth.c:2095
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "无法加载在wldap32.dll中的函数_ldap_start_tls_sA"
 
-#: libpq/auth.c:1905
+#: libpq/auth.c:2096
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "在此平台上不支持在SSL连接上的LDAP"
 
-#: libpq/auth.c:1920
+#: libpq/auth.c:2111
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "无法启动LDAP TLS会话: %s"
 
-#: libpq/auth.c:1942
+#: libpq/auth.c:2133
 #, c-format
 msgid "LDAP server not specified"
 msgstr "没有指定LDAP服务器"
 
-#: libpq/auth.c:1995
+#: libpq/auth.c:2186
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "在需要进行LDAP认证的用户名中出现无效字符"
 
-#: libpq/auth.c:2010
+#: libpq/auth.c:2201
 #, c-format
 msgid ""
 "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
 "%s"
 msgstr "无法在服务器\"%2$s\"上为ldapbinddn\"%1$s\"执行初始化LDAP绑定: %3$s"
 
-#: libpq/auth.c:2034
+#: libpq/auth.c:2225
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "无法在服务器\"%2$s\"上为过滤器\"%1$s\"进行的搜索LDAP:%3$s"
 
-#: libpq/auth.c:2045
+#: libpq/auth.c:2236
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP用户\"%s\" 不存在"
 
-#: libpq/auth.c:2046
+#: libpq/auth.c:2237
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "在服务器\"%2$s\"上为过滤器\"%1$s\"进行的LDAP搜索无结果."
 
-#: libpq/auth.c:2050
+#: libpq/auth.c:2241
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP用户\"%s\" 不是唯一的"
 
-#: libpq/auth.c:2051
+#: libpq/auth.c:2242
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural ""
 "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "在服务器\"%2$s\"上为过滤器\"%1$s\"进行的LDAP搜索返回%3$d条结果."
 
-#: libpq/auth.c:2069
+#: libpq/auth.c:2260
 #, c-format
 msgid ""
 "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "无法为在服务器\"%2$s\"上第一个与\"%1$s\"匹配的项获取dn: %3$s"
 
-#: libpq/auth.c:2089
+#: libpq/auth.c:2280
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr "在服务器 \"%2$s\"上搜索用户\"%1$s\"后无法解除绑定:%3$s"
 
-#: libpq/auth.c:2119
+#: libpq/auth.c:2310
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "用户 \"%s\" 在服务器 \"%s\" 进行LDAP登录失败:%s"
 
-#: libpq/auth.c:2147
+#: libpq/auth.c:2338
 #, c-format
 msgid ""
 "certificate authentication failed for user \"%s\": client certificate "
 "contains no user name"
 msgstr "用户\"%s\"的认证鉴权失败: 客户端认证没有包含用户名"
 
-#: libpq/auth.c:2270
+#: libpq/auth.c:2465
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "没有指定RADIUS服务器"
 
-#: libpq/auth.c:2277
+#: libpq/auth.c:2472
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "没有指定RADIUS机密(secret) "
 
-#: libpq/auth.c:2293 libpq/hba.c:1590
+#: libpq/auth.c:2488 libpq/hba.c:1634
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "无法将RADIUS服务器名称 \"%s\" 翻译为相应地址:%s"
 
-#: libpq/auth.c:2321
+#: libpq/auth.c:2516
 #, c-format
+#| msgid ""
+#| "RADIUS authentication does not support passwords longer than 16 characters"
 msgid ""
-"RADIUS authentication does not support passwords longer than 16 characters"
-msgstr "RADIUS认证不支持长度超过16个字符的口令"
+"RADIUS authentication does not support passwords longer than %d characters"
+msgstr "RADIUS 认证不支持长度超过 %d 个字符的口令"
 
-#: libpq/auth.c:2332
+#: libpq/auth.c:2528
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "无法产生随机加密向量"
 
-#: libpq/auth.c:2355
+#: libpq/auth.c:2563
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "无法执行口令的MD5加密"
 
-#: libpq/auth.c:2377
+#: libpq/auth.c:2588
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "无法创建RADIUS套接字: %m"
 
-#: libpq/auth.c:2398
+#: libpq/auth.c:2609
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "无法绑定本地RADIUS套接字: %m"
 
-#: libpq/auth.c:2408
+#: libpq/auth.c:2619
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "无法发送RADIUS包: %m"
 
-#: libpq/auth.c:2441 libpq/auth.c:2466
+#: libpq/auth.c:2652 libpq/auth.c:2677
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "在等待RADIUS回应包时超时"
 
-#: libpq/auth.c:2459
+#: libpq/auth.c:2670
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "无法在RADIUS套接字上检查状态: %m"
 
-#: libpq/auth.c:2488
+#: libpq/auth.c:2699
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "无法读取RADIUS回应包: %m"
 
-#: libpq/auth.c:2500 libpq/auth.c:2504
+#: libpq/auth.c:2711 libpq/auth.c:2715
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "RADIUS回应数据包是从不正确的端口中发出的: %d"
 
-#: libpq/auth.c:2513
+#: libpq/auth.c:2724
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "RADIUS回应包的长度太短:%d"
 
-#: libpq/auth.c:2520
+#: libpq/auth.c:2731
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "RADIUS回应包的长度不正确:%d(实际长度是%d)"
 
-#: libpq/auth.c:2528
+#: libpq/auth.c:2739
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "RADIUS回应包发送到了一个不同的请求上:%d (应该是%d)"
 
-#: libpq/auth.c:2553
+#: libpq/auth.c:2764
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "无法执行所接收数据包的MD5加密"
 
-#: libpq/auth.c:2562
+#: libpq/auth.c:2773
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "RADIUS回应包带有不正确的MD5签名"
 
-#: libpq/auth.c:2579
+#: libpq/auth.c:2790
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "对于用户\"%2$s\"来说RADIUS回应包带有无效编码(%1$d) "
@@ -11353,122 +11858,165 @@ msgstr "无法装载服务器认证文件 \"%s\": %s"
 msgid "could not access private key file \"%s\": %m"
 msgstr "无法处理私钥文件 \"%s\": %m"
 
-#: libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:212
+#, c-format
+#| msgid "%s: file \"%s\" is not a regular file\n"
+msgid "private key file \"%s\" is not a regular file"
+msgstr "私钥文件 \"%s\" 不是一个常规文件"
+
+#: libpq/be-secure-openssl.c:224
+#, c-format
+msgid "private key file \"%s\" must be owned by the database user or root"
+msgstr "私钥文件 \"%s\" 必须由数据库用户或者 root 所拥有"
+
+#: libpq/be-secure-openssl.c:244
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "私钥文件\"%s\"具有由所在组或全局范围访问的权限"
 
-#: libpq/be-secure-openssl.c:223
+#: libpq/be-secure-openssl.c:246
 #, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "权限应该为u=rw (0600)或者更少"
+msgid ""
+"File must have permissions u=rw (0600) or less if owned by the database "
+"user, or permissions u=rw,g=r (0640) or less if owned by root."
+msgstr ""
+"如果文件被数据库用户所拥有,它必须具有权限 u=rw (0600) 或者更低;如果被 root "
+"所拥有,它必须具有权限 u=rw,g=r (0640) 或者更低。"
 
-#: libpq/be-secure-openssl.c:230
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "无法装载私钥文件 \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:235
+#: libpq/be-secure-openssl.c:258
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "检查私钥失败: %s"
 
-#: libpq/be-secure-openssl.c:264
+#: libpq/be-secure-openssl.c:287
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "无法装载根 (root) 认证文件 \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:288
+#: libpq/be-secure-openssl.c:311
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "忽略SSL认证撤销列表文件 \"%s\""
 
-#: libpq/be-secure-openssl.c:290
+#: libpq/be-secure-openssl.c:313
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "SSL库不支持认证撤销列表"
 
-#: libpq/be-secure-openssl.c:295
+#: libpq/be-secure-openssl.c:318
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "无法装载根 (root)证书取消列表文件 \"%s\": %s"
 
-#: libpq/be-secure-openssl.c:341
+#: libpq/be-secure-openssl.c:365
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "无法初始化 SSL 联接: %s"
 
-#: libpq/be-secure-openssl.c:349
+#: libpq/be-secure-openssl.c:373
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "无法创建 SSL 套接字: %s"
 
-#: libpq/be-secure-openssl.c:383
+#: libpq/be-secure-openssl.c:427
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "无法访问 SSL 联接: %m"
 
-#: libpq/be-secure-openssl.c:387 libpq/be-secure-openssl.c:398
+#: libpq/be-secure-openssl.c:431 libpq/be-secure-openssl.c:442
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "无法访问 SSL 联接: 发现 EOF"
 
-#: libpq/be-secure-openssl.c:392
+#: libpq/be-secure-openssl.c:436
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "无法访问 SSL 联接: %s"
 
-#: libpq/be-secure-openssl.c:403 libpq/be-secure-openssl.c:541
-#: libpq/be-secure-openssl.c:598
+#: libpq/be-secure-openssl.c:447 libpq/be-secure-openssl.c:588
+#: libpq/be-secure-openssl.c:648
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "未知的 SSL 错误码: %d"
 
-#: libpq/be-secure-openssl.c:447
+#: libpq/be-secure-openssl.c:491
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "在SSL认证的普通名称中包含嵌入的空值"
 
-#: libpq/be-secure-openssl.c:458
+#: libpq/be-secure-openssl.c:502
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "来自 \"%s\" 的 SSL 联接"
 
-#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589
+#: libpq/be-secure-openssl.c:579 libpq/be-secure-openssl.c:639
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL 错误: %s"
 
-#: libpq/be-secure-openssl.c:937
+#: libpq/be-secure-openssl.c:988
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: 无法识别的曲线名: %s"
 
 # fe-connect.c:891
-#: libpq/be-secure-openssl.c:942
+#: libpq/be-secure-openssl.c:993
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: 无法创建键"
 
-#: libpq/be-secure-openssl.c:966
+#: libpq/be-secure-openssl.c:1017
 msgid "no SSL error reported"
 msgstr "没有报告SSL错误"
 
-#: libpq/be-secure-openssl.c:970
+#: libpq/be-secure-openssl.c:1021
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL错误代码 %lu"
 
-#: libpq/crypt.c:60
+#: libpq/be-secure.c:171 libpq/be-secure.c:256
+#, c-format
+#| msgid "terminating connection due to administrator command"
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "由于意外的 postmaster 退出而终止连接"
+
+#: libpq/crypt.c:54
+#, c-format
+#| msgid "role \"%s\" does not exist"
+msgid "Role \"%s\" does not exist."
+msgstr "角色 \"%s\" 不存在。"
+
+#: libpq/crypt.c:64
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "用户 \"%s\" 没有分配密码."
 
-#: libpq/crypt.c:150
+#: libpq/crypt.c:79
+#, c-format
+#| msgid "User \"%s\" has an expired password."
+msgid "User \"%s\" has an empty password."
+msgstr "用户 \"%s\" 的密码为空。"
+
+#: libpq/crypt.c:159
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "User \"%s\" 密码过期."
 
+# command.c:915
+# command.c:939
+# startup.c:187
+# startup.c:205
+#: libpq/crypt.c:167
+#, c-format
+#| msgid "Password for user %s: "
+msgid "Password does not match for user \"%s\"."
+msgstr "用户 \"%s\" 的口令不匹配。"
+
 #: libpq/hba.c:188
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
@@ -11489,11 +12037,11 @@ msgstr "认证文件文本行太长"
 #: libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966
 #: libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062
 #: libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119
-#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1213
-#: libpq/hba.c:1224 libpq/hba.c:1244 libpq/hba.c:1255 libpq/hba.c:1272
-#: libpq/hba.c:1310 libpq/hba.c:1347 libpq/hba.c:1357 libpq/hba.c:1413
-#: libpq/hba.c:1425 libpq/hba.c:1438 libpq/hba.c:1521 libpq/hba.c:1592
-#: libpq/hba.c:1610 libpq/hba.c:1631 tsearch/ts_locale.c:182
+#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1219
+#: libpq/hba.c:1230 libpq/hba.c:1250 libpq/hba.c:1261 libpq/hba.c:1278
+#: libpq/hba.c:1327 libpq/hba.c:1364 libpq/hba.c:1374 libpq/hba.c:1430
+#: libpq/hba.c:1442 libpq/hba.c:1455 libpq/hba.c:1547 libpq/hba.c:1636
+#: libpq/hba.c:1654 libpq/hba.c:1675 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "配置文件\"%2$s\"的第%1$d行"
@@ -11645,38 +12193,38 @@ msgstr "认证类型指定了多个值"
 msgid "Specify exactly one authentication type per line."
 msgstr "每行精确指定一个认证类型."
 
-#: libpq/hba.c:1211
+#: libpq/hba.c:1217
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "无效认证方法\"%s\""
 
 # fe-auth.c:640
-#: libpq/hba.c:1222
+#: libpq/hba.c:1228
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr "这个版本的编译安装不支持无效的认证方法\"%s\""
 
-#: libpq/hba.c:1243
+#: libpq/hba.c:1249
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "在本地套接字上不支持gssapi认证"
 
-#: libpq/hba.c:1254
+#: libpq/hba.c:1260
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "对等认证只支持在本地套接字的情形下使用"
 
-#: libpq/hba.c:1271
+#: libpq/hba.c:1277
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "只有在hostssl连接上才支持cert认证"
 
-#: libpq/hba.c:1309
+#: libpq/hba.c:1326
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "认证选项的格式不是名称=值:%s"
 
-#: libpq/hba.c:1346
+#: libpq/hba.c:1363
 #, c-format
 msgid ""
 "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or "
@@ -11686,7 +12234,7 @@ msgstr ""
 "ldapsearchattribute或ldapurl"
 
 # fe-auth.c:640
-#: libpq/hba.c:1356
+#: libpq/hba.c:1373
 #, c-format
 msgid ""
 "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix"
@@ -11695,169 +12243,173 @@ msgstr ""
 "在认证方法\"ldap\"中需要设置参数 \"ldapbasedn\", \"ldapprefix\"或\"ldapsuffix"
 "\""
 
-#: libpq/hba.c:1399
+#: libpq/hba.c:1416
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspiå’Œcert"
 
-#: libpq/hba.c:1412
+#: libpq/hba.c:1429
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "只能为\"hostssl\" 记录配置clientcert "
 
-#: libpq/hba.c:1423
+#: libpq/hba.c:1440
 #, c-format
 msgid ""
 "client certificates can only be checked if a root certificate store is "
 "available"
 msgstr "只有在根认证有效的情况下才能检查客户端认证"
 
-#: libpq/hba.c:1437
+#: libpq/hba.c:1454
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "当使用\"cert\"认证时clientcert不能设置为0"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: libpq/hba.c:1464
+#: libpq/hba.c:1490
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "无法解析LDAP URL \"%s\": %s"
 
-#: libpq/hba.c:1472
+#: libpq/hba.c:1498
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "不支持的LDAP URL模式: %s"
 
-#: libpq/hba.c:1488
+#: libpq/hba.c:1514
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "LDAP的URL不支持过滤器"
 
-#: libpq/hba.c:1496
+#: libpq/hba.c:1522
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "LDAP URL不能用于此平台"
 
-#: libpq/hba.c:1520
+#: libpq/hba.c:1546
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "无效LDAP端口号: \"%s\""
 
-#: libpq/hba.c:1560 libpq/hba.c:1567
+#: libpq/hba.c:1586 libpq/hba.c:1593
 msgid "gssapi and sspi"
 msgstr "gssapi, å’Œsspi"
 
-#: libpq/hba.c:1609
+#: libpq/hba.c:1602 libpq/hba.c:1611
+msgid "sspi"
+msgstr "sspi"
+
+#: libpq/hba.c:1653
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "无效RADIUS端口号: \"%s\""
 
-#: libpq/hba.c:1629
+#: libpq/hba.c:1673
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "未知认证选项名称:\"%s\""
 
-#: libpq/hba.c:1814
+#: libpq/hba.c:1859
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "配置文件 \"%s\" 没有配置项"
 
-#: libpq/hba.c:1910
+#: libpq/hba.c:1955
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "无效的正则表达式\"%s\": %s"
 
-#: libpq/hba.c:1970
+#: libpq/hba.c:2015
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "正则表达式匹配\"%s\"失败:%s"
 
-#: libpq/hba.c:1989
+#: libpq/hba.c:2034
 #, c-format
 msgid ""
 "regular expression \"%s\" has no subexpressions as requested by "
 "backreference in \"%s\""
 msgstr "正则表达式\"%s\"没有在\"%s\"中的后项引用所要求的子表达式."
 
-#: libpq/hba.c:2086
+#: libpq/hba.c:2131
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr "所提供的用户名(%s)和被认证的用户名(%s) 不匹配"
 
-#: libpq/hba.c:2106
+#: libpq/hba.c:2151
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr "对于以\"%3$s\"身份认证为的用户\"%2$s\",在用户映射\"%1$s\"中没有匹配"
 
-#: libpq/hba.c:2141
+#: libpq/hba.c:2186
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "无法打开用户映射文件\"%s\": %m"
 
-#: libpq/pqcomm.c:201
+#: libpq/pqcomm.c:202
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "无法将套接字设为非阻塞模式: %m"
 
-#: libpq/pqcomm.c:348
+#: libpq/pqcomm.c:354
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "Unix域的套接字路径 \"%s\" 超长(最大为%d字节)"
 
-#: libpq/pqcomm.c:369
+#: libpq/pqcomm.c:375
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "无法解析主机名 \"%s\", 服务 \"%s\" 到地址: %s"
 
-#: libpq/pqcomm.c:373
+#: libpq/pqcomm.c:379
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "无法解析服务 \"%s\" 到地址: %s"
 
-#: libpq/pqcomm.c:400
+#: libpq/pqcomm.c:406
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "无法绑定所有需要的地址:超过最大数量MAXLISTEN (%d)"
 
-#: libpq/pqcomm.c:409
+#: libpq/pqcomm.c:415
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:413
+#: libpq/pqcomm.c:419
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:418
+#: libpq/pqcomm.c:424
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:423
+#: libpq/pqcomm.c:429
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "不认可的地址族 %d"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:434
+#: libpq/pqcomm.c:440
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "无法创建 %s 套接字: %m"
 
-#: libpq/pqcomm.c:459
+#: libpq/pqcomm.c:465
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "setsockopt(SO_REUSEADDR) 失败: %m"
 
-#: libpq/pqcomm.c:474
+#: libpq/pqcomm.c:480
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "setsockopt(IPV6_V6ONLY) 失败: %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:493
+#: libpq/pqcomm.c:499
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "无法绑定 %s 套接字: %m"
 
-#: libpq/pqcomm.c:496
+#: libpq/pqcomm.c:502
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, remove socket file "
@@ -11866,7 +12418,7 @@ msgstr ""
 "是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 删除套接字文件 \"%s"
 "\" 然后再重试."
 
-#: libpq/pqcomm.c:499
+#: libpq/pqcomm.c:505
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, wait a few seconds "
@@ -11876,64 +12428,62 @@ msgstr ""
 "重试."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:532
+#: libpq/pqcomm.c:538
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "无法在 %s 套接字上监听: %m"
 
-#: libpq/pqcomm.c:617
+#: libpq/pqcomm.c:623
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "组 \"%s\" 不存在"
 
-#: libpq/pqcomm.c:627
+#: libpq/pqcomm.c:633
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "无法设置文件 \"%s\" 的组: %m"
 
-#: libpq/pqcomm.c:638
+#: libpq/pqcomm.c:644
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "无法设置文件 \"%s\" 的权限: %m"
 
-#: libpq/pqcomm.c:668
+#: libpq/pqcomm.c:674
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "无法访问新联接: %m"
 
-#: libpq/pqcomm.c:847
+#: libpq/pqcomm.c:885
 #, c-format
-#| msgid "unexpected EOF on client connection"
 msgid "there is no client connection"
 msgstr "没有客户端连接"
 
-#: libpq/pqcomm.c:898 libpq/pqcomm.c:994
+#: libpq/pqcomm.c:936 libpq/pqcomm.c:1032
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "无法从客户端获得数据: %m"
 
-#: libpq/pqcomm.c:1139 tcop/postgres.c:3902
+#: libpq/pqcomm.c:1177 tcop/postgres.c:3906
 #, c-format
-#| msgid "terminating connection because of crash of another server process"
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "由于协议同步丢失而中断连接"
 
-#: libpq/pqcomm.c:1205
+#: libpq/pqcomm.c:1243
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "在信息长度字里有意外的 EOF"
 
-#: libpq/pqcomm.c:1216
+#: libpq/pqcomm.c:1254
 #, c-format
 msgid "invalid message length"
 msgstr "无效的信息长度"
 
-#: libpq/pqcomm.c:1238 libpq/pqcomm.c:1251
+#: libpq/pqcomm.c:1276 libpq/pqcomm.c:1289
 #, c-format
 msgid "incomplete message from client"
 msgstr "从客户端过来的不完整信息"
 
-#: libpq/pqcomm.c:1384
+#: libpq/pqcomm.c:1422
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "无法发送数据给客户端: %m"
@@ -11944,7 +12494,7 @@ msgid "no data left in message"
 msgstr "信息中已经没有数据了"
 
 #: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:563
+#: utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
 #, c-format
 msgid "insufficient data left in message"
 msgstr "信息中剩下的数据不够"
@@ -11959,12 +12509,12 @@ msgstr "信息中的无效字串"
 msgid "invalid message format"
 msgstr "无效的信息格式"
 
-#: main/main.c:259
+#: main/main.c:264
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup 失败: %d\n"
 
-#: main/main.c:306
+#: main/main.c:327
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -11973,7 +12523,7 @@ msgstr ""
 "%s 是 PostgreSQL 服务器.\n"
 "\n"
 
-#: main/main.c:307
+#: main/main.c:328
 #, c-format
 msgid ""
 "Usage:\n"
@@ -11984,114 +12534,114 @@ msgstr ""
 "  %s [选项]...\n"
 "\n"
 
-#: main/main.c:308
+#: main/main.c:329
 #, c-format
 msgid "Options:\n"
 msgstr "选项:\n"
 
-#: main/main.c:309
+#: main/main.c:330
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B NBUFFERS        共享缓冲区的数量\n"
 
-#: main/main.c:310
+#: main/main.c:331
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NAME=VALUE      设置运行时参数\n"
 
-#: main/main.c:311
+#: main/main.c:332
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NAME            打印运行时参数, 然后退出\n"
 
-#: main/main.c:312
+#: main/main.c:333
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             调试级别\n"
 
-#: main/main.c:313
+#: main/main.c:334
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D DATADIR         数据库目录\n"
 
-#: main/main.c:314
+#: main/main.c:335
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 使用欧洲日期输入格式 (DMY)\n"
 
-#: main/main.c:315
+#: main/main.c:336
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                关闭 fsync\n"
 
-#: main/main.c:316
+#: main/main.c:337
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h HOSTNAME        侦听的主机名或者 IP 地址\n"
 
-#: main/main.c:317
+#: main/main.c:338
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 打开 TCP/IP 连接\n"
 
-#: main/main.c:318
+#: main/main.c:339
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k DIRECTORY       Unix 域套接字的目录位置\n"
 
-#: main/main.c:320
+#: main/main.c:341
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                  开启 SSL 连接\n"
 
-#: main/main.c:322
+#: main/main.c:343
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N MAX-CONNECT     允许建立的最大连接数目\n"
 
-#: main/main.c:323
+#: main/main.c:344
 #, c-format
 msgid ""
 "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr ""
 "  -o OPTIONS          把 \"OPTIONS\" 传递给每一个后端服务器进程(已作废)\n"
 
-#: main/main.c:324
+#: main/main.c:345
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            监听的端口号\n"
 
-#: main/main.c:325
+#: main/main.c:346
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 每个查询后显示统计信息\n"
 
-#: main/main.c:326
+#: main/main.c:347
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S WORK-MEM        设置排序内存数量 (单位为 kB)\n"
 
-#: main/main.c:327
+#: main/main.c:348
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      输出版本信息,然后退出\n"
 
-#: main/main.c:328
+#: main/main.c:349
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NAME=VALUE       设置运行时参数\n"
 
-#: main/main.c:329
+#: main/main.c:350
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  描述配置参数, 然后退出\n"
 
-#: main/main.c:330
+#: main/main.c:351
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         显示帮助信息,然后退出\n"
 
-#: main/main.c:332
+#: main/main.c:353
 #, c-format
 msgid ""
 "\n"
@@ -12100,45 +12650,45 @@ msgstr ""
 "\n"
 "开发人员选项:\n"
 
-#: main/main.c:333
+#: main/main.c:354
 #, 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:334
+#: main/main.c:355
 #, c-format
 msgid ""
 "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n                 在异常退出之后不再重新初始化共享内存\n"
 
-#: main/main.c:335
+#: main/main.c:356
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                  允许改变系统表结构\n"
 
-#: main/main.c:336
+#: main/main.c:357
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 关闭系统索引\n"
 
-#: main/main.c:337
+#: main/main.c:358
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        每个查询后显示计时\n"
 
-#: main/main.c:338
+#: main/main.c:359
 #, c-format
 msgid ""
 "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr ""
 "  -T                 如果一个后端进程退出, 那么向所有后端进程发送 SIGSTOP\n"
 
-#: main/main.c:339
+#: main/main.c:360
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W NUM            等待 NUM 秒, 以便允许调试器加入调试\n"
 
-#: main/main.c:341
+#: main/main.c:362
 #, c-format
 msgid ""
 "\n"
@@ -12148,40 +12698,40 @@ msgstr ""
 "单用户模式的选项:\n"
 
 # help.c:109
-#: main/main.c:342
+#: main/main.c:363
 #, c-format
 msgid ""
 "  --single           selects single-user mode (must be first argument)\n"
 msgstr "  --single           选择单用户模式(必须是第一个参数)\n"
 
 # help.c:136
-#: main/main.c:343
+#: main/main.c:364
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME             数据库名称(对用户名缺省)\n"
 
-#: main/main.c:344
+#: main/main.c:365
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             覆盖调试级别\n"
 
-#: main/main.c:345
+#: main/main.c:366
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 执行前显示语句\n"
 
-#: main/main.c:346
+#: main/main.c:367
 #, c-format
 msgid ""
 "  -j                 do not use newline as interactive query delimiter\n"
 msgstr "  -j                 不使用新行作为交互查询的分隔符\n"
 
-#: main/main.c:347 main/main.c:352
+#: main/main.c:368 main/main.c:373
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r FILENAME        把标准输出和标准错误发送到指定的文件中\n"
 
-#: main/main.c:349
+#: main/main.c:370
 #, c-format
 msgid ""
 "\n"
@@ -12190,25 +12740,25 @@ msgstr ""
 "\n"
 "引导模式的选项:\n"
 
-#: main/main.c:350
+#: main/main.c:371
 #, c-format
 msgid ""
 "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr "  --boot             选择引导模式(必须是第一个参数)\n"
 
-#: main/main.c:351
+#: main/main.c:372
 #, c-format
 msgid ""
 "  DBNAME             database name (mandatory argument in bootstrapping "
 "mode)\n"
 msgstr "  DBNAME             数据库名称(在引导模式中是必选参数)\n"
 
-#: main/main.c:353
+#: main/main.c:374
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x NUM             内部使用\n"
 
-#: main/main.c:355
+#: main/main.c:376
 #, c-format
 msgid ""
 "\n"
@@ -12224,7 +12774,7 @@ msgstr ""
 "\n"
 "请向 <pgsql-bugs@postgresql.org> 报告臭虫.\n"
 
-#: main/main.c:369
+#: main/main.c:390
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -12237,12 +12787,12 @@ msgstr ""
 "可能的系统安全性问题. 参阅文档获取更多\n"
 "有关如何正确启动服务器的信息.\n"
 
-#: main/main.c:386
+#: main/main.c:407
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: 真实和有效用户标识必须相互匹配\n"
 
-#: main/main.c:393
+#: main/main.c:414
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -12256,35 +12806,44 @@ msgstr ""
 "可能的系统安全性问题. 参阅文档获取更多\n"
 "有关如何正确启动服务器的信息.\n"
 
-#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:1782
-#: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
+#: nodes/extensible.c:66
+#, c-format
+#| msgid "extension \"%s\" already exists"
+msgid "extensible node type \"%s\" already exists"
+msgstr "可扩展节点类型 \"%s\" 已存在"
+
+#: nodes/extensible.c:114
+#, c-format
+#| msgid "extension \"%s\" does not exist"
+msgid "ExtensibleNodeMethods \"%s\" was not registered"
+msgstr "ExtensibleNodeMethods \"%s\" 没有注册"
+
+#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1820
+#: parser/parse_coerce.c:1848 parser/parse_coerce.c:1924
 #: parser/parse_expr.c:1981 parser/parse_func.c:597 parser/parse_oper.c:952
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "无法为数据类型 %s 找到数组类型"
 
-#: optimizer/path/allpaths.c:2272
+#: optimizer/path/allpaths.c:2608
 #, c-format
-#| msgid "WHERE CURRENT OF is not supported for this table type"
 msgid "WHERE CURRENT OF is not supported on a view with no underlying relation"
 msgstr "在一个没有基础关系的视图上不支持WHERE CURRENT OF"
 
-#: optimizer/path/allpaths.c:2277
+#: optimizer/path/allpaths.c:2613
 #, c-format
-#| msgid "WHERE CURRENT OF is not supported for this table type"
 msgid ""
 "WHERE CURRENT OF is not supported on a view with more than one underlying "
 "relation"
 msgstr "在一个有多于一个基础关系的视图上不支持WHERE CURRENT OF"
 
-#: optimizer/path/allpaths.c:2282
+#: optimizer/path/allpaths.c:2618
 #, c-format
-#| msgid "WHERE CURRENT OF is not supported for this table type"
 msgid ""
 "WHERE CURRENT OF is not supported on a view with grouping or aggregation"
 msgstr "在一个带有分组或者聚集的视图上不支持WHERE CURRENT OF"
 
-#: optimizer/path/joinrels.c:740
+#: optimizer/path/joinrels.c:802
 #, c-format
 msgid ""
 "FULL JOIN is only supported with merge-joinable or hash-joinable join "
@@ -12292,108 +12851,104 @@ msgid ""
 msgstr "只有在合并连接或哈希连接的查询条件中才支持FULL JOIN"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1083
+#: optimizer/plan/initsplan.c:1124
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s 不能用于外连接中的空值一边"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1324 parser/analyze.c:1481 parser/analyze.c:1679
+#: optimizer/plan/planner.c:1473 parser/analyze.c:1481 parser/analyze.c:1679
 #: parser/analyze.c:2460
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s不允许使用UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:3580
+#: optimizer/plan/planner.c:3752
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "无法实现GROUP BY语句"
 
-#: optimizer/plan/planner.c:3581 optimizer/plan/planner.c:3749
-#: optimizer/prep/prepunion.c:828
+#: optimizer/plan/planner.c:3753 optimizer/plan/planner.c:4095
+#: optimizer/prep/prepunion.c:927
 #, c-format
 msgid ""
 "Some of the datatypes only support hashing, while others only support "
 "sorting."
 msgstr "一些数据类型只支持哈希,同时另外一些数据类型只支持排序."
 
-#: optimizer/plan/planner.c:3748
+#: optimizer/plan/planner.c:4094
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "无法实现DISTINCT语句"
 
-#: optimizer/plan/planner.c:4354
+#: optimizer/plan/planner.c:4633
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "无法实现与窗口函数一同使用PARTITION BY子句"
 
-#: optimizer/plan/planner.c:4355
+#: optimizer/plan/planner.c:4634
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "窗口分区列必须属于可排序的数据类型"
 
-#: optimizer/plan/planner.c:4359
+#: optimizer/plan/planner.c:4638
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "无法实现与窗口函数一同使用ORDER BY 语句"
 
-#: optimizer/plan/planner.c:4360
+#: optimizer/plan/planner.c:4639
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "窗口的排序列必须属于可排序的数据类型"
 
-#: optimizer/plan/setrefs.c:411
+#: optimizer/plan/setrefs.c:423
 #, c-format
 msgid "too many range table entries"
 msgstr "太多范围表"
 
-#: optimizer/prep/prepunion.c:421
+#: optimizer/prep/prepunion.c:480
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "无法实现递归UNION操作"
 
-#: optimizer/prep/prepunion.c:422
+#: optimizer/prep/prepunion.c:481
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "所有列的数据类型必须可进行哈希计算."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:827
+#: optimizer/prep/prepunion.c:926
 #, c-format
 msgid "could not implement %s"
 msgstr "无法实现%s"
 
-#: optimizer/util/clauses.c:4597
+#: optimizer/util/clauses.c:4965
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "SQL 函数 \"%s\" 在内联 (inlining) 期间"
 
-#: optimizer/util/plancat.c:108
+#: optimizer/util/plancat.c:114
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "无法在恢复过程中访问临时关系或非事务日志关系"
 
-#: optimizer/util/plancat.c:498
+#: optimizer/util/plancat.c:591
 #, c-format
 msgid "system columns cannot be used in an ON CONFLICT clause"
 msgstr "在ON CONFLICT子句中不能使用系统列"
 
-#: optimizer/util/plancat.c:516
+#: optimizer/util/plancat.c:609
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "ON CONFLICT子句中的约束没有相关的索引"
 
-#: optimizer/util/plancat.c:568
+#: optimizer/util/plancat.c:661
 #, c-format
-#| msgid "access method \"%s\" does not support exclusion constraints"
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE不支持和排除约束一起使用"
 
-#: optimizer/util/plancat.c:675
+#: optimizer/util/plancat.c:768
 #, c-format
-#| msgid ""
-#| "there is no unique constraint matching given keys for referenced table "
-#| "\"%s\""
 msgid ""
 "there is no unique or exclusion constraint matching the ON CONFLICT "
 "specification"
@@ -12602,415 +13157,388 @@ msgstr "%s 不能用于WITH查询"
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "子句%2$s中的关系 \"%1$s\" 在FROM子句中无法找到"
 
-#: parser/parse_agg.c:207 parser/parse_oper.c:220
+#: parser/parse_agg.c:208 parser/parse_oper.c:220
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "无法为类型%s识别顺序操作符"
 
-#: parser/parse_agg.c:209
+#: parser/parse_agg.c:210
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "带有DISTINCT关键字的聚合函数必须能够对它们的输入进行排序"
 
-#: parser/parse_agg.c:244
+#: parser/parse_agg.c:245
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "GROUPING的参数不能超过32个"
 
-#: parser/parse_agg.c:347
+#: parser/parse_agg.c:348
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "聚合函数不允许出现在 JOIN 条件中"
 
-#: parser/parse_agg.c:349
-#| msgid "window functions are not allowed in JOIN conditions"
+#: parser/parse_agg.c:350
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "JOIN条件中不允许分组操作"
 
-#: parser/parse_agg.c:361
+#: parser/parse_agg.c:362
 msgid ""
 "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr "聚合函数不允许出现在它们自己查询级别的FROM子句中"
 
-#: parser/parse_agg.c:363
-#| msgid ""
-#| "aggregate functions are not allowed in FROM clause of their own query "
-#| "level"
+#: parser/parse_agg.c:364
 msgid ""
 "grouping operations are not allowed in FROM clause of their own query level"
 msgstr "分组操作不允许出现在它们所在查询级别的FROM子句中"
 
-#: parser/parse_agg.c:368
+#: parser/parse_agg.c:369
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "聚合函数不允许出现在FROM子句中的函数里"
 
-#: parser/parse_agg.c:370
-#| msgid "window functions are not allowed in functions in FROM"
+#: parser/parse_agg.c:371
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "分组操作不允许出现在FROM中的函数内"
 
-#: parser/parse_agg.c:378
-#| msgid "aggregate functions are not allowed in index expressions"
+#: parser/parse_agg.c:379
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "策略表达式中不允许聚集函数"
 
-#: parser/parse_agg.c:380
-#| msgid "window functions are not allowed in index expressions"
+#: parser/parse_agg.c:381
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "策略表达式中不允许分组操作"
 
-#: parser/parse_agg.c:397
+#: parser/parse_agg.c:398
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "在聚合函数不允许出现在窗口范围子句里"
 
-#: parser/parse_agg.c:399
-#| msgid "aggregate functions are not allowed in window RANGE"
+#: parser/parse_agg.c:400
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "窗口RANGE中不允许分组操作"
 
-#: parser/parse_agg.c:404
+#: parser/parse_agg.c:405
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "聚合函数不允许出现在窗口ROWS子句里"
 
-#: parser/parse_agg.c:406
-#| msgid "aggregate functions are not allowed in window ROWS"
+#: parser/parse_agg.c:407
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "窗口ROWS中不允许分组操作"
 
-#: parser/parse_agg.c:439
+#: parser/parse_agg.c:440
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "聚合函数不允许出现在check约束中"
 
-#: parser/parse_agg.c:441
-#| msgid "window functions are not allowed in check constraints"
+#: parser/parse_agg.c:442
 msgid "grouping operations are not allowed in check constraints"
 msgstr "检查约束中不允许分组操作"
 
-#: parser/parse_agg.c:448
+#: parser/parse_agg.c:449
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "聚合函数不允许出现在DEFAULT表达式中"
 
-#: parser/parse_agg.c:450
-#| msgid "window functions are not allowed in DEFAULT expressions"
+#: parser/parse_agg.c:451
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "DEFAULT表达式中不允许分组操作"
 
-#: parser/parse_agg.c:455
+#: parser/parse_agg.c:456
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "聚合函数不允许出现在索引表达式中"
 
-#: parser/parse_agg.c:457
-#| msgid "window functions are not allowed in index expressions"
+#: parser/parse_agg.c:458
 msgid "grouping operations are not allowed in index expressions"
 msgstr "索引表达式中不允许分组操作"
 
-#: parser/parse_agg.c:462
+#: parser/parse_agg.c:463
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "聚合函数不允许出现在索引判定子句当中"
 
-#: parser/parse_agg.c:464
-#| msgid "window functions are not allowed in index predicates"
+#: parser/parse_agg.c:465
 msgid "grouping operations are not allowed in index predicates"
 msgstr "索引谓词中不允许分组操作"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:470
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "聚合函数不允许出现在转换表达式中"
 
-#: parser/parse_agg.c:471
-#| msgid "window functions are not allowed in transform expressions"
+#: parser/parse_agg.c:472
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "转换表达式中不允许分组操作"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:477
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "聚合函数不允许出现在EXECUTE参数中"
 
-#: parser/parse_agg.c:478
-#| msgid "window functions are not allowed in EXECUTE parameters"
+#: parser/parse_agg.c:479
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "EXECUTE参数中不允许分组操作"
 
-#: parser/parse_agg.c:483
+#: parser/parse_agg.c:484
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "聚合函数不允许出现在触发器WHEN条件中"
 
-#: parser/parse_agg.c:485
-#| msgid "window functions are not allowed in trigger WHEN conditions"
+#: parser/parse_agg.c:486
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "触发器WHEN条件中不允许分组操作"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:508 parser/parse_clause.c:1548
+#: parser/parse_agg.c:509 parser/parse_clause.c:1550
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "聚合函数不允许出现在%s中"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:512
 #, c-format
-#| msgid "window functions are not allowed in %s"
 msgid "grouping operations are not allowed in %s"
 msgstr "%s中不允许分组操作"
 
-#: parser/parse_agg.c:619
+#: parser/parse_agg.c:620
 #, c-format
 msgid ""
 "outer-level aggregate cannot contain a lower-level variable in its direct "
 "arguments"
 msgstr "outer-level 聚集函数在其直接参数里不能包含更低级别的变量"
 
-#: parser/parse_agg.c:690
+#: parser/parse_agg.c:691
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "对于聚合函数调用不能包含窗口函数的调用"
 
-#: parser/parse_agg.c:768
+#: parser/parse_agg.c:769
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "窗口函数不允许出现在JOIN条件中"
 
-#: parser/parse_agg.c:775
+#: parser/parse_agg.c:776
 msgid "window functions are not allowed in functions in FROM"
 msgstr "窗口函数不允许出现在FROM的函数中"
 
-#: parser/parse_agg.c:781
-#| msgid "window functions are not allowed in index expressions"
+#: parser/parse_agg.c:782
 msgid "window functions are not allowed in policy expressions"
 msgstr "策略表达式中不允许窗口函数"
 
-#: parser/parse_agg.c:793
+#: parser/parse_agg.c:794
 msgid "window functions are not allowed in window definitions"
 msgstr "窗口函数不允许出现在窗口定义中"
 
-#: parser/parse_agg.c:824
+#: parser/parse_agg.c:825
 msgid "window functions are not allowed in check constraints"
 msgstr "窗口函数不允许出现在check约束中"
 
-#: parser/parse_agg.c:828
+#: parser/parse_agg.c:829
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "窗口函数不允许出现在DEFAULT表达式中"
 
-#: parser/parse_agg.c:831
+#: parser/parse_agg.c:832
 msgid "window functions are not allowed in index expressions"
 msgstr "在窗口函数不允许出现在索引表达式中"
 
-#: parser/parse_agg.c:834
+#: parser/parse_agg.c:835
 msgid "window functions are not allowed in index predicates"
 msgstr "在窗口函数不允许出现在索引判定子句中"
 
-#: parser/parse_agg.c:837
+#: parser/parse_agg.c:838
 msgid "window functions are not allowed in transform expressions"
 msgstr "窗口函数不允许出现在转换表达式中"
 
-#: parser/parse_agg.c:840
+#: parser/parse_agg.c:841
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "窗口函数不允许出现在EXECUTE参数中"
 
-#: parser/parse_agg.c:843
+#: parser/parse_agg.c:844
 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:863 parser/parse_clause.c:1557
+#: parser/parse_agg.c:864 parser/parse_clause.c:1559
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "窗口函数不允许出现在%s中"
 
-#: parser/parse_agg.c:897 parser/parse_clause.c:2394
+#: parser/parse_agg.c:898 parser/parse_clause.c:2396
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "窗口\"%s\"不存在"
 
-#: parser/parse_agg.c:982
+#: parser/parse_agg.c:983
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "出现过多分组集合(最大4096个)"
 
-#: parser/parse_agg.c:1131
+#: parser/parse_agg.c:1132
 #, c-format
 msgid ""
 "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "聚合函数不允许出现在递归查询的递归项中"
 
-#: parser/parse_agg.c:1324
+#: parser/parse_agg.c:1325
 #, c-format
 msgid ""
 "column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
 "aggregate function"
 msgstr "字段 \"%s.%s\" 必须出现在 GROUP BY 子句中或者在聚合函数中使用"
 
-#: parser/parse_agg.c:1327
+#: parser/parse_agg.c:1328
 #, c-format
 msgid ""
 "Direct arguments of an ordered-set aggregate must use only grouped columns."
 msgstr "有序聚集函数的直接参数必须使用分组列."
 
-#: parser/parse_agg.c:1332
+#: parser/parse_agg.c:1333
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "子查询使用了外层查询中的非分组列 \"%s.%s\" "
 
-#: parser/parse_agg.c:1496
+#: parser/parse_agg.c:1497
 #, c-format
 msgid ""
 "arguments to GROUPING must be grouping expressions of the associated query "
 "level"
 msgstr "GROUPING的参数必须是相关查询层次的分组表达式"
 
-#: parser/parse_clause.c:647
+#: parser/parse_clause.c:649
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr "多列定义列表不允许了现在相同的函数中"
 
-#: parser/parse_clause.c:680
+#: parser/parse_clause.c:682
 #, c-format
 msgid ""
 "ROWS FROM() with multiple functions cannot have a column definition list"
 msgstr "带多函数的ROWS FROM() 不能带有列定义列表"
 
-#: parser/parse_clause.c:681
+#: parser/parse_clause.c:683
 #, c-format
 msgid ""
 "Put a separate column definition list for each function inside ROWS FROM()."
 msgstr "在ROWS FROM()里为每个函数放置独立的列定义列表."
 
-#: parser/parse_clause.c:687
+#: parser/parse_clause.c:689
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr "带多个参数的UNNEST()  不能带有列定义列表"
 
-#: parser/parse_clause.c:688
+#: parser/parse_clause.c:690
 #, c-format
 msgid ""
 "Use separate UNNEST() calls inside ROWS FROM(), and attach a column "
 "definition list to each one."
 msgstr "在ROWS FROM()里使用独立的UNNEST()调用, 并为每个调用附上一个列定义列表."
 
-#: parser/parse_clause.c:695
+#: parser/parse_clause.c:697
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr "WITH ORDINALITY 不能使用列定义列表"
 
-#: parser/parse_clause.c:696
+#: parser/parse_clause.c:698
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "在 ROWS FROM()时旋转列定义列表."
 
-#: parser/parse_clause.c:751
+#: parser/parse_clause.c:753
 #, c-format
-#| msgid "access method \"%s\" does not exist"
 msgid "tablesample method %s does not exist"
 msgstr "表采样方法\"%s\"不存在"
 
-#: parser/parse_clause.c:759
-#, c-format
-#| msgid "function %s must return type \"fdw_handler\""
-msgid "function %s must return type \"tsm_handler\""
-msgstr "函数%s必须返回\"tsm_handler\"类型"
-
 # fe-auth.c:640
-#: parser/parse_clause.c:773
+#: parser/parse_clause.c:775
 #, c-format
-#| msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
 msgstr[0] "表采样方法%s要求%d个参数,而不是%d个"
 
-#: parser/parse_clause.c:807
+#: parser/parse_clause.c:809
 #, c-format
-#| msgid "access method \"%s\" does not support ASC/DESC options"
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "表采样方法%s不支持REPEATABLE"
 
-#: parser/parse_clause.c:938
+#: parser/parse_clause.c:940
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr "TABLESAMPLE子句只能被应用于表和物化视图"
 
-#: parser/parse_clause.c:1108
+#: parser/parse_clause.c:1110
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "在 USING 子句中字段名 \"%s\" 出现多次"
 
-#: parser/parse_clause.c:1123
+#: parser/parse_clause.c:1125
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "共同的字段名 \"%s\" 在左边的表中出现了多次"
 
-#: parser/parse_clause.c:1132
+#: parser/parse_clause.c:1134
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "USING 子句中指定的字段 \"%s\" 在左边的表中不存在"
 
-#: parser/parse_clause.c:1146
+#: parser/parse_clause.c:1148
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "共同的字段名 \"%s\" 在右边的表中出现了多次"
 
-#: parser/parse_clause.c:1155
+#: parser/parse_clause.c:1157
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "USING 子句中指定的字段 \"%s\" 在右边的表中不存在"
 
-#: parser/parse_clause.c:1209
+#: parser/parse_clause.c:1211
 #, 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:1518
+#: parser/parse_clause.c:1520
 #, 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:1683
+#: parser/parse_clause.c:1685
 #, 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:1712
+#: parser/parse_clause.c:1714
 #, 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:1734
+#: parser/parse_clause.c:1736
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "%s 位置%d不在select列表中."
 
-#: parser/parse_clause.c:2176
+#: parser/parse_clause.c:2178
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE被限制为12个元素"
 
-#: parser/parse_clause.c:2382
+#: parser/parse_clause.c:2384
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "已经定义窗口\"%s\""
 
-#: parser/parse_clause.c:2444
+#: parser/parse_clause.c:2446
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "无法覆盖窗口\"%s\"的PARTITION BY子句"
 
-#: parser/parse_clause.c:2456
+#: parser/parse_clause.c:2458
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "无法覆盖窗口 \"%s\"的ORDER BY子句"
 
-#: parser/parse_clause.c:2486 parser/parse_clause.c:2492
+#: parser/parse_clause.c:2488 parser/parse_clause.c:2494
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "因为已有frame子句,无法复制窗口\"%s\""
 
-#: parser/parse_clause.c:2494
+#: parser/parse_clause.c:2496
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "在这个 OVER 子句里忽略其父语句."
 
-#: parser/parse_clause.c:2560
+#: parser/parse_clause.c:2562
 #, c-format
 msgid ""
 "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
@@ -13018,181 +13546,177 @@ msgid ""
 msgstr ""
 "在带有DISTINCT子句的聚合函数中,ORDER BY子句后面的表达式必须在参数列表中出现"
 
-#: parser/parse_clause.c:2561
+#: parser/parse_clause.c:2563
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "在查询列表中必须出现SELECT DISTINCT, ORDER BY表达式"
 
-#: parser/parse_clause.c:2594
+#: parser/parse_clause.c:2596
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "带有DISTINCT关键字的聚合函数必须至少有一个参数"
 
-#: parser/parse_clause.c:2595
+#: parser/parse_clause.c:2597
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT 至少拥有一列"
 
-#: parser/parse_clause.c:2661 parser/parse_clause.c:2693
+#: parser/parse_clause.c:2663 parser/parse_clause.c:2695
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "表达式SELECT DISTINCT ON必须匹配初始化的ORDER BY表达式"
 
-#: parser/parse_clause.c:2772
+#: parser/parse_clause.c:2774
 #, c-format
-#| msgid "%s is not allowed with DISTINCT clause"
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ON CONFLICT子句中不允许ASC/DESC"
 
-#: parser/parse_clause.c:2778
+#: parser/parse_clause.c:2780
 #, c-format
-#| msgid "%s is not allowed with DISTINCT clause"
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "ON CONFLICT子句中不允许NULLS FIRST/LAST"
 
-#: parser/parse_clause.c:2858
+#: parser/parse_clause.c:2860
 #, c-format
 msgid ""
 "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr "ON CONFLICT DO UPDATE需要推理规范或者约束名称"
 
-#: parser/parse_clause.c:2859
+#: parser/parse_clause.c:2861
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "例如:ON CONFLICT (column_name)。"
 
-#: parser/parse_clause.c:2870
+#: parser/parse_clause.c:2872
 #, c-format
-#| msgid "LIKE is not supported for creating foreign tables"
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "系统目录表不支持ON CONFLICT"
 
-#: parser/parse_clause.c:2878
+#: parser/parse_clause.c:2880
 #, c-format
-#| msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr "在用作目录表的表\"%s\"上不支持ON CONFLICT"
 
-#: parser/parse_clause.c:3010
+#: parser/parse_clause.c:3012
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "操作符%s不时有效的排序操作符"
 
-#: parser/parse_clause.c:3012
+#: parser/parse_clause.c:3014
 #, c-format
 msgid ""
 "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "顺序操作符必须是btree操作符家族的成员\"<\"或\">\"."
 
-#: parser/parse_coerce.c:933 parser/parse_coerce.c:963
-#: parser/parse_coerce.c:981 parser/parse_coerce.c:996
+#: parser/parse_coerce.c:971 parser/parse_coerce.c:1001
+#: parser/parse_coerce.c:1019 parser/parse_coerce.c:1034
 #: parser/parse_expr.c:2015 parser/parse_expr.c:2528 parser/parse_target.c:874
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "无法把类型 %s 转换为 %s"
 
-#: parser/parse_coerce.c:966
+#: parser/parse_coerce.c:1004
 #, c-format
 msgid "Input has too few columns."
 msgstr "输入字段太少"
 
-#: parser/parse_coerce.c:984
+#: parser/parse_coerce.c:1022
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "不能把第 %3$d 个字段的类型 %1$s 转换为 %2$s."
 
-#: parser/parse_coerce.c:999
+#: parser/parse_coerce.c:1037
 #, c-format
 msgid "Input has too many columns."
 msgstr "输入字段太多"
 
 #. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:1042
+#: parser/parse_coerce.c:1080
 #, c-format
 msgid "argument of %s must be type boolean, not type %s"
 msgstr "%s 的参数必需是布尔类型, 而不是 %s 类型"
 
 #. translator: %s is name of a SQL construct, eg WHERE
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1052 parser/parse_coerce.c:1101
+#: parser/parse_coerce.c:1090 parser/parse_coerce.c:1139
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "%s 的参数不能返回一个组合"
 
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1089
+#: parser/parse_coerce.c:1127
 #, c-format
 msgid "argument of %s must be type %s, not type %s"
 msgstr "%s 的参数必需是类型%s, 而不是类型%s "
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1222
+#: parser/parse_coerce.c:1260
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "%s 的类型 %s 和 %s 不匹配"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1289
+#: parser/parse_coerce.c:1327
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s 无法转换类型 %s 为 %s"
 
-#: parser/parse_coerce.c:1591
+#: parser/parse_coerce.c:1629
 #, c-format
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "参数声明的 \"anyelement\" 不全相同"
 
-#: parser/parse_coerce.c:1611
+#: parser/parse_coerce.c:1649
 #, c-format
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "参数声明的 \"anyarray\" 不全相同"
 
-#: parser/parse_coerce.c:1631
+#: parser/parse_coerce.c:1669
 #, c-format
 msgid "arguments declared \"anyrange\" are not all alike"
 msgstr "声明为 \"anyarray\" 的参数不全相同"
 
-#: parser/parse_coerce.c:1660 parser/parse_coerce.c:1871
-#: parser/parse_coerce.c:1905
+#: parser/parse_coerce.c:1698 parser/parse_coerce.c:1909
+#: parser/parse_coerce.c:1943
 #, c-format
 msgid "argument declared \"anyarray\" is not an array but type %s"
 msgstr "参数声明的 \"anyarray\" 不是一个数组, 但是类型为 %s"
 
-#: parser/parse_coerce.c:1676
+#: parser/parse_coerce.c:1714
 #, c-format
 msgid ""
 "argument declared \"anyarray\" is not consistent with argument declared "
 "\"anyelement\""
 msgstr "参数声明的 \"anyarray\" 和参数声明的 \"anyelement\" 不一致"
 
-#: parser/parse_coerce.c:1697 parser/parse_coerce.c:1918
+#: parser/parse_coerce.c:1735 parser/parse_coerce.c:1956
 #, c-format
 msgid "argument declared \"anyrange\" is not a range type but type %s"
 msgstr "声明为 \"anyarray\" 的参数的类型不是范围类型, 其类型为 %s"
 
-#: parser/parse_coerce.c:1713
+#: parser/parse_coerce.c:1751
 #, c-format
 msgid ""
 "argument declared \"anyrange\" is not consistent with argument declared "
 "\"anyelement\""
 msgstr "声明为 \"anyarray\" 的参数和声明为 \"anyelement\"的参数 不一致"
 
-#: parser/parse_coerce.c:1733
+#: parser/parse_coerce.c:1771
 #, c-format
 msgid "could not determine polymorphic type because input has type \"unknown\""
 msgstr "无法确定多态类型, 因为输入类型为 \"unknown\""
 
-#: parser/parse_coerce.c:1743
+#: parser/parse_coerce.c:1781
 #, c-format
 msgid "type matched to anynonarray is an array type: %s"
 msgstr "与anynonarray匹配的类型是一个数组类型:%s"
 
-#: parser/parse_coerce.c:1753
+#: parser/parse_coerce.c:1791
 #, c-format
 msgid "type matched to anyenum is not an enum type: %s"
 msgstr "匹配anyenum的类型不是枚举类型:%s"
 
-#: parser/parse_coerce.c:1793 parser/parse_coerce.c:1823
+#: parser/parse_coerce.c:1831 parser/parse_coerce.c:1861
 #, c-format
 msgid "could not find range type for data type %s"
 msgstr "无法为数据类型 %s 找到范围类型"
@@ -13327,8 +13851,8 @@ msgstr "在递归查询中没有实现FOR UPDATE/SHARE "
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "对查询\"%s\"的递归引用不能出现多次"
 
-#: parser/parse_expr.c:387 parser/parse_relation.c:3080
-#: parser/parse_relation.c:3100
+#: parser/parse_expr.c:387 parser/parse_relation.c:3083
+#: parser/parse_relation.c:3103
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "字段 %s.%s 不存在"
@@ -13353,8 +13877,8 @@ msgstr "将列符号.%s应用到类型%s(这个类型不是组合类型)"
 msgid "row expansion via \"*\" is not supported here"
 msgstr "不支持通过\"*\"实现的记录扩展"
 
-#: parser/parse_expr.c:767 parser/parse_relation.c:666
-#: parser/parse_relation.c:766 parser/parse_target.c:1109
+#: parser/parse_expr.c:767 parser/parse_relation.c:667
+#: parser/parse_relation.c:767 parser/parse_target.c:1109
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "字段关联 \"%s\" 是不明确的"
@@ -13617,52 +14141,52 @@ msgstr "没有匹配指定名称和参数类型的函数. 您也许需要增加
 msgid "VARIADIC argument must be an array"
 msgstr "参数VARIADIC 必须是一个数组"
 
-#: parser/parse_func.c:668 parser/parse_func.c:732
+#: parser/parse_func.c:669 parser/parse_func.c:733
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*)必须用来调用没有参数的聚合函数"
 
-#: parser/parse_func.c:675
+#: parser/parse_func.c:676
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "聚合函数可以不返回集合"
 
-#: parser/parse_func.c:690
+#: parser/parse_func.c:691
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "聚合函数不能使用已命名的参数"
 
-#: parser/parse_func.c:722
+#: parser/parse_func.c:723
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "对于窗口函数,没有实现DISTINCT"
 
-#: parser/parse_func.c:742
+#: parser/parse_func.c:743
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "对于窗口函数,没有实现在按照聚合函数进行ORDER BY操作的功能"
 
-#: parser/parse_func.c:751
+#: parser/parse_func.c:752
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "FILTER在非聚合窗口函数里并未被实现"
 
-#: parser/parse_func.c:757
+#: parser/parse_func.c:758
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "窗口函数不能返回集合"
 
-#: parser/parse_func.c:2007
+#: parser/parse_func.c:2008
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "聚合函数 %s(*) 不存在"
 
-#: parser/parse_func.c:2012
+#: parser/parse_func.c:2013
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "聚合函数 %s(*) 不存在"
 
-#: parser/parse_func.c:2031
+#: parser/parse_func.c:2032
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "函数 \"%s\" 不是一个聚合函数"
@@ -13677,12 +14201,12 @@ msgstr "目标列表最多可以有 %d 个字段"
 msgid "cannot subscript type %s because it is not an array"
 msgstr "无法下标类型 %s, 因为它不是一个数组"
 
-#: parser/parse_node.c:356 parser/parse_node.c:383
+#: parser/parse_node.c:356 parser/parse_node.c:393
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "数组下标必须为整数类型"
 
-#: parser/parse_node.c:407
+#: parser/parse_node.c:424
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "数组分配要求类型%s,但是表达式属于类型%s"
@@ -13699,8 +14223,8 @@ msgid "Use an explicit ordering operator or modify the query."
 msgstr "使用显式操作符或修改查询"
 
 #: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782
-#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3613
-#: utils/adt/arrayfuncs.c:4051 utils/adt/arrayfuncs.c:6029
+#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3639
+#: utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6055
 #: utils/adt/rowtypes.c:1167
 #, c-format
 msgid "could not identify an equality operator for type %s"
@@ -13770,12 +14294,12 @@ msgstr "表关联 %u 是不明确的"
 msgid "table name \"%s\" specified more than once"
 msgstr "表名 \"%s\" 被指定多次"
 
-#: parser/parse_relation.c:424 parser/parse_relation.c:3020
+#: parser/parse_relation.c:424 parser/parse_relation.c:3023
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "对于表 \"%s\"的FROM子句项的引用无效 "
 
-#: parser/parse_relation.c:427 parser/parse_relation.c:3025
+#: parser/parse_relation.c:427 parser/parse_relation.c:3028
 #, c-format
 msgid ""
 "There is an entry for table \"%s\", but it cannot be referenced from this "
@@ -13787,83 +14311,82 @@ msgstr "这里有一个对于表\"%s\"的项,但是不能从查询的这个部
 msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
 msgstr "在LATERAL引用里,组合的JOIN必须是INNER或LEFT JOIN类型."
 
-#: parser/parse_relation.c:704
+#: parser/parse_relation.c:705
 #, c-format
 msgid "system column \"%s\" reference in check constraint is invalid"
 msgstr "check约束中的系统列\"%s\"参照是无效的"
 
-#: parser/parse_relation.c:1062 parser/parse_relation.c:1342
-#: parser/parse_relation.c:1844
+#: parser/parse_relation.c:1065 parser/parse_relation.c:1345
+#: parser/parse_relation.c:1847
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "表 \"%s\" 有 %d 个有效字段, 但指定了 %d 个字段"
 
-#: parser/parse_relation.c:1149
+#: parser/parse_relation.c:1152
 #, c-format
 msgid ""
 "There is a WITH item named \"%s\", but it cannot be referenced from this "
 "part of the query."
 msgstr "这里有一个名称为\"%s\"的WITH成员,但是不能从查询的这个部分引用它."
 
-#: parser/parse_relation.c:1151
+#: parser/parse_relation.c:1154
 #, c-format
 msgid ""
 "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr "使用WITH RECURSIVE或重新排序WITH成员来删除前向引用."
 
-#: parser/parse_relation.c:1462
+#: parser/parse_relation.c:1465
 #, c-format
 msgid ""
 "a column definition list is only allowed for functions returning \"record\""
 msgstr "一个字段定义列表只允许返回 \"record\" 的函数"
 
-#: parser/parse_relation.c:1471
+#: parser/parse_relation.c:1474
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "一个字段定义列表需要返回 \"record\" 的函数"
 
-#: parser/parse_relation.c:1550
+#: parser/parse_relation.c:1553
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "FROM 中的函数 \"%s\" 不支持返回类型 %s"
 
-#: parser/parse_relation.c:1672
+#: parser/parse_relation.c:1675
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "VALUES列表\"%s\"中有%d列有效, 但指定了%d个列."
 
-#: parser/parse_relation.c:1727
+#: parser/parse_relation.c:1730
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "连接最多可以有 %d 个字段"
 
-#: parser/parse_relation.c:1817
+#: parser/parse_relation.c:1820
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "WITH 查询 \"%s\" 没有RETURNING子句"
 
-#: parser/parse_relation.c:2649 parser/parse_relation.c:2804
+#: parser/parse_relation.c:2652 parser/parse_relation.c:2807
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "在关系\"%2$s\"中的列 %1$d 不存在"
 
-#: parser/parse_relation.c:3023
+#: parser/parse_relation.c:3026
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "可能您是要引用表的化名 \"%s\"."
 
-#: parser/parse_relation.c:3031
+#: parser/parse_relation.c:3034
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "对于表\"%s\",丢失FROM子句项"
 
-#: parser/parse_relation.c:3083
+#: parser/parse_relation.c:3086
 #, c-format
-#| msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgid "Perhaps you meant to reference the column \"%s.%s\"."
 msgstr "也许您想要引用列\"%s.%s\"。"
 
-#: parser/parse_relation.c:3085
+#: parser/parse_relation.c:3088
 #, c-format
 msgid ""
 "There is a column named \"%s\" in table \"%s\", but it cannot be referenced "
@@ -13871,9 +14394,8 @@ msgid ""
 msgstr ""
 "表\"%2$s\"中存在一列,名为\"%1$s\", 但是这个表名并不能从这部分查询里引用."
 
-#: parser/parse_relation.c:3102
+#: parser/parse_relation.c:3105
 #, c-format
-#| msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgid ""
 "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
 msgstr "也许您想要引用列\"%s.%s\"或者列\"%s.%s\"。"
@@ -13930,283 +14452,268 @@ msgstr "子字段 \"%s\" 的类型为 %s, 但表达式的类型为 %s"
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * 没有指定表是无效的"
 
-#: parser/parse_type.c:84
+#: parser/parse_type.c:83
 #, c-format
 msgid "improper %%TYPE reference (too few dotted names): %s"
 msgstr "不合适的 %%TYPE 关联 (名字中点符号太少): %s"
 
-#: parser/parse_type.c:106
+#: parser/parse_type.c:105
 #, c-format
 msgid "improper %%TYPE reference (too many dotted names): %s"
 msgstr "不合适的 %%TYPE 关联 (名字中太多点符号): %s"
 
-#: parser/parse_type.c:141
+#: parser/parse_type.c:140
 #, c-format
 msgid "type reference %s converted to %s"
 msgstr "类型关联 %s 转换为 %s"
 
-#: parser/parse_type.c:262 parser/parse_type.c:834 utils/cache/typcache.c:230
+#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:239
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "类型 \"%s\" 只是一个 shell"
 
-#: parser/parse_type.c:347
+#: parser/parse_type.c:346
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "对于类型\"%s\"不允许使用类型修改器"
 
-#: parser/parse_type.c:389
+#: parser/parse_type.c:388
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "类型修改器必须是简单的常量或标示符."
 
-#: parser/parse_type.c:700 parser/parse_type.c:799
+#: parser/parse_type.c:671 parser/parse_type.c:770
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "无效的类型名字 \"%s\""
 
-#: parser/parse_utilcmd.c:358
+#: parser/parse_utilcmd.c:399
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "未实现序号数组"
 
-#: parser/parse_utilcmd.c:406
+#: parser/parse_utilcmd.c:447
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%1$s 将为 serial 字段 \"%3$s.%4$s\" 创建隐含序列 \"%2$s\""
 
-#: parser/parse_utilcmd.c:500 parser/parse_utilcmd.c:512
+#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:553
 #, c-format
 msgid ""
 "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "表 \"%2$s\" 的字段 \"%1$s\" 声明 NULL/NOT NULL 冲突"
 
-#: parser/parse_utilcmd.c:524
+#: parser/parse_utilcmd.c:565
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "对表 \"%2$s\" 的字段 \"%1$s\" 指定了多遍默认值"
 
-#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:632
+#: parser/parse_utilcmd.c:582 parser/parse_utilcmd.c:673
 #, c-format
-#| msgid "constraints are not supported on foreign tables"
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "外部表上不支持主键约束"
 
-#: parser/parse_utilcmd.c:550 parser/parse_utilcmd.c:642
+#: parser/parse_utilcmd.c:591 parser/parse_utilcmd.c:683
 #, c-format
-#| msgid "constraints are not supported on foreign tables"
 msgid "unique constraints are not supported on foreign tables"
 msgstr "外部表上不支持唯一约束"
 
-#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:666
+#: parser/parse_utilcmd.c:608 parser/parse_utilcmd.c:707
 #, c-format
-#| msgid "constraints are not supported on foreign tables"
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "外部表上不支持外键约束"
 
-#: parser/parse_utilcmd.c:652
+#: parser/parse_utilcmd.c:693
 #, c-format
-#| msgid "constraints are not supported on foreign tables"
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "外部表上不支持排除约束"
 
-#: parser/parse_utilcmd.c:716
+#: parser/parse_utilcmd.c:757
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE不能用于创建外部表"
 
-#: parser/parse_utilcmd.c:1239 parser/parse_utilcmd.c:1315
+#: parser/parse_utilcmd.c:1288 parser/parse_utilcmd.c:1364
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "索引 \"%s\" 包含一个整行表引用."
 
-#: parser/parse_utilcmd.c:1584
+#: parser/parse_utilcmd.c:1634
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr " CREATE TABLE语句不能使用一个已存在的索引"
 
-#: parser/parse_utilcmd.c:1604
+#: parser/parse_utilcmd.c:1654
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "index \"%s\"与某个约束已经关联"
 
-#: parser/parse_utilcmd.c:1612
+#: parser/parse_utilcmd.c:1662
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "索引 \"%s\" 不属于表\"%s\""
 
-#: parser/parse_utilcmd.c:1619
+#: parser/parse_utilcmd.c:1669
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "索引 \"%s\" 无效"
 
-#: parser/parse_utilcmd.c:1625
+#: parser/parse_utilcmd.c:1675
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "\"%s\" 不是唯一索引"
 
-#: parser/parse_utilcmd.c:1626 parser/parse_utilcmd.c:1633
-#: parser/parse_utilcmd.c:1640 parser/parse_utilcmd.c:1710
+#: parser/parse_utilcmd.c:1676 parser/parse_utilcmd.c:1683
+#: parser/parse_utilcmd.c:1690 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "无法使用该索引创建主键或唯一约束."
 
-#: parser/parse_utilcmd.c:1632
+#: parser/parse_utilcmd.c:1682
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "索引 \"%s\" 含有表达式"
 
-#: parser/parse_utilcmd.c:1639
+#: parser/parse_utilcmd.c:1689
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "\"%s\" 是一个部分索引"
 
-#: parser/parse_utilcmd.c:1651
+#: parser/parse_utilcmd.c:1701
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "\"%s\" 不是一个延迟索引"
 
-#: parser/parse_utilcmd.c:1652
+#: parser/parse_utilcmd.c:1702
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "无法为使用可延迟索引的约束创建非可延迟约束"
 
-#: parser/parse_utilcmd.c:1709
+#: parser/parse_utilcmd.c:1759
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "索引 \"%s\"没有缺省的排序行为"
 
-#: parser/parse_utilcmd.c:1856
+#: parser/parse_utilcmd.c:1906
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "在主键约束中字段 \"%s\" 出现了两次"
 
-#: parser/parse_utilcmd.c:1862
+#: parser/parse_utilcmd.c:1912
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "字段 \"%s\" 在唯一约束中出现两次"
 
-#: parser/parse_utilcmd.c:2032
+#: parser/parse_utilcmd.c:2116
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "索引表达式不能返回一个集合"
 
-#: parser/parse_utilcmd.c:2043
+#: parser/parse_utilcmd.c:2127
 #, c-format
 msgid ""
 "index expressions and predicates can refer only to the table being indexed"
 msgstr "索引表达式和声明只能指向要建索引的表"
 
-#: parser/parse_utilcmd.c:2089
+#: parser/parse_utilcmd.c:2173
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "物化视图不能使用规则(rules)"
 
-#: parser/parse_utilcmd.c:2150
+#: parser/parse_utilcmd.c:2234
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "规则的WHERE条件不能包含到其它关系的引用"
 
-#: parser/parse_utilcmd.c:2222
+#: parser/parse_utilcmd.c:2306
 #, c-format
 msgid ""
 "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE "
 "actions"
 msgstr "带有WHERE 条件的规则只允许有操作 SELECT, INSERT, UPDATE, 或者 DELETE "
 
-#: parser/parse_utilcmd.c:2240 parser/parse_utilcmd.c:2339
-#: rewrite/rewriteHandler.c:478 rewrite/rewriteManip.c:1018
+#: parser/parse_utilcmd.c:2324 parser/parse_utilcmd.c:2423
+#: rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "条件工具语句 UNION/INTERSECT/EXCEPT 没有实现"
 
-#: parser/parse_utilcmd.c:2258
+#: parser/parse_utilcmd.c:2342
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "规则ON SELECT不能使用关键词OLD"
 
-#: parser/parse_utilcmd.c:2262
+#: parser/parse_utilcmd.c:2346
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "规则ON SELECT不能使用关键词NEW"
 
-#: parser/parse_utilcmd.c:2271
+#: parser/parse_utilcmd.c:2355
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "规则ON INSERT不能使用关键词OLD"
 
-#: parser/parse_utilcmd.c:2277
+#: parser/parse_utilcmd.c:2361
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "规则ON DELETE不能使用关键词NEW"
 
-#: parser/parse_utilcmd.c:2305
+#: parser/parse_utilcmd.c:2389
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "WITH查询中无法引用OLD"
 
-#: parser/parse_utilcmd.c:2312
+#: parser/parse_utilcmd.c:2396
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "WITH 查询无法引用NEW"
 
-#: parser/parse_utilcmd.c:2515
+#: parser/parse_utilcmd.c:2599
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "转换表达式不能返回一个组合"
 
-#: parser/parse_utilcmd.c:2629
+#: parser/parse_utilcmd.c:2713
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "DEFERRABLE 子句位置错误"
 
-#: parser/parse_utilcmd.c:2634 parser/parse_utilcmd.c:2649
+#: parser/parse_utilcmd.c:2718 parser/parse_utilcmd.c:2733
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "不允许多个 DEFERRABLE/NOT DEFERRABLE 子句"
 
-#: parser/parse_utilcmd.c:2644
+#: parser/parse_utilcmd.c:2728
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "NOT DEFERRABLE 子句位置错误"
 
-#: parser/parse_utilcmd.c:2665
+#: parser/parse_utilcmd.c:2749
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "INITIALLY DEFERRED 子句位置错误"
 
-#: parser/parse_utilcmd.c:2670 parser/parse_utilcmd.c:2696
+#: parser/parse_utilcmd.c:2754 parser/parse_utilcmd.c:2780
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "不允许多个 INITIALLY IMMEDIATE/DEFERRED 子句"
 
-#: parser/parse_utilcmd.c:2691
+#: parser/parse_utilcmd.c:2775
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "INITIALLY IMMEDIATE 子句位置错误"
 
-#: parser/parse_utilcmd.c:2882
+#: parser/parse_utilcmd.c:2966
 #, c-format
 msgid ""
 "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE 指定的模式 (%s) 和将要创建的 (%s) 不同"
 
-#: parser/scansup.c:194
+#: parser/scansup.c:204
 #, c-format
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "标识符\"%s\"将会被截断为\"%s\""
 
-#: port/pg_latch.c:344 port/unix_latch.c:344
-#, c-format
-msgid "poll() failed: %m"
-msgstr "poll()失败: %m"
-
-#: port/pg_latch.c:440 port/unix_latch.c:440
-#: replication/libpqwalreceiver/libpqwalreceiver.c:374
-#, c-format
-msgid "select() failed: %m"
-msgstr "执行select()失败: %m"
-
 #: port/pg_sema.c:113 port/sysv_sema.c:113
 #, c-format
 msgid "could not create semaphores: %m"
@@ -14353,32 +14860,17 @@ msgstr "生成崩溃转储文件\"%s\"\n"
 msgid "could not write crash dump to file \"%s\": error code %lu\n"
 msgstr "无法写入崩溃转储文件 \"%s\": 错误码 %lu\n"
 
-#: port/win32/security.c:43
-#, c-format
-msgid "could not open process token: error code %lu\n"
-msgstr "无法打开进程令牌 (token): 错误码 %lu\n"
-
-#: port/win32/security.c:63
-#, c-format
-msgid "could not get SID for Administrators group: error code %lu\n"
-msgstr "无法获取管理员组的 SID: 错误码 %lu\n"
-
-#: port/win32/security.c:72
-#, c-format
-msgid "could not get SID for PowerUsers group: error code %lu\n"
-msgstr "无法获取PowerUsers组的 SID: 错误码 %lu\n"
-
-#: port/win32/signal.c:193
+#: port/win32/signal.c:194
 #, c-format
 msgid "could not create signal listener pipe for PID %d: error code %lu"
 msgstr "无法为进程PID %d 创建信号监听管道: 错误码为 %lu"
 
-#: port/win32/signal.c:273 port/win32/signal.c:305
+#: port/win32/signal.c:274 port/win32/signal.c:306
 #, c-format
 msgid "could not create signal listener pipe: error code %lu; retrying\n"
 msgstr "无法创建信号监听管道: 错误码 %lu; 重试\n"
 
-#: port/win32/signal.c:316
+#: port/win32/signal.c:317
 #, c-format
 msgid "could not create signal dispatch thread: error code %lu\n"
 msgstr "无法创建信号分发线程: 错误码 %lu\n"
@@ -14556,35 +15048,33 @@ msgid ""
 "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "考虑增大配置参数 \"max_worker_processes\"的值."
 
-#: postmaster/checkpointer.c:470
+#: postmaster/checkpointer.c:465
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
 msgstr[0] "检查点事件发生过于频繁(%d 秒间隔)"
 
-#: postmaster/checkpointer.c:474
+#: postmaster/checkpointer.c:469
 #, c-format
-#| msgid ""
-#| "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgstr "考虑增大配置参数 \"max_wal_size\"的值。"
 
-#: postmaster/checkpointer.c:621
+#: postmaster/checkpointer.c:616
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "强制切换事务日志 (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1081
+#: postmaster/checkpointer.c:1074
 #, c-format
 msgid "checkpoint request failed"
 msgstr "检查点请求失败"
 
-#: postmaster/checkpointer.c:1082
+#: postmaster/checkpointer.c:1075
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "详细信息请参考服务器日志."
 
-#: postmaster/checkpointer.c:1277
+#: postmaster/checkpointer.c:1270
 #, c-format
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "将fsync请求队列从%d压缩至%d项"
@@ -14622,7 +15112,7 @@ msgstr "执行失败的归档命令是: %s"
 msgid "archive command was terminated by exception 0x%X"
 msgstr "归档命令被异常 0x%X 终止"
 
-#: postmaster/pgarch.c:598 postmaster/postmaster.c:3459
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3478
 #, c-format
 msgid ""
 "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
@@ -14723,196 +15213,194 @@ msgstr "当缺乏可用套接字时取消统计收集器"
 msgid "could not fork statistics collector: %m"
 msgstr "无法派生 (fork) 统计收集器: %m"
 
-#: 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:1266
+#: postmaster/pgstat.c:1262
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "未识别的重置目标:\"%s\""
 
-#: postmaster/pgstat.c:1267
+#: postmaster/pgstat.c:1263
 #, c-format
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "目标必须是\"archiver\"或\"bgwriter\"."
 
-#: postmaster/pgstat.c:3425
+#: postmaster/pgstat.c:3578
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "无法读取统计信息: %m"
 
-#: postmaster/pgstat.c:3756 postmaster/pgstat.c:3933
+#: postmaster/pgstat.c:3909 postmaster/pgstat.c:4086
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "无法打开临时统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:3824 postmaster/pgstat.c:3978
+#: postmaster/pgstat.c:3977 postmaster/pgstat.c:4131
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "无法写临时统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:3833 postmaster/pgstat.c:3987
+#: postmaster/pgstat.c:3986 postmaster/pgstat.c:4140
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "无法关闭临时统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:3841 postmaster/pgstat.c:3995
+#: postmaster/pgstat.c:3994 postmaster/pgstat.c:4148
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "无法把临时统计文件 \"%s\" 重命名为 \"%s\": %m"
 
-#: postmaster/pgstat.c:4077 postmaster/pgstat.c:4260 postmaster/pgstat.c:4415
+#: postmaster/pgstat.c:4230 postmaster/pgstat.c:4413 postmaster/pgstat.c:4568
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "无法打开统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:4089 postmaster/pgstat.c:4099 postmaster/pgstat.c:4109
-#: postmaster/pgstat.c:4130 postmaster/pgstat.c:4145 postmaster/pgstat.c:4201
-#: postmaster/pgstat.c:4272 postmaster/pgstat.c:4292 postmaster/pgstat.c:4310
-#: postmaster/pgstat.c:4326 postmaster/pgstat.c:4344 postmaster/pgstat.c:4360
-#: postmaster/pgstat.c:4427 postmaster/pgstat.c:4439 postmaster/pgstat.c:4451
-#: postmaster/pgstat.c:4476 postmaster/pgstat.c:4498
+#: postmaster/pgstat.c:4242 postmaster/pgstat.c:4252 postmaster/pgstat.c:4262
+#: postmaster/pgstat.c:4283 postmaster/pgstat.c:4298 postmaster/pgstat.c:4354
+#: postmaster/pgstat.c:4425 postmaster/pgstat.c:4445 postmaster/pgstat.c:4463
+#: postmaster/pgstat.c:4479 postmaster/pgstat.c:4497 postmaster/pgstat.c:4513
+#: postmaster/pgstat.c:4580 postmaster/pgstat.c:4592 postmaster/pgstat.c:4604
+#: postmaster/pgstat.c:4629 postmaster/pgstat.c:4651
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "统计文件损坏\"%s\""
 
-#: postmaster/pgstat.c:4615
+#: postmaster/pgstat.c:4768
 #, c-format
 msgid ""
 "using stale statistics instead of current ones because stats collector is "
 "not responding"
 msgstr "由于统计收集器无响应而使用旧的统计信息来代替当前的统计信息"
 
-#: postmaster/pgstat.c:4933
+#: postmaster/pgstat.c:5086
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "清理过程中数据库散列表毁坏 --- 终止"
 
-#: postmaster/postmaster.c:670
+#: postmaster/postmaster.c:676
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: 选项-f的参数无效: \"%s\"\n"
 
-#: postmaster/postmaster.c:756
+#: postmaster/postmaster.c:762
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: -t选项的参数无效: \"%s\"\n"
 
-#: postmaster/postmaster.c:807
+#: postmaster/postmaster.c:813
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: 无效参数: \"%s\"\n"
 
-#: postmaster/postmaster.c:842
+#: postmaster/postmaster.c:848
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: 超级用户保留联接数必须小于最大联接数\n"
 
-#: postmaster/postmaster.c:847
+#: postmaster/postmaster.c:853
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders必须小于最大连接数\n"
 
-#: postmaster/postmaster.c:852
+#: postmaster/postmaster.c:858
 #, c-format
 msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
 msgstr "当wal_level是\"minimal\"时无法启用WAL归档"
 
-#: postmaster/postmaster.c:855
+#: postmaster/postmaster.c:861
 #, c-format
+#| msgid ""
+#| "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", "
+#| "\"hot_standby\", or \"logical\""
 msgid ""
-"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", "
-"\"hot_standby\", or \"logical\""
+"WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or "
+"\"logical\""
 msgstr ""
-"WAL 流复制的设置(max_wal_senders > 0)要求将wal_level设置为\"archive\"或"
-"\"hot_standby\"或\"logical\""
+"WAL 流复制(max_wal_senders > 0)要求将 wal_level 设置为 \"replica\" 或 "
+"\"logical\""
 
-#: postmaster/postmaster.c:863
+#: postmaster/postmaster.c:869
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: 无效的 datetoken 表, 请修复\n"
 
-#: postmaster/postmaster.c:955 postmaster/postmaster.c:1053
-#: utils/init/miscinit.c:1400
+#: postmaster/postmaster.c:961 postmaster/postmaster.c:1059
+#: utils/init/miscinit.c:1429
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "在参数\"%s\"中列表语法无效"
 
-#: postmaster/postmaster.c:986
+#: postmaster/postmaster.c:992
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "无法为 \"%s\" 创建监听套接字"
 
 # fe-connect.c:891
-#: postmaster/postmaster.c:992
+#: postmaster/postmaster.c:998
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "无法创建TCP/IP套接字"
 
-#: postmaster/postmaster.c:1075
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "在目录\"%s\"下不能创建Unix域的网络套接字"
 
-#: postmaster/postmaster.c:1081
+#: postmaster/postmaster.c:1087
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "无法创建 Unix域 套接字"
 
-#: postmaster/postmaster.c:1093
+#: postmaster/postmaster.c:1099
 #, c-format
 msgid "no socket created for listening"
 msgstr "没有为监听创建套接字"
 
 # fe-lobj.c:412
-#: postmaster/postmaster.c:1133
+#: postmaster/postmaster.c:1139
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "无法为子队列创建I/O完成端口"
 
-#: postmaster/postmaster.c:1162
+#: postmaster/postmaster.c:1168
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: 无法改变外部PID文件 \"%s\" 的权限: %s\n"
 
-#: postmaster/postmaster.c:1166
+#: postmaster/postmaster.c:1172
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: 无法写入外部 PID 文件 \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1217
+#: postmaster/postmaster.c:1223
 #, c-format
 msgid "ending log output to stderr"
 msgstr "终止日志输出到标准错误输出设备"
 
-#: postmaster/postmaster.c:1218
+#: postmaster/postmaster.c:1224
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "后续的日志输出将进入到目标日志 \"%s\"."
 
-#: postmaster/postmaster.c:1244 utils/init/postinit.c:200
+#: postmaster/postmaster.c:1250 utils/init/postinit.c:214
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "无法加载pg_hba.conf"
 
-#: postmaster/postmaster.c:1270
+#: postmaster/postmaster.c:1276
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "在启动期间postmaster变成多线程的"
 
-#: postmaster/postmaster.c:1271
+#: postmaster/postmaster.c:1277
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "设定LC_ALL环境变量为一个合法的区域。"
 
-#: postmaster/postmaster.c:1368
+#: postmaster/postmaster.c:1374
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: 无法找到匹配的 postgres 执行文件"
 
-#: postmaster/postmaster.c:1391 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1397 utils/misc/tzparser.c:341
 #, c-format
 msgid ""
 "This may indicate an incomplete PostgreSQL installation, or that the file "
@@ -14921,42 +15409,42 @@ msgstr ""
 "这可能表示PostgreSQL安装未完成,或者文件\"%s\"已经从正确的位置移动到另外的位"
 "置了."
 
-#: postmaster/postmaster.c:1419
+#: postmaster/postmaster.c:1425
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "数据目录 \"%s\" 不存在"
 
-#: postmaster/postmaster.c:1424
+#: postmaster/postmaster.c:1430
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "没有读取目录 \"%s\" 的权限: %m"
 
-#: postmaster/postmaster.c:1432
+#: postmaster/postmaster.c:1438
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "所指定的数据目录 \"%s\"不是一个目录."
 
-#: postmaster/postmaster.c:1448
+#: postmaster/postmaster.c:1454
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "data目录 \"%s\"的所有者权限错误."
 
-#: postmaster/postmaster.c:1450
+#: postmaster/postmaster.c:1456
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "服务器必须由拥有data目录的用户启动"
 
-#: postmaster/postmaster.c:1470
+#: postmaster/postmaster.c:1476
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "组或其他用户都可以访问数据目录 \"%s\""
 
-#: postmaster/postmaster.c:1472
+#: postmaster/postmaster.c:1478
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "权限应该为 u=rwx (0700)."
 
-#: postmaster/postmaster.c:1483
+#: postmaster/postmaster.c:1489
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -14967,369 +15455,366 @@ msgstr ""
 "预期在目录 \"%s\" 找到,\n"
 "但是无法打开文件 \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1660
+#: postmaster/postmaster.c:1666
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "postmaster select() 失败: %m"
 
-#: postmaster/postmaster.c:1810
+#: postmaster/postmaster.c:1816
 #, c-format
 msgid ""
 "performing immediate shutdown because data directory lock file is invalid"
 msgstr "由于数据目录锁文件非法而执行立即关闭"
 
-#: postmaster/postmaster.c:1888 postmaster/postmaster.c:1919
+#: postmaster/postmaster.c:1894 postmaster/postmaster.c:1925
 #, c-format
 msgid "incomplete startup packet"
 msgstr "不完整的启动包"
 
-#: postmaster/postmaster.c:1900
+#: postmaster/postmaster.c:1906
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "无效的启动包长度"
 
-#: postmaster/postmaster.c:1958
+#: postmaster/postmaster.c:1964
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "发送 SSL 协商响应失败: %m"
 
-#: postmaster/postmaster.c:1987
+#: postmaster/postmaster.c:1993
 #, 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:2050 utils/misc/guc.c:5484 utils/misc/guc.c:5577
-#: utils/misc/guc.c:6869 utils/misc/guc.c:9555 utils/misc/guc.c:9589
+#: postmaster/postmaster.c:2056 utils/misc/guc.c:5657 utils/misc/guc.c:5750
+#: utils/misc/guc.c:7047 utils/misc/guc.c:9783 utils/misc/guc.c:9817
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "参数 \"%s\" 的值无效: \"%s\""
 
-#: postmaster/postmaster.c:2053
+#: postmaster/postmaster.c:2059
 #, c-format
-#| msgid "Valid values are: false, 0, true, 1, database."
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "有效值为:\"false\"、0、\"true\"、1、\"database\"。"
 
-#: postmaster/postmaster.c:2073
+#: postmaster/postmaster.c:2079
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "无效的启动包格式: 预计结束符为最后一个字节"
 
-#: postmaster/postmaster.c:2101
+#: postmaster/postmaster.c:2107
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "在启动包中没有指定 PostgreSQL 用户名"
 
-#: postmaster/postmaster.c:2160
+#: postmaster/postmaster.c:2166
 #, c-format
 msgid "the database system is starting up"
 msgstr "数据库系统启动中"
 
-#: postmaster/postmaster.c:2165
+#: postmaster/postmaster.c:2171
 #, c-format
 msgid "the database system is shutting down"
 msgstr "数据库系统停止中"
 
-#: postmaster/postmaster.c:2170
+#: postmaster/postmaster.c:2176
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "数据库系统在恢复模式中"
 
-#: postmaster/postmaster.c:2175 storage/ipc/procarray.c:284
-#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:334
+#: postmaster/postmaster.c:2181 storage/ipc/procarray.c:297
+#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "对不起, 已经有太多的客户"
 
-#: postmaster/postmaster.c:2237
+#: postmaster/postmaster.c:2243
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "对于进程 %d,在取消请求中的键值错误"
 
-#: postmaster/postmaster.c:2245
+#: postmaster/postmaster.c:2251
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "没有进程与取消请求中的PID %d 相匹配"
 
-#: postmaster/postmaster.c:2465
+#: postmaster/postmaster.c:2471
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "接收到 SIGHUP, 重载配置文件"
 
-#: postmaster/postmaster.c:2490
+#: postmaster/postmaster.c:2496
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "没有重新加载pg_hba.conf"
 
-#: postmaster/postmaster.c:2494
+#: postmaster/postmaster.c:2500
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf 没有重新加载"
 
-#: postmaster/postmaster.c:2535
+#: postmaster/postmaster.c:2541
 #, c-format
 msgid "received smart shutdown request"
 msgstr "接到到智能 (smart) 停止请求"
 
-#: postmaster/postmaster.c:2587
+#: postmaster/postmaster.c:2596
 #, c-format
 msgid "received fast shutdown request"
 msgstr "接收到快速 (fast) 停止请求"
 
-#: postmaster/postmaster.c:2613
+#: postmaster/postmaster.c:2625
 #, c-format
 msgid "aborting any active transactions"
 msgstr "中断任何激活事务"
 
-#: postmaster/postmaster.c:2647
+#: postmaster/postmaster.c:2659
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "接收到立即 (immediate) 停止请求"
 
-#: postmaster/postmaster.c:2708
+#: postmaster/postmaster.c:2723
 #, c-format
-#| msgid "shut down in recovery"
 msgid "shutdown at recovery target"
 msgstr "在恢复目标处关闭"
 
-#: postmaster/postmaster.c:2724 postmaster/postmaster.c:2747
+#: postmaster/postmaster.c:2739 postmaster/postmaster.c:2762
 msgid "startup process"
 msgstr "启动进程"
 
-#: postmaster/postmaster.c:2727
+#: postmaster/postmaster.c:2742
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "由于启动进程失败, 终止启动"
 
-#: postmaster/postmaster.c:2788
+#: postmaster/postmaster.c:2803
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "数据库系统准备接受连接"
 
-#: postmaster/postmaster.c:2803
+#: postmaster/postmaster.c:2822
 msgid "background writer process"
 msgstr "后台写入进程"
 
-#: postmaster/postmaster.c:2857
+#: postmaster/postmaster.c:2876
 msgid "checkpointer process"
 msgstr "检查点(checkpointer)进程"
 
-#: postmaster/postmaster.c:2873
+#: postmaster/postmaster.c:2892
 msgid "WAL writer process"
 msgstr "WAL写入进程"
 
-#: postmaster/postmaster.c:2887
+#: postmaster/postmaster.c:2906
 msgid "WAL receiver process"
 msgstr "WAL接收进程"
 
-#: postmaster/postmaster.c:2902
+#: postmaster/postmaster.c:2921
 msgid "autovacuum launcher process"
 msgstr "autovacuum启动进程"
 
-#: postmaster/postmaster.c:2917
+#: postmaster/postmaster.c:2936
 msgid "archiver process"
 msgstr "归档进程"
 
-#: postmaster/postmaster.c:2933
+#: postmaster/postmaster.c:2952
 msgid "statistics collector process"
 msgstr "统计收集器进程"
 
-#: postmaster/postmaster.c:2947
+#: postmaster/postmaster.c:2966
 msgid "system logger process"
 msgstr "系统日志进程"
 
-#: postmaster/postmaster.c:3009
+#: postmaster/postmaster.c:3028
 msgid "worker process"
 msgstr "工作进程"
 
-#: postmaster/postmaster.c:3092 postmaster/postmaster.c:3112
-#: postmaster/postmaster.c:3119 postmaster/postmaster.c:3137
+#: postmaster/postmaster.c:3111 postmaster/postmaster.c:3131
+#: postmaster/postmaster.c:3138 postmaster/postmaster.c:3156
 msgid "server process"
 msgstr "服务器进程"
 
-#: postmaster/postmaster.c:3191
+#: postmaster/postmaster.c:3210
 #, 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:3447
+#: postmaster/postmaster.c:3466
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) 已退出, 退出代码 %d"
 
-#: postmaster/postmaster.c:3449 postmaster/postmaster.c:3460
-#: postmaster/postmaster.c:3471 postmaster/postmaster.c:3480
-#: postmaster/postmaster.c:3490
+#: postmaster/postmaster.c:3468 postmaster/postmaster.c:3479
+#: postmaster/postmaster.c:3490 postmaster/postmaster.c:3499
+#: postmaster/postmaster.c:3509
 #, 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:3457
+#: postmaster/postmaster.c:3476
 #, 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:3467
+#: postmaster/postmaster.c:3486
 #, 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:3478
+#: postmaster/postmaster.c:3497
 #, 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:3488
+#: postmaster/postmaster.c:3507
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) 已退出, 意外状态 %d"
 
-#: postmaster/postmaster.c:3675
+#: postmaster/postmaster.c:3694
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "数据库系统异常关闭"
 
-#: postmaster/postmaster.c:3715
+#: postmaster/postmaster.c:3734
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "所有的服务器进程被中止; 重新初始化"
 
-#: postmaster/postmaster.c:3927
+#: postmaster/postmaster.c:3946
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "无法为联接派生新进程: %m"
 
-#: postmaster/postmaster.c:3969
+#: postmaster/postmaster.c:3988
 msgid "could not fork new process for connection: "
 msgstr "无法为联接派生新进程: "
 
-#: postmaster/postmaster.c:4075
+#: postmaster/postmaster.c:4102
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "已接收到连接: 主机=%s 端口=%s"
 
-#: postmaster/postmaster.c:4080
+#: postmaster/postmaster.c:4107
 #, c-format
 msgid "connection received: host=%s"
 msgstr "已接收到连接: 主机=%s"
 
-#: postmaster/postmaster.c:4369
+#: postmaster/postmaster.c:4390
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "无法执行服务器进程 \"%s\": %m"
 
-#: postmaster/postmaster.c:4929
+#: postmaster/postmaster.c:4955
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "数据库系统准备接受只读请求的连接"
 
-#: postmaster/postmaster.c:5212
+#: postmaster/postmaster.c:5242
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "无法派生启动进程: %m"
 
-#: postmaster/postmaster.c:5216
+#: postmaster/postmaster.c:5246
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "无法 fork 后台写入进程: %m"
 
-#: postmaster/postmaster.c:5220
+#: postmaster/postmaster.c:5250
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "无法派生检查点进程: %m"
 
-#: postmaster/postmaster.c:5224
+#: postmaster/postmaster.c:5254
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "无法派生WAL写入进程: %m"
 
-#: postmaster/postmaster.c:5228
+#: postmaster/postmaster.c:5258
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "无法派生WAL接收进程: %m"
 
-#: postmaster/postmaster.c:5232
+#: postmaster/postmaster.c:5262
 #, c-format
 msgid "could not fork process: %m"
 msgstr "无法派生进程: %m"
 
-#: postmaster/postmaster.c:5394 postmaster/postmaster.c:5417
+#: postmaster/postmaster.c:5424 postmaster/postmaster.c:5447
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "在注册阶段没有指定需要的数据库连接"
 
-#: postmaster/postmaster.c:5401 postmaster/postmaster.c:5424
+#: postmaster/postmaster.c:5431 postmaster/postmaster.c:5454
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "后台工作进程中的无效处理模式"
 
-#: postmaster/postmaster.c:5476
+#: postmaster/postmaster.c:5506
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "启动后台工作进程\"%s\""
 
-#: postmaster/postmaster.c:5487
+#: postmaster/postmaster.c:5517
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "无法创建工作进程:%m"
 
-#: postmaster/postmaster.c:5863
+#: postmaster/postmaster.c:5895
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "无法为后端使用复制套接字 %d: 错误码为 %d"
 
-#: postmaster/postmaster.c:5895
+#: postmaster/postmaster.c:5927
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "无法创建继承套接字: 错误码为 %d\n"
 
-#: postmaster/postmaster.c:5924
+#: postmaster/postmaster.c:5956
 #, c-format
-#| msgid "could not read from backend variables file \"%s\": %s\n"
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "无法打开后端变量文件\"%s\":%s\n"
 
-#: postmaster/postmaster.c:5931
+#: postmaster/postmaster.c:5963
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "无法从后端可变 (variables) 文件 \"%s\" 读取: %s\n"
 
-#: postmaster/postmaster.c:5940
+#: postmaster/postmaster.c:5972
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "无法删除文件 \"%s\": %s\n"
 
-#: postmaster/postmaster.c:5957
+#: postmaster/postmaster.c:5989
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "无法映射后端变量视图: 错误码为 %lu\n"
 
-#: postmaster/postmaster.c:5966
+#: postmaster/postmaster.c:5998
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "无法取消后端变量视图的映射: 错误码为 %lu\n"
 
-#: postmaster/postmaster.c:5973
+#: postmaster/postmaster.c:6005
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "无法关闭后端参数变量的句柄: 错误码为 %lu\n"
 
-#: postmaster/postmaster.c:6132
+#: postmaster/postmaster.c:6166
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "无法为进程读取退出代码\n"
 
-#: postmaster/postmaster.c:6137
+#: postmaster/postmaster.c:6171
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "无法传递子队列的结束状态\n"
@@ -15394,80 +15879,79 @@ msgstr "取消自动轮寻 (使用 SIGHUP re-enable)"
 msgid "could not determine which collation to use for regular expression"
 msgstr "无法确定正规表达式中使用何种排序规则"
 
-#: repl_gram.y:257 repl_gram.y:284
+#: repl_gram.y:260 repl_gram.y:292
 #, c-format
 msgid "invalid timeline %u"
 msgstr "无效时间线%u"
 
-#: repl_scanner.l:119
+#: repl_scanner.l:120
 msgid "invalid streaming start location"
 msgstr "无效的流起始位置"
 
-#: repl_scanner.l:170 scan.l:667
+#: repl_scanner.l:171 scan.l:671
 msgid "unterminated quoted string"
 msgstr "未结束的引用字符串"
 
-#: repl_scanner.l:180
+#: repl_scanner.l:181
 #, c-format
 msgid "syntax error: unexpected character \"%s\""
 msgstr "语法错误: 遇到意外字符\"%s\""
 
-#: replication/basebackup.c:227
+#: replication/basebackup.c:230
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "无法统计控制文件 \"%s\": %m"
 
-#: replication/basebackup.c:336
+#: replication/basebackup.c:339
 #, c-format
 msgid "could not find any WAL files"
 msgstr "无法找到任何WAL文件"
 
-#: replication/basebackup.c:349 replication/basebackup.c:363
-#: replication/basebackup.c:372
+#: replication/basebackup.c:352 replication/basebackup.c:366
+#: replication/basebackup.c:375
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "找不到WAL文件\"%s\""
 
-#: replication/basebackup.c:411 replication/basebackup.c:437
+#: replication/basebackup.c:414 replication/basebackup.c:440
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "意外的WAL文件大小\"%s\""
 
-#: replication/basebackup.c:423 replication/basebackup.c:1169
+#: replication/basebackup.c:426 replication/basebackup.c:1172
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "基础备份无法发送数据,终止备份"
 
-#: replication/basebackup.c:525 replication/basebackup.c:534
-#: replication/basebackup.c:543 replication/basebackup.c:552
-#: replication/basebackup.c:561 replication/basebackup.c:572
-#: replication/basebackup.c:589
+#: replication/basebackup.c:528 replication/basebackup.c:537
+#: replication/basebackup.c:546 replication/basebackup.c:555
+#: replication/basebackup.c:564 replication/basebackup.c:575
+#: replication/basebackup.c:592
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "重复选项 \"%s\""
 
-#: replication/basebackup.c:578 utils/misc/guc.c:5494
+#: replication/basebackup.c:581 utils/misc/guc.c:5667
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d 超出了参数 \"%s\" (%d .. %d) 的有效范围"
 
-#: replication/basebackup.c:852 replication/basebackup.c:954
+#: replication/basebackup.c:855 replication/basebackup.c:957
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "无法统计文件或目录\"%s\": %m"
 
-#: replication/basebackup.c:1121
+#: replication/basebackup.c:1124
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "跳过特殊文件 \"%s\""
 
-#: replication/basebackup.c:1232
+#: replication/basebackup.c:1235
 #, c-format
-#| msgid "file name too long: \"%s\"\n"
 msgid "file name too long for tar format: \"%s\""
 msgstr "文件名对于tar格式超长:\"%s\""
 
-#: replication/basebackup.c:1237
+#: replication/basebackup.c:1240
 #, c-format
 msgid ""
 "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
@@ -15547,109 +16031,119 @@ msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr ""
 "期望得到带有两个字段的一条记录,但是现在得到了%d条记录,每条带有%d个字段."
 
-# fe-misc.c:450 fe-misc.c:642 fe-misc.c:798
 #: replication/libpqwalreceiver/libpqwalreceiver.c:334
 #, c-format
-msgid "socket not open"
-msgstr "套接字未打开"
+#| msgid "invalid mask length: %d"
+msgid "invalid socket: %s"
+msgstr "无效的套接字:%s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:374
+#: storage/ipc/latch.c:1271
+#, c-format
+msgid "select() failed: %m"
+msgstr "执行select()失败: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:507
+#: replication/libpqwalreceiver/libpqwalreceiver.c:497
+#: replication/libpqwalreceiver/libpqwalreceiver.c:524
 #: replication/libpqwalreceiver/libpqwalreceiver.c:530
-#: replication/libpqwalreceiver/libpqwalreceiver.c:536
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "无法从WAL流中获得数据: %s"
 
 # fe-misc.c:702
-#: replication/libpqwalreceiver/libpqwalreceiver.c:555
+#: replication/libpqwalreceiver/libpqwalreceiver.c:549
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "无法向WAL流:%s发送数据"
 
-#: replication/logical/logical.c:80
+#: replication/logical/logical.c:83
 #, c-format
 msgid "logical decoding requires wal_level >= logical"
 msgstr "逻辑解码要求wal_level >= logical"
 
-#: replication/logical/logical.c:85
+#: replication/logical/logical.c:88
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "逻辑解码需要一个数据库连接"
 
-#: replication/logical/logical.c:103
+#: replication/logical/logical.c:106
 #, c-format
 msgid "logical decoding cannot be used while in recovery"
 msgstr "逻辑解码不能用于恢复操作"
 
-#: replication/logical/logical.c:234 replication/logical/logical.c:383
+#: replication/logical/logical.c:238 replication/logical/logical.c:342
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "逻辑解码不能使用物理复制槽"
 
-#: replication/logical/logical.c:239 replication/logical/logical.c:388
+#: replication/logical/logical.c:243 replication/logical/logical.c:347
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "复制槽\"%s\"不能用于此数据库"
 
-#: replication/logical/logical.c:246
+#: replication/logical/logical.c:250
 #, c-format
 msgid ""
 "cannot create logical replication slot in transaction that has performed "
 "writes"
 msgstr "已经执行了写操作的事务里,不能创建逻辑复制槽"
 
-#: replication/logical/logical.c:425
+#: replication/logical/logical.c:384
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "开始为槽\"%s\"进行逻辑解码"
 
-#: replication/logical/logical.c:427
+#: replication/logical/logical.c:386
 #, c-format
 msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
 msgstr "流事务在%X/%X后提交,从%X/%X位置读"
 
-#: replication/logical/logical.c:562
+#: replication/logical/logical.c:521
 #, 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:569
+#: replication/logical/logical.c:528
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "槽 \"%s\", 输出插件 \"%s\", 在 %s 回调"
 
-#: replication/logical/logicalfuncs.c:192 replication/walsender.c:2126
-#, c-format
-msgid "could not read from log segment %s, offset %u, length %lu: %m"
-msgstr "无法在日志段%s,偏移量为%u, 长度为%lu的位置上进行读操作: %m"
-
-#: replication/logical/logicalfuncs.c:211 replication/slotfuncs.c:32
+#: replication/logical/logicalfuncs.c:113 replication/slotfuncs.c:32
 #, c-format
 msgid "must be superuser or replication role to use replication slots"
 msgstr "只有超级用户或者拥有复制角色的用户才能使用复制槽"
 
-#: replication/logical/logicalfuncs.c:341
+#: replication/logical/logicalfuncs.c:152
+#, c-format
+#| msgid "field name must not be null"
+msgid "slot name must not be null"
+msgstr "槽名称不能为空"
+
+#: replication/logical/logicalfuncs.c:168
+#, c-format
+#| msgid "typmod array must not contain nulls"
+msgid "options array must not be null"
+msgstr "选项数组不能为空"
+
+#: replication/logical/logicalfuncs.c:199
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "数组必须是一维的"
 
-#: replication/logical/logicalfuncs.c:347
+#: replication/logical/logicalfuncs.c:205
 #, c-format
 msgid "array must not contain nulls"
 msgstr "数组不能包含空值"
 
-#: replication/logical/logicalfuncs.c:363 utils/adt/json.c:2263
-#: utils/adt/jsonb.c:1362
+#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277
+#: utils/adt/jsonb.c:1356
 #, c-format
 msgid "array must have even number of elements"
 msgstr "数组必须包含偶数个元素"
 
-#: replication/logical/logicalfuncs.c:406
+#: replication/logical/logicalfuncs.c:261
 #, c-format
-#| msgid ""
-#| "logical decoding output plugin \"%s\" produces binary output, but \"%s\" "
-#| "expects textual data"
 msgid ""
 "logical decoding output plugin \"%s\" produces binary output, but function "
 "\"%s\" expects textual data"
@@ -15657,26 +16151,22 @@ msgstr "逻辑解码输出插件\"%s\"产生二进制输出,但是函数\"%s\"
 
 #: replication/logical/origin.c:181
 #, c-format
-#| msgid "must be superuser to alter replication users"
 msgid "only superusers can query or manipulate replication origins"
 msgstr "只有超级用户能查询或者操纵复制源头"
 
 #: replication/logical/origin.c:186
 #, c-format
-#| msgid "cannot use a logical replication slot for physical replication"
 msgid ""
 "cannot query or manipulate replication origin when max_replication_slots = 0"
 msgstr "当max_replication_slots = 0时无法查询或者操纵复制源头"
 
 #: replication/logical/origin.c:191
 #, c-format
-#| msgid "cannot execute %s during recovery"
 msgid "cannot manipulate replication origins during recovery"
 msgstr "无法在恢复期间操作复制源头"
 
 #: replication/logical/origin.c:316
 #, c-format
-#| msgid "could not find parent extension for %s\n"
 msgid "could not find free replication origin OID"
 msgstr "无法找到空闲的复制源头OID"
 
@@ -15685,84 +16175,78 @@ msgstr "无法找到空闲的复制源头OID"
 msgid "could not drop replication origin with OID %d, in use by PID %d"
 msgstr "无法删除具有OID %d的复制源头,PID %d正在使用它"
 
-#: replication/logical/origin.c:690
+#: replication/logical/origin.c:671
 #, c-format
-#| msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgid "replication checkpoint has wrong magic %u instead of %u"
 msgstr "复制检查点具有错误的magic值%u而不是%u"
 
-#: replication/logical/origin.c:722
+#: replication/logical/origin.c:703
 #, c-format
-#| msgid "could not read file \"%s\", read %d of %u: %m"
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "无法读取文件\"%1$s\":读取了%3$zu中的%2$d"
 
-#: replication/logical/origin.c:731
+#: replication/logical/origin.c:712
 #, c-format
-#| msgid "Free one or increase max_replication_slots."
 msgid "could not find free replication state, increase max_replication_slots"
 msgstr "无法找到空闲的复制状态,请增加max_replication_slots的值"
 
-#: replication/logical/origin.c:749
+#: replication/logical/origin.c:730
 #, c-format
-#| msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr "复制槽检查点具有错误的校验和%u,正确的应该是%u"
 
-#: replication/logical/origin.c:873
+#: replication/logical/origin.c:854
 #, c-format
-#| msgid "replication slot \"%s\" is already active"
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "OID为%d的复制源头已经被用于PID %d"
 
-#: replication/logical/origin.c:884 replication/logical/origin.c:1064
+#: replication/logical/origin.c:865 replication/logical/origin.c:1045
 #, c-format
 msgid ""
 "could not find free replication state slot for replication origin with OID %u"
 msgstr "无法为带有OID %u的复制源头找到空闲的复制状态槽"
 
-#: replication/logical/origin.c:886 replication/logical/origin.c:1066
-#: replication/slot.c:1241
+#: replication/logical/origin.c:867 replication/logical/origin.c:1047
+#: replication/slot.c:1288
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "增大 max_replication_slots的值再重试."
 
-#: replication/logical/origin.c:1023
+#: replication/logical/origin.c:1004
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "在已经设置了一个复制源头的情况下无法再设置复制源头"
 
-#: replication/logical/origin.c:1052
+#: replication/logical/origin.c:1033
 #, c-format
-#| msgid "replication slot \"%s\" is already active"
 msgid "replication identifier %d is already active for PID %d"
 msgstr "复制标识符%d已经被用于PID %d"
 
-#: replication/logical/origin.c:1098 replication/logical/origin.c:1293
-#: replication/logical/origin.c:1313
+#: replication/logical/origin.c:1079 replication/logical/origin.c:1274
+#: replication/logical/origin.c:1294
 #, c-format
 msgid "no replication origin is configured"
 msgstr "没有配置复制源头"
 
-#: replication/logical/reorderbuffer.c:2170
+#: replication/logical/reorderbuffer.c:2309
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "无法将XID %u:%m写入数据文件"
 
-#: replication/logical/reorderbuffer.c:2266
-#: replication/logical/reorderbuffer.c:2286
+#: replication/logical/reorderbuffer.c:2405
+#: replication/logical/reorderbuffer.c:2425
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "无法读取重排缓冲的溢出文件:%m"
 
-#: replication/logical/reorderbuffer.c:2270
-#: replication/logical/reorderbuffer.c:2290
+#: replication/logical/reorderbuffer.c:2409
+#: replication/logical/reorderbuffer.c:2429
 #, c-format
 msgid ""
 "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "无法读取重排缓冲的溢出文件, 读到了%d字节,而不是%u字节"
 
-#: replication/logical/reorderbuffer.c:2894
+#: replication/logical/reorderbuffer.c:3084
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "无法读文件\"%s\": 读到了%d字节,而不是%d字节"
@@ -15774,331 +16258,344 @@ msgid_plural ""
 "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
 msgstr[0] "导出逻辑解码快照: \"%s\" 带有 %u 个事务 ID"
 
-#: replication/logical/snapbuild.c:904 replication/logical/snapbuild.c:1269
-#: replication/logical/snapbuild.c:1800
+#: replication/logical/snapbuild.c:919 replication/logical/snapbuild.c:1284
+#: replication/logical/snapbuild.c:1815
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "在 %X/%X处,逻辑解码发现一致点"
 
-#: replication/logical/snapbuild.c:906
+#: replication/logical/snapbuild.c:921
 #, c-format
 msgid "Transaction ID %u finished; no more running transactions."
 msgstr "事务ID %u已结束;已没有正运行的事务."
 
-#: replication/logical/snapbuild.c:1271
+#: replication/logical/snapbuild.c:1286
 #, c-format
 msgid "There are no running transactions."
 msgstr "没有正运行的事务."
 
-#: replication/logical/snapbuild.c:1333
+#: replication/logical/snapbuild.c:1348
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "逻辑解码在 %X/%X发现初始化的起始点"
 
-#: replication/logical/snapbuild.c:1335
+#: replication/logical/snapbuild.c:1350
 #, c-format
 msgid "%u transaction needs to finish."
 msgid_plural "%u transactions need to finish."
 msgstr[0] "有%u笔事务需要结束."
 
-#: replication/logical/snapbuild.c:1674 replication/logical/snapbuild.c:1700
-#: replication/logical/snapbuild.c:1714 replication/logical/snapbuild.c:1728
+#: replication/logical/snapbuild.c:1689 replication/logical/snapbuild.c:1715
+#: replication/logical/snapbuild.c:1729 replication/logical/snapbuild.c:1743
 #, c-format
 msgid "could not read file \"%s\", read %d of %d: %m"
 msgstr "无法读取文件 \"%1$s\", 从%3$d:%4$m中读取了%2$d"
 
-#: replication/logical/snapbuild.c:1680
+#: replication/logical/snapbuild.c:1695
 #, c-format
-#| msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "快照构建状态文件\"%s\"具有错误的magic号:%u而不是%u"
 
-#: replication/logical/snapbuild.c:1685
+#: replication/logical/snapbuild.c:1700
 #, c-format
-#| msgid "snapbuild state file \"%s\" has unsupported version %u instead of %u"
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "快照构建状态文件\"%s\"具有不被支持的版本:%u而不是%u"
 
-#: replication/logical/snapbuild.c:1741
+#: replication/logical/snapbuild.c:1756
 #, c-format
-#| msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr "快照构建状态文件\"%s\"的校验和不匹配:现在的值是%u,正确值应该是%u"
 
-#: replication/logical/snapbuild.c:1802
+#: replication/logical/snapbuild.c:1817
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "逻辑解码将从使用已存的快照开始."
 
-#: replication/logical/snapbuild.c:1875
+#: replication/logical/snapbuild.c:1890
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "无法解析文件名 \"%s\""
 
-#: replication/slot.c:174
+#: replication/slot.c:183
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "复制槽名 \"%s\" 太短"
 
-#: replication/slot.c:183
+#: replication/slot.c:192
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "复制槽名 \"%s\" 太长"
 
-#: replication/slot.c:196
+#: replication/slot.c:205
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "复制槽名 \"%s\"中包含无效的数据"
 
-#: replication/slot.c:198
+#: replication/slot.c:207
 #, c-format
-#| msgid ""
-#| "Replication slot names may only contain letters, numbers, and the "
-#| "underscore character."
 msgid ""
 "Replication slot names may only contain lower case letters, numbers, and the "
 "underscore character."
 msgstr "复制槽的名字只能包含小写字母、数字以及下划线字符。"
 
-#: replication/slot.c:245
+#: replication/slot.c:254
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "复制槽名 \"%s\" 已经存在"
 
-#: replication/slot.c:255
+#: replication/slot.c:264
 #, c-format
 msgid "all replication slots are in use"
 msgstr "所有的复制槽都在使用中"
 
-#: replication/slot.c:256
+#: replication/slot.c:265
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "释放一个槽或者增大max_replication_slots的值."
 
-#: replication/slot.c:348
+#: replication/slot.c:351
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "复制槽名 \"%s\" 不存在"
 
-#: replication/slot.c:352
+#: replication/slot.c:355
 #, c-format
-#| msgid "replication slot \"%s\" is already active"
-msgid "replication slot \"%s\" is already active for PID %d"
-msgstr "复制槽\"%s\"已经被用于PID %d"
+#| msgid "replication slot \"%s\" is already active for PID %d"
+msgid "replication slot \"%s\" is active for PID %d"
+msgstr "复制槽 \"%s\" 正用于 PID %d"
 
-#: replication/slot.c:501 replication/slot.c:857 replication/slot.c:1202
+#: replication/slot.c:501 replication/slot.c:912 replication/slot.c:1249
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "无法删除目录 \"%s\""
 
-#: replication/slot.c:776
+#: replication/slot.c:761
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "复制槽只有当 max_replication_slots > 0时才能使用"
 
-#: replication/slot.c:781
+#: replication/slot.c:766
 #, c-format
-msgid "replication slots can only be used if wal_level >= archive"
-msgstr "复制槽只有当 wal_level >= archive时才能使用"
+#| msgid "replication slots can only be used if wal_level >= archive"
+msgid "replication slots can only be used if wal_level >= replica"
+msgstr "复制槽只有当 wal_level >= replica 时才能使用"
 
-#: replication/slot.c:1134 replication/slot.c:1172
+#: replication/slot.c:1181 replication/slot.c:1219
 #, c-format
 msgid "could not read file \"%s\", read %d of %u: %m"
 msgstr "无法读取文件 \"%s\", 读到了%d字节,从%u:%m处"
 
-#: replication/slot.c:1143
+#: replication/slot.c:1190
 #, c-format
-#| msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "复制槽文件\"%s\"具有错误的magic号:%u,正确的应该是%u"
 
-#: replication/slot.c:1150
+#: replication/slot.c:1197
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "复制槽文件 \"%s\" 的版本号%u不被支持"
 
-#: replication/slot.c:1157
+#: replication/slot.c:1204
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "复制槽文件 \"%s\" 的长度 %u已损坏"
 
-#: replication/slot.c:1187
+#: replication/slot.c:1234
 #, c-format
-#| msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "复制槽文件\"%s\"的校验和不匹配:值为 %u,正确值应该是 %u"
 
-#: replication/slot.c:1240
+#: replication/slot.c:1287
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "关闭前有太多活动的复制槽"
 
-#: replication/syncrep.c:199
+#: replication/syncrep.c:228
 #, c-format
 msgid ""
 "canceling the wait for synchronous replication and terminating connection "
 "due to administrator command"
 msgstr "取消等待同步复制,听从管理员命令终断连接"
 
-#: replication/syncrep.c:200 replication/syncrep.c:217
+#: replication/syncrep.c:229 replication/syncrep.c:246
 #, c-format
 msgid ""
 "The transaction has already committed locally, but might not have been "
 "replicated to the standby."
 msgstr "事务已经在本地提交, 但有可能还没完成到备用节点的复制."
 
-#: replication/syncrep.c:216
+#: replication/syncrep.c:245
 #, c-format
 msgid "canceling wait for synchronous replication due to user request"
 msgstr "听从用户请求,取消等待同步复制"
 
-#: replication/syncrep.c:346
+#: replication/syncrep.c:380
 #, c-format
 msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr "备用节点 \"%s\" 现在拥有同步备用优先级: %u"
 
-#: replication/syncrep.c:480
+#: replication/syncrep.c:440
+#, c-format
+#| msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgid "standby \"%s\" is now a synchronous standby with priority %u"
+msgstr "后备 \"%s\" 现在是具有优先级 %u 的一个同步后备"
+
+#: replication/syncrep.c:969
+#, c-format
+msgid "synchronous_standby_names parser returned %d"
+msgstr "synchronous_standby_names 解析器返回 %d"
+
+#: replication/syncrep.c:1014
+#, c-format
+msgid ""
+"The configured number of synchronous standbys (%d) exceeds the number of "
+"names of potential synchronous ones (%d)"
+msgstr "配置的同步后备的数量(%d)超过了潜在同步后备的名称数量(%d)"
+
+#: replication/syncrep.c:1016
 #, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
-msgstr "备用节点 \"%s\" 现在是拥有同步备用优先级: %u的备用节点"
+#| msgid "List of names of potential synchronous standbys."
+msgid ""
+"Specify more names of potential synchronous standbys in "
+"synchronous_standby_names."
+msgstr "在 synchronous_standby_names 中指定更多潜在同步后备的名称。"
 
-#: replication/walreceiver.c:167
+#: replication/walreceiver.c:172
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "由于管理员命令中断walreceiver进程"
 
-#: replication/walreceiver.c:321
+#: replication/walreceiver.c:324
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "主服务器上的最高时间线%u还在恢复时间线%u的后边"
 
-#: replication/walreceiver.c:356
+#: replication/walreceiver.c:357
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "在时间点: %X/%X (时间安排%u)启动日志的流操作"
 
-#: replication/walreceiver.c:361
+#: replication/walreceiver.c:362
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "在%X/%X处时间线%u上重启WAL流操作"
 
-#: replication/walreceiver.c:395
+#: replication/walreceiver.c:391
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "无法继续进行WAL流复制操作,恢复已经结束"
 
-#: replication/walreceiver.c:432
+#: replication/walreceiver.c:428
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "复制由主用服务器终止"
 
-#: replication/walreceiver.c:433
+#: replication/walreceiver.c:429
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "WAL结束时,到了时间线%u和地址%X/%X."
 
-#: replication/walreceiver.c:480
+#: replication/walreceiver.c:523
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "由于超时, 中止walreceiver进程"
 
-#: replication/walreceiver.c:520
+#: replication/walreceiver.c:563
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "主服务器 在时间点 %u不再有WAL"
 
-#: replication/walreceiver.c:535 replication/walreceiver.c:895
+#: replication/walreceiver.c:578 replication/walreceiver.c:936
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "无法关闭日志段%s: %m"
 
-#: replication/walreceiver.c:660
+#: replication/walreceiver.c:702
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "从主服务器的时间点%u获取时间点历史文件"
 
-#: replication/walreceiver.c:949
+#: replication/walreceiver.c:990
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "无法在偏移量 %2$u,长度 %3$lu写入日志文件%1$s, 段:%4$m"
 
-#: replication/walsender.c:483
+#: replication/walsender.c:485
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "无法查找到文件\"%s\"的起始位置: %m"
 
-#: replication/walsender.c:534
+#: replication/walsender.c:536
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr "物理复制操作不能使用逻辑复制槽"
 
-#: replication/walsender.c:597
+#: replication/walsender.c:599
 #, 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:601
+#: replication/walsender.c:603
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "服务器的历史时间线在时间线%u,地址%X/%X处产生了分支."
 
-#: replication/walsender.c:646
+#: replication/walsender.c:648
 #, c-format
 msgid ""
 "requested starting point %X/%X is ahead of the WAL flush position of this "
 "server %X/%X"
 msgstr "请求的起始点 %X/%X 位于该服务器的WAL刷新位置%X/%X之前"
 
-#: replication/walsender.c:965
+#: replication/walsender.c:974
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "在提升后, 中断walreceiver进程"
 
-#: replication/walsender.c:1292
+#: replication/walsender.c:1300
 #, c-format
-#| msgid "%s: could not send replication command \"%s\": %s"
 msgid "received replication command: %s"
 msgstr "收到的复制命令:%s"
 
-#: replication/walsender.c:1385 replication/walsender.c:1401
+#: replication/walsender.c:1393 replication/walsender.c:1409
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "在备用服务器连接上的出现意外的EOF"
 
-#: replication/walsender.c:1415
+#: replication/walsender.c:1423
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr "在接收CopyDone后出现意外的消息类型\"%c\""
 
-#: replication/walsender.c:1453
+#: replication/walsender.c:1461
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "无效的备用节点消息类型 \"%c\""
 
-#: replication/walsender.c:1494
+#: replication/walsender.c:1502
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "意外的消息类型\"%c\""
 
-#: replication/walsender.c:1781
+#: replication/walsender.c:1786
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "由于复制超时, 中断walreceiver进程"
 
-#: replication/walsender.c:1874
+#: replication/walsender.c:1879
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "备用节点 \"%s\" 现在遇上了主节点"
 
-#: replication/walsender.c:1975
+#: replication/walsender.c:1982
 #, c-format
 msgid ""
 "number of requested standby connections exceeds max_wal_senders (currently "
 "%d)"
 msgstr "所要求的备用服务器连接数超过了参数max_wal_senders的值(当前设置为%d)"
 
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:961
+#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:973
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "关系 \"%2$s\" 的规则 \"%1$s\" 已经存在"
@@ -16191,14 +16688,12 @@ msgstr "无法把表 \"%s\" 转换为视图, 因为它有子表"
 
 #: rewrite/rewriteDefine.c:459
 #, c-format
-#| msgid "could not convert table \"%s\" to a view because it has child tables"
 msgid ""
 "could not convert table \"%s\" to a view because it has row security enabled"
 msgstr "无法把表\"%s\"转换为视图,因为它的行级安全性被启用"
 
 #: rewrite/rewriteDefine.c:465
 #, c-format
-#| msgid "could not convert table \"%s\" to a view because it has child tables"
 msgid ""
 "could not convert table \"%s\" to a view because it has row security policies"
 msgstr "无法把表\"%s\"转换为视图,因为它有行级安全性策略"
@@ -16228,266 +16723,271 @@ msgstr "SELECT 规则的目标列表的记录太多"
 msgid "RETURNING list has too many entries"
 msgstr "RETURNING列表中的项太多."
 
-#: rewrite/rewriteDefine.c:684
+#: rewrite/rewriteDefine.c:695
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "无法转换包含已删除字段的关系为视图"
 
-#: rewrite/rewriteDefine.c:690
+#: rewrite/rewriteDefine.c:696
+#, c-format
+#| msgid "cannot convert relation containing dropped columns to view"
+msgid ""
+"cannot create a RETURNING list for a relation containing dropped columns"
+msgstr "无法为一个包含有被删除列的关系创建一个 RETURNING 列表"
+
+#: rewrite/rewriteDefine.c:702
 #, c-format
 msgid ""
 "SELECT rule's target entry %d has different column name from column \"%s\""
 msgstr "SELECT 规则的目标记录 %d 的字段名和字段 \"%s\" 不同"
 
-#: rewrite/rewriteDefine.c:692
+#: rewrite/rewriteDefine.c:704
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "SELECT 目标项命名为\"%s\","
 
-#: rewrite/rewriteDefine.c:701
+#: rewrite/rewriteDefine.c:713
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "SELECT 规则的目标记录 %d 和字段 \"%s\" 的类型不同"
 
-#: rewrite/rewriteDefine.c:703
+#: rewrite/rewriteDefine.c:715
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "RETURNING列表中的第%d项与列\"%s\"的类型不同"
 
-#: rewrite/rewriteDefine.c:706 rewrite/rewriteDefine.c:730
+#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:742
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "SELECT 目标项类型为%s, 但其列类型为%s."
 
-#: rewrite/rewriteDefine.c:709 rewrite/rewriteDefine.c:734
+#: rewrite/rewriteDefine.c:721 rewrite/rewriteDefine.c:746
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "RETURNING列表项类型为%s, 但是其列类型为%s."
 
-#: rewrite/rewriteDefine.c:725
+#: rewrite/rewriteDefine.c:737
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr "SELECT 规则的目标记录 %d 与字段 \"%s\" 的大小不同"
 
-#: rewrite/rewriteDefine.c:727
+#: rewrite/rewriteDefine.c:739
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "在RETURNING列表中的第%d项的大小与列 \"%s\"不同"
 
-#: rewrite/rewriteDefine.c:744
+#: rewrite/rewriteDefine.c:756
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "SELECT 规则的目标列表记录数太少"
 
-#: rewrite/rewriteDefine.c:745
+#: rewrite/rewriteDefine.c:757
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "RETURNING 列表后面的项太少"
 
-#: rewrite/rewriteDefine.c:837 rewrite/rewriteDefine.c:952
+#: rewrite/rewriteDefine.c:849 rewrite/rewriteDefine.c:964
 #: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "关系 \"%2$s\" 的 \"%1$s\" 规则不存在"
 
-#: rewrite/rewriteDefine.c:971
+#: rewrite/rewriteDefine.c:983
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "不允许重命名一个ON SELECT规则"
 
-#: rewrite/rewriteHandler.c:521
+#: rewrite/rewriteHandler.c:528
 #, c-format
 msgid ""
 "WITH query name \"%s\" appears in both a rule action and the query being "
 "rewritten"
 msgstr "WITH 查询名 \"%s\" 看起来好像在某规则行为和查询重写里同时出现"
 
-#: rewrite/rewriteHandler.c:581
+#: rewrite/rewriteHandler.c:588
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "无法在多个规则中拥有RETURNING列表"
 
-#: rewrite/rewriteHandler.c:921 rewrite/rewriteHandler.c:939
+#: rewrite/rewriteHandler.c:928 rewrite/rewriteHandler.c:946
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "对同一列\"%s\"进行了多次分配"
 
-#: rewrite/rewriteHandler.c:1714 rewrite/rewriteHandler.c:3307
+#: rewrite/rewriteHandler.c:1721 rewrite/rewriteHandler.c:3331
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "在关系 \"%s\" 的规则中发现无限循环"
 
-#: rewrite/rewriteHandler.c:1799
+#: rewrite/rewriteHandler.c:1806
 #, c-format
-#| msgid "infinite recursion detected in rules for relation \"%s\""
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "在关系\"%s\"的策略中检测到无限循环"
 
-#: rewrite/rewriteHandler.c:2113
+#: rewrite/rewriteHandler.c:2123
 msgid "Junk view columns are not updatable."
 msgstr "废弃视图列不可更新."
 
-#: rewrite/rewriteHandler.c:2118
+#: rewrite/rewriteHandler.c:2128
 msgid ""
 "View columns that are not columns of their base relation are not updatable."
 msgstr "不属于基础关系的列的那些视图列不能用于更新操作."
 
-#: rewrite/rewriteHandler.c:2121
+#: rewrite/rewriteHandler.c:2131
 msgid "View columns that refer to system columns are not updatable."
 msgstr "引用系统列的视图列不能用于更新操作."
 
-#: rewrite/rewriteHandler.c:2124
+#: rewrite/rewriteHandler.c:2134
 msgid "View columns that return whole-row references are not updatable."
 msgstr "返回整行引用的视图列不能更新"
 
-#: rewrite/rewriteHandler.c:2182
+#: rewrite/rewriteHandler.c:2192
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "包含DISTINCT的视图列不能自动更新."
 
-#: rewrite/rewriteHandler.c:2185
+#: rewrite/rewriteHandler.c:2195
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "包含 GROUP BY 的视图列不能自动更新."
 
-#: rewrite/rewriteHandler.c:2188
+#: rewrite/rewriteHandler.c:2198
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "包含 HAVING 的视图列不能自动更新."
 
-#: rewrite/rewriteHandler.c:2191
+#: rewrite/rewriteHandler.c:2201
 msgid ""
 "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "包含 UNION, INTERSECT, 或 EXCEPT 不能用于自动更新."
 
-#: rewrite/rewriteHandler.c:2194
+#: rewrite/rewriteHandler.c:2204
 msgid "Views containing WITH are not automatically updatable."
 msgstr "包含 WITH 的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2197
+#: rewrite/rewriteHandler.c:2207
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "包含 LIMIT 或 OFFSET 的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2209
+#: rewrite/rewriteHandler.c:2219
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "返回聚集函数的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2212
+#: rewrite/rewriteHandler.c:2222
 msgid "Views that return window functions are not automatically updatable."
 msgstr "返回窗口函数的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2215
+#: rewrite/rewriteHandler.c:2225
 msgid ""
 "Views that return set-returning functions are not automatically updatable."
 msgstr "返回自返回函数的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2222 rewrite/rewriteHandler.c:2226
-#: rewrite/rewriteHandler.c:2233
+#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236
+#: rewrite/rewriteHandler.c:2243
 msgid ""
 "Views that do not select from a single table or view are not automatically "
 "updatable."
 msgstr "不来自单表或单视图的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2236
-#| msgid "Views containing WITH are not automatically updatable."
+#: rewrite/rewriteHandler.c:2246
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "包含TABLESAMPLE的视图不能自动更新。"
 
-#: rewrite/rewriteHandler.c:2260
+#: rewrite/rewriteHandler.c:2270
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "没有更新列的视图不能自动更新."
 
-#: rewrite/rewriteHandler.c:2707
+#: rewrite/rewriteHandler.c:2724
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "无法插入列\"%s\"到视图\"%s\""
 
-#: rewrite/rewriteHandler.c:2715
+#: rewrite/rewriteHandler.c:2732
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "无法更新视图 \"%2$s\" 的字段 \"%1$s\""
 
-#: rewrite/rewriteHandler.c:3106
+#: rewrite/rewriteHandler.c:3130
 #, c-format
 msgid ""
 "DO INSTEAD NOTHING rules are not supported for data-modifying statements in "
 "WITH"
 msgstr "DO INSTEAD NOTHING规则不支持在WITH子句中执行数据修改操作"
 
-#: rewrite/rewriteHandler.c:3120
+#: rewrite/rewriteHandler.c:3144
 #, c-format
 msgid ""
 "conditional DO INSTEAD rules are not supported for data-modifying statements "
 "in WITH"
 msgstr "DO INSTEAD 条件规则不支持在WITH子句中执行数据修改操作"
 
-#: rewrite/rewriteHandler.c:3124
+#: rewrite/rewriteHandler.c:3148
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "DO ALSO 规则不支持在WITH子句中执行数据修改操作"
 
-#: rewrite/rewriteHandler.c:3129
+#: rewrite/rewriteHandler.c:3153
 #, c-format
 msgid ""
 "multi-statement DO INSTEAD rules are not supported for data-modifying "
 "statements in WITH"
 msgstr "多语句 DO INSTEAD 规则不支持在WITH子句中执行数据修改操作"
 
-#: rewrite/rewriteHandler.c:3344
+#: rewrite/rewriteHandler.c:3368
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "无法在关系\"%s\"上执行INSERT RETURNING "
 
-#: rewrite/rewriteHandler.c:3346
+#: rewrite/rewriteHandler.c:3370
 #, c-format
 msgid ""
 "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "您需要一个无条件, 且带有RETURNING子句的ON INSERT DO INSTEAD的规则."
 
-#: rewrite/rewriteHandler.c:3351
+#: rewrite/rewriteHandler.c:3375
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "无法在关系\"%s\"执行UPDATE RETURNING"
 
-#: rewrite/rewriteHandler.c:3353
+#: rewrite/rewriteHandler.c:3377
 #, c-format
 msgid ""
 "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "您需要一个无条件的 ON UPDATE DO INSTEAD 规则."
 
-#: rewrite/rewriteHandler.c:3358
+#: rewrite/rewriteHandler.c:3382
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "无法在关系 \"%s\"上执行DELETE RETURNING"
 
-#: rewrite/rewriteHandler.c:3360
+#: rewrite/rewriteHandler.c:3384
 #, c-format
 msgid ""
 "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "您需要一个无条件, 且带有RETURNING子句的ON DELETE DO INSTEAD 规则."
 
-#: rewrite/rewriteHandler.c:3378
+#: rewrite/rewriteHandler.c:3402
 #, c-format
 msgid ""
 "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or "
 "UPDATE rules"
 msgstr "无法对具有INSERT或者UPDATE规则的表使用带有ON CONFLICT子句的INSERT"
 
-#: rewrite/rewriteHandler.c:3435
+#: rewrite/rewriteHandler.c:3459
 #, c-format
 msgid ""
 "WITH cannot be used in a query that is rewritten by rules into multiple "
 "queries"
 msgstr "WITH 不能用于按规则可重写为多个查询的查询语句中"
 
-#: rewrite/rewriteManip.c:1006
+#: rewrite/rewriteManip.c:1003
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "条件工具语句没有实现"
 
-#: rewrite/rewriteManip.c:1172
+#: rewrite/rewriteManip.c:1169
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "未实现在视图上的WHERE CURRENT OF操作"
 
-#: rewrite/rewriteManip.c:1437
+#: rewrite/rewriteManip.c:1434
 #, c-format
 msgid ""
 "NEW variables in ON UPDATE rules cannot reference columns that are part of a "
@@ -16510,24 +17010,24 @@ msgstr "有多条规则的名字是 \"%s\""
 msgid "Specify a relation name as well as a rule name."
 msgstr "指定一个关系名称, 和规则名称一样."
 
-#: scan.l:432
+#: scan.l:433
 msgid "unterminated /* comment"
 msgstr "/* 注释没有结束"
 
-#: scan.l:461
+#: scan.l:462
 msgid "unterminated bit string literal"
 msgstr "未结束的bit字符串常量"
 
-#: scan.l:482
+#: scan.l:483
 msgid "unterminated hexadecimal string literal"
 msgstr "未结束的16进制字符串常量"
 
-#: scan.l:532
+#: scan.l:533
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "这种使用带有Unicode转义字符的字符串常量的方法不安全."
 
-#: scan.l:533
+#: scan.l:534
 #, c-format
 msgid ""
 "String constants with Unicode escapes cannot be used when "
@@ -16536,101 +17036,101 @@ msgstr ""
 "当参数standard_conforming_strings处于关闭状态时,无法使用带有Unicode转义字符"
 "的字符串常量."
 
-#: scan.l:577 scan.l:773
+#: scan.l:580 scan.l:779
 msgid "invalid Unicode escape character"
 msgstr "无效Unicode转义字符"
 
-#: scan.l:602 scan.l:610 scan.l:618 scan.l:619 scan.l:620 scan.l:1329
-#: scan.l:1356 scan.l:1360 scan.l:1398 scan.l:1402 scan.l:1424
+#: scan.l:606 scan.l:614 scan.l:622 scan.l:623 scan.l:624 scan.l:1338
+#: scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433
 msgid "invalid Unicode surrogate pair"
 msgstr "无效的Unicode代理项对(surrogate pair)"
 
-#: scan.l:624
+#: scan.l:628
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "无效的Unicode转义字符"
 
-#: scan.l:625
+#: scan.l:629
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Unicode转义字符必须是\\uXXXX或\\UXXXXXXXX."
 
-#: scan.l:636
+#: scan.l:640
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "在字符串常量中使用\\不安全"
 
-#: scan.l:637
+#: scan.l:641
 #, c-format
 msgid ""
 "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
 msgstr "使用''在字符串中表示引号,在只有客户端使用的编码中使用\\'不安全."
 
-#: scan.l:712
+#: scan.l:716
 msgid "unterminated dollar-quoted string"
 msgstr "未结束的用$符号引用的字符串"
 
-#: scan.l:729 scan.l:753 scan.l:768
+#: scan.l:733 scan.l:759 scan.l:774
 msgid "zero-length delimited identifier"
 msgstr "长度为0的分隔标示符"
 
-#: scan.l:788
+#: scan.l:794
 msgid "unterminated quoted identifier"
 msgstr "未结束的引用标识符"
 
-#: scan.l:919
+#: scan.l:925
 msgid "operator too long"
 msgstr "操作符太长"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1072
+#: scan.l:1078
 #, c-format
 msgid "%s at end of input"
 msgstr "%s 在输入的末尾"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1080
+#: scan.l:1086 syncrep_scanner.l:115
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s 在 \"%s\" 或附近的"
 
-#: scan.l:1245 scan.l:1277
+#: scan.l:1252 scan.l:1284
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
 "the server encoding is not UTF8"
 msgstr "当服务器的编码不是UTF8时,无法为在007F以上的码点值使用Unicode转义值."
 
-#: scan.l:1273 scan.l:1416
+#: scan.l:1280 scan.l:1425
 msgid "invalid Unicode escape value"
 msgstr "无效的Unicode转义值"
 
-#: scan.l:1472
+#: scan.l:1482
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "在字符串常量中以不标准的方法使用\\'"
 
-#: scan.l:1473
+#: scan.l:1483
 #, c-format
 msgid ""
 "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
 msgstr "使用''或者转义字符串语法(E'...')将字符串引起来."
 
-#: scan.l:1482
+#: scan.l:1492
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "在字符串常量中以不标准的方法使用\\\\ "
 
-#: scan.l:1483
+#: scan.l:1493
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr "为反斜线使用转移字符串语法,例如.,E'\\\\'."
 
-#: scan.l:1497
+#: scan.l:1507
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "在字符串常量中以不标准的方法使用转义字符"
 
-#: scan.l:1498
+#: scan.l:1508
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "对转移字符使用转义字符串语法,例如 E'\\r\\n'."
@@ -16661,96 +17161,125 @@ msgstr "未识别Snowball参数: \"%s\""
 msgid "missing Language parameter"
 msgstr "缺少语言参数"
 
-#: storage/buffer/bufmgr.c:442 storage/buffer/bufmgr.c:555
+#: storage/buffer/bufmgr.c:544 storage/buffer/bufmgr.c:657
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "无法访问其它会话的临时表"
 
-#: storage/buffer/bufmgr.c:704
+#: storage/buffer/bufmgr.c:807
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "关系 \"%2$s\" 的块 %1$u 中的EOF后面出现未期望的数据"
 
-#: storage/buffer/bufmgr.c:706
+#: storage/buffer/bufmgr.c:809
 #, c-format
 msgid ""
 "This has been seen to occur with buggy kernels; consider updating your "
 "system."
 msgstr "这是由于内核缺陷所致;请考虑更新您的操作系统."
 
-#: storage/buffer/bufmgr.c:793
+#: storage/buffer/bufmgr.c:907
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "关系 \"%2$s\" 中的块 %1$u 无效的页;正在对页进行清零操作"
 
-#: storage/buffer/bufmgr.c:3569
+#: storage/buffer/bufmgr.c:3951
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "无法写入%2$s的块%1$u"
 
-#: storage/buffer/bufmgr.c:3571
+#: storage/buffer/bufmgr.c:3953
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "多次失败 --- 写错误可能是永久性的"
 
-#: storage/buffer/bufmgr.c:3592 storage/buffer/bufmgr.c:3611
+#: storage/buffer/bufmgr.c:3974 storage/buffer/bufmgr.c:3993
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "写入关系%2$s的块%1$u"
 
-#: storage/buffer/localbuf.c:189
+#: storage/buffer/bufmgr.c:4317
+#, c-format
+#| msgid "snapshot_id"
+msgid "snapshot too old"
+msgstr "快照太旧"
+
+#: storage/buffer/localbuf.c:198
 #, c-format
 msgid "no empty local buffer available"
 msgstr "没有可用的本地缓冲区"
 
+#: storage/file/fd.c:436 storage/file/fd.c:508 storage/file/fd.c:544
+#, c-format
+#| msgid "could not redirect stdout: %m"
+msgid "could not flush dirty data: %m"
+msgstr "无法刷出脏数据:%m"
+
+#: storage/file/fd.c:466
+#, c-format
+#| msgid "could not determine input data type"
+msgid "could not determine dirty data size: %m"
+msgstr "无法确定脏数据的尺寸:%m"
+
+#: storage/file/fd.c:518
+#, c-format
+#| msgid "could not uncompress data: %s\n"
+msgid "could not munmap() while flushing data: %m"
+msgstr "在刷写数据时不能 munmap():%m"
+
+#: storage/file/fd.c:682
+#, c-format
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "无法把文件 \"%s\" 链接到 \"%s\": %m"
+
 # fe-misc.c:389 fe-misc.c:423 fe-misc.c:838
-#: storage/file/fd.c:528
+#: storage/file/fd.c:776
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "函数getrlimit执行失败: %m"
 
-#: storage/file/fd.c:618
+#: storage/file/fd.c:866
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "启动服务器进程的有效文件描述符不足"
 
-#: storage/file/fd.c:619
+#: storage/file/fd.c:867
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "系统允许 %d, 我们至少需要 %d."
 
-#: storage/file/fd.c:660 storage/file/fd.c:1694 storage/file/fd.c:1787
-#: storage/file/fd.c:1935
+#: storage/file/fd.c:908 storage/file/fd.c:2001 storage/file/fd.c:2094
+#: storage/file/fd.c:2242
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "超出文件描述符: %m; 释放再重试"
 
-#: storage/file/fd.c:1234
+#: storage/file/fd.c:1482
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "临时文件: 路径 \"%s\", 大小%lu"
 
-#: storage/file/fd.c:1383
+#: storage/file/fd.c:1656
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "临时文件大小超过最大允许值temp_file_limit(%dkB)"
 
-#: storage/file/fd.c:1670 storage/file/fd.c:1720
+#: storage/file/fd.c:1977 storage/file/fd.c:2027
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "试图打开文件 \"%2$s\"超出了最大描述符范围值 (%1$d)"
 
-#: storage/file/fd.c:1760
+#: storage/file/fd.c:2067
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr "试图执行命令 \"%2$s\"时,超出了最大描述符范围值 (%1$d)"
 
-#: storage/file/fd.c:1911
+#: storage/file/fd.c:2218
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr "试图打开目录 \"%2$s\"时,超出了最大描述符范围值 (%1$d)"
 
-#: storage/file/fd.c:1997
+#: storage/file/fd.c:2304
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "无法读取目录 \"%s\": %m"
@@ -16832,28 +17361,45 @@ msgstr "无法创建共享内存段\"%s\": %m"
 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:867 storage/lmgr/lock.c:901 storage/lmgr/lock.c:2598
-#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
-#: storage/lmgr/predicate.c:2328 storage/lmgr/predicate.c:2343
-#: storage/lmgr/predicate.c:3735 storage/lmgr/predicate.c:4878
-#: storage/lmgr/proc.c:200 utils/hash/dynahash.c:998
+#: storage/ipc/latch.c:769
+#, c-format
+#| msgid "poll() failed: %m"
+msgid "epoll_ctl() failed: %m"
+msgstr "epoll_ctl() 失败:%m"
+
+#: storage/ipc/latch.c:993
+#, c-format
+#| msgid "poll() failed: %m"
+msgid "epoll_wait() failed: %m"
+msgstr "epoll_wait() 失败:%m"
+
+#: storage/ipc/latch.c:1113
+#, c-format
+msgid "poll() failed: %m"
+msgstr "poll()失败: %m"
+
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:210
+#: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682
+#: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364
+#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
+#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879
+#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1045
 #, c-format
 msgid "out of shared memory"
 msgstr "共享内存用尽"
 
-#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
+#: storage/ipc/shmem.c:366 storage/ipc/shmem.c:417
 #, c-format
 msgid ""
 "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
 msgstr "没有足够的共享内存提供给数据结构\"%s\" (需要%zu个字节)"
 
-#: storage/ipc/shmem.c:380
+#: storage/ipc/shmem.c:385
 #, c-format
 msgid "could not create ShmemIndex entry for data structure \"%s\""
 msgstr "无法为数据结构\"%s\"创建ShmemIndex项"
 
-#: storage/ipc/shmem.c:395
+#: storage/ipc/shmem.c:400
 #, c-format
 msgid ""
 "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, "
@@ -16861,17 +17407,17 @@ msgid ""
 msgstr ""
 "对于数据结构\"%s\"来说ShmemIndex项的大小错误:所期望的值是%zu,实的值是%zu"
 
-#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
+#: storage/ipc/shmem.c:445 storage/ipc/shmem.c:464
 #, c-format
 msgid "requested shared memory size overflows size_t"
 msgstr "所要求的共享内存大小超过size_t"
 
-#: storage/ipc/standby.c:500 tcop/postgres.c:2974
+#: storage/ipc/standby.c:527 tcop/postgres.c:2963
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "由于与恢复操作冲突,正在取消语句命令"
 
-#: storage/ipc/standby.c:501 tcop/postgres.c:2274
+#: storage/ipc/standby.c:528 tcop/postgres.c:2265
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "用户事务造成了恢复操作期间缓冲区的死锁"
@@ -16896,144 +17442,143 @@ msgstr "无效的根源设置: %d"
 msgid "invalid large object write request size: %d"
 msgstr "无效的大对象写请求大小: %d"
 
-#: storage/lmgr/deadlock.c:925
+#: storage/lmgr/deadlock.c:1109
 #, c-format
 msgid "Process %d waits for %s on %s; blocked by process %d."
 msgstr "进程%1$d等待在%3$s上的%2$s; 由进程%4$d阻塞."
 
-#: storage/lmgr/deadlock.c:944
+#: storage/lmgr/deadlock.c:1128
 #, c-format
 msgid "Process %d: %s"
 msgstr "进程 %d: %s"
 
-#: storage/lmgr/deadlock.c:953
+#: storage/lmgr/deadlock.c:1137
 #, c-format
 msgid "deadlock detected"
 msgstr "检测到死锁"
 
-#: storage/lmgr/deadlock.c:956
+#: storage/lmgr/deadlock.c:1140
 #, c-format
 msgid "See server log for query details."
 msgstr "详细信息请查看服务器日志."
 
-#: storage/lmgr/lmgr.c:684
+#: storage/lmgr/lmgr.c:719
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "当更新关系\"%3$s\"的元组(%1$u, %2$u)时"
 
-#: storage/lmgr/lmgr.c:687
+#: storage/lmgr/lmgr.c:722
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "当删除关系\"%3$s\"的元组(%1$u, %2$u)时"
 
-#: storage/lmgr/lmgr.c:690
+#: storage/lmgr/lmgr.c:725
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "当锁定关系\"%3$s\"的元组(%1$u, %2$u)时"
 
-#: storage/lmgr/lmgr.c:693
+#: storage/lmgr/lmgr.c:728
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "在锁定关系\"%3$s\"中的元组的更新版本 (%1$u,%2$u) 时"
 
-#: storage/lmgr/lmgr.c:696
+#: storage/lmgr/lmgr.c:731
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "在往关系\"%3$s\"中插入索引元组 (%1$u,%2$u) 时"
 
-#: storage/lmgr/lmgr.c:699
+#: storage/lmgr/lmgr.c:734
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "在检查关系\"%3$s\"中元组(%1$u, %2$u)的唯一性时"
 
-#: storage/lmgr/lmgr.c:702
+#: storage/lmgr/lmgr.c:737
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "重新检查关系 \"%3$s\"中已更新的元组(%1$u, %2$u)时"
 
-#: storage/lmgr/lmgr.c:705
+#: storage/lmgr/lmgr.c:740
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "在检查关系\"%3$s\"中的元组(%1$u, %2$u)的排它性依赖时"
 
-#: storage/lmgr/lmgr.c:925
+#: storage/lmgr/lmgr.c:960
 #, c-format
 msgid "relation %u of database %u"
 msgstr "数据库%2$u的关系%1$u"
 
-#: storage/lmgr/lmgr.c:931
+#: storage/lmgr/lmgr.c:966
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "数据库%2$u的关系%1$u的扩展"
 
-#: storage/lmgr/lmgr.c:937
+#: storage/lmgr/lmgr.c:972
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "数据库%3$u的关系%2$u的页%1$u"
 
-#: storage/lmgr/lmgr.c:944
+#: storage/lmgr/lmgr.c:979
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "数据库%4$u的关系%3$u中的元组(%1$u,%2$u)"
 
-#: storage/lmgr/lmgr.c:952
+#: storage/lmgr/lmgr.c:987
 #, c-format
 msgid "transaction %u"
 msgstr "事务 %u"
 
 # sql_help.h:101
 # sql_help.h:413
-#: storage/lmgr/lmgr.c:957
+#: storage/lmgr/lmgr.c:992
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "虚拟事务 %d/%u"
 
-#: storage/lmgr/lmgr.c:963
+#: storage/lmgr/lmgr.c:998
 #, c-format
-#| msgid "could not access status of transaction %u"
 msgid "speculative token %u of transaction %u"
 msgstr "事务%2$u的推测记号是%1$u"
 
-#: storage/lmgr/lmgr.c:969
+#: storage/lmgr/lmgr.c:1004
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "数据库%3$u的类%2$u的对象%1$u"
 
-#: storage/lmgr/lmgr.c:977
+#: storage/lmgr/lmgr.c:1012
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "用户锁[%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:984
+#: storage/lmgr/lmgr.c:1019
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "建议锁 [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:992
+#: storage/lmgr/lmgr.c:1027
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "未知的locktag 类型  %d"
 
-#: storage/lmgr/lock.c:716
+#: storage/lmgr/lock.c:732
 #, c-format
 msgid ""
 "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr "在恢复操作的过程中不能在数据库对象上获取锁模式%s"
 
-#: storage/lmgr/lock.c:718
+#: storage/lmgr/lock.c:734
 #, c-format
 msgid ""
 "Only RowExclusiveLock or less can be acquired on database objects during "
 "recovery."
 msgstr "在恢复操作期间只有在数据对象上获取RowExclusiveLock或者更低级别的锁。"
 
-#: storage/lmgr/lock.c:868 storage/lmgr/lock.c:902 storage/lmgr/lock.c:2599
-#: storage/lmgr/lock.c:3715 storage/lmgr/lock.c:3780 storage/lmgr/lock.c:4070
+#: storage/lmgr/lock.c:884 storage/lmgr/lock.c:918 storage/lmgr/lock.c:2683
+#: storage/lmgr/lock.c:4008 storage/lmgr/lock.c:4073 storage/lmgr/lock.c:4365
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "您可能需要增加参数max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3040 storage/lmgr/lock.c:3152
+#: storage/lmgr/lock.c:3124 storage/lmgr/lock.c:3240
 #, c-format
 msgid ""
 "cannot PREPARE while holding both session-level and transaction-level locks "
@@ -17059,36 +17604,36 @@ msgid ""
 "conflict"
 msgstr "RWConflictPool(读写冲突池)没有足够的元素来记录可能的读/写冲突"
 
-#: storage/lmgr/predicate.c:908
+#: storage/lmgr/predicate.c:909
 #, c-format
 msgid "memory for serializable conflict tracking is nearly exhausted"
 msgstr "串行化冲突跟踪所需要的内存几乎耗尽"
 
-#: storage/lmgr/predicate.c:909
+#: storage/lmgr/predicate.c:910
 #, c-format
 msgid ""
 "There might be an idle transaction or a forgotten prepared transaction "
 "causing this."
 msgstr "可能是由于空闲事务或者一个忘了准备的事务导致此问题."
 
-#: storage/lmgr/predicate.c:1189 storage/lmgr/predicate.c:1260
+#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1261
 #, c-format
 msgid ""
 "not enough shared memory for elements of data structure \"%s\" (%zu bytes "
 "requested)"
 msgstr "没有足够的共享内存供数据结构\"%s\"使用 (它需要%zu个字节)"
 
-#: storage/lmgr/predicate.c:1548
+#: storage/lmgr/predicate.c:1549
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "可延缓的快照不安全;请尝试使用新的快照"
 
-#: storage/lmgr/predicate.c:1587
+#: storage/lmgr/predicate.c:1588
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "\"default_transaction_isolation\"被设置为\"可串行化\"."
 
-#: storage/lmgr/predicate.c:1588
+#: storage/lmgr/predicate.c:1589
 #, c-format
 msgid ""
 "You can use \"SET default_transaction_isolation = 'repeatable read'\" to "
@@ -17097,63 +17642,63 @@ msgstr ""
 "您可以使用 \"SET default_transaction_isolation = 'repeatable read'\"来改变缺"
 "省值."
 
-#: storage/lmgr/predicate.c:1627
+#: storage/lmgr/predicate.c:1628
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "快照导入事务不能是可延缓的只读事务"
 
-#: storage/lmgr/predicate.c:1705 utils/time/snapmgr.c:431
-#: utils/time/snapmgr.c:437
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:535
+#: utils/time/snapmgr.c:541
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "无法导入请求的快照"
 
-#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:438
+#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:542
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "源事务 %u 不再运行."
 
-#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
-#: storage/lmgr/predicate.c:3736
+#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345
+#: storage/lmgr/predicate.c:3737
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "您可能需要增大参数max_pred_locks_per_transaction的值."
 
-#: storage/lmgr/predicate.c:3890 storage/lmgr/predicate.c:3979
-#: storage/lmgr/predicate.c:3987 storage/lmgr/predicate.c:4026
-#: storage/lmgr/predicate.c:4265 storage/lmgr/predicate.c:4602
-#: storage/lmgr/predicate.c:4614 storage/lmgr/predicate.c:4656
-#: storage/lmgr/predicate.c:4694
+#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980
+#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027
+#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603
+#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657
+#: storage/lmgr/predicate.c:4695
 #, c-format
 msgid ""
 "could not serialize access due to read/write dependencies among transactions"
 msgstr "由于多个事务间的读/写依赖而无法串行访问"
 
-#: storage/lmgr/predicate.c:3892 storage/lmgr/predicate.c:3981
-#: storage/lmgr/predicate.c:3989 storage/lmgr/predicate.c:4028
-#: storage/lmgr/predicate.c:4267 storage/lmgr/predicate.c:4604
-#: storage/lmgr/predicate.c:4616 storage/lmgr/predicate.c:4658
-#: storage/lmgr/predicate.c:4696
+#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982
+#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029
+#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605
+#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659
+#: storage/lmgr/predicate.c:4697
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "该事务如果重试,有可能成功."
 
-#: storage/lmgr/proc.c:1164
+#: storage/lmgr/proc.c:1263
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "进程%1$d等待在%3$s上的%2$s"
 
-#: storage/lmgr/proc.c:1175
+#: storage/lmgr/proc.c:1274
 #, c-format
 msgid "sending cancel to blocking autovacuum PID %d"
 msgstr "向阻塞的自动清理(autovacuum)进程%d发送取消(cancel)请求"
 
-#: storage/lmgr/proc.c:1193 utils/adt/misc.c:146
+#: storage/lmgr/proc.c:1292 utils/adt/misc.c:270
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "无法发送信号到进程 %d: %m"
 
-#: storage/lmgr/proc.c:1295
+#: storage/lmgr/proc.c:1394
 #, c-format
 msgid ""
 "process %d avoided deadlock for %s on %s by rearranging queue order after "
@@ -17161,23 +17706,23 @@ msgid ""
 msgstr ""
 "进程%1$d在%4$ld.%5$03d ms通过重新安排序列顺序来避免在%3$s上的%2$s的死锁"
 
-#: storage/lmgr/proc.c:1310
+#: storage/lmgr/proc.c:1409
 #, c-format
 msgid ""
 "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
 msgstr "进程%1$d在%4$ld.%5$03d ms等待在%3$s上的%2$s同时监测到死锁"
 
-#: storage/lmgr/proc.c:1319
+#: storage/lmgr/proc.c:1418
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr "进程%1$d在%4$ld.%5$03d ms仍然等待在%3$s上的%2$s"
 
-#: storage/lmgr/proc.c:1326
+#: storage/lmgr/proc.c:1425
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "进程%1$d在%4$ld.%5$03d ms后获取在%3$s上的%2$s"
 
-#: storage/lmgr/proc.c:1342
+#: storage/lmgr/proc.c:1441
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr "进程%1$d在%4$ld.%5$03d ms后获取在%3$s上的%2$s失败"
@@ -17212,11 +17757,10 @@ msgstr "已损坏的成员指针: 偏移量 = %u, 大小 = %u"
 
 #: storage/page/bufpage.c:965
 #, c-format
-#| msgid "corrupted item pointer: offset = %u, size = %u"
 msgid "corrupted item pointer: offset = %u, length = %u"
 msgstr "损坏的项指针:偏移量 = %u,长度 = %u"
 
-#: storage/smgr/md.c:442 storage/smgr/md.c:913
+#: storage/smgr/md.c:442 storage/smgr/md.c:962
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "无法截断文件 \"%s\": %m"
@@ -17226,7 +17770,7 @@ msgstr "无法截断文件 \"%s\": %m"
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "扩展文件\"%s\"的大小不能超过%u个数据块"
 
-#: storage/smgr/md.c:531 storage/smgr/md.c:692 storage/smgr/md.c:767
+#: storage/smgr/md.c:531 storage/smgr/md.c:743 storage/smgr/md.c:818
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "无法在文件\"%2$s\"中查找到数据块%1$u: %3$m"
@@ -17236,7 +17780,7 @@ msgstr "无法在文件\"%2$s\"中查找到数据块%1$u: %3$m"
 msgid "could not extend file \"%s\": %m"
 msgstr "无法扩展文件 \"%s\": %m"
 
-#: storage/smgr/md.c:541 storage/smgr/md.c:548 storage/smgr/md.c:794
+#: storage/smgr/md.c:541 storage/smgr/md.c:548 storage/smgr/md.c:845
 #, c-format
 msgid "Check free disk space."
 msgstr "检查空闲磁盘控件."
@@ -17246,47 +17790,47 @@ msgstr "检查空闲磁盘控件."
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "无法扩展文件\"%1$s\": 只能在块%4$u上写%3$d字节的%2$d"
 
-#: storage/smgr/md.c:710
+#: storage/smgr/md.c:761
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "无法在文件\"%2$s\"中读取块%1$u: %3$m"
 
-#: storage/smgr/md.c:726
+#: storage/smgr/md.c:777
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "无法读取文件\"%2$s\"的块%1$u:只读取了%4$d字节的%3$d"
 
-#: storage/smgr/md.c:785
+#: storage/smgr/md.c:836
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "无法在文件 \"%2$s\"中写入块%1$u: %3$m"
 
-#: storage/smgr/md.c:790
+#: storage/smgr/md.c:841
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "无法对文件\"%2$s\"写操作数据块%1$u: 只写了%4$d字节的%3$d"
 
-#: storage/smgr/md.c:889
+#: storage/smgr/md.c:938
 #, 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:938
+#: storage/smgr/md.c:987
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "无法将文件\"%s\"截断到%u个数据块: %m"
 
-#: storage/smgr/md.c:1218
+#: storage/smgr/md.c:1267
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr "无法对文件\"%s\"进行fsync操作但是正在重新尝试: %m"
 
-#: storage/smgr/md.c:1381
+#: storage/smgr/md.c:1430
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr "请求队列已满,无法转发fsync请求"
 
-#: storage/smgr/md.c:1776
+#: storage/smgr/md.c:1825
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "无法打开文件\"%s\"(目标数据块%u): %m"
@@ -17296,9 +17840,9 @@ msgstr "无法打开文件\"%s\"(目标数据块%u): %m"
 msgid "invalid argument size %d in function call message"
 msgstr "在函数调用信息中, 参数大小 %d 是无效的"
 
-#: tcop/fastpath.c:291 tcop/postgres.c:1003 tcop/postgres.c:1313
-#: tcop/postgres.c:1571 tcop/postgres.c:1975 tcop/postgres.c:2342
-#: tcop/postgres.c:2417
+#: tcop/fastpath.c:291 tcop/postgres.c:992 tcop/postgres.c:1303
+#: tcop/postgres.c:1561 tcop/postgres.c:1966 tcop/postgres.c:2333
+#: tcop/postgres.c:2408
 #, c-format
 msgid ""
 "current transaction is aborted, commands ignored until end of transaction "
@@ -17310,8 +17854,8 @@ msgstr "当前事务被终止, 事务块结束之前的查询被忽略"
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "快捷路径函数调用: \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:401 tcop/postgres.c:1173 tcop/postgres.c:1438
-#: tcop/postgres.c:1816 tcop/postgres.c:2033
+#: tcop/fastpath.c:401 tcop/postgres.c:1163 tcop/postgres.c:1428
+#: tcop/postgres.c:1807 tcop/postgres.c:2024
 #, c-format
 msgid "duration: %s ms"
 msgstr "执行时间: %s ms"
@@ -17336,23 +17880,23 @@ msgstr "函数调用信息为包含 %d 个参数的格式, 但给定了 %d 个
 msgid "incorrect binary data format in function argument %d"
 msgstr "函数参数 %d 为不正确的二进制数据格式"
 
-#: tcop/postgres.c:363 tcop/postgres.c:399 tcop/postgres.c:426
+#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
 #, c-format
 msgid "unexpected EOF on client connection"
 msgstr "在客户端联接上的意外 EOF"
 
-#: tcop/postgres.c:449 tcop/postgres.c:461 tcop/postgres.c:472
-#: tcop/postgres.c:484 tcop/postgres.c:4268
+#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461
+#: tcop/postgres.c:473 tcop/postgres.c:4297
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "无效前端信息类型 %d"
 
-#: tcop/postgres.c:944
+#: tcop/postgres.c:933
 #, c-format
 msgid "statement: %s"
 msgstr "语句: %s"
 
-#: tcop/postgres.c:1178
+#: tcop/postgres.c:1168
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "执行时间: %s ms 语句: %s"
@@ -17370,123 +17914,123 @@ msgstr "执行时间: %s ms 语句: %s"
 # common.c:170
 # copy.c:530
 # copy.c:575
-#: tcop/postgres.c:1228
+#: tcop/postgres.c:1218
 #, c-format
 msgid "parse %s: %s"
 msgstr "解析 %s: %s"
 
-#: tcop/postgres.c:1286
+#: tcop/postgres.c:1276
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "无法插入多条命令到一个准备好的语句中"
 
-#: tcop/postgres.c:1443
+#: tcop/postgres.c:1433
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "执行时间: %s ms  解析 %s: %s"
 
-#: tcop/postgres.c:1488
+#: tcop/postgres.c:1478
 #, c-format
 msgid "bind %s to %s"
 msgstr "将%s绑定到%s"
 
-#: tcop/postgres.c:1507 tcop/postgres.c:2323
+#: tcop/postgres.c:1497 tcop/postgres.c:2314
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "未命名的准备语句不存在"
 
-#: tcop/postgres.c:1549
+#: tcop/postgres.c:1539
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr "绑定信息有%d个参数格式,但是实际上有%d个参数"
 
-#: tcop/postgres.c:1555
+#: tcop/postgres.c:1545
 #, c-format
 msgid ""
 "bind message supplies %d parameters, but prepared statement \"%s\" requires "
 "%d"
 msgstr "绑定消息提供了%d个参数,但是已准备好语句\"%s\" 要求%d个参数"
 
-#: tcop/postgres.c:1723
+#: tcop/postgres.c:1714
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "在绑定参数%d中出现不正确的二进制数据"
 
-#: tcop/postgres.c:1821
+#: tcop/postgres.c:1812
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "执行时间: %s ms 绑定%s%s%s: %s"
 
-#: tcop/postgres.c:1869 tcop/postgres.c:2403
+#: tcop/postgres.c:1860 tcop/postgres.c:2394
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "入口 \"%s\" 不存在"
 
-#: tcop/postgres.c:1954
+#: tcop/postgres.c:1945
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1956 tcop/postgres.c:2041
+#: tcop/postgres.c:1947 tcop/postgres.c:2032
 msgid "execute fetch from"
 msgstr "执行FETCH操作"
 
-#: tcop/postgres.c:1957 tcop/postgres.c:2042
+#: tcop/postgres.c:1948 tcop/postgres.c:2033
 msgid "execute"
 msgstr "执行"
 
-#: tcop/postgres.c:2038
+#: tcop/postgres.c:2029
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "执行时间: %s ms %s%s%s%s: %s"
 
-#: tcop/postgres.c:2164
+#: tcop/postgres.c:2155
 #, c-format
 msgid "prepare: %s"
 msgstr "准备: %s"
 
-#: tcop/postgres.c:2227
+#: tcop/postgres.c:2218
 #, c-format
 msgid "parameters: %s"
 msgstr "参数: %s"
 
-#: tcop/postgres.c:2246
+#: tcop/postgres.c:2237
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "中断原因:与恢复操作相冲突"
 
-#: tcop/postgres.c:2262
+#: tcop/postgres.c:2253
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "用户所持有共享缓存锁的时间太长了."
 
-#: tcop/postgres.c:2265
+#: tcop/postgres.c:2256
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "用户对一个关系正在持有的锁的时间太长了."
 
-#: tcop/postgres.c:2268
+#: tcop/postgres.c:2259
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr "用户正在使用一个必须被删除的表空间"
 
-#: tcop/postgres.c:2271
+#: tcop/postgres.c:2262
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr "用户查询可能需要看到而必须被删除的行版本号"
 
 # large_obj.c:36
-#: tcop/postgres.c:2277
+#: tcop/postgres.c:2268
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "用户连接到必须被删除的数据库"
 
-#: tcop/postgres.c:2606
+#: tcop/postgres.c:2597
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "中断联接, 因为其它服务器进程崩溃"
 
-#: tcop/postgres.c:2607
+#: tcop/postgres.c:2598
 #, c-format
 msgid ""
 "The postmaster has commanded this server process to roll back the current "
@@ -17496,77 +18040,83 @@ msgstr ""
 "Postmaster 命令此服务器进程回滚当前事物并退出, 因为其它服务器进程不正常的退出"
 "可能毁坏了共享内存."
 
-#: tcop/postgres.c:2611 tcop/postgres.c:2917
+#: tcop/postgres.c:2602 tcop/postgres.c:2906
 #, c-format
 msgid ""
 "In a moment you should be able to reconnect to the database and repeat your "
 "command."
 msgstr "一会儿你将可以重联接数据库并且重复你的命令."
 
-#: tcop/postgres.c:2697
+#: tcop/postgres.c:2688
 #, c-format
 msgid "floating-point exception"
 msgstr "浮点异常"
 
-#: tcop/postgres.c:2698
+#: tcop/postgres.c:2689
 #, c-format
 msgid ""
 "An invalid floating-point operation was signaled. This probably means an out-"
 "of-range result or an invalid operation, such as division by zero."
 msgstr "无效的浮点数操作.这表示结果越界或者进行了无效的操作,例如除零."
 
-#: tcop/postgres.c:2862
+#: tcop/postgres.c:2851
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "由于超时,正在取消认证鉴权命令"
 
-#: tcop/postgres.c:2866
+#: tcop/postgres.c:2855
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "由于管理员命令中断autovacuum进程"
 
-#: tcop/postgres.c:2872 tcop/postgres.c:2882 tcop/postgres.c:2915
+#: tcop/postgres.c:2861 tcop/postgres.c:2871 tcop/postgres.c:2904
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "由于与恢复操作相冲突而中断连接"
 
-#: tcop/postgres.c:2888
+#: tcop/postgres.c:2877
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "由于管理员命令中断联接"
 
 # common.c:298
-#: tcop/postgres.c:2898
+#: tcop/postgres.c:2887
 #, c-format
 msgid "connection to client lost"
 msgstr "丢失了到客户端的连接"
 
-#: tcop/postgres.c:2951
+#: tcop/postgres.c:2940
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "由于锁超时,取消语句操作"
 
-#: tcop/postgres.c:2958
+#: tcop/postgres.c:2947
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "由于语句执行超时,正在取消查询命令"
 
-#: tcop/postgres.c:2965
+#: tcop/postgres.c:2954
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "正在取消自动清理任务"
 
-#: tcop/postgres.c:2988
+#: tcop/postgres.c:2977
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "由于用户请求而正在取消查询"
 
-#: tcop/postgres.c:3098
+#: tcop/postgres.c:2987
+#, c-format
+#| msgid "terminating connection due to administrator command"
+msgid "terminating connection due to idle-in-transaction timeout"
+msgstr "由于空载事务超时而终止连接"
+
+#: tcop/postgres.c:3101
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "堆栈深度超过限制"
 
-#: tcop/postgres.c:3099
+#: tcop/postgres.c:3102
 #, c-format
 msgid ""
 "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), "
@@ -17575,106 +18125,105 @@ msgstr ""
 "在确定了平台的堆栈深度限制是足够大后,增加配置参数 \"max_stack_depth\"的值(当"
 "前值为%dkB)."
 
-#: tcop/postgres.c:3162
+#: tcop/postgres.c:3165
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "\"max_stack_depth\"不能超过%ldkB."
 
-#: tcop/postgres.c:3164
+#: tcop/postgres.c:3167
 #, c-format
 msgid ""
 "Increase the platform's stack depth limit via \"ulimit -s\" or local "
 "equivalent."
 msgstr "通过命令\"ulimit -s\"或本地相同的命令来增加平台的堆栈深度限制."
 
-#: tcop/postgres.c:3524
+#: tcop/postgres.c:3527
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "服务器进程:%s的无效命令行参数"
 
-#: tcop/postgres.c:3525 tcop/postgres.c:3531
+#: tcop/postgres.c:3528 tcop/postgres.c:3534
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "请用 \"%s --help\" 获取更多的信息."
 
-#: tcop/postgres.c:3529
+#: tcop/postgres.c:3532
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: 无效的命令行参数:%s"
 
-#: tcop/postgres.c:3590
+#: tcop/postgres.c:3594
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: 没有指定数据库, 也没有指定用户名"
 
-#: tcop/postgres.c:4176
+#: tcop/postgres.c:4205
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "无效的 CLOSE 信息子类型 %d"
 
-#: tcop/postgres.c:4211
+#: tcop/postgres.c:4240
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "无效的 DESCRIBE 信息子类型 %d"
 
-#: tcop/postgres.c:4289
+#: tcop/postgres.c:4318
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "复制连接不能使用fastpath函数调用"
 
-#: tcop/postgres.c:4293
+#: tcop/postgres.c:4322
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "扩展的查询协议在复制连接里不支持"
 
-#: tcop/postgres.c:4463
+#: tcop/postgres.c:4492
 #, c-format
 msgid ""
 "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s"
 "%s"
 msgstr "断开连接: 会话时间: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 
-#: tcop/pquery.c:662
+#: tcop/pquery.c:663
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "绑定信息有%d个结果格式,但是在查询中有%d列."
 
-#: tcop/pquery.c:968
+#: tcop/pquery.c:965
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "游标能够只向前扫描"
 
-#: tcop/pquery.c:969
+#: tcop/pquery.c:966
 #, c-format
 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:233
+#: tcop/utility.c:235
 #, 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:251
+#: tcop/utility.c:253
 #, c-format
-#| msgid "cannot execute %s during recovery"
 msgid "cannot execute %s during a parallel operation"
 msgstr "并行操作期间不能执行%s"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:270
+#: tcop/utility.c:272
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "无法在恢复期间执行%s"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:288
+#: tcop/utility.c:290
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "无法在安全限制操作中执行%s"
 
-#: tcop/utility.c:742
+#: tcop/utility.c:744
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "只有超级用户可以做 CHECKPOINT"
@@ -17801,37 +18350,70 @@ msgstr "未识别的同义词字典参数 \"%s\""
 msgid "missing Dictionary parameter"
 msgstr "丢失字典参数"
 
-#: tsearch/spell.c:276
+#: tsearch/spell.c:382 tsearch/spell.c:399 tsearch/spell.c:408
+#: tsearch/spell.c:1034
+#, c-format
+#| msgid "invalid data in file \"%s\""
+msgid "invalid affix flag \"%s\""
+msgstr "无效的词缀标志 \"%s\""
+
+#: tsearch/spell.c:386 tsearch/spell.c:1038
+#, c-format
+#| msgid "%s: transfer rate \"%s\" is out of range\n"
+msgid "affix flag \"%s\" is out of range"
+msgstr "词缀标志 \"%s\" 超过范围"
+
+#: tsearch/spell.c:416
+#, c-format
+#| msgid "invalid data in file \"%s\""
+msgid "invalid character in affix flag \"%s\""
+msgstr "词缀标志 \"%s\" 中有无效字符"
+
+#: tsearch/spell.c:436
+#, c-format
+msgid "invalid affix flag \"%s\" with long flag value"
+msgstr "无效的具有 long 标志值的词缀标志 \"%s\""
+
+#: tsearch/spell.c:523
 #, c-format
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "无法打开字典文件 \"%s\": %m"
 
-#: tsearch/spell.c:439 utils/adt/regexp.c:204
+#: tsearch/spell.c:740 utils/adt/regexp.c:204
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "无效的正则表达式: %s"
 
-#: tsearch/spell.c:596
+#: tsearch/spell.c:1161 tsearch/spell.c:1716
 #, c-format
-msgid "multibyte flag character is not allowed"
-msgstr "不允许使用多字节标志字符"
+#| msgid "invalid cidr value: \"%s\""
+msgid "invalid affix alias \"%s\""
+msgstr "无效的词缀别名 \"%s\""
 
-#: tsearch/spell.c:632 tsearch/spell.c:690 tsearch/spell.c:787
+#: tsearch/spell.c:1210 tsearch/spell.c:1280 tsearch/spell.c:1422
 #, c-format
 msgid "could not open affix file \"%s\": %m"
 msgstr "无法打开affix文件 \"%s\": %m"
 
-#: tsearch/spell.c:678
+#: tsearch/spell.c:1264
 #, c-format
-msgid "Ispell dictionary supports only default flag value"
-msgstr "Ispell 字典只支持缺省标记值"
+#| msgid "Ispell dictionary supports only default flag value"
+msgid "Ispell dictionary supports only default, long and num flag value"
+msgstr "Ispell 字典只支持 default、long 和 num 标志值"
 
-#: tsearch/spell.c:901
+#: tsearch/spell.c:1307
+#, c-format
+#| msgid "%s: invalid number of parallel jobs\n"
+msgid "invalid number of flag vector aliases"
+msgstr "标志向量别名的数量无效"
+
+#: tsearch/spell.c:1538
 #, c-format
 msgid "affix file contains both old-style and new-style commands"
 msgstr "附加文件同时包含老式和新式命令"
 
-#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
+#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270
+#: utils/adt/tsvector_op.c:1064
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "字符串对于tsvector来说太长了(当前 %d字节, 最大允许值是%d字节)"
@@ -17846,14 +18428,14 @@ msgstr "配置文件\"%2$s\"的第%1$d行: \"%3$s\""
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "从wchar_t转换到服务器编码失败: %m"
 
-#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:560
-#: tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:566
+#: tsearch/ts_parse.c:573
 #, c-format
 msgid "word is too long to be indexed"
 msgstr "词太长以至于不能作为索引"
 
-#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:561
-#: tsearch/ts_parse.c:568
+#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:574
 #, c-format
 msgid "Words longer than %d characters are ignored."
 msgstr "超出%d个字符长度的词被忽略."
@@ -17874,175 +18456,180 @@ msgstr "无法打开stop-word 文件 \"%s\": %m"
 msgid "text search parser does not support headline creation"
 msgstr "文本搜索解析器不支持标题创建"
 
-#: tsearch/wparser_def.c:2557
+#: tsearch/wparser_def.c:2583
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "未识别的标题参数: \"%s\""
 
-#: tsearch/wparser_def.c:2566
+#: tsearch/wparser_def.c:2592
 #, c-format
 msgid "MinWords should be less than MaxWords"
 msgstr "MinWords的值应该小于MaxWords的值"
 
-#: tsearch/wparser_def.c:2570
+#: tsearch/wparser_def.c:2596
 #, c-format
 msgid "MinWords should be positive"
 msgstr "MinWord应该是正数."
 
-#: tsearch/wparser_def.c:2574
+#: tsearch/wparser_def.c:2600
 #, c-format
 msgid "ShortWord should be >= 0"
 msgstr "ShortWord应该大于等于0"
 
-#: tsearch/wparser_def.c:2578
+#: tsearch/wparser_def.c:2604
 #, c-format
 msgid "MaxFragments should be >= 0"
 msgstr "MaxFragments应该大于等于0"
 
-#: utils/adt/acl.c:169 utils/adt/name.c:91
+#: utils/adt/acl.c:170 utils/adt/name.c:91
 #, c-format
 msgid "identifier too long"
 msgstr "标识符太长"
 
-#: utils/adt/acl.c:170 utils/adt/name.c:92
+#: utils/adt/acl.c:171 utils/adt/name.c:92
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "标识符必须小于 %d 个字符."
 
-#: utils/adt/acl.c:256
+#: utils/adt/acl.c:257
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "未知的键值: \"%s\""
 
-#: utils/adt/acl.c:257
+#: utils/adt/acl.c:258
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "ACL 键值必须为 \"group\" 或者 \"user\"."
 
-#: utils/adt/acl.c:262
+#: utils/adt/acl.c:263
 #, c-format
 msgid "missing name"
 msgstr "缺少名字"
 
-#: utils/adt/acl.c:263
+#: utils/adt/acl.c:264
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "一个名字必须为 \"group\" 或者 \"user\" 键值."
 
-#: utils/adt/acl.c:269
+#: utils/adt/acl.c:270
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "缺少 \"=\" 符号"
 
-#: utils/adt/acl.c:322
+#: utils/adt/acl.c:323
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "无效的模式字符: 必须是 \"%s\" 其中的一个"
 
-#: utils/adt/acl.c:344
+#: utils/adt/acl.c:345
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "名字必须再 \"/\" 符号后"
 
-#: utils/adt/acl.c:352
+#: utils/adt/acl.c:353
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "缺省将授权者身份给予用户ID %u"
 
-#: utils/adt/acl.c:543
+#: utils/adt/acl.c:544
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "ACL数组包含错误数据类型"
 
-#: utils/adt/acl.c:547
+#: utils/adt/acl.c:548
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "ACL数组必须是一维数组"
 
-#: utils/adt/acl.c:551
+#: utils/adt/acl.c:552
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "ACL数组不能包含空值"
 
-#: utils/adt/acl.c:575
+#: utils/adt/acl.c:576
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "在ACL定义的结束部分的多余的无用部分"
 
-#: utils/adt/acl.c:1195
+#: utils/adt/acl.c:1196
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "不能将grant选项授予您自己的授予者 "
 
-#: utils/adt/acl.c:1256
+#: utils/adt/acl.c:1257
 #, c-format
 msgid "dependent privileges exist"
 msgstr "存在依赖权限"
 
-#: utils/adt/acl.c:1257
+#: utils/adt/acl.c:1258
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "使用CASCADE回收这些权限"
 
-#: utils/adt/acl.c:1536
+#: utils/adt/acl.c:1537
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "不再支持 aclinsert"
 
-#: utils/adt/acl.c:1546
+#: utils/adt/acl.c:1547
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "不再支持 aclremove"
 
-#: utils/adt/acl.c:1632 utils/adt/acl.c:1686
+#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "未知的权限类型: \"%s\""
 
-#: utils/adt/acl.c:3426 utils/adt/regproc.c:123 utils/adt/regproc.c:144
+#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144
 #: utils/adt/regproc.c:319
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "函数 \"%s\" 不存在"
 
-#: utils/adt/acl.c:4880
+#: utils/adt/acl.c:4881
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "必须是角色\"%s\"的成员"
 
-#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:934
-#: utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3225
-#: utils/adt/arrayfuncs.c:3363 utils/adt/arrayfuncs.c:5838
-#: utils/adt/arrayfuncs.c:6149 utils/adt/arrayutils.c:93
+#: utils/adt/acl.c:5279 utils/adt/acl.c:5285
+#, c-format
+#| msgid "role name \"%s\" is reserved"
+msgid "role \"%s\" is reserved"
+msgstr "角色 \"%s\" 是被保留的"
+
+#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:931
+#: utils/adt/arrayfuncs.c:1519 utils/adt/arrayfuncs.c:3251
+#: utils/adt/arrayfuncs.c:3389 utils/adt/arrayfuncs.c:5864
+#: utils/adt/arrayfuncs.c:6175 utils/adt/arrayutils.c:93
 #: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "数组的大小超过了最大允许值(%d)"
 
 #: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529
-#: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1745 utils/adt/json.c:1840
-#: utils/adt/json.c:1878 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155
-#: utils/adt/jsonb.c:1596 utils/adt/jsonb.c:1760 utils/adt/jsonb.c:1770
+#: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854
+#: utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155
+#: utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
 #, c-format
 msgid "could not determine input data type"
 msgstr "无法确定输入数据类型"
 
 #: utils/adt/array_userfuncs.c:72
 #, c-format
-#| msgid "target type is not an array"
 msgid "input data type is not an array"
 msgstr "输入数据类型不是一个数组"
 
 #: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174
-#: utils/adt/arrayfuncs.c:1325 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/arrayfuncs.c:1322 utils/adt/float.c:1221 utils/adt/float.c:1280
+#: utils/adt/float.c:3509 utils/adt/float.c:3525 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:1298 utils/adt/numeric.c:2903
-#: utils/adt/numeric.c:2912 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
-#: utils/adt/varlena.c:1045 utils/adt/varlena.c:2582
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2907
+#: utils/adt/numeric.c:2916 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/varlena.c:1055 utils/adt/varlena.c:2807
 #, c-format
 msgid "integer out of range"
 msgstr "整数超出范围"
@@ -18082,267 +18669,262 @@ msgstr "带有不同成员维度的数组对于串联操作不兼容"
 msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "带有不同维度的数组对于串联操作不兼容."
 
-#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1287
-#: utils/adt/arrayfuncs.c:3331 utils/adt/arrayfuncs.c:5738
+#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1284
+#: utils/adt/arrayfuncs.c:3357 utils/adt/arrayfuncs.c:5764
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "无效的大小值: %d"
 
 #: utils/adt/array_userfuncs.c:725 utils/adt/array_userfuncs.c:876
 #, c-format
-#| msgid "removing elements from multidimensional arrays is not supported"
 msgid "searching for elements in multidimensional arrays is not supported"
 msgstr "不支持在多维数组中搜索元素"
 
 #: utils/adt/array_userfuncs.c:749
 #, c-format
-#| msgid "field name must not be null"
 msgid "initial position must not be null"
 msgstr "初始位置不能为空"
 
-#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285
-#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318
-#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347
-#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
-#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:507
-#: utils/adt/arrayfuncs.c:518 utils/adt/arrayfuncs.c:533
-#: utils/adt/arrayfuncs.c:554 utils/adt/arrayfuncs.c:584
-#: utils/adt/arrayfuncs.c:591 utils/adt/arrayfuncs.c:599
-#: utils/adt/arrayfuncs.c:633 utils/adt/arrayfuncs.c:656
-#: utils/adt/arrayfuncs.c:676 utils/adt/arrayfuncs.c:788
-#: utils/adt/arrayfuncs.c:797 utils/adt/arrayfuncs.c:827
-#: utils/adt/arrayfuncs.c:842 utils/adt/arrayfuncs.c:895
+#: utils/adt/arrayfuncs.c:268 utils/adt/arrayfuncs.c:282
+#: utils/adt/arrayfuncs.c:293 utils/adt/arrayfuncs.c:315
+#: utils/adt/arrayfuncs.c:330 utils/adt/arrayfuncs.c:344
+#: utils/adt/arrayfuncs.c:350 utils/adt/arrayfuncs.c:357
+#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:504
+#: utils/adt/arrayfuncs.c:515 utils/adt/arrayfuncs.c:530
+#: utils/adt/arrayfuncs.c:551 utils/adt/arrayfuncs.c:581
+#: utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:596
+#: utils/adt/arrayfuncs.c:630 utils/adt/arrayfuncs.c:653
+#: utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:785
+#: utils/adt/arrayfuncs.c:794 utils/adt/arrayfuncs.c:824
+#: utils/adt/arrayfuncs.c:839 utils/adt/arrayfuncs.c:892
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "有缺陷的数组常量:\"%s\""
 
-#: utils/adt/arrayfuncs.c:272
+#: utils/adt/arrayfuncs.c:269
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "\"[\"必须引入显式指定的数组规模。"
 
-#: utils/adt/arrayfuncs.c:286
+#: utils/adt/arrayfuncs.c:283
 #, c-format
-#| msgid "missing dimension value"
 msgid "Missing array dimension value."
 msgstr "缺少数组尺寸值。"
 
-#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
+#: utils/adt/arrayfuncs.c:294 utils/adt/arrayfuncs.c:331
 #, c-format
-#| msgid "missing \"]\" in array dimensions"
 msgid "Missing \"%s\" after array dimensions."
 msgstr "数组维度后缺少\"%s\""
 
-#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2848
-#: utils/adt/arrayfuncs.c:2876 utils/adt/arrayfuncs.c:2891
+#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:2870
+#: utils/adt/arrayfuncs.c:2902 utils/adt/arrayfuncs.c:2917
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "上限不能小于底限"
 
-#: utils/adt/arrayfuncs.c:319
+#: utils/adt/arrayfuncs.c:316
 #, c-format
-#| msgid "array value must start with \"{\" or dimension information"
 msgid "Array value must start with \"{\" or dimension information."
 msgstr "数组值必须以 \"{\" 或者维度信息开始。"
 
-#: utils/adt/arrayfuncs.c:348
+#: utils/adt/arrayfuncs.c:345
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "数组内容必须以\"{\"开始。"
 
-#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
+#: utils/adt/arrayfuncs.c:351 utils/adt/arrayfuncs.c:358
 #, c-format
-#| msgid "array dimensions incompatible with array literal"
 msgid "Specified array dimensions do not match array contents."
 msgstr "指定的数组维数与数组内容不匹配"
 
-#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:519
+#: utils/adt/arrayfuncs.c:489 utils/adt/arrayfuncs.c:516
 #: utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132
 #: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
 msgid "Unexpected end of input."
 msgstr "意外的输入末尾"
 
-#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:555
-#: utils/adt/arrayfuncs.c:585 utils/adt/arrayfuncs.c:634
+#: utils/adt/arrayfuncs.c:505 utils/adt/arrayfuncs.c:552
+#: utils/adt/arrayfuncs.c:582 utils/adt/arrayfuncs.c:631
 #, c-format
-#| msgid "unexpected \"=\""
 msgid "Unexpected \"%c\" character."
 msgstr "意外的\"%c\"字符"
 
-#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:657
+#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:654
 #, c-format
-#| msgid "unexpected delimiter"
 msgid "Unexpected array element."
 msgstr "意外的数组元素。"
 
-#: utils/adt/arrayfuncs.c:592
+#: utils/adt/arrayfuncs.c:589
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "不匹配的\"%c\"字符。"
 
-#: utils/adt/arrayfuncs.c:600
+#: utils/adt/arrayfuncs.c:597
 #, c-format
-#| msgid ""
-#| "multidimensional arrays must have array expressions with matching "
-#| "dimensions"
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "多维数组必须有具有匹配维度的子数组"
 
-#: utils/adt/arrayfuncs.c:677
+#: utils/adt/arrayfuncs.c:674
 #, c-format
-#| msgid "Junk after right parenthesis."
 msgid "Junk after closing right brace."
 msgstr "结尾的右括号后的是无用的内容。"
 
-#: utils/adt/arrayfuncs.c:1298
+#: utils/adt/arrayfuncs.c:1295
 #, c-format
 msgid "invalid array flags"
 msgstr "无效的数组标记"
 
-#: utils/adt/arrayfuncs.c:1306
+#: utils/adt/arrayfuncs.c:1303
 #, c-format
 msgid "wrong element type"
 msgstr "错误的元素类型"
 
-#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:334
-#: utils/cache/lsyscache.c:2586
+#: utils/adt/arrayfuncs.c:1353 utils/adt/rangetypes.c:334
+#: utils/cache/lsyscache.c:2651
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "没有类型 %s 的有效二进制输入函数"
 
-#: utils/adt/arrayfuncs.c:1496
+#: utils/adt/arrayfuncs.c:1493
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "数组元素 %d 为不正确的二进制格式"
 
-#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:339
-#: utils/cache/lsyscache.c:2619
+#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339
+#: utils/cache/lsyscache.c:2684
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "没有类型 %s 的有效二进制输出函数"
 
-#: utils/adt/arrayfuncs.c:2048
+#: utils/adt/arrayfuncs.c:2052
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "没有实现固定长度数组的部分"
 
-#: utils/adt/arrayfuncs.c:2226 utils/adt/arrayfuncs.c:2248
-#: utils/adt/arrayfuncs.c:2297 utils/adt/arrayfuncs.c:2533
-#: utils/adt/arrayfuncs.c:2830 utils/adt/arrayfuncs.c:5718
-#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5767
-#: utils/adt/json.c:2276 utils/adt/json.c:2351 utils/adt/jsonb.c:1375
-#: utils/adt/jsonb.c:1461 utils/adt/jsonfuncs.c:3528
-#: utils/adt/jsonfuncs.c:3573
+#: utils/adt/arrayfuncs.c:2230 utils/adt/arrayfuncs.c:2252
+#: utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537
+#: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5744
+#: utils/adt/arrayfuncs.c:5776 utils/adt/arrayfuncs.c:5793
+#: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369
+#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3537
+#: utils/adt/jsonfuncs.c:3582 utils/adt/jsonfuncs.c:3629
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "错误的数组下标"
 
-#: utils/adt/arrayfuncs.c:2231 utils/adt/arrayfuncs.c:2339
-#: utils/adt/arrayfuncs.c:2597 utils/adt/arrayfuncs.c:2881
+#: utils/adt/arrayfuncs.c:2235 utils/adt/arrayfuncs.c:2343
+#: utils/adt/arrayfuncs.c:2601 utils/adt/arrayfuncs.c:2907
 #, c-format
 msgid "array subscript out of range"
 msgstr "数组下标超出范围"
 
-#: utils/adt/arrayfuncs.c:2236
+#: utils/adt/arrayfuncs.c:2240
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "无法将空值分配给固定长度数组的成员"
 
-#: utils/adt/arrayfuncs.c:2784
+#: utils/adt/arrayfuncs.c:2795
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "没有实现在固定长度数组部分上的更新操作"
 
-#: utils/adt/arrayfuncs.c:2820 utils/adt/arrayfuncs.c:2907
+#: utils/adt/arrayfuncs.c:2826
+#, c-format
+#| msgid "array subscript must have type integer"
+msgid "array slice subscript must provide both boundaries"
+msgstr "数组切片下标必须提供两个边界"
+
+#: utils/adt/arrayfuncs.c:2827
+#, c-format
+msgid ""
+"When assigning to a slice of an empty array value, slice boundaries must be "
+"fully specified."
+msgstr "在给一个空数组值的切片赋值时,必须完全指定切片的边界。"
+
+#: utils/adt/arrayfuncs.c:2838 utils/adt/arrayfuncs.c:2933
 #, c-format
 msgid "source array too small"
 msgstr "源数组太小"
 
-#: utils/adt/arrayfuncs.c:3487
+#: utils/adt/arrayfuncs.c:3513
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "不支持空数组元素"
 
-#: utils/adt/arrayfuncs.c:3589 utils/adt/arrayfuncs.c:3760
-#: utils/adt/arrayfuncs.c:4034
+#: utils/adt/arrayfuncs.c:3615 utils/adt/arrayfuncs.c:3786
+#: utils/adt/arrayfuncs.c:4060
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "无法比较不同元素类型的数组"
 
-#: utils/adt/arrayfuncs.c:3936 utils/adt/rangetypes.c:1253
+#: utils/adt/arrayfuncs.c:3962 utils/adt/rangetypes.c:1253
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "无法为类型 %s 确认一个哈希函数"
 
-#: utils/adt/arrayfuncs.c:5130
+#: utils/adt/arrayfuncs.c:5156
 #, c-format
-#| msgid "target type is not an array"
 msgid "data type %s is not an array type"
 msgstr "数据类型%s不是一个数组类型"
 
-#: utils/adt/arrayfuncs.c:5187
+#: utils/adt/arrayfuncs.c:5213
 #, c-format
-#| msgid "cannot concatenate incompatible arrays"
 msgid "cannot accumulate null arrays"
 msgstr "无法累计空值数组"
 
-#: utils/adt/arrayfuncs.c:5215
+#: utils/adt/arrayfuncs.c:5241
 #, c-format
-#| msgid "cannot concatenate incompatible arrays"
 msgid "cannot accumulate empty arrays"
 msgstr "无法累计空数组"
 
-#: utils/adt/arrayfuncs.c:5244 utils/adt/arrayfuncs.c:5250
+#: utils/adt/arrayfuncs.c:5270 utils/adt/arrayfuncs.c:5276
 #, c-format
-#| msgid "cannot compare arrays of different element types"
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "无法累积不同维度的数组"
 
-#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5656
+#: utils/adt/arrayfuncs.c:5642 utils/adt/arrayfuncs.c:5682
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "维度数组或低界数组不能为空(null)"
 
-#: utils/adt/arrayfuncs.c:5719 utils/adt/arrayfuncs.c:5751
+#: utils/adt/arrayfuncs.c:5745 utils/adt/arrayfuncs.c:5777
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "维度数组必须是一维"
 
-#: utils/adt/arrayfuncs.c:5724 utils/adt/arrayfuncs.c:5756
+#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5782
 #, c-format
 msgid "wrong range of array subscripts"
 msgstr "无效的数组下标范围"
 
-#: utils/adt/arrayfuncs.c:5725 utils/adt/arrayfuncs.c:5757
+#: utils/adt/arrayfuncs.c:5751 utils/adt/arrayfuncs.c:5783
 #, c-format
 msgid "Lower bound of dimension array must be one."
 msgstr "维度数组的低界必须是1"
 
-#: utils/adt/arrayfuncs.c:5730 utils/adt/arrayfuncs.c:5762
+#: utils/adt/arrayfuncs.c:5756 utils/adt/arrayfuncs.c:5788
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "维度值不能为空"
 
-#: utils/adt/arrayfuncs.c:5768
+#: utils/adt/arrayfuncs.c:5794
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "低界数组的大小与多维数组不同"
 
-#: utils/adt/arrayfuncs.c:6014
+#: utils/adt/arrayfuncs.c:6040
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "不支持多维数组中删除元素的操作"
 
-#: utils/adt/arrayfuncs.c:6291
+#: utils/adt/arrayfuncs.c:6317
 #, c-format
-#| msgid "argument must be empty or one-dimensional array"
 msgid "thresholds must be one-dimensional array"
 msgstr "thresholds必须是一维数组"
 
-#: utils/adt/arrayfuncs.c:6296
+#: utils/adt/arrayfuncs.c:6322
 #, c-format
-#| msgid "typmod array must not contain nulls"
 msgid "thresholds array must not contain NULLs"
 msgstr "thresholds数组不能包含空值"
 
@@ -18378,13 +18960,14 @@ msgstr "无效的货币类型输入语法: \"%s\""
 
 #: 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:4152 utils/adt/int.c:719
+#: utils/adt/float.c:848 utils/adt/float.c:912 utils/adt/float.c:3268
+#: utils/adt/float.c:3331 utils/adt/geo_ops.c:4085 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:897 utils/adt/int8.c:1005
-#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:5917
-#: utils/adt/numeric.c:6200 utils/adt/timestamp.c:3349
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6800
+#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8090
+#: utils/adt/timestamp.c:3446
 #, c-format
 msgid "division by zero"
 msgstr "除以零"
@@ -18395,7 +18978,7 @@ msgid "\"char\" out of range"
 msgstr "\"char\" 超出范围"
 
 #: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52
-#: utils/adt/varchar.c:44
+#: utils/adt/varchar.c:45
 #, c-format
 msgid "invalid type modifier"
 msgstr "无效的类型修改器"
@@ -18410,144 +18993,164 @@ msgstr "TIME(%d)%s 精确度不能为负数"
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "TIME(%d)%s精度减少到最大允许值,%d"
 
-#: utils/adt/date.c:141 utils/adt/datetime.c:1208 utils/adt/datetime.c:2079
+#: utils/adt/date.c:141 utils/adt/datetime.c:1277 utils/adt/datetime.c:2148
 #, c-format
 msgid "date/time value \"current\" is no longer supported"
 msgstr "日期/时间值 \"current\" 不再被支持了"
 
-#: utils/adt/date.c:166 utils/adt/formatting.c:3523
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3535
+#: utils/adt/formatting.c:3544
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "时间戳超出范围: \"%s\""
 
-#: utils/adt/date.c:216 utils/adt/xml.c:2029
+#: utils/adt/date.c:222 utils/adt/date.c:456 utils/adt/date.c:480
+#: utils/adt/xml.c:2029
 #, c-format
 msgid "date out of range"
 msgstr "日期超出范围"
 
-#: utils/adt/date.c:258 utils/adt/timestamp.c:592
+#: utils/adt/date.c:264 utils/adt/timestamp.c:593
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "日期字段值超出范围: %d-%02d-%02d"
 
-#: utils/adt/date.c:264 utils/adt/timestamp.c:598
+#: utils/adt/date.c:271 utils/adt/date.c:280 utils/adt/timestamp.c:599
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "日期超出范围: %d-%02d-%02d"
 
-#: utils/adt/date.c:417
+#: utils/adt/date.c:431
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "无法减去无限大的日期"
 
-#: utils/adt/date.c:474 utils/adt/date.c:511
+#: utils/adt/date.c:509 utils/adt/date.c:544 utils/adt/date.c:566
+#: utils/adt/date.c:2629 utils/adt/date.c:2643
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "日期超出了时间戳的范围"
 
-#: utils/adt/date.c:970 utils/adt/date.c:1016 utils/adt/date.c:1616
-#: utils/adt/date.c:1652 utils/adt/date.c:2524 utils/adt/formatting.c:3399
-#: utils/adt/formatting.c:3431 utils/adt/formatting.c:3499
-#: utils/adt/json.c:1520 utils/adt/json.c:1542 utils/adt/jsonb.c:823
-#: utils/adt/jsonb.c:847 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
-#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:224
-#: utils/adt/timestamp.c:267 utils/adt/timestamp.c:716
-#: utils/adt/timestamp.c:745 utils/adt/timestamp.c:784
-#: utils/adt/timestamp.c:2938 utils/adt/timestamp.c:2959
-#: utils/adt/timestamp.c:2972 utils/adt/timestamp.c:2981
-#: utils/adt/timestamp.c:3038 utils/adt/timestamp.c:3061
-#: utils/adt/timestamp.c:3074 utils/adt/timestamp.c:3085
-#: utils/adt/timestamp.c:3610 utils/adt/timestamp.c:3739
-#: utils/adt/timestamp.c:3780 utils/adt/timestamp.c:3868
-#: utils/adt/timestamp.c:3914 utils/adt/timestamp.c:4025
-#: utils/adt/timestamp.c:4349 utils/adt/timestamp.c:4465
-#: utils/adt/timestamp.c:4475 utils/adt/timestamp.c:4560
-#: utils/adt/timestamp.c:4679 utils/adt/timestamp.c:4689
-#: utils/adt/timestamp.c:5005 utils/adt/timestamp.c:5019
-#: utils/adt/timestamp.c:5144 utils/adt/timestamp.c:5151
-#: utils/adt/timestamp.c:5177 utils/adt/timestamp.c:5181
-#: utils/adt/timestamp.c:5250 utils/adt/xml.c:2051 utils/adt/xml.c:2058
+#: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678
+#: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592
+#: utils/adt/formatting.c:3410 utils/adt/formatting.c:3442
+#: utils/adt/formatting.c:3510 utils/adt/json.c:1534 utils/adt/json.c:1556
+#: utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455
+#: utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571
+#: utils/adt/timestamp.c:224 utils/adt/timestamp.c:268
+#: utils/adt/timestamp.c:726 utils/adt/timestamp.c:735
+#: utils/adt/timestamp.c:820 utils/adt/timestamp.c:860
+#: utils/adt/timestamp.c:3021 utils/adt/timestamp.c:3042
+#: utils/adt/timestamp.c:3055 utils/adt/timestamp.c:3064
+#: utils/adt/timestamp.c:3072 utils/adt/timestamp.c:3127
+#: utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3163
+#: utils/adt/timestamp.c:3174 utils/adt/timestamp.c:3182
+#: utils/adt/timestamp.c:3756 utils/adt/timestamp.c:3885
+#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4014
+#: utils/adt/timestamp.c:4060 utils/adt/timestamp.c:4171
+#: utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4694
+#: utils/adt/timestamp.c:4704 utils/adt/timestamp.c:4800
+#: utils/adt/timestamp.c:4919 utils/adt/timestamp.c:4929
+#: utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5264
+#: utils/adt/timestamp.c:5269 utils/adt/timestamp.c:5283
+#: utils/adt/timestamp.c:5366 utils/adt/timestamp.c:5398
+#: utils/adt/timestamp.c:5405 utils/adt/timestamp.c:5431
+#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5504
+#: utils/adt/timestamp.c:5508 utils/adt/timestamp.c:5522
+#: utils/adt/timestamp.c:5560 utils/adt/xml.c:2051 utils/adt/xml.c:2058
 #: utils/adt/xml.c:2078 utils/adt/xml.c:2085
 #, c-format
 msgid "timestamp out of range"
 msgstr "时间戳超出范围"
 
-#: utils/adt/date.c:1042
+#: utils/adt/date.c:1094
 #, c-format
 msgid "cannot convert reserved abstime value to date"
 msgstr "不能转换保留 abstime 值为 date"
 
-#: utils/adt/date.c:1196 utils/adt/date.c:1203 utils/adt/date.c:2014
-#: utils/adt/date.c:2021
+#: utils/adt/date.c:1112 utils/adt/date.c:1118
+#, c-format
+#| msgid "date out of range for timestamp"
+msgid "abstime out of range for date"
+msgstr "abstime 超过了日期范围"
+
+#: utils/adt/date.c:1258 utils/adt/date.c:1265 utils/adt/date.c:2082
+#: utils/adt/date.c:2089
 #, c-format
 msgid "time out of range"
 msgstr "时间超出范围"
 
-#: utils/adt/date.c:1264 utils/adt/timestamp.c:617
+#: utils/adt/date.c:1326 utils/adt/timestamp.c:618
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "日期/时间值超出范围:  %d:%02d:%02g"
 
-#: utils/adt/date.c:1892 utils/adt/date.c:1909
+#: utils/adt/date.c:1960 utils/adt/date.c:1977
 #, c-format
 msgid "\"time\" units \"%s\" not recognized"
 msgstr "\"time\" 单位 \"%s\" 不被认可"
 
-#: utils/adt/date.c:2030
+#: utils/adt/date.c:2098
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "时间区域置换超出范围"
 
-#: utils/adt/date.c:2654 utils/adt/date.c:2671
+#: utils/adt/date.c:2740 utils/adt/date.c:2757
 #, c-format
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "\"time with time zone\" 单位 \"%s\" 不被认可"
 
-#: utils/adt/date.c:2744 utils/adt/datetime.c:925 utils/adt/datetime.c:1805
-#: utils/adt/datetime.c:4566 utils/adt/timestamp.c:531
-#: utils/adt/timestamp.c:558 utils/adt/timestamp.c:5031
-#: utils/adt/timestamp.c:5261
+#: utils/adt/date.c:2830 utils/adt/datetime.c:994 utils/adt/datetime.c:1874
+#: utils/adt/datetime.c:4700 utils/adt/timestamp.c:532
+#: utils/adt/timestamp.c:559 utils/adt/timestamp.c:5275
+#: utils/adt/timestamp.c:5514
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "时区 \"%s\" 不被认可"
 
-#: utils/adt/date.c:2784 utils/adt/timestamp.c:5102 utils/adt/timestamp.c:5287
+#: utils/adt/date.c:2870 utils/adt/timestamp.c:5351 utils/adt/timestamp.c:5545
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr "间隔时区\"%s\"不能包含月或天"
 
-#: utils/adt/datetime.c:1680
+#: utils/adt/datetime.c:1749
 #, c-format
 msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\""
 msgstr "时区缩写\"%s\"不能用于时区\"%s\""
 
-#: utils/adt/datetime.c:3766 utils/adt/datetime.c:3773
+#: utils/adt/datetime.c:3835 utils/adt/datetime.c:3842
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "日期/时间值超出范围: \"%s\""
 
-#: utils/adt/datetime.c:3775
+#: utils/adt/datetime.c:3844
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "也许你需要不同的 \"datesytle\" 设置."
 
-#: utils/adt/datetime.c:3780
+#: utils/adt/datetime.c:3849
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "间隔字段超出范围: \"%s\""
 
-#: utils/adt/datetime.c:3786
+#: utils/adt/datetime.c:3855
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "时间区域置换超出范围: \"%s\""
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3793 utils/adt/network.c:58
+#: utils/adt/datetime.c:3862 utils/adt/float.c:454 utils/adt/float.c:537
+#: utils/adt/float.c:563 utils/adt/geo_ops.c:156 utils/adt/geo_ops.c:166
+#: utils/adt/geo_ops.c:178 utils/adt/geo_ops.c:210 utils/adt/geo_ops.c:255
+#: utils/adt/geo_ops.c:265 utils/adt/geo_ops.c:935 utils/adt/geo_ops.c:1321
+#: utils/adt/geo_ops.c:1356 utils/adt/geo_ops.c:1364 utils/adt/geo_ops.c:3422
+#: utils/adt/geo_ops.c:4555 utils/adt/geo_ops.c:4571 utils/adt/geo_ops.c:4578
+#: utils/adt/network.c:58
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "无效的类型 %s 输入语法: \"%s\""
 
-#: utils/adt/datetime.c:4568
+#: utils/adt/datetime.c:4702
 #, c-format
 msgid ""
 "This time zone name appears in the configuration file for time zone "
@@ -18559,11 +19162,30 @@ msgstr "缩写时区 \"%s\"对应的时区名出现在配置文件中."
 msgid "invalid Datum pointer"
 msgstr "无效的 Datum 指针"
 
-#: utils/adt/dbsize.c:108
+#: utils/adt/dbsize.c:110
 #, c-format
 msgid "could not open tablespace directory \"%s\": %m"
 msgstr "无法打开表空间目录 \"%s\": %m"
 
+#: utils/adt/dbsize.c:757 utils/adt/dbsize.c:776 utils/adt/dbsize.c:828
+#, c-format
+#| msgid "invalid cidr value: \"%s\""
+msgid "invalid size: \"%s\""
+msgstr "无效的尺寸: \"%s\""
+
+#: utils/adt/dbsize.c:829
+#, c-format
+#| msgid "invalid time zone name: \"%s\""
+msgid "Invalid size unit: \"%s\"."
+msgstr "无效的尺寸单位: \"%s\"."
+
+#: utils/adt/dbsize.c:830
+#, c-format
+#| msgid ""
+#| "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "有效的单位是 \"bytes\"、\"kB\"、\"MB\"、\"GB\" 以及 \"TB\"。"
+
 #: utils/adt/domains.c:85
 #, c-format
 msgid "type %s is not a domain"
@@ -18591,13 +19213,11 @@ msgstr "在解码base64序列时遇到意料之外的\"=\""
 
 #: utils/adt/encode.c:307
 #, c-format
-#| msgid "invalid source encoding name \"%s\""
 msgid "invalid symbol \"%c\" while decoding base64 sequence"
 msgstr "在解码base64序列时遇到无效符号\"%c\""
 
 #: utils/adt/encode.c:327
 #, c-format
-#| msgid "invalid end sequence"
 msgid "invalid base64 end sequence"
 msgstr "无效base64结束序列"
 
@@ -18606,8 +19226,8 @@ msgstr "无效base64结束序列"
 msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr "输入数据缺少填充,或者已经被截断,又或者已被损坏。"
 
-#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:287
-#: utils/adt/varlena.c:328
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:297
+#: utils/adt/varlena.c:338
 #, c-format
 msgid "invalid input syntax for type bytea"
 msgstr "无效的 bytea 类型输入语法"
@@ -18634,93 +19254,88 @@ msgstr "无法确定实际的枚举类型"
 msgid "enum %s contains no values"
 msgstr "枚举 \"%s\" 没有值"
 
-#: utils/adt/float.c:55
+#: utils/adt/float.c:58
 #, c-format
 msgid "value out of range: overflow"
 msgstr "值超出范围: 上溢"
 
-#: utils/adt/float.c:60
+#: utils/adt/float.c:63
 #, c-format
 msgid "value out of range: underflow"
 msgstr "值超出范围: 下溢"
 
-#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:316
+#: utils/adt/float.c:237 utils/adt/float.c:311 utils/adt/float.c:335
 #, c-format
 msgid "invalid input syntax for type real: \"%s\""
 msgstr "无效的实数类型输入语法: \"%s\""
 
-#: utils/adt/float.c:286
+#: utils/adt/float.c:305
 #, c-format
 msgid "\"%s\" is out of range for type real"
 msgstr "\"%s\" 超出实数类型的范围"
 
-#: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
-#: utils/adt/numeric.c:5373 utils/adt/numeric.c:5399
-#, c-format
-msgid "invalid input syntax for type double precision: \"%s\""
-msgstr "无效的双精度类型输入语法: \"%s\""
-
-#: utils/adt/float.c:485
+#: utils/adt/float.c:530
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "\"%s\" 超出双精度类型的范围"
 
-#: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
+#: utils/adt/float.c:1239 utils/adt/float.c:1297 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:1323 utils/adt/numeric.c:3000 utils/adt/numeric.c:3009
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:3004 utils/adt/numeric.c:3013
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint 超出范围"
 
-#: utils/adt/float.c:1363 utils/adt/numeric.c:6599
+#: utils/adt/float.c:1423 utils/adt/numeric.c:7522
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "无法为负数做平方根"
 
-#: utils/adt/float.c:1405 utils/adt/numeric.c:2820
+#: utils/adt/float.c:1465 utils/adt/numeric.c:2807
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "被提升到负乘方的最低点没有定义."
 
-#: utils/adt/float.c:1409 utils/adt/numeric.c:2826
+#: utils/adt/float.c:1469 utils/adt/numeric.c:2813
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "被升为非整数的平方的负数产生了一个复杂结果."
 
-#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:6817
+#: utils/adt/float.c:1535 utils/adt/float.c:1565 utils/adt/numeric.c:7787
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "无法取零的对数"
 
-#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:6821
+#: utils/adt/float.c:1539 utils/adt/float.c:1569 utils/adt/numeric.c:7791
 #, 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:1599 utils/adt/float.c:1629 utils/adt/float.c:1721
+#: utils/adt/float.c:1747 utils/adt/float.c:1774 utils/adt/float.c:1800
+#: utils/adt/float.c:1922 utils/adt/float.c:1957 utils/adt/float.c:2110
+#: utils/adt/float.c:2163 utils/adt/float.c:2226 utils/adt/float.c:2280
 #, c-format
 msgid "input is out of range"
 msgstr "输入超出范围"
 
-#: utils/adt/float.c:2747 utils/adt/numeric.c:1454
+#: utils/adt/float.c:3485 utils/adt/numeric.c:1447
 #, c-format
 msgid "count must be greater than zero"
 msgstr "总数必须大于零"
 
-#: utils/adt/float.c:2752 utils/adt/numeric.c:1461
+#: utils/adt/float.c:3490 utils/adt/numeric.c:1454
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "操作数,下限和上限不能是NaN"
 
-#: utils/adt/float.c:2758
+#: utils/adt/float.c:3496
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "地位和高位边界必须是有限的."
 
-#: utils/adt/float.c:2796 utils/adt/numeric.c:1474
+#: utils/adt/float.c:3534 utils/adt/numeric.c:1467
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "下限不能等于上限"
@@ -18895,48 +19510,47 @@ msgstr "值必须是在范围%d到%d之间."
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "给定的值与这个字段所允许的值不匹配."
 
-#: utils/adt/formatting.c:2551 utils/adt/formatting.c:2571
-#: utils/adt/formatting.c:2591 utils/adt/formatting.c:2611
-#: utils/adt/formatting.c:2630 utils/adt/formatting.c:2649
-#: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
-#: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
-#: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
+#: utils/adt/formatting.c:2558 utils/adt/formatting.c:2578
+#: utils/adt/formatting.c:2598 utils/adt/formatting.c:2618
+#: utils/adt/formatting.c:2637 utils/adt/formatting.c:2656
+#: utils/adt/formatting.c:2680 utils/adt/formatting.c:2698
+#: utils/adt/formatting.c:2716 utils/adt/formatting.c:2734
+#: utils/adt/formatting.c:2751 utils/adt/formatting.c:2768
 #, c-format
-#| msgid "payload string too long"
 msgid "localized string format value too long"
 msgstr "本地化字符串格式值太长"
 
-#: utils/adt/formatting.c:3044
+#: utils/adt/formatting.c:3055
 #, c-format
 msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
 msgstr "在to_date中不支持\"TZ\"/\"tz\"/\"OF\"的格式模式"
 
-#: utils/adt/formatting.c:3152
+#: utils/adt/formatting.c:3163
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "对于\"Y,YYY\", 所输入的字符串无效"
 
-#: utils/adt/formatting.c:3655
+#: utils/adt/formatting.c:3674
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "对于12小时制的钟表,小时数\"%d\"无效"
 
-#: utils/adt/formatting.c:3657
+#: utils/adt/formatting.c:3676
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "使用24小时制的钟表,或者将小时数限定在1到12之间."
 
-#: utils/adt/formatting.c:3752
+#: utils/adt/formatting.c:3771
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "没有年份信息无法计算年的天数"
 
-#: utils/adt/formatting.c:4601
+#: utils/adt/formatting.c:4620
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "不支持为输入使用\"EEEE\""
 
-#: utils/adt/formatting.c:4613
+#: utils/adt/formatting.c:4632
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "不支持为输入使用\"RN\""
@@ -18983,129 +19597,83 @@ msgstr "只有超级用户才能获取文件信息"
 msgid "must be superuser to get directory listings"
 msgstr "只有超级用户才能获取目录列表"
 
-#: utils/adt/geo_ops.c:300 utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3497
-#: utils/adt/geo_ops.c:4312 utils/adt/geo_ops.c:5256
-#, c-format
-msgid "too many points requested"
-msgstr "要求了太多的点"
-
-#: utils/adt/geo_ops.c:323
-#, c-format
-msgid "could not format \"path\" value"
-msgstr "无法格式化 \"path\" 值"
-
-#: utils/adt/geo_ops.c:398
-#, c-format
-msgid "invalid input syntax for type box: \"%s\""
-msgstr "无效的 box 类型输入语法: \"%s\""
-
-#: utils/adt/geo_ops.c:993
-#, c-format
-msgid "invalid line specification: must be two distinct points"
-msgstr "无效的线规格: 必须是两个不同的点"
-
-#: utils/adt/geo_ops.c:1002
+#: utils/adt/geo_ops.c:940
 #, c-format
 msgid "invalid line specification: A and B cannot both be zero"
 msgstr "无效的行规格: A和B不能同时为0"
 
-#: utils/adt/geo_ops.c:1007
+#: utils/adt/geo_ops.c:948
 #, 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:1379 utils/adt/geo_ops.c:1410
+#: utils/adt/geo_ops.c:1342 utils/adt/geo_ops.c:3432 utils/adt/geo_ops.c:4245
+#: utils/adt/geo_ops.c:5173
 #, c-format
-msgid "invalid input syntax for type path: \"%s\""
-msgstr "无效的 path 类型输入语法: \"%s\""
+msgid "too many points requested"
+msgstr "要求了太多的点"
 
-#: utils/adt/geo_ops.c:1449
+#: utils/adt/geo_ops.c:1404
 #, c-format
 msgid "invalid number of points in external \"path\" value"
 msgstr "在外部 \"path\" 值中的点数量无效."
 
-#: utils/adt/geo_ops.c:1792
-#, c-format
-msgid "invalid input syntax for type point: \"%s\""
-msgstr "无效的 point 类型输入语法: \"%s\""
-
-#: utils/adt/geo_ops.c:2020
-#, c-format
-msgid "invalid input syntax for type lseg: \"%s\""
-msgstr "无效的 lseg 类型输入语法: \"%s\""
-
-#: utils/adt/geo_ops.c:2620
+#: utils/adt/geo_ops.c:2555
 #, c-format
 msgid "function \"dist_lb\" not implemented"
 msgstr "函数 \"dist_lb\" 没有实现"
 
-#: utils/adt/geo_ops.c:3072
+#: utils/adt/geo_ops.c:3007
 #, c-format
 msgid "function \"close_sl\" not implemented"
 msgstr "函数 \"close_sl\" 没有实现"
 
-#: utils/adt/geo_ops.c:3174
+#: utils/adt/geo_ops.c:3109
 #, c-format
 msgid "function \"close_lb\" not implemented"
 msgstr "函数 \"close_lb\" 没有实现"
 
-#: utils/adt/geo_ops.c:3463
+#: utils/adt/geo_ops.c:3398
 #, c-format
 msgid "cannot create bounding box for empty polygon"
 msgstr "无法为空多边形创建 bounding box"
 
-#: utils/adt/geo_ops.c:3488 utils/adt/geo_ops.c:3508
-#, c-format
-msgid "invalid input syntax for type polygon: \"%s\""
-msgstr "无效的 polygon 类型输入语法: \"%s\""
-
-#: utils/adt/geo_ops.c:3548
+#: utils/adt/geo_ops.c:3479
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "在外部\"polygon\" 值中的点数量无效."
 
-#: utils/adt/geo_ops.c:4071
+#: utils/adt/geo_ops.c:4004
 #, c-format
 msgid "function \"poly_distance\" not implemented"
 msgstr "函数 \"poly_distance\" 没有实现"
 
-#: utils/adt/geo_ops.c:4424
+#: utils/adt/geo_ops.c:4357
 #, c-format
 msgid "function \"path_center\" not implemented"
 msgstr "函数 \"path_center\" 没有实现"
 
-#: utils/adt/geo_ops.c:4441
+#: utils/adt/geo_ops.c:4374
 #, c-format
 msgid "open path cannot be converted to polygon"
 msgstr "打开的路径不能转换为多态型"
 
-#: utils/adt/geo_ops.c:4618 utils/adt/geo_ops.c:4628 utils/adt/geo_ops.c:4643
-#: utils/adt/geo_ops.c:4649
-#, c-format
-msgid "invalid input syntax for type circle: \"%s\""
-msgstr "无效的 circle 类型输入语法: \"%s\""
-
-#: utils/adt/geo_ops.c:4671 utils/adt/geo_ops.c:4679
-#, c-format
-msgid "could not format \"circle\" value"
-msgstr "无法格式化 \"circle\" 的值"
-
-#: utils/adt/geo_ops.c:4706
+#: utils/adt/geo_ops.c:4623
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "在外部\"circle\" 值中的半径无效"
 
-#: utils/adt/geo_ops.c:5242
+#: utils/adt/geo_ops.c:5159
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "无法将半径为0的圆转换为多边类型"
 
-#: utils/adt/geo_ops.c:5247
+#: utils/adt/geo_ops.c:5164
 #, c-format
 msgid "must request at least 2 points"
 msgstr "必须要求至少两个点."
 
-#: utils/adt/geo_ops.c:5291
+#: utils/adt/geo_ops.c:5208
 #, c-format
 msgid "cannot convert empty polygon to circle"
 msgstr "无法转换空的多边形到圆形"
@@ -19125,8 +19693,8 @@ msgstr "无效的int2vector数据"
 msgid "oidvector has too many elements"
 msgstr "oidvector 有太多元素"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1362
-#: utils/adt/timestamp.c:5348 utils/adt/timestamp.c:5429
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1355
+#: utils/adt/timestamp.c:5611 utils/adt/timestamp.c:5692
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "单步执行大小不能等于0"
@@ -19150,7 +19718,7 @@ msgstr "值 \"%s\" 超出 bigint 类型范围"
 #: 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:2955
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2959
 #: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
@@ -19161,178 +19729,174 @@ msgstr "bigint 超出范围"
 msgid "OID out of range"
 msgstr "OID 超出范围"
 
-#: utils/adt/json.c:777 utils/adt/json.c:817 utils/adt/json.c:832
-#: utils/adt/json.c:843 utils/adt/json.c:853 utils/adt/json.c:904
-#: utils/adt/json.c:935 utils/adt/json.c:953 utils/adt/json.c:965
-#: utils/adt/json.c:977 utils/adt/json.c:1116 utils/adt/json.c:1130
-#: utils/adt/json.c:1141 utils/adt/json.c:1149 utils/adt/json.c:1157
-#: utils/adt/json.c:1165 utils/adt/json.c:1173 utils/adt/json.c:1181
-#: utils/adt/json.c:1189 utils/adt/json.c:1197 utils/adt/json.c:1227
+#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840
+#: utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912
+#: utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973
+#: utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144
+#: utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171
+#: utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195
+#: utils/adt/json.c:1203 utils/adt/json.c:1211 utils/adt/json.c:1241
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "json类型使用了无效的输入语法"
 
-#: utils/adt/json.c:778
+#: utils/adt/json.c:786
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "值为 0x%02x 的字符必须进行转义处理."
 
-#: utils/adt/json.c:818
+#: utils/adt/json.c:826
 #, c-format
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "\"\\u\" 后必须紧跟有效的十六进制数数字"
 
-#: utils/adt/json.c:833
+#: utils/adt/json.c:841
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Unicode 的高位代理项不能紧随另一个高位代理项."
 
-#: utils/adt/json.c:844 utils/adt/json.c:854 utils/adt/json.c:905
-#: utils/adt/json.c:966 utils/adt/json.c:978
+#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913
+#: utils/adt/json.c:974 utils/adt/json.c:986
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Unicode 代位代理项必须紧随一个高位代理项."
 
-#: utils/adt/json.c:869 utils/adt/json.c:892
+#: utils/adt/json.c:877 utils/adt/json.c:900
 #, c-format
-#| msgid "invalid Unicode escape value"
 msgid "unsupported Unicode escape sequence"
 msgstr "不支持的Unicode转义序列"
 
-#: utils/adt/json.c:870
+#: utils/adt/json.c:878
 #, c-format
-#| msgid "open path cannot be converted to polygon"
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000不能被转换为文本。"
 
-#: utils/adt/json.c:893
+#: utils/adt/json.c:901
 #, c-format
 msgid ""
 "Unicode escape values cannot be used for code point values above 007F when "
 "the server encoding is not UTF8."
 msgstr "当服务器的编码不是UTF8时,Unicode转义值就不能用作007F以上的码点值."
 
-#: utils/adt/json.c:936 utils/adt/json.c:954
+#: utils/adt/json.c:944 utils/adt/json.c:962
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "转义序列 \"\\%s\" 无效."
 
-#: utils/adt/json.c:1117
+#: utils/adt/json.c:1131
 #, c-format
 msgid "The input string ended unexpectedly."
 msgstr "输入字符串意外终止."
 
-#: utils/adt/json.c:1131
+#: utils/adt/json.c:1145
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
 msgstr "期望输入结束,结果发现是\"%s\"."
 
-#: utils/adt/json.c:1142
+#: utils/adt/json.c:1156
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "期望 是JSON值, 但结果发现是\"%s\"."
 
-#: utils/adt/json.c:1150 utils/adt/json.c:1198
+#: utils/adt/json.c:1164 utils/adt/json.c:1212
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "期望是字符串, 但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1158
+#: utils/adt/json.c:1172
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "期望为数组元素或者\"]\",但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1166
+#: utils/adt/json.c:1180
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "期望是\",\" 或 \"]\",但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1174
+#: utils/adt/json.c:1188
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "期望是字符串或\"}\",但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1182
+#: utils/adt/json.c:1196
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "期望得到 \":\",但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1190
+#: utils/adt/json.c:1204
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "期望是 \",\" 或 \"}\",但发现结果是\"%s\"."
 
-#: utils/adt/json.c:1228
+#: utils/adt/json.c:1242
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "令牌 \"%s\" 无效."
 
-#: utils/adt/json.c:1300
+#: utils/adt/json.c:1314
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "JSON数据, 行 %d: %s%s%s"
 
-#: utils/adt/json.c:1455 utils/adt/jsonb.c:724
+#: utils/adt/json.c:1469 utils/adt/jsonb.c:724
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "键值必须是标量,不能是数组、复合值或json值"
 
-#: utils/adt/json.c:1992
+#: utils/adt/json.c:2006
 #, c-format
-#| msgid "could not determine data type for argument %d"
 msgid "could not determine data type for argument 1"
 msgstr "无法确定参数1的数据类型"
 
-#: utils/adt/json.c:2002
+#: utils/adt/json.c:2016
 #, c-format
-#| msgid "could not determine data type for argument %d"
 msgid "could not determine data type for argument 2"
 msgstr "无法确定参数2的数据类型"
 
-#: utils/adt/json.c:2026 utils/adt/jsonb.c:1786
+#: utils/adt/json.c:2040 utils/adt/jsonb.c:1781
 #, c-format
 msgid "field name must not be null"
 msgstr "字段名不能为空"
 
-#: utils/adt/json.c:2103
+#: utils/adt/json.c:2117
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "参数列表的元素个数必须为偶数"
 
-#: utils/adt/json.c:2104
+#: utils/adt/json.c:2118
 #, c-format
 msgid ""
 "The arguments of json_build_object() must consist of alternating keys and "
 "values."
 msgstr "json_build_object()的参数必须包含可替代的键和对应的值."
 
-#: utils/adt/json.c:2128 utils/adt/json.c:2149 utils/adt/json.c:2208
+#: utils/adt/json.c:2142 utils/adt/json.c:2163 utils/adt/json.c:2222
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "无法确定参数 %d 的数据类型"
 
-#: utils/adt/json.c:2134
+#: utils/adt/json.c:2148
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "参数%d不能为空"
 
-#: utils/adt/json.c:2135
+#: utils/adt/json.c:2149
 #, c-format
 msgid "Object keys should be text."
 msgstr "对象的键必须是文本"
 
-#: utils/adt/json.c:2270 utils/adt/jsonb.c:1369
+#: utils/adt/json.c:2284 utils/adt/jsonb.c:1363
 #, c-format
 msgid "array must have two columns"
 msgstr "数组必须有两列"
 
-#: utils/adt/json.c:2294 utils/adt/json.c:2378 utils/adt/jsonb.c:1393
-#: utils/adt/jsonb.c:1488
+#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387
+#: utils/adt/jsonb.c:1482
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "空值不能用于对象的键当中"
 
-#: utils/adt/json.c:2367 utils/adt/jsonb.c:1477
+#: utils/adt/json.c:2381 utils/adt/jsonb.c:1471
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "不匹配的数组维数"
@@ -19350,31 +19914,21 @@ msgstr "因为实现方面的限制,jsonb字符串不能超过%d个字节."
 
 #: utils/adt/jsonb.c:1182
 #, c-format
-#| msgid "invalid number of points in external \"path\" value"
 msgid "invalid number of arguments: object must be matched key value pairs"
 msgstr "无效的参数数量:对象必须是匹配的键值对"
 
-#: utils/adt/jsonb.c:1196
+#: utils/adt/jsonb.c:1195
 #, c-format
-#| msgid "argument %d cannot be null"
 msgid "argument %d: key must not be null"
 msgstr "参数%d:键不能为空"
 
-#: utils/adt/jsonb.c:1218
+#: utils/adt/jsonb.c:1214 utils/adt/jsonb.c:1237 utils/adt/jsonb.c:1297
 #, c-format
-#| msgid "could not determine input data type"
 msgid "argument %d: could not determine data type"
 msgstr "参数%d:不能确定数据类型"
 
-#: utils/adt/jsonb.c:1241 utils/adt/jsonb.c:1303
-#, c-format
-#| msgid "could not determine input data type"
-msgid "arg %d: could not determine data type"
-msgstr "参数%d:不能确定数据类型"
-
-#: utils/adt/jsonb.c:1839
+#: utils/adt/jsonb.c:1834
 #, c-format
-#| msgid "Object keys should be text."
 msgid "object keys must be strings"
 msgstr "对象键必须是字符串"
 
@@ -19399,125 +19953,143 @@ msgstr "jsonb数组的元素的总大小超过了最大值%u字节"
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "jsonb对象元素的总大小不能超过最大 %u 字节"
 
-#: utils/adt/jsonfuncs.c:296 utils/adt/jsonfuncs.c:461
-#: utils/adt/jsonfuncs.c:2056 utils/adt/jsonfuncs.c:2497
-#: utils/adt/jsonfuncs.c:3003
+#: utils/adt/jsonfuncs.c:305 utils/adt/jsonfuncs.c:470
+#: utils/adt/jsonfuncs.c:2065 utils/adt/jsonfuncs.c:2506
+#: utils/adt/jsonfuncs.c:3012
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "无法在标量上调用%s"
 
-#: utils/adt/jsonfuncs.c:301 utils/adt/jsonfuncs.c:448
-#: utils/adt/jsonfuncs.c:2486
+#: utils/adt/jsonfuncs.c:310 utils/adt/jsonfuncs.c:457
+#: utils/adt/jsonfuncs.c:2495
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "无法在数组上调用%s"
 
-#: utils/adt/jsonfuncs.c:1364 utils/adt/jsonfuncs.c:1399
+#: utils/adt/jsonfuncs.c:1373 utils/adt/jsonfuncs.c:1408
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "无法得到一个标题的数组长度"
 
-#: utils/adt/jsonfuncs.c:1368 utils/adt/jsonfuncs.c:1387
+#: utils/adt/jsonfuncs.c:1377 utils/adt/jsonfuncs.c:1396
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "无法从一个非数组里得到数组的长度"
 
-#: utils/adt/jsonfuncs.c:1464
+#: utils/adt/jsonfuncs.c:1473
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "不能在非对象上调用 %s "
 
-#: utils/adt/jsonfuncs.c:1482 utils/adt/jsonfuncs.c:2169
-#: utils/adt/jsonfuncs.c:2706
+#: utils/adt/jsonfuncs.c:1491 utils/adt/jsonfuncs.c:2178
+#: utils/adt/jsonfuncs.c:2715
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用"
 
-#: utils/adt/jsonfuncs.c:1725
+#: utils/adt/jsonfuncs.c:1734
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "不能将一个数组析构为一个对象"
 
-#: utils/adt/jsonfuncs.c:1737
+#: utils/adt/jsonfuncs.c:1746
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "无法析构一个标量"
 
-#: utils/adt/jsonfuncs.c:1783
+#: utils/adt/jsonfuncs.c:1792
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "无法从标题值时提取元素"
 
-#: utils/adt/jsonfuncs.c:1787
+#: utils/adt/jsonfuncs.c:1796
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "无法从一个对象里提取元素"
 
-#: utils/adt/jsonfuncs.c:2043 utils/adt/jsonfuncs.c:2802
+#: utils/adt/jsonfuncs.c:2052 utils/adt/jsonfuncs.c:2811
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "非数组上不能调用%s"
 
-#: utils/adt/jsonfuncs.c:2130 utils/adt/jsonfuncs.c:2682
+#: utils/adt/jsonfuncs.c:2139 utils/adt/jsonfuncs.c:2691
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "%s 的第一个参数必需是一个行类型"
 
-#: utils/adt/jsonfuncs.c:2171
+#: utils/adt/jsonfuncs.c:2180
 #, c-format
 msgid ""
 "Try calling the function in the FROM clause using a column definition list."
 msgstr "试图在FROM子句时在,使用列定义列表调用该函数."
 
-#: utils/adt/jsonfuncs.c:2818 utils/adt/jsonfuncs.c:2985
+#: utils/adt/jsonfuncs.c:2827 utils/adt/jsonfuncs.c:2994
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "%s 的参数必须是一个对象数组"
 
-#: utils/adt/jsonfuncs.c:2842
+#: utils/adt/jsonfuncs.c:2851
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "不能在一个对象上调用%s"
 
-#: utils/adt/jsonfuncs.c:3409 utils/adt/jsonfuncs.c:3462
+#: utils/adt/jsonfuncs.c:3418 utils/adt/jsonfuncs.c:3471
 #, c-format
-#| msgid "cannot delete from view \"%s\""
 msgid "cannot delete from scalar"
 msgstr "无法从标量删除"
 
-#: utils/adt/jsonfuncs.c:3467
+#: utils/adt/jsonfuncs.c:3476
 #, c-format
-#| msgid "cannot delete from foreign table \"%s\""
-msgid "cannot delete from object using integer subscript"
-msgstr "不能从对象使用整数下标删除"
+#| msgid "cannot delete from object using integer subscript"
+msgid "cannot delete from object using integer index"
+msgstr "不能使用整数索引从对象删除"
 
-#: utils/adt/jsonfuncs.c:3533
+#: utils/adt/jsonfuncs.c:3542 utils/adt/jsonfuncs.c:3634
 #, c-format
-#| msgid "cannot get array length of a scalar"
 msgid "cannot set path in scalar"
 msgstr "无法在标量中设置路径"
 
-#: utils/adt/jsonfuncs.c:3578
+#: utils/adt/jsonfuncs.c:3587
 #, c-format
-#| msgid "cannot deconstruct a scalar"
 msgid "cannot delete path in scalar"
 msgstr "无法在标量中删除路径"
 
 # fe-connect.c:2558
-#: utils/adt/jsonfuncs.c:3703
+#: utils/adt/jsonfuncs.c:3757
 #, c-format
-#| msgid "invalid combination of date conventions"
 msgid "invalid concatenation of jsonb objects"
 msgstr "jsonb对象的无效串接"
 
-#: utils/adt/levenshtein.c:127
+#: utils/adt/jsonfuncs.c:3791
 #, c-format
-#| msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
-msgid "argument exceeds the maximum length of %d bytes"
-msgstr "参数超过了%d字节的最大长度"
+msgid "path element at position %d is null"
+msgstr "位置 %d 的路径元素为空"
 
-#: utils/adt/like.c:212 utils/adt/selfuncs.c:5275
+#: utils/adt/jsonfuncs.c:3877
+#, c-format
+#| msgid "cannot reopen stdin\n"
+msgid "cannot replace existing key"
+msgstr "不能替换已经存在的键"
+
+#: utils/adt/jsonfuncs.c:3878
+#, c-format
+msgid "Try using the function jsonb_set to replace key value."
+msgstr "尝试使用 jsonb_set 来替换键值。"
+
+#: utils/adt/jsonfuncs.c:3960
+#, c-format
+#| msgid "plpy.prepare: type name at ordinal position %d is not a string"
+msgid "path element at position %d is not an integer: \"%s\""
+msgstr "位置 %d 的路径元素不是一个整数:\"%s\""
+
+#: utils/adt/levenshtein.c:133
+#, c-format
+#| msgid "argument exceeds the maximum length of %d bytes"
+msgid "levenshtein argument exceeds maximum length of %d characters"
+msgstr "levenshtein 参数超过了 %d 字符的最大长度"
+
+#: utils/adt/like.c:212 utils/adt/selfuncs.c:5329
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "无法确定ILIKE使用哪种排序规则"
@@ -19537,7 +20109,7 @@ msgstr "无效的逃逸字符串"
 msgid "Escape string must be empty or one character."
 msgstr "逃逸字符串必须为空或者一个字符."
 
-#: utils/adt/lockfuncs.c:422
+#: utils/adt/lockfuncs.c:545
 #, c-format
 msgid "cannot use advisory locks during a parallel operation"
 msgstr "在并行操作期间无法使用咨询锁"
@@ -19552,80 +20124,101 @@ msgstr "无效的 macaddr 类型输入语法: \"%s\""
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "在 \"macaddr\" 值中的无效八位值: \"%s\""
 
-#: utils/adt/misc.c:116
+#: utils/adt/misc.c:239
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "PID %d 不是 PostgreSQL 服务器进程"
 
-#: utils/adt/misc.c:166
+#: utils/adt/misc.c:290
 #, c-format
-#| msgid "must be superuser to create superusers"
 msgid "must be a superuser to cancel superuser query"
 msgstr "只有超级用户才能取消超级用户的查询"
 
-#: utils/adt/misc.c:171
+#: utils/adt/misc.c:295
 #, c-format
-msgid "must be a member of the role whose query is being canceled"
-msgstr "必须是其查询被取消的角色的一个成员"
+#| msgid "must be a member of the role whose query is being canceled"
+msgid ""
+"must be a member of the role whose query is being canceled or member of "
+"pg_signal_backend"
+msgstr "必须是其查询被取消的角色的一个成员或者 pg_signal_backend 的一个成员"
 
-#: utils/adt/misc.c:190
+#: utils/adt/misc.c:314
 #, c-format
-#| msgid "must be superuser to create superusers"
 msgid "must be a superuser to terminate superuser process"
 msgstr "只有超级用户中止超级用户的进程"
 
-#: utils/adt/misc.c:195
-#, c-format
-#| msgid "table \"%s\" is not a member of the extension being created"
-msgid "must be a member of the role whose process is being terminated"
-msgstr "必须是拥有被中断进程的角色的一个成员"
-
-#: utils/adt/misc.c:209
+#: utils/adt/misc.c:319
 #, c-format
-msgid "must be superuser to signal the postmaster"
-msgstr "只有超级用户可以发送信号到postmaster进程"
+#| msgid "must be a member of the role whose process is being terminated"
+msgid ""
+"must be a member of the role whose process is being terminated or member of "
+"pg_signal_backend"
+msgstr "必须是其进程被终止的角色的一个成员或者 pg_signal_backend 的一个成员"
 
-#: utils/adt/misc.c:214
+#: utils/adt/misc.c:336
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "无法发送信号到postmaster进程: %m"
 
-#: utils/adt/misc.c:231
-#, c-format
-msgid "must be superuser to rotate log files"
-msgstr "只有超级用户能切换日志文件"
-
-#: utils/adt/misc.c:236
+#: utils/adt/misc.c:356
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "日志切换无法进行,因为没有激活日志收集功能"
 
-#: utils/adt/misc.c:273
+#: utils/adt/misc.c:393
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "全局表空间没有数据库"
 
-#: utils/adt/misc.c:294
+#: utils/adt/misc.c:414
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u 不是一个表空间 OID"
 
-#: utils/adt/misc.c:491
+#: utils/adt/misc.c:611
 msgid "unreserved"
 msgstr "未保留"
 
-#: utils/adt/misc.c:495
+#: utils/adt/misc.c:615
 msgid "unreserved (cannot be function or type name)"
 msgstr "未保留(不能是函数或者类型名称)"
 
-#: utils/adt/misc.c:499
+#: utils/adt/misc.c:619
 msgid "reserved (can be function or type name)"
 msgstr "已保留(可以是函数或类型名称)"
 
-#: utils/adt/misc.c:503
+#: utils/adt/misc.c:623
 msgid "reserved"
 msgstr "已保留"
 
+#: utils/adt/misc.c:797 utils/adt/misc.c:811 utils/adt/misc.c:850
+#: utils/adt/misc.c:856 utils/adt/misc.c:862 utils/adt/misc.c:885
+#, c-format
+#| msgid "invalid snapshot identifier: \"%s\""
+msgid "string is not a valid identifier: \"%s\""
+msgstr "字符串不是一个合法的标识符:\"%s\""
+
+#: utils/adt/misc.c:799
+#, c-format
+msgid "String has unclosed double quotes."
+msgstr "字符串有未封闭的双引号。"
+
+#: utils/adt/misc.c:813
+#, c-format
+#| msgid "Extension names must not be empty."
+msgid "Quoted identifier must not be empty."
+msgstr "被引用的标识符不能为空。"
+
+#: utils/adt/misc.c:852
+#, c-format
+msgid "No valid identifier before \".\" symbol."
+msgstr "\".\" 符号前没有合法的标识符。"
+
+#: utils/adt/misc.c:858
+#, c-format
+msgid "No valid identifier after \".\" symbol."
+msgstr "\".\" 符号后没有合法的标识符。"
+
 #: utils/adt/nabstime.c:136
 #, c-format
 msgid "invalid time zone name: \"%s\""
@@ -19702,7 +20295,6 @@ msgstr "无法格式化cidr值: %m"
 
 #: utils/adt/network.c:917
 #, c-format
-#| msgid "cannot OR inet values of different sizes"
 msgid "cannot merge addresses from different families"
 msgstr "无法合并来自不同族的地址"
 
@@ -19726,103 +20318,100 @@ msgstr "结果超出范围"
 msgid "cannot subtract inet values of different sizes"
 msgstr "无法为不同大小的inet类型值进行减法运算"
 
-#: utils/adt/numeric.c:549 utils/adt/numeric.c:576 utils/adt/numeric.c:4604
-#: utils/adt/numeric.c:4627 utils/adt/numeric.c:4651 utils/adt/numeric.c:4658
+#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5394
+#: utils/adt/numeric.c:5417 utils/adt/numeric.c:5441 utils/adt/numeric.c:5448
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "无效的数字类型输入语法: \"%s\""
 
-#: utils/adt/numeric.c:766
+#: utils/adt/numeric.c:759
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "无效的外部 \"numeric\" 值长度"
 
-#: utils/adt/numeric.c:779
+#: utils/adt/numeric.c:772
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "无效的外部 \"numeric\" 值符号"
 
-#: utils/adt/numeric.c:785
+#: utils/adt/numeric.c:778
 #, c-format
-#| msgid "invalid length in external \"numeric\" value"
 msgid "invalid scale in external \"numeric\" value"
 msgstr "外部\"numeric\"值中范围无效"
 
-#: utils/adt/numeric.c:794
+#: utils/adt/numeric.c:787
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "无效的外部 \"numeric\" 值位数"
 
-#: utils/adt/numeric.c:985 utils/adt/numeric.c:999
+#: utils/adt/numeric.c:978 utils/adt/numeric.c:992
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "NUMERIC %d 的精度必须在 1 和 %d 之间"
 
-#: utils/adt/numeric.c:990
+#: utils/adt/numeric.c:983
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "NUMERIC 数值范围 %d 必须在 0 和精度 %d 之间"
 
 # fe-exec.c:2055
-#: utils/adt/numeric.c:1008
+#: utils/adt/numeric.c:1001
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "无效的NUMERIC类型修改器"
 
-#: utils/adt/numeric.c:1340
+#: utils/adt/numeric.c:1333
 #, c-format
-#| msgid "timestamp cannot be NaN"
 msgid "start value cannot be NaN"
 msgstr "开始值不能是NaN"
 
-#: utils/adt/numeric.c:1345
+#: utils/adt/numeric.c:1338
 #, c-format
-#| msgid "timestamp cannot be NaN"
 msgid "stop value cannot be NaN"
 msgstr "停止值不能是NaN"
 
-#: utils/adt/numeric.c:1355
+#: utils/adt/numeric.c:1348
 #, c-format
-#| msgid "step size cannot equal zero"
 msgid "step size cannot be NaN"
 msgstr "步长不能是NaN"
 
-#: utils/adt/numeric.c:2550 utils/adt/numeric.c:5104 utils/adt/numeric.c:7132
+#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7597
+#: utils/adt/numeric.c:8126 utils/adt/numeric.c:8199
 #, c-format
 msgid "value overflows numeric format"
 msgstr "值溢出数字格式"
 
-#: utils/adt/numeric.c:2881
+#: utils/adt/numeric.c:2885
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "无法转化 NaN 为整数"
 
-#: utils/adt/numeric.c:2947
+#: utils/adt/numeric.c:2951
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "无法转换 NaN 为 bigint"
 
-#: utils/adt/numeric.c:2992
+#: utils/adt/numeric.c:2996
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "无法转换 NaN 为 smallint"
 
-#: utils/adt/numeric.c:5174
+#: utils/adt/numeric.c:5964
 #, c-format
 msgid "numeric field overflow"
 msgstr "数字字段溢出"
 
-#: utils/adt/numeric.c:5175
+#: utils/adt/numeric.c:5965
 #, c-format
 msgid ""
 "A field with precision %d, scale %d must round to an absolute value less "
 "than %s%d."
 msgstr "精度为%d,范围是%d的字段必须四舍五入到小于%s%d的绝对值."
 
-#: utils/adt/numeric.c:6689
+#: utils/adt/numeric.c:6236 utils/adt/numeric.c:6262
 #, c-format
-msgid "argument for function \"exp\" too big"
-msgstr "对于函数 \"exp\" 参数太大"
+msgid "invalid input syntax for type double precision: \"%s\""
+msgstr "无效的双精度类型输入语法: \"%s\""
 
 #: utils/adt/numutils.c:75
 #, c-format
@@ -19880,41 +20469,41 @@ msgstr "不允许使用空字符"
 msgid "percentile value %g is not between 0 and 1"
 msgstr "百分比值 %g 不在0和1之间"
 
-#: utils/adt/pg_locale.c:911
+#: utils/adt/pg_locale.c:917
 #, c-format
 msgid "Apply system library package updates."
 msgstr "应用系统库包更新。"
 
-#: utils/adt/pg_locale.c:1116
+#: utils/adt/pg_locale.c:1122
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "无法创建本地化环境 \"%s\": %m"
 
-#: utils/adt/pg_locale.c:1119
+#: utils/adt/pg_locale.c:1125
 #, c-format
 msgid ""
 "The operating system could not find any locale data for the locale name \"%s"
 "\"."
 msgstr "操作系统无法找到本地化名 \"%s\"对应的任何本地化数据."
 
-#: utils/adt/pg_locale.c:1206
+#: utils/adt/pg_locale.c:1212
 #, c-format
 msgid ""
 "collations with different collate and ctype values are not supported on this "
 "platform"
 msgstr "在此平台上不支持带有不同collate和ctype值的排序规则"
 
-#: utils/adt/pg_locale.c:1221
+#: utils/adt/pg_locale.c:1227
 #, c-format
 msgid "nondefault collations are not supported on this platform"
 msgstr "在这个平台上不支持使用非缺省的排序规则"
 
-#: utils/adt/pg_locale.c:1392
+#: utils/adt/pg_locale.c:1398
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "无效的多字节字符, 对于 locale"
 
-#: utils/adt/pg_locale.c:1393
+#: utils/adt/pg_locale.c:1399
 #, c-format
 msgid ""
 "The server's LC_CTYPE locale is probably incompatible with the database "
@@ -19926,12 +20515,17 @@ msgstr "服务器本地 LC_CTYPE 可能与数据库编码不兼容."
 msgid "invalid input syntax for type pg_lsn: \"%s\""
 msgstr "类型 pg_lsn: \"%s\"使用了无效的输入语法"
 
-#: utils/adt/pg_upgrade_support.c:39
+#: utils/adt/pg_upgrade_support.c:40
 #, c-format
-#| msgid "must be superuser to connect in binary upgrade mode"
 msgid "function can only be called when server is in binary upgrade mode"
 msgstr "只有当服务器处于二进制升级模式时才能调用函数"
 
+#: utils/adt/pgstatfuncs.c:569
+#, c-format
+#| msgid "invalid locale name: \"%s\""
+msgid "invalid command name: \"%s\""
+msgstr "无效的命令名:\"%s\""
+
 #: utils/adt/pseudotypes.c:95
 #, c-format
 msgid "cannot accept a value of type any"
@@ -19999,76 +20593,84 @@ msgstr "无法显示一个 fdw_handler 类型值"
 
 #: utils/adt/pseudotypes.c:384
 #, c-format
-#| msgid "cannot accept a value of type fdw_handler"
+#| msgid "cannot accept a value of type tsm_handler"
+msgid "cannot accept a value of type index_am_handler"
+msgstr "无法接受一个类型 index_am_handler 的值"
+
+#: utils/adt/pseudotypes.c:397
+#, c-format
+#| msgid "cannot display a value of type tsm_handler"
+msgid "cannot display a value of type index_am_handler"
+msgstr "无法显示一个类型 index_am_handler 的值"
+
+#: utils/adt/pseudotypes.c:411
+#, c-format
 msgid "cannot accept a value of type tsm_handler"
 msgstr "无法接受一个类型tsm_handler的值"
 
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/pseudotypes.c:424
 #, c-format
-#| msgid "cannot display a value of type fdw_handler"
 msgid "cannot display a value of type tsm_handler"
 msgstr "无法显示一个类型tsm_handler的值"
 
-#: utils/adt/pseudotypes.c:411
+#: utils/adt/pseudotypes.c:438
 #, c-format
 msgid "cannot accept a value of type internal"
 msgstr "无法接受一个 internal 类型值"
 
-#: utils/adt/pseudotypes.c:424
+#: utils/adt/pseudotypes.c:451
 #, c-format
 msgid "cannot display a value of type internal"
 msgstr "无法显示一个 internal 类型值"
 
-#: utils/adt/pseudotypes.c:438
+#: utils/adt/pseudotypes.c:465
 #, c-format
 msgid "cannot accept a value of type opaque"
 msgstr "无法接受一个 opaque 类型值"
 
-#: utils/adt/pseudotypes.c:451
+#: utils/adt/pseudotypes.c:478
 #, c-format
 msgid "cannot display a value of type opaque"
 msgstr "无法显示一个 opaque 类型值"
 
-#: utils/adt/pseudotypes.c:465
+#: utils/adt/pseudotypes.c:492
 #, c-format
 msgid "cannot accept a value of type anyelement"
 msgstr "无法接受一个 anyelement 类型值"
 
-#: utils/adt/pseudotypes.c:478
+#: utils/adt/pseudotypes.c:505
 #, c-format
 msgid "cannot display a value of type anyelement"
 msgstr "无法显示一个 anyelement 类型值"
 
-#: utils/adt/pseudotypes.c:491
+#: utils/adt/pseudotypes.c:518
 #, c-format
 msgid "cannot accept a value of type anynonarray"
 msgstr "无法接受一个anynonarray类型值"
 
-#: utils/adt/pseudotypes.c:504
+#: utils/adt/pseudotypes.c:531
 #, c-format
 msgid "cannot display a value of type anynonarray"
 msgstr "无法显示一个anynonarray类型的值"
 
-#: utils/adt/pseudotypes.c:517
+#: utils/adt/pseudotypes.c:544
 #, c-format
 msgid "cannot accept a value of a shell type"
 msgstr "无法接受一个shell类型的值"
 
-#: utils/adt/pseudotypes.c:530
+#: utils/adt/pseudotypes.c:557
 #, c-format
 msgid "cannot display a value of a shell type"
 msgstr "无法显示一个shell类型值"
 
-#: utils/adt/pseudotypes.c:552 utils/adt/pseudotypes.c:577
-#: utils/adt/pseudotypes.c:605 utils/adt/pseudotypes.c:633
+#: utils/adt/pseudotypes.c:579 utils/adt/pseudotypes.c:604
+#: utils/adt/pseudotypes.c:632 utils/adt/pseudotypes.c:660
 #, c-format
-#| msgid "cannot accept a value of type any"
 msgid "cannot accept a value of type %s"
 msgstr "无法接受一个类型%s的值"
 
-#: utils/adt/pseudotypes.c:620 utils/adt/pseudotypes.c:646
+#: utils/adt/pseudotypes.c:647 utils/adt/pseudotypes.c:673
 #, c-format
-#| msgid "cannot accept a value of type any"
 msgid "cannot output a value of type %s"
 msgstr "无法输出一个类型%s的值"
 
@@ -20137,7 +20739,7 @@ msgstr "太多逗号."
 msgid "Junk after right parenthesis or bracket."
 msgstr "右大括号或右中括弧后的内容无用."
 
-#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3588
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3829
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "正则表达式失败: %s"
@@ -20162,8 +20764,8 @@ msgstr "多个函数名为 \"%s\""
 msgid "more than one operator named %s"
 msgstr "多个操作符名为 %s"
 
-#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:1962
-#: utils/adt/ruleutils.c:8154 utils/adt/ruleutils.c:8279
+#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006
+#: utils/adt/ruleutils.c:8173 utils/adt/ruleutils.c:8298
 #, c-format
 msgid "too many arguments"
 msgstr "太多参数"
@@ -20173,28 +20775,29 @@ msgstr "太多参数"
 msgid "Provide two argument types for operator."
 msgstr "为操作符提供两个参数类型."
 
-#: utils/adt/regproc.c:1797 utils/adt/regproc.c:1802 utils/adt/varlena.c:2859
-#: utils/adt/varlena.c:2864
+#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715
+#: utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846
+#: utils/adt/varlena.c:3084 utils/adt/varlena.c:3089
 #, c-format
 msgid "invalid name syntax"
 msgstr "无效的名字语法"
 
-#: utils/adt/regproc.c:1860
+#: utils/adt/regproc.c:1904
 #, c-format
 msgid "expected a left parenthesis"
 msgstr "需要一个左括弧"
 
-#: utils/adt/regproc.c:1876
+#: utils/adt/regproc.c:1920
 #, c-format
 msgid "expected a right parenthesis"
 msgstr "需要一个右括弧"
 
-#: utils/adt/regproc.c:1895
+#: utils/adt/regproc.c:1939
 #, c-format
 msgid "expected a type name"
 msgstr "需要一个类型名字"
 
-#: utils/adt/regproc.c:1927
+#: utils/adt/regproc.c:1971
 #, c-format
 msgid "improper type name"
 msgstr "不正确的类型名字"
@@ -20259,7 +20862,6 @@ msgstr "键值对(%s)=(%s)没有在表\"%s\"中出现."
 
 #: utils/adt/ri_triggers.c:3324
 #, c-format
-#| msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgid "Key is not present in table \"%s\"."
 msgstr "表\"%s\"中没有出现键。"
 
@@ -20277,7 +20879,6 @@ msgstr "键值对(%s)=(%s)仍然是从表\"%s\"引用的."
 
 #: utils/adt/ri_triggers.c:3338
 #, c-format
-#| msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgid "Key is still referenced from table \"%s\"."
 msgstr "表\"%s\"中仍然有对键的引用。"
 
@@ -20339,17 +20940,17 @@ msgstr "在记录列%3$d上不能对不相似的列类型%1$s和%2$s进行比较
 msgid "cannot compare record types with different numbers of columns"
 msgstr "无法比较不同元素类型的数组"
 
-#: utils/adt/ruleutils.c:4147
+#: utils/adt/ruleutils.c:4153
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "规则 \"%s\" 不支持事件类型 %d"
 
-#: utils/adt/selfuncs.c:5260
+#: utils/adt/selfuncs.c:5314
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "在类型bytea上不支持对不区分大小写的匹配"
 
-#: utils/adt/selfuncs.c:5363
+#: utils/adt/selfuncs.c:5417
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "在 bytea 类型上不支持正则表达式匹配"
@@ -20369,129 +20970,134 @@ msgstr "TIMESTAMP(%d)%s 精确度不能为负数"
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "将TIMESTAMP(%d)%s减少到最大允许值,%d"
 
-#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:444
+#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:445
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "时间戳超出范围: \"%s\""
 
-#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:462
-#: utils/adt/timestamp.c:917
+#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:463
+#: utils/adt/timestamp.c:993
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "日期/时间值 \"%s\" 不再被支持"
 
-#: utils/adt/timestamp.c:258
+#: utils/adt/timestamp.c:258 utils/adt/timestamp.c:754
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "时间戳不能是NaN"
 
-#: utils/adt/timestamp.c:379
+#: utils/adt/timestamp.c:380
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "timestamp(%d) 的精确度必需在 %d 到 %d 之间"
 
-#: utils/adt/timestamp.c:512
+#: utils/adt/timestamp.c:513
 #, c-format
 msgid "invalid input syntax for numeric time zone: \"%s\""
 msgstr "数字时区使用了无效的输入语法: \"%s\""
 
-#: utils/adt/timestamp.c:514
+#: utils/adt/timestamp.c:515
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr "数字时区必须是以\"-\" or \"+\" 作为第一个字符."
 
-#: utils/adt/timestamp.c:527
+#: utils/adt/timestamp.c:528
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "数字时区\"%s\"超出范围"
 
-#: utils/adt/timestamp.c:630 utils/adt/timestamp.c:640
+#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641
+#: utils/adt/timestamp.c:653
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "时间戳超出范围:%d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:911 utils/adt/timestamp.c:1482
-#: utils/adt/timestamp.c:1985 utils/adt/timestamp.c:3125
-#: utils/adt/timestamp.c:3130 utils/adt/timestamp.c:3135
-#: utils/adt/timestamp.c:3185 utils/adt/timestamp.c:3192
-#: utils/adt/timestamp.c:3199 utils/adt/timestamp.c:3219
-#: utils/adt/timestamp.c:3226 utils/adt/timestamp.c:3233
-#: utils/adt/timestamp.c:3262 utils/adt/timestamp.c:3269
-#: utils/adt/timestamp.c:3314 utils/adt/timestamp.c:3605
-#: utils/adt/timestamp.c:3734 utils/adt/timestamp.c:4125
+#: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776
+#: utils/adt/timestamp.c:791
+#, c-format
+#| msgid "timestamp out of range: \"%s\""
+msgid "timestamp out of range: \"%g\""
+msgstr "时间戳超出范围: \"%g\""
+
+#: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558
+#: utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220
+#: utils/adt/timestamp.c:3225 utils/adt/timestamp.c:3230
+#: utils/adt/timestamp.c:3280 utils/adt/timestamp.c:3287
+#: utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3314
+#: utils/adt/timestamp.c:3321 utils/adt/timestamp.c:3328
+#: utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3366
+#: utils/adt/timestamp.c:3411 utils/adt/timestamp.c:3751
+#: utils/adt/timestamp.c:3880 utils/adt/timestamp.c:4271
 #, c-format
 msgid "interval out of range"
 msgstr "interval 超出范围"
 
-#: utils/adt/timestamp.c:1052 utils/adt/timestamp.c:1085
+#: utils/adt/timestamp.c:1128 utils/adt/timestamp.c:1161
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "无效的INTERVAL类型修改器"
 
-#: utils/adt/timestamp.c:1068
+#: utils/adt/timestamp.c:1144
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "INTERVAL(%d) 的精确度不能为负数"
 
-#: utils/adt/timestamp.c:1074
+#: utils/adt/timestamp.c:1150
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "将INTERVAL(%d)减少到最大允许值,%d"
 
-#: utils/adt/timestamp.c:1426
+#: utils/adt/timestamp.c:1502
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "interval(%d) 的精确度必需在 %d 到 %d 之间"
 
-#: utils/adt/timestamp.c:2714
+#: utils/adt/timestamp.c:2797
 #, c-format
 msgid "cannot subtract infinite timestamps"
 msgstr "无法减去无限长的时间戳"
 
-#: utils/adt/timestamp.c:3860 utils/adt/timestamp.c:4486
-#: utils/adt/timestamp.c:4506
+#: utils/adt/timestamp.c:4006 utils/adt/timestamp.c:4531
+#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4740
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "不支持时间戳单位 \"%s\""
 
-#: utils/adt/timestamp.c:3874 utils/adt/timestamp.c:4516
+#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4485
+#: utils/adt/timestamp.c:4750
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "时间戳单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:4014 utils/adt/timestamp.c:4697
-#: utils/adt/timestamp.c:4718
+#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4526
+#: utils/adt/timestamp.c:4937 utils/adt/timestamp.c:4963
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr "不支持带时区的时间戳单位 \"%s\""
 
-#: utils/adt/timestamp.c:4031 utils/adt/timestamp.c:4727
+#: utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4480
+#: utils/adt/timestamp.c:4972
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr "带时区的时间戳单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:4112
+#: utils/adt/timestamp.c:4258
 #, c-format
 msgid ""
 "interval units \"%s\" not supported because months usually have fractional "
 "weeks"
 msgstr "时间间隔的单位 \"%s\"不支持使用,因为月以周来计算时,通常带有分数值"
 
-#: utils/adt/timestamp.c:4118 utils/adt/timestamp.c:4833
+#: utils/adt/timestamp.c:4264 utils/adt/timestamp.c:5078
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "不支持 \"%s\" 的 interval 单位"
 
-#: utils/adt/timestamp.c:4134 utils/adt/timestamp.c:4860
+#: utils/adt/timestamp.c:4280 utils/adt/timestamp.c:5105
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "interval 单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:5024 utils/adt/timestamp.c:5254
-#, c-format
-msgid "could not convert to time zone \"%s\""
-msgstr "无法转换到时间区域\"%s\""
-
 #: utils/adt/trigfuncs.c:42
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called as trigger"
@@ -20517,70 +21123,80 @@ msgstr "suppress_redundant_updates_trigger: 必须为每条记录调用"
 msgid "gtsvector_in not implemented"
 msgstr "没有实现gtsvector_in"
 
-#: utils/adt/tsquery.c:155 utils/adt/tsquery.c:390
-#: utils/adt/tsvector_parser.c:133
+#: utils/adt/tsquery.c:166
+#, c-format
+msgid "distance in phrase operator should not be greater than %d"
+msgstr "短语操作符中的距离不应该大于 %d"
+
+#: utils/adt/tsquery.c:254 utils/adt/tsquery.c:513
+#: utils/adt/tsvector_parser.c:141
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "在tsquery中的语法错误:\"%s\""
 
-#: utils/adt/tsquery.c:176
+#: utils/adt/tsquery.c:275
 #, c-format
 msgid "no operand in tsquery: \"%s\""
 msgstr "在tsquery中没有操作数:\"%s\""
 
-#: utils/adt/tsquery.c:248
+#: utils/adt/tsquery.c:358
 #, c-format
 msgid "value is too big in tsquery: \"%s\""
 msgstr "在tsquery中的值太大了:\"%s\""
 
-#: utils/adt/tsquery.c:253
+#: utils/adt/tsquery.c:363
 #, c-format
 msgid "operand is too long in tsquery: \"%s\""
 msgstr "在tsquery中操作数太长了: \"%s\""
 
-#: utils/adt/tsquery.c:281
+#: utils/adt/tsquery.c:391
 #, c-format
 msgid "word is too long in tsquery: \"%s\""
 msgstr "在tsquery中的词太长了:\"%s\" "
 
-#: utils/adt/tsquery.c:510
+#: utils/adt/tsquery.c:648
 #, c-format
 msgid "text-search query doesn't contain lexemes: \"%s\""
 msgstr "文本搜索查询没有包含词汇单位:\"%s\""
 
-#: utils/adt/tsquery.c:521 utils/adt/tsquery_util.c:340
+#: utils/adt/tsquery.c:659 utils/adt/tsquery_util.c:347
 #, c-format
 msgid "tsquery is too large"
 msgstr "tsquery查询太大"
 
-#: utils/adt/tsquery_cleanup.c:287
+#: utils/adt/tsquery_cleanup.c:580
 #, c-format
 msgid ""
 "text-search query contains only stop words or doesn't contain lexemes, "
 "ignored"
 msgstr "文本搜索查询只包含结束词或者不包含词汇单位, 被忽略"
 
-#: utils/adt/tsquery_rewrite.c:293
+#: utils/adt/tsquery_op.c:122
+#, c-format
+msgid "distance in phrase operator should be non-negative and less than %d"
+msgstr "短语操作符中的距离应该为非负并且小于 %d"
+
+#: utils/adt/tsquery_rewrite.c:292
 #, c-format
 msgid "ts_rewrite query must return two tsquery columns"
 msgstr "ts_rewrite查询必须返回两个tsquery字段的记录"
 
-#: utils/adt/tsrank.c:410
+#: utils/adt/tsrank.c:412
 #, c-format
 msgid "array of weight must be one-dimensional"
 msgstr "权重数组必须为空或者一维数组"
 
-#: utils/adt/tsrank.c:415
+#: utils/adt/tsrank.c:417
 #, c-format
 msgid "array of weight is too short"
 msgstr "权重数组太短了."
 
-#: utils/adt/tsrank.c:420
+#: utils/adt/tsrank.c:422
 #, c-format
 msgid "array of weight must not contain nulls"
 msgstr "权重数组不能包含空值"
 
-#: utils/adt/tsrank.c:429 utils/adt/tsrank.c:756
+#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:862
 #, c-format
 msgid "weight out of range"
 msgstr "权重 超出范围"
@@ -20595,84 +21211,95 @@ msgstr "词太长了(%ld字节, 最大 %ld 字节)"
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "字符串对于tsvector来说太长了(当前 %ld字节, 最大允许值是%ld字节)"
 
-#: utils/adt/tsvector_op.c:1173
+#: utils/adt/tsvector_op.c:317 utils/adt/tsvector_op.c:565
+#: utils/adt/tsvector_op.c:731
+#, c-format
+#| msgid "array must not contain nulls"
+msgid "lexeme array may not contain nulls"
+msgstr "词位数组不能包含空值"
+
+#: utils/adt/tsvector_op.c:789
+#, c-format
+#| msgid "array must not contain nulls"
+msgid "weight array may not contain nulls"
+msgstr "权重数组不能包含空值"
+
+#: utils/adt/tsvector_op.c:1976
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "ts_stat查询必须在tsvector类型列上返回"
 
-#: utils/adt/tsvector_op.c:1353
+#: utils/adt/tsvector_op.c:2158
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "tsvector字段 \"%s\" 不存在"
 
-#: utils/adt/tsvector_op.c:1359
+#: utils/adt/tsvector_op.c:2164
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "列\"%s\"不属于tsvector类型"
 
-#: utils/adt/tsvector_op.c:1371
+#: utils/adt/tsvector_op.c:2176
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "配置字段 \"%s\" 不存在"
 
-#: utils/adt/tsvector_op.c:1377
+#: utils/adt/tsvector_op.c:2182
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "列\"%s\"不属于regconfig类型"
 
-#: utils/adt/tsvector_op.c:1384
+#: utils/adt/tsvector_op.c:2189
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "配置列\"%s\"不能为空"
 
-#: utils/adt/tsvector_op.c:1397
+#: utils/adt/tsvector_op.c:2202
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr "文本搜索配置名称\"%s\"必须是模式限定的。"
 
-#: utils/adt/tsvector_op.c:1422
+#: utils/adt/tsvector_op.c:2227
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "字段 \"%s\"不属于字符类型"
 
-#: utils/adt/tsvector_parser.c:134
+#: utils/adt/tsvector_parser.c:142
 #, c-format
 msgid "syntax error in tsvector: \"%s\""
 msgstr "在tsvector中的语法错误:\"%s\" "
 
-#: utils/adt/tsvector_parser.c:199
+#: utils/adt/tsvector_parser.c:207
 #, c-format
 msgid "there is no escaped character: \"%s\""
 msgstr "那里没有转义的字符: \"%s\""
 
-#: utils/adt/tsvector_parser.c:316
+#: utils/adt/tsvector_parser.c:324
 #, c-format
 msgid "wrong position info in tsvector: \"%s\""
 msgstr "在tsvector中的错误位置信息: \"%s\""
 
 #: utils/adt/txid.c:339
 #, c-format
-#| msgid "invalid input syntax for type tid: \"%s\""
 msgid "invalid input syntax for type txid_snapshot: \"%s\""
 msgstr "类型txid_snapshot的无效输入语法:\"%s\""
 
 #: utils/adt/txid.c:534
 #, c-format
-#| msgid "invalid external \"cidr\" value"
 msgid "invalid external txid_snapshot data"
 msgstr "无效的外部txid_snapshot数据"
 
-#: utils/adt/uuid.c:128
+#: utils/adt/uuid.c:145
 #, c-format
 msgid "invalid input syntax for uuid: \"%s\""
 msgstr "uuid的输入语法无效:\"%s\" "
 
-#: utils/adt/varbit.c:57 utils/adt/varchar.c:49
+#: utils/adt/varbit.c:57 utils/adt/varchar.c:50
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "类型 %s 的长度至少为 1"
 
-#: utils/adt/varbit.c:62 utils/adt/varchar.c:53
+#: utils/adt/varbit.c:62 utils/adt/varchar.c:54
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "类型 %s 的长度不能超过 %d"
@@ -20707,9 +21334,9 @@ msgstr "无效的外部位串长度"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "bit字符串对于可变bit类型(%d)来说太长了."
 
-#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:832
-#: utils/adt/varlena.c:896 utils/adt/varlena.c:1040 utils/adt/varlena.c:2510
-#: utils/adt/varlena.c:2577
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:842
+#: utils/adt/varlena.c:906 utils/adt/varlena.c:1050 utils/adt/varlena.c:2735
+#: utils/adt/varlena.c:2802
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "不允许子串长度为负数"
@@ -20734,78 +21361,91 @@ msgstr "无法为不同大小的字符串进行异或 (XOR) 位运算"
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "比特索引 %d 超出有效范围 (0..%d)"
 
-#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2777
+#: utils/adt/varbit.c:1802 utils/adt/varlena.c:3002
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "新的位必须为 0 或 1"
 
-#: utils/adt/varchar.c:153 utils/adt/varchar.c:306
+#: utils/adt/varchar.c:154 utils/adt/varchar.c:307
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr "对于字符类型来说这个值太长了(%d)"
 
-#: utils/adt/varchar.c:468 utils/adt/varchar.c:622
+#: utils/adt/varchar.c:469 utils/adt/varchar.c:623
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr "对于可变字符类型来说,值太长了(%d)"
 
-#: utils/adt/varlena.c:1410 utils/adt/varlena.c:1799
+#: utils/adt/varlena.c:1420 utils/adt/varlena.c:1825
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr "无法确定字符串比较中使用哪种排序规则"
 
-#: utils/adt/varlena.c:1468 utils/adt/varlena.c:1481
+#: utils/adt/varlena.c:1478 utils/adt/varlena.c:1491
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "无法将字符串转换为UTF-16编码: 错误码 %lu"
 
-#: utils/adt/varlena.c:1496
+#: utils/adt/varlena.c:1506
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "无法比较Unicode类型字符串: %m"
 
-#: utils/adt/varlena.c:2655 utils/adt/varlena.c:2686 utils/adt/varlena.c:2722
-#: utils/adt/varlena.c:2765
+#: utils/adt/varlena.c:2880 utils/adt/varlena.c:2911 utils/adt/varlena.c:2947
+#: utils/adt/varlena.c:2990
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "索引 %d 超出有效范围, 0..%d"
 
-#: utils/adt/varlena.c:3684
+#: utils/adt/varlena.c:3925
 #, c-format
 msgid "field position must be greater than zero"
 msgstr "字段的位置必须大于0"
 
-#: utils/adt/varlena.c:4563
+#: utils/adt/varlena.c:4804
+#, c-format
+#| msgid "unterminated format specifier"
+msgid "unterminated format() type specifier"
+msgstr "未结束的 format() 类型说明符"
+
+#: utils/adt/varlena.c:4805 utils/adt/varlena.c:4939 utils/adt/varlena.c:5060
 #, c-format
-msgid "unterminated format specifier"
-msgstr "未结束的格式标识器"
+msgid "For a single \"%%\" use \"%%%%\"."
+msgstr "对于单个 \"%%\" 应使用 \"%%%%\"。"
 
-#: utils/adt/varlena.c:4695 utils/adt/varlena.c:4815
+#: utils/adt/varlena.c:4937 utils/adt/varlena.c:5058
 #, c-format
-msgid "unrecognized conversion type specifier \"%c\""
-msgstr "不能识别的转换类型标识符 \"%c\""
+#| msgid "unrecognized conversion type specifier \"%c\""
+msgid "unrecognized format() type specifier \"%c\""
+msgstr "未识别的 format() 类型说明符 \"%c\""
 
-#: utils/adt/varlena.c:4707 utils/adt/varlena.c:4764
+#: utils/adt/varlena.c:4950
+#, c-format
+#| msgid "too few arguments for format"
+msgid "too few arguments for format()"
+msgstr "format() 的参数太少"
+
+#: utils/adt/varlena.c:5007
 #, c-format
 msgid "too few arguments for format"
 msgstr "格式化的参数太少"
 
-#: utils/adt/varlena.c:4858 utils/adt/varlena.c:5041
+#: utils/adt/varlena.c:5102 utils/adt/varlena.c:5285
 #, c-format
 msgid "number is out of range"
 msgstr "数字超出范围"
 
-#: utils/adt/varlena.c:4922 utils/adt/varlena.c:4950
+#: utils/adt/varlena.c:5166 utils/adt/varlena.c:5194
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "格式指定了参数 0, 但参数值序号从 1开始记起"
 
-#: utils/adt/varlena.c:4943
+#: utils/adt/varlena.c:5187
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "width参数位置必须以\"$\"结束"
 
-#: utils/adt/varlena.c:4988
+#: utils/adt/varlena.c:5232
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "null值不能格式化为SQL标识符"
@@ -20966,38 +21606,38 @@ msgstr "URI或者命名空间名称不可为空."
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "无法以名称\"%s\"和URI\"%s\"来注册XML命名空间"
 
-#: utils/cache/lsyscache.c:2515 utils/cache/lsyscache.c:2548
-#: utils/cache/lsyscache.c:2581 utils/cache/lsyscache.c:2614
+#: utils/cache/lsyscache.c:2580 utils/cache/lsyscache.c:2613
+#: utils/cache/lsyscache.c:2646 utils/cache/lsyscache.c:2679
 #, c-format
 msgid "type %s is only a shell"
 msgstr "类型 %s 只是一个 shell"
 
-#: utils/cache/lsyscache.c:2520
+#: utils/cache/lsyscache.c:2585
 #, c-format
 msgid "no input function available for type %s"
 msgstr "没有有效的 %s 类型输入函数"
 
-#: utils/cache/lsyscache.c:2553
+#: utils/cache/lsyscache.c:2618
 #, c-format
 msgid "no output function available for type %s"
 msgstr "没有有效的 %s 类型输出函数"
 
-#: utils/cache/plancache.c:725
+#: utils/cache/plancache.c:745
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "已缓冲的计划不能改变结果类型"
 
-#: utils/cache/relcache.c:5021
+#: utils/cache/relcache.c:5135
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "无法创建 relation-cache 初始化文件 \"%s\": %m"
 
-#: utils/cache/relcache.c:5023
+#: utils/cache/relcache.c:5137
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "仍继续, 但肯定有些错误存在."
 
-#: utils/cache/relcache.c:5256
+#: utils/cache/relcache.c:5365
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "无法删除缓存文件 \"%s\": %m"
@@ -21042,12 +21682,12 @@ msgstr "无法将关系映射文件\"%s\"的内容刷新到磁盘: %m"
 msgid "could not close relation mapping file \"%s\": %m"
 msgstr "无法关闭关系映射文件\"%s\": %m"
 
-#: utils/cache/typcache.c:1156
+#: utils/cache/typcache.c:1211
 #, c-format
 msgid "type %s is not composite"
 msgstr "类型 %s 不是复合类型"
 
-#: utils/cache/typcache.c:1170
+#: utils/cache/typcache.c:1225
 #, c-format
 msgid "record type has not been registered"
 msgstr "记录类型没有注册"
@@ -21062,189 +21702,189 @@ msgstr "TRAP: ExceptionalCondition: 错误参数\n"
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
 msgstr "TRAP: %s(\"%s\", 文件: \"%s\", 行数: %d)\n"
 
-#: utils/error/elog.c:316 utils/error/elog.c:1297
+#: utils/error/elog.c:322 utils/error/elog.c:1306
 #, c-format
 msgid "error occurred at %s:%d before error message processing is available\n"
 msgstr "能得到错误消息处理之前, 错误出现在%s:%d\n"
 
-#: utils/error/elog.c:1864
+#: utils/error/elog.c:1880
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "无法作为标准错误重新打开文件 \"%s\": %m"
 
-#: utils/error/elog.c:1877
+#: utils/error/elog.c:1893
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "无法作为标准输出重新打开文件 \"%s\": %m"
 
-#: utils/error/elog.c:2353 utils/error/elog.c:2370 utils/error/elog.c:2386
+#: utils/error/elog.c:2380 utils/error/elog.c:2397 utils/error/elog.c:2413
 msgid "[unknown]"
 msgstr "[未知]"
 
-#: utils/error/elog.c:2825 utils/error/elog.c:3124 utils/error/elog.c:3232
+#: utils/error/elog.c:2872 utils/error/elog.c:3171 utils/error/elog.c:3279
 msgid "missing error text"
 msgstr "缺少错误信息"
 
-#: utils/error/elog.c:2828 utils/error/elog.c:2831 utils/error/elog.c:3235
-#: utils/error/elog.c:3238
+#: utils/error/elog.c:2875 utils/error/elog.c:2878 utils/error/elog.c:3282
+#: utils/error/elog.c:3285
 #, c-format
 msgid " at character %d"
 msgstr " 第 %d 个字符处"
 
-#: utils/error/elog.c:2841 utils/error/elog.c:2848
+#: utils/error/elog.c:2888 utils/error/elog.c:2895
 msgid "DETAIL:  "
 msgstr "详细信息:  "
 
-#: utils/error/elog.c:2855
+#: utils/error/elog.c:2902
 msgid "HINT:  "
 msgstr "提示:  "
 
-#: utils/error/elog.c:2862
+#: utils/error/elog.c:2909
 msgid "QUERY:  "
 msgstr "查询:  "
 
-#: utils/error/elog.c:2869
+#: utils/error/elog.c:2916
 msgid "CONTEXT:  "
 msgstr "上下文:  "
 
-#: utils/error/elog.c:2879
+#: utils/error/elog.c:2926
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "位置:  %s, %s:%d\n"
 
-#: utils/error/elog.c:2886
+#: utils/error/elog.c:2933
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "位置:  %s:%d\n"
 
-#: utils/error/elog.c:2900
+#: utils/error/elog.c:2947
 msgid "STATEMENT:  "
 msgstr "语句:  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3353
+#: utils/error/elog.c:3400
 #, c-format
 msgid "operating system error %d"
 msgstr "操作系统错误 %d"
 
-#: utils/error/elog.c:3548
+#: utils/error/elog.c:3595
 msgid "DEBUG"
 msgstr "调试"
 
-#: utils/error/elog.c:3552
+#: utils/error/elog.c:3599
 msgid "LOG"
 msgstr "日志"
 
-#: utils/error/elog.c:3555
+#: utils/error/elog.c:3602
 msgid "INFO"
 msgstr "信息"
 
-#: utils/error/elog.c:3558
+#: utils/error/elog.c:3605
 msgid "NOTICE"
 msgstr "注意"
 
-#: utils/error/elog.c:3561
+#: utils/error/elog.c:3608
 msgid "WARNING"
 msgstr "警告"
 
-#: utils/error/elog.c:3564
+#: utils/error/elog.c:3611
 msgid "ERROR"
 msgstr "错误"
 
-#: utils/error/elog.c:3567
+#: utils/error/elog.c:3614
 msgid "FATAL"
 msgstr "致命错误"
 
-#: utils/error/elog.c:3570
+#: utils/error/elog.c:3617
 msgid "PANIC"
 msgstr "比致命错误还过分的错误"
 
-#: utils/fmgr/dfmgr.c:121
+#: utils/fmgr/dfmgr.c:117
 #, c-format
 msgid "could not find function \"%s\" in file \"%s\""
 msgstr "在文件 \"%2$s\" 中无法找到函数 \"%1$s\""
 
-#: utils/fmgr/dfmgr.c:200 utils/fmgr/dfmgr.c:409 utils/fmgr/dfmgr.c:457
+#: utils/fmgr/dfmgr.c:196 utils/fmgr/dfmgr.c:405 utils/fmgr/dfmgr.c:453
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "无法访问文件 \"%s\": %m"
 
-#: utils/fmgr/dfmgr.c:238
+#: utils/fmgr/dfmgr.c:234
 #, c-format
 msgid "could not load library \"%s\": %s"
 msgstr "无法加载库 \"%s\": %s"
 
-#: utils/fmgr/dfmgr.c:270
+#: utils/fmgr/dfmgr.c:266
 #, c-format
 msgid "incompatible library \"%s\": missing magic block"
 msgstr "库\"%s\"不兼容:丢失魔法块"
 
-#: utils/fmgr/dfmgr.c:272
+#: utils/fmgr/dfmgr.c:268
 #, c-format
 msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
 msgstr "需要扩展库来使用宏PG_MODULE_MAGIC。"
 
-#: utils/fmgr/dfmgr.c:308
+#: utils/fmgr/dfmgr.c:304
 #, c-format
 msgid "incompatible library \"%s\": version mismatch"
 msgstr "库 \"%s\"不兼容:版本不匹配"
 
-#: utils/fmgr/dfmgr.c:310
+#: utils/fmgr/dfmgr.c:306
 #, c-format
 msgid "Server is version %d.%d, library is version %d.%d."
 msgstr "服务器版本是%d.%d,库的版本是%d.%d."
 
-#: utils/fmgr/dfmgr.c:329
+#: utils/fmgr/dfmgr.c:325
 #, c-format
 msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
 msgstr "服务器有FUNC_MAX_ARGS = %d, 库有%d"
 
-#: utils/fmgr/dfmgr.c:338
+#: utils/fmgr/dfmgr.c:334
 #, c-format
 msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
 msgstr "服务器有INDEX_MAX_KEYS = %d, 库有%d"
 
-#: utils/fmgr/dfmgr.c:347
+#: utils/fmgr/dfmgr.c:343
 #, c-format
 msgid "Server has NAMEDATALEN = %d, library has %d."
 msgstr "服务器有NAMEDATALEN = %d, 库有%d"
 
-#: utils/fmgr/dfmgr.c:356
+#: utils/fmgr/dfmgr.c:352
 #, c-format
 msgid "Server has FLOAT4PASSBYVAL = %s, library has %s."
 msgstr "服务器有FLOAT4PASSBYVAL = %s, 库有%s."
 
-#: utils/fmgr/dfmgr.c:365
+#: utils/fmgr/dfmgr.c:361
 #, c-format
 msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
 msgstr "服务器有FLOAT8PASSBYVAL = %s, 库有%s."
 
-#: utils/fmgr/dfmgr.c:372
+#: utils/fmgr/dfmgr.c:368
 msgid "Magic block has unexpected length or padding difference."
 msgstr "Magic块带有未期望的长度或者填充的方式不同."
 
-#: utils/fmgr/dfmgr.c:375
+#: utils/fmgr/dfmgr.c:371
 #, c-format
 msgid "incompatible library \"%s\": magic block mismatch"
 msgstr "不兼容的库\"%s\": 魔法块不匹配"
 
-#: utils/fmgr/dfmgr.c:539
+#: utils/fmgr/dfmgr.c:535
 #, c-format
 msgid "access to library \"%s\" is not allowed"
 msgstr "不允许对库 \"%s\"进行访问"
 
-#: utils/fmgr/dfmgr.c:565
+#: utils/fmgr/dfmgr.c:561
 #, c-format
 msgid "invalid macro name in dynamic library path: %s"
 msgstr "动态库路径中无效的宏名字: %s"
 
-#: utils/fmgr/dfmgr.c:605
+#: utils/fmgr/dfmgr.c:601
 #, c-format
 msgid "zero-length component in parameter \"dynamic_library_path\""
 msgstr "在参数\"dynamic_library_path\"的组件长度为零"
 
-#: utils/fmgr/dfmgr.c:624
+#: utils/fmgr/dfmgr.c:620
 #, c-format
 msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
 msgstr "在参数\"dynamic_library_path\"中的组成部分不是绝对路径."
@@ -21291,57 +21931,67 @@ msgstr "没有提供字段别名"
 msgid "could not determine row description for function returning record"
 msgstr "无法确定函数返回记录的行描述"
 
-#: utils/init/miscinit.c:120
+#: utils/init/miscinit.c:121
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "无法跳转到目录 \"%s\" 中: %m"
 
-#: utils/init/miscinit.c:441 utils/misc/guc.c:5839
+#: utils/init/miscinit.c:449 utils/misc/guc.c:6012
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "无法在对安全有严格限制的操作中设置参数\"%s\" "
 
-#: utils/init/miscinit.c:522
+#: utils/init/miscinit.c:510
+#, c-format
+msgid "role with OID %u does not exist"
+msgstr "OID为%u的角色不存在"
+
+#: utils/init/miscinit.c:540
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "不允许角色\"%s\" 进行登录"
 
-#: utils/init/miscinit.c:540
+#: utils/init/miscinit.c:558
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "由角色\"%s\"发起的连接太多了"
 
-#: utils/init/miscinit.c:600
+#: utils/init/miscinit.c:618
 #, c-format
 msgid "permission denied to set session authorization"
 msgstr "设置会话认证权限不允许"
 
-#: utils/init/miscinit.c:683
+#: utils/init/miscinit.c:701
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "无效的角色OID:%u"
 
-#: utils/init/miscinit.c:813
+#: utils/init/miscinit.c:755
+#, c-format
+msgid "database system is shut down"
+msgstr "数据库系统已关闭"
+
+#: utils/init/miscinit.c:842
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "无法创建锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:827
+#: utils/init/miscinit.c:856
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "无法打开锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:833
+#: utils/init/miscinit.c:862
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "无法读取锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:841
+#: utils/init/miscinit.c:870
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "锁文件 \"%s\" 为空"
 
-#: utils/init/miscinit.c:842
+#: utils/init/miscinit.c:871
 #, c-format
 msgid ""
 "Either another server is starting, or the lock file is the remnant of a "
@@ -21349,37 +21999,37 @@ msgid ""
 msgstr ""
 "或者另一个服务正在启动,或者锁文件是因为前一次服务器启动崩溃时产生导致的."
 
-#: utils/init/miscinit.c:889
+#: utils/init/miscinit.c:918
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "锁文件 \"%s\" 已经存在"
 
-#: utils/init/miscinit.c:893
+#: utils/init/miscinit.c:922
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr "是否其它 postgres (PID %d) 运行在数据目录 \"%s\"?"
 
-#: utils/init/miscinit.c:895
+#: utils/init/miscinit.c:924
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr "是否其它 postmaster (PID %d) 运行在数据目录 \"%s\"?"
 
-#: utils/init/miscinit.c:898
+#: utils/init/miscinit.c:927
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "是否其它 postgres (PID %d) 使用套接字文件 \"%s\"?"
 
-#: utils/init/miscinit.c:900
+#: utils/init/miscinit.c:929
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "是否其它 postmaster (PID %d) 使用套接字文件 \"%s\"?"
 
-#: utils/init/miscinit.c:936
+#: utils/init/miscinit.c:965
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "先前存在的共享内存块 (key %lu, ID %lu) 仍在使用中"
 
-#: utils/init/miscinit.c:939
+#: utils/init/miscinit.c:968
 #, c-format
 msgid ""
 "If you're sure there are no old server processes still running, remove the "
@@ -21387,74 +22037,72 @@ msgid ""
 msgstr ""
 "如果你确认没有旧的服务器进程在运行, 删除共享内存块,或者只删除文件 \"%s\"."
 
-#: utils/init/miscinit.c:955
+#: utils/init/miscinit.c:984
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "无法删除旧的锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:957
+#: utils/init/miscinit.c:986
 #, c-format
 msgid ""
 "The file seems accidentally left over, but it could not be removed. Please "
 "remove the file by hand and try again."
 msgstr "文件像是意外留下的, 但是不能删除它. 请手工删除此文件, 然后再重试一次."
 
-#: utils/init/miscinit.c:993 utils/init/miscinit.c:1004
-#: utils/init/miscinit.c:1014
+#: utils/init/miscinit.c:1022 utils/init/miscinit.c:1033
+#: utils/init/miscinit.c:1043
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "无法写入锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:1143 utils/init/miscinit.c:1272 utils/misc/guc.c:8578
+#: utils/init/miscinit.c:1172 utils/init/miscinit.c:1301 utils/misc/guc.c:8806
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "无法读取文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:1262
+#: utils/init/miscinit.c:1291
 #, c-format
-#| msgid "could not open file \"%s\": %m"
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "无法打开文件\"%s\":%m;仍然继续"
 
-#: utils/init/miscinit.c:1285
+#: utils/init/miscinit.c:1314
 #, c-format
-#| msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "锁文件\"%s\"包含错误的PID:应该是%ld而不是%ld"
 
-#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1340
+#: utils/init/miscinit.c:1356 utils/init/miscinit.c:1369
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "\"%s\" 不是一个有效的数据目录"
 
-#: utils/init/miscinit.c:1329
+#: utils/init/miscinit.c:1358
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "文件 \"%s\" 丢失."
 
-#: utils/init/miscinit.c:1342
+#: utils/init/miscinit.c:1371
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "文件 \"%s\" 没有包含有效数据."
 
-#: utils/init/miscinit.c:1344
+#: utils/init/miscinit.c:1373
 #, c-format
 msgid "You might need to initdb."
 msgstr "您需要初始化数据库 (initdb)."
 
-#: utils/init/miscinit.c:1352
+#: utils/init/miscinit.c:1381
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %ld.%ld, which is "
 "not compatible with this version %s."
 msgstr "数据目录是以 PostgreSQL 版本 %ld.%ld 初始化的, 它于当前版本 %s 不兼容."
 
-#: utils/init/miscinit.c:1423
+#: utils/init/miscinit.c:1452
 #, c-format
 msgid "loaded library \"%s\""
 msgstr "已加载的库 \"%s\""
 
-#: utils/init/postinit.c:238
+#: utils/init/postinit.c:252
 #, c-format
 msgid ""
 "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher="
@@ -21464,21 +22112,21 @@ msgstr ""
 "%s)"
 
 # help.c:48
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:254 utils/init/postinit.c:268
 msgid "off"
 msgstr "关闭"
 
 # help.c:48
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:254 utils/init/postinit.c:268
 msgid "on"
 msgstr "开启"
 
-#: utils/init/postinit.c:244
+#: utils/init/postinit.c:258
 #, c-format
 msgid "replication connection authorized: user=%s"
 msgstr "复制连接已经授权: 用户=%s"
 
-#: utils/init/postinit.c:252
+#: utils/init/postinit.c:266
 #, c-format
 msgid ""
 "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher="
@@ -21487,48 +22135,48 @@ msgstr ""
 "连接授权: user=%s database=%s SSL 启用 (protocol=%s, cipher=%s, compression="
 "%s)"
 
-#: utils/init/postinit.c:258
+#: utils/init/postinit.c:272
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "联接认证: 主机=%s 数据库=%s"
 
-#: utils/init/postinit.c:290
+#: utils/init/postinit.c:304
 #, c-format
 msgid "database \"%s\" has disappeared from pg_database"
 msgstr "关于数据库\"%s\"的记录在系统目录视图pg_database中不存在"
 
-#: utils/init/postinit.c:292
+#: utils/init/postinit.c:306
 #, c-format
 msgid "Database OID %u now seems to belong to \"%s\"."
 msgstr "数据库OID%u现在属于\"%s\"."
 
-#: utils/init/postinit.c:312
+#: utils/init/postinit.c:326
 #, c-format
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "数据库 \"%s\" 当前不接受联接"
 
-#: utils/init/postinit.c:325
+#: utils/init/postinit.c:339
 #, c-format
 msgid "permission denied for database \"%s\""
 msgstr "访问数据库\"%s\"的权限不够"
 
-#: utils/init/postinit.c:326
+#: utils/init/postinit.c:340
 #, c-format
 msgid "User does not have CONNECT privilege."
 msgstr "用户没有CONNECT权限."
 
 # command.c:981
-#: utils/init/postinit.c:343
+#: utils/init/postinit.c:357
 #, c-format
 msgid "too many connections for database \"%s\""
 msgstr "到数据库 \"%s\"的连接太多了"
 
-#: utils/init/postinit.c:365 utils/init/postinit.c:372
+#: utils/init/postinit.c:379 utils/init/postinit.c:386
 #, c-format
 msgid "database locale is incompatible with operating system"
 msgstr "数据库所使用的语言环境和操作系统的不兼容"
 
-#: utils/init/postinit.c:366
+#: utils/init/postinit.c:380
 #, c-format
 msgid ""
 "The database was initialized with LC_COLLATE \"%s\",  which is not "
@@ -21536,13 +22184,13 @@ msgid ""
 msgstr ""
 "数据库集群是以 LC_COLLATE \"%s\"来初始化的,这个排序规则无法由setlocale()识别"
 
-#: utils/init/postinit.c:368 utils/init/postinit.c:375
+#: utils/init/postinit.c:382 utils/init/postinit.c:389
 #, c-format
 msgid ""
 "Recreate the database with another locale or install the missing locale."
 msgstr "以另外一种语言环境重新创建数据库,或者安装丢失的语言环境."
 
-#: utils/init/postinit.c:373
+#: utils/init/postinit.c:387
 #, c-format
 msgid ""
 "The database was initialized with LC_CTYPE \"%s\",  which is not recognized "
@@ -21551,64 +22199,64 @@ msgstr ""
 "数据库集群是带 LC_CTYPE \"%s\" 初始化的, 但此 LC_CTYPE 是不被 setlocale() 认"
 "可的."
 
-#: utils/init/postinit.c:699
+#: utils/init/postinit.c:715
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "当前数据库系统中没有定义角色"
 
-#: utils/init/postinit.c:700
+#: utils/init/postinit.c:716
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "您应该立即运行 CREATE USER \"%s\" SUPERUSER;."
 
-#: utils/init/postinit.c:736
+#: utils/init/postinit.c:752
 #, c-format
 msgid "new replication connections are not allowed during database shutdown"
 msgstr "在数据库服务器关闭期间不允许接受新的复制连接"
 
-#: utils/init/postinit.c:740
+#: utils/init/postinit.c:756
 #, c-format
 msgid "must be superuser to connect during database shutdown"
 msgstr "只有超级用户才能在数据库关闭期间连接数据库"
 
-#: utils/init/postinit.c:750
+#: utils/init/postinit.c:766
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr "只有超级用户才能以二进制升级模式进行连接"
 
-#: utils/init/postinit.c:764
+#: utils/init/postinit.c:780
 #, c-format
 msgid ""
 "remaining connection slots are reserved for non-replication superuser "
 "connections"
 msgstr "已保留的连接位置为执行非复制请求的超级用户预留"
 
-#: utils/init/postinit.c:774
+#: utils/init/postinit.c:790
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr "只有超级用户或者拥有复制角色的用户才能启动 walsender"
 
-#: utils/init/postinit.c:843
+#: utils/init/postinit.c:859
 #, c-format
 msgid "database %u does not exist"
 msgstr "数据库%u不存在"
 
-#: utils/init/postinit.c:929
+#: utils/init/postinit.c:945
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "它已经被删除或者改名了."
 
-#: utils/init/postinit.c:947
+#: utils/init/postinit.c:963
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "数据库子目录 \"%s\" 丢失."
 
-#: utils/init/postinit.c:952
+#: utils/init/postinit.c:968
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "无法访问目录 \"%s\": %m"
 
-#: utils/mb/conv.c:360 utils/mb/conv.c:546
+#: utils/mb/conv.c:405 utils/mb/conv.c:591
 #, c-format
 msgid "invalid encoding number: %d"
 msgstr "无效编码编号: %d"
@@ -21678,280 +22326,284 @@ msgid ""
 "encoding \"%s\""
 msgstr "编码\"%2$s\"的字符0x%1$s在编码\"%3$s\"没有相对应值"
 
-#: utils/misc/guc.c:535
+#: utils/misc/guc.c:548
 msgid "Ungrouped"
 msgstr "取消组"
 
-#: utils/misc/guc.c:537
+#: utils/misc/guc.c:550
 msgid "File Locations"
 msgstr "文件位置"
 
-#: utils/misc/guc.c:539
+#: utils/misc/guc.c:552
 msgid "Connections and Authentication"
 msgstr "联接和认证"
 
-#: utils/misc/guc.c:541
+#: utils/misc/guc.c:554
 msgid "Connections and Authentication / Connection Settings"
 msgstr "联接和认证 / 联接设置"
 
-#: utils/misc/guc.c:543
+#: utils/misc/guc.c:556
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "联接和认证 / 安全和认证"
 
-#: utils/misc/guc.c:545
+#: utils/misc/guc.c:558
 msgid "Resource Usage"
 msgstr "资源使用"
 
-#: utils/misc/guc.c:547
+#: utils/misc/guc.c:560
 msgid "Resource Usage / Memory"
 msgstr "资源使用 / 内存"
 
-#: utils/misc/guc.c:549
+#: utils/misc/guc.c:562
 msgid "Resource Usage / Disk"
 msgstr "资源使用/磁盘"
 
-#: utils/misc/guc.c:551
+#: utils/misc/guc.c:564
 msgid "Resource Usage / Kernel Resources"
 msgstr "资源使用 / 内核资源"
 
-#: utils/misc/guc.c:553
+#: utils/misc/guc.c:566
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "资源使用 / 基于开销的Vacuum延迟"
 
-#: utils/misc/guc.c:555
+#: utils/misc/guc.c:568
 msgid "Resource Usage / Background Writer"
 msgstr "资源使用 / 后台写入进程"
 
-#: utils/misc/guc.c:557
+#: utils/misc/guc.c:570
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "资源使用 / 异步系统行为"
 
-#: utils/misc/guc.c:559
+#: utils/misc/guc.c:572
 msgid "Write-Ahead Log"
 msgstr "Write-Ahead 日志"
 
-#: utils/misc/guc.c:561
+#: utils/misc/guc.c:574
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead 日志 / 设置"
 
-#: utils/misc/guc.c:563
+#: utils/misc/guc.c:576
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead 日志 / Checkpoints"
 
-#: utils/misc/guc.c:565
+#: utils/misc/guc.c:578
 msgid "Write-Ahead Log / Archiving"
 msgstr "Write-Ahead 日志 / 归档"
 
-#: utils/misc/guc.c:567
+#: utils/misc/guc.c:580
 msgid "Replication"
 msgstr "复制"
 
-#: utils/misc/guc.c:569
+#: utils/misc/guc.c:582
 msgid "Replication / Sending Servers"
 msgstr "复制/发送服务器"
 
-#: utils/misc/guc.c:571
+#: utils/misc/guc.c:584
 msgid "Replication / Master Server"
 msgstr "复制/主服务器"
 
-#: utils/misc/guc.c:573
+#: utils/misc/guc.c:586
 msgid "Replication / Standby Servers"
 msgstr "复制 / 备用服务器"
 
-#: utils/misc/guc.c:575
+#: utils/misc/guc.c:588
 msgid "Query Tuning"
 msgstr "查询调整"
 
-#: utils/misc/guc.c:577
+#: utils/misc/guc.c:590
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "查询调整 / 规划器方法配置"
 
-#: utils/misc/guc.c:579
+#: utils/misc/guc.c:592
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "查询调整 / Planner Cost Constants"
 
-#: utils/misc/guc.c:581
+#: utils/misc/guc.c:594
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "查询调整 / 基因查询优化"
 
-#: utils/misc/guc.c:583
+#: utils/misc/guc.c:596
 msgid "Query Tuning / Other Planner Options"
 msgstr "查询调整 / 其它规划器选项"
 
-#: utils/misc/guc.c:585
+#: utils/misc/guc.c:598
 msgid "Reporting and Logging"
 msgstr "报告和日志"
 
-#: utils/misc/guc.c:587
+#: utils/misc/guc.c:600
 msgid "Reporting and Logging / Where to Log"
 msgstr "报告和日志 / 日志位置"
 
-#: utils/misc/guc.c:589
+#: utils/misc/guc.c:602
 msgid "Reporting and Logging / When to Log"
 msgstr "报告和日志 / 日志时间"
 
-#: utils/misc/guc.c:591
+#: utils/misc/guc.c:604
 msgid "Reporting and Logging / What to Log"
 msgstr "报告和日志 / 日志内容"
 
-#: utils/misc/guc.c:593
+#: utils/misc/guc.c:606
 msgid "Process Title"
 msgstr "进程标题"
 
-#: utils/misc/guc.c:595
+#: utils/misc/guc.c:608
 msgid "Statistics"
 msgstr "统计信息"
 
-#: utils/misc/guc.c:597
+#: utils/misc/guc.c:610
 msgid "Statistics / Monitoring"
 msgstr "统计信息 / 监控"
 
-#: utils/misc/guc.c:599
+#: utils/misc/guc.c:612
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "统计信息 / 查询和索引统计收集器"
 
-#: utils/misc/guc.c:601
+#: utils/misc/guc.c:614
 msgid "Autovacuum"
 msgstr "Autovacuum"
 
-#: utils/misc/guc.c:603
+#: utils/misc/guc.c:616
 msgid "Client Connection Defaults"
 msgstr "客户端联接默认"
 
-#: utils/misc/guc.c:605
+#: utils/misc/guc.c:618
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "客户端联接默认 / 语句动作"
 
-#: utils/misc/guc.c:607
+#: utils/misc/guc.c:620
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "客户端联接默认 / 本地化和格式化"
 
-#: utils/misc/guc.c:609
+#: utils/misc/guc.c:622
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr "客户端联接默认 / 共享库预先加载"
 
-#: utils/misc/guc.c:611
+#: utils/misc/guc.c:624
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "客户端联接默认 / 其它默认"
 
-#: utils/misc/guc.c:613
+#: utils/misc/guc.c:626
 msgid "Lock Management"
 msgstr "锁管理"
 
-#: utils/misc/guc.c:615
+#: utils/misc/guc.c:628
 msgid "Version and Platform Compatibility"
 msgstr "版本和平台兼容性"
 
-#: utils/misc/guc.c:617
+#: utils/misc/guc.c:630
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "版本和平台兼容性 / 上一个 PostgreSQL 版本"
 
-#: utils/misc/guc.c:619
+#: utils/misc/guc.c:632
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "版本和平台兼容性 / 其它平台和客户端"
 
-#: utils/misc/guc.c:621
+#: utils/misc/guc.c:634
 msgid "Error Handling"
 msgstr "错误处理"
 
-#: utils/misc/guc.c:623
+#: utils/misc/guc.c:636
 msgid "Preset Options"
 msgstr "预置选项"
 
-#: utils/misc/guc.c:625
+#: utils/misc/guc.c:638
 msgid "Customized Options"
 msgstr "定制选项"
 
-#: utils/misc/guc.c:627
+#: utils/misc/guc.c:640
 msgid "Developer Options"
 msgstr "开发人员选项"
 
-#: utils/misc/guc.c:684
+#: utils/misc/guc.c:697
 msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "这个参数的有效单位是\"kB\", \"MB\", \"GB\"和\"TB\"."
 
-#: utils/misc/guc.c:711
+#: utils/misc/guc.c:724
 msgid ""
 "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr "这个参数可使用的有效单元是\"ms\", \"s\", \"min\", \"h\", 和\"d\"."
 
-#: utils/misc/guc.c:770
+#: utils/misc/guc.c:783
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr "启用查询计划器的顺序扫描计划."
 
-#: utils/misc/guc.c:779
+#: utils/misc/guc.c:792
 msgid "Enables the planner's use of index-scan plans."
 msgstr "启用查询计划器的索引扫描计划."
 
-#: utils/misc/guc.c:788
+#: utils/misc/guc.c:801
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "启用查询计划器的仅索引扫描计划."
 
-#: utils/misc/guc.c:797
+#: utils/misc/guc.c:810
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr "启用查询计划器的位图扫描计划."
 
-#: utils/misc/guc.c:806
+#: utils/misc/guc.c:819
 msgid "Enables the planner's use of TID scan plans."
 msgstr "启用查询计划器的TID扫描计划."
 
-#: utils/misc/guc.c:815
+#: utils/misc/guc.c:828
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "启用查询计划器的显式排序步骤."
 
-#: utils/misc/guc.c:824
+#: utils/misc/guc.c:837
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "启用查询计划器的哈希聚合计划."
 
-#: utils/misc/guc.c:833
+#: utils/misc/guc.c:846
 msgid "Enables the planner's use of materialization."
 msgstr "启用查询计划器的实体化使用."
 
-#: utils/misc/guc.c:842
+#: utils/misc/guc.c:855
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr "启用查询计划器的嵌套循环连接计划."
 
-#: utils/misc/guc.c:851
+#: utils/misc/guc.c:864
 msgid "Enables the planner's use of merge join plans."
 msgstr "启用查询计划器的合并连接计划."
 
-#: utils/misc/guc.c:860
+#: utils/misc/guc.c:873
 msgid "Enables the planner's use of hash join plans."
 msgstr "启用查询计划器的哈希连接计划."
 
-#: utils/misc/guc.c:869
+#: utils/misc/guc.c:882
+msgid "Enables use of foreign keys for estimating joins."
+msgstr "启用外键来估计连接。"
+
+#: utils/misc/guc.c:892
 msgid "Enables genetic query optimization."
 msgstr "启用基因查询优化."
 
-#: utils/misc/guc.c:870
+#: utils/misc/guc.c:893
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "算法企图执行不带有无穷搜索的计划."
 
-#: utils/misc/guc.c:880
+#: utils/misc/guc.c:903
 msgid "Shows whether the current user is a superuser."
 msgstr "显示当前用户是否是超级用户."
 
-#: utils/misc/guc.c:890
+#: utils/misc/guc.c:913
 msgid "Enables advertising the server via Bonjour."
 msgstr "启用通过Bonjour的方式来宣布数据库服务器在网络中的存在."
 
-#: utils/misc/guc.c:899
+#: utils/misc/guc.c:922
 msgid "Collects transaction commit time."
 msgstr "收集事务提交时间。"
 
-#: utils/misc/guc.c:908
+#: utils/misc/guc.c:931
 msgid "Enables SSL connections."
 msgstr "启用 SSL 联接."
 
-#: utils/misc/guc.c:917
+#: utils/misc/guc.c:940
 msgid "Give priority to server ciphersuite order."
 msgstr "为服务器密码组的顺序提供优先."
 
-#: utils/misc/guc.c:926
+#: utils/misc/guc.c:949
 msgid "Forces synchronization of updates to disk."
 msgstr "强制和磁盘同步更新"
 
-#: utils/misc/guc.c:927
+#: utils/misc/guc.c:950
 msgid ""
 "The server will use the fsync() system call in several places to make sure "
 "that updates are physically written to disk. This insures that a database "
@@ -21961,11 +22613,11 @@ msgstr ""
 "服务器将在多个位置使用系统调用fsync()来确定更新操作已经将数据写入磁盘.这将确"
 "保在操作系统或硬件崩溃后数据库集群将恢复到一个一致性状态. "
 
-#: utils/misc/guc.c:938
+#: utils/misc/guc.c:961
 msgid "Continues processing after a checksum failure."
 msgstr "校验失败后继续处理."
 
-#: utils/misc/guc.c:939
+#: utils/misc/guc.c:962
 msgid ""
 "Detection of a checksum failure normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting ignore_checksum_failure to "
@@ -21978,11 +22630,11 @@ msgstr ""
 "继续处理当前事务.这种情况将导致系统崩溃或者其它严重问题,这也只有在启用校验时"
 "才有效."
 
-#: utils/misc/guc.c:953
+#: utils/misc/guc.c:976
 msgid "Continues processing past damaged page headers."
 msgstr "继续处理已损坏的页头."
 
-#: utils/misc/guc.c:954
+#: utils/misc/guc.c:977
 msgid ""
 "Detection of a damaged page header normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting zero_damaged_pages to true "
@@ -21995,11 +22647,11 @@ msgstr ""
 "并且能够继续处理当前事务.这种情况将使毁坏数据,因为这样通常会使所有的记录在已"
 "损坏的页上存放."
 
-#: utils/misc/guc.c:967
+#: utils/misc/guc.c:990
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr "在检查点事件发生后发生第一次修改数据时,把所有的页写到WAL文件中"
 
-#: utils/misc/guc.c:968
+#: utils/misc/guc.c:991
 msgid ""
 "A page write in process during an operating system crash might be only "
 "partially written to disk.  During recovery, the row changes stored in WAL "
@@ -22010,7 +22662,7 @@ msgstr ""
 "文件中所保存的已改变记录不足以进行恢复.当对WAL发生检查点事件后进行第一次修改"
 "操作时这个选项可以写入页。这样将允许进行完全恢复."
 
-#: utils/misc/guc.c:981
+#: utils/misc/guc.c:1004
 msgid ""
 "Writes full pages to WAL when first modified after a checkpoint, even for a "
 "non-critical modifications."
@@ -22018,144 +22670,142 @@ msgstr ""
 "在检查点事件发生后发生第一次修改数据甚至是非关键修改时,把所有的页写到WAL文件"
 "中"
 
-#: utils/misc/guc.c:991
+#: utils/misc/guc.c:1014
 msgid "Compresses full-page writes written in WAL file."
 msgstr "压缩写入WAL文件的整页写。"
 
-#: utils/misc/guc.c:1001
+#: utils/misc/guc.c:1024
 msgid "Logs each checkpoint."
 msgstr "记录每一个检查点事件"
 
-#: utils/misc/guc.c:1010
+#: utils/misc/guc.c:1033
 msgid "Logs each successful connection."
 msgstr "记录每一个成功的联接."
 
-#: utils/misc/guc.c:1019
+#: utils/misc/guc.c:1042
 msgid "Logs end of a session, including duration."
 msgstr "对会话的结束时间和整个会话的持续时间进行日志记录"
 
-#: utils/misc/guc.c:1028
-#| msgid "Logs each query's execution plan."
+#: utils/misc/guc.c:1051
 msgid "Logs each replication command."
 msgstr "记录每一个复制命令。"
 
-#: utils/misc/guc.c:1037
-#| msgid "Shows whether the current user is a superuser."
+#: utils/misc/guc.c:1060
 msgid "Shows whether the running server has assertion checks enabled."
 msgstr "显示正在运行的服务器是否启用了断言检查。"
 
-#: utils/misc/guc.c:1052
+#: utils/misc/guc.c:1075
 msgid "Terminate session on any error."
 msgstr "只要遇错即终止会话."
 
-#: utils/misc/guc.c:1061
+#: utils/misc/guc.c:1084
 msgid "Reinitialize server after backend crash."
 msgstr "后端服务器崩溃时重新初始化服务器."
 
-#: utils/misc/guc.c:1071
+#: utils/misc/guc.c:1094
 msgid "Logs the duration of each completed SQL statement."
 msgstr "记录每一条完成了的 SQL 语句过程."
 
-#: utils/misc/guc.c:1080
+#: utils/misc/guc.c:1103
 msgid "Logs each query's parse tree."
 msgstr "对每个查询的分析树进行日志记录"
 
-#: utils/misc/guc.c:1089
+#: utils/misc/guc.c:1112
 msgid "Logs each query's rewritten parse tree."
 msgstr "对每个查询的重写分析树进行日志记录"
 
-#: utils/misc/guc.c:1098
+#: utils/misc/guc.c:1121
 msgid "Logs each query's execution plan."
 msgstr "记录每一个查询的执行计划"
 
-#: utils/misc/guc.c:1107
+#: utils/misc/guc.c:1130
 msgid "Indents parse and plan tree displays."
 msgstr "显示缩进的解析和计划树"
 
-#: utils/misc/guc.c:1116
+#: utils/misc/guc.c:1139
 msgid "Writes parser performance statistics to the server log."
 msgstr "把分析器性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:1125
+#: utils/misc/guc.c:1148
 msgid "Writes planner performance statistics to the server log."
 msgstr "把规划器性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:1134
+#: utils/misc/guc.c:1157
 msgid "Writes executor performance statistics to the server log."
 msgstr "把执行器 (executor) 性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:1143
+#: utils/misc/guc.c:1166
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "把 cumulative 性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:1153
+#: utils/misc/guc.c:1176
 msgid ""
 "Logs system resource usage statistics (memory and CPU) on various B-tree "
 "operations."
 msgstr "基于可变的B-树操作的日志系统资源使用统计 (内存和CPU) ."
 
-#: utils/misc/guc.c:1165
+#: utils/misc/guc.c:1188
 msgid "Collects information about executing commands."
 msgstr "收集执行命令的统计信息."
 
-#: utils/misc/guc.c:1166
+#: utils/misc/guc.c:1189
 msgid ""
 "Enables the collection of information on the currently executing command of "
 "each session, along with the time at which that command began execution."
 msgstr "在每个会话当前正在执行的命令上启用信息收集, 并带有命令开始执行的时间."
 
-#: utils/misc/guc.c:1176
+#: utils/misc/guc.c:1199
 msgid "Collects statistics on database activity."
 msgstr "在数据库上正在执行的事务上收集统计信息."
 
-#: utils/misc/guc.c:1185
+#: utils/misc/guc.c:1208
 msgid "Collects timing statistics for database I/O activity."
 msgstr "为数据库I/O活动进行时间统计."
 
-#: utils/misc/guc.c:1195
+#: utils/misc/guc.c:1218
 msgid "Updates the process title to show the active SQL command."
 msgstr "更新进程标题来显示处于活动状态的SQL命令"
 
-#: utils/misc/guc.c:1196
+#: utils/misc/guc.c:1219
 msgid ""
 "Enables updating of the process title every time a new SQL command is "
 "received by the server."
 msgstr "每一次服务器开始运行新的SQL命令时启用进程标题的更新."
 
-#: utils/misc/guc.c:1205
+#: utils/misc/guc.c:1228
 msgid "Starts the autovacuum subprocess."
 msgstr "启动autovacuum子进程."
 
-#: utils/misc/guc.c:1215
+#: utils/misc/guc.c:1238
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "为 LISTEN 和 NOTIFY 生成出错信息."
 
-#: utils/misc/guc.c:1227
+#: utils/misc/guc.c:1250
 msgid "Emits information about lock usage."
 msgstr "发出有关锁使用的信息."
 
-#: utils/misc/guc.c:1237
+#: utils/misc/guc.c:1260
 msgid "Emits information about user lock usage."
 msgstr "发出有关用户锁使用情况的信息."
 
-#: utils/misc/guc.c:1247
+#: utils/misc/guc.c:1270
 msgid "Emits information about lightweight lock usage."
 msgstr "发出有关轻量锁使用的相关信息."
 
-#: utils/misc/guc.c:1257
+#: utils/misc/guc.c:1280
 msgid ""
 "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "输出死锁超时发生时所有当前锁的相关信息."
 
-#: utils/misc/guc.c:1269
+#: utils/misc/guc.c:1292
 msgid "Logs long lock waits."
 msgstr "对长时间的锁等待记日志"
 
-#: utils/misc/guc.c:1279
+#: utils/misc/guc.c:1302
 msgid "Logs the host name in the connection logs."
 msgstr "在联接日志中记录主机名."
 
-#: utils/misc/guc.c:1280
+#: utils/misc/guc.c:1303
 msgid ""
 "By default, connection logs only show the IP address of the connecting host. "
 "If you want them to show the host name you can turn this on, but depending "
@@ -22165,15 +22815,15 @@ msgstr ""
 "在缺省情况下,连接日志只显示每个正在连接主机的IP地址.如果想要显示主机名,那么"
 "必须把它打开,但是这取决于主机名解析的设置,这在性能上不会有影响."
 
-#: utils/misc/guc.c:1291
+#: utils/misc/guc.c:1314
 msgid "Causes subtables to be included by default in various commands."
 msgstr "使子表在不同的命令中被缺省包含"
 
-#: utils/misc/guc.c:1300
+#: utils/misc/guc.c:1323
 msgid "Encrypt passwords."
 msgstr "加密口令."
 
-#: utils/misc/guc.c:1301
+#: utils/misc/guc.c:1324
 msgid ""
 "When a password is specified in CREATE USER or ALTER USER without writing "
 "either ENCRYPTED or UNENCRYPTED, this parameter determines whether the "
@@ -22182,11 +22832,11 @@ msgstr ""
 "当在 CREATE USER 或者 ALTER USER 语句中指定的口令没有用 ENCRYPTED 或者 "
 "UNENCRYPTED, 此参数确定口令是否加密."
 
-#: utils/misc/guc.c:1311
+#: utils/misc/guc.c:1334
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "\"expr=NULL\" 看作为 \"expr IS NULL\"."
 
-#: utils/misc/guc.c:1312
+#: utils/misc/guc.c:1335
 msgid ""
 "When turned on, expressions of the form expr = NULL (or NULL = expr) are "
 "treated as expr IS NULL, that is, they return true if expr evaluates to the "
@@ -22197,48 +22847,47 @@ msgstr ""
 "行处理, 那就是说,如果expr计算为空值那么会返回true,否则返回为false。表达式"
 "expr = NULL的正确行为应该是永远返回为空(未知)"
 
-#: utils/misc/guc.c:1324
+#: utils/misc/guc.c:1347
 msgid "Enables per-database user names."
 msgstr "启用每个数据库的用户名"
 
-#: utils/misc/guc.c:1333
+#: utils/misc/guc.c:1356
 msgid "Sets the default read-only status of new transactions."
 msgstr "为新事物设置默认的只读状态."
 
-#: utils/misc/guc.c:1342
+#: utils/misc/guc.c:1365
 msgid "Sets the current transaction's read-only status."
 msgstr "设置当前事务的只读状态."
 
-#: utils/misc/guc.c:1352
+#: utils/misc/guc.c:1375
 msgid "Sets the default deferrable status of new transactions."
 msgstr "为新事物设置默认的可延迟状态."
 
-#: utils/misc/guc.c:1361
+#: utils/misc/guc.c:1384
 msgid ""
 "Whether to defer a read-only serializable transaction until it can be "
 "executed with no possible serialization failures."
 msgstr ""
 "是否要延期执行一个只读可串行化事务,直到执行时不会出现任何可串行化失败."
 
-#: utils/misc/guc.c:1371
+#: utils/misc/guc.c:1394
 msgid "Enable row security."
 msgstr "启用行安全。"
 
 # sql_help.h:117
-#: utils/misc/guc.c:1372
-#| msgid "define or change a security label applied to an object"
+#: utils/misc/guc.c:1395
 msgid "When enabled, row security will be applied to all users."
 msgstr "当被启用时,行安全性将被应用到所有用户。"
 
-#: utils/misc/guc.c:1380
+#: utils/misc/guc.c:1403
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "在创建函数过程中检查函数体."
 
-#: utils/misc/guc.c:1389
+#: utils/misc/guc.c:1412
 msgid "Enable input of NULL elements in arrays."
 msgstr "在数组中启用空值成员输入"
 
-#: utils/misc/guc.c:1390
+#: utils/misc/guc.c:1413
 msgid ""
 "When turned on, unquoted NULL in an array input value means a null value; "
 "otherwise it is taken literally."
@@ -22246,135 +22895,143 @@ msgstr ""
 "当打开这个选项的时候,在数组输入值中没有引用的NULL表示空值;否则是按照字面上的"
 "含义进行解释."
 
-#: utils/misc/guc.c:1400
+#: utils/misc/guc.c:1423
 msgid "Create new tables with OIDs by default."
 msgstr "缺省下使用OIDs来创建表."
 
-#: utils/misc/guc.c:1409
+#: utils/misc/guc.c:1432
 msgid ""
 "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr "启动一个子进程用来捕获stderr输出或csvlogs,写到到日志文件中."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1441
 msgid "Truncate existing log files of same name during log rotation."
 msgstr "在日志切换期间截断相同名称的日志文件"
 
-#: utils/misc/guc.c:1429
+#: utils/misc/guc.c:1452
 msgid "Emit information about resource usage in sorting."
 msgstr "发出在排序中关于资源使用的信息."
 
-#: utils/misc/guc.c:1443
+#: utils/misc/guc.c:1466
 msgid "Generate debugging output for synchronized scanning."
 msgstr "为同步扫描生成调试信息."
 
-#: utils/misc/guc.c:1458
+#: utils/misc/guc.c:1481
 msgid "Enable bounded sorting using heap sort."
 msgstr "使用堆排序来启用有界排序."
 
-#: utils/misc/guc.c:1471
+#: utils/misc/guc.c:1494
 msgid "Emit WAL-related debugging output."
 msgstr "发出与WAL相关的调试信息输出"
 
-#: utils/misc/guc.c:1483
+#: utils/misc/guc.c:1506
 msgid "Datetimes are integer based."
 msgstr "日期时间类型值是基于整数类型的"
 
-#: utils/misc/guc.c:1498
+#: utils/misc/guc.c:1521
 msgid ""
 "Sets whether Kerberos and GSSAPI user names should be treated as case-"
 "insensitive."
 msgstr "设置 Kerberos和GSSAPI的用户名是否应该区分大小写."
 
-#: utils/misc/guc.c:1508
+#: utils/misc/guc.c:1531
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "在顺序字符串文字中关于反斜线转义的警告"
 
-#: utils/misc/guc.c:1518
+#: utils/misc/guc.c:1541
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "使字符串'...' 按照字面含义处理反斜线"
 
-#: utils/misc/guc.c:1529
+#: utils/misc/guc.c:1552
 msgid "Enable synchronized sequential scans."
 msgstr "启用同步序列扫描"
 
-#: utils/misc/guc.c:1539
+#: utils/misc/guc.c:1562
 msgid "Allows connections and queries during recovery."
 msgstr "允许在恢复期间进行连接和查询."
 
-#: utils/misc/guc.c:1549
+#: utils/misc/guc.c:1572
 msgid ""
 "Allows feedback from a hot standby to the primary that will avoid query "
 "conflicts."
 msgstr "允许来自热备节点到主节点的响应,以避免查询冲突."
 
-#: utils/misc/guc.c:1559
+#: utils/misc/guc.c:1582
 msgid "Allows modifications of the structure of system tables."
 msgstr "允许修改系统表的结构."
 
-#: utils/misc/guc.c:1570
+#: utils/misc/guc.c:1593
 msgid "Disables reading from system indexes."
 msgstr "禁止从系统索引中进行读操作"
 
-#: utils/misc/guc.c:1571
+#: utils/misc/guc.c:1594
 msgid ""
 "It does not prevent updating the indexes, so it is safe to use.  The worst "
 "consequence is slowness."
 msgstr "这不能防止更新索引,所以应该安全的使用。最糟糕的结果是使系统性能变慢."
 
-#: utils/misc/guc.c:1582
+#: utils/misc/guc.c:1605
 msgid ""
 "Enables backward compatibility mode for privilege checks on large objects."
 msgstr "为在大对象上的权限检查启用向后兼容模式."
 
-#: utils/misc/guc.c:1583
+#: utils/misc/guc.c:1606
 msgid ""
 "Skips privilege checks when reading or modifying large objects, for "
 "compatibility with PostgreSQL releases prior to 9.0."
 msgstr ""
 "为了与9.0版本之前的PostgreSQL相兼容,在读取或修改大对象时候不进行权限检查"
 
-#: utils/misc/guc.c:1593
+#: utils/misc/guc.c:1616
 msgid ""
 "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
 msgstr "为从PostgreSQL 9.4以来改变了含义的结构发出一个警告。"
 
-#: utils/misc/guc.c:1603
+#: utils/misc/guc.c:1626
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "在生成SQL片段时,对所有标识符加引号括起来."
 
-#: utils/misc/guc.c:1613
+#: utils/misc/guc.c:1636
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "显示当前簇是否开启数据校验和."
 
-#: utils/misc/guc.c:1633
+#: utils/misc/guc.c:1647
+msgid "Add sequence number to syslog messages to avoid duplicate suppression."
+msgstr "向 syslog 消息中增加序号以避免抑制重复。"
+
+#: utils/misc/guc.c:1657
+msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
+msgstr "将发送给 syslog 的消息用行分离并且让每个部分适合于 1024 字节。"
+
+#: utils/misc/guc.c:1676
 msgid ""
 "Forces a switch to the next xlog file if a new file has not been started "
 "within N seconds."
 msgstr "如果新的文件没有在N秒内启动,那么强制切换到下一个xlog文件."
 
-#: utils/misc/guc.c:1644
+#: utils/misc/guc.c:1687
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "完成认证后,在启动的连接上等待N秒"
 
-#: utils/misc/guc.c:1645 utils/misc/guc.c:2147
+#: utils/misc/guc.c:1688 utils/misc/guc.c:2211
 msgid "This allows attaching a debugger to the process."
 msgstr "允许将调试器添加到进程"
 
-#: utils/misc/guc.c:1654
+#: utils/misc/guc.c:1697
 msgid "Sets the default statistics target."
 msgstr "设置默认统计对象."
 
-#: utils/misc/guc.c:1655
+#: utils/misc/guc.c:1698
 msgid ""
 "This applies to table columns that have not had a column-specific target set "
 "via ALTER TABLE SET STATISTICS."
 msgstr "在没有通过ALTER TABLE SET STATISTICS产生列定义目标集合的列上使用."
 
-#: utils/misc/guc.c:1664
+#: utils/misc/guc.c:1707
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr "所设置的FROM列表大小超过子查询所允许的最大长度"
 
-#: utils/misc/guc.c:1666
+#: utils/misc/guc.c:1709
 msgid ""
 "The planner will merge subqueries into upper queries if the resulting FROM "
 "list would have no more than this many items."
@@ -22382,11 +23039,11 @@ msgstr ""
 "如果所产生的FROM列表成员不超过上层查询的相应的数量,那么计划器会把子查询合并到"
 "上层查询中."
 
-#: utils/misc/guc.c:1676
+#: utils/misc/guc.c:1719
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr "设置的FROM列表大小超过没有展平的JOIN结构大小."
 
-#: utils/misc/guc.c:1678
+#: utils/misc/guc.c:1721
 msgid ""
 "The planner will flatten explicit JOIN constructs into lists of FROM items "
 "whenever a list of no more than this many items would result."
@@ -22394,77 +23051,77 @@ msgstr ""
 "无论什么时候产生不超过这个数量的成员,计划器都将显式的JOIN结构展平到FROM子句后"
 "面的成员列表中."
 
-#: utils/misc/guc.c:1688
+#: utils/misc/guc.c:1731
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "设置超过GEQO使用的FROM列表成员数量门限值."
 
-#: utils/misc/guc.c:1697
+#: utils/misc/guc.c:1740
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr "GEQO: 为其它GEQO参数设置缺省值"
 
-#: utils/misc/guc.c:1706
+#: utils/misc/guc.c:1749
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: 人群 (population) 个体 (individual) 数"
 
-#: utils/misc/guc.c:1707 utils/misc/guc.c:1716
+#: utils/misc/guc.c:1750 utils/misc/guc.c:1759
 msgid "Zero selects a suitable default value."
 msgstr "没有选择出一个合适的缺省值"
 
-#: utils/misc/guc.c:1715
+#: utils/misc/guc.c:1758
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: 算法的迭代次数"
 
-#: utils/misc/guc.c:1726
+#: utils/misc/guc.c:1769
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "在检查死锁前设置在一个锁上的等待时间."
 
-#: utils/misc/guc.c:1737
+#: utils/misc/guc.c:1780
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing archived WAL data."
 msgstr "当热备服务器在处理已归档的WAL数据时,在取消查询请求前设置最大的延迟."
 
-#: utils/misc/guc.c:1748
+#: utils/misc/guc.c:1791
 msgid ""
 "Sets the maximum delay before canceling queries when a hot standby server is "
 "processing streamed WAL data."
 msgstr ""
 "当热备服务器在处理通过流复制的WAL数据时,在取消查询请求前设置最大的延迟."
 
-#: utils/misc/guc.c:1759
+#: utils/misc/guc.c:1802
 msgid ""
 "Sets the maximum interval between WAL receiver status reports to the primary."
 msgstr "为WAL接受进程的状态报告(向主节点)设置最大时间间隔."
 
-#: utils/misc/guc.c:1770
+#: utils/misc/guc.c:1813
 msgid "Sets the maximum wait time to receive data from the primary."
 msgstr "设置从主节点上接收数据的最大等待时间."
 
-#: utils/misc/guc.c:1781
+#: utils/misc/guc.c:1824
 msgid "Sets the maximum number of concurrent connections."
 msgstr "设置并发联接的最大个数."
 
-#: utils/misc/guc.c:1791
+#: utils/misc/guc.c:1834
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "设置为超级用户保留的联接数."
 
-#: utils/misc/guc.c:1805
+#: utils/misc/guc.c:1848
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "设置服务器使用的共享内存缓冲区的数量."
 
-#: utils/misc/guc.c:1816
+#: utils/misc/guc.c:1859
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "设置每个会话可使用的临时缓冲区的最大数量."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1870
 msgid "Sets the TCP port the server listens on."
 msgstr "设置服务器监听的 TCP 端口号."
 
-#: utils/misc/guc.c:1837
+#: utils/misc/guc.c:1880
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "设置 Unix-domain 套接字的访问权限."
 
-#: utils/misc/guc.c:1838
+#: utils/misc/guc.c:1881
 msgid ""
 "Unix-domain sockets use the usual Unix file system permission set. The "
 "parameter value is expected to be a numeric mode specification in the form "
@@ -22474,11 +23131,11 @@ msgstr ""
 "Unix-domain 套接字使用普通的Unix文件许可集合.参数值应该是数值模式定义, 它的形"
 "式应该是系统调用chmod和umask可接受的.(为了使用习惯上以0开头的八进制格式数值)"
 
-#: utils/misc/guc.c:1852
+#: utils/misc/guc.c:1895
 msgid "Sets the file permissions for log files."
 msgstr "设置日志文件的文件访问权限."
 
-#: utils/misc/guc.c:1853
+#: utils/misc/guc.c:1896
 msgid ""
 "The parameter value is expected to be a numeric mode specification in the "
 "form accepted by the chmod and umask system calls. (To use the customary "
@@ -22487,125 +23144,140 @@ msgstr ""
 "参数值期望使用数值模式来指定, 它的形式应该是系统调用chmod和umask可接受的.(为"
 "了使用习惯上以0开头的八进制格式数值)"
 
-#: utils/misc/guc.c:1866
+#: utils/misc/guc.c:1909
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "设置查询工作空间使用的最大内存数."
 
-#: utils/misc/guc.c:1867
+#: utils/misc/guc.c:1910
 msgid ""
 "This much memory can be used by each internal sort operation and hash table "
 "before switching to temporary disk files."
 msgstr ""
 "这些内存将可以由每一个内部排序操作和转换到临时磁盘文件之前的散列表来使用"
 
-#: utils/misc/guc.c:1879
+#: utils/misc/guc.c:1922
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "设置维护操作使用的最大内存数."
 
-#: utils/misc/guc.c:1880
+#: utils/misc/guc.c:1923
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "此处动作包括 VACUUM 和 CREATE INDEX."
 
-#: utils/misc/guc.c:1895
+#: utils/misc/guc.c:1933
+#| msgid "Sets the maximum number of temporary buffers used by each session."
+msgid ""
+"Sets the maximum number of tuples to be sorted using replacement selection."
+msgstr "设定要使用替换选择进行排序的最大元组数。"
+
+#: utils/misc/guc.c:1934
+msgid "When more tuples than this are present, quicksort will be used."
+msgstr "当存在超过这么多个元组时,将使用快速排序。"
+
+#: utils/misc/guc.c:1948
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "设置最大的堆栈深度,单位是千字节."
 
-#: utils/misc/guc.c:1906
+#: utils/misc/guc.c:1959
 msgid "Limits the total size of all temporary files used by each session."
 msgstr "为每个会话可使用的所有临时文件限制最大大小."
 
-#: utils/misc/guc.c:1907
+#: utils/misc/guc.c:1960
 msgid "-1 means no limit."
 msgstr "-1 意指没有限制."
 
-#: utils/misc/guc.c:1917
+#: utils/misc/guc.c:1970
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "在缓冲区缓存中找到对于一个页进行清理的开销."
 
-#: utils/misc/guc.c:1927
+#: utils/misc/guc.c:1980
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "在缓冲区缓存中没有找到对于一个页进行清理的开销."
 
-#: utils/misc/guc.c:1937
+#: utils/misc/guc.c:1990
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "由vacuum进程对脏页进行清理的开销."
 
-#: utils/misc/guc.c:1947
+#: utils/misc/guc.c:2000
 msgid "Vacuum cost amount available before napping."
 msgstr "在暂停前可用的清理开销总量."
 
-#: utils/misc/guc.c:1957
+#: utils/misc/guc.c:2010
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Vacuum开销延迟是以毫秒为单位"
 
-#: utils/misc/guc.c:1968
+#: utils/misc/guc.c:2021
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "对于autovacuum来说,Vacuum开销延迟是以毫秒为单位"
 
-#: utils/misc/guc.c:1979
+#: utils/misc/guc.c:2032
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "对于autovacuum进程,在暂停前前进行清理有效开销总量."
 
-#: utils/misc/guc.c:1989
+#: utils/misc/guc.c:2042
 msgid ""
 "Sets the maximum number of simultaneously open files for each server process."
 msgstr "设置每一个服务器进程同时打开文件的最大个数."
 
-#: utils/misc/guc.c:2002
+#: utils/misc/guc.c:2055
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "设置同步的已准备好事务的最大个数."
 
-#: utils/misc/guc.c:2013
+#: utils/misc/guc.c:2066
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "设置跟踪锁的表的最小OID."
 
-#: utils/misc/guc.c:2014
+#: utils/misc/guc.c:2067
 msgid "Is used to avoid output on system tables."
 msgstr "用于避免输出到系统表."
 
-#: utils/misc/guc.c:2023
+#: utils/misc/guc.c:2076
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "设置无条件锁追踪的表的OID."
 
-#: utils/misc/guc.c:2035
+#: utils/misc/guc.c:2088
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "设置任何语句执行时间的最大值 (单位毫秒)."
 
-#: utils/misc/guc.c:2036 utils/misc/guc.c:2047
+#: utils/misc/guc.c:2089 utils/misc/guc.c:2100 utils/misc/guc.c:2111
 msgid "A value of 0 turns off the timeout."
 msgstr "值为 0 的时候关闭超时."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2099
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "等待锁的的最长时间值."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2110
+#| msgid "Sets the maximum allowed duration of any statement."
+msgid "Sets the maximum allowed duration of any idling transaction."
+msgstr "设定任何空载事务的最大允许持续时间。"
+
+#: utils/misc/guc.c:2121
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "VACUUM应该冻结一行记录的最小时间."
 
-#: utils/misc/guc.c:2067
+#: utils/misc/guc.c:2131
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr "这是VACUUM应该扫描整个表来冻结元组的时候."
 
-#: utils/misc/guc.c:2077
+#: utils/misc/guc.c:2141
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "VACUUM用于冻结表中某行对应的MultiXactId的最小时间范围."
 
-#: utils/misc/guc.c:2087
+#: utils/misc/guc.c:2151
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr "这是VACUUM应该扫描整个表来冻结元组的事务时间范围."
 
-#: utils/misc/guc.c:2097
+#: utils/misc/guc.c:2161
 msgid ""
 "Number of transactions by which VACUUM and HOT cleanup should be deferred, "
 "if any."
 msgstr "VACUUM和热清理操作应该延迟的事务数量."
 
-#: utils/misc/guc.c:2110
+#: utils/misc/guc.c:2174
 msgid "Sets the maximum number of locks per transaction."
 msgstr "设置每一个事物锁的最大个数."
 
-#: utils/misc/guc.c:2111
+#: utils/misc/guc.c:2175
 msgid ""
 "The shared lock table is sized on the assumption that at most "
 "max_locks_per_transaction * max_connections distinct objects will need to be "
@@ -22614,11 +23286,11 @@ msgstr ""
 "持有共享锁表的大小是基于最多max_locks_per_transaction * max_connections个不同"
 "对象需要在任何时刻被锁定的假设来指定的."
 
-#: utils/misc/guc.c:2122
+#: utils/misc/guc.c:2186
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "设置每一个事物的断言锁的最大个数."
 
-#: utils/misc/guc.c:2123
+#: utils/misc/guc.c:2187
 msgid ""
 "The shared predicate lock table is sized on the assumption that at most "
 "max_pred_locks_per_transaction * max_connections distinct objects will need "
@@ -22627,38 +23299,36 @@ msgstr ""
 "共享断言锁表的大小是基于最多max_locks_per_transaction * max_connections个不同"
 "对象需要在任何时刻被锁定的假设来指定的."
 
-#: utils/misc/guc.c:2134
+#: utils/misc/guc.c:2198
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "设置完成客户端认证的需要等待的最长时间"
 
-#: utils/misc/guc.c:2146
+#: utils/misc/guc.c:2210
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "在认证前在连接启动上需要等待N秒"
 
-#: utils/misc/guc.c:2157
+#: utils/misc/guc.c:2221
 msgid "Sets the number of WAL files held for standby servers."
 msgstr "设置用于备用服务器而持有WAL文件的数量."
 
-#: utils/misc/guc.c:2167
-#| msgid "Sets the maximum time to wait for WAL replication."
+#: utils/misc/guc.c:2231
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "设置要把WAL收缩到的最小尺寸。"
 
-#: utils/misc/guc.c:2178
-#| msgid "Sets the maximum time between automatic WAL checkpoints."
+#: utils/misc/guc.c:2242
 msgid "Sets the WAL size that triggers a checkpoint."
 msgstr "设置触发一次检查点的WAL尺寸。"
 
-#: utils/misc/guc.c:2189
+#: utils/misc/guc.c:2253
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr "设置两次自动WAL检查点事件之间需要等待的最大时间"
 
-#: utils/misc/guc.c:2200
+#: utils/misc/guc.c:2264
 msgid ""
 "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr "如果检查点段的填充频度超过了最大值,启用警告功能。"
 
-#: utils/misc/guc.c:2202
+#: utils/misc/guc.c:2266
 msgid ""
 "Write a message to the server log if checkpoints caused by the filling of "
 "checkpoint segment files happens more frequently than this number of "
@@ -22667,42 +23337,46 @@ msgstr ""
 "如果检查点事件是由于填充检查点段比这个数量的秒数更加频繁所引起,那么会向服务"
 "器日志写一条消息. 如果把参数设置为0,那么可以关掉警告功能."
 
-#: utils/misc/guc.c:2214
+#: utils/misc/guc.c:2278
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "为 WAL 设置共享内存中磁盘页缓冲区的个数."
 
-#: utils/misc/guc.c:2225
-msgid "WAL writer sleep time between WAL flushes."
-msgstr "WAL写进程在两次刷新WAL缓存内容之间的睡眠时间"
+#: utils/misc/guc.c:2289
+msgid "Time between WAL flushes performed in the WAL writer."
+msgstr "WAL 写入器中执行 WAL 刷写之间的时间。"
 
-#: utils/misc/guc.c:2237
+#: utils/misc/guc.c:2300
+msgid "Amount of WAL written out by WAL writer triggering a flush."
+msgstr "触发一次刷写的 WAL 写入器写出的 WAL 数量。"
+
+#: utils/misc/guc.c:2312
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr "设置同时运行的WAL发送进程最大数量"
 
-#: utils/misc/guc.c:2248
+#: utils/misc/guc.c:2323
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "设置同步的已定义复制槽的最大数."
 
-#: utils/misc/guc.c:2258
+#: utils/misc/guc.c:2333
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "设置最大时间,等待WAL复制."
 
-#: utils/misc/guc.c:2269
+#: utils/misc/guc.c:2344
 msgid ""
 "Sets the delay in microseconds between transaction commit and flushing WAL "
 "to disk."
 msgstr "设置事物提交和刷新 WAL 到磁盘间的延迟时间, 单位微秒."
 
-#: utils/misc/guc.c:2281
+#: utils/misc/guc.c:2356
 msgid ""
 "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr "在执行commit_delay前,设置最少的可同步打开事务的数量."
 
-#: utils/misc/guc.c:2292
+#: utils/misc/guc.c:2367
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "设置浮点数显示的位数."
 
-#: utils/misc/guc.c:2293
+#: utils/misc/guc.c:2368
 msgid ""
 "This affects real, double precision, and geometric data types. The parameter "
 "value is added to the standard number of digits (FLT_DIG or DBL_DIG as "
@@ -22711,144 +23385,166 @@ msgstr ""
 "这将影响实数,双精度类型和几何数据类型.参数被加到位数的标准数量(视情况而定,可"
 "能是FLT_DIG或DBL_DIG)"
 
-#: utils/misc/guc.c:2304
+#: utils/misc/guc.c:2379
 msgid "Sets the minimum execution time above which statements will be logged."
 msgstr "设置最小执行时间,执行时间大于等于这个值的语句都将被记录."
 
-#: utils/misc/guc.c:2306
+#: utils/misc/guc.c:2381
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr ""
 "如果值设置为0,那么打印出所有查询. 如果设置为-1,那么将把这个功能特性关闭"
 
-#: utils/misc/guc.c:2316
+#: utils/misc/guc.c:2391
 msgid ""
 "Sets the minimum execution time above which autovacuum actions will be "
 "logged."
 msgstr ""
 "设置最小执行时间,如果autovacuum操作时间大于等于这个值,那么将记录这些操作."
 
-#: utils/misc/guc.c:2318
+#: utils/misc/guc.c:2393
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "0表示打印出所有的操作.-1表示关闭对autovacuum的日志记录功能"
 
-#: utils/misc/guc.c:2328
+#: utils/misc/guc.c:2403
 msgid "Background writer sleep time between rounds."
 msgstr "后台写入进程 (Background writer) 两次运行之间的休眠时间."
 
-#: utils/misc/guc.c:2339
+#: utils/misc/guc.c:2414
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr "后台写入进程 (Background writer) 每次可刷新LRU页的最大数量"
 
-#: utils/misc/guc.c:2351
+#: utils/misc/guc.c:2426
 msgid ""
 "Number of simultaneous requests that can be handled efficiently by the disk "
 "subsystem."
 msgstr "可以由磁盘子系统有效处理的并发请求数量."
 
-#: utils/misc/guc.c:2352
+#: utils/misc/guc.c:2427
 msgid ""
 "For RAID arrays, this should be approximately the number of drive spindles "
 "in the array."
 msgstr "对于RAID磁盘阵列来说,同步可处理的请求与磁盘阵列中磁盘数量应该相近."
 
-#: utils/misc/guc.c:2367
+#: utils/misc/guc.c:2440 utils/misc/guc.c:2452 utils/misc/guc.c:2464
+msgid ""
+"Number of pages after which previously performed writes are flushed to disk."
+msgstr "页面数,在此之后以前执行的写操作会被刷写到磁盘。"
+
+#: utils/misc/guc.c:2478
 msgid "Maximum number of concurrent worker processes."
 msgstr "最大并发工作进程数."
 
-#: utils/misc/guc.c:2377
+#: utils/misc/guc.c:2488
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr "在N分钟后将会产生自动日志文件切换."
 
-#: utils/misc/guc.c:2388
+#: utils/misc/guc.c:2499
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr "当写入了N千字节会发生自动日志文件切换"
 
-#: utils/misc/guc.c:2399
+#: utils/misc/guc.c:2510
 msgid "Shows the maximum number of function arguments."
 msgstr "显示函数参数的最大个数."
 
-#: utils/misc/guc.c:2410
+#: utils/misc/guc.c:2521
 msgid "Shows the maximum number of index keys."
 msgstr "显示索引键值的最大个数."
 
-#: utils/misc/guc.c:2421
+#: utils/misc/guc.c:2532
 msgid "Shows the maximum identifier length."
 msgstr "显示标识符最大长度"
 
-#: utils/misc/guc.c:2432
+#: utils/misc/guc.c:2543
 msgid "Shows the size of a disk block."
 msgstr "显示一个磁盘块的大小"
 
-#: utils/misc/guc.c:2443
+#: utils/misc/guc.c:2554
 msgid "Shows the number of pages per disk file."
 msgstr "显示在每个磁盘文件中页的数量."
 
-#: utils/misc/guc.c:2454
+#: utils/misc/guc.c:2565
 msgid "Shows the block size in the write ahead log."
 msgstr "显示预写日志中的块大小."
 
-#: utils/misc/guc.c:2465
+#: utils/misc/guc.c:2576
 msgid ""
 "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr "设置在尝试失败后重试检索WAL之前要等待的时间。"
 
-#: utils/misc/guc.c:2477
+#: utils/misc/guc.c:2588
 msgid "Shows the number of pages per write ahead log segment."
 msgstr "显示每个预写日志段中页的数量."
 
-#: utils/misc/guc.c:2490
+#: utils/misc/guc.c:2601
 msgid "Time to sleep between autovacuum runs."
 msgstr "两次运行autovacuum进程的休眠时间"
 
-#: utils/misc/guc.c:2500
+#: utils/misc/guc.c:2611
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "设置激活清理操作所需要最小数量的更新或删除元组."
 
-#: utils/misc/guc.c:2509
+#: utils/misc/guc.c:2620
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "分析前可插入,更新或删除元组的最小数量"
 
-#: utils/misc/guc.c:2519
+#: utils/misc/guc.c:2630
 msgid ""
 "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr "这是应该自动清理一张表以避免事务ID重叠的时间段."
 
-#: utils/misc/guc.c:2530
+#: utils/misc/guc.c:2641
 msgid ""
 "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr "自动清理一张表以避免事务ID重叠的时间范围."
 
-#: utils/misc/guc.c:2540
+#: utils/misc/guc.c:2651
 msgid ""
 "Sets the maximum number of simultaneously running autovacuum worker "
 "processes."
 msgstr "设置最大可同时运行的autovacuum工作进程数量"
 
-#: utils/misc/guc.c:2550
+#: utils/misc/guc.c:2661
+#| msgid "Sets the maximum number of predicate locks per transaction."
+msgid "Sets the maximum number of parallel processes per executor node."
+msgstr "设定一个执行器节点上的最大并行进程数。"
+
+#: utils/misc/guc.c:2671
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "设置每个自动清理(autovacuum)工作进程要使用的最大内存数."
 
-#: utils/misc/guc.c:2561
+#: utils/misc/guc.c:2682
+msgid ""
+"Time before a snapshot is too old to read pages changed after the snapshot "
+"was taken."
+msgstr "快照在被取得多久以后,会变得对于读取改变的页面太旧。"
+
+#: utils/misc/guc.c:2683
+#| msgid "A value of 0 uses the system default."
+msgid "A value of -1 disables this feature."
+msgstr "值为 -1 将禁用这个特性."
+
+#: utils/misc/guc.c:2693
 msgid "Time between issuing TCP keepalives."
 msgstr "启动TCP存活定时器的间隔"
 
-#: utils/misc/guc.c:2562 utils/misc/guc.c:2573
+#: utils/misc/guc.c:2694 utils/misc/guc.c:2705
 msgid "A value of 0 uses the system default."
 msgstr "值为0的时候表示系统缺省值"
 
-#: utils/misc/guc.c:2572
+#: utils/misc/guc.c:2704
 msgid "Time between TCP keepalive retransmits."
 msgstr "在两次TCP存活启动器重新传送之间需要花费的时间"
 
-#: utils/misc/guc.c:2583
-msgid "SSL regenotiation is no longer supported; this can only be 0."
-msgstr "SSL 重新协商已经不再被支持,这里只能是 0。"
+#: utils/misc/guc.c:2715
+#| msgid "SSL regenotiation is no longer supported; this can only be 0."
+msgid "SSL renegotiation is no longer supported; this can only be 0."
+msgstr "SSL 重协商已经不再被支持,这里只能是 0。"
 
-#: utils/misc/guc.c:2594
+#: utils/misc/guc.c:2726
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "设置每一个事物锁的最大个数."
 
-#: utils/misc/guc.c:2595
+#: utils/misc/guc.c:2727
 msgid ""
 "This controls the number of consecutive keepalive retransmits that can be "
 "lost before a connection is considered dead. A value of 0 uses the system "
@@ -22857,104 +23553,119 @@ msgstr ""
 "用于控制连续存活器再次传输数量,这些存活器重在连接被认为断开前会丢失.值0用于"
 "表示系统缺省."
 
-#: utils/misc/guc.c:2606
+#: utils/misc/guc.c:2738
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "设置由GIN进行的精确搜索所允许的最大允许结果."
 
-#: utils/misc/guc.c:2617
+#: utils/misc/guc.c:2749
 msgid "Sets the planner's assumption about the size of the disk cache."
 msgstr "设置关于计划器对磁盘缓冲大小的假设."
 
-#: utils/misc/guc.c:2618
+#: utils/misc/guc.c:2750
 msgid ""
 "That is, the portion of the kernel's disk cache that will be used for "
 "PostgreSQL data files. This is measured in disk pages, which are normally 8 "
 "kB each."
 msgstr "将要用于存储PostgreSQL数据文件的内核磁盘缓冲部分,以8K大小的页为单位."
 
-#: utils/misc/guc.c:2631
+#: utils/misc/guc.c:2763
 msgid "Shows the server version as an integer."
 msgstr "以整数的形式显示服务器版本信息."
 
-#: utils/misc/guc.c:2642
+#: utils/misc/guc.c:2774
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr "记录对超过这个数量(以千字节为单位)的临时文件的使用."
 
-#: utils/misc/guc.c:2643
+#: utils/misc/guc.c:2775
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr "如果设置为0,打印所有查询. 默认值为 -1 (表示关闭此功能)."
 
-#: utils/misc/guc.c:2653
+#: utils/misc/guc.c:2785
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "设置为pg_stat_activity.query所保留的空间大小,以字节为单位."
 
-#: utils/misc/guc.c:2668
-#| msgid "Sets the maximum time to wait for WAL replication."
+#: utils/misc/guc.c:2800
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "为GIN索引设置待处理列表的最大尺寸。"
 
-#: utils/misc/guc.c:2688
+#: utils/misc/guc.c:2820
 msgid ""
 "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr "设置计划器对顺序获取磁盘页的开销估算"
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2830
 msgid ""
 "Sets the planner's estimate of the cost of a nonsequentially fetched disk "
 "page."
 msgstr "设置计划器对非顺序获取磁盘页的开销估算."
 
-#: utils/misc/guc.c:2708
+#: utils/misc/guc.c:2840
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr "设置计划器对处理每个元组(也就是记录)的开销估算"
 
-#: utils/misc/guc.c:2718
+#: utils/misc/guc.c:2850
 msgid ""
 "Sets the planner's estimate of the cost of processing each index entry "
 "during an index scan."
 msgstr "设置计划器在索引扫描期间对处理每个索引项的开销估算."
 
-#: utils/misc/guc.c:2728
+#: utils/misc/guc.c:2860
 msgid ""
 "Sets the planner's estimate of the cost of processing each operator or "
 "function call."
 msgstr "设置计划器对处理每个操作符和函数调用的开销估算."
 
-#: utils/misc/guc.c:2739
+#: utils/misc/guc.c:2870
+#| msgid ""
+#| "Sets the planner's estimate of the cost of processing each tuple (row)."
+msgid ""
+"Sets the planner's estimate of the cost of passing each tuple (row) from "
+"worker to master backend."
+msgstr "设定规划器对于从工作者向主控后端传递每一个元组(行)的代价估计。"
+
+#: utils/misc/guc.c:2880
+#| msgid ""
+#| "Sets the planner's estimate of the cost of processing each tuple (row)."
+msgid ""
+"Sets the planner's estimate of the cost of starting up worker processes for "
+"parallel query."
+msgstr "设定规划器对于启动并行查询的工作者进程的代价估计。"
+
+#: utils/misc/guc.c:2891
 msgid ""
 "Sets the planner's estimate of the fraction of a cursor's rows that will be "
 "retrieved."
 msgstr "设置计划器对于通过游标取回记录部分的估算."
 
-#: utils/misc/guc.c:2750
+#: utils/misc/guc.c:2902
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: 在总体中的选择性压力"
 
-#: utils/misc/guc.c:2760
+#: utils/misc/guc.c:2912
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO:用于随机路径选择的种子."
 
-#: utils/misc/guc.c:2770
+#: utils/misc/guc.c:2922
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "每一次释放平均缓冲区使用量的倍数大小"
 
-#: utils/misc/guc.c:2780
+#: utils/misc/guc.c:2932
 msgid "Sets the seed for random-number generation."
 msgstr "设置生成随机数的种子."
 
-#: utils/misc/guc.c:2791
+#: utils/misc/guc.c:2943
 msgid ""
 "Number of tuple updates or deletes prior to vacuum as a fraction of "
 "reltuples."
 msgstr "在清理前需要插入,删除或更新元组的数量,这个数量是作为表大小的百分比"
 
-#: utils/misc/guc.c:2800
+#: utils/misc/guc.c:2952
 msgid ""
 "Number of tuple inserts, updates, or deletes prior to analyze as a fraction "
 "of reltuples."
 msgstr "在分析前插入,更新或删除元组的数量,这个数量以表大小的百分比的形式出现"
 
-#: utils/misc/guc.c:2810
+#: utils/misc/guc.c:2962
 msgid ""
 "Time spent flushing dirty buffers during checkpoint, as fraction of "
 "checkpoint interval."
@@ -22962,51 +23673,51 @@ msgstr ""
 "在检查点事件期间花费在将缓冲区中脏页刷新到磁盘的时间, 这个时间作为检查点间隔"
 "的百分比。"
 
-#: utils/misc/guc.c:2829
+#: utils/misc/guc.c:2981
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "设置用于对WAL文件进行归档的shell命令"
 
-#: utils/misc/guc.c:2839
+#: utils/misc/guc.c:2991
 msgid "Sets the client's character set encoding."
 msgstr "设置客户端编码"
 
-#: utils/misc/guc.c:2850
+#: utils/misc/guc.c:3002
 msgid "Controls information prefixed to each log line."
 msgstr "将控制信息作为每条日志文本的前缀"
 
-#: utils/misc/guc.c:2851
+#: utils/misc/guc.c:3003
 msgid "If blank, no prefix is used."
 msgstr "如果是空的,那么不使用前缀"
 
-#: utils/misc/guc.c:2860
+#: utils/misc/guc.c:3012
 msgid "Sets the time zone to use in log messages."
 msgstr "设置在日志消息中使用的时间区域"
 
-#: utils/misc/guc.c:2870
+#: utils/misc/guc.c:3022
 msgid "Sets the display format for date and time values."
 msgstr "设置日期和时间值的显示格式."
 
-#: utils/misc/guc.c:2871
+#: utils/misc/guc.c:3023
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "控制对模糊日期输入的解释."
 
-#: utils/misc/guc.c:2882
+#: utils/misc/guc.c:3034
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "设置用于创建表和索引的缺省表空间."
 
-#: utils/misc/guc.c:2883
+#: utils/misc/guc.c:3035
 msgid "An empty string selects the database's default tablespace."
 msgstr "使用空字符串表示数据库的缺省表空间."
 
-#: utils/misc/guc.c:2893
+#: utils/misc/guc.c:3045
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr "将表空间设置为用于存放临时表和排序文件"
 
-#: utils/misc/guc.c:2904
+#: utils/misc/guc.c:3056
 msgid "Sets the path for dynamically loadable modules."
 msgstr "设置动态加载摸组的路径."
 
-#: utils/misc/guc.c:2905
+#: utils/misc/guc.c:3057
 msgid ""
 "If a dynamically loadable module needs to be opened and the specified name "
 "does not have a directory component (i.e., the name does not contain a "
@@ -23015,75 +23726,75 @@ msgstr ""
 "如果一个动态加载模块需要打开并且指定名字没有路径 (例如, 名字中没包含斜杠), 系"
 "统将在此路径中查找指定的文件."
 
-#: utils/misc/guc.c:2918
+#: utils/misc/guc.c:3070
 msgid "Sets the location of the Kerberos server key file."
 msgstr "设置 Kerberos 服务器密钥文件位置."
 
-#: utils/misc/guc.c:2929
+#: utils/misc/guc.c:3081
 msgid "Sets the Bonjour service name."
 msgstr "设置Bonjour服务名称."
 
-#: utils/misc/guc.c:2941
+#: utils/misc/guc.c:3093
 msgid "Shows the collation order locale."
 msgstr "显示排序规则顺序的语言环境"
 
-#: utils/misc/guc.c:2952
+#: utils/misc/guc.c:3104
 msgid "Shows the character classification and case conversion locale."
 msgstr "显示字符分类和按条件转换的语言环境."
 
-#: utils/misc/guc.c:2963
+#: utils/misc/guc.c:3115
 msgid "Sets the language in which messages are displayed."
 msgstr "设置信息显示语言."
 
-#: utils/misc/guc.c:2973
+#: utils/misc/guc.c:3125
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "为货币数量格式设置 locale."
 
-#: utils/misc/guc.c:2983
+#: utils/misc/guc.c:3135
 msgid "Sets the locale for formatting numbers."
 msgstr "为数字格式设置 locale"
 
-#: utils/misc/guc.c:2993
+#: utils/misc/guc.c:3145
 msgid "Sets the locale for formatting date and time values."
 msgstr "为日期和时间值格式设置 locale"
 
-#: utils/misc/guc.c:3003
+#: utils/misc/guc.c:3155
 msgid "Lists shared libraries to preload into each backend."
 msgstr "列出预先加载到每个后台进程的共享库."
 
-#: utils/misc/guc.c:3014
+#: utils/misc/guc.c:3166
 msgid "Lists shared libraries to preload into server."
 msgstr "列出预装入服务器的共享库."
 
-#: utils/misc/guc.c:3025
+#: utils/misc/guc.c:3177
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "列出预先加载到每个后台进程的非优先的共享库."
 
-#: utils/misc/guc.c:3036
+#: utils/misc/guc.c:3188
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "为不是模式限定的名称设置模式搜索顺序"
 
-#: utils/misc/guc.c:3048
+#: utils/misc/guc.c:3200
 msgid "Sets the server (database) character set encoding."
 msgstr "设置服务器 (数据库) 字符编码."
 
-#: utils/misc/guc.c:3060
+#: utils/misc/guc.c:3212
 msgid "Shows the server version."
 msgstr "显示服务器版本信息."
 
-#: utils/misc/guc.c:3072
+#: utils/misc/guc.c:3224
 msgid "Sets the current role."
 msgstr "设置当前的角色"
 
-#: utils/misc/guc.c:3084
+#: utils/misc/guc.c:3236
 msgid "Sets the session user name."
 msgstr "设置会话用户名称."
 
-#: utils/misc/guc.c:3095
+#: utils/misc/guc.c:3247
 msgid "Sets the destination for server log output."
 msgstr "设置服务器日志输出目标."
 
-#: utils/misc/guc.c:3096
+#: utils/misc/guc.c:3248
 msgid ""
 "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and "
 "\"eventlog\", depending on the platform."
@@ -23091,227 +23802,254 @@ msgstr ""
 "有效值为 \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\" 的组合, 这取决"
 "于平台的种类."
 
-#: utils/misc/guc.c:3107
+#: utils/misc/guc.c:3259
 msgid "Sets the destination directory for log files."
 msgstr "设置日志文件目的目录."
 
-#: utils/misc/guc.c:3108
+#: utils/misc/guc.c:3260
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "可以指定为data目录的相对目录或绝对目录."
 
-#: utils/misc/guc.c:3118
+#: utils/misc/guc.c:3270
 msgid "Sets the file name pattern for log files."
 msgstr "设置日志文件的文件名字模式."
 
-#: utils/misc/guc.c:3129
+#: utils/misc/guc.c:3281
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "设置在系统日志 (syslog) 中确认 PostgreSQL 信息的程序名."
 
-#: utils/misc/guc.c:3140
+#: utils/misc/guc.c:3292
 msgid ""
 "Sets the application name used to identify PostgreSQL messages in the event "
 "log."
 msgstr "设置在事件日志 (syslog) 中用于标识 PostgreSQL 消息的程序名."
 
-#: utils/misc/guc.c:3151
+#: utils/misc/guc.c:3303
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "设置显示和解释时间戳的时区."
 
-#: utils/misc/guc.c:3161
+#: utils/misc/guc.c:3313
 msgid "Selects a file of time zone abbreviations."
 msgstr "选择时间区域缩写的文件"
 
-#: utils/misc/guc.c:3171
+#: utils/misc/guc.c:3323
 msgid "Sets the current transaction's isolation level."
 msgstr "设置当前事物的隔离级别."
 
-#: utils/misc/guc.c:3182
+#: utils/misc/guc.c:3334
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "设置 Unix-domain 套接字的属组."
 
-#: utils/misc/guc.c:3183
+#: utils/misc/guc.c:3335
 msgid ""
 "The owning user of the socket is always the user that starts the server."
 msgstr "套接字的属主用户也是起动服务的用户."
 
-#: utils/misc/guc.c:3193
+#: utils/misc/guc.c:3345
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "设置用于创建Unix-domain套接字的目录."
 
-#: utils/misc/guc.c:3208
+#: utils/misc/guc.c:3360
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "设置监听的主机名或 IP 地址."
 
-#: utils/misc/guc.c:3223
+#: utils/misc/guc.c:3375
 msgid "Sets the server's data directory."
 msgstr "设置服务器的数据目录"
 
-#: utils/misc/guc.c:3234
+#: utils/misc/guc.c:3386
 msgid "Sets the server's main configuration file."
 msgstr "设置服务器的主配置文件"
 
-#: utils/misc/guc.c:3245
+#: utils/misc/guc.c:3397
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "设置服务器的 \"hba\" 配置文件"
 
-#: utils/misc/guc.c:3256
+#: utils/misc/guc.c:3408
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "设置服务器的 \"ident\" 配置文件"
 
-#: utils/misc/guc.c:3267
+#: utils/misc/guc.c:3419
 msgid "Writes the postmaster PID to the specified file."
 msgstr "把 postmaster PID 写到指定文件."
 
-#: utils/misc/guc.c:3278
+#: utils/misc/guc.c:3430
 msgid "Location of the SSL server certificate file."
 msgstr "SSL服务器证书文件的位置"
 
-#: utils/misc/guc.c:3288
+#: utils/misc/guc.c:3440
 msgid "Location of the SSL server private key file."
 msgstr "SSL服务器私钥文件的位置."
 
-#: utils/misc/guc.c:3298
+#: utils/misc/guc.c:3450
 msgid "Location of the SSL certificate authority file."
 msgstr "SSL证书授权文件的位置."
 
-#: utils/misc/guc.c:3308
+#: utils/misc/guc.c:3460
 msgid "Location of the SSL certificate revocation list file."
 msgstr "SSL证书撤销列表文件的位置."
 
-#: utils/misc/guc.c:3318
+#: utils/misc/guc.c:3470
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "将临时统计信息文件写到指定的目录"
 
-#: utils/misc/guc.c:3329
-msgid "List of names of potential synchronous standbys."
-msgstr "可能的同步备用节点的名称列表."
+#: utils/misc/guc.c:3481
+#| msgid "List of names of potential synchronous standbys."
+msgid ""
+"Number of synchronous standbys and list of names of potential synchronous "
+"ones."
+msgstr "同步后备的数量以及潜在的同步后备的名称列表。"
 
 # describe.c:97
-#: utils/misc/guc.c:3340
+#: utils/misc/guc.c:3492
 msgid "Sets default text search configuration."
 msgstr "设置缺省文本搜索配置"
 
-#: utils/misc/guc.c:3350
+#: utils/misc/guc.c:3502
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "设置日志信息的冗长."
 
-#: utils/misc/guc.c:3365
+#: utils/misc/guc.c:3517
 msgid "Sets the curve to use for ECDH."
 msgstr "设置该曲线,用于ECDH."
 
-#: utils/misc/guc.c:3380
+#: utils/misc/guc.c:3532
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "设置在统计和日志中出现的应用程序名称."
 
-#: utils/misc/guc.c:3391
+#: utils/misc/guc.c:3543
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr "设定集簇的名称,它会被包括在进程的标题中。"
 
-#: utils/misc/guc.c:3411
+#: utils/misc/guc.c:3563
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "在字符串常量中设置是否允许使用\"\\'\""
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3573
 msgid "Sets the output format for bytea."
 msgstr "设置bytea类型数据的输出格式"
 
-#: utils/misc/guc.c:3431
+#: utils/misc/guc.c:3583
 msgid "Sets the message levels that are sent to the client."
 msgstr "设置发送到客户端的信息级别."
 
-#: utils/misc/guc.c:3432 utils/misc/guc.c:3485 utils/misc/guc.c:3496
-#: utils/misc/guc.c:3562
+#: utils/misc/guc.c:3584 utils/misc/guc.c:3637 utils/misc/guc.c:3648
+#: utils/misc/guc.c:3714
 msgid ""
 "Each level includes all the levels that follow it. The later the level, the "
 "fewer messages are sent."
 msgstr "每一层都包含在这一层后面的层次, 对于越往后的层次,就会发送越少的消息."
 
-#: utils/misc/guc.c:3442
+#: utils/misc/guc.c:3594
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "使计划器可以使用约束来优化查询."
 
-#: utils/misc/guc.c:3443
+#: utils/misc/guc.c:3595
 msgid ""
 "Table scans will be skipped if their constraints guarantee that no rows "
 "match the query."
 msgstr "如果约束能够确保没有列符合查询条件,那么将跳过表扫描."
 
-#: utils/misc/guc.c:3453
+#: utils/misc/guc.c:3605
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "设置每一个新事物的隔离 (isolation) 级别."
 
-#: utils/misc/guc.c:3463
+#: utils/misc/guc.c:3615
 msgid "Sets the display format for interval values."
 msgstr "设置时间间隔值的显示格式."
 
-#: utils/misc/guc.c:3474
+#: utils/misc/guc.c:3626
 msgid "Sets the verbosity of logged messages."
 msgstr "设置日志信息的冗长."
 
-#: utils/misc/guc.c:3484
+#: utils/misc/guc.c:3636
 msgid "Sets the message levels that are logged."
 msgstr "设置日志记录的信息级别."
 
-#: utils/misc/guc.c:3495
+#: utils/misc/guc.c:3647
 msgid ""
 "Causes all statements generating error at or above this level to be logged."
 msgstr "在此级别或以上级别, 所有语句产生的错误将被记录."
 
-#: utils/misc/guc.c:3506
+#: utils/misc/guc.c:3658
 msgid "Sets the type of statements logged."
 msgstr "设置记录语句的类型."
 
-#: utils/misc/guc.c:3516
+#: utils/misc/guc.c:3668
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "当启用系统日志 (syslog), 设置系统日志使用 \"facility\"."
 
-#: utils/misc/guc.c:3531
+#: utils/misc/guc.c:3683
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr "为触发器和重写规则设置会话的行为"
 
-#: utils/misc/guc.c:3541
+#: utils/misc/guc.c:3693
 msgid "Sets the current transaction's synchronization level."
 msgstr "设置当前事物的同步级别."
 
-#: utils/misc/guc.c:3551
+#: utils/misc/guc.c:3703
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "允许使用archive_command参数对WAL文件进行归档."
 
-#: utils/misc/guc.c:3561
+#: utils/misc/guc.c:3713
 msgid "Enables logging of recovery-related debugging information."
 msgstr "启用日志功能,对与恢复操作相关的调试信息进行记录."
 
-#: utils/misc/guc.c:3577
+#: utils/misc/guc.c:3729
 msgid "Collects function-level statistics on database activity."
 msgstr "在数据库运行的事务中收集函数级别统计信息."
 
-#: utils/misc/guc.c:3587
+#: utils/misc/guc.c:3739
 msgid "Set the level of information written to the WAL."
 msgstr "设置写入WAL文件的信息的内容详细级别"
 
-#: utils/misc/guc.c:3597
+#: utils/misc/guc.c:3749
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "选择过去的动态共享内存实现."
 
-#: utils/misc/guc.c:3607
+#: utils/misc/guc.c:3759
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "选择用于强制将WAL缓冲区的内容更新到磁盘的方法."
 
-#: utils/misc/guc.c:3617
+#: utils/misc/guc.c:3769
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "设置在XML中如何对二进制的值进行编码."
 
-#: utils/misc/guc.c:3627
+#: utils/misc/guc.c:3779
 msgid ""
 "Sets whether XML data in implicit parsing and serialization operations is to "
 "be considered as documents or content fragments."
 msgstr "设置在隐式分析和串行操作中的XML数据是否被当作文档或者内容片断."
 
-#: utils/misc/guc.c:3638
+#: utils/misc/guc.c:3790
 msgid "Use of huge pages on Linux."
 msgstr "使用Linux上的超大(huge)页"
 
-#: utils/misc/guc.c:4453
+#: utils/misc/guc.c:3800
+msgid "Forces use of parallel query facilities."
+msgstr "强制使用并行查询功能。"
+
+#: utils/misc/guc.c:3801
+msgid ""
+"If possible, run query using a parallel worker and with parallel "
+"restrictions."
+msgstr "如果可能,使用一个并行工作者并且加上并行限制来运行查询。"
+
+#: utils/misc/guc.c:4601
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s: 无法访问目录 \"%s\": %s\n"
+
+#: utils/misc/guc.c:4606
+#, c-format
+#| msgid ""
+#| "%s initializes a PostgreSQL database cluster.\n"
+#| "\n"
+msgid ""
+"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
+msgstr "运行 initdb 或者 pg_basebackup 以初始化一个 PostgreSQL 数据目录.\n"
+
+#: utils/misc/guc.c:4626
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -23321,12 +24059,13 @@ msgstr ""
 "%s 不知道在哪里可以找到数据库系统配置文件.\n"
 "你必须通过 --config-file 或 -D 选项指定或者通过设置 PGDATA 环境变量.\n"
 
-#: utils/misc/guc.c:4472
+#: utils/misc/guc.c:4645
 #, c-format
-msgid "%s cannot access the server configuration file \"%s\": %s\n"
-msgstr "%s 无法处理服务器的配置文件 \"%s\": %s\n"
+#| msgid "%s cannot access the server configuration file \"%s\": %s\n"
+msgid "%s: could not access the server configuration file \"%s\": %s\n"
+msgstr "%s:无法访问服务器配置文件 \"%s\": %s\n"
 
-#: utils/misc/guc.c:4498
+#: utils/misc/guc.c:4671
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -23337,7 +24076,7 @@ msgstr ""
 "可以在 \"%s\" 中指定 \"data_directory\", 或者通过 -D 选项指定或者通过设置 "
 "PGDATA 环境变量.\n"
 
-#: utils/misc/guc.c:4546
+#: utils/misc/guc.c:4719
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -23348,7 +24087,7 @@ msgstr ""
 "可以在 \"%s\" 中指定 \"hba_file\", 或者通过 -D 选项指定或者通过设置PGDATA 环"
 "境变量.\n"
 
-#: utils/misc/guc.c:4569
+#: utils/misc/guc.c:4742
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -23359,116 +24098,118 @@ msgstr ""
 "可以在 \"%s\" 中指定 \"ident_file\", 或者通过 -D 选项指定或者通过设置PGDATA "
 "环境变量.\n"
 
-#: utils/misc/guc.c:5243 utils/misc/guc.c:5290
+#: utils/misc/guc.c:5416 utils/misc/guc.c:5463
 msgid "Value exceeds integer range."
 msgstr "值已超过整数范围"
 
-#: utils/misc/guc.c:5513
+#: utils/misc/guc.c:5686
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "参数 \"%s\" 需要一个数字值"
 
-#: utils/misc/guc.c:5522
+#: utils/misc/guc.c:5695
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g 超出了参数 \"%s\" (%g .. %g) 的有效范围"
 
-#: utils/misc/guc.c:5675 utils/misc/guc.c:7004
+#: utils/misc/guc.c:5848 utils/misc/guc.c:7190
 #, c-format
-#| msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgid "cannot set parameters during a parallel operation"
 msgstr "在并行操作期间不能设置参数"
 
-#: utils/misc/guc.c:5682 utils/misc/guc.c:6432 utils/misc/guc.c:6484
-#: utils/misc/guc.c:6845 utils/misc/guc.c:7581 utils/misc/guc.c:7740
-#: utils/misc/guc.c:9375
+#: utils/misc/guc.c:5855 utils/misc/guc.c:6605 utils/misc/guc.c:6657
+#: utils/misc/guc.c:7018 utils/misc/guc.c:7778 utils/misc/guc.c:7946
+#: utils/misc/guc.c:9603
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "未认可的配置参数 \"%s\""
 
-#: utils/misc/guc.c:5697 utils/misc/guc.c:6857
+#: utils/misc/guc.c:5870 utils/misc/guc.c:7030
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "参数 \"%s\" 不可以改变"
 
-#: utils/misc/guc.c:5730
+#: utils/misc/guc.c:5903
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "参数 \"%s\" 现在不能改变"
 
-#: utils/misc/guc.c:5748 utils/misc/guc.c:5793 utils/misc/guc.c:9391
+#: utils/misc/guc.c:5921 utils/misc/guc.c:5966 utils/misc/guc.c:9619
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "设置参数 \"%s\" 权限不允许"
 
-#: utils/misc/guc.c:5783
+#: utils/misc/guc.c:5956
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "联接启动后, 参数 \"%s\" 不能设置"
 
-#: utils/misc/guc.c:5831
+#: utils/misc/guc.c:6004
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "无法在安全定义者操作中设置参数\"%s\" "
 
-#: utils/misc/guc.c:6440 utils/misc/guc.c:6488 utils/misc/guc.c:7744
+#: utils/misc/guc.c:6613 utils/misc/guc.c:6661 utils/misc/guc.c:7952
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "检查 \"%s\" 必须为超级用户"
 
-#: utils/misc/guc.c:6554
+#: utils/misc/guc.c:6727
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s 只能带一个参数"
 
-#: utils/misc/guc.c:6805
+#: utils/misc/guc.c:6978
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "只有超级用户才能执行命令ALTER SYSTEM"
 
-#: utils/misc/guc.c:6918
+#: utils/misc/guc.c:7063
+#, c-format
+msgid "parameter value for ALTER SYSTEM must not contain a newline"
+msgstr "用于 ALTER SYSTEM 的参数值不能包含新行"
+
+#: utils/misc/guc.c:7108
 #, c-format
-#| msgid "could not seek to end of file \"%s\": %m"
 msgid "could not parse contents of file \"%s\""
 msgstr "无法解析文件\"%s\"的内容"
 
-#: utils/misc/guc.c:7080
+#: utils/misc/guc.c:7266
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT没有实现"
 
-#: utils/misc/guc.c:7165
+#: utils/misc/guc.c:7351
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET 需要参数名字"
 
-#: utils/misc/guc.c:7278
+#: utils/misc/guc.c:7475
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "尝试重新定义参数 \"%s\""
 
-#: utils/misc/guc.c:9008
+#: utils/misc/guc.c:9236
 #, c-format
-#| msgid "parameter \"%s\" cannot be changed"
 msgid "parameter \"%s\" could not be set"
 msgstr "参数\"%s\" 不能被设置"
 
-#: utils/misc/guc.c:9095
+#: utils/misc/guc.c:9323
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "无法分析参数 \"%s\" 的设置"
 
-#: utils/misc/guc.c:9453 utils/misc/guc.c:9487
+#: utils/misc/guc.c:9681 utils/misc/guc.c:9715
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "参数 \"%s\" 的值无效: %d"
 
-#: utils/misc/guc.c:9521
+#: utils/misc/guc.c:9749
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "参数 \"%s\" 的值无效: %g"
 
-#: utils/misc/guc.c:9711
+#: utils/misc/guc.c:9939
 #, c-format
 msgid ""
 "\"temp_buffers\" cannot be changed after any temporary tables have been "
@@ -23477,23 +24218,23 @@ msgstr ""
 "在当前会话中,如果有任何临时表被访问,就不能改变\"temp_buffers\"中的内容."
 
 # input.c:213
-#: utils/misc/guc.c:9723
+#: utils/misc/guc.c:9951
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "这个版本的安装不支持使用Bonjour "
 
 # input.c:213
-#: utils/misc/guc.c:9736
+#: utils/misc/guc.c:9964
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "这个版本的安装不支持使用SSL"
 
-#: utils/misc/guc.c:9748
+#: utils/misc/guc.c:9976
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "当 \"log_statement_stats\" 为 true 时, 不能启动参数."
 
-#: utils/misc/guc.c:9760
+#: utils/misc/guc.c:9988
 #, c-format
 msgid ""
 "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", "
@@ -23507,10 +24248,24 @@ msgstr ""
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "内部错误: 未知的运行时参数类型\n"
 
-#: utils/misc/rls.c:125
+#: utils/misc/pg_config.c:61
 #, c-format
-msgid "insufficient privilege to bypass row-level security"
-msgstr "没有足够的特权绕过行级安全性"
+msgid ""
+"query-specified return tuple and function return type are not compatible"
+msgstr "查询指定返回的元组和函数返回类型不兼容"
+
+#: utils/misc/rls.c:127
+#, c-format
+#| msgid "new row violates row-level security policy for table \"%s\""
+msgid "query would be affected by row-level security policy for table \"%s\""
+msgstr "查询将被表 \"%s\" 的行级安全性策略所影响"
+
+#: utils/misc/rls.c:129
+#, c-format
+msgid ""
+"To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW "
+"LEVEL SECURITY."
+msgstr "要禁用对表拥有者的策略,使用 ALTER TABLE NO FORCE ROW LEVEL SECURITY。"
 
 #: utils/misc/timeout.c:388
 #, c-format
@@ -23586,15 +24341,15 @@ msgstr "在时间区域文件\"%s\"的第%d行中文本太长了."
 msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr "在时间区域文件\"%s\"中的第%d行中,@INCLUDE没有带文件名 "
 
-#: utils/mmgr/aset.c:505
+#: utils/mmgr/aset.c:506
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "创建内存上下文 \"%s\" 失败."
 
-#: utils/mmgr/mcxt.c:689 utils/mmgr/mcxt.c:724 utils/mmgr/mcxt.c:761
-#: utils/mmgr/mcxt.c:798 utils/mmgr/mcxt.c:832 utils/mmgr/mcxt.c:861
-#: utils/mmgr/mcxt.c:895 utils/mmgr/mcxt.c:975 utils/mmgr/mcxt.c:1008
-#: utils/mmgr/mcxt.c:1055
+#: utils/mmgr/mcxt.c:771 utils/mmgr/mcxt.c:806 utils/mmgr/mcxt.c:843
+#: utils/mmgr/mcxt.c:880 utils/mmgr/mcxt.c:914 utils/mmgr/mcxt.c:943
+#: utils/mmgr/mcxt.c:977 utils/mmgr/mcxt.c:1059 utils/mmgr/mcxt.c:1093
+#: utils/mmgr/mcxt.c:1142
 #, c-format
 msgid "Failed on request of size %zu."
 msgstr "无法请求大小 %zu."
@@ -23629,17 +24384,23 @@ msgstr "无法对一个已经创建带有WITH HOLD游标的事务执行PREPARE
 msgid "could not read block %ld of temporary file: %m"
 msgstr "无法读取临时文件块 %ld: %m"
 
-#: utils/sort/tuplesort.c:3599
+#: utils/sort/tuplesort.c:3360
+#, c-format
+#| msgid "cannot use more than %d columns in an index"
+msgid "cannot have more than %d runs for an external sort"
+msgstr "不能为一次外部排序运行超过 %d 次"
+
+#: utils/sort/tuplesort.c:4416
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "无法创建唯一索引\"%s\""
 
-#: utils/sort/tuplesort.c:3601
+#: utils/sort/tuplesort.c:4418
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "键值%s重复了"
 
-#: utils/sort/tuplesort.c:3602
+#: utils/sort/tuplesort.c:4419
 #, c-format
 msgid "Duplicate keys exist."
 msgstr "存在重复键。"
@@ -23665,32 +24426,31 @@ msgstr "无法从元组存储临时文件读取: %m"
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "无法写入元组存储临时文件: %m"
 
-#: utils/time/snapmgr.c:432
+#: utils/time/snapmgr.c:536
 #, c-format
-#| msgid "The source transaction %u is not running anymore."
 msgid "The source transaction is not running anymore."
 msgstr "源事务已不再运行."
 
-#: utils/time/snapmgr.c:986
+#: utils/time/snapmgr.c:1090
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "子事务中无法导出一个快照"
 
-#: utils/time/snapmgr.c:1135 utils/time/snapmgr.c:1140
-#: utils/time/snapmgr.c:1145 utils/time/snapmgr.c:1160
-#: utils/time/snapmgr.c:1165 utils/time/snapmgr.c:1170
-#: utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1285
-#: utils/time/snapmgr.c:1310
+#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1244
+#: utils/time/snapmgr.c:1249 utils/time/snapmgr.c:1264
+#: utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1274
+#: utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1389
+#: utils/time/snapmgr.c:1414
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "文件 \"%s\" 中存在无效快照数据"
 
-#: utils/time/snapmgr.c:1207
+#: utils/time/snapmgr.c:1311
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT 必须在任何查询之前调用"
 
-#: utils/time/snapmgr.c:1216
+#: utils/time/snapmgr.c:1320
 #, c-format
 msgid ""
 "a snapshot-importing transaction must have isolation level SERIALIZABLE or "
@@ -23698,172 +24458,217 @@ msgid ""
 msgstr ""
 "一个snapshot-importing事务的隔离级只能是SERIALIZABLE或者REPEATABLE READ"
 
-#: utils/time/snapmgr.c:1225 utils/time/snapmgr.c:1234
+#: utils/time/snapmgr.c:1329 utils/time/snapmgr.c:1338
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "无效快照标识符: \"%s\""
 
-#: utils/time/snapmgr.c:1323
+#: utils/time/snapmgr.c:1427
 #, c-format
 msgid ""
 "a serializable transaction cannot import a snapshot from a non-serializable "
 "transaction"
 msgstr "一个可串行化事务不能从非可串行化事务中导入一个快照"
 
-#: utils/time/snapmgr.c:1327
+#: utils/time/snapmgr.c:1431
 #, c-format
 msgid ""
 "a non-read-only serializable transaction cannot import a snapshot from a "
 "read-only transaction"
 msgstr "非只读可串行化事务无法导入来自只读事务的快照"
 
-#: utils/time/snapmgr.c:1342
+#: utils/time/snapmgr.c:1446
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "无法导入来自不同数据库的快照"
 
-#~ msgid "No description available."
-#~ msgstr "没有可用的描述"
+#~ msgid "user name lookup failure: %s"
+#~ msgstr "用户名: %s查找失败"
 
-#~ msgid "Sets the name of the Kerberos service."
-#~ msgstr "设置Kerberos服务的名称"
+#~ msgid "mapped win32 error code %lu to %d"
+#~ msgstr "将win32错误代码%2$d映射为%1$lu"
 
-#~ msgid ""
-#~ "time zone offset %d is not a multiple of 900 sec (15 min) in time zone "
-#~ "file \"%s\", line %d"
-#~ msgstr ""
-#~ "在时区文件 \"%2$s\"中的第%3$d行中时区偏移%1$d不是900秒(15分钟)的倍数."
+#~ msgid "unrecognized win32 error code: %lu"
+#~ msgstr "未知的 win32 错误码: %lu"
 
-#~ msgid "Perhaps out of disk space?"
-#~ msgstr "可能超出磁盘空间?"
+#~ msgid "redo record is at %X/%X; shutdown %s"
+#~ msgstr "重做记录是在%X/%X; 关闭 %s"
 
-#~ msgid "assertion checking is not supported by this build"
-#~ msgstr "这个版本的安装不支持使用断言检查"
+#~ msgid "next transaction ID: %u/%u; next OID: %u"
+#~ msgstr "下一个事务ID: %u/%u; 下一个 OID: %u"
 
-#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported"
-#~ msgstr "SET AUTOCOMMIT TO OFF 不再被支持"
+#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u"
+#~ msgstr "下一个MultiXactId: %u; 下一个MultiXactOffset: %u"
 
-#~ msgid ""
-#~ "Set the amount of traffic to send and receive before renegotiating the "
-#~ "encryption keys."
-#~ msgstr "在重新设定加密键之前设定需要进行发送和接收的流量总和"
+#~ msgid "oldest unfrozen transaction ID: %u, in database %u"
+#~ msgstr "在数据库%2$u中,最旧的非冻结事务ID是%1$u"
+
+#~ msgid "=> is deprecated as an operator name"
+#~ msgstr "=>做为操作符名称已被废弃"
 
 #~ msgid ""
-#~ "Sets the maximum distance in log segments between automatic WAL "
-#~ "checkpoints."
-#~ msgstr "在自动WAL检查点之间设置log段中的最大距离."
+#~ "This name may be disallowed altogether in future versions of PostgreSQL."
+#~ msgstr "在将来的PostgreSQL版本中不允许使用这个名称."
+
+#~ msgid "inherited relation \"%s\" is not a table"
+#~ msgstr "继承关系 \"%s\" 不是一个表"
+
+#~ msgid "Specify a USING expression to perform the conversion."
+#~ msgstr "指定一个USING表达式来执行转换"
 
 #~ msgid ""
-#~ "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-"
-#~ "vintage clients."
-#~ msgstr "只是这里我们不能从7.3版本的客户端中阻止运行SET AUTOCOMMIT TO ON."
+#~ "%.0f dead row versions cannot be removed yet.\n"
+#~ "There were %.0f unused item pointers.\n"
+#~ "%u pages are entirely empty.\n"
+#~ "%s."
+#~ msgstr ""
+#~ "已不用的行版本%.0f还不能删除.\n"
+#~ "那里有%.0f个没使用的成员指针.\n"
+#~ "%u页当前完全是空的.\n"
+#~ "%s."
 
-#~ msgid "This parameter doesn't do anything."
-#~ msgstr "这个参数不做任何事情."
+#~ msgid "interval precision specified twice"
+#~ msgstr "两次指定间隔精度"
 
-#~ msgid "This is a debugging aid."
-#~ msgstr "这是一个出错帮助."
+#~ msgid "received password packet"
+#~ msgstr "接收到口令包"
 
-#~ msgid "Turns on various assertion checks."
-#~ msgstr "打开各种判断检查."
+#~ msgid "could not complete SSL handshake on renegotiation, too many failures"
+#~ msgstr "在再次协商阶段无法完成 SSL 握手 , 因为其间出现了太多的失败"
 
-#~ msgid "cannot accept a value of type pg_node_tree"
-#~ msgstr "无法接受一个 pg_node_tree类型值"
+#~ msgid "could not set socket to blocking mode: %m"
+#~ msgstr "无法将套接字设置为阻塞模式: %m"
 
-#~ msgid ""
-#~ "must be superuser or have the same role to terminate other server "
-#~ "processes"
-#~ msgstr "只有超级用户或拥有相同角色的用户可以终止其他服务器进程"
+#~ msgid "%s: setsysinfo failed: %s\n"
+#~ msgstr "%s: setsysinfo 失败: %s\n"
+
+#~ msgid "  -A 1|0             enable/disable run-time assert checking\n"
+#~ msgstr "  -A 1|0             打开/关闭运行时断言检查\n"
+
+#~ msgid "subquery must return a column"
+#~ msgstr "子查询必须返回一个字段"
 
 #~ msgid ""
-#~ "must be superuser or have the same role to cancel queries running in "
-#~ "other server processes"
-#~ msgstr "只有超级用户或拥有相同角色的用户可以取消其他服务器进程中的查询"
+#~ "Consider increasing the configuration parameter \"checkpoint_segments\"."
+#~ msgstr "认为增加配置参数 \"checkpoint_segments\"."
 
-#~ msgid "invalid symbol"
-#~ msgstr "无效符号"
+#~ msgid "archive member \"%s\" too large for tar format"
+#~ msgstr "在 tar 格式中归档成员\"%s\"太大"
 
-#~ msgid "missing assignment operator"
-#~ msgstr "缺少指定的操作符"
+#~ msgid "could not determine input data types"
+#~ msgstr "无法确定输入数据类型"
 
 #~ msgid "neither input type is an array"
 #~ msgstr "没有输入类型是数组"
 
-#~ msgid "could not determine input data types"
-#~ msgstr "无法确定输入数据类型"
+#~ msgid "missing assignment operator"
+#~ msgstr "缺少指定的操作符"
 
-#~ msgid "archive member \"%s\" too large for tar format"
-#~ msgstr "在 tar 格式中归档成员\"%s\"太大"
+#~ msgid "invalid symbol"
+#~ msgstr "无效符号"
 
 #~ msgid ""
-#~ "Consider increasing the configuration parameter \"checkpoint_segments\"."
-#~ msgstr "认为增加配置参数 \"checkpoint_segments\"."
+#~ "must be superuser or have the same role to cancel queries running in "
+#~ "other server processes"
+#~ msgstr "只有超级用户或拥有相同角色的用户可以取消其他服务器进程中的查询"
 
-#~ msgid "subquery must return a column"
-#~ msgstr "子查询必须返回一个字段"
+#~ msgid ""
+#~ "must be superuser or have the same role to terminate other server "
+#~ "processes"
+#~ msgstr "只有超级用户或拥有相同角色的用户可以终止其他服务器进程"
 
-#~ msgid "  -A 1|0             enable/disable run-time assert checking\n"
-#~ msgstr "  -A 1|0             打开/关闭运行时断言检查\n"
+#~ msgid "cannot accept a value of type pg_node_tree"
+#~ msgstr "无法接受一个 pg_node_tree类型值"
 
-#~ msgid "%s: setsysinfo failed: %s\n"
-#~ msgstr "%s: setsysinfo 失败: %s\n"
+#~ msgid "Turns on various assertion checks."
+#~ msgstr "打开各种判断检查."
 
-#~ msgid "could not set socket to blocking mode: %m"
-#~ msgstr "无法将套接字设置为阻塞模式: %m"
+#~ msgid "This is a debugging aid."
+#~ msgstr "这是一个出错帮助."
 
-#~ msgid "could not complete SSL handshake on renegotiation, too many failures"
-#~ msgstr "在再次协商阶段无法完成 SSL 握手 , 因为其间出现了太多的失败"
+#~ msgid "This parameter doesn't do anything."
+#~ msgstr "这个参数不做任何事情."
 
-#~ msgid "received password packet"
-#~ msgstr "接收到口令包"
+#~ msgid ""
+#~ "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-"
+#~ "vintage clients."
+#~ msgstr "只是这里我们不能从7.3版本的客户端中阻止运行SET AUTOCOMMIT TO ON."
 
-#~ msgid "interval precision specified twice"
-#~ msgstr "两次指定间隔精度"
+#~ msgid ""
+#~ "Sets the maximum distance in log segments between automatic WAL "
+#~ "checkpoints."
+#~ msgstr "在自动WAL检查点之间设置log段中的最大距离."
 
 #~ msgid ""
-#~ "%.0f dead row versions cannot be removed yet.\n"
-#~ "There were %.0f unused item pointers.\n"
-#~ "%u pages are entirely empty.\n"
-#~ "%s."
-#~ msgstr ""
-#~ "已不用的行版本%.0f还不能删除.\n"
-#~ "那里有%.0f个没使用的成员指针.\n"
-#~ "%u页当前完全是空的.\n"
-#~ "%s."
+#~ "Set the amount of traffic to send and receive before renegotiating the "
+#~ "encryption keys."
+#~ msgstr "在重新设定加密键之前设定需要进行发送和接收的流量总和"
 
-#~ msgid "Specify a USING expression to perform the conversion."
-#~ msgstr "指定一个USING表达式来执行转换"
+#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported"
+#~ msgstr "SET AUTOCOMMIT TO OFF 不再被支持"
 
-#~ msgid "inherited relation \"%s\" is not a table"
-#~ msgstr "继承关系 \"%s\" 不是一个表"
+#~ msgid "assertion checking is not supported by this build"
+#~ msgstr "这个版本的安装不支持使用断言检查"
+
+#~ msgid "Perhaps out of disk space?"
+#~ msgstr "可能超出磁盘空间?"
 
 #~ msgid ""
-#~ "This name may be disallowed altogether in future versions of PostgreSQL."
-#~ msgstr "在将来的PostgreSQL版本中不允许使用这个名称."
+#~ "time zone offset %d is not a multiple of 900 sec (15 min) in time zone "
+#~ "file \"%s\", line %d"
+#~ msgstr ""
+#~ "在时区文件 \"%2$s\"中的第%3$d行中时区偏移%1$d不是900秒(15分钟)的倍数."
 
-#~ msgid "=> is deprecated as an operator name"
-#~ msgstr "=>做为操作符名称已被废弃"
+#~ msgid "Sets the name of the Kerberos service."
+#~ msgstr "设置Kerberos服务的名称"
 
-#~ msgid "role with OID %u does not exist"
-#~ msgstr "OID为%u的角色不存在"
+#~ msgid "No description available."
+#~ msgstr "没有可用的描述"
 
-#~ msgid "oldest unfrozen transaction ID: %u, in database %u"
-#~ msgstr "在数据库%2$u中,最旧的非冻结事务ID是%1$u"
+#~ msgid "insufficient privilege to bypass row-level security"
+#~ msgstr "没有足够的特权绕过行级安全性"
 
-#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u"
-#~ msgstr "下一个MultiXactId: %u; 下一个MultiXactOffset: %u"
+#~ msgid "WAL writer sleep time between WAL flushes."
+#~ msgstr "WAL写进程在两次刷新WAL缓存内容之间的睡眠时间"
 
-#~ msgid "next transaction ID: %u/%u; next OID: %u"
-#~ msgstr "下一个事务ID: %u/%u; 下一个 OID: %u"
+#~ msgid "could not convert to time zone \"%s\""
+#~ msgstr "无法转换到时间区域\"%s\""
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "重做记录是在%X/%X; 关闭 %s"
+#~ msgid "argument for function \"exp\" too big"
+#~ msgstr "对于函数 \"exp\" 参数太大"
 
-#~ msgid "unrecognized win32 error code: %lu"
-#~ msgstr "未知的 win32 错误码: %lu"
+#~ msgid "must be superuser to rotate log files"
+#~ msgstr "只有超级用户能切换日志文件"
 
-#~ msgid "mapped win32 error code %lu to %d"
-#~ msgstr "将win32错误代码%2$d映射为%1$lu"
+#~ msgid "must be superuser to signal the postmaster"
+#~ msgstr "只有超级用户可以发送信号到postmaster进程"
 
-#~ msgid "user name lookup failure: %s"
-#~ msgstr "用户名: %s查找失败"
+#~ msgid "could not format \"circle\" value"
+#~ msgstr "无法格式化 \"circle\" 的值"
+
+#~ msgid "invalid input syntax for type circle: \"%s\""
+#~ msgstr "无效的 circle 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type polygon: \"%s\""
+#~ msgstr "无效的 polygon 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type lseg: \"%s\""
+#~ msgstr "无效的 lseg 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type point: \"%s\""
+#~ msgstr "无效的 point 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type path: \"%s\""
+#~ msgstr "无效的 path 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type line: \"%s\""
+#~ msgstr "无效的 line 类型输入语法: \"%s\""
+
+#~ msgid "invalid input syntax for type box: \"%s\""
+#~ msgstr "无效的 box 类型输入语法: \"%s\""
+
+#~ msgid "could not format \"path\" value"
+#~ msgstr "无法格式化 \"path\" 值"
+
+#~ msgid "multibyte flag character is not allowed"
+#~ msgstr "不允许使用多字节标志字符"
diff --git a/src/bin/initdb/po/de.po b/src/bin/initdb/po/de.po
index efabc8fbcd2dfee0d4eb3a12bd6d11ef2e0770e2..90758c8cd7dd19afa5bb56e8d73ac65936f513fd 100644
--- a/src/bin/initdb/po/de.po
+++ b/src/bin/initdb/po/de.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-04-13 00:14+0000\n"
-"PO-Revision-Date: 2016-04-12 20:54-0400\n"
+"POT-Creation-Date: 2016-05-22 02:44+0000\n"
+"PO-Revision-Date: 2016-05-22 20:55-0400\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -206,7 +206,7 @@ msgstr "%s: konnte Datei „%s“ nicht schreiben: %s\n"
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: konnte Verzeichnis „%s“ nicht öffnen: %s\n"
 
-#: initdb.c:586 initdb.c:2334
+#: initdb.c:586 initdb.c:2336
 #, c-format
 msgid "%s: could not stat file \"%s\": %s\n"
 msgstr "%s: konnte „stat“ für Datei „%s“ nicht ausführen: %s\n"
@@ -383,71 +383,71 @@ msgstr "%s: konnte Passwort nicht aus Datei „%s“ lesen: %s\n"
 msgid "%s: password file \"%s\" is empty\n"
 msgstr "%s: Passwortdatei „%s“ ist leer\n"
 
-#: initdb.c:1845
+#: initdb.c:1847
 #, c-format
 msgid "%s: locale name too long, skipped: \"%s\"\n"
 msgstr "%s: Locale-Name zu lang, wird ausgelassen: „%s“\n"
 
-#: initdb.c:1870
+#: initdb.c:1872
 #, c-format
 msgid "%s: locale name has non-ASCII characters, skipped: \"%s\"\n"
 msgstr "%s: Locale-Name hat Nicht-ASCII-Zeichen, wird ausgelassen: „%s“\n"
 
-#: initdb.c:1943
+#: initdb.c:1945
 #, c-format
 msgid "No usable system locales were found.\n"
 msgstr "Es wurden keine brauchbaren System-Locales gefunden.\n"
 
-#: initdb.c:1944
+#: initdb.c:1946
 #, c-format
 msgid "Use the option \"--debug\" to see details.\n"
 msgstr "Verwenden Sie die Option „--debug“, um Einzelheiten zu sehen.\n"
 
-#: initdb.c:2317
+#: initdb.c:2319
 msgid "syncing data to disk ... "
 msgstr "synchronisiere Daten auf Festplatte ... "
 
-#: initdb.c:2411
+#: initdb.c:2413
 #, c-format
 msgid "caught signal\n"
 msgstr "Signal abgefangen\n"
 
-#: initdb.c:2417
+#: initdb.c:2419
 #, c-format
 msgid "could not write to child process: %s\n"
 msgstr "konnte nicht an Kindprozess schreiben: %s\n"
 
-#: initdb.c:2425
+#: initdb.c:2427
 #, c-format
 msgid "ok\n"
 msgstr "ok\n"
 
-#: initdb.c:2515
+#: initdb.c:2517
 #, c-format
 msgid "%s: setlocale() failed\n"
 msgstr "%s: setlocale() fehlgeschlagen\n"
 
-#: initdb.c:2533
+#: initdb.c:2535
 #, c-format
 msgid "%s: failed to restore old locale \"%s\"\n"
 msgstr "%s: konnte alte Locale „%s“ nicht wiederherstellen\n"
 
-#: initdb.c:2543
+#: initdb.c:2545
 #, c-format
 msgid "%s: invalid locale name \"%s\"\n"
 msgstr "%s: ungültiger Locale-Name „%s“\n"
 
-#: initdb.c:2555
+#: initdb.c:2557
 #, c-format
 msgid "%s: invalid locale settings; check LANG and LC_* environment variables\n"
 msgstr "%s: ungültige Locale-Einstellungen; prüfen Sie die Umgebungsvariablen LANG und LC_*\n"
 
-#: initdb.c:2583
+#: initdb.c:2585
 #, c-format
 msgid "%s: encoding mismatch\n"
 msgstr "%s: unpassende Kodierungen\n"
 
-#: initdb.c:2585
+#: initdb.c:2587
 #, c-format
 msgid ""
 "The encoding you selected (%s) and the encoding that the\n"
@@ -462,7 +462,7 @@ msgstr ""
 "führen. Starten Sie %s erneut und geben Sie entweder keine\n"
 "Kodierung explizit an oder wählen Sie eine passende Kombination.\n"
 
-#: initdb.c:2657
+#: initdb.c:2659
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -471,17 +471,17 @@ msgstr ""
 "%s initialisiert einen PostgreSQL-Datenbankcluster.\n"
 "\n"
 
-#: initdb.c:2658
+#: initdb.c:2660
 #, c-format
 msgid "Usage:\n"
 msgstr "Aufruf:\n"
 
-#: initdb.c:2659
+#: initdb.c:2661
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [OPTION]... [DATENVERZEICHNIS]\n"
 
-#: initdb.c:2660
+#: initdb.c:2662
 #, c-format
 msgid ""
 "\n"
@@ -490,41 +490,41 @@ msgstr ""
 "\n"
 "Optionen:\n"
 
-#: initdb.c:2661
+#: initdb.c:2663
 #, c-format
 msgid "  -A, --auth=METHOD         default authentication method for local connections\n"
 msgstr "  -A, --auth=METHODE        vorgegebene Authentifizierungsmethode für lokale Verbindungen\n"
 
-#: initdb.c:2662
+#: initdb.c:2664
 #, c-format
 msgid "      --auth-host=METHOD    default authentication method for local TCP/IP connections\n"
 msgstr ""
 "      --auth-host=METHODE   vorgegebene Authentifizierungsmethode für lokale\n"
 "                            TCP/IP-Verbindungen\n"
 
-#: initdb.c:2663
+#: initdb.c:2665
 #, c-format
 msgid "      --auth-local=METHOD   default authentication method for local-socket connections\n"
 msgstr ""
 "      --auth-local=METHODE  vorgegebene Authentifizierungsmethode für Verbindungen\n"
 "                            auf lokalen Sockets\n"
 
-#: initdb.c:2664
+#: initdb.c:2666
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr " [-D, --pgdata=]DATENVERZ   Datenverzeichnis für diesen Datenbankcluster\n"
 
-#: initdb.c:2665
+#: initdb.c:2667
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=KODIERUNG  setze Standardkodierung für neue Datenbanken\n"
 
-#: initdb.c:2666
+#: initdb.c:2668
 #, c-format
 msgid "      --locale=LOCALE       set default locale for new databases\n"
 msgstr "      --locale=LOCALE       setze Standardlocale für neue Datenbanken\n"
 
-#: initdb.c:2667
+#: initdb.c:2669
 #, c-format
 msgid ""
 "      --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
@@ -538,17 +538,17 @@ msgstr ""
 "                            für neue Datenbanken (Voreinstellung aus der\n"
 "                            Umgebung entnommen)\n"
 
-#: initdb.c:2671
+#: initdb.c:2673
 #, c-format
 msgid "      --no-locale           equivalent to --locale=C\n"
 msgstr "      --no-locale           entspricht --locale=C\n"
 
-#: initdb.c:2672
+#: initdb.c:2674
 #, c-format
 msgid "      --pwfile=FILE         read password for the new superuser from file\n"
 msgstr "      --pwfile=DATEI        lese Passwort des neuen Superusers aus Datei\n"
 
-#: initdb.c:2673
+#: initdb.c:2675
 #, c-format
 msgid ""
 "  -T, --text-search-config=CFG\n"
@@ -557,22 +557,22 @@ msgstr ""
 "  -T, --text-search-config=KFG\n"
 "                            Standardtextsuchekonfiguration\n"
 
-#: initdb.c:2675
+#: initdb.c:2677
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=NAME       Datenbank-Superusername\n"
 
-#: initdb.c:2676
+#: initdb.c:2678
 #, c-format
 msgid "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            frage nach Passwort für neuen Superuser\n"
 
-#: initdb.c:2677
+#: initdb.c:2679
 #, c-format
 msgid "  -X, --xlogdir=XLOGDIR     location for the transaction log directory\n"
 msgstr "  -X, --xlogdir=XLOGVERZ    Verzeichnis für das Transaktionslog\n"
 
-#: initdb.c:2678
+#: initdb.c:2680
 #, c-format
 msgid ""
 "\n"
@@ -581,44 +581,44 @@ msgstr ""
 "\n"
 "Weniger häufig verwendete Optionen:\n"
 
-#: initdb.c:2679
+#: initdb.c:2681
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               erzeuge eine Menge Debug-Ausgaben\n"
 
-#: initdb.c:2680
+#: initdb.c:2682
 #, c-format
 msgid "  -k, --data-checksums      use data page checksums\n"
 msgstr "  -k, --data-checksums      Datenseitenprüfsummen verwenden\n"
 
-#: initdb.c:2681
+#: initdb.c:2683
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L VERZEICHNIS            wo sind die Eingabedateien zu finden\n"
 
-#: initdb.c:2682
+#: initdb.c:2684
 #, c-format
 msgid "  -n, --noclean             do not clean up after errors\n"
 msgstr "  -n, --noclean             nach Fehlern nicht aufräumen\n"
 
-#: initdb.c:2683
+#: initdb.c:2685
 #, c-format
 msgid "  -N, --nosync              do not wait for changes to be written safely to disk\n"
 msgstr ""
 "  -N, --nosync              nicht warten, bis Änderungen sicher auf Festplatte\n"
 "                            geschrieben sind\n"
 
-#: initdb.c:2684
+#: initdb.c:2686
 #, c-format
 msgid "  -s, --show                show internal settings\n"
 msgstr "  -s, --show                zeige interne Einstellungen\n"
 
-#: initdb.c:2685
+#: initdb.c:2687
 #, c-format
 msgid "  -S, --sync-only           only sync data directory\n"
 msgstr "  -S, --sync-only           nur Datenverzeichnis synchronisieren\n"
 
-#: initdb.c:2686
+#: initdb.c:2688
 #, c-format
 msgid ""
 "\n"
@@ -627,17 +627,17 @@ msgstr ""
 "\n"
 "Weitere Optionen:\n"
 
-#: initdb.c:2687
+#: initdb.c:2689
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             Versionsinformationen anzeigen, dann beenden\n"
 
-#: initdb.c:2688
+#: initdb.c:2690
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                diese Hilfe anzeigen, dann beenden\n"
 
-#: initdb.c:2689
+#: initdb.c:2691
 #, c-format
 msgid ""
 "\n"
@@ -648,7 +648,7 @@ msgstr ""
 "Wenn kein Datenverzeichnis angegeben ist, dann wird die Umgebungsvariable\n"
 "PGDATA verwendet.\n"
 
-#: initdb.c:2691
+#: initdb.c:2693
 #, c-format
 msgid ""
 "\n"
@@ -657,7 +657,7 @@ msgstr ""
 "\n"
 "Berichten Sie Fehler an <pgsql-bugs@postgresql.org>.\n"
 
-#: initdb.c:2699
+#: initdb.c:2701
 msgid ""
 "\n"
 "WARNING: enabling \"trust\" authentication for local connections\n"
@@ -670,17 +670,17 @@ msgstr ""
 "nächsten Aufruf von initdb die Option -A, oder --auth-local und\n"
 "--auth-host, verwenden.\n"
 
-#: initdb.c:2721
+#: initdb.c:2723
 #, c-format
 msgid "%s: invalid authentication method \"%s\" for \"%s\" connections\n"
 msgstr "%s: ungültige Authentifizierungsmethode „%s“ für „%s“-Verbindungen\n"
 
-#: initdb.c:2735
+#: initdb.c:2737
 #, c-format
 msgid "%s: must specify a password for the superuser to enable %s authentication\n"
 msgstr "%s: Superuser-Passwort muss angegeben werden um %s-Authentifizierung einzuschalten\n"
 
-#: initdb.c:2762
+#: initdb.c:2764
 #, c-format
 msgid ""
 "%s: no data directory specified\n"
@@ -693,7 +693,7 @@ msgstr ""
 "werden soll. Machen Sie dies entweder mit der Kommandozeilenoption -D\n"
 "oder mit der Umgebungsvariable PGDATA.\n"
 
-#: initdb.c:2800
+#: initdb.c:2802
 #, c-format
 msgid ""
 "The program \"postgres\" is needed by %s but was not found in the\n"
@@ -704,7 +704,7 @@ msgstr ""
 "selben Verzeichnis wie „%s“ gefunden.\n"
 "Prüfen Sie Ihre Installation.\n"
 
-#: initdb.c:2807
+#: initdb.c:2809
 #, c-format
 msgid ""
 "The program \"postgres\" was found by \"%s\"\n"
@@ -715,17 +715,17 @@ msgstr ""
 "aber es hatte nicht die gleiche Version wie %s.\n"
 "Prüfen Sie Ihre Installation.\n"
 
-#: initdb.c:2826
+#: initdb.c:2828
 #, c-format
 msgid "%s: input file location must be an absolute path\n"
 msgstr "%s: Eingabedatei muss absoluten Pfad haben\n"
 
-#: initdb.c:2845
+#: initdb.c:2847
 #, c-format
 msgid "The database cluster will be initialized with locale \"%s\".\n"
 msgstr "Der Datenbankcluster wird mit der Locale „%s“ initialisiert werden.\n"
 
-#: initdb.c:2848
+#: initdb.c:2850
 #, c-format
 msgid ""
 "The database cluster will be initialized with locales\n"
@@ -744,22 +744,22 @@ msgstr ""
 "  NUMERIC:  %s\n"
 "  TIME:     %s\n"
 
-#: initdb.c:2872
+#: initdb.c:2874
 #, c-format
 msgid "%s: could not find suitable encoding for locale \"%s\"\n"
 msgstr "%s: konnte keine passende Kodierung für Locale „%s“ finden\n"
 
-#: initdb.c:2874
+#: initdb.c:2876
 #, c-format
 msgid "Rerun %s with the -E option.\n"
 msgstr "Führen Sie %s erneut mit der Option -E aus.\n"
 
-#: initdb.c:2875 initdb.c:3498 initdb.c:3519
+#: initdb.c:2877 initdb.c:3500 initdb.c:3521
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie „%s --help“ für weitere Informationen.\n"
 
-#: initdb.c:2887
+#: initdb.c:2889
 #, c-format
 msgid ""
 "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n"
@@ -768,12 +768,12 @@ msgstr ""
 "Die von der Locale gesetzte Kodierung „%s“ ist nicht als serverseitige Kodierung erlaubt.\n"
 "Die Standarddatenbankkodierung wird stattdessen auf „%s“ gesetzt.\n"
 
-#: initdb.c:2895
+#: initdb.c:2897
 #, c-format
 msgid "%s: locale \"%s\" requires unsupported encoding \"%s\"\n"
 msgstr "%s: Locale „%s“ benötigt nicht unterstützte Kodierung „%s“\n"
 
-#: initdb.c:2898
+#: initdb.c:2900
 #, c-format
 msgid ""
 "Encoding \"%s\" is not allowed as a server-side encoding.\n"
@@ -782,57 +782,57 @@ msgstr ""
 "Kodierung „%s“ ist nicht als serverseitige Kodierung erlaubt.\n"
 "Starten Sie %s erneut mit einer anderen Locale-Wahl.\n"
 
-#: initdb.c:2907
+#: initdb.c:2909
 #, c-format
 msgid "The default database encoding has accordingly been set to \"%s\".\n"
 msgstr "Die Standarddatenbankkodierung wurde entsprechend auf „%s“ gesetzt.\n"
 
-#: initdb.c:2978
+#: initdb.c:2980
 #, c-format
 msgid "%s: could not find suitable text search configuration for locale \"%s\"\n"
 msgstr "%s: konnte keine passende Textsuchekonfiguration für Locale „%s“ finden\n"
 
-#: initdb.c:2989
+#: initdb.c:2991
 #, c-format
 msgid "%s: warning: suitable text search configuration for locale \"%s\" is unknown\n"
 msgstr "%s: Warnung: passende Textsuchekonfiguration für Locale „%s“ ist unbekannt\n"
 
-#: initdb.c:2994
+#: initdb.c:2996
 #, c-format
 msgid "%s: warning: specified text search configuration \"%s\" might not match locale \"%s\"\n"
 msgstr "%s: Warnung: angegebene Textsuchekonfiguration „%s“ passt möglicherweise nicht zur Locale „%s“\n"
 
-#: initdb.c:2999
+#: initdb.c:3001
 #, c-format
 msgid "The default text search configuration will be set to \"%s\".\n"
 msgstr "Die Standardtextsuchekonfiguration wird auf „%s“ gesetzt.\n"
 
-#: initdb.c:3043 initdb.c:3129
+#: initdb.c:3045 initdb.c:3131
 #, c-format
 msgid "creating directory %s ... "
 msgstr "erzeuge Verzeichnis %s ... "
 
-#: initdb.c:3049 initdb.c:3135 initdb.c:3203 initdb.c:3259
+#: initdb.c:3051 initdb.c:3137 initdb.c:3205 initdb.c:3261
 #, c-format
 msgid "%s: could not create directory \"%s\": %s\n"
 msgstr "%s: konnte Verzeichnis „%s“ nicht erzeugen: %s\n"
 
-#: initdb.c:3061 initdb.c:3147
+#: initdb.c:3063 initdb.c:3149
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "berichtige Zugriffsrechte des bestehenden Verzeichnisses %s ... "
 
-#: initdb.c:3067 initdb.c:3153
+#: initdb.c:3069 initdb.c:3155
 #, c-format
 msgid "%s: could not change permissions of directory \"%s\": %s\n"
 msgstr "%s: konnte Rechte des Verzeichnisses „%s“ nicht ändern: %s\n"
 
-#: initdb.c:3082 initdb.c:3168
+#: initdb.c:3084 initdb.c:3170
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: Verzeichnis „%s“ existiert aber ist nicht leer\n"
 
-#: initdb.c:3088
+#: initdb.c:3090
 #, c-format
 msgid ""
 "If you want to create a new database system, either remove or empty\n"
@@ -843,17 +843,17 @@ msgstr ""
 "Sie das Verzeichnis „%s“ or führen Sie %s\n"
 "mit einem anderen Argument als „%s“ aus.\n"
 
-#: initdb.c:3096 initdb.c:3181 initdb.c:3532
+#: initdb.c:3098 initdb.c:3183 initdb.c:3534
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: konnte nicht auf Verzeichnis „%s“ zugreifen: %s\n"
 
-#: initdb.c:3120
+#: initdb.c:3122
 #, c-format
 msgid "%s: transaction log directory location must be an absolute path\n"
 msgstr "%s: Transaktionslogverzeichnis muss absoluten Pfad haben\n"
 
-#: initdb.c:3174
+#: initdb.c:3176
 #, c-format
 msgid ""
 "If you want to store the transaction log there, either\n"
@@ -862,27 +862,27 @@ msgstr ""
 "Wenn Sie dort den Transaktionslog ablegen wollen, entfernen oder leeren\n"
 "Sie das Verzeichnis „%s“.\n"
 
-#: initdb.c:3189
+#: initdb.c:3191
 #, c-format
 msgid "%s: could not create symbolic link \"%s\": %s\n"
 msgstr "%s: konnte symbolische Verknüpfung „%s“ nicht erzeugen: %s\n"
 
-#: initdb.c:3194
+#: initdb.c:3196
 #, c-format
 msgid "%s: symlinks are not supported on this platform"
 msgstr "%s: symbolische Verknüpfungen werden auf dieser Plattform nicht unterstützt"
 
-#: initdb.c:3218
+#: initdb.c:3220
 #, c-format
 msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point.\n"
 msgstr "Es enthält eine unsichtbare Datei (beginnt mit Punkt), vielleicht weil es ein Einhängepunkt ist.\n"
 
-#: initdb.c:3221
+#: initdb.c:3223
 #, c-format
 msgid "It contains a lost+found directory, perhaps due to it being a mount point.\n"
 msgstr "Es enthält ein Verzeichnis „lost+found“, vielleicht weil es ein Einhängepunkt ist.\n"
 
-#: initdb.c:3224
+#: initdb.c:3226
 #, c-format
 msgid ""
 "Using a mount point directly as the data directory is not recommended.\n"
@@ -891,36 +891,41 @@ msgstr ""
 "Einen Einhängepunkt direkt als Datenverzeichnis zu verwenden wird nicht empfohlen.\n"
 "Erzeugen Sie ein Unterverzeichnis unter dem Einhängepunkt.\n"
 
-#: initdb.c:3244
+#: initdb.c:3246
 #, c-format
 msgid "creating subdirectories ... "
 msgstr "erzeuge Unterverzeichnisse ... "
 
-#: initdb.c:3291
+#: initdb.c:3293
 msgid "performing post-bootstrap initialization ... "
 msgstr "führe Post-Bootstrap-Initialisierung durch ... "
 
-#: initdb.c:3442
+#: initdb.c:3444
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "Debug-Modus ist an.\n"
 
-#: initdb.c:3446
+#: initdb.c:3448
 #, c-format
 msgid "Running in noclean mode.  Mistakes will not be cleaned up.\n"
 msgstr "Noclean-Modus ist an. Bei Fehlern wird nicht aufgeräumt.\n"
 
-#: initdb.c:3517
+#: initdb.c:3519
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: zu viele Kommandozeilenargumente (das erste ist „%s“)\n"
 
-#: initdb.c:3543
+#: initdb.c:3545
 #, c-format
 msgid "%s: password prompt and password file cannot be specified together\n"
 msgstr "%s: Passwortprompt und Passwortdatei können nicht zusammen angegeben werden\n"
 
-#: initdb.c:3565
+#: initdb.c:3569
+#, c-format
+msgid "%s: superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"\n"
+msgstr "%s: Superuser-Name „%s“ nicht erlaubt; Rollennamen können nicht mit „pg_“ anfangen\n"
+
+#: initdb.c:3573
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -931,17 +936,17 @@ msgstr ""
 "„%s“ gehören. Diesem Benutzer muss auch der Serverprozess gehören.\n"
 "\n"
 
-#: initdb.c:3581
+#: initdb.c:3589
 #, c-format
 msgid "Data page checksums are enabled.\n"
 msgstr "Datenseitenprüfsummen sind eingeschaltet.\n"
 
-#: initdb.c:3583
+#: initdb.c:3591
 #, c-format
 msgid "Data page checksums are disabled.\n"
 msgstr "Datenseitenprüfsummen sind ausgeschaltet.\n"
 
-#: initdb.c:3592
+#: initdb.c:3600
 #, c-format
 msgid ""
 "\n"
@@ -952,7 +957,7 @@ msgstr ""
 "Synchronisation auf Festplatte übersprungen.\n"
 "Das Datenverzeichnis könnte verfälscht werden, falls das Betriebssystem abstürzt.\n"
 
-#: initdb.c:3601
+#: initdb.c:3609
 #, c-format
 msgid ""
 "\n"
diff --git a/src/bin/initdb/po/es.po b/src/bin/initdb/po/es.po
index 9690999d98cbb62564069ff872cf9a4edd1319a2..c187b8f5b6ca1208eb45f622b415175cb24f0f4e 100644
--- a/src/bin/initdb/po/es.po
+++ b/src/bin/initdb/po/es.po
@@ -11,14 +11,14 @@ msgstr ""
 "Project-Id-Version: initdb (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
+"PO-Revision-Date: 2016-05-24 10:42-0500\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -354,7 +354,7 @@ msgstr "%s: no se pudo cambiar los permisos de «%s»: %s\n"
 #: initdb.c:1444
 #, c-format
 msgid "running bootstrap script ... "
-msgstr ""
+msgstr "ejecutando script de inicio (bootstrap) ... "
 
 #: initdb.c:1460
 #, c-format
@@ -917,7 +917,7 @@ msgstr "creando subdirectorios ... "
 
 #: initdb.c:3291
 msgid "performing post-bootstrap initialization ... "
-msgstr ""
+msgstr "realizando inicialización post-bootstrap ... "
 
 #: initdb.c:3442
 #, c-format
diff --git a/src/bin/initdb/po/ru.po b/src/bin/initdb/po/ru.po
index 4e0ce7b58590dc76ed50f2cb2e042ec6032cff8a..470fea5a141ecf33f4a4b2edbaa8c336af645091 100644
--- a/src/bin/initdb/po/ru.po
+++ b/src/bin/initdb/po/ru.po
@@ -27,7 +27,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-07-22 00:13+0000\n"
+"POT-Creation-Date: 2016-05-27 16:14+0000\n"
 "PO-Revision-Date: 2015-07-27 22:16+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
@@ -199,118 +199,118 @@ msgstr "дочерний процесс завершён по сигналу %d"
 msgid "child process exited with unrecognized status %d"
 msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
 
-#: ../../port/dirmod.c:219
+#: ../../port/dirmod.c:221
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "не удалось создать связь для каталога \"%s\": %s\n"
 
-#: ../../port/dirmod.c:294
+#: ../../port/dirmod.c:298
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "не удалось получить связь для каталога \"%s\": %s\n"
 
-#: initdb.c:340
+#: initdb.c:349
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: нехватка памяти\n"
 
-#: initdb.c:450 initdb.c:1620
+#: initdb.c:459 initdb.c:1589
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: не удалось открыть файл \"%s\" для чтения: %s\n"
 
-#: initdb.c:506 initdb.c:1016 initdb.c:1044
+#: initdb.c:515 initdb.c:1002 initdb.c:1030
 #, c-format
 msgid "%s: could not open file \"%s\" for writing: %s\n"
 msgstr "%s: не удалось открыть файл \"%s\" для записи: %s\n"
 
-#: initdb.c:514 initdb.c:522 initdb.c:1023 initdb.c:1050
+#: initdb.c:523 initdb.c:531 initdb.c:1009 initdb.c:1036
 #, c-format
 msgid "%s: could not write file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл \"%s\": %s\n"
 
-#: initdb.c:553
+#: initdb.c:562
 #, c-format
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: не удалось открыть каталог \"%s\": %s\n"
 
-#: initdb.c:577 initdb.c:2424
+#: initdb.c:586 initdb.c:2336
 #, c-format
 msgid "%s: could not stat file \"%s\": %s\n"
 msgstr "%s: не удалось получить информацию о файле \"%s\": %s\n"
 
-#: initdb.c:589
+#: initdb.c:598
 #, c-format
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: не удалось прочитать каталог \"%s\": %s\n"
 
-#: initdb.c:622 initdb.c:681
+#: initdb.c:631 initdb.c:690
 #, c-format
 msgid "%s: could not open file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл \"%s\": %s\n"
 
-#: initdb.c:693
+#: initdb.c:702
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: не удалось синхронизировать с ФС файл \"%s\": %s\n"
 
-#: initdb.c:712
+#: initdb.c:721
 #, c-format
 msgid "%s: could not execute command \"%s\": %s\n"
 msgstr "%s: не удалось выполнить команду \"%s\": %s\n"
 
-#: initdb.c:728
+#: initdb.c:737
 #, c-format
 msgid "%s: removing data directory \"%s\"\n"
 msgstr "%s: удаление каталога данных \"%s\"\n"
 
-#: initdb.c:731
+#: initdb.c:740
 #, c-format
 msgid "%s: failed to remove data directory\n"
 msgstr "%s: ошибка при удалении каталога данных\n"
 
-#: initdb.c:737
+#: initdb.c:746
 #, c-format
 msgid "%s: removing contents of data directory \"%s\"\n"
 msgstr "%s: удаление содержимого каталога данных \"%s\"\n"
 
-#: initdb.c:740
+#: initdb.c:749
 #, c-format
 msgid "%s: failed to remove contents of data directory\n"
 msgstr "%s: ошибка при удалении содержимого каталога данных\n"
 
-#: initdb.c:746
+#: initdb.c:755
 #, c-format
 msgid "%s: removing transaction log directory \"%s\"\n"
 msgstr "%s: удаление каталога журнала транзакций \"%s\"\n"
 
-#: initdb.c:749
+#: initdb.c:758
 #, c-format
 msgid "%s: failed to remove transaction log directory\n"
 msgstr "%s: ошибка при удалении каталога журнала транзакций\n"
 
-#: initdb.c:755
+#: initdb.c:764
 #, c-format
 msgid "%s: removing contents of transaction log directory \"%s\"\n"
 msgstr "%s: очистка каталога журнала транзакций \"%s\"\n"
 
-#: initdb.c:758
+#: initdb.c:767
 #, c-format
 msgid "%s: failed to remove contents of transaction log directory\n"
 msgstr "%s: ошибка при очистке каталога журнала транзакций\n"
 
-#: initdb.c:767
+#: initdb.c:776
 #, c-format
 msgid "%s: data directory \"%s\" not removed at user's request\n"
 msgstr "%s: каталог данных \"%s\" не был удалён по запросу пользователя\n"
 
-#: initdb.c:772
+#: initdb.c:781
 #, c-format
 msgid "%s: transaction log directory \"%s\" not removed at user's request\n"
 msgstr ""
 "%s: каталог журнала транзакций \"%s\" не был удалён по запросу пользователя\n"
 
-#: initdb.c:793
+#: initdb.c:802
 #, c-format
 msgid ""
 "%s: cannot be run as root\n"
@@ -321,22 +321,17 @@ msgstr ""
 "Пожалуйста, переключитесь на обычного пользователя (например,\n"
 "используя \"su\"), который будет запускать серверный процесс.\n"
 
-#: initdb.c:829
+#: initdb.c:838
 #, c-format
 msgid "%s: \"%s\" is not a valid server encoding name\n"
 msgstr "%s: \"%s\" - неверное имя серверной кодировки\n"
 
-#: initdb.c:943 initdb.c:3217
-#, c-format
-msgid "%s: could not create directory \"%s\": %s\n"
-msgstr "%s: не удалось создать каталог \"%s\": %s\n"
-
-#: initdb.c:972
+#: initdb.c:958
 #, c-format
 msgid "%s: file \"%s\" does not exist\n"
 msgstr "%s: файл \"%s\" не существует\n"
 
-#: initdb.c:974 initdb.c:983 initdb.c:993
+#: initdb.c:960 initdb.c:969 initdb.c:979
 #, c-format
 msgid ""
 "This might mean you have a corrupted installation or identified\n"
@@ -345,46 +340,46 @@ msgstr ""
 "Это означает, что ваша установка PostgreSQL испорчена или в параметре -L\n"
 "задан неправильный каталог.\n"
 
-#: initdb.c:980
+#: initdb.c:966
 #, c-format
 msgid "%s: could not access file \"%s\": %s\n"
 msgstr "%s: нет доступа к файлу \"%s\": %s\n"
 
-#: initdb.c:991
+#: initdb.c:977
 #, c-format
 msgid "%s: file \"%s\" is not a regular file\n"
 msgstr "%s: \"%s\" - не обычный файл\n"
 
-#: initdb.c:1136
+#: initdb.c:1122
 #, c-format
 msgid "selecting default max_connections ... "
 msgstr "выбирается значение max_connections... "
 
-#: initdb.c:1166
+#: initdb.c:1152
 #, c-format
 msgid "selecting default shared_buffers ... "
 msgstr "выбирается значение shared_buffers... "
 
-#: initdb.c:1199
+#: initdb.c:1185
 #, c-format
 msgid "selecting dynamic shared memory implementation ... "
 msgstr "выбор реализации динамической разделяемой памяти ... "
 
-#: initdb.c:1217
+#: initdb.c:1203
 msgid "creating configuration files ... "
 msgstr "создание конфигурационных файлов... "
 
-#: initdb.c:1314 initdb.c:1334 initdb.c:1418 initdb.c:1434
+#: initdb.c:1300 initdb.c:1320 initdb.c:1404 initdb.c:1420
 #, c-format
 msgid "%s: could not change permissions of \"%s\": %s\n"
 msgstr "%s: не удалось поменять права для \"%s\": %s\n"
 
-#: initdb.c:1458
+#: initdb.c:1444
 #, c-format
-msgid "creating template1 database in %s/base/1 ... "
-msgstr "создание базы template1 в %s/base/1... "
+msgid "running bootstrap script ... "
+msgstr "выполняется подготовительный скрипт ... "
 
-#: initdb.c:1474
+#: initdb.c:1460
 #, c-format
 msgid ""
 "%s: input file \"%s\" does not belong to PostgreSQL %s\n"
@@ -393,158 +388,96 @@ msgstr ""
 "%s: входной файл \"%s\" не принадлежит PostgreSQL %s\n"
 "Проверьте вашу установку или укажите правильный путь в параметре -L.\n"
 
-#: initdb.c:1561
-msgid "initializing pg_authid ... "
-msgstr "инициализация pg_authid... "
-
-#: initdb.c:1595
+#: initdb.c:1564
 msgid "Enter new superuser password: "
 msgstr "Введите новый пароль суперпользователя: "
 
-#: initdb.c:1596
+#: initdb.c:1565
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: initdb.c:1599
+#: initdb.c:1568
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
-#: initdb.c:1627
+#: initdb.c:1596
 #, c-format
 msgid "%s: could not read password from file \"%s\": %s\n"
 msgstr "%s: не удалось прочитать пароль из файла \"%s\": %s\n"
 
-#: initdb.c:1630
+#: initdb.c:1599
 #, c-format
 msgid "%s: password file \"%s\" is empty\n"
 msgstr "%s: файл пароля \"%s\" пуст\n"
 
-#: initdb.c:1643
-#, c-format
-msgid "setting password ... "
-msgstr "установка пароля... "
-
-#: initdb.c:1743
-msgid "initializing dependencies ... "
-msgstr "инициализация зависимостей... "
-
-#: initdb.c:1771
-msgid "creating system views ... "
-msgstr "создание системных представлений... "
-
-#: initdb.c:1807
-msgid "loading system objects' descriptions ... "
-msgstr "загрузка описаний системных объектов... "
-
-#: initdb.c:1913
-msgid "creating collations ... "
-msgstr "создание правил сортировки... "
-
-#: initdb.c:1946
+#: initdb.c:1847
 #, c-format
 msgid "%s: locale name too long, skipped: \"%s\"\n"
 msgstr "%s: слишком длинное имя локали, пропущено: \"%s\"\n"
 
-#: initdb.c:1971
+#: initdb.c:1872
 #, c-format
 msgid "%s: locale name has non-ASCII characters, skipped: \"%s\"\n"
 msgstr "%s: имя локали содержит не ASCII-символы, пропущено: \"%s\"\n"
 
-#: initdb.c:2040
+#: initdb.c:1945
 #, c-format
 msgid "No usable system locales were found.\n"
 msgstr "Пригодные локали в системе не найдены.\n"
 
-#: initdb.c:2041
+#: initdb.c:1946
 #, c-format
 msgid "Use the option \"--debug\" to see details.\n"
 msgstr "Добавьте параметр \"--debug\", чтобы узнать подробности.\n"
 
-#: initdb.c:2044
-#, c-format
-msgid "not supported on this platform\n"
-msgstr "не поддерживается в этой ОС\n"
-
-#: initdb.c:2059
-msgid "creating conversions ... "
-msgstr "создание преобразований... "
-
-#: initdb.c:2094
-msgid "creating dictionaries ... "
-msgstr "создание словарей... "
-
-#: initdb.c:2148
-msgid "setting privileges on built-in objects ... "
-msgstr "установка прав для встроенных объектов... "
-
-#: initdb.c:2206
-msgid "creating information schema ... "
-msgstr "создание информационной схемы... "
-
-#: initdb.c:2262
-msgid "loading PL/pgSQL server-side language ... "
-msgstr "загрузка серверного языка PL/pgSQL... "
-
-#: initdb.c:2287
-msgid "vacuuming database template1 ... "
-msgstr "очистка базы данных template1... "
-
-#: initdb.c:2340
-msgid "copying template1 to template0 ... "
-msgstr "копирование template1 в template0... "
-
-#: initdb.c:2372
-msgid "copying template1 to postgres ... "
-msgstr "копирование template1 в postgres... "
-
-#: initdb.c:2407
+#: initdb.c:2319
 msgid "syncing data to disk ... "
 msgstr "сохранение данных на диске... "
 
-#: initdb.c:2501
+#: initdb.c:2413
 #, c-format
 msgid "caught signal\n"
 msgstr "получен сигнал\n"
 
-#: initdb.c:2507
+#: initdb.c:2419
 #, c-format
 msgid "could not write to child process: %s\n"
 msgstr "не удалось записать в поток дочернего процесса: %s\n"
 
-#: initdb.c:2515
+#: initdb.c:2427
 #, c-format
 msgid "ok\n"
 msgstr "ок\n"
 
-#: initdb.c:2605
+#: initdb.c:2517
 #, c-format
 msgid "%s: setlocale() failed\n"
 msgstr "%s: ошибка в setlocale()\n"
 
-#: initdb.c:2623
+#: initdb.c:2535
 #, c-format
 msgid "%s: failed to restore old locale \"%s\"\n"
 msgstr "%s: не удалось восстановить старую локаль \"%s\"\n"
 
-#: initdb.c:2633
+#: initdb.c:2545
 #, c-format
 msgid "%s: invalid locale name \"%s\"\n"
 msgstr "%s: ошибочное имя локали \"%s\"\n"
 
-#: initdb.c:2645
+#: initdb.c:2557
 #, c-format
 msgid ""
 "%s: invalid locale settings; check LANG and LC_* environment variables\n"
 msgstr ""
 "%s: неверные настройки локали; проверьте переменные окружения LANG и LC_*\n"
 
-#: initdb.c:2673
+#: initdb.c:2585
 #, c-format
 msgid "%s: encoding mismatch\n"
 msgstr "%s: несоответствие кодировки\n"
 
-#: initdb.c:2675
+#: initdb.c:2587
 #, c-format
 msgid ""
 "The encoding you selected (%s) and the encoding that the\n"
@@ -559,7 +492,7 @@ msgstr ""
 "Для исправления перезапустите %s, не указывая кодировку явно, \n"
 "либо выберите подходящее сочетание параметров локализации.\n"
 
-#: initdb.c:2747
+#: initdb.c:2659
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -568,17 +501,17 @@ msgstr ""
 "%s инициализирует кластер PostgreSQL.\n"
 "\n"
 
-#: initdb.c:2748
+#: initdb.c:2660
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: initdb.c:2749
+#: initdb.c:2661
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [ПАРАМЕТР]... [КАТАЛОГ]\n"
 
-#: initdb.c:2750
+#: initdb.c:2662
 #, c-format
 msgid ""
 "\n"
@@ -587,7 +520,7 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: initdb.c:2751
+#: initdb.c:2663
 #, c-format
 msgid ""
 "  -A, --auth=METHOD         default authentication method for local "
@@ -596,7 +529,7 @@ msgstr ""
 "  -A, --auth=МЕТОД          метод проверки подлинности по умолчанию\n"
 "                            для локальных подключений\n"
 
-#: initdb.c:2752
+#: initdb.c:2664
 #, c-format
 msgid ""
 "      --auth-host=METHOD    default authentication method for local TCP/IP "
@@ -605,7 +538,7 @@ msgstr ""
 "      --auth-host=МЕТОД     метод проверки подлинности по умолчанию\n"
 "                            для локальных TCP/IP-подключений\n"
 
-#: initdb.c:2753
+#: initdb.c:2665
 #, c-format
 msgid ""
 "      --auth-local=METHOD   default authentication method for local-socket "
@@ -614,22 +547,22 @@ msgstr ""
 "      --auth-local=МЕТОД    метод проверки подлинности по умолчанию\n"
 "                            для локальных подключений через сокет\n"
 
-#: initdb.c:2754
+#: initdb.c:2666
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr " [-D, --pgdata=]КАТАЛОГ     расположение данных этого кластера БД\n"
 
-#: initdb.c:2755
+#: initdb.c:2667
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=КОДИРОВКА  кодировка по умолчанию для новых баз\n"
 
-#: initdb.c:2756
+#: initdb.c:2668
 #, c-format
 msgid "      --locale=LOCALE       set default locale for new databases\n"
 msgstr "      --locale=ЛОКАЛЬ       локаль по умолчанию для новых баз\n"
 
-#: initdb.c:2757
+#: initdb.c:2669
 #, c-format
 msgid ""
 "      --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
@@ -643,19 +576,19 @@ msgstr ""
 "                            установить соответствующий параметр локали\n"
 "                            для новых баз (вместо значения из окружения)\n"
 
-#: initdb.c:2761
+#: initdb.c:2673
 #, c-format
 msgid "      --no-locale           equivalent to --locale=C\n"
 msgstr "      --no-locale           эквивалентно --locale=C\n"
 
-#: initdb.c:2762
+#: initdb.c:2674
 #, c-format
 msgid ""
 "      --pwfile=FILE         read password for the new superuser from file\n"
 msgstr ""
 "      --pwfile=ФАЙЛ         прочитать пароль суперпользователя из файла\n"
 
-#: initdb.c:2763
+#: initdb.c:2675
 #, c-format
 msgid ""
 "  -T, --text-search-config=CFG\n"
@@ -664,24 +597,24 @@ msgstr ""
 "  -T, --text-search-config=КОНФИГУРАЦИЯ\n"
 "                            конфигурация текстового поиска по умолчанию\n"
 
-#: initdb.c:2765
+#: initdb.c:2677
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=ИМЯ        имя суперпользователя БД\n"
 
-#: initdb.c:2766
+#: initdb.c:2678
 #, c-format
 msgid ""
 "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            запросить пароль суперпользователя\n"
 
-#: initdb.c:2767
+#: initdb.c:2679
 #, c-format
 msgid ""
 "  -X, --xlogdir=XLOGDIR     location for the transaction log directory\n"
 msgstr "  -X, --xlogdir=КАТАЛОГ     расположение журнала транзакций\n"
 
-#: initdb.c:2768
+#: initdb.c:2680
 #, c-format
 msgid ""
 "\n"
@@ -690,27 +623,27 @@ msgstr ""
 "\n"
 "Редко используемые параметры:\n"
 
-#: initdb.c:2769
+#: initdb.c:2681
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               выдавать много отладочных сообщений\n"
 
-#: initdb.c:2770
+#: initdb.c:2682
 #, c-format
 msgid "  -k, --data-checksums      use data page checksums\n"
 msgstr "  -k, --data-checksums      включить контроль целостности страниц\n"
 
-#: initdb.c:2771
+#: initdb.c:2683
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L КАТАЛОГ                расположение входных файлов\n"
 
-#: initdb.c:2772
+#: initdb.c:2684
 #, c-format
 msgid "  -n, --noclean             do not clean up after errors\n"
 msgstr "  -n, --noclean             не очищать после ошибок\n"
 
-#: initdb.c:2773
+#: initdb.c:2685
 #, c-format
 msgid ""
 "  -N, --nosync              do not wait for changes to be written safely to "
@@ -718,18 +651,18 @@ msgid ""
 msgstr ""
 "  -N, --nosync              не ждать завершения сохранения данных на диске\n"
 
-#: initdb.c:2774
+#: initdb.c:2686
 #, c-format
 msgid "  -s, --show                show internal settings\n"
 msgstr "  -s, --show                показать внутренние настройки\n"
 
-#: initdb.c:2775
+#: initdb.c:2687
 #, c-format
 msgid "  -S, --sync-only           only sync data directory\n"
 msgstr ""
 "  -S, --sync-only           только синхронизировать с ФС каталог данных\n"
 
-#: initdb.c:2776
+#: initdb.c:2688
 #, c-format
 msgid ""
 "\n"
@@ -738,17 +671,17 @@ msgstr ""
 "\n"
 "Другие параметры:\n"
 
-#: initdb.c:2777
+#: initdb.c:2689
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             показать версию и выйти\n"
 
-#: initdb.c:2778
+#: initdb.c:2690
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                показать эту справку и выйти\n"
 
-#: initdb.c:2779
+#: initdb.c:2691
 #, c-format
 msgid ""
 "\n"
@@ -758,7 +691,7 @@ msgstr ""
 "\n"
 "Если каталог данных не указан, используется переменная окружения PGDATA.\n"
 
-#: initdb.c:2781
+#: initdb.c:2693
 #, c-format
 msgid ""
 "\n"
@@ -767,7 +700,7 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: initdb.c:2789
+#: initdb.c:2701
 msgid ""
 "\n"
 "WARNING: enabling \"trust\" authentication for local connections\n"
@@ -781,20 +714,20 @@ msgstr ""
 "A,\n"
 "--auth-local или --auth-host при следующем выполнении initdb.\n"
 
-#: initdb.c:2811
+#: initdb.c:2723
 #, c-format
 msgid "%s: invalid authentication method \"%s\" for \"%s\" connections\n"
 msgstr ""
 "%s: нераспознанный метод проверки подлинности \"%s\" для подключений \"%s\"\n"
 
-#: initdb.c:2825
+#: initdb.c:2737
 #, c-format
 msgid ""
 "%s: must specify a password for the superuser to enable %s authentication\n"
 msgstr ""
 "%s: для применения метода %s необходимо указать пароль суперпользователя\n"
 
-#: initdb.c:2852
+#: initdb.c:2764
 #, c-format
 msgid ""
 "%s: no data directory specified\n"
@@ -807,7 +740,7 @@ msgstr ""
 "Это можно сделать, добавив ключ -D или установив переменную\n"
 "окружения PGDATA.\n"
 
-#: initdb.c:2890
+#: initdb.c:2802
 #, c-format
 msgid ""
 "The program \"postgres\" is needed by %s but was not found in the\n"
@@ -818,7 +751,7 @@ msgstr ""
 "в каталоге \"%s\".\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: initdb.c:2897
+#: initdb.c:2809
 #, c-format
 msgid ""
 "The program \"postgres\" was found by \"%s\"\n"
@@ -829,17 +762,17 @@ msgstr ""
 "но её версия отличается от версии %s.\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: initdb.c:2916
+#: initdb.c:2828
 #, c-format
 msgid "%s: input file location must be an absolute path\n"
 msgstr "%s: расположение входных файлов должно задаваться абсолютным путём\n"
 
-#: initdb.c:2935
+#: initdb.c:2847
 #, c-format
 msgid "The database cluster will be initialized with locale \"%s\".\n"
 msgstr "Кластер баз данных будет инициализирован с локалью \"%s\".\n"
 
-#: initdb.c:2938
+#: initdb.c:2850
 #, c-format
 msgid ""
 "The database cluster will be initialized with locales\n"
@@ -858,22 +791,22 @@ msgstr ""
 "  NUMERIC:  %s\n"
 "  TIME:     %s\n"
 
-#: initdb.c:2962
+#: initdb.c:2874
 #, c-format
 msgid "%s: could not find suitable encoding for locale \"%s\"\n"
 msgstr "%s: не удалось найти подходящую кодировку для локали \"%s\"\n"
 
-#: initdb.c:2964
+#: initdb.c:2876
 #, c-format
 msgid "Rerun %s with the -E option.\n"
 msgstr "Перезапустите %s с параметром -E.\n"
 
-#: initdb.c:2965 initdb.c:3541 initdb.c:3562
+#: initdb.c:2877 initdb.c:3500 initdb.c:3521
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: initdb.c:2977
+#: initdb.c:2889
 #, c-format
 msgid ""
 "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n"
@@ -882,12 +815,12 @@ msgstr ""
 "Кодировка \"%s\", подразумеваемая локалью, не годится для сервера.\n"
 "Вместо неё в качестве кодировки БД по умолчанию будет выбрана \"%s\".\n"
 
-#: initdb.c:2985
+#: initdb.c:2897
 #, c-format
 msgid "%s: locale \"%s\" requires unsupported encoding \"%s\"\n"
 msgstr "%s: для локали \"%s\" требуется неподдерживаемая кодировка \"%s\"\n"
 
-#: initdb.c:2988
+#: initdb.c:2900
 #, c-format
 msgid ""
 "Encoding \"%s\" is not allowed as a server-side encoding.\n"
@@ -896,13 +829,13 @@ msgstr ""
 "Кодировка \"%s\" недопустима в качестве кодировки сервера.\n"
 "Перезапустите %s, выбрав другую локаль.\n"
 
-#: initdb.c:2997
+#: initdb.c:2909
 #, c-format
 msgid "The default database encoding has accordingly been set to \"%s\".\n"
 msgstr ""
 "Кодировка БД по умолчанию, выбранная в соответствии с настройками: \"%s\".\n"
 
-#: initdb.c:3068
+#: initdb.c:2980
 #, c-format
 msgid ""
 "%s: could not find suitable text search configuration for locale \"%s\"\n"
@@ -910,7 +843,7 @@ msgstr ""
 "%s: не удалось найти подходящую конфигурацию текстового поиска для локали "
 "\"%s\"\n"
 
-#: initdb.c:3079
+#: initdb.c:2991
 #, c-format
 msgid ""
 "%s: warning: suitable text search configuration for locale \"%s\" is "
@@ -919,7 +852,7 @@ msgstr ""
 "%s: внимание: для локали \"%s\" нет известной конфигурации текстового "
 "поиска\n"
 
-#: initdb.c:3084
+#: initdb.c:2996
 #, c-format
 msgid ""
 "%s: warning: specified text search configuration \"%s\" might not match "
@@ -928,32 +861,37 @@ msgstr ""
 "%s: внимание: указанная конфигурация текстового поиска \"%s\" может не "
 "соответствовать локали \"%s\"\n"
 
-#: initdb.c:3089
+#: initdb.c:3001
 #, c-format
 msgid "The default text search configuration will be set to \"%s\".\n"
 msgstr "Выбрана конфигурация текстового поиска по умолчанию \"%s\".\n"
 
-#: initdb.c:3133 initdb.c:3211
+#: initdb.c:3045 initdb.c:3131
 #, c-format
 msgid "creating directory %s ... "
 msgstr "создание каталога %s... "
 
-#: initdb.c:3147 initdb.c:3229
+#: initdb.c:3051 initdb.c:3137 initdb.c:3205 initdb.c:3261
+#, c-format
+msgid "%s: could not create directory \"%s\": %s\n"
+msgstr "%s: не удалось создать каталог \"%s\": %s\n"
+
+#: initdb.c:3063 initdb.c:3149
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "исправление прав для существующего каталога %s... "
 
-#: initdb.c:3153 initdb.c:3235
+#: initdb.c:3069 initdb.c:3155
 #, c-format
 msgid "%s: could not change permissions of directory \"%s\": %s\n"
 msgstr "%s: не удалось поменять права для каталога \"%s\": %s\n"
 
-#: initdb.c:3168 initdb.c:3250
+#: initdb.c:3084 initdb.c:3170
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: каталог \"%s\" существует, но он не пуст\n"
 
-#: initdb.c:3174
+#: initdb.c:3090
 #, c-format
 msgid ""
 "If you want to create a new database system, either remove or empty\n"
@@ -964,19 +902,19 @@ msgstr ""
 "удалите или очистите каталог \"%s\",\n"
 "либо при запуске %s в качестве пути укажите не \"%s\".\n"
 
-#: initdb.c:3182 initdb.c:3263 initdb.c:3575
+#: initdb.c:3098 initdb.c:3183 initdb.c:3534
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: нет доступа к каталогу \"%s\": %s\n"
 
-#: initdb.c:3202
+#: initdb.c:3122
 #, c-format
 msgid "%s: transaction log directory location must be an absolute path\n"
 msgstr ""
 "%s: расположение каталога журнала транзакций должно определяться абсолютным "
 "путём\n"
 
-#: initdb.c:3256
+#: initdb.c:3176
 #, c-format
 msgid ""
 "If you want to store the transaction log there, either\n"
@@ -985,17 +923,17 @@ msgstr ""
 "Если вы хотите хранить журнал транзакций здесь,\n"
 "удалите или очистите каталог \"%s\".\n"
 
-#: initdb.c:3274
+#: initdb.c:3191
 #, c-format
 msgid "%s: could not create symbolic link \"%s\": %s\n"
 msgstr "%s: не удалось создать символическую ссылку \"%s\": %s\n"
 
-#: initdb.c:3279
+#: initdb.c:3196
 #, c-format
 msgid "%s: symlinks are not supported on this platform"
 msgstr "%s: символические ссылки не поддерживаются в этой ОС"
 
-#: initdb.c:3292
+#: initdb.c:3220
 #, c-format
 msgid ""
 "It contains a dot-prefixed/invisible file, perhaps due to it being a mount "
@@ -1003,13 +941,13 @@ msgid ""
 msgstr ""
 "Он содержит файл с точкой (невидимый), возможно это точка монтирования.\n"
 
-#: initdb.c:3295
+#: initdb.c:3223
 #, c-format
 msgid ""
 "It contains a lost+found directory, perhaps due to it being a mount point.\n"
 msgstr "Он содержит подкаталог lost+found, возможно это точка монтирования.\n"
 
-#: initdb.c:3298
+#: initdb.c:3226
 #, c-format
 msgid ""
 "Using a mount point directly as the data directory is not recommended.\n"
@@ -1019,34 +957,47 @@ msgstr ""
 "рекомендуется.\n"
 "Создайте в монтируемом ресурсе подкаталог и используйте его.\n"
 
-#: initdb.c:3317
+#: initdb.c:3246
 #, c-format
 msgid "creating subdirectories ... "
 msgstr "создание подкаталогов... "
 
-#: initdb.c:3485
+#: initdb.c:3293
+msgid "performing post-bootstrap initialization ... "
+msgstr "выполняется заключительная инициализация ... "
+
+#: initdb.c:3444
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "Программа запущена в режиме отладки.\n"
 
-#: initdb.c:3489
+#: initdb.c:3448
 #, c-format
 msgid "Running in noclean mode.  Mistakes will not be cleaned up.\n"
 msgstr ""
 "Программа запущена в режим 'noclean' - очистки и исправления ошибок не "
 "будет.\n"
 
-#: initdb.c:3560
+#: initdb.c:3519
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: initdb.c:3586
+#: initdb.c:3545
 #, c-format
 msgid "%s: password prompt and password file cannot be specified together\n"
 msgstr "%s: нельзя одновременно запросить пароль и прочитать пароль из файла\n"
 
-#: initdb.c:3608
+#: initdb.c:3569
+#, c-format
+msgid ""
+"%s: superuser name \"%s\" is disallowed; role names cannot begin with \"pg_"
+"\"\n"
+msgstr ""
+"%s: имя \"%s\" для суперпользователя не допускается; имена ролей не могут "
+"начинаться с \"pg_\"\n"
+
+#: initdb.c:3573
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -1057,17 +1008,17 @@ msgstr ""
 "От его имени также будет запускаться процесс сервера.\n"
 "\n"
 
-#: initdb.c:3624
+#: initdb.c:3589
 #, c-format
 msgid "Data page checksums are enabled.\n"
 msgstr "Контроль целостности страниц данных включен.\n"
 
-#: initdb.c:3626
+#: initdb.c:3591
 #, c-format
 msgid "Data page checksums are disabled.\n"
 msgstr "Контроль целостности страниц данных отключен.\n"
 
-#: initdb.c:3635
+#: initdb.c:3600
 #, c-format
 msgid ""
 "\n"
@@ -1078,7 +1029,7 @@ msgstr ""
 "Сохранение данных на диск пропускается.\n"
 "Каталог данных может повредиться при сбое операционной системы.\n"
 
-#: initdb.c:3644
+#: initdb.c:3609
 #, c-format
 msgid ""
 "\n"
@@ -1093,6 +1044,54 @@ msgstr ""
 "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n"
 "\n"
 
+#~ msgid "creating template1 database in %s/base/1 ... "
+#~ msgstr "создание базы template1 в %s/base/1... "
+
+#~ msgid "initializing pg_authid ... "
+#~ msgstr "инициализация pg_authid... "
+
+#~ msgid "setting password ... "
+#~ msgstr "установка пароля... "
+
+#~ msgid "initializing dependencies ... "
+#~ msgstr "инициализация зависимостей... "
+
+#~ msgid "creating system views ... "
+#~ msgstr "создание системных представлений... "
+
+#~ msgid "loading system objects' descriptions ... "
+#~ msgstr "загрузка описаний системных объектов... "
+
+#~ msgid "creating collations ... "
+#~ msgstr "создание правил сортировки... "
+
+#~ msgid "not supported on this platform\n"
+#~ msgstr "не поддерживается в этой ОС\n"
+
+#~ msgid "creating conversions ... "
+#~ msgstr "создание преобразований... "
+
+#~ msgid "creating dictionaries ... "
+#~ msgstr "создание словарей... "
+
+#~ msgid "setting privileges on built-in objects ... "
+#~ msgstr "установка прав для встроенных объектов... "
+
+#~ msgid "creating information schema ... "
+#~ msgstr "создание информационной схемы... "
+
+#~ msgid "loading PL/pgSQL server-side language ... "
+#~ msgstr "загрузка серверного языка PL/pgSQL... "
+
+#~ msgid "vacuuming database template1 ... "
+#~ msgstr "очистка базы данных template1... "
+
+#~ msgid "copying template1 to template0 ... "
+#~ msgstr "копирование template1 в template0... "
+
+#~ msgid "copying template1 to postgres ... "
+#~ msgstr "копирование template1 в postgres... "
+
 #~ msgid "%s: could not close directory \"%s\": %s\n"
 #~ msgstr "%s: не удалось закрыть каталог \"%s\": %s\n"
 
diff --git a/src/bin/initdb/po/zh_CN.po b/src/bin/initdb/po/zh_CN.po
index b7cc497013e84c6b296c202d1a1ae6428152b83e..3c131633dc68ccc271463fdf4dfc06925f6656b9 100644
--- a/src/bin/initdb/po/zh_CN.po
+++ b/src/bin/initdb/po/zh_CN.po
@@ -6,10 +6,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: initdb (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:43+0000\n"
-"PO-Revision-Date: 2016-01-03 23:26-0500\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-05-19 20:39+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -174,117 +174,117 @@ msgstr "子进程被信号 %d 终止"
 msgid "child process exited with unrecognized status %d"
 msgstr "子进程已退出, 未知状态 %d"
 
-#: ../../port/dirmod.c:219
+#: ../../port/dirmod.c:221
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "无法为 \"%s\"设置连接: %s\n"
 
-#: ../../port/dirmod.c:294
+#: ../../port/dirmod.c:298
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "无法为\"%s\"得到连接: %s\n"
 
-#: initdb.c:340
+#: initdb.c:349
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 内存溢出\n"
 
-#: initdb.c:450 initdb.c:1620
+#: initdb.c:459 initdb.c:1589
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: 为了读取, 无法打开文件 \"%s\": %s\n"
 
-#: initdb.c:506 initdb.c:1016 initdb.c:1044
+#: initdb.c:515 initdb.c:1002 initdb.c:1030
 #, c-format
 msgid "%s: could not open file \"%s\" for writing: %s\n"
 msgstr "%s: 为了写, 无法打开文件 \"%s\": %s\n"
 
-#: initdb.c:514 initdb.c:522 initdb.c:1023 initdb.c:1050
+#: initdb.c:523 initdb.c:531 initdb.c:1009 initdb.c:1036
 #, c-format
 msgid "%s: could not write file \"%s\": %s\n"
 msgstr "%s: 无法写文件 \"%s\": %s\n"
 
-#: initdb.c:553
+#: initdb.c:562
 #, c-format
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: 无法打开目录 \"%s\": %s\n"
 
-#: initdb.c:577 initdb.c:2424
+#: initdb.c:586 initdb.c:2334
 #, c-format
 msgid "%s: could not stat file \"%s\": %s\n"
 msgstr "%s: 无法统计文件: \"%s\": %s\n"
 
-#: initdb.c:589
+#: initdb.c:598
 #, c-format
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: 无法读取目录 \"%s\": %s\n"
 
-#: initdb.c:622 initdb.c:681
+#: initdb.c:631 initdb.c:690
 #, c-format
 msgid "%s: could not open file \"%s\": %s\n"
 msgstr "%s: 无法打开文件 \"%s\": %s\n"
 
-#: initdb.c:693
+#: initdb.c:702
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: 无法对文件 \"%s\"进行fsync同步: %s\n"
 
-#: initdb.c:712
+#: initdb.c:721
 #, c-format
 msgid "%s: could not execute command \"%s\": %s\n"
 msgstr "%s: 无法执行命令 \"%s\": %s\n"
 
-#: initdb.c:728
+#: initdb.c:737
 #, c-format
 msgid "%s: removing data directory \"%s\"\n"
 msgstr "%s: 删除数据目录 \"%s\"\n"
 
-#: initdb.c:731
+#: initdb.c:740
 #, c-format
 msgid "%s: failed to remove data directory\n"
 msgstr "%s: 删除数据目录失败\n"
 
-#: initdb.c:737
+#: initdb.c:746
 #, c-format
 msgid "%s: removing contents of data directory \"%s\"\n"
 msgstr "%s: 删除数据目录 \"%s\" 的内容\n"
 
-#: initdb.c:740
+#: initdb.c:749
 #, c-format
 msgid "%s: failed to remove contents of data directory\n"
 msgstr "%s: 删除数据目录内容失败\n"
 
-#: initdb.c:746
+#: initdb.c:755
 #, c-format
 msgid "%s: removing transaction log directory \"%s\"\n"
 msgstr "%s: 正在删除事务日志文件目录 \"%s\"\n"
 
-#: initdb.c:749
+#: initdb.c:758
 #, c-format
 msgid "%s: failed to remove transaction log directory\n"
 msgstr "%s: 删除数据目录失败\n"
 
-#: initdb.c:755
+#: initdb.c:764
 #, c-format
 msgid "%s: removing contents of transaction log directory \"%s\"\n"
 msgstr "%s: 删除事务日志目录 \"%s\" 的内容\n"
 
-#: initdb.c:758
+#: initdb.c:767
 #, c-format
 msgid "%s: failed to remove contents of transaction log directory\n"
 msgstr "%s: 删除事务日志目录的内容失败\n"
 
-#: initdb.c:767
+#: initdb.c:776
 #, c-format
 msgid "%s: data directory \"%s\" not removed at user's request\n"
 msgstr "%s: 在用户的要求下数据库目录 \"%s\" 不被删除\n"
 
-#: initdb.c:772
+#: initdb.c:781
 #, c-format
 msgid "%s: transaction log directory \"%s\" not removed at user's request\n"
 msgstr "%s: 在用户的要求下不删除事务日志目录 \"%s\"\n"
 
-#: initdb.c:793
+#: initdb.c:802
 #, c-format
 msgid ""
 "%s: cannot be run as root\n"
@@ -295,22 +295,17 @@ msgstr ""
 "请以服务器进程所有者的用户 (无特权) 身份\n"
 "登陆 (使用, e.g., \"su\").\n"
 
-#: initdb.c:829
+#: initdb.c:838
 #, c-format
 msgid "%s: \"%s\" is not a valid server encoding name\n"
 msgstr "%s: \"%s\" 不是一个有效的服务器编码名字\n"
 
-#: initdb.c:943 initdb.c:3217
-#, c-format
-msgid "%s: could not create directory \"%s\": %s\n"
-msgstr "%s: 无法创建目录 \"%s\": %s\n"
-
-#: initdb.c:972
+#: initdb.c:958
 #, c-format
 msgid "%s: file \"%s\" does not exist\n"
 msgstr "%s: 文件 \"%s\" 不存在\n"
 
-#: initdb.c:974 initdb.c:983 initdb.c:993
+#: initdb.c:960 initdb.c:969 initdb.c:979
 #, c-format
 msgid ""
 "This might mean you have a corrupted installation or identified\n"
@@ -319,46 +314,46 @@ msgstr ""
 "这意味着您的安装发生了错误或\n"
 "使用 -L 选项指定了错误的路径.\n"
 
-#: initdb.c:980
+#: initdb.c:966
 #, c-format
 msgid "%s: could not access file \"%s\": %s\n"
 msgstr "%s: 无法访问文件 \"%s\": %s\n"
 
-#: initdb.c:991
+#: initdb.c:977
 #, c-format
 msgid "%s: file \"%s\" is not a regular file\n"
 msgstr "%s: 文件 \"%s\" 不是常规文件\n"
 
-#: initdb.c:1136
+#: initdb.c:1122
 #, c-format
 msgid "selecting default max_connections ... "
 msgstr "选择默认最大联接数 (max_connections) ... "
 
-#: initdb.c:1166
+#: initdb.c:1152
 #, c-format
 msgid "selecting default shared_buffers ... "
 msgstr "选择默认共享缓冲区大小 (shared_buffers) ... "
 
-#: initdb.c:1199
+#: initdb.c:1185
 #, c-format
 msgid "selecting dynamic shared memory implementation ... "
 msgstr "选择动态共享内存实现 ......"
 
-#: initdb.c:1217
+#: initdb.c:1203
 msgid "creating configuration files ... "
 msgstr "创建配置文件 ... "
 
-#: initdb.c:1314 initdb.c:1334 initdb.c:1418 initdb.c:1434
+#: initdb.c:1300 initdb.c:1320 initdb.c:1404 initdb.c:1420
 #, c-format
 msgid "%s: could not change permissions of \"%s\": %s\n"
 msgstr "%s: 无法改变\"%s\"的权限:%s\n"
 
-#: initdb.c:1458
+#: initdb.c:1444
 #, c-format
-msgid "creating template1 database in %s/base/1 ... "
-msgstr "在 %s/base/1 中创建 template1 数据库 ... "
+msgid "running bootstrap script ... "
+msgstr "正在运行自举脚本 ..."
 
-#: initdb.c:1474
+#: initdb.c:1460
 #, c-format
 msgid ""
 "%s: input file \"%s\" does not belong to PostgreSQL %s\n"
@@ -367,159 +362,96 @@ msgstr ""
 "%s: 输入文件 \"%s\" 不属于 PostgreSQL %s\n"
 "检查你的安装或使用 -L 选项指定正确的路径.\n"
 
-#: initdb.c:1561
-msgid "initializing pg_authid ... "
-msgstr "初始化 pg_authid ...  "
-
-#: initdb.c:1595
+#: initdb.c:1564
 msgid "Enter new superuser password: "
 msgstr "输入新的超级用户口令: "
 
-#: initdb.c:1596
+#: initdb.c:1565
 msgid "Enter it again: "
 msgstr "再输入一遍: "
 
-#: initdb.c:1599
+#: initdb.c:1568
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "口令不匹配.\n"
 
-#: initdb.c:1627
+#: initdb.c:1596
 #, c-format
 msgid "%s: could not read password from file \"%s\": %s\n"
 msgstr "%s: 无法从文件 \"%s\" 读取口令: %s\n"
 
-#: initdb.c:1630
+#: initdb.c:1599
 #, c-format
-#| msgid "%s: the PID file \"%s\" is empty\n"
 msgid "%s: password file \"%s\" is empty\n"
 msgstr "%s:口令文件\"%s\"为空\n"
 
-#: initdb.c:1643
-#, c-format
-msgid "setting password ... "
-msgstr "设置口令 ... "
-
-#: initdb.c:1743
-msgid "initializing dependencies ... "
-msgstr "初始化dependencies ... "
-
-#: initdb.c:1771
-msgid "creating system views ... "
-msgstr "创建系统视图 ... "
-
-#: initdb.c:1807
-msgid "loading system objects' descriptions ... "
-msgstr "正在加载系统对象描述 ..."
-
-#: initdb.c:1913
-msgid "creating collations ... "
-msgstr "创建(字符集)校对规则 ... "
-
-#: initdb.c:1946
+#: initdb.c:1845
 #, c-format
 msgid "%s: locale name too long, skipped: \"%s\"\n"
 msgstr "%s: 本地化名称太长, 跳过: \"%s\"\n"
 
-#: initdb.c:1971
+#: initdb.c:1870
 #, c-format
 msgid "%s: locale name has non-ASCII characters, skipped: \"%s\"\n"
 msgstr "%s: 本地化名称带有非ASCII字符, 跳过: \"%s\"\n"
 
 # describe.c:1542
-#: initdb.c:2040
+#: initdb.c:1943
 #, c-format
 msgid "No usable system locales were found.\n"
 msgstr "没有找到可用的系统本地化名称.\n"
 
-#: initdb.c:2041
+#: initdb.c:1944
 #, c-format
 msgid "Use the option \"--debug\" to see details.\n"
 msgstr "使用选项 \"--debug\" 获取细节.\n"
 
-#: initdb.c:2044
-#, c-format
-msgid "not supported on this platform\n"
-msgstr "在此平台上不支持\n"
-
-#: initdb.c:2059
-msgid "creating conversions ... "
-msgstr "创建字符集转换 ... "
-
-#: initdb.c:2094
-msgid "creating dictionaries ... "
-msgstr "正在创建字典 ... "
-
-#: initdb.c:2148
-msgid "setting privileges on built-in objects ... "
-msgstr "对内建对象设置权限 ... "
-
-#: initdb.c:2206
-msgid "creating information schema ... "
-msgstr "创建信息模式 ... "
-
-#: initdb.c:2262
-msgid "loading PL/pgSQL server-side language ... "
-msgstr "正在装载PL/pgSQL服务器端编程语言..."
-
-#: initdb.c:2287
-msgid "vacuuming database template1 ... "
-msgstr "清理数据库 template1 ... "
-
-#: initdb.c:2340
-msgid "copying template1 to template0 ... "
-msgstr "拷贝 template1 到 template0 ... "
-
-#: initdb.c:2372
-msgid "copying template1 to postgres ... "
-msgstr "拷贝 template1 到 template0 ... "
-
-#: initdb.c:2407
+#: initdb.c:2317
 msgid "syncing data to disk ... "
 msgstr "同步数据到磁盘..."
 
-#: initdb.c:2501
+#: initdb.c:2411
 #, c-format
 msgid "caught signal\n"
 msgstr "捕获信号\n"
 
-#: initdb.c:2507
+#: initdb.c:2417
 #, c-format
 msgid "could not write to child process: %s\n"
 msgstr "无法写到子进程: %s\n"
 
-#: initdb.c:2515
+#: initdb.c:2425
 #, c-format
 msgid "ok\n"
 msgstr "成功\n"
 
-#: initdb.c:2605
+#: initdb.c:2515
 #, c-format
 msgid "%s: setlocale() failed\n"
 msgstr "%s:setlocale()调用失败\n"
 
-#: initdb.c:2623
+#: initdb.c:2533
 #, c-format
 msgid "%s: failed to restore old locale \"%s\"\n"
 msgstr "%s: 无法恢复旧的本地化文件 \"%s\"\n"
 
-#: initdb.c:2633
+#: initdb.c:2543
 #, c-format
 msgid "%s: invalid locale name \"%s\"\n"
 msgstr "%s: 无效的 locale 名字 \"%s\"\n"
 
-#: initdb.c:2645
+#: initdb.c:2555
 #, c-format
 msgid ""
 "%s: invalid locale settings; check LANG and LC_* environment variables\n"
 msgstr "%s:无效的本地化设置; 请检查环境变量LANG和LC_*的值\n"
 
-#: initdb.c:2673
+#: initdb.c:2583
 #, c-format
 msgid "%s: encoding mismatch\n"
 msgstr "%s: 警告: 编码不匹配\n"
 
-#: initdb.c:2675
+#: initdb.c:2585
 #, c-format
 msgid ""
 "The encoding you selected (%s) and the encoding that the\n"
@@ -534,7 +466,7 @@ msgstr ""
 "组合类型.\n"
 "\n"
 
-#: initdb.c:2747
+#: initdb.c:2657
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -543,17 +475,17 @@ msgstr ""
 "%s 初始化一个 PostgreSQL 数据库簇.\n"
 "\n"
 
-#: initdb.c:2748
+#: initdb.c:2658
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
-#: initdb.c:2749
+#: initdb.c:2659
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [选项]... [DATADIR]\n"
 
-#: initdb.c:2750
+#: initdb.c:2660
 #, c-format
 msgid ""
 "\n"
@@ -562,43 +494,43 @@ msgstr ""
 "\n"
 "选项:\n"
 
-#: initdb.c:2751
+#: initdb.c:2661
 #, c-format
 msgid ""
 "  -A, --auth=METHOD         default authentication method for local "
 "connections\n"
 msgstr "  -A, --auth=METHOD         本地连接的默认认证方法\n"
 
-#: initdb.c:2752
+#: initdb.c:2662
 #, c-format
 msgid ""
 "      --auth-host=METHOD    default authentication method for local TCP/IP "
 "connections\n"
 msgstr "      --auth-host=METHOD   本地的TCP/IP连接的默认认证方法\n"
 
-#: initdb.c:2753
+#: initdb.c:2663
 #, c-format
 msgid ""
 "      --auth-local=METHOD   default authentication method for local-socket "
 "connections\n"
 msgstr "      --auth-local=METHOD   本地socket连接的默认认证方法\n"
 
-#: initdb.c:2754
+#: initdb.c:2664
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr "  -D, --pgdata=DATADIR      当前数据库簇的位置\n"
 
-#: initdb.c:2755
+#: initdb.c:2665
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=ENCODING   为新数据库设置默认编码\n"
 
-#: initdb.c:2756
+#: initdb.c:2666
 #, c-format
 msgid "      --locale=LOCALE       set default locale for new databases\n"
 msgstr "      --locale=LOCALE      为新数据库设置默认语言环境\n"
 
-#: initdb.c:2757
+#: initdb.c:2667
 #, c-format
 msgid ""
 "      --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
@@ -613,18 +545,18 @@ msgstr ""
 "                   设定缺省语言环境(默认使用环境变\n"
 "                   量)\n"
 
-#: initdb.c:2761
+#: initdb.c:2671
 #, c-format
 msgid "      --no-locale           equivalent to --locale=C\n"
 msgstr "  --no-locale               等同于 --locale=C\n"
 
-#: initdb.c:2762
+#: initdb.c:2672
 #, c-format
 msgid ""
 "      --pwfile=FILE         read password for the new superuser from file\n"
 msgstr "  --pwfile=文件名           对于新的超级用户从文件读取口令\n"
 
-#: initdb.c:2763
+#: initdb.c:2673
 #, c-format
 msgid ""
 "  -T, --text-search-config=CFG\n"
@@ -633,24 +565,24 @@ msgstr ""
 "  -T, --text-search-config=CFG\n"
 "                   缺省的文本搜索配置\n"
 
-#: initdb.c:2765
+#: initdb.c:2675
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=NAME       数据库超级用户名\n"
 
-#: initdb.c:2766
+#: initdb.c:2676
 #, c-format
 msgid ""
 "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            对于新的超级用户提示输入口令\n"
 
-#: initdb.c:2767
+#: initdb.c:2677
 #, c-format
 msgid ""
 "  -X, --xlogdir=XLOGDIR     location for the transaction log directory\n"
 msgstr "  -X, --xlogdir=XLOGDIR          当前事务日志目录的位置\n"
 
-#: initdb.c:2768
+#: initdb.c:2678
 #, c-format
 msgid ""
 "\n"
@@ -659,44 +591,44 @@ msgstr ""
 "\n"
 "非普通使用选项:\n"
 
-#: initdb.c:2769
+#: initdb.c:2679
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               产生大量的除错信息\n"
 
-#: initdb.c:2770
+#: initdb.c:2680
 #, c-format
 msgid "  -k, --data-checksums      use data page checksums\n"
 msgstr " -k, --data-checksums    使用数据页产生效验和\n"
 
-#: initdb.c:2771
+#: initdb.c:2681
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L DIRECTORY              输入文件的位置\n"
 
-#: initdb.c:2772
+#: initdb.c:2682
 #, c-format
 msgid "  -n, --noclean             do not clean up after errors\n"
 msgstr "  -n, --noclean             出错后不清理\n"
 
-#: initdb.c:2773
+#: initdb.c:2683
 #, c-format
 msgid ""
 "  -N, --nosync              do not wait for changes to be written safely to "
 "disk\n"
 msgstr "  -N, --nosync             不用等待变化安全写入磁盘\n"
 
-#: initdb.c:2774
+#: initdb.c:2684
 #, c-format
 msgid "  -s, --show                show internal settings\n"
 msgstr "  -s, --show                显示内部设置\n"
 
-#: initdb.c:2775
+#: initdb.c:2685
 #, c-format
 msgid "  -S, --sync-only           only sync data directory\n"
 msgstr "  -S, --sync-only          只同步数据目录\n"
 
-#: initdb.c:2776
+#: initdb.c:2686
 #, c-format
 msgid ""
 "\n"
@@ -705,17 +637,17 @@ msgstr ""
 "\n"
 "其它选项:\n"
 
-#: initdb.c:2777
+#: initdb.c:2687
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             输出版本信息, 然后退出\n"
 
-#: initdb.c:2778
+#: initdb.c:2688
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                显示此帮助, 然后退出\n"
 
-#: initdb.c:2779
+#: initdb.c:2689
 #, c-format
 msgid ""
 "\n"
@@ -725,7 +657,7 @@ msgstr ""
 "\n"
 "如果没有指定数据目录, 将使用环境变量 PGDATA\n"
 
-#: initdb.c:2781
+#: initdb.c:2691
 #, c-format
 msgid ""
 "\n"
@@ -734,7 +666,7 @@ msgstr ""
 "\n"
 "报告错误至 <pgql-bugs@postgresql.org>.\n"
 
-#: initdb.c:2789
+#: initdb.c:2699
 msgid ""
 "\n"
 "WARNING: enabling \"trust\" authentication for local connections\n"
@@ -746,18 +678,18 @@ msgstr ""
 "你可以通过编辑 pg_hba.conf 更改或你下次\n"
 "行 initdb 时使用 -A或者--auth-local和--auth-host选项.\n"
 
-#: initdb.c:2811
+#: initdb.c:2721
 #, c-format
 msgid "%s: invalid authentication method \"%s\" for \"%s\" connections\n"
 msgstr "%s: 无效认证方法 \"%s\" 用于 \"%s\" 连接\n"
 
-#: initdb.c:2825
+#: initdb.c:2735
 #, c-format
 msgid ""
 "%s: must specify a password for the superuser to enable %s authentication\n"
 msgstr "%s: 为了启动 %s 认证, 你需要为超级用户指定一个口令\n"
 
-#: initdb.c:2852
+#: initdb.c:2762
 #, c-format
 msgid ""
 "%s: no data directory specified\n"
@@ -770,7 +702,7 @@ msgstr ""
 "存在. 使用 -D 选项或者\n"
 "环境变量 PGDATA.\n"
 
-#: initdb.c:2890
+#: initdb.c:2800
 #, c-format
 msgid ""
 "The program \"postgres\" is needed by %s but was not found in the\n"
@@ -781,7 +713,7 @@ msgstr ""
 "\n"
 "检查您的安装.\n"
 
-#: initdb.c:2897
+#: initdb.c:2807
 #, c-format
 msgid ""
 "The program \"postgres\" was found by \"%s\"\n"
@@ -792,17 +724,17 @@ msgstr ""
 "\n"
 "检查您的安装.\n"
 
-#: initdb.c:2916
+#: initdb.c:2826
 #, c-format
 msgid "%s: input file location must be an absolute path\n"
 msgstr "%s: 输入文件位置必须为绝对路径\n"
 
-#: initdb.c:2935
+#: initdb.c:2845
 #, c-format
 msgid "The database cluster will be initialized with locale \"%s\".\n"
 msgstr "数据库簇将使用本地化语言 \"%s\"进行初始化.\n"
 
-#: initdb.c:2938
+#: initdb.c:2848
 #, c-format
 msgid ""
 "The database cluster will be initialized with locales\n"
@@ -821,22 +753,22 @@ msgstr ""
 "  NUMERIC:  %s\n"
 "  TIME:     %s\n"
 
-#: initdb.c:2962
+#: initdb.c:2872
 #, c-format
 msgid "%s: could not find suitable encoding for locale \"%s\"\n"
 msgstr "%s: 无法为locale(本地化语言)\"%s\"找到合适的编码\n"
 
-#: initdb.c:2964
+#: initdb.c:2874
 #, c-format
 msgid "Rerun %s with the -E option.\n"
 msgstr "带 -E 选项重新运行 %s.\n"
 
-#: initdb.c:2965 initdb.c:3541 initdb.c:3562
+#: initdb.c:2875 initdb.c:3498 initdb.c:3519
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: initdb.c:2977
+#: initdb.c:2887
 #, c-format
 msgid ""
 "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n"
@@ -845,12 +777,12 @@ msgstr ""
 "本地化隐含的编码 \"%s\" 不允许作为服务器端的编码.\n"
 "默认的数据库编码将采用 \"%s\" 作为代替.\n"
 
-#: initdb.c:2985
+#: initdb.c:2895
 #, c-format
 msgid "%s: locale \"%s\" requires unsupported encoding \"%s\"\n"
 msgstr "%s: 本地化语言环境 \"%s\"要求使用不支持的编码\"%s\"\n"
 
-#: initdb.c:2988
+#: initdb.c:2898
 #, c-format
 msgid ""
 "Encoding \"%s\" is not allowed as a server-side encoding.\n"
@@ -859,57 +791,62 @@ msgstr ""
 "不允许将编码\"%s\"作为服务器端编码.\n"
 "使用一个不同的本地化语言环境重新运行%s.\n"
 
-#: initdb.c:2997
+#: initdb.c:2907
 #, c-format
 msgid "The default database encoding has accordingly been set to \"%s\".\n"
 msgstr "默认的数据库编码已经相应的设置为 \"%s\".\n"
 
-#: initdb.c:3068
+#: initdb.c:2978
 #, c-format
 msgid ""
 "%s: could not find suitable text search configuration for locale \"%s\"\n"
 msgstr "%s: 无法为本地化语言环境\"%s\"找到合适的文本搜索配置\n"
 
-#: initdb.c:3079
+#: initdb.c:2989
 #, c-format
 msgid ""
 "%s: warning: suitable text search configuration for locale \"%s\" is "
 "unknown\n"
 msgstr "%s: 警告: 对于本地化语言环境\"%s\"合适的文本搜索配置未知\n"
 
-#: initdb.c:3084
+#: initdb.c:2994
 #, c-format
 msgid ""
 "%s: warning: specified text search configuration \"%s\" might not match "
 "locale \"%s\"\n"
 msgstr "%s: 警告: 所指定的文本搜索配置\"%s\"可能与本地语言环境\"%s\"不匹配\n"
 
-#: initdb.c:3089
+#: initdb.c:2999
 #, c-format
 msgid "The default text search configuration will be set to \"%s\".\n"
 msgstr "缺省的文本搜索配置将会被设置到\"%s\"\n"
 
-#: initdb.c:3133 initdb.c:3211
+#: initdb.c:3043 initdb.c:3129
 #, c-format
 msgid "creating directory %s ... "
 msgstr "创建目录 %s ... "
 
-#: initdb.c:3147 initdb.c:3229
+#: initdb.c:3049 initdb.c:3135 initdb.c:3203 initdb.c:3259
+#, c-format
+msgid "%s: could not create directory \"%s\": %s\n"
+msgstr "%s: 无法创建目录 \"%s\": %s\n"
+
+#: initdb.c:3061 initdb.c:3147
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "修复已存在目录 %s 的权限 ... "
 
-#: initdb.c:3153 initdb.c:3235
+#: initdb.c:3067 initdb.c:3153
 #, c-format
 msgid "%s: could not change permissions of directory \"%s\": %s\n"
 msgstr "%s: 无法改变目录 \"%s\" 的权限: %s\n"
 
-#: initdb.c:3168 initdb.c:3250
+#: initdb.c:3082 initdb.c:3168
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: 目录\"%s\"已存在,但不是空的\n"
 
-#: initdb.c:3174
+#: initdb.c:3088
 #, c-format
 msgid ""
 "If you want to create a new database system, either remove or empty\n"
@@ -920,47 +857,47 @@ msgstr ""
 "目录 \"%s\" 或者运行带参数的 %s\n"
 "而不是 \"%s\".\n"
 
-#: initdb.c:3182 initdb.c:3263 initdb.c:3575
+#: initdb.c:3096 initdb.c:3181 initdb.c:3532
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: 无法访问目录 \"%s\": %s\n"
 
-#: initdb.c:3202
+#: initdb.c:3120
 #, c-format
 msgid "%s: transaction log directory location must be an absolute path\n"
 msgstr "%s: 事务日志目录的位置必须为绝对路径\n"
 
-#: initdb.c:3256
+#: initdb.c:3174
 #, c-format
 msgid ""
 "If you want to store the transaction log there, either\n"
 "remove or empty the directory \"%s\".\n"
 msgstr "如果您要存储事务日志,需要删除或者清空目录\"%s\".\n"
 
-#: initdb.c:3274
+#: initdb.c:3189
 #, c-format
 msgid "%s: could not create symbolic link \"%s\": %s\n"
 msgstr "%s: 无法创建符号链接 \"%s\": %s\n"
 
-#: initdb.c:3279
+#: initdb.c:3194
 #, c-format
 msgid "%s: symlinks are not supported on this platform"
 msgstr "%s: 在这个平台上不支持使用符号链接"
 
-#: initdb.c:3292
+#: initdb.c:3218
 #, c-format
 msgid ""
 "It contains a dot-prefixed/invisible file, perhaps due to it being a mount "
 "point.\n"
 msgstr "它包含一个不可见的带固定点的文件,可能因为它是一个装载点。\n"
 
-#: initdb.c:3295
+#: initdb.c:3221
 #, c-format
 msgid ""
 "It contains a lost+found directory, perhaps due to it being a mount point.\n"
 msgstr "它包含名为lost+found的目录,可能因为它是一个加载点.\n"
 
-#: initdb.c:3298
+#: initdb.c:3224
 #, c-format
 msgid ""
 "Using a mount point directly as the data directory is not recommended.\n"
@@ -969,32 +906,36 @@ msgstr ""
 "不推荐将加载点作为数据目录.\n"
 "通常在加载点下边创建一个子目录.\n"
 
-#: initdb.c:3317
+#: initdb.c:3244
 #, c-format
 msgid "creating subdirectories ... "
 msgstr "正在创建子目录 ... "
 
-#: initdb.c:3485
+#: initdb.c:3291
+msgid "performing post-bootstrap initialization ... "
+msgstr "正在执行自举后初始化 ..."
+
+#: initdb.c:3442
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "运行在除错模式中. \n"
 
-#: initdb.c:3489
+#: initdb.c:3446
 #, c-format
 msgid "Running in noclean mode.  Mistakes will not be cleaned up.\n"
 msgstr "运行在 noclean 模式中. 错误将不被清理.\n"
 
-#: initdb.c:3560
+#: initdb.c:3517
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: initdb.c:3586
+#: initdb.c:3543
 #, c-format
 msgid "%s: password prompt and password file cannot be specified together\n"
 msgstr "%s: 口令提示和口令文件不能同时都指定\n"
 
-#: initdb.c:3608
+#: initdb.c:3565
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -1004,17 +945,17 @@ msgstr ""
 "属于此数据库系统的文件宿主为用户 \"%s\".\n"
 "此用户也必须为服务器进程的宿主.\n"
 
-#: initdb.c:3624
+#: initdb.c:3581
 #, c-format
 msgid "Data page checksums are enabled.\n"
 msgstr "允许生成数据页校验和.\n"
 
-#: initdb.c:3626
+#: initdb.c:3583
 #, c-format
 msgid "Data page checksums are disabled.\n"
 msgstr "禁止为数据页生成校验和.\n"
 
-#: initdb.c:3635
+#: initdb.c:3592
 #, c-format
 msgid ""
 "\n"
@@ -1025,16 +966,8 @@ msgstr ""
 "跳过同步到磁盘操作.\n"
 "如果操作系统宕机,数据目录可能会毁坏.\n"
 
-#: initdb.c:3644
+#: initdb.c:3601
 #, c-format
-#| msgid ""
-#| "\n"
-#| "Success. You can now start the database server using:\n"
-#| "\n"
-#| "    %s%s%spostgres%s -D %s%s%s\n"
-#| "or\n"
-#| "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n"
-#| "\n"
 msgid ""
 "\n"
 "Success. You can now start the database server using:\n"
@@ -1048,38 +981,86 @@ msgstr ""
 "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n"
 "\n"
 
-#~ msgid "%s: could not obtain information about current user: %s\n"
-#~ msgstr "%s: 无法获得当前用户的信息: %s\n"
+#~ msgid "user name lookup failure: %s"
+#~ msgstr "用户名查找失败: %s"
 
-#~ msgid "%s: could not get current user name: %s\n"
-#~ msgstr "%s: 无法获取当前用户名称: %s\n"
+#~ msgid "%s: could not to allocate SIDs: error code %lu\n"
+#~ msgstr "%s: 无法分配SID: 错误码为 %lu\n"
 
-#~ msgid "%s: unrecognized authentication method \"%s\"\n"
-#~ msgstr "%s: 未知认证方法 \"%s\".\n"
+#~ msgid "could not change directory to \"%s\""
+#~ msgstr "无法进入目录 \"%s\""
 
-#~ msgid ""
-#~ "%s: The password file was not generated. Please report this problem.\n"
-#~ msgstr "%s: 口令文件没有生成. 请报告这个问题.\n"
+#~ msgid "creating directory %s/%s ... "
+#~ msgstr "创建目录 %s/%s ... "
 
-#~ msgid "%s: could not determine valid short version string\n"
-#~ msgstr "%s: 无法确定有效的短版本字符串\n"
+#~ msgid ""
+#~ "  --locale=LOCALE           initialize database cluster with given "
+#~ "locale\n"
+#~ msgstr "  --locale=LOCALE           初始化数据库簇的 locale\n"
 
 #~ msgid "enabling unlimited row size for system tables ... "
 #~ msgstr "启动不限制系统表行大小 ... "
 
+#~ msgid "%s: could not determine valid short version string\n"
+#~ msgstr "%s: 无法确定有效的短版本字符串\n"
+
 #~ msgid ""
-#~ "  --locale=LOCALE           initialize database cluster with given "
-#~ "locale\n"
-#~ msgstr "  --locale=LOCALE           初始化数据库簇的 locale\n"
+#~ "%s: The password file was not generated. Please report this problem.\n"
+#~ msgstr "%s: 口令文件没有生成. 请报告这个问题.\n"
 
-#~ msgid "creating directory %s/%s ... "
-#~ msgstr "创建目录 %s/%s ... "
+#~ msgid "%s: unrecognized authentication method \"%s\"\n"
+#~ msgstr "%s: 未知认证方法 \"%s\".\n"
 
-#~ msgid "could not change directory to \"%s\""
-#~ msgstr "无法进入目录 \"%s\""
+#~ msgid "%s: could not get current user name: %s\n"
+#~ msgstr "%s: 无法获取当前用户名称: %s\n"
 
-#~ msgid "%s: could not to allocate SIDs: error code %lu\n"
-#~ msgstr "%s: 无法分配SID: 错误码为 %lu\n"
+#~ msgid "%s: could not obtain information about current user: %s\n"
+#~ msgstr "%s: 无法获得当前用户的信息: %s\n"
 
-#~ msgid "user name lookup failure: %s"
-#~ msgstr "用户名查找失败: %s"
+#~ msgid "copying template1 to postgres ... "
+#~ msgstr "拷贝 template1 到 template0 ... "
+
+#~ msgid "copying template1 to template0 ... "
+#~ msgstr "拷贝 template1 到 template0 ... "
+
+#~ msgid "vacuuming database template1 ... "
+#~ msgstr "清理数据库 template1 ... "
+
+#~ msgid "loading PL/pgSQL server-side language ... "
+#~ msgstr "正在装载PL/pgSQL服务器端编程语言..."
+
+#~ msgid "creating information schema ... "
+#~ msgstr "创建信息模式 ... "
+
+#~ msgid "setting privileges on built-in objects ... "
+#~ msgstr "对内建对象设置权限 ... "
+
+#~ msgid "creating dictionaries ... "
+#~ msgstr "正在创建字典 ... "
+
+#~ msgid "creating conversions ... "
+#~ msgstr "创建字符集转换 ... "
+
+#~ msgid "not supported on this platform\n"
+#~ msgstr "在此平台上不支持\n"
+
+#~ msgid "creating collations ... "
+#~ msgstr "创建(字符集)校对规则 ... "
+
+#~ msgid "loading system objects' descriptions ... "
+#~ msgstr "正在加载系统对象描述 ..."
+
+#~ msgid "creating system views ... "
+#~ msgstr "创建系统视图 ... "
+
+#~ msgid "initializing dependencies ... "
+#~ msgstr "初始化dependencies ... "
+
+#~ msgid "setting password ... "
+#~ msgstr "设置口令 ... "
+
+#~ msgid "initializing pg_authid ... "
+#~ msgstr "初始化 pg_authid ...  "
+
+#~ msgid "creating template1 database in %s/base/1 ... "
+#~ msgstr "在 %s/base/1 中创建 template1 数据库 ... "
diff --git a/src/bin/pg_basebackup/po/es.po b/src/bin/pg_basebackup/po/es.po
index a16acb0f8ce4c644f9a19f2c3026d3ea8f1ef9a8..64779597706a30171b7dd4b5175f06fccf56e2f8 100644
--- a/src/bin/pg_basebackup/po/es.po
+++ b/src/bin/pg_basebackup/po/es.po
@@ -10,14 +10,15 @@ msgstr ""
 "Project-Id-Version: pg_basebackup (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Álvaro Herrera <alvherre@alvh.no-ip.org>\n"
+"PO-Revision-Date: 2016-05-23 09:26-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: Spanish <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98
@@ -602,10 +603,9 @@ msgid "%s: WAL streaming can only be used in plain mode\n"
 msgstr "%s: el flujo de WAL sólo puede usar en modo «plain»\n"
 
 #: pg_basebackup.c:2188
-#, fuzzy, c-format
-#| msgid "replication slots can only be used if max_replication_slots > 0"
+#, c-format
 msgid "%s: replication slots can only be used with WAL streaming\n"
-msgstr "los slots de replicación sólo pueden usarse si max_replication_slots > 0"
+msgstr "%s: los slots de replicación sólo pueden usarse con flujo de WAL\n"
 
 #: pg_basebackup.c:2200
 #, c-format
@@ -887,10 +887,9 @@ msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s: no se pudo abrir archivo de log «%s»: %s\n"
 
 #: pg_recvlogical.c:366 receivelog.c:933
-#, fuzzy, c-format
-#| msgid "%s: invalid argument: %s\n"
+#, c-format
 msgid "%s: invalid socket: %s"
-msgstr "%s: el argumento no es válido: %s\n"
+msgstr "%s: el socket no es válido: %s"
 
 #: pg_recvlogical.c:420 receivelog.c:955
 #, c-format
diff --git a/src/bin/pg_basebackup/po/ru.po b/src/bin/pg_basebackup/po/ru.po
index 95901c42996613657ec9835c4211c5d478bf1cae..f58eb6f8317904f3cc7ca6a49799f9923e9779c2 100644
--- a/src/bin/pg_basebackup/po/ru.po
+++ b/src/bin/pg_basebackup/po/ru.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-09-19 03:13+0000\n"
+"POT-Creation-Date: 2016-05-27 16:14+0000\n"
 "PO-Revision-Date: 2015-10-16 16:12+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -289,43 +289,43 @@ msgstr ""
 msgid "%s: could not read from ready pipe: %s\n"
 msgstr "%s: не удалось прочитать из готового канала: %s\n"
 
-#: pg_basebackup.c:319 pg_basebackup.c:412 pg_basebackup.c:1887
+#: pg_basebackup.c:319 pg_basebackup.c:422 pg_basebackup.c:1892
 #: streamutil.c:285
 #, c-format
 msgid "%s: could not parse transaction log location \"%s\"\n"
 msgstr "%s: не удалось разобрать положение в журнале транзакций \"%s\"\n"
 
-#: pg_basebackup.c:425
+#: pg_basebackup.c:435
 #, c-format
 msgid "%s: could not create pipe for background process: %s\n"
 msgstr "%s: не удалось создать канал для фонового процесса: %s\n"
 
-#: pg_basebackup.c:450 pg_basebackup.c:505 pg_basebackup.c:1263
+#: pg_basebackup.c:460 pg_basebackup.c:515 pg_basebackup.c:1263
 #, c-format
 msgid "%s: could not create directory \"%s\": %s\n"
 msgstr "%s: не удалось создать каталог \"%s\": %s\n"
 
-#: pg_basebackup.c:468
+#: pg_basebackup.c:478
 #, c-format
 msgid "%s: could not create background process: %s\n"
 msgstr "%s: не удалось создать фоновый процесс: %s\n"
 
-#: pg_basebackup.c:480
+#: pg_basebackup.c:490
 #, c-format
 msgid "%s: could not create background thread: %s\n"
 msgstr "%s: не удалось создать фоновый поток выполнения: %s\n"
 
-#: pg_basebackup.c:524
+#: pg_basebackup.c:534
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: каталог \"%s\" существует, но он не пуст\n"
 
-#: pg_basebackup.c:532
+#: pg_basebackup.c:542
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: нет доступа к каталогу \"%s\": %s\n"
 
-#: pg_basebackup.c:594
+#: pg_basebackup.c:604
 #, c-format
 msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
@@ -333,7 +333,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:606
+#: pg_basebackup.c:616
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
@@ -341,7 +341,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:622
+#: pg_basebackup.c:632
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
@@ -349,98 +349,88 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d
 msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
 
-#: pg_basebackup.c:644
+#: pg_basebackup.c:654
 #, c-format
 msgid "%s: transfer rate \"%s\" is not a valid value\n"
 msgstr "%s: неверное значение (\"%s\") для скорости передачи данных\n"
 
-#: pg_basebackup.c:651
+#: pg_basebackup.c:661
 #, c-format
 msgid "%s: invalid transfer rate \"%s\": %s\n"
 msgstr "%s: неверная скорость передачи данных \"%s\": %s\n"
 
-#: pg_basebackup.c:661
+#: pg_basebackup.c:671
 #, c-format
 msgid "%s: transfer rate must be greater than zero\n"
 msgstr "%s: скорость передачи должна быть больше 0\n"
 
-#: pg_basebackup.c:695
+#: pg_basebackup.c:705
 #, c-format
 msgid "%s: invalid --max-rate unit: \"%s\"\n"
 msgstr "%s: неверная единица измерения в --max-rate: \"%s\"\n"
 
-#: pg_basebackup.c:704
+#: pg_basebackup.c:714
 #, c-format
 msgid "%s: transfer rate \"%s\" exceeds integer range\n"
 msgstr "%s: скорость передачи \"%s\" вне целочисленного диапазона\n"
 
-#: pg_basebackup.c:716
+#: pg_basebackup.c:726
 #, c-format
 msgid "%s: transfer rate \"%s\" is out of range\n"
 msgstr "%s: скорость передачи \"%s\" вне диапазона\n"
 
-#: pg_basebackup.c:740
+#: pg_basebackup.c:750
 #, c-format
 msgid "%s: could not write to compressed file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл сжатого архива \"%s\": %s\n"
 
-#: pg_basebackup.c:750 pg_basebackup.c:1357 pg_basebackup.c:1582
+#: pg_basebackup.c:760 pg_basebackup.c:1357 pg_basebackup.c:1582
 #, c-format
 msgid "%s: could not write to file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл \"%s\": %s\n"
 
-#: pg_basebackup.c:805 pg_basebackup.c:826 pg_basebackup.c:854
+#: pg_basebackup.c:815 pg_basebackup.c:836 pg_basebackup.c:864
 #, c-format
 msgid "%s: could not set compression level %d: %s\n"
 msgstr "%s: не удалось установить уровень сжатия %d: %s\n"
 
-#: pg_basebackup.c:875
+#: pg_basebackup.c:885
 #, c-format
 msgid "%s: could not create compressed file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл сжатого архива \"%s\": %s\n"
 
-#: pg_basebackup.c:886 pg_basebackup.c:1317 pg_basebackup.c:1575
+#: pg_basebackup.c:896 pg_basebackup.c:1317 pg_basebackup.c:1575
 #, c-format
 msgid "%s: could not create file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл \"%s\": %s\n"
 
-#: pg_basebackup.c:898 pg_basebackup.c:1162
+#: pg_basebackup.c:908 pg_basebackup.c:1172
 #, c-format
 msgid "%s: could not get COPY data stream: %s"
 msgstr "%s: не удалось получить поток данных COPY: %s"
 
-#: pg_basebackup.c:955
+#: pg_basebackup.c:965
 #, c-format
 msgid "%s: could not close compressed file \"%s\": %s\n"
 msgstr "%s: не удалось закрыть сжатый файл \"%s\": %s\n"
 
-#: pg_basebackup.c:968 pg_recvlogical.c:569 receivelog.c:213 receivelog.c:362
-#: receivelog.c:754
+#: pg_basebackup.c:978 pg_recvlogical.c:577 receivelog.c:203 receivelog.c:351
+#: receivelog.c:738
 #, c-format
 msgid "%s: could not close file \"%s\": %s\n"
 msgstr "%s: не удалось закрыть файл \"%s\": %s\n"
 
-#: pg_basebackup.c:979 pg_basebackup.c:1191 pg_recvlogical.c:435
-#: receivelog.c:1044
+#: pg_basebackup.c:989 pg_basebackup.c:1201 pg_recvlogical.c:443
+#: receivelog.c:1019
 #, c-format
 msgid "%s: could not read COPY data: %s"
 msgstr "%s: не удалось прочитать данные COPY: %s"
 
-#: pg_basebackup.c:1205
+#: pg_basebackup.c:1215
 #, c-format
 msgid "%s: invalid tar block header size: %d\n"
 msgstr "%s: неверный размер заголовка блока tar: %d\n"
 
-#: pg_basebackup.c:1213
-#, c-format
-msgid "%s: could not parse file size\n"
-msgstr "%s: не удалось разобрать размер файла\n"
-
-#: pg_basebackup.c:1221
-#, c-format
-msgid "%s: could not parse file mode\n"
-msgstr "%s: не удалось разобрать режим файла\n"
-
 #: pg_basebackup.c:1271
 #, c-format
 msgid "%s: could not set permissions on directory \"%s\": %s\n"
@@ -477,8 +467,8 @@ msgstr "%s: нехватка памяти\n"
 msgid "%s: incompatible server version %s\n"
 msgstr "%s: несовместимая версия сервера %s\n"
 
-#: pg_basebackup.c:1674 pg_recvlogical.c:261 receivelog.c:549 receivelog.c:600
-#: receivelog.c:641 streamutil.c:255 streamutil.c:353 streamutil.c:399
+#: pg_basebackup.c:1674 pg_recvlogical.c:261 receivelog.c:536 receivelog.c:587
+#: receivelog.c:627 streamutil.c:255 streamutil.c:359 streamutil.c:405
 #, c-format
 msgid "%s: could not send replication command \"%s\": %s"
 msgstr "%s: не удалось передать команду репликации \"%s\": %s"
@@ -540,62 +530,62 @@ msgstr "%s: сервер не вернул конечную позицию в ж
 msgid "%s: final receive failed: %s"
 msgstr "%s: ошибка в конце передачи: %s"
 
-#: pg_basebackup.c:1839
+#: pg_basebackup.c:1844
 #, c-format
 msgid "%s: waiting for background process to finish streaming ...\n"
 msgstr "%s: ожидание завершения потоковой передачи фоновым процессом...\n"
 
-#: pg_basebackup.c:1845
+#: pg_basebackup.c:1850
 #, c-format
 msgid "%s: could not send command to background pipe: %s\n"
 msgstr "%s: не удалось отправить команду в канал фонового процесса: %s\n"
 
-#: pg_basebackup.c:1854
+#: pg_basebackup.c:1859
 #, c-format
 msgid "%s: could not wait for child process: %s\n"
 msgstr "%s: сбой при ожидании дочернего процесса: %s\n"
 
-#: pg_basebackup.c:1860
+#: pg_basebackup.c:1865
 #, c-format
 msgid "%s: child %d died, expected %d\n"
 msgstr "%s: завершился дочерний процесс %d вместо ожидаемого %d\n"
 
-#: pg_basebackup.c:1866
+#: pg_basebackup.c:1871
 #, c-format
 msgid "%s: child process did not exit normally\n"
 msgstr "%s: дочерний процесс завершён ненормально\n"
 
-#: pg_basebackup.c:1872
+#: pg_basebackup.c:1877
 #, c-format
 msgid "%s: child process exited with error %d\n"
 msgstr "%s: дочерний процесс завершился с ошибкой %d\n"
 
-#: pg_basebackup.c:1899
+#: pg_basebackup.c:1904
 #, c-format
 msgid "%s: could not wait for child thread: %s\n"
 msgstr "%s: сбой при ожидании дочернего потока: %s\n"
 
-#: pg_basebackup.c:1906
+#: pg_basebackup.c:1911
 #, c-format
 msgid "%s: could not get child thread exit status: %s\n"
 msgstr "%s: не удалось получить состояние завершения дочернего потока: %s\n"
 
-#: pg_basebackup.c:1912
+#: pg_basebackup.c:1917
 #, c-format
 msgid "%s: child thread exited with error %u\n"
 msgstr "%s: дочерний поток завершился с ошибкой %u\n"
 
-#: pg_basebackup.c:2002
+#: pg_basebackup.c:2007
 #, c-format
 msgid "%s: invalid output format \"%s\", must be \"plain\" or \"tar\"\n"
 msgstr "%s: неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\"\n"
 
-#: pg_basebackup.c:2023 pg_basebackup.c:2035
+#: pg_basebackup.c:2028 pg_basebackup.c:2040
 #, c-format
 msgid "%s: cannot specify both --xlog and --xlog-method\n"
 msgstr "%s: указать и --xlog, и --xlog-method одновременно нельзя\n"
 
-#: pg_basebackup.c:2050
+#: pg_basebackup.c:2055
 #, c-format
 msgid ""
 "%s: invalid xlog-method option \"%s\", must be \"fetch\" or \"stream\"\n"
@@ -603,12 +593,12 @@ msgstr ""
 "%s: неверный аргумент для xlog-method - \"%s\", допускается только \"fetch\" "
 "или \"stream\"\n"
 
-#: pg_basebackup.c:2072
+#: pg_basebackup.c:2077
 #, c-format
 msgid "%s: invalid compression level \"%s\"\n"
 msgstr "%s: неверный уровень сжатия \"%s\"\n"
 
-#: pg_basebackup.c:2084
+#: pg_basebackup.c:2089
 #, c-format
 msgid ""
 "%s: invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"\n"
@@ -616,49 +606,49 @@ msgstr ""
 "%s: неверный аргумент режима контрольных точек \"%s\", должен быть \"fast\" "
 "или \"spread\"\n"
 
-#: pg_basebackup.c:2111 pg_receivexlog.c:439 pg_recvlogical.c:752
+#: pg_basebackup.c:2116 pg_receivexlog.c:445 pg_recvlogical.c:760
 #, c-format
 msgid "%s: invalid status interval \"%s\"\n"
 msgstr "%s: неверный интервал сообщений о состоянии \"%s\"\n"
 
-#: pg_basebackup.c:2127 pg_basebackup.c:2141 pg_basebackup.c:2152
-#: pg_basebackup.c:2165 pg_basebackup.c:2175 pg_basebackup.c:2185
-#: pg_basebackup.c:2197 pg_basebackup.c:2208 pg_receivexlog.c:471
-#: pg_receivexlog.c:485 pg_receivexlog.c:493 pg_receivexlog.c:503
-#: pg_receivexlog.c:514 pg_recvlogical.c:779 pg_recvlogical.c:793
-#: pg_recvlogical.c:804 pg_recvlogical.c:812 pg_recvlogical.c:820
-#: pg_recvlogical.c:828 pg_recvlogical.c:836 pg_recvlogical.c:844
+#: pg_basebackup.c:2132 pg_basebackup.c:2146 pg_basebackup.c:2157
+#: pg_basebackup.c:2170 pg_basebackup.c:2180 pg_basebackup.c:2190
+#: pg_basebackup.c:2202 pg_basebackup.c:2213 pg_receivexlog.c:477
+#: pg_receivexlog.c:491 pg_receivexlog.c:499 pg_receivexlog.c:509
+#: pg_receivexlog.c:520 pg_recvlogical.c:787 pg_recvlogical.c:801
+#: pg_recvlogical.c:812 pg_recvlogical.c:820 pg_recvlogical.c:828
+#: pg_recvlogical.c:836 pg_recvlogical.c:844 pg_recvlogical.c:852
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_basebackup.c:2139 pg_receivexlog.c:483 pg_recvlogical.c:791
+#: pg_basebackup.c:2144 pg_receivexlog.c:489 pg_recvlogical.c:799
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: pg_basebackup.c:2151 pg_receivexlog.c:513
+#: pg_basebackup.c:2156 pg_receivexlog.c:519
 #, c-format
 msgid "%s: no target directory specified\n"
 msgstr "%s: целевой каталог не указан\n"
 
-#: pg_basebackup.c:2163
+#: pg_basebackup.c:2168
 #, c-format
 msgid "%s: only tar mode backups can be compressed\n"
 msgstr "%s: сжимать можно только резервные копии в архиве tar\n"
 
-#: pg_basebackup.c:2173
+#: pg_basebackup.c:2178
 #, c-format
 msgid "%s: WAL streaming can only be used in plain mode\n"
 msgstr "%s: потоковая передача WAL поддерживается только в режиме plain\n"
 
-#: pg_basebackup.c:2183
+#: pg_basebackup.c:2188
 #, c-format
 msgid "%s: replication slots can only be used with WAL streaming\n"
 msgstr ""
 "%s: слоты репликации можно использовать только при потоковой передаче WAL\n"
 
-#: pg_basebackup.c:2195
+#: pg_basebackup.c:2200
 #, c-format
 msgid ""
 "%s: transaction log directory location can only be specified in plain mode\n"
@@ -666,24 +656,24 @@ msgstr ""
 "%s: расположение каталога журнала транзакций можно указать только в режиме "
 "plain\n"
 
-#: pg_basebackup.c:2206
+#: pg_basebackup.c:2211
 #, c-format
 msgid "%s: transaction log directory location must be an absolute path\n"
 msgstr ""
 "%s: расположение каталога журнала транзакций должно определяться абсолютным "
 "путём\n"
 
-#: pg_basebackup.c:2218
+#: pg_basebackup.c:2223
 #, c-format
 msgid "%s: this build does not support compression\n"
 msgstr "%s: эта сборка программы не поддерживает сжатие\n"
 
-#: pg_basebackup.c:2245
+#: pg_basebackup.c:2250
 #, c-format
 msgid "%s: could not create symbolic link \"%s\": %s\n"
 msgstr "%s: не удалось создать символическую ссылку \"%s\": %s\n"
 
-#: pg_basebackup.c:2250
+#: pg_basebackup.c:2255
 #, c-format
 msgid "%s: symlinks are not supported on this platform\n"
 msgstr "%s: символические ссылки не поддерживаются в этой ОС\n"
@@ -814,28 +804,28 @@ msgstr ""
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: не удалось прочитать каталог \"%s\": %s\n"
 
-#: pg_receivexlog.c:331
+#: pg_receivexlog.c:332
 #, c-format
 msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
 msgstr "%s: начало передачи журнала с позиции %X/%X (линия времени %u)\n"
 
-#: pg_receivexlog.c:420 pg_recvlogical.c:699
+#: pg_receivexlog.c:426 pg_recvlogical.c:707
 #, c-format
 msgid "%s: invalid port number \"%s\"\n"
 msgstr "%s: неверный номер порта \"%s\"\n"
 
-#: pg_receivexlog.c:492
+#: pg_receivexlog.c:498
 #, c-format
 msgid "%s: cannot use --create-slot together with --drop-slot\n"
 msgstr "%s: --create-slot нельзя применять вместе с --drop-slot\n"
 
 #. translator: second %s is an option name
-#: pg_receivexlog.c:501
+#: pg_receivexlog.c:507
 #, c-format
 msgid "%s: %s needs a slot to be specified using --slot\n"
 msgstr "%s: для %s необходимо задать слот с помощью параметра --slot\n"
 
-#: pg_receivexlog.c:556
+#: pg_receivexlog.c:562
 #, c-format
 msgid ""
 "%s: replication connection using slot \"%s\" is unexpectedly database "
@@ -844,23 +834,23 @@ msgstr ""
 "%s: подключение для репликации через слот \"%s\" оказалось привязано к базе "
 "данных\n"
 
-#: pg_receivexlog.c:568 pg_recvlogical.c:884
+#: pg_receivexlog.c:574 pg_recvlogical.c:892
 #, c-format
 msgid "%s: dropping replication slot \"%s\"\n"
 msgstr "%s: удаление слота репликации \"%s\"\n"
 
-#: pg_receivexlog.c:581 pg_recvlogical.c:896
+#: pg_receivexlog.c:587 pg_recvlogical.c:904
 #, c-format
 msgid "%s: creating replication slot \"%s\"\n"
 msgstr "%s: создание слота репликации \"%s\"\n"
 
-#: pg_receivexlog.c:608 pg_recvlogical.c:922
+#: pg_receivexlog.c:614 pg_recvlogical.c:930
 #, c-format
 msgid "%s: disconnected\n"
 msgstr "%s: отключение\n"
 
 #. translator: check source for value for %d
-#: pg_receivexlog.c:615 pg_recvlogical.c:929
+#: pg_receivexlog.c:621 pg_recvlogical.c:937
 #, c-format
 msgid "%s: disconnected; waiting %d seconds to try again\n"
 msgstr "%s: отключение; через %d сек. последует повторное подключение\n"
@@ -953,7 +943,7 @@ 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:151 receivelog.c:415
+#: pg_recvlogical.c:151 receivelog.c:404
 #, c-format
 msgid "%s: could not send feedback packet: %s"
 msgstr "%s: не удалось отправить пакет отзыва: %s"
@@ -978,165 +968,170 @@ msgstr "%s: передача запущена\n"
 msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл журнала \"%s\": %s\n"
 
-#: pg_recvlogical.c:412 receivelog.c:980
+#: pg_recvlogical.c:366 receivelog.c:933
+#, c-format
+msgid "%s: invalid socket: %s"
+msgstr "%s: неверный сокет: %s"
+
+#: pg_recvlogical.c:420 receivelog.c:955
 #, c-format
 msgid "%s: select() failed: %s\n"
 msgstr "%s: ошибка в select(): %s\n"
 
-#: pg_recvlogical.c:421 receivelog.c:1030
+#: pg_recvlogical.c:429 receivelog.c:1005
 #, c-format
 msgid "%s: could not receive data from WAL stream: %s"
 msgstr "%s: не удалось получить данные из потока WAL: %s"
 
-#: pg_recvlogical.c:462 pg_recvlogical.c:501 receivelog.c:1075
-#: receivelog.c:1144
+#: pg_recvlogical.c:470 pg_recvlogical.c:509 receivelog.c:1050
+#: receivelog.c:1117
 #, c-format
 msgid "%s: streaming header too small: %d\n"
 msgstr "%s: заголовок потока слишком мал: %d\n"
 
-#: pg_recvlogical.c:484 receivelog.c:924
+#: pg_recvlogical.c:492 receivelog.c:898
 #, c-format
 msgid "%s: unrecognized streaming header: \"%c\"\n"
 msgstr "%s: нераспознанный заголовок потока: \"%c\"\n"
 
-#: pg_recvlogical.c:530 pg_recvlogical.c:544
+#: pg_recvlogical.c:538 pg_recvlogical.c:552
 #, c-format
 msgid "%s: could not write %u bytes to log file \"%s\": %s\n"
 msgstr "%s: не удалось записать %u байт в файл журнала \"%s\": %s\n"
 
-#: pg_recvlogical.c:555 receivelog.c:707 receivelog.c:745
+#: pg_recvlogical.c:563 receivelog.c:691 receivelog.c:729
 #, c-format
 msgid "%s: unexpected termination of replication stream: %s"
 msgstr "%s: неожиданный конец потока репликации: %s"
 
-#: pg_recvlogical.c:678
+#: pg_recvlogical.c:686
 #, c-format
 msgid "%s: invalid fsync interval \"%s\"\n"
 msgstr "%s: неверный интервал синхронизации с ФС \"%s\"\n"
 
-#: pg_recvlogical.c:719
+#: pg_recvlogical.c:727
 #, c-format
 msgid "%s: could not parse start position \"%s\"\n"
 msgstr "%s: не удалось разобрать начальную позицию \"%s\"\n"
 
-#: pg_recvlogical.c:803
+#: pg_recvlogical.c:811
 #, c-format
 msgid "%s: no slot specified\n"
 msgstr "%s: слот не указан\n"
 
-#: pg_recvlogical.c:811
+#: pg_recvlogical.c:819
 #, c-format
 msgid "%s: no target file specified\n"
 msgstr "%s: целевой файл не задан\n"
 
-#: pg_recvlogical.c:819
+#: pg_recvlogical.c:827
 #, c-format
 msgid "%s: no database specified\n"
 msgstr "%s: база данных не задана\n"
 
-#: pg_recvlogical.c:827
+#: pg_recvlogical.c:835
 #, c-format
 msgid "%s: at least one action needs to be specified\n"
 msgstr "%s: необходимо задать минимум одно действие\n"
 
-#: pg_recvlogical.c:835
+#: pg_recvlogical.c:843
 #, c-format
 msgid "%s: cannot use --create-slot or --start together with --drop-slot\n"
 msgstr "%s: --create-slot или --start нельзя применять вместе с --drop-slot\n"
 
-#: pg_recvlogical.c:843
+#: pg_recvlogical.c:851
 #, c-format
 msgid "%s: cannot use --create-slot or --drop-slot together with --startpos\n"
 msgstr ""
 "%s: --create-slot или --drop-slot нельзя применять вместе с --startpos\n"
 
-#: pg_recvlogical.c:874
+#: pg_recvlogical.c:882
 #, c-format
 msgid "%s: could not establish database-specific replication connection\n"
 msgstr ""
 "%s: не удалось установить подключение для репликации к определённой базе "
 "данных\n"
 
-#: receivelog.c:75
+#: receivelog.c:66
 #, c-format
 msgid "%s: could not create archive status file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл статуса архива \"%s\": %s\n"
 
-#: receivelog.c:82 receivelog.c:206 receivelog.c:355 receivelog.c:848
-#: receivelog.c:1096
+#: receivelog.c:73 receivelog.c:196 receivelog.c:344 receivelog.c:828
+#: receivelog.c:1071
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: не удалось синхронизировать с ФС файл \"%s\": %s\n"
 
-#: receivelog.c:121
+#: receivelog.c:111
 #, c-format
 msgid "%s: could not open transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:133
+#: receivelog.c:123
 #, c-format
 msgid "%s: could not stat transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось проверить файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:147
+#: receivelog.c:137
 #, 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:160
+#: receivelog.c:150
 #, c-format
 msgid "%s: could not pad transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось дополнить файл журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:173
+#: receivelog.c:163
 #, c-format
 msgid "%s: could not seek to beginning of transaction log file \"%s\": %s\n"
 msgstr "%s: не удалось перейти к началу файла журнала транзакций \"%s\": %s\n"
 
-#: receivelog.c:199
+#: receivelog.c:189
 #, c-format
 msgid "%s: could not determine seek position in file \"%s\": %s\n"
 msgstr "%s: не удалось определить текущую позицию в файле \"%s\": %s\n"
 
-#: receivelog.c:232
+#: receivelog.c:222
 #, c-format
 msgid "%s: could not rename file \"%s\": %s\n"
 msgstr "%s: не удалось переименовать файл \"%s\": %s\n"
 
-#: receivelog.c:239
+#: receivelog.c:229
 #, c-format
 msgid "%s: not renaming \"%s%s\", segment is not complete\n"
 msgstr ""
 "%s: файл \"%s%s\" не переименовывается, так как это не полный сегмент\n"
 
-#: receivelog.c:285
+#: receivelog.c:275
 #, c-format
 msgid "%s: could not open timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:313
+#: receivelog.c:302
 #, c-format
 msgid "%s: server reported unexpected history file name for timeline %u: %s\n"
 msgstr ""
 "%s: сервер сообщил неожиданное имя файла истории для линии времени %u: %s\n"
 
-#: receivelog.c:330
+#: receivelog.c:319
 #, c-format
 msgid "%s: could not create timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось создать файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:347
+#: receivelog.c:336
 #, c-format
 msgid "%s: could not write timeline history file \"%s\": %s\n"
 msgstr "%s: не удалось записать файл истории линии времени \"%s\": %s\n"
 
-#: receivelog.c:372
+#: receivelog.c:361
 #, c-format
 msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
 msgstr "%s: не удалось переименовать файл \"%s\" в \"%s\": %s\n"
 
-#: receivelog.c:449
+#: receivelog.c:438
 #, c-format
 msgid ""
 "%s: incompatible server version %s; client does not support streaming from "
@@ -1145,7 +1140,7 @@ msgstr ""
 "%s: несовместимая версия сервера %s; клиент не поддерживает репликацию с "
 "серверов версии ниже %s\n"
 
-#: receivelog.c:459
+#: receivelog.c:448
 #, c-format
 msgid ""
 "%s: incompatible server version %s; client does not support streaming from "
@@ -1154,7 +1149,7 @@ msgstr ""
 "%s: несовместимая версия сервера %s; клиент не поддерживает репликацию с "
 "серверов версии выше %s\n"
 
-#: receivelog.c:557 streamutil.c:264 streamutil.c:299
+#: receivelog.c:544 streamutil.c:264 streamutil.c:303
 #, c-format
 msgid ""
 "%s: could not identify system: got %d rows and %d fields, expected %d rows "
@@ -1163,7 +1158,7 @@ msgstr ""
 "%s: не удалось идентифицировать систему, получено строк: %d, полей: %d "
 "(ожидалось: %d и %d (или более))\n"
 
-#: receivelog.c:565
+#: receivelog.c:552
 #, c-format
 msgid ""
 "%s: system identifier does not match between base backup and streaming "
@@ -1172,12 +1167,12 @@ msgstr ""
 "%s: системный идентификатор базовой резервной копии отличается от "
 "идентификатора потоковой передачи\n"
 
-#: receivelog.c:573
+#: receivelog.c:560
 #, c-format
 msgid "%s: starting timeline %u is not present in the server\n"
 msgstr "%s: на сервере нет начальной линии времени %u\n"
 
-#: receivelog.c:613
+#: receivelog.c:600
 #, c-format
 msgid ""
 "%s: unexpected response to TIMELINE_HISTORY command: got %d rows and %d "
@@ -1186,14 +1181,14 @@ msgstr ""
 "%s: сервер вернул неожиданный ответ на команду TIMELINE_HISTORY; получено "
 "строк: %d, полей: %d, а ожидалось строк: %d, полей: %d\n"
 
-#: receivelog.c:688
+#: receivelog.c:672
 #, c-format
 msgid ""
 "%s: server reported unexpected next timeline %u, following timeline %u\n"
 msgstr ""
 "%s: сервер неожиданно сообщил линию времени %u после линии времени %u\n"
 
-#: receivelog.c:695
+#: receivelog.c:679
 #, c-format
 msgid ""
 "%s: server stopped streaming timeline %u at %X/%X, but reported next "
@@ -1202,12 +1197,12 @@ msgstr ""
 "%s: сервер прекратил передачу линии времени %u в %X/%X, но сообщил, что "
 "следующая линии времени %u начнётся в %X/%X\n"
 
-#: receivelog.c:736
+#: receivelog.c:720
 #, c-format
 msgid "%s: replication stream was terminated before stop point\n"
 msgstr "%s: поток репликации закончился до точки останова\n"
 
-#: receivelog.c:785
+#: receivelog.c:769
 #, c-format
 msgid ""
 "%s: unexpected result set after end-of-timeline: got %d rows and %d fields, "
@@ -1216,34 +1211,29 @@ msgstr ""
 "%s: сервер вернул неожиданный набор данных после конца линии времени - "
 "получено строк: %d, полей: %d, а ожидалось строк: %d, полей: %d\n"
 
-#: receivelog.c:795
+#: receivelog.c:779
 #, c-format
 msgid "%s: could not parse next timeline's starting point \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать начальную точку следующей линии времени \"%s\"\n"
 
-#: receivelog.c:959
-#, c-format
-msgid "%s: socket not open"
-msgstr "%s: сокет не открыт"
-
-#: receivelog.c:1163
+#: receivelog.c:1136
 #, c-format
 msgid "%s: received transaction log record for offset %u with no file open\n"
 msgstr ""
 "%s: получена запись журнала транзакций по смещению %u, но файл не открыт\n"
 
-#: receivelog.c:1175
+#: receivelog.c:1148
 #, c-format
 msgid "%s: got WAL data offset %08x, expected %08x\n"
 msgstr "%s: получено смещение данных WAL %08x, но ожидалось %08x\n"
 
-#: receivelog.c:1212
+#: receivelog.c:1184
 #, c-format
 msgid "%s: could not write %u bytes to WAL file \"%s\": %s\n"
 msgstr "%s: не удалось записать %u байт в файл WAL \"%s\": %s\n"
 
-#: receivelog.c:1237 receivelog.c:1279 receivelog.c:1311
+#: receivelog.c:1209 receivelog.c:1250 receivelog.c:1281
 #, c-format
 msgid "%s: could not send copy-end packet: %s"
 msgstr "%s: не удалось отправить пакет \"конец COPY\": %s"
@@ -1273,7 +1263,7 @@ msgid "%s: integer_datetimes compile flag does not match server\n"
 msgstr ""
 "%s: флаг компиляции integer_datetimes не соответствует настройке сервера\n"
 
-#: streamutil.c:365
+#: streamutil.c:371
 #, c-format
 msgid ""
 "%s: could not create replication slot \"%s\": got %d rows and %d fields, "
@@ -1282,7 +1272,7 @@ msgstr ""
 "%s: не удалось создать слот репликации \"%s\"; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d)\n"
 
-#: streamutil.c:410
+#: streamutil.c:416
 #, c-format
 msgid ""
 "%s: could not drop replication slot \"%s\": got %d rows and %d fields, "
@@ -1291,6 +1281,15 @@ msgstr ""
 "%s: не удалось удалить слот репликации \"%s\"; получено строк: %d, полей: %d "
 "(ожидалось: %d и %d)\n"
 
+#~ msgid "%s: could not parse file size\n"
+#~ msgstr "%s: не удалось разобрать размер файла\n"
+
+#~ msgid "%s: could not parse file mode\n"
+#~ msgstr "%s: не удалось разобрать режим файла\n"
+
+#~ msgid "%s: socket not open"
+#~ msgstr "%s: сокет не открыт"
+
 #~ msgid "%s: could not remove symbolic link \"%s\": %s\n"
 #~ msgstr "%s: ошибка при удалении символической ссылки \"%s\": %s\n"
 
diff --git a/src/bin/pg_basebackup/po/zh_CN.po b/src/bin/pg_basebackup/po/zh_CN.po
index 91b5cabe53f48e2a9a65a76d25c40e251055bdc8..284bfe59c0d6cb57daeacf3cf48a591e4c4e6544 100644
--- a/src/bin/pg_basebackup/po/zh_CN.po
+++ b/src/bin/pg_basebackup/po/zh_CN.po
@@ -7,10 +7,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_basebackup (PostgreSQL) 9.2\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:43+0000\n"
-"PO-Revision-Date: 2015-12-01 19:39+0800\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-05-19 20:40+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -113,7 +113,12 @@ msgstr ""
 "  -R, --write-recovery-conf\n"
 "                           备份后对文件recovery.conf进行写操作\n"
 
-#: pg_basebackup.c:242
+#: pg_basebackup.c:242 pg_receivexlog.c:74
+#, c-format
+msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
+msgstr "  -S, --slot=SLOTNAME    用于复制的槽名\n"
+
+#: pg_basebackup.c:243
 #, c-format
 msgid ""
 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
@@ -122,13 +127,13 @@ msgstr ""
 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
 "                         将表空间由 OLDDIR 重定位到 NEWDIR\n"
 
-#: pg_basebackup.c:244
+#: pg_basebackup.c:245
 #, c-format
 msgid ""
 "  -x, --xlog             include required WAL files in backup (fetch mode)\n"
 msgstr "  -x, --xlog             在备份中包含必需的WAL文件(fetch 模式)\n"
 
-#: pg_basebackup.c:245
+#: pg_basebackup.c:246
 #, c-format
 msgid ""
 "  -X, --xlog-method=fetch|stream\n"
@@ -137,23 +142,23 @@ msgstr ""
 "  -X, --xlog-method=fetch|stream\n"
 "                         按指定的模式包含必需的WAL日志文件\n"
 
-#: pg_basebackup.c:247
+#: pg_basebackup.c:248
 #, c-format
 msgid "      --xlogdir=XLOGDIR  location for the transaction log directory\n"
 msgstr "      --xlogdir=XLOGDIR  当前事务日志目录的位置\n"
 
-#: pg_basebackup.c:248
+#: pg_basebackup.c:249
 #, c-format
 msgid "  -z, --gzip             compress tar output\n"
 msgstr "  -z, --gzip             对tar文件进行压缩输出\n"
 
-#: pg_basebackup.c:249
+#: pg_basebackup.c:250
 #, c-format
 msgid ""
 "  -Z, --compress=0-9     compress tar output with given compression level\n"
 msgstr "  -Z, --compress=0-9     按给定的压缩级别对tar文件进行压缩输出\n"
 
-#: pg_basebackup.c:250
+#: pg_basebackup.c:251
 #, c-format
 msgid ""
 "\n"
@@ -162,7 +167,7 @@ msgstr ""
 "\n"
 "一般选项:\n"
 
-#: pg_basebackup.c:251
+#: pg_basebackup.c:252
 #, c-format
 msgid ""
 "  -c, --checkpoint=fast|spread\n"
@@ -171,32 +176,32 @@ msgstr ""
 "  -c, --checkpoint=fast|spread\n"
 "                         设置检查点方式(fast或者spread)\n"
 
-#: pg_basebackup.c:253
+#: pg_basebackup.c:254
 #, c-format
 msgid "  -l, --label=LABEL      set backup label\n"
 msgstr "  -l, --label=LABEL      设置备份标签\n"
 
-#: pg_basebackup.c:254
+#: pg_basebackup.c:255
 #, c-format
 msgid "  -P, --progress         show progress information\n"
 msgstr "  -P, --progress         显示进度信息\n"
 
-#: pg_basebackup.c:255 pg_receivexlog.c:76 pg_recvlogical.c:89
+#: pg_basebackup.c:256 pg_receivexlog.c:76 pg_recvlogical.c:89
 #, c-format
 msgid "  -v, --verbose          output verbose messages\n"
 msgstr "  -v, --verbose          输出详细的消息\n"
 
-#: pg_basebackup.c:256 pg_receivexlog.c:77 pg_recvlogical.c:90
+#: pg_basebackup.c:257 pg_receivexlog.c:77 pg_recvlogical.c:90
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          输出版本信息, 然后退出\n"
 
-#: pg_basebackup.c:257 pg_receivexlog.c:78 pg_recvlogical.c:91
+#: pg_basebackup.c:258 pg_receivexlog.c:78 pg_recvlogical.c:91
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             显示帮助, 然后退出\n"
 
-#: pg_basebackup.c:258 pg_receivexlog.c:79 pg_recvlogical.c:92
+#: pg_basebackup.c:259 pg_receivexlog.c:79 pg_recvlogical.c:92
 #, c-format
 msgid ""
 "\n"
@@ -205,22 +210,22 @@ msgstr ""
 "\n"
 "联接选项:\n"
 
-#: pg_basebackup.c:259 pg_receivexlog.c:80
+#: pg_basebackup.c:260 pg_receivexlog.c:80
 #, c-format
 msgid "  -d, --dbname=CONNSTR   connection string\n"
 msgstr "  -d, --dbname=CONNSTR        连接串\n"
 
-#: pg_basebackup.c:260 pg_receivexlog.c:81 pg_recvlogical.c:94
+#: pg_basebackup.c:261 pg_receivexlog.c:81 pg_recvlogical.c:94
 #, c-format
 msgid "  -h, --host=HOSTNAME    database server host or socket directory\n"
 msgstr "  -h, --host=HOSTNAME    数据库服务器主机或者是socket目录\n"
 
-#: pg_basebackup.c:261 pg_receivexlog.c:82 pg_recvlogical.c:95
+#: pg_basebackup.c:262 pg_receivexlog.c:82 pg_recvlogical.c:95
 #, c-format
 msgid "  -p, --port=PORT        database server port number\n"
 msgstr "  -p, --port=PORT        数据库服务器端口号\n"
 
-#: pg_basebackup.c:262
+#: pg_basebackup.c:263
 #, c-format
 msgid ""
 "  -s, --status-interval=INTERVAL\n"
@@ -230,24 +235,24 @@ msgstr ""
 "  -s, --status-interval=INTERVAL\n"
 "                         发往服务器的状态包的时间间隔 (以秒计)\n"
 
-#: pg_basebackup.c:264 pg_receivexlog.c:83 pg_recvlogical.c:96
+#: pg_basebackup.c:265 pg_receivexlog.c:83 pg_recvlogical.c:96
 #, c-format
 msgid "  -U, --username=NAME    connect as specified database user\n"
 msgstr "  -U, --username=NAME    指定连接所需的数据库用户名\n"
 
-#: pg_basebackup.c:265 pg_receivexlog.c:84 pg_recvlogical.c:97
+#: pg_basebackup.c:266 pg_receivexlog.c:84 pg_recvlogical.c:97
 #, c-format
 msgid "  -w, --no-password      never prompt for password\n"
 msgstr "  -w, --no-password      禁用输入密码的提示\n"
 
-#: pg_basebackup.c:266 pg_receivexlog.c:85 pg_recvlogical.c:98
+#: pg_basebackup.c:267 pg_receivexlog.c:85 pg_recvlogical.c:98
 #, c-format
 msgid ""
 "  -W, --password         force password prompt (should happen "
 "automatically)\n"
 msgstr "  -W, --password         强制提示输入密码 (应该自动发生)\n"
 
-#: pg_basebackup.c:267 pg_receivexlog.c:89 pg_recvlogical.c:99
+#: pg_basebackup.c:268 pg_receivexlog.c:89 pg_recvlogical.c:99
 #, c-format
 msgid ""
 "\n"
@@ -256,195 +261,195 @@ msgstr ""
 "\n"
 "错误报告至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_basebackup.c:310
+#: pg_basebackup.c:311
 #, c-format
 msgid "%s: could not read from ready pipe: %s\n"
 msgstr "%s: 无法从准备就绪的管道: %s读\n"
 
-#: pg_basebackup.c:318 pg_basebackup.c:411 pg_basebackup.c:1869
+#: pg_basebackup.c:319 pg_basebackup.c:422 pg_basebackup.c:1887
 #: streamutil.c:285
 #, c-format
 msgid "%s: could not parse transaction log location \"%s\"\n"
 msgstr "%s: 无法解析来自 \"%s\"的事务日志\n"
 
-#: pg_basebackup.c:424
+#: pg_basebackup.c:435
 #, c-format
 msgid "%s: could not create pipe for background process: %s\n"
 msgstr "%s: 无法为后台进程: %s创建管道\n"
 
-#: pg_basebackup.c:449 pg_basebackup.c:504 pg_basebackup.c:1252
+#: pg_basebackup.c:460 pg_basebackup.c:515 pg_basebackup.c:1263
 #, c-format
 msgid "%s: could not create directory \"%s\": %s\n"
 msgstr "%s: 无法创建目录 \"%s\": %s\n"
 
-#: pg_basebackup.c:467
+#: pg_basebackup.c:478
 #, c-format
 msgid "%s: could not create background process: %s\n"
 msgstr "%s: 无法创建后台进程: %s\n"
 
-#: pg_basebackup.c:479
+#: pg_basebackup.c:490
 #, c-format
 msgid "%s: could not create background thread: %s\n"
 msgstr "%s: 无法创建后台线程: %s\n"
 
-#: pg_basebackup.c:523
+#: pg_basebackup.c:534
 #, c-format
 msgid "%s: directory \"%s\" exists but is not empty\n"
 msgstr "%s: 目录\"%s\"已存在,但不是空的\n"
 
-#: pg_basebackup.c:531
+#: pg_basebackup.c:542
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: 无法访问目录 \"%s\": %s\n"
 
-#: pg_basebackup.c:593
+#: pg_basebackup.c:604
 #, c-format
 msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
 msgstr[0] "%*s/%s kB (100%%), %d/%d 表空间 %*s"
 
-#: pg_basebackup.c:605
+#: pg_basebackup.c:616
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
 msgstr[0] "%*s/%s kB (%d%%), %d/%d 表空间 (%s%-*.*s)"
 
-#: pg_basebackup.c:621
+#: pg_basebackup.c:632
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
 msgstr[0] "%*s/%s kB (%d%%), %d/%d 表空间"
 
-#: pg_basebackup.c:643
+#: pg_basebackup.c:654
 #, c-format
 msgid "%s: transfer rate \"%s\" is not a valid value\n"
 msgstr "%s: 传输速率\"%s\"不是一个有效值\n"
 
-#: pg_basebackup.c:650
+#: pg_basebackup.c:661
 #, c-format
 msgid "%s: invalid transfer rate \"%s\": %s\n"
 msgstr "%s:无效的传输速率\"%s\": %s\n"
 
-#: pg_basebackup.c:660
+#: pg_basebackup.c:671
 #, c-format
 msgid "%s: transfer rate must be greater than zero\n"
 msgstr "%s: 传输速率必须大于0\n"
 
-#: pg_basebackup.c:694
+#: pg_basebackup.c:705
 #, c-format
 msgid "%s: invalid --max-rate unit: \"%s\"\n"
 msgstr "%s: 无效的 --max-rate 单位: \"%s\"\n"
 
-#: pg_basebackup.c:703
+#: pg_basebackup.c:714
 #, c-format
 msgid "%s: transfer rate \"%s\" exceeds integer range\n"
 msgstr "%s:传输速率 \"%s\" 超出了整数范围\n"
 
-#: pg_basebackup.c:715
+#: pg_basebackup.c:726
 #, c-format
 msgid "%s: transfer rate \"%s\" is out of range\n"
 msgstr "%s: 传输速率 \"%s\" 超出范围\n"
 
-#: pg_basebackup.c:739
+#: pg_basebackup.c:750
 #, c-format
 msgid "%s: could not write to compressed file \"%s\": %s\n"
 msgstr "%s: 无法往压缩文件里写\"%s\": %s\n"
 
-#: pg_basebackup.c:749 pg_basebackup.c:1346 pg_basebackup.c:1564
+#: pg_basebackup.c:760 pg_basebackup.c:1357 pg_basebackup.c:1582
 #, c-format
 msgid "%s: could not write to file \"%s\": %s\n"
 msgstr "%s: 无法写文件 \"%s\": %s\n"
 
-#: pg_basebackup.c:804 pg_basebackup.c:825 pg_basebackup.c:853
+#: pg_basebackup.c:815 pg_basebackup.c:836 pg_basebackup.c:864
 #, c-format
 msgid "%s: could not set compression level %d: %s\n"
 msgstr "%s: 无法设置压缩级别 %d: %s\n"
 
-#: pg_basebackup.c:874
+#: pg_basebackup.c:885
 #, c-format
 msgid "%s: could not create compressed file \"%s\": %s\n"
 msgstr "%s: 无法创建压缩文件 \"%s\": %s\n"
 
-#: pg_basebackup.c:885 pg_basebackup.c:1306 pg_basebackup.c:1557
+#: pg_basebackup.c:896 pg_basebackup.c:1317 pg_basebackup.c:1575
 #, c-format
 msgid "%s: could not create file \"%s\": %s\n"
 msgstr "%s: 无法创建文件 \"%s\": %s\n"
 
-#: pg_basebackup.c:897 pg_basebackup.c:1161
+#: pg_basebackup.c:908 pg_basebackup.c:1172
 #, c-format
 msgid "%s: could not get COPY data stream: %s"
 msgstr "%s: 无法得到复制数据流: %s"
 
-#: pg_basebackup.c:954
+#: pg_basebackup.c:965
 #, c-format
 msgid "%s: could not close compressed file \"%s\": %s\n"
 msgstr "%s: 无法关闭压缩文件 \"%s\": %s\n"
 
-#: pg_basebackup.c:967 pg_recvlogical.c:569 receivelog.c:213 receivelog.c:362
-#: receivelog.c:754
+#: pg_basebackup.c:978 pg_recvlogical.c:577 receivelog.c:203 receivelog.c:351
+#: receivelog.c:738
 #, c-format
 msgid "%s: could not close file \"%s\": %s\n"
 msgstr "%s: 无法关闭文件 \"%s\": %s\n"
 
-#: pg_basebackup.c:978 pg_basebackup.c:1190 pg_recvlogical.c:435
-#: receivelog.c:1044
+#: pg_basebackup.c:989 pg_basebackup.c:1201 pg_recvlogical.c:443
+#: receivelog.c:1019
 #, c-format
 msgid "%s: could not read COPY data: %s"
 msgstr "%s: 无法读取复制数据: %s"
 
-#: pg_basebackup.c:1204
+#: pg_basebackup.c:1215
 #, c-format
 msgid "%s: invalid tar block header size: %d\n"
 msgstr "%s: 无效的tar压缩块头大小: %d\n"
 
-#: pg_basebackup.c:1260
+#: pg_basebackup.c:1271
 #, c-format
 msgid "%s: could not set permissions on directory \"%s\": %s\n"
 msgstr "%s: 无法设置目录权限 \"%s\": %s\n"
 
-#: pg_basebackup.c:1284
+#: pg_basebackup.c:1295
 #, c-format
 msgid "%s: could not create symbolic link from \"%s\" to \"%s\": %s\n"
 msgstr "%s: 无法创建从 \"%s\" 到 \"%s\"的符号链接: %s\n"
 
-#: pg_basebackup.c:1293
+#: pg_basebackup.c:1304
 #, c-format
 msgid "%s: unrecognized link indicator \"%c\"\n"
 msgstr "%s: 无法识别的链接标识符 \"%c\"\n"
 
-#: pg_basebackup.c:1313
+#: pg_basebackup.c:1324
 #, c-format
 msgid "%s: could not set permissions on file \"%s\": %s\n"
 msgstr "%s: 无法设置文件 \"%s\"的访问权限: %s\n"
 
-#: pg_basebackup.c:1372
+#: pg_basebackup.c:1383
 #, c-format
 msgid "%s: COPY stream ended before last file was finished\n"
 msgstr "%s: 复制流在最后一个文件结束前终止\n"
 
-#: pg_basebackup.c:1458 pg_basebackup.c:1478 pg_basebackup.c:1485
-#: pg_basebackup.c:1532
+#: pg_basebackup.c:1469 pg_basebackup.c:1489 pg_basebackup.c:1496
+#: pg_basebackup.c:1550
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 内存溢出\n"
 
-#: pg_basebackup.c:1609
+#: pg_basebackup.c:1627
 #, c-format
 msgid "%s: incompatible server version %s\n"
 msgstr "%s: 不兼容的服务器版本号 %s\n"
 
-#: pg_basebackup.c:1656 pg_recvlogical.c:261 receivelog.c:549 receivelog.c:600
-#: receivelog.c:641 streamutil.c:255 streamutil.c:353 streamutil.c:399
+#: pg_basebackup.c:1674 pg_recvlogical.c:261 receivelog.c:536 receivelog.c:587
+#: receivelog.c:627 streamutil.c:255 streamutil.c:359 streamutil.c:405
 #, c-format
 msgid "%s: could not send replication command \"%s\": %s"
 msgstr "%s: 无法发送复制命令 \"%s\": %s"
 
-#: pg_basebackup.c:1667
+#: pg_basebackup.c:1685
 #, c-format
 msgid "%s: could not initiate base backup: %s"
 msgstr "%s: 无法发起基础备份: %s"
 
-#: pg_basebackup.c:1674
+#: pg_basebackup.c:1692
 #, c-format
 msgid ""
 "%s: server returned unexpected response to BASE_BACKUP command; got %d rows "
@@ -453,181 +458,186 @@ msgstr ""
 "%s: 服务器对BASE_BACKUP命令返回意外的响应; 得到 %d 行和 %d 列, 期望值为: %d "
 "行和 %d 列\n"
 
-#: pg_basebackup.c:1694
+#: pg_basebackup.c:1712
 #, c-format
 msgid "transaction log start point: %s on timeline %u\n"
 msgstr "事务日志起始于时间点: %s, 基于时间表%u \n"
 
-#: pg_basebackup.c:1703
+#: pg_basebackup.c:1721
 #, c-format
 msgid "%s: could not get backup header: %s"
 msgstr "%s: 无法得到备份头: %s"
 
-#: pg_basebackup.c:1709
+#: pg_basebackup.c:1727
 #, c-format
 msgid "%s: no data returned from server\n"
 msgstr "%s: 服务器没有数据返回\n"
 
 # Here, we need to understand what's the content "database has"?
 # Is it the stdout fd? or anything else? Please correct me here.
-#: pg_basebackup.c:1741
+#: pg_basebackup.c:1759
 #, c-format
 msgid "%s: can only write single tablespace to stdout, database has %d\n"
 msgstr "%s: 只能把表空间写往标准输出, 数据库拥有标准输出: %d\n"
 
-#: pg_basebackup.c:1753
+#: pg_basebackup.c:1771
 #, c-format
 msgid "%s: starting background WAL receiver\n"
 msgstr "%s: 启动后台 WAL 接收进程\n"
 
-#: pg_basebackup.c:1784
+#: pg_basebackup.c:1802
 #, c-format
 msgid "%s: could not get transaction log end position from server: %s"
 msgstr "%s: 无法得到来自服务器的事务日志终止位置: %s"
 
-#: pg_basebackup.c:1791
+#: pg_basebackup.c:1809
 #, c-format
 msgid "%s: no transaction log end position returned from server\n"
 msgstr "%s: 服务器端没有返回事务日志的终止位置\n"
 
-#: pg_basebackup.c:1803
+#: pg_basebackup.c:1821
 #, c-format
 msgid "%s: final receive failed: %s"
 msgstr "%s: 最终接收失败: %s"
 
-#: pg_basebackup.c:1821
+#: pg_basebackup.c:1839
 #, c-format
 msgid "%s: waiting for background process to finish streaming ...\n"
 msgstr "%s: 等待后台进程结束流操作...\n"
 
-#: pg_basebackup.c:1827
+#: pg_basebackup.c:1845
 #, c-format
 msgid "%s: could not send command to background pipe: %s\n"
 msgstr "%s: 无法发送命令到后台管道: %s\n"
 
-#: pg_basebackup.c:1836
+#: pg_basebackup.c:1854
 #, c-format
 msgid "%s: could not wait for child process: %s\n"
 msgstr "%s: 无法等待子进程: %s\n"
 
-#: pg_basebackup.c:1842
+#: pg_basebackup.c:1860
 #, c-format
 msgid "%s: child %d died, expected %d\n"
 msgstr "%s: 子进程 %d 已终止, 期望值为 %d\n"
 
-#: pg_basebackup.c:1848
+#: pg_basebackup.c:1866
 #, c-format
 msgid "%s: child process did not exit normally\n"
 msgstr "%s: 子进程没有正常退出\n"
 
-#: pg_basebackup.c:1854
+#: pg_basebackup.c:1872
 #, c-format
 msgid "%s: child process exited with error %d\n"
 msgstr "%s: 子进程退出, 错误码为: %d\n"
 
-#: pg_basebackup.c:1881
+#: pg_basebackup.c:1899
 #, c-format
 msgid "%s: could not wait for child thread: %s\n"
 msgstr "%s: 无法等待子线程: %s\n"
 
-#: pg_basebackup.c:1888
+#: pg_basebackup.c:1906
 #, c-format
 msgid "%s: could not get child thread exit status: %s\n"
 msgstr "%s: 无法得到子线程退出状态: %s\n"
 
-#: pg_basebackup.c:1894
+#: pg_basebackup.c:1912
 #, c-format
 msgid "%s: child thread exited with error %u\n"
 msgstr "%s: 子线程退出, 错误码为: %u\n"
 
-#: pg_basebackup.c:1983
+#: pg_basebackup.c:2002
 #, c-format
 msgid "%s: invalid output format \"%s\", must be \"plain\" or \"tar\"\n"
 msgstr "%s: 无效输出格式: \"%s\", 有效值为: \"plain\" 或者 \"tar\"\n"
 
-#: pg_basebackup.c:2001 pg_basebackup.c:2013
+#: pg_basebackup.c:2023 pg_basebackup.c:2035
 #, c-format
 msgid "%s: cannot specify both --xlog and --xlog-method\n"
 msgstr "%s: 不能同时指定两个选项: --xlog and --xlog-method\n"
 
-#: pg_basebackup.c:2028
+#: pg_basebackup.c:2050
 #, c-format
 msgid ""
 "%s: invalid xlog-method option \"%s\", must be \"fetch\" or \"stream\"\n"
 msgstr ""
 "%s: 无效的xlog-method 选项: \"%s\", 必须是: \"fetch\" 或者 \"stream\"\n"
 
-#: pg_basebackup.c:2050
+#: pg_basebackup.c:2072
 #, c-format
 msgid "%s: invalid compression level \"%s\"\n"
 msgstr "%s: 无效的压缩级别值: \"%s\"\n"
 
-#: pg_basebackup.c:2062
+#: pg_basebackup.c:2084
 #, c-format
 msgid ""
 "%s: invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"\n"
 msgstr "%s: 无效的检查点参数: \"%s\", 必须是: \"fast\" 或 \"spread\"\n"
 
-#: pg_basebackup.c:2089 pg_receivexlog.c:439 pg_recvlogical.c:752
+#: pg_basebackup.c:2111 pg_receivexlog.c:445 pg_recvlogical.c:760
 #, c-format
 msgid "%s: invalid status interval \"%s\"\n"
 msgstr "%s: 无效的状态间隔值: \"%s\"\n"
 
-#: pg_basebackup.c:2105 pg_basebackup.c:2119 pg_basebackup.c:2130
-#: pg_basebackup.c:2143 pg_basebackup.c:2153 pg_basebackup.c:2165
-#: pg_basebackup.c:2176 pg_receivexlog.c:471 pg_receivexlog.c:485
-#: pg_receivexlog.c:493 pg_receivexlog.c:503 pg_receivexlog.c:514
-#: pg_recvlogical.c:779 pg_recvlogical.c:793 pg_recvlogical.c:804
+#: pg_basebackup.c:2127 pg_basebackup.c:2141 pg_basebackup.c:2152
+#: pg_basebackup.c:2165 pg_basebackup.c:2175 pg_basebackup.c:2185
+#: pg_basebackup.c:2197 pg_basebackup.c:2208 pg_receivexlog.c:477
+#: pg_receivexlog.c:491 pg_receivexlog.c:499 pg_receivexlog.c:509
+#: pg_receivexlog.c:520 pg_recvlogical.c:787 pg_recvlogical.c:801
 #: pg_recvlogical.c:812 pg_recvlogical.c:820 pg_recvlogical.c:828
-#: pg_recvlogical.c:836 pg_recvlogical.c:844
+#: pg_recvlogical.c:836 pg_recvlogical.c:844 pg_recvlogical.c:852
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: pg_basebackup.c:2117 pg_receivexlog.c:483 pg_recvlogical.c:791
+#: pg_basebackup.c:2139 pg_receivexlog.c:489 pg_recvlogical.c:799
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: pg_basebackup.c:2129 pg_receivexlog.c:513
+#: pg_basebackup.c:2151 pg_receivexlog.c:519
 #, c-format
 msgid "%s: no target directory specified\n"
 msgstr "%s: 没有指定目标目录\n"
 
-#: pg_basebackup.c:2141
+#: pg_basebackup.c:2163
 #, c-format
 msgid "%s: only tar mode backups can be compressed\n"
 msgstr "%s: 只有tar模式备份才能进行压缩\n"
 
-#: pg_basebackup.c:2151
+#: pg_basebackup.c:2173
 #, c-format
 msgid "%s: WAL streaming can only be used in plain mode\n"
 msgstr "%s: WAL 流操作只能在plain模式下使用\n"
 
-#: pg_basebackup.c:2163
+#: pg_basebackup.c:2183
+#, c-format
+#| msgid "replication slots can only be used if max_replication_slots > 0"
+msgid "%s: replication slots can only be used with WAL streaming\n"
+msgstr "%s: 复制槽只能和WAL流复制一起使用\n"
+
+#: pg_basebackup.c:2195
 #, c-format
 msgid ""
 "%s: transaction log directory location can only be specified in plain mode\n"
 msgstr "%s: 事务日志目录的位置只能在简单模式里指定\n"
 
-#: pg_basebackup.c:2174
+#: pg_basebackup.c:2206
 #, c-format
 msgid "%s: transaction log directory location must be an absolute path\n"
 msgstr "%s: 事务日志目录的位置必须为绝对路径\n"
 
-#: pg_basebackup.c:2186
+#: pg_basebackup.c:2218
 #, c-format
 msgid "%s: this build does not support compression\n"
 msgstr "%s: 这个编译版本不支持压缩\n"
 
-#: pg_basebackup.c:2213
+#: pg_basebackup.c:2245
 #, c-format
 msgid "%s: could not create symbolic link \"%s\": %s\n"
 msgstr "%s: 无法创建符号链接 \"%s\": %s\n"
 
-#: pg_basebackup.c:2218
+#: pg_basebackup.c:2250
 #, c-format
-#| msgid "%s: symlinks are not supported on this platform"
 msgid "%s: symlinks are not supported on this platform\n"
 msgstr "%s:在这个平台上不支持符号链接\n"
 
@@ -677,11 +687,6 @@ msgstr ""
 "  -s, --status-interval=SECS\n"
 "                         发往服务器的状态包的时间间隔 (默认为: %d)\n"
 
-#: pg_receivexlog.c:74
-#, c-format
-msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
-msgstr "  -S, --slot=SLOTNAME    用于复制的槽名\n"
-
 #: pg_receivexlog.c:75
 #, c-format
 msgid ""
@@ -690,9 +695,6 @@ msgstr "      --synchronous      在写入后立即刷写事务日志\n"
 
 #: pg_receivexlog.c:86
 #, c-format
-#| msgid ""
-#| "\n"
-#| "Options:\n"
 msgid ""
 "\n"
 "Optional actions:\n"
@@ -754,62 +756,57 @@ msgstr "%s: 段文件 \"%s\" 大小值: %d不正确, 跳过\n"
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: 无法读取目录 \"%s\": %s\n"
 
-#: pg_receivexlog.c:331
+#: pg_receivexlog.c:332
 #, c-format
 msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
 msgstr "%s: 在时间点: %X/%X (时间安排%u)启动日志的流操作 \n"
 
-#: pg_receivexlog.c:420 pg_recvlogical.c:699
+#: pg_receivexlog.c:426 pg_recvlogical.c:707
 #, c-format
 msgid "%s: invalid port number \"%s\"\n"
 msgstr "%s: 无效端口号 \"%s\"\n"
 
-#: pg_receivexlog.c:492
+#: pg_receivexlog.c:498
 #, c-format
-#| msgid "%s: cannot use --create-slot or --start together with --drop-slot\n"
 msgid "%s: cannot use --create-slot together with --drop-slot\n"
 msgstr "%s: 不能把--create-slot和--drop-slot一起使用\n"
 
 #. translator: second %s is an option name
-#: pg_receivexlog.c:501
+#: pg_receivexlog.c:507
 #, c-format
-#| msgid "%s: at least one action needs to be specified\n"
 msgid "%s: %s needs a slot to be specified using --slot\n"
 msgstr "%s:%s需要使用--slot指定一个槽\n"
 
-#: pg_receivexlog.c:556
+#: pg_receivexlog.c:562
 #, c-format
 msgid ""
 "%s: replication connection using slot \"%s\" is unexpectedly database "
 "specific\n"
 msgstr "%s:使用槽\"%s\"的复制连接意外地不是指定的数据库\n"
 
-#: pg_receivexlog.c:568 pg_recvlogical.c:884
+#: pg_receivexlog.c:574 pg_recvlogical.c:892
 #, c-format
 msgid "%s: dropping replication slot \"%s\"\n"
 msgstr "%s: 删除复制槽\"%s\"\n"
 
-#: pg_receivexlog.c:581 pg_recvlogical.c:896
+#: pg_receivexlog.c:587 pg_recvlogical.c:904
 #, c-format
 msgid "%s: creating replication slot \"%s\"\n"
 msgstr "%s: 创建复制槽 \"%s\"\n"
 
-#: pg_receivexlog.c:608 pg_recvlogical.c:922
+#: pg_receivexlog.c:614 pg_recvlogical.c:930
 #, c-format
 msgid "%s: disconnected\n"
 msgstr "%s: 连接已断开\n"
 
 #. translator: check source for value for %d
-#: pg_receivexlog.c:615 pg_recvlogical.c:929
+#: pg_receivexlog.c:621 pg_recvlogical.c:937
 #, c-format
 msgid "%s: disconnected; waiting %d seconds to try again\n"
 msgstr "%s: 连接已断开, 将于%d 秒后尝试重连.\n"
 
 #: pg_recvlogical.c:67
 #, c-format
-#| msgid ""
-#| "%s receives PostgreSQL logical change streams.\n"
-#| "\n"
 msgid ""
 "%s controls PostgreSQL logical decoding streams.\n"
 "\n"
@@ -886,7 +883,7 @@ msgstr "  -d, --dbname=DBNAME    要连接的目标数据库\n"
 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:151 receivelog.c:415
+#: pg_recvlogical.c:151 receivelog.c:404
 #, c-format
 msgid "%s: could not send feedback packet: %s"
 msgstr "%s: 无法发送回馈包: %s"
@@ -912,197 +909,201 @@ msgstr "%s: 流已初始化\n"
 msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s:无法开启日志档 \"%s\":%s\n"
 
-#: pg_recvlogical.c:412 receivelog.c:980
+#: pg_recvlogical.c:366 receivelog.c:933
+#, c-format
+#| msgid "%s: invalid option %s\n"
+msgid "%s: invalid socket: %s"
+msgstr "%s: 无效套接字: %s"
+
+#: pg_recvlogical.c:420 receivelog.c:955
 #, c-format
 msgid "%s: select() failed: %s\n"
 msgstr "%s: select() 失败: %s\n"
 
-#: pg_recvlogical.c:421 receivelog.c:1030
+#: pg_recvlogical.c:429 receivelog.c:1005
 #, c-format
 msgid "%s: could not receive data from WAL stream: %s"
 msgstr "%s: 无法接收来自WAL流的数据: %s"
 
-#: pg_recvlogical.c:462 pg_recvlogical.c:501 receivelog.c:1075
-#: receivelog.c:1144
+#: pg_recvlogical.c:470 pg_recvlogical.c:509 receivelog.c:1050
+#: receivelog.c:1117
 #, c-format
 msgid "%s: streaming header too small: %d\n"
 msgstr "%s: 流头大小: %d 值太小\n"
 
-#: pg_recvlogical.c:484 receivelog.c:924
+#: pg_recvlogical.c:492 receivelog.c:898
 #, c-format
 msgid "%s: unrecognized streaming header: \"%c\"\n"
 msgstr "%s: 无法识别的流头: \"%c\"\n"
 
-#: pg_recvlogical.c:530 pg_recvlogical.c:544
+#: pg_recvlogical.c:538 pg_recvlogical.c:552
 #, c-format
 msgid "%s: could not write %u bytes to log file \"%s\": %s\n"
 msgstr "%s: 无法写入 %u 字节到日志文件 \"%s\": %s\n"
 
-#: pg_recvlogical.c:555 receivelog.c:707 receivelog.c:745
+#: pg_recvlogical.c:563 receivelog.c:691 receivelog.c:729
 #, c-format
 msgid "%s: unexpected termination of replication stream: %s"
 msgstr "%s: 流复制异常终止: %s"
 
-#: pg_recvlogical.c:678
+#: pg_recvlogical.c:686
 #, c-format
 msgid "%s: invalid fsync interval \"%s\"\n"
 msgstr "%s: 无效的fsync同步时间间隔值: \"%s\"\n"
 
-#: pg_recvlogical.c:719
+#: pg_recvlogical.c:727
 #, c-format
 msgid "%s: could not parse start position \"%s\"\n"
 msgstr "%s: 无法解析起始位置\"%s\"\n"
 
-#: pg_recvlogical.c:803
+#: pg_recvlogical.c:811
 #, c-format
 msgid "%s: no slot specified\n"
 msgstr "%s: 没有指定槽\n"
 
-#: pg_recvlogical.c:811
+#: pg_recvlogical.c:819
 #, c-format
 msgid "%s: no target file specified\n"
 msgstr "%s: 没有指定目标文件\n"
 
-#: pg_recvlogical.c:819
+#: pg_recvlogical.c:827
 #, c-format
 msgid "%s: no database specified\n"
 msgstr "%s: 没有指定数据库\n"
 
-#: pg_recvlogical.c:827
+#: pg_recvlogical.c:835
 #, c-format
 msgid "%s: at least one action needs to be specified\n"
 msgstr "%s: 至少要指定一个操作\n"
 
-#: pg_recvlogical.c:835
+#: pg_recvlogical.c:843
 #, c-format
 msgid "%s: cannot use --create-slot or --start together with --drop-slot\n"
 msgstr ""
 "%s: 不能使用 --create-slot 选项或 同时使用--start和--drop-slot两个选项\n"
 
-#: pg_recvlogical.c:843
+#: pg_recvlogical.c:851
 #, c-format
 msgid "%s: cannot use --create-slot or --drop-slot together with --startpos\n"
 msgstr ""
 "%s: 不能使用 --create-slot 选项或 同时使用--drop-slot和--startpos两个选项\n"
 
-#: pg_recvlogical.c:874
+#: pg_recvlogical.c:882
 #, c-format
-#| msgid "could not establish SSL connection: %s\n"
 msgid "%s: could not establish database-specific replication connection\n"
 msgstr "%s:无法建立数据库相关的复制连接\n"
 
-#: receivelog.c:75
+#: receivelog.c:66
 #, c-format
-#| msgid "could not create archive status file \"%s\": %m"
 msgid "%s: could not create archive status file \"%s\": %s\n"
 msgstr "%s:无法创建归档状态文件\"%s\":%s\n"
 
-#: receivelog.c:82 receivelog.c:206 receivelog.c:355 receivelog.c:848
-#: receivelog.c:1096
+#: receivelog.c:73 receivelog.c:196 receivelog.c:344 receivelog.c:828
+#: receivelog.c:1071
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: 无法对文件 \"%s\"进行fsync同步: %s\n"
 
-#: receivelog.c:121
+#: receivelog.c:111
 #, c-format
 msgid "%s: could not open transaction log file \"%s\": %s\n"
 msgstr "%s: 无法打开事务日志文件 \"%s\": %s\n"
 
-#: receivelog.c:133
+#: receivelog.c:123
 #, c-format
 msgid "%s: could not stat transaction log file \"%s\": %s\n"
 msgstr "%s: 无法统计事务日志文件 \"%s\": %s\n"
 
-#: receivelog.c:147
+#: receivelog.c:137
 #, 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:160
+#: receivelog.c:150
 #, c-format
 msgid "%s: could not pad transaction log file \"%s\": %s\n"
 msgstr "%s: 无法填充事务日志文件 \"%s\": %s\n"
 
-#: receivelog.c:173
+#: receivelog.c:163
 #, c-format
 msgid "%s: could not seek to beginning of transaction log file \"%s\": %s\n"
 msgstr "%s: 无法定位事务日志文件 \"%s\"的开始位置: %s\n"
 
-#: receivelog.c:199
+#: receivelog.c:189
 #, c-format
 msgid "%s: could not determine seek position in file \"%s\": %s\n"
 msgstr "%s: 无法确定文件 \"%s\"的当前位置: %s\n"
 
-#: receivelog.c:232
+#: receivelog.c:222
 #, c-format
 msgid "%s: could not rename file \"%s\": %s\n"
 msgstr "%s: 无法重命名文件 \"%s\": %s\n"
 
-#: receivelog.c:239
+#: receivelog.c:229
 #, c-format
 msgid "%s: not renaming \"%s%s\", segment is not complete\n"
 msgstr "%s: 没有重命名 \"%s%s\", 段不完整\n"
 
 # command.c:1148
-#: receivelog.c:285
+#: receivelog.c:275
 #, c-format
 msgid "%s: could not open timeline history file \"%s\": %s\n"
 msgstr "%s:无法打开时间表历史文件\"%s\":%s\n"
 
-#: receivelog.c:313
+#: receivelog.c:302
 #, c-format
 msgid "%s: server reported unexpected history file name for timeline %u: %s\n"
 msgstr "%s: 服务器为时间表报告生成的意外历史文件名 %u:%s\n"
 
-#: receivelog.c:330
+#: receivelog.c:319
 #, c-format
 msgid "%s: could not create timeline history file \"%s\": %s\n"
 msgstr "%s: 无法创建时间表历史文件 \"%s\": %s\n"
 
-#: receivelog.c:347
+#: receivelog.c:336
 #, c-format
 msgid "%s: could not write timeline history file \"%s\": %s\n"
 msgstr "%s: 无法写时间表历史文件 \"%s\": %s\n"
 
-#: receivelog.c:372
+#: receivelog.c:361
 #, c-format
 msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
 msgstr "%s: 无法将文件 \"%s\" 重命名为 \"%s\":%s\n"
 
-#: receivelog.c:449
+#: receivelog.c:438
 #, c-format
 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:459
+#: receivelog.c:448
 #, c-format
 msgid ""
 "%s: incompatible server version %s; client does not support streaming from "
 "server versions newer than %s\n"
 msgstr "%s: 不兼容的服务器版本号 %s; 当服务器版本高于%s时客户端不支持流复制\n"
 
-#: receivelog.c:557 streamutil.c:264 streamutil.c:299
+#: receivelog.c:544 streamutil.c:264 streamutil.c:303
 #, c-format
 msgid ""
 "%s: could not identify system: got %d rows and %d fields, expected %d rows "
 "and %d or more fields\n"
 msgstr "%s: 无法识别系统: 得到%d行和%d列, 期望值为: %d行和%d列或更多列\n"
 
-#: receivelog.c:565
+#: receivelog.c:552
 #, c-format
 msgid ""
 "%s: system identifier does not match between base backup and streaming "
 "connection\n"
 msgstr "%s: 基础备份和流连接的系统标识符不匹配\n"
 
-#: receivelog.c:573
+#: receivelog.c:560
 #, c-format
 msgid "%s: starting timeline %u is not present in the server\n"
 msgstr "%s: 服务器上没有起始时间表 %u\n"
 
-#: receivelog.c:613
+#: receivelog.c:600
 #, c-format
 msgid ""
 "%s: unexpected response to TIMELINE_HISTORY command: got %d rows and %d "
@@ -1111,13 +1112,13 @@ msgstr ""
 "%s: 获得命令TIMELINE_HISTORY的意外响应: 得到 %d 行和 %d 列, 期望值为: %d 行"
 "和 %d 列\n"
 
-#: receivelog.c:688
+#: receivelog.c:672
 #, c-format
 msgid ""
 "%s: server reported unexpected next timeline %u, following timeline %u\n"
 msgstr "%s: 服务器报出的下次意外时间表 %u, 紧跟时间表 %u之后\n"
 
-#: receivelog.c:695
+#: receivelog.c:679
 #, c-format
 msgid ""
 "%s: server stopped streaming timeline %u at %X/%X, but reported next "
@@ -1126,12 +1127,12 @@ msgstr ""
 "%1$s: 服务器在%3$X/%4$X时停止流操作时间表%2$u, 但是报出将在%6$X/%7$X时开始下"
 "一个时间表%5$u\n"
 
-#: receivelog.c:736
+#: receivelog.c:720
 #, c-format
 msgid "%s: replication stream was terminated before stop point\n"
 msgstr "%s: 流复制在停止点之前异常终止\n"
 
-#: receivelog.c:785
+#: receivelog.c:769
 #, c-format
 msgid ""
 "%s: unexpected result set after end-of-timeline: got %d rows and %d fields, "
@@ -1139,34 +1140,27 @@ msgid ""
 msgstr ""
 "%s: 终点时间表的意外结果集: 得到 %d 行和 %d 列, 期望值为: %d 行和 %d 列\n"
 
-#: receivelog.c:795
+#: receivelog.c:779
 #, c-format
 msgid "%s: could not parse next timeline's starting point \"%s\"\n"
 msgstr "%s: 无法解析下次时间表的起始点\"%s\"\n"
 
-# fe-misc.c:450 fe-misc.c:642 fe-misc.c:798
-#: receivelog.c:959
-#, c-format
-#| msgid "socket not open"
-msgid "%s: socket not open"
-msgstr "%s:套接字未打开"
-
-#: receivelog.c:1163
+#: receivelog.c:1136
 #, c-format
 msgid "%s: received transaction log record for offset %u with no file open\n"
 msgstr "%s: 偏移位置 %u 处接收到的事务日志记录没有打开文件\n"
 
-#: receivelog.c:1175
+#: receivelog.c:1148
 #, c-format
 msgid "%s: got WAL data offset %08x, expected %08x\n"
 msgstr "%s: 得到WAL数据偏移 %08x, 期望值为 %08x\n"
 
-#: receivelog.c:1212
+#: receivelog.c:1184
 #, c-format
 msgid "%s: could not write %u bytes to WAL file \"%s\": %s\n"
 msgstr "%s: 无法写入 %u 字节到 WAL 文件 \"%s\": %s\n"
 
-#: receivelog.c:1237 receivelog.c:1279 receivelog.c:1311
+#: receivelog.c:1209 receivelog.c:1250 receivelog.c:1281
 #, c-format
 msgid "%s: could not send copy-end packet: %s"
 msgstr "%s: 无法发送副本结束包: %s"
@@ -1182,7 +1176,6 @@ msgstr "%s: 无法连接到服务器\n"
 
 #: streamutil.c:187
 #, c-format
-#| msgid "%s: could not connect to server: %s\n"
 msgid "%s: could not connect to server: %s"
 msgstr "%s:无法连接到服务器:%s"
 
@@ -1196,35 +1189,35 @@ msgstr "%s: 无法确定服务器上integer_datetimes的配置\n"
 msgid "%s: integer_datetimes compile flag does not match server\n"
 msgstr "%s: integer_datetimes编译开关与服务器端不匹配\n"
 
-#: streamutil.c:365
+#: streamutil.c:371
 #, c-format
 msgid ""
 "%s: could not create replication slot \"%s\": got %d rows and %d fields, "
 "expected %d rows and %d fields\n"
 msgstr "%s: 无法创建复制槽 \"%s\": 得到%d行%d列, 但期望值为%d行%d列\n"
 
-#: streamutil.c:410
+#: streamutil.c:416
 #, c-format
 msgid ""
 "%s: could not drop replication slot \"%s\": got %d rows and %d fields, "
 "expected %d rows and %d fields\n"
 msgstr "%s: 无法删除复制槽 \"%s\": 得到%d行%d列, 但期望值为%d行%d列\n"
 
-#~ msgid "%s: could not parse transaction log file name \"%s\"\n"
-#~ msgstr "%s: 无法解析事务日志文件名: \"%s\"\n"
+#~ msgid "%s: could not parse file size\n"
+#~ msgstr "%s: 无法解析文件大小\n"
 
-#~ msgid "%s: keepalive message has incorrect size %d\n"
-#~ msgstr "%s: keepalive(保持活连接)的消息大小 %d 不正确 \n"
+#~ msgid "%s: could not parse file mode\n"
+#~ msgstr "%s: 无法解析文件模式\n"
+
+#~ msgid "%s: no start point returned from server\n"
+#~ msgstr "%s: 服务器没有返回起始点\n"
 
 #~ msgid ""
 #~ "%s: timeline does not match between base backup and streaming connection\n"
 #~ msgstr "%s: 基础备份和流连接的时间安排不匹配\n"
 
-#~ msgid "%s: no start point returned from server\n"
-#~ msgstr "%s: 服务器没有返回起始点\n"
-
-#~ msgid "%s: could not parse file mode\n"
-#~ msgstr "%s: 无法解析文件模式\n"
+#~ msgid "%s: keepalive message has incorrect size %d\n"
+#~ msgstr "%s: keepalive(保持活连接)的消息大小 %d 不正确 \n"
 
-#~ msgid "%s: could not parse file size\n"
-#~ msgstr "%s: 无法解析文件大小\n"
+#~ msgid "%s: could not parse transaction log file name \"%s\"\n"
+#~ msgstr "%s: 无法解析事务日志文件名: \"%s\"\n"
diff --git a/src/bin/pg_config/po/es.po b/src/bin/pg_config/po/es.po
index 209c9f7421faef369d66c80cb264c8490b2214ef..81d2de863a216c02d9bffc1c2c85bf08d61cfb86 100644
--- a/src/bin/pg_config/po/es.po
+++ b/src/bin/pg_config/po/es.po
@@ -10,23 +10,22 @@ msgstr ""
 "Project-Id-Version: pg_config (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Alvaro Herrera <alvherre@alvh.no-ip.org>\n"
+"PO-Revision-Date: 2016-05-23 09:38-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: es <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/config_info.c:131 ../../common/config_info.c:139
 #: ../../common/config_info.c:147 ../../common/config_info.c:155
 #: ../../common/config_info.c:163 ../../common/config_info.c:171
 #: ../../common/config_info.c:179 ../../common/config_info.c:187
 #: ../../common/config_info.c:195
-#, fuzzy
-#| msgid "not recorded\n"
 msgid "not recorded"
-msgstr "no registrado\n"
+msgstr "no registrado"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
diff --git a/src/bin/pg_config/po/ru.po b/src/bin/pg_config/po/ru.po
index 68c1d6b10851b56ce9425617f55c460dbef2d255..ab4b6b952bd10c9ea4ad85dac31da884c2cdf8f4 100644
--- a/src/bin/pg_config/po/ru.po
+++ b/src/bin/pg_config/po/ru.po
@@ -24,7 +24,7 @@ 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"
+"POT-Creation-Date: 2016-05-27 16:13+0000\n"
 "PO-Revision-Date: 2014-08-14 22:47+0400\n"
 "Last-Translator: Dmitriy Olshevskiy <olshevskiy87@bk.ru>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
@@ -37,6 +37,14 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.6.7\n"
 
+#: ../../common/config_info.c:131 ../../common/config_info.c:139
+#: ../../common/config_info.c:147 ../../common/config_info.c:155
+#: ../../common/config_info.c:163 ../../common/config_info.c:171
+#: ../../common/config_info.c:179 ../../common/config_info.c:187
+#: ../../common/config_info.c:195
+msgid "not recorded"
+msgstr "не записано"
+
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
@@ -72,14 +80,7 @@ msgstr "не удалось прочитать символическую ссы
 msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
-#: pg_config.c:243 pg_config.c:259 pg_config.c:275 pg_config.c:291
-#: pg_config.c:307 pg_config.c:323 pg_config.c:339 pg_config.c:355
-#: pg_config.c:371
-#, c-format
-msgid "not recorded\n"
-msgstr "не сохранено\n"
-
-#: pg_config.c:428
+#: pg_config.c:74
 #, c-format
 msgid ""
 "\n"
@@ -90,12 +91,12 @@ msgstr ""
 "%s предоставляет информацию об установленной версии PostgreSQL.\n"
 "\n"
 
-#: pg_config.c:429
+#: pg_config.c:75
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_config.c:430
+#: pg_config.c:76
 #, c-format
 msgid ""
 "  %s [OPTION]...\n"
@@ -104,28 +105,28 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: pg_config.c:431
+#: pg_config.c:77
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: pg_config.c:432
+#: pg_config.c:78
 #, c-format
 msgid "  --bindir              show location of user executables\n"
 msgstr "  --bindir              показать расположение исполняемых файлов\n"
 
-#: pg_config.c:433
+#: pg_config.c:79
 #, c-format
 msgid "  --docdir              show location of documentation files\n"
 msgstr "  --docdir              показать расположение файлов документации\n"
 
-#: pg_config.c:434
+#: pg_config.c:80
 #, c-format
 msgid "  --htmldir             show location of HTML documentation files\n"
 msgstr ""
 "  --htmldir             показать расположение HTML-файлов документации\n"
 
-#: pg_config.c:435
+#: pg_config.c:81
 #, c-format
 msgid ""
 "  --includedir          show location of C header files of the client\n"
@@ -134,13 +135,13 @@ msgstr ""
 "  --includedir          показать расположение файлов-заголовков (.h) для\n"
 "                        клиентских интерфейсов на языке C\n"
 
-#: pg_config.c:437
+#: pg_config.c:83
 #, c-format
 msgid "  --pkgincludedir       show location of other C header files\n"
 msgstr ""
 "  --pkgincludedir       показать расположение других файлов-заголовков (.h)\n"
 
-#: pg_config.c:438
+#: pg_config.c:84
 #, c-format
 msgid ""
 "  --includedir-server   show location of C header files for the server\n"
@@ -148,31 +149,31 @@ msgstr ""
 "  --includedir-server   показать расположение файлов-заголовков (.h) для "
 "сервера\n"
 
-#: pg_config.c:439
+#: pg_config.c:85
 #, c-format
 msgid "  --libdir              show location of object code libraries\n"
 msgstr ""
 "  --libdir              показать расположение библиотек объектного кода\n"
 
-#: pg_config.c:440
+#: pg_config.c:86
 #, c-format
 msgid "  --pkglibdir           show location of dynamically loadable modules\n"
 msgstr ""
 "  --pkglibdir           показать расположение динамически загружаемых "
 "модулей\n"
 
-#: pg_config.c:441
+#: pg_config.c:87
 #, c-format
 msgid "  --localedir           show location of locale support files\n"
 msgstr ""
 "  --localedir           показать расположение файлов описания локалей\n"
 
-#: pg_config.c:442
+#: pg_config.c:88
 #, c-format
 msgid "  --mandir              show location of manual pages\n"
 msgstr "  --mandir              показать расположение справочных страниц\n"
 
-#: pg_config.c:443
+#: pg_config.c:89
 #, c-format
 msgid ""
 "  --sharedir            show location of architecture-independent support "
@@ -181,7 +182,7 @@ msgstr ""
 "  --sharedir            показать расположение платформенно-независимых "
 "файлов\n"
 
-#: pg_config.c:444
+#: pg_config.c:90
 #, c-format
 msgid ""
 "  --sysconfdir          show location of system-wide configuration files\n"
@@ -189,13 +190,13 @@ msgstr ""
 "  --sysconfdir          показать расположение общесистемных файлов "
 "конфигурации\n"
 
-#: pg_config.c:445
+#: pg_config.c:91
 #, c-format
 msgid "  --pgxs                show location of extension makefile\n"
 msgstr ""
 "  --pgxs                показать расположение makefile для расширений\n"
 
-#: pg_config.c:446
+#: pg_config.c:92
 #, c-format
 msgid ""
 "  --configure           show options given to \"configure\" script when\n"
@@ -205,13 +206,13 @@ msgstr ""
 "которыми\n"
 "                        был собран PostgreSQL\n"
 
-#: pg_config.c:448
+#: pg_config.c:94
 #, c-format
 msgid "  --cc                  show CC value used when PostgreSQL was built\n"
 msgstr ""
 "  --cc                  показать, с каким значением CC собран PostgreSQL\n"
 
-#: pg_config.c:449
+#: pg_config.c:95
 #, c-format
 msgid ""
 "  --cppflags            show CPPFLAGS value used when PostgreSQL was built\n"
@@ -219,14 +220,14 @@ msgstr ""
 "  --cppflags            показать, с каким значением CPPFLAGS собран "
 "PostgreSQL\n"
 
-#: pg_config.c:450
+#: pg_config.c:96
 #, c-format
 msgid ""
 "  --cflags              show CFLAGS value used when PostgreSQL was built\n"
 msgstr ""
 "  --cflags              показать, с какими флагами C собран PostgreSQL\n"
 
-#: pg_config.c:451
+#: pg_config.c:97
 #, c-format
 msgid ""
 "  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built\n"
@@ -234,7 +235,7 @@ msgstr ""
 "  --cflags_sl           показать, с каким значением CFLAGS_SL собран "
 "PostgreSQL\n"
 
-#: pg_config.c:452
+#: pg_config.c:98
 #, c-format
 msgid ""
 "  --ldflags             show LDFLAGS value used when PostgreSQL was built\n"
@@ -242,7 +243,7 @@ msgstr ""
 "  --ldflags             показать, с каким значением LDFLAGS собран "
 "PostgreSQL\n"
 
-#: pg_config.c:453
+#: pg_config.c:99
 #, c-format
 msgid ""
 "  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was "
@@ -251,7 +252,7 @@ msgstr ""
 "  --ldflags_ex          показать, с каким значением LDFLAGS_EX собран "
 "PostgreSQL\n"
 
-#: pg_config.c:454
+#: pg_config.c:100
 #, c-format
 msgid ""
 "  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was "
@@ -260,24 +261,24 @@ msgstr ""
 "  --ldflags_sl          показать, с каким значением LDFLAGS_SL собран "
 "PostgreSQL\n"
 
-#: pg_config.c:455
+#: pg_config.c:101
 #, c-format
 msgid ""
 "  --libs                show LIBS value used when PostgreSQL was built\n"
 msgstr ""
 "  --libs                показать, с каким значением LIBS собран PostgreSQL\n"
 
-#: pg_config.c:456
+#: pg_config.c:102
 #, c-format
 msgid "  --version             show the PostgreSQL version\n"
 msgstr "  --version             показать версию PostgreSQL\n"
 
-#: pg_config.c:457
+#: pg_config.c:103
 #, c-format
 msgid "  -?, --help            show this help, then exit\n"
 msgstr "  -?, --help            показать эту справку и выйти\n"
 
-#: pg_config.c:458
+#: pg_config.c:104
 #, c-format
 msgid ""
 "\n"
@@ -288,22 +289,22 @@ msgstr ""
 "При запуске без аргументов выводятся все известные значения.\n"
 "\n"
 
-#: pg_config.c:459
+#: pg_config.c:105
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_config.c:465
+#: pg_config.c:111
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_config.c:504
+#: pg_config.c:153
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s: не удалось найти свой исполняемый файл\n"
 
-#: pg_config.c:527
+#: pg_config.c:180
 #, c-format
 msgid "%s: invalid argument: %s\n"
 msgstr "%s: неверный аргумент: %s\n"
diff --git a/src/bin/pg_controldata/po/es.po b/src/bin/pg_controldata/po/es.po
index eab2257474b6c7f4368fe5a5130d3524a2666860..446ee55201c49e908cb1e728cc851892765163ae 100644
--- a/src/bin/pg_controldata/po/es.po
+++ b/src/bin/pg_controldata/po/es.po
@@ -12,13 +12,14 @@ msgstr ""
 "Project-Id-Version: pg_controldata (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:15+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Álvaro Herrera <alvherre@alvh.no-ip.org>\n"
+"PO-Revision-Date: 2016-05-23 09:44-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: Castellano <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/controldata_utils.c:56
 #, c-format
@@ -32,7 +33,7 @@ msgstr "%s: no se pudo leer el archivo «%s»: %s\n"
 
 #: ../../common/controldata_utils.c:86
 msgid "calculated CRC checksum does not match value stored in file"
-msgstr ""
+msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo"
 
 #: ../../common/controldata_utils.c:88
 #, c-format
@@ -49,10 +50,8 @@ msgstr ""
 "\n"
 
 #: ../../common/controldata_utils.c:97
-#, fuzzy
-#| msgid "%s: encoding mismatch\n"
 msgid "byte ordering mismatch"
-msgstr "%s: codificaciones no coinciden\n"
+msgstr "discordancia en orden de bytes"
 
 #: ../../common/controldata_utils.c:99
 #, c-format
@@ -249,10 +248,9 @@ msgid "on"
 msgstr "activado"
 
 #: pg_controldata.c:217
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's NextXID:          %u/%u\n"
+#, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
-msgstr "NextXID del checkpoint más reciente:        %u/%u\n"
+msgstr "NextXID de último checkpoint:               %u/%u\n"
 
 #: pg_controldata.c:220
 #, c-format
@@ -295,16 +293,14 @@ msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "DB del oldestMultiXid del últ. checkpoint:  %u\n"
 
 #: pg_controldata.c:236
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's oldestCommitTs:   %u\n"
+#, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
-msgstr "oldestCommitTs del último checkpoint:       %u\n"
+msgstr "oldestCommitTsXid del último checkpoint:    %u\n"
 
 #: pg_controldata.c:238
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's newestCommitTs:   %u\n"
+#, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
-msgstr "newestCommitTs del último checkpoint:       %u\n"
+msgstr "newestCommitTsXid del último checkpoint:    %u\n"
 
 #: pg_controldata.c:240
 #, c-format
diff --git a/src/bin/pg_controldata/po/ru.po b/src/bin/pg_controldata/po/ru.po
index bd45791b925dda44c4322d0698bc742206776761..7e5cb8d7f3a8fd54dd93b2f9cdbfa67ab9e31bf7 100644
--- a/src/bin/pg_controldata/po/ru.po
+++ b/src/bin/pg_controldata/po/ru.po
@@ -21,7 +21,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-12-29 22:14+0000\n"
+"POT-Creation-Date: 2016-05-27 16:14+0000\n"
 "PO-Revision-Date: 2015-12-31 14:51+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -34,7 +34,55 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: pg_controldata.c:35
+#: ../../common/controldata_utils.c:56
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s: не удалось открыть файл \"%s\" для чтения: %s\n"
+
+#: ../../common/controldata_utils.c:69
+#, c-format
+msgid "%s: could not read file \"%s\": %s\n"
+msgstr "%s: не удалось прочитать файл \"%s\": %s\n"
+
+#: ../../common/controldata_utils.c:86
+msgid "calculated CRC checksum does not match value stored in file"
+msgstr ""
+"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому "
+"в файле"
+
+#: ../../common/controldata_utils.c:88
+#, c-format
+msgid ""
+"WARNING: Calculated CRC checksum does not match value stored in file.\n"
+"Either the file is corrupt, or it has a different layout than this program\n"
+"is expecting.  The results below are untrustworthy.\n"
+"\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: Вычисленная контрольная сумма не совпадает со значением в "
+"файле.\n"
+"Либо файл повреждён, либо его формат отличается от ожидаемого.\n"
+"Следующая информация может быть недостоверной.\n"
+"\n"
+
+#: ../../common/controldata_utils.c:97
+msgid "byte ordering mismatch"
+msgstr "несоответствие порядка байт"
+
+#: ../../common/controldata_utils.c:99
+#, c-format
+msgid ""
+"WARNING: possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data directory.\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: возможно несоответствие порядка байт\n"
+"Порядок байт в файле pg_control может не соответствовать используемому\n"
+"этой программой. В этом случае результаты будут неверными и\n"
+"установленный PostgreSQL будет несовместим с этим каталогом данных.\n"
+
+#: pg_controldata.c:33
 #, c-format
 msgid ""
 "%s displays control information of a PostgreSQL database cluster.\n"
@@ -43,17 +91,17 @@ msgstr ""
 "%s показывает информацию о работе кластера баз PostgreSQL.\n"
 "\n"
 
-#: pg_controldata.c:36
+#: pg_controldata.c:34
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_controldata.c:37
+#: pg_controldata.c:35
 #, c-format
 msgid "  %s [OPTION] [DATADIR]\n"
 msgstr "  %s [ПАРАМЕТР] [КАТ_ДАННЫХ]\n"
 
-#: pg_controldata.c:38
+#: pg_controldata.c:36
 #, c-format
 msgid ""
 "\n"
@@ -62,22 +110,22 @@ msgstr ""
 "\n"
 "Параметры:\n"
 
-#: pg_controldata.c:39
+#: pg_controldata.c:37
 #, c-format
 msgid " [-D] DATADIR    data directory\n"
 msgstr " [-D] КАТ_ДАННЫХ каталог данных\n"
 
-#: pg_controldata.c:40
+#: pg_controldata.c:38
 #, c-format
 msgid "  -V, --version  output version information, then exit\n"
 msgstr "  -V, --version  показать версию и выйти\n"
 
-#: pg_controldata.c:41
+#: pg_controldata.c:39
 #, c-format
 msgid "  -?, --help     show this help, then exit\n"
 msgstr "  -?, --help     показать эту справку и выйти\n"
 
-#: pg_controldata.c:42
+#: pg_controldata.c:40
 #, c-format
 msgid ""
 "\n"
@@ -91,378 +139,340 @@ msgstr ""
 "PGDATA.\n"
 "\n"
 
-#: pg_controldata.c:44
+#: pg_controldata.c:42
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_controldata.c:54
+#: pg_controldata.c:52
 msgid "starting up"
 msgstr "запускается"
 
-#: pg_controldata.c:56
+#: pg_controldata.c:54
 msgid "shut down"
 msgstr "выключен"
 
-#: pg_controldata.c:58
+#: pg_controldata.c:56
 msgid "shut down in recovery"
 msgstr "выключен при восстановлении"
 
-#: pg_controldata.c:60
+#: pg_controldata.c:58
 msgid "shutting down"
 msgstr "выключение"
 
-#: pg_controldata.c:62
+#: pg_controldata.c:60
 msgid "in crash recovery"
 msgstr "восстановление после сбоя"
 
-#: pg_controldata.c:64
+#: pg_controldata.c:62
 msgid "in archive recovery"
 msgstr "восстановление из архива"
 
-#: pg_controldata.c:66
+#: pg_controldata.c:64
 msgid "in production"
 msgstr "в работе"
 
-#: pg_controldata.c:68
+#: pg_controldata.c:66
 msgid "unrecognized status code"
 msgstr "нераспознанный код состояния"
 
-#: pg_controldata.c:85
+#: pg_controldata.c:81
 msgid "unrecognized wal_level"
 msgstr "нераспознанный уровень WAL"
 
-#: pg_controldata.c:134 pg_controldata.c:152 pg_controldata.c:160
+#: pg_controldata.c:127 pg_controldata.c:145 pg_controldata.c:153
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_controldata.c:150
+#: pg_controldata.c:143
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: pg_controldata.c:159
+#: pg_controldata.c:152
 #, c-format
 msgid "%s: no data directory specified\n"
 msgstr "%s: каталог данных не указан\n"
 
-#: pg_controldata.c:168
-#, c-format
-msgid "%s: could not open file \"%s\" for reading: %s\n"
-msgstr "%s: не удалось открыть файл \"%s\" для чтения: %s\n"
-
-#: pg_controldata.c:175
-#, c-format
-msgid "%s: could not read file \"%s\": %s\n"
-msgstr "%s: не удалось прочитать файл \"%s\": %s\n"
-
-#: pg_controldata.c:189
-#, c-format
-msgid ""
-"WARNING: Calculated CRC checksum does not match value stored in file.\n"
-"Either the file is corrupt, or it has a different layout than this program\n"
-"is expecting.  The results below are untrustworthy.\n"
-"\n"
-msgstr ""
-"ПРЕДУПРЕЖДЕНИЕ: Вычисленная контрольная сумма не совпадает со значением в "
-"файле.\n"
-"Либо файл повреждён, либо его формат отличается от ожидаемого.\n"
-"Следующая информация может быть недостоверной.\n"
-"\n"
-
-#: pg_controldata.c:223
+#: pg_controldata.c:190
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "Номер версии pg_control:              %u\n"
 
-#: pg_controldata.c:226
-#, c-format
-msgid ""
-"WARNING: possible byte ordering mismatch\n"
-"The byte ordering used to store the pg_control file might not match the one\n"
-"used by this program.  In that case the results below would be incorrect, "
-"and\n"
-"the PostgreSQL installation would be incompatible with this data directory.\n"
-msgstr ""
-"ПРЕДУПРЕЖДЕНИЕ: возможно несоответствие порядка байт\n"
-"Порядок байт в файле pg_control может не соответствовать используемому\n"
-"этой программой. В этом случае результаты будут неверными и\n"
-"установленный PostgreSQL будет несовместим с этим каталогом данных.\n"
-
-#: pg_controldata.c:230
+#: pg_controldata.c:192
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Номер версии каталога:                %u\n"
 
-#: pg_controldata.c:232
+#: pg_controldata.c:194
 #, c-format
 msgid "Database system identifier:           %s\n"
 msgstr "Идентификатор системы баз данных:     %s\n"
 
-#: pg_controldata.c:234
+#: pg_controldata.c:196
 #, c-format
 msgid "Database cluster state:               %s\n"
 msgstr "Состояние кластера БД:                %s\n"
 
-#: pg_controldata.c:236
+#: pg_controldata.c:198
 #, c-format
 msgid "pg_control last modified:             %s\n"
 msgstr "Последнее обновление pg_control:      %s\n"
 
-#: pg_controldata.c:238
+#: pg_controldata.c:200
 #, c-format
 msgid "Latest checkpoint location:           %X/%X\n"
 msgstr "Положение последней конт. точки:      %X/%X\n"
 
-#: pg_controldata.c:241
+#: pg_controldata.c:203
 #, c-format
 msgid "Prior checkpoint location:            %X/%X\n"
 msgstr "Положение предыдущей конт. точки:     %X/%X\n"
 
-#: pg_controldata.c:244
+#: pg_controldata.c:206
 #, c-format
 msgid "Latest checkpoint's REDO location:    %X/%X\n"
 msgstr "Положение REDO последней конт. точки: %X/%X\n"
 
-#: pg_controldata.c:247
+#: pg_controldata.c:209
 #, c-format
 msgid "Latest checkpoint's REDO WAL file:    %s\n"
 msgstr "Файл WAL c REDO последней к.т.:       %s\n"
 
-#: pg_controldata.c:249
+#: pg_controldata.c:211
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "Линия времени последней конт. точки:  %u\n"
 
-#: pg_controldata.c:251
+#: pg_controldata.c:213
 #, c-format
 msgid "Latest checkpoint's PrevTimeLineID:   %u\n"
 msgstr "Пред. линия времени последней к.т.:   %u\n"
 
-#: pg_controldata.c:253
+#: pg_controldata.c:215
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "Режим full_page_writes последней к.т: %s\n"
 
-#: pg_controldata.c:254 pg_controldata.c:299 pg_controldata.c:309
+#: pg_controldata.c:216 pg_controldata.c:261 pg_controldata.c:271
 msgid "off"
 msgstr "выкл."
 
-#: pg_controldata.c:254 pg_controldata.c:299 pg_controldata.c:309
+#: pg_controldata.c:216 pg_controldata.c:261 pg_controldata.c:271
 msgid "on"
 msgstr "вкл."
 
-#: pg_controldata.c:255
+#: pg_controldata.c:217
 #, c-format
-msgid "Latest checkpoint's NextXID:          %u/%u\n"
-msgstr "NextXID последней конт. точки:        %u/%u\n"
+msgid "Latest checkpoint's NextXID:          %u:%u\n"
+msgstr "NextXID последней конт. точки:        %u:%u\n"
 
-#: pg_controldata.c:258
+#: pg_controldata.c:220
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "NextOID последней конт. точки:        %u\n"
 
-#: pg_controldata.c:260
+#: pg_controldata.c:222
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "NextMultiXactId послед. конт. точки:  %u\n"
 
-#: pg_controldata.c:262
+#: pg_controldata.c:224
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "NextMultiOffset послед. конт. точки:  %u\n"
 
-#: pg_controldata.c:264
+#: pg_controldata.c:226
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "oldestXID последней конт. точки:      %u\n"
 
-#: pg_controldata.c:266
+#: pg_controldata.c:228
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "БД с oldestXID последней конт. точки: %u\n"
 
-#: pg_controldata.c:268
+#: pg_controldata.c:230
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
 msgstr "oldestActiveXID последней к.т.:       %u\n"
 
-#: pg_controldata.c:270
+#: pg_controldata.c:232
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
 msgstr "oldestMultiXid последней конт. точки: %u\n"
 
-#: pg_controldata.c:272
+#: pg_controldata.c:234
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "БД с oldestMulti последней к.т.:      %u\n"
 
-#: pg_controldata.c:274
+#: pg_controldata.c:236
 #, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
 msgstr "oldestCommitTsXid последней к. т.:    %u\n"
 
-#: pg_controldata.c:276
+#: pg_controldata.c:238
 #, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
 msgstr "newestCommitTsXid последней к. т.:    %u\n"
 
-#: pg_controldata.c:278
+#: pg_controldata.c:240
 #, c-format
 msgid "Time of latest checkpoint:            %s\n"
 msgstr "Время последней контрольной точки:    %s\n"
 
-#: pg_controldata.c:280
+#: pg_controldata.c:242
 #, c-format
 msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
 msgstr "Фиктивный LSN для нежурналир. таблиц: %X/%X\n"
 
-#: pg_controldata.c:283
+#: pg_controldata.c:245
 #, c-format
 msgid "Minimum recovery ending location:     %X/%X\n"
 msgstr "Мин. положение конца восстановления:  %X/%X\n"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:248
 #, c-format
 msgid "Min recovery ending loc's timeline:   %u\n"
 msgstr "Линия времени мин. положения к.в.:    %u\n"
 
-#: pg_controldata.c:288
+#: pg_controldata.c:250
 #, c-format
 msgid "Backup start location:                %X/%X\n"
 msgstr "Положение начала копии:               %X/%X\n"
 
-#: pg_controldata.c:291
+#: pg_controldata.c:253
 #, c-format
 msgid "Backup end location:                  %X/%X\n"
 msgstr "Положение конца копии:                %X/%X\n"
 
-#: pg_controldata.c:294
+#: pg_controldata.c:256
 #, c-format
 msgid "End-of-backup record required:        %s\n"
 msgstr "Требуется запись конец-копии:         %s\n"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:257
 msgid "no"
 msgstr "нет"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:257
 msgid "yes"
 msgstr "да"
 
-#: pg_controldata.c:296
+#: pg_controldata.c:258
 #, c-format
 msgid "wal_level setting:                    %s\n"
 msgstr "Значение wal_level:                   %s\n"
 
-#: pg_controldata.c:298
+#: pg_controldata.c:260
 #, c-format
 msgid "wal_log_hints setting:                %s\n"
 msgstr "Значение wal_log_hints:               %s\n"
 
-#: pg_controldata.c:300
+#: pg_controldata.c:262
 #, c-format
 msgid "max_connections setting:              %d\n"
 msgstr "Значение max_connections:             %d\n"
 
-#: pg_controldata.c:302
+#: pg_controldata.c:264
 #, c-format
 msgid "max_worker_processes setting:         %d\n"
 msgstr "Значение max_worker_processes:        %d\n"
 
-#: pg_controldata.c:304
+#: pg_controldata.c:266
 #, c-format
 msgid "max_prepared_xacts setting:           %d\n"
 msgstr "Значение max_prepared_xacts:          %d\n"
 
-#: pg_controldata.c:306
+#: pg_controldata.c:268
 #, c-format
 msgid "max_locks_per_xact setting:           %d\n"
 msgstr "Значение max_locks_per_xact:          %d\n"
 
-#: pg_controldata.c:308
+#: pg_controldata.c:270
 #, c-format
 msgid "track_commit_timestamp setting:       %s\n"
 msgstr "Значение track_commit_timestamp:      %s\n"
 
-#: pg_controldata.c:310
+#: pg_controldata.c:272
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "Макс. предел выравнивания данных:     %u\n"
 
-#: pg_controldata.c:313
+#: pg_controldata.c:275
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "Размер блока БД:                      %u\n"
 
-#: pg_controldata.c:315
+#: pg_controldata.c:277
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "Блоков в макс. сегменте отношений:    %u\n"
 
-#: pg_controldata.c:317
+#: pg_controldata.c:279
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "Размер блока WAL:                     %u\n"
 
-#: pg_controldata.c:319
+#: pg_controldata.c:281
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "Байт в сегменте WAL:                  %u\n"
 
-#: pg_controldata.c:321
+#: pg_controldata.c:283
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "Максимальная длина идентификаторов:   %u\n"
 
-#: pg_controldata.c:323
+#: pg_controldata.c:285
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "Максимальное число столбцов в индексе: %u\n"
 
-#: pg_controldata.c:325
+#: pg_controldata.c:287
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "Максимальный размер порции TOAST:     %u\n"
 
-#: pg_controldata.c:327
+#: pg_controldata.c:289
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "Размер порции большого объекта:       %u\n"
 
-#: pg_controldata.c:329
+#: pg_controldata.c:291
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "Формат хранения даты/времени:         %s\n"
 
-#: pg_controldata.c:330
+#: pg_controldata.c:292
 msgid "64-bit integers"
 msgstr "64-битные целые"
 
-#: pg_controldata.c:330
+#: pg_controldata.c:292
 msgid "floating-point numbers"
 msgstr "числа с плавающей точкой"
 
-#: pg_controldata.c:331
+#: pg_controldata.c:293
 #, c-format
 msgid "Float4 argument passing:              %s\n"
 msgstr "Передача аргумента Float4:            %s\n"
 
-#: pg_controldata.c:332 pg_controldata.c:334
+#: pg_controldata.c:294 pg_controldata.c:296
 msgid "by reference"
 msgstr "по ссылке"
 
-#: pg_controldata.c:332 pg_controldata.c:334
+#: pg_controldata.c:294 pg_controldata.c:296
 msgid "by value"
 msgstr "по значению"
 
-#: pg_controldata.c:333
+#: pg_controldata.c:295
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "Передача аргумента Float8:            %s\n"
 
-#: pg_controldata.c:335
+#: pg_controldata.c:297
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "Версия контрольных сумм страниц:      %u\n"
diff --git a/src/bin/pg_controldata/po/zh_CN.po b/src/bin/pg_controldata/po/zh_CN.po
index f71490f32a7021e99ef17d68fbee3144d26e3bdb..560c83a0790c656480656a018438cb5aed7b1dc5 100644
--- a/src/bin/pg_controldata/po/zh_CN.po
+++ b/src/bin/pg_controldata/po/zh_CN.po
@@ -5,17 +5,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_controldata (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:44+0000\n"
-"PO-Revision-Date: 2015-12-01 19:42+0800\n"
+"POT-Creation-Date: 2016-04-18 04:45+0000\n"
+"PO-Revision-Date: 2016-05-19 20:40+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.7\n"
 
-#: pg_controldata.c:35
+#: pg_controldata.c:33
 #, c-format
 msgid ""
 "%s displays control information of a PostgreSQL database cluster.\n"
@@ -24,17 +24,17 @@ msgstr ""
 "%s 显示 PostgreSQL 数据库簇控制信息.\n"
 "\n"
 
-#: pg_controldata.c:36
+#: pg_controldata.c:34
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
-#: pg_controldata.c:37
+#: pg_controldata.c:35
 #, c-format
 msgid "  %s [OPTION] [DATADIR]\n"
 msgstr "  %s [选项][DATADIR]\n"
 
-#: pg_controldata.c:38
+#: pg_controldata.c:36
 #, c-format
 msgid ""
 "\n"
@@ -43,23 +43,22 @@ msgstr ""
 "\n"
 "选项:\n"
 
-#: pg_controldata.c:39
+#: pg_controldata.c:37
 #, c-format
-#| msgid "  -D DATADIR         database directory\n"
 msgid " [-D] DATADIR    data directory\n"
 msgstr " [-D] DATADIR    数据目录\n"
 
-#: pg_controldata.c:40
+#: pg_controldata.c:38
 #, c-format
 msgid "  -V, --version  output version information, then exit\n"
 msgstr " -V, --version 输出版本信息,然后退出\n"
 
-#: pg_controldata.c:41
+#: pg_controldata.c:39
 #, c-format
 msgid "  -?, --help     show this help, then exit\n"
 msgstr "  -?, --help     显示帮助信息,然后退出\n"
 
-#: pg_controldata.c:42
+#: pg_controldata.c:40
 #, c-format
 msgid ""
 "\n"
@@ -73,392 +72,364 @@ msgstr ""
 "环境变量PGDATA.\n"
 "\n"
 
-#: pg_controldata.c:44
+#: pg_controldata.c:42
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "报告错误至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_controldata.c:54
+#: pg_controldata.c:52
 msgid "starting up"
 msgstr "正在启动"
 
-#: pg_controldata.c:56
+#: pg_controldata.c:54
 msgid "shut down"
 msgstr "关闭"
 
-#: pg_controldata.c:58
+#: pg_controldata.c:56
 msgid "shut down in recovery"
 msgstr "在恢复过程中关闭数据库"
 
-#: pg_controldata.c:60
+#: pg_controldata.c:58
 msgid "shutting down"
 msgstr "正在关闭"
 
-#: pg_controldata.c:62
+#: pg_controldata.c:60
 msgid "in crash recovery"
 msgstr "在恢复中"
 
-#: pg_controldata.c:64
+#: pg_controldata.c:62
 msgid "in archive recovery"
 msgstr "正在归档恢复"
 
-#: pg_controldata.c:66
+#: pg_controldata.c:64
 msgid "in production"
 msgstr "在运行中"
 
-#: pg_controldata.c:68
+#: pg_controldata.c:66
 msgid "unrecognized status code"
 msgstr "不被认可的状态码"
 
-#: pg_controldata.c:85
+#: pg_controldata.c:81
 msgid "unrecognized wal_level"
 msgstr "参数wal_level的值无法识别"
 
-#: pg_controldata.c:134 pg_controldata.c:152 pg_controldata.c:160
+#: pg_controldata.c:127 pg_controldata.c:145 pg_controldata.c:153
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "用 \"%s --help\" 显示更多的信息.\n"
 
-#: pg_controldata.c:150
+#: pg_controldata.c:143
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: pg_controldata.c:159
+#: pg_controldata.c:152
 #, c-format
 msgid "%s: no data directory specified\n"
 msgstr "%s: 没有指定数据目录\n"
 
-#: pg_controldata.c:168
-#, c-format
-msgid "%s: could not open file \"%s\" for reading: %s\n"
-msgstr "%s: 无法打开文件 \"%s\" 读取信息: %s\n"
-
-#: pg_controldata.c:175
-#, c-format
-msgid "%s: could not read file \"%s\": %s\n"
-msgstr "%s: 无法读取文件 \"%s\": %s\n"
-
-#: pg_controldata.c:189
-#, c-format
-msgid ""
-"WARNING: Calculated CRC checksum does not match value stored in file.\n"
-"Either the file is corrupt, or it has a different layout than this program\n"
-"is expecting.  The results below are untrustworthy.\n"
-"\n"
-msgstr ""
-"警告: 计算出来的CRC校验值与已保存在文件中的值不匹配.\n"
-"不是文件坏了,就是设计与程序的期望值不同.\n"
-"下面的结果是不可靠的.\n"
-"\n"
-
-#: pg_controldata.c:223
+#: pg_controldata.c:190
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "pg_control 版本:                      %u\n"
 
-#: pg_controldata.c:226
-#, c-format
-msgid ""
-"WARNING: possible byte ordering mismatch\n"
-"The byte ordering used to store the pg_control file might not match the one\n"
-"used by this program.  In that case the results below would be incorrect, "
-"and\n"
-"the PostgreSQL installation would be incompatible with this data directory.\n"
-msgstr ""
-"警告: 可能字节顺序不匹配\n"
-"用于存储文件pg_control的字节顺序可能与程序使用的不匹配\n"
-"在那种情况下结果将会是不正确的,并且所安装的PostgreSQL\n"
-"将会与这个数据目录不兼容\n"
-
-#: pg_controldata.c:230
+#: pg_controldata.c:192
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Catalog 版本:                         %u\n"
 
-#: pg_controldata.c:232
+#: pg_controldata.c:194
 #, c-format
 msgid "Database system identifier:           %s\n"
 msgstr "数据库系统标识符:                     %s\n"
 
-#: pg_controldata.c:234
+#: pg_controldata.c:196
 #, c-format
 msgid "Database cluster state:               %s\n"
 msgstr "数据库簇状态:                         %s\n"
 
-#: pg_controldata.c:236
+#: pg_controldata.c:198
 #, c-format
 msgid "pg_control last modified:             %s\n"
 msgstr "pg_control 最后修改:                  %s\n"
 
-#: pg_controldata.c:238
+#: pg_controldata.c:200
 #, c-format
 msgid "Latest checkpoint location:           %X/%X\n"
 msgstr "最新检查点位置:                       %X/%X\n"
 
-#: pg_controldata.c:241
+#: pg_controldata.c:203
 #, c-format
 msgid "Prior checkpoint location:            %X/%X\n"
 msgstr "优先检查点位置:                       %X/%X\n"
 
-#: pg_controldata.c:244
+#: pg_controldata.c:206
 #, c-format
 msgid "Latest checkpoint's REDO location:    %X/%X\n"
 msgstr "最新检查点的 REDO 位置:               %X/%X\n"
 
-#: pg_controldata.c:247
+#: pg_controldata.c:209
 #, c-format
 msgid "Latest checkpoint's REDO WAL file:    %s\n"
 msgstr "最新检查点的重做日志文件: %s\n"
 
-#: pg_controldata.c:249
+#: pg_controldata.c:211
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "最新检查点的 TimeLineID:              %u\n"
 
-#: pg_controldata.c:251
+#: pg_controldata.c:213
 #, c-format
 msgid "Latest checkpoint's PrevTimeLineID:   %u\n"
 msgstr "最新检查点的PrevTimeLineID: %u\n"
 
-#: pg_controldata.c:253
+#: pg_controldata.c:215
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "最新检查点的full_page_writes: %s\n"
 
 # help.c:48
-#: pg_controldata.c:254 pg_controldata.c:299 pg_controldata.c:309
+#: pg_controldata.c:216 pg_controldata.c:261 pg_controldata.c:271
 msgid "off"
 msgstr "关闭"
 
 # help.c:48
-#: pg_controldata.c:254 pg_controldata.c:299 pg_controldata.c:309
+#: pg_controldata.c:216 pg_controldata.c:261 pg_controldata.c:271
 msgid "on"
 msgstr "开启"
 
-#: pg_controldata.c:255
+#: pg_controldata.c:217
 #, c-format
-msgid "Latest checkpoint's NextXID:          %u/%u\n"
-msgstr "最新检查点的 NextXID:            %u/%u\n"
+#| msgid "Latest checkpoint's NextXID:          %u/%u\n"
+msgid "Latest checkpoint's NextXID:          %u:%u\n"
+msgstr "最新检查点的NextXID:          %u:%u\n"
 
-#: pg_controldata.c:258
+#: pg_controldata.c:220
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "最新检查点的 NextOID:                 %u\n"
 
-#: pg_controldata.c:260
+#: pg_controldata.c:222
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "最新检查点的NextMultiXactId: %u\n"
 
-#: pg_controldata.c:262
+#: pg_controldata.c:224
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "最新检查点的NextMultiOffsetD: %u\n"
 
-#: pg_controldata.c:264
+#: pg_controldata.c:226
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "最新检查点的oldestXID:            %u\n"
 
-#: pg_controldata.c:266
+#: pg_controldata.c:228
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "最新检查点的oldestXID所在的数据库:%u\n"
 
-#: pg_controldata.c:268
+#: pg_controldata.c:230
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
-msgstr "最新检查点检查oldestActiveXID:  %u\n"
+msgstr "最新检查点的oldestActiveXID:  %u\n"
 
-#: pg_controldata.c:270
+#: pg_controldata.c:232
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
-msgstr "最新检查点检查oldestMultiXid:  %u\n"
+msgstr "最新检查点的oldestMultiXid:  %u\n"
 
-#: pg_controldata.c:272
+#: pg_controldata.c:234
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "最新检查点的oldestMulti所在的数据库:%u\n"
 
-#: pg_controldata.c:274
+#: pg_controldata.c:236
 #, c-format
-#| msgid "Latest checkpoint's oldestXID's DB:   %u\n"
-msgid "Latest checkpoint's oldestCommitTs:   %u\n"
-msgstr "最新检查点的oldestCommitTs:%u\n"
+#| msgid "Latest checkpoint's oldestCommitTs:   %u\n"
+msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
+msgstr "最新检查点的oldestCommitTsXid:%u\n"
 
-#: pg_controldata.c:276
+#: pg_controldata.c:238
 #, c-format
-#| msgid "Latest checkpoint's oldestXID's DB:   %u\n"
-msgid "Latest checkpoint's newestCommitTs:   %u\n"
-msgstr "最新检查点的newestCommitTs:%u\n"
+#| msgid "Latest checkpoint's newestCommitTs:   %u\n"
+msgid "Latest checkpoint's newestCommitTsXid:%u\n"
+msgstr "最新检查点的newestCommitTsXid:%u\n"
 
-#: pg_controldata.c:278
+#: pg_controldata.c:240
 #, c-format
 msgid "Time of latest checkpoint:            %s\n"
 msgstr "最新检查点的时间:                     %s\n"
 
-#: pg_controldata.c:280
+#: pg_controldata.c:242
 #, c-format
 msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
 msgstr "不带日志的关系: %X/%X使用虚假的LSN计数器\n"
 
-#: pg_controldata.c:283
+#: pg_controldata.c:245
 #, c-format
 msgid "Minimum recovery ending location:     %X/%X\n"
 msgstr "最小恢复结束位置: %X/%X\n"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:248
 #, c-format
 msgid "Min recovery ending loc's timeline:   %u\n"
 msgstr "最小恢复结束位置时间表: %u\n"
 
-#: pg_controldata.c:288
+#: pg_controldata.c:250
 #, c-format
 msgid "Backup start location:                %X/%X\n"
 msgstr "开始进行备份的点位置:                       %X/%X\n"
 
-#: pg_controldata.c:291
+#: pg_controldata.c:253
 #, c-format
 msgid "Backup end location:                  %X/%X\n"
 msgstr "备份的最终位置:                  %X/%X\n"
 
-#: pg_controldata.c:294
+#: pg_controldata.c:256
 #, c-format
 msgid "End-of-backup record required:        %s\n"
 msgstr "需要终止备份的记录:        %s\n"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:257
 msgid "no"
 msgstr "否"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:257
 msgid "yes"
 msgstr "是"
 
-#: pg_controldata.c:296
+#: pg_controldata.c:258
 #, c-format
-#| msgid "Current wal_level setting:            %s\n"
 msgid "wal_level setting:                    %s\n"
 msgstr "wal_level设置:                    %s\n"
 
-#: pg_controldata.c:298
+#: pg_controldata.c:260
 #, c-format
-#| msgid "Current wal_log_hints setting:        %s\n"
 msgid "wal_log_hints setting:                %s\n"
 msgstr "wal_log_hints设置:        %s\n"
 
-#: pg_controldata.c:300
+#: pg_controldata.c:262
 #, c-format
-#| msgid "Current max_connections setting:      %d\n"
 msgid "max_connections setting:              %d\n"
 msgstr "max_connections设置:   %d\n"
 
-#: pg_controldata.c:302
+#: pg_controldata.c:264
 #, c-format
-#| msgid "Current max_worker_processes setting: %d\n"
 msgid "max_worker_processes setting:         %d\n"
 msgstr "max_worker_processes设置:   %d\n"
 
-#: pg_controldata.c:304
+#: pg_controldata.c:266
 #, c-format
-#| msgid "Current max_prepared_xacts setting:   %d\n"
 msgid "max_prepared_xacts setting:           %d\n"
 msgstr "max_prepared_xacts设置:   %d\n"
 
-#: pg_controldata.c:306
+#: pg_controldata.c:268
 #, c-format
-#| msgid "Current max_locks_per_xact setting:   %d\n"
 msgid "max_locks_per_xact setting:           %d\n"
 msgstr "max_locks_per_xact设置:   %d\n"
 
-#: pg_controldata.c:308
+#: pg_controldata.c:270
 #, c-format
-#| msgid "Current wal_log_hints setting:        %s\n"
 msgid "track_commit_timestamp setting:       %s\n"
 msgstr "track_commit_timestamp设置:        %s\n"
 
-#: pg_controldata.c:310
+#: pg_controldata.c:272
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "最大数据校准:     %u\n"
 
-#: pg_controldata.c:313
+#: pg_controldata.c:275
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "数据库块大小:                         %u\n"
 
-#: pg_controldata.c:315
+#: pg_controldata.c:277
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "大关系的每段块数:                     %u\n"
 
-#: pg_controldata.c:317
+#: pg_controldata.c:279
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "WAL的块大小:    %u\n"
 
-#: pg_controldata.c:319
+#: pg_controldata.c:281
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "每一个 WAL 段字节数:                  %u\n"
 
-#: pg_controldata.c:321
+#: pg_controldata.c:283
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "标识符的最大长度:                     %u\n"
 
-#: pg_controldata.c:323
+#: pg_controldata.c:285
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "在索引中可允许使用最大的列数:    %u\n"
 
-#: pg_controldata.c:325
+#: pg_controldata.c:287
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "TOAST区块的最大长度:                %u\n"
 
-#: pg_controldata.c:327
+#: pg_controldata.c:289
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "大对象区块的大小:         %u\n"
 
-#: pg_controldata.c:329
+#: pg_controldata.c:291
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "日期/时间 类型存储:                   %s\n"
 
-#: pg_controldata.c:330
+#: pg_controldata.c:292
 msgid "64-bit integers"
 msgstr "64位整数"
 
-#: pg_controldata.c:330
+#: pg_controldata.c:292
 msgid "floating-point numbers"
 msgstr "浮点数"
 
-#: pg_controldata.c:331
+#: pg_controldata.c:293
 #, c-format
 msgid "Float4 argument passing:              %s\n"
 msgstr "正在传递Flloat4类型的参数:           %s\n"
 
-#: pg_controldata.c:332 pg_controldata.c:334
+#: pg_controldata.c:294 pg_controldata.c:296
 msgid "by reference"
 msgstr "由引用"
 
-#: pg_controldata.c:332 pg_controldata.c:334
+#: pg_controldata.c:294 pg_controldata.c:296
 msgid "by value"
 msgstr "由值"
 
-#: pg_controldata.c:333
+#: pg_controldata.c:295
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "正在传递Flloat8类型的参数:                   %s\n"
 
-#: pg_controldata.c:335
+#: pg_controldata.c:297
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "数据页校验和版本:  %u\n"
 
+#~ msgid "Latest checkpoint's StartUpID:        %u\n"
+#~ msgstr "最新检查点的 StartUpID:               %u\n"
+
+#~ msgid "LC_CTYPE:                             %s\n"
+#~ msgstr "LC_CTYPE:                             %s\n"
+
+#~ msgid "LC_COLLATE:                           %s\n"
+#~ msgstr "LC_COLLATE:                           %s\n"
+
+#~ msgid "Maximum number of function arguments: %u\n"
+#~ msgstr "函数参数的最大个数:                   %u\n"
+
+#~ msgid "Latest checkpoint's UNDO location:    %X/%X\n"
+#~ msgstr "最新检查点的 UNDO 位置:               %X/%X\n"
+
 #~ msgid ""
 #~ "Usage:\n"
 #~ "  %s [OPTION] [DATADIR]\n"
@@ -474,17 +445,34 @@ msgstr "数据页校验和版本:  %u\n"
 #~ "  --help         显示此帮助信息, 然后退出\n"
 #~ "  --version      显示 pg_controldata 的版本, 然后退出\n"
 
-#~ msgid "Latest checkpoint's UNDO location:    %X/%X\n"
-#~ msgstr "最新检查点的 UNDO 位置:               %X/%X\n"
-
-#~ msgid "Maximum number of function arguments: %u\n"
-#~ msgstr "函数参数的最大个数:                   %u\n"
+#~ msgid ""
+#~ "WARNING: possible byte ordering mismatch\n"
+#~ "The byte ordering used to store the pg_control file might not match the "
+#~ "one\n"
+#~ "used by this program.  In that case the results below would be incorrect, "
+#~ "and\n"
+#~ "the PostgreSQL installation would be incompatible with this data "
+#~ "directory.\n"
+#~ msgstr ""
+#~ "警告: 可能字节顺序不匹配\n"
+#~ "用于存储文件pg_control的字节顺序可能与程序使用的不匹配\n"
+#~ "在那种情况下结果将会是不正确的,并且所安装的PostgreSQL\n"
+#~ "将会与这个数据目录不兼容\n"
 
-#~ msgid "LC_COLLATE:                           %s\n"
-#~ msgstr "LC_COLLATE:                           %s\n"
+#~ msgid ""
+#~ "WARNING: Calculated CRC checksum does not match value stored in file.\n"
+#~ "Either the file is corrupt, or it has a different layout than this "
+#~ "program\n"
+#~ "is expecting.  The results below are untrustworthy.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "警告: 计算出来的CRC校验值与已保存在文件中的值不匹配.\n"
+#~ "不是文件坏了,就是设计与程序的期望值不同.\n"
+#~ "下面的结果是不可靠的.\n"
+#~ "\n"
 
-#~ msgid "LC_CTYPE:                             %s\n"
-#~ msgstr "LC_CTYPE:                             %s\n"
+#~ msgid "%s: could not read file \"%s\": %s\n"
+#~ msgstr "%s: 无法读取文件 \"%s\": %s\n"
 
-#~ msgid "Latest checkpoint's StartUpID:        %u\n"
-#~ msgstr "最新检查点的 StartUpID:               %u\n"
+#~ msgid "%s: could not open file \"%s\" for reading: %s\n"
+#~ msgstr "%s: 无法打开文件 \"%s\" 读取信息: %s\n"
diff --git a/src/bin/pg_ctl/po/es.po b/src/bin/pg_ctl/po/es.po
index eed6d8839d61ff200d662357f956be7067edbfad..225918a90fd4a217f09ac8db21a0e190cf5d5229 100644
--- a/src/bin/pg_ctl/po/es.po
+++ b/src/bin/pg_ctl/po/es.po
@@ -11,14 +11,14 @@ msgstr ""
 "Project-Id-Version: pg_ctl (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
+"PO-Revision-Date: 2016-05-23 09:50-0500\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL Español <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -138,16 +138,14 @@ msgid "%s: invalid data in PID file \"%s\"\n"
 msgstr "%s: datos no válidos en archivo de PID «%s»\n"
 
 #: pg_ctl.c:444 pg_ctl.c:472
-#, fuzzy, c-format
-#| msgid "%s: could not connect to server: %s"
+#, c-format
 msgid "%s: could not start server: %s\n"
-msgstr "%s: no se pudo conectar al servidor: %s"
+msgstr "%s: no se pudo iniciar el servidor: %s\n"
 
 #: pg_ctl.c:496
-#, fuzzy, c-format
-#| msgid "%s: could not start service \"%s\": error code %lu\n"
+#, c-format
 msgid "%s: could not start server: error code %lu\n"
-msgstr "%s: no se pudo iniciar el servicio «%s»: código de error %lu\n"
+msgstr "%s: no se pudo iniciar el servidor: código de error %lu\n"
 
 #: pg_ctl.c:573
 #, c-format
@@ -585,7 +583,7 @@ msgstr "  -D, --pgdata DATADIR   ubicación del área de almacenamiento de datos
 #: pg_ctl.c:1929
 #, c-format
 msgid "  -e SOURCE              event source for logging when running as a service\n"
-msgstr ""
+msgstr "  -e ORIGEN              origen para el log de eventos cuando se ejecuta como servicio\n"
 
 #: pg_ctl.c:1931
 #, c-format
diff --git a/src/bin/pg_dump/po/de.po b/src/bin/pg_dump/po/de.po
index 0214794eef208fbf40a5e78b53b6ad8f2b690b1a..8ac1ea4d9530fced19df7c76aa13656b2aa12b2f 100644
--- a/src/bin/pg_dump/po/de.po
+++ b/src/bin/pg_dump/po/de.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-04-26 09:14+0000\n"
-"PO-Revision-Date: 2016-04-26 21:28-0400\n"
+"POT-Creation-Date: 2016-06-06 22:14+0000\n"
+"PO-Revision-Date: 2016-06-07 06:48-0400\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: German <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -53,8 +53,8 @@ msgid "pclose failed: %s"
 msgstr "pclose fehlgeschlagen: %s"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 pg_backup_db.c:137 pg_backup_db.c:188
-#: pg_backup_db.c:245 pg_backup_db.c:287
+#: ../../common/fe_memutils.c:98 pg_backup_db.c:156 pg_backup_db.c:207
+#: pg_backup_db.c:264 pg_backup_db.c:306
 #, c-format
 msgid "out of memory\n"
 msgstr "Speicher aufgebraucht\n"
@@ -285,88 +285,78 @@ msgid "could not parse numeric array \"%s\": invalid character in number\n"
 msgstr "konnte numerisches Array „%s“ nicht parsen: ungültiges Zeichen in Zahl\n"
 
 #. translator: this is a module name
-#: compress_io.c:79
+#: compress_io.c:78
 msgid "compress_io"
 msgstr "compress_io"
 
-#: compress_io.c:115
+#: compress_io.c:114
 #, c-format
 msgid "invalid compression code: %d\n"
 msgstr "ungültiger Komprimierungscode: %d\n"
 
-#: compress_io.c:139 compress_io.c:175 compress_io.c:196 compress_io.c:529
-#: compress_io.c:572
+#: compress_io.c:138 compress_io.c:174 compress_io.c:192 compress_io.c:519
+#: compress_io.c:562
 #, c-format
 msgid "not built with zlib support\n"
 msgstr "nicht mit zlib-Unterstützung gebaut\n"
 
-#: compress_io.c:246 compress_io.c:348
+#: compress_io.c:242 compress_io.c:344
 #, c-format
 msgid "could not initialize compression library: %s\n"
 msgstr "konnte Komprimierungsbibliothek nicht initialisieren: %s\n"
 
-#: compress_io.c:267
+#: compress_io.c:263
 #, c-format
 msgid "could not close compression stream: %s\n"
 msgstr "konnte Komprimierungsstrom nicht schließen: %s\n"
 
-#: compress_io.c:285
+#: compress_io.c:281
 #, c-format
 msgid "could not compress data: %s\n"
 msgstr "konnte Daten nicht komprimieren: %s\n"
 
-#: compress_io.c:368 compress_io.c:384
+#: compress_io.c:361 compress_io.c:377
 #, c-format
 msgid "could not uncompress data: %s\n"
 msgstr "konnte Daten nicht dekomprimieren: %s\n"
 
-#: compress_io.c:392
+#: compress_io.c:385
 #, c-format
 msgid "could not close compression library: %s\n"
 msgstr "konnte Komprimierungsbibliothek nicht schließen: %s\n"
 
-#: compress_io.c:606 compress_io.c:642 pg_backup_custom.c:591
+#: compress_io.c:596 compress_io.c:632 pg_backup_custom.c:591
 #: pg_backup_tar.c:561
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "konnte nicht aus Eingabedatei lesen: %s\n"
 
-#: compress_io.c:645 pg_backup_custom.c:588 pg_backup_directory.c:552
+#: compress_io.c:635 pg_backup_custom.c:588 pg_backup_directory.c:548
 #: pg_backup_tar.c:797 pg_backup_tar.c:821
 #, c-format
 msgid "could not read from input file: end of file\n"
 msgstr "konnte nicht aus Eingabedatei lesen: Dateiende\n"
 
-#: parallel.c:77
+#: parallel.c:163
 msgid "parallel archiver"
 msgstr "paralleler Archivierer"
 
-#: parallel.c:140
+#: parallel.c:227
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup fehlgeschlagen: %d\n"
 
-#: parallel.c:340
-#, c-format
-msgid "worker is terminating\n"
-msgstr "Arbeitsprozess bricht ab\n"
-
-#: parallel.c:530
+#: parallel.c:930
 #, c-format
 msgid "could not create communication channels: %s\n"
 msgstr "konnte Kommunikationskanäle nicht erzeugen: %s\n"
 
-#: parallel.c:602
+#: parallel.c:993
 #, c-format
 msgid "could not create worker process: %s\n"
 msgstr "konnte Arbeitsprozess nicht erzeugen: %s\n"
 
-#: parallel.c:819
-#, c-format
-msgid "could not get relation name for OID %u: %s\n"
-msgstr "konnte Relationsnamen für OID %u nicht ermitteln: %s\n"
-
-#: parallel.c:836
+#: parallel.c:1188
 #, c-format
 msgid ""
 "could not obtain lock on relation \"%s\"\n"
@@ -375,77 +365,67 @@ msgstr ""
 "konnte Sperre für Relation „%s“ nicht setzen\n"
 "Das bedeutet meistens, dass jemand eine ACCESS-EXCLUSIVE-Sperre auf die Tabelle gesetzt hat, nachdem der pg-dump-Elternprozess die anfängliche ACCESS-SHARE-Sperre gesetzt hatte.\n"
 
-#: parallel.c:920
+#: parallel.c:1258
 #, c-format
-msgid "unrecognized command on communication channel: %s\n"
-msgstr "unbekannter Befehl auf Kommunikationskanal: %s\n"
+msgid "unrecognized command received from master: \"%s\"\n"
+msgstr "unbekannter Befehl vom Master empfangen: „%s“\n"
 
-#: parallel.c:953
+#: parallel.c:1296
 #, c-format
 msgid "a worker process died unexpectedly\n"
 msgstr "ein Arbeitsprozess endete unerwartet\n"
 
-#: parallel.c:980 parallel.c:989
+#: parallel.c:1322 parallel.c:1328
 #, c-format
-msgid "invalid message received from worker: %s\n"
-msgstr "ungültige Nachricht vom Arbeitsprozess empfangen: %s\n"
-
-#: parallel.c:986 pg_backup_db.c:355
-#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "invalid message received from worker: \"%s\"\n"
+msgstr "ungültige Nachricht vom Arbeitsprozess empfangen: „%s“\n"
 
-#: parallel.c:1038 parallel.c:1082
+#: parallel.c:1385 parallel.c:1436
 #, c-format
 msgid "error processing a parallel work item\n"
 msgstr "Fehler beim Verarbeiten eines parallelen Arbeitselements\n"
 
-#: parallel.c:1110 parallel.c:1248
+#: parallel.c:1465 parallel.c:1583
 #, c-format
 msgid "could not write to the communication channel: %s\n"
 msgstr "konnte nicht in den Kommunikationskanal schreiben: %s\n"
 
-#: parallel.c:1159
+#: parallel.c:1543
 #, c-format
-msgid "terminated by user\n"
-msgstr "vom Benutzer abgebrochen\n"
+msgid "select() failed: %s\n"
+msgstr "select() fehlgeschlagen: %s\n"
 
-#: parallel.c:1211
-#, c-format
-msgid "error in ListenToWorkers(): %s\n"
-msgstr "Fehler in ListenToWorkers(): %s\n"
-
-#: parallel.c:1336
+#: parallel.c:1668
 #, c-format
 msgid "pgpipe: could not create socket: error code %d\n"
 msgstr "pgpipe: konnte Socket nicht erzeugen: Fehlercode %d\n"
 
-#: parallel.c:1347
+#: parallel.c:1679
 #, c-format
 msgid "pgpipe: could not bind: error code %d\n"
 msgstr "pgpipe: konnte nicht binden: Fehlercode %d\n"
 
-#: parallel.c:1354
+#: parallel.c:1686
 #, c-format
 msgid "pgpipe: could not listen: error code %d\n"
 msgstr "pgpipe: konnte nicht auf Socket hören: Fehlercode %d\n"
 
-#: parallel.c:1361
+#: parallel.c:1693
 #, c-format
 msgid "pgpipe: getsockname() failed: error code %d\n"
 msgstr "pgpipe: getsockname() fehlgeschlagen: Fehlercode %d\n"
 
-#: parallel.c:1372
+#: parallel.c:1704
 #, c-format
 msgid "pgpipe: could not create second socket: error code %d\n"
 msgstr "pgpipe: konnte zweites Socket nicht erzeugen: Fehlercode %d\n"
 
-#: parallel.c:1381
+#: parallel.c:1713
 #, c-format
 msgid "pgpipe: could not connect socket: error code %d\n"
 msgstr "pgpipe: konnte Socket nicht verbinden: Fehlercode %d\n"
 
-#: parallel.c:1388
+#: parallel.c:1722
 #, c-format
 msgid "pgpipe: could not accept connection: error code %d\n"
 msgstr "pgpipe: konnte Verbindung nicht annehmen: Fehlercode %d\n"
@@ -592,7 +572,7 @@ msgstr "Wiederherstellung von Large Object mit OID %u\n"
 msgid "could not create large object %u: %s"
 msgstr "konnte Large Object %u nicht erstellen: %s"
 
-#: pg_backup_archiver.c:1246 pg_dump.c:2997
+#: pg_backup_archiver.c:1246 pg_dump.c:3048
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "konnte Large Object %u nicht öffnen: %s"
@@ -613,14 +593,14 @@ msgid "could not find entry for ID %d\n"
 msgstr "konnte Eintrag für ID %d nicht finden\n"
 
 #: pg_backup_archiver.c:1373 pg_backup_directory.c:230
-#: pg_backup_directory.c:601
+#: pg_backup_directory.c:597
 #, c-format
 msgid "could not close TOC file: %s\n"
 msgstr "konnte Inhaltsverzeichnisdatei nicht finden: %s\n"
 
 #: pg_backup_archiver.c:1482 pg_backup_custom.c:162 pg_backup_directory.c:341
-#: pg_backup_directory.c:587 pg_backup_directory.c:645
-#: pg_backup_directory.c:665
+#: pg_backup_directory.c:583 pg_backup_directory.c:641
+#: pg_backup_directory.c:661
 #, c-format
 msgid "could not open output file \"%s\": %s\n"
 msgstr "konnte Ausgabedatei „%s“ nicht öffnen: %s\n"
@@ -698,7 +678,7 @@ msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does
 msgstr "Verzeichnis „%s“ scheint kein gültiges Archiv zu sein („toc.dat“ existiert nicht)\n"
 
 #: pg_backup_archiver.c:2069 pg_backup_custom.c:181 pg_backup_custom.c:770
-#: pg_backup_directory.c:214 pg_backup_directory.c:402
+#: pg_backup_directory.c:214 pg_backup_directory.c:399
 #, c-format
 msgid "could not open input file \"%s\": %s\n"
 msgstr "konnte Eingabedatei „%s“ nicht öffnen: %s\n"
@@ -748,197 +728,192 @@ msgstr "erstelle AH für %s, Format %d\n"
 msgid "unrecognized file format \"%d\"\n"
 msgstr "nicht erkanntes Dateiformat „%d“\n"
 
-#: pg_backup_archiver.c:2473
+#: pg_backup_archiver.c:2479
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC\n"
 msgstr "ID %d des Eintrags außerhalb des gültigen Bereichs -- vielleicht ein verfälschtes Inhaltsverzeichnis\n"
 
-#: pg_backup_archiver.c:2589
+#: pg_backup_archiver.c:2595
 #, c-format
 msgid "read TOC entry %d (ID %d) for %s %s\n"
 msgstr "Inhaltsverzeichniseintrag %d (ID %d) von %s %s gelesen\n"
 
-#: pg_backup_archiver.c:2623
+#: pg_backup_archiver.c:2629
 #, c-format
 msgid "unrecognized encoding \"%s\"\n"
 msgstr "nicht erkannte Kodierung „%s“\n"
 
-#: pg_backup_archiver.c:2628
+#: pg_backup_archiver.c:2634
 #, c-format
 msgid "invalid ENCODING item: %s\n"
 msgstr "ungültiger ENCODING-Eintrag: %s\n"
 
-#: pg_backup_archiver.c:2646
+#: pg_backup_archiver.c:2652
 #, c-format
 msgid "invalid STDSTRINGS item: %s\n"
 msgstr "ungültiger STDSTRINGS-Eintrag: %s\n"
 
-#: pg_backup_archiver.c:2661
+#: pg_backup_archiver.c:2667
 #, c-format
 msgid "schema \"%s\" not found\n"
 msgstr "Schema „%s“ nicht gefunden\n"
 
-#: pg_backup_archiver.c:2668
+#: pg_backup_archiver.c:2674
 #, c-format
 msgid "table \"%s\" not found\n"
 msgstr "Tabelle „%s“ nicht gefunden\n"
 
-#: pg_backup_archiver.c:2675
+#: pg_backup_archiver.c:2681
 #, c-format
 msgid "index \"%s\" not found\n"
 msgstr "Index „%s“ nicht gefunden\n"
 
-#: pg_backup_archiver.c:2682
+#: pg_backup_archiver.c:2688
 #, c-format
 msgid "function \"%s\" not found\n"
 msgstr "Funktion „%s“ nicht gefunden\n"
 
-#: pg_backup_archiver.c:2689
+#: pg_backup_archiver.c:2695
 #, c-format
 msgid "trigger \"%s\" not found\n"
 msgstr "Trigger „%s“ nicht gefunden\n"
 
-#: pg_backup_archiver.c:2920
+#: pg_backup_archiver.c:2926
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "konnte Sitzungsbenutzer nicht auf „%s“ setzen: %s"
 
-#: pg_backup_archiver.c:2952
+#: pg_backup_archiver.c:2958
 #, c-format
 msgid "could not set default_with_oids: %s"
 msgstr "konnte default_with_oids nicht setzen: %s"
 
-#: pg_backup_archiver.c:3092
+#: pg_backup_archiver.c:3098
 #, c-format
 msgid "could not set search_path to \"%s\": %s"
 msgstr "konnte search_path nicht auf „%s“ setzen: %s"
 
-#: pg_backup_archiver.c:3154
+#: pg_backup_archiver.c:3160
 #, c-format
 msgid "could not set default_tablespace to %s: %s"
 msgstr "konnte default_tablespace nicht auf „%s“ setzen: %s"
 
-#: pg_backup_archiver.c:3241 pg_backup_archiver.c:3428
+#: pg_backup_archiver.c:3247 pg_backup_archiver.c:3434
 #, c-format
 msgid "WARNING: don't know how to set owner for object type %s\n"
 msgstr "WARNUNG: kann Eigentümer für Objekttyp %s nicht setzen\n"
 
-#: pg_backup_archiver.c:3481
-#, c-format
-msgid "WARNING: requested compression not available in this installation -- archive will be uncompressed\n"
-msgstr "WARNUNG: Komprimierung ist in dieser Installation nicht verfügbar -- Archiv wird nicht komprimiert\n"
-
-#: pg_backup_archiver.c:3520
+#: pg_backup_archiver.c:3516
 #, c-format
 msgid "did not find magic string in file header\n"
 msgstr "magische Zeichenkette im Dateikopf nicht gefunden\n"
 
-#: pg_backup_archiver.c:3533
+#: pg_backup_archiver.c:3529
 #, c-format
 msgid "unsupported version (%d.%d) in file header\n"
 msgstr "nicht unterstützte Version (%d.%d) im Dateikopf\n"
 
-#: pg_backup_archiver.c:3538
+#: pg_backup_archiver.c:3534
 #, c-format
 msgid "sanity check on integer size (%lu) failed\n"
 msgstr "Prüfung der Integer-Größe (%lu) fehlgeschlagen\n"
 
-#: pg_backup_archiver.c:3542
+#: pg_backup_archiver.c:3538
 #, c-format
 msgid "WARNING: archive was made on a machine with larger integers, some operations might fail\n"
 msgstr "WARNUNG: Archiv wurde auf einer Maschine mit größeren Integers erstellt; einige Operationen könnten fehlschlagen\n"
 
-#: pg_backup_archiver.c:3552
+#: pg_backup_archiver.c:3548
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)\n"
 msgstr "erwartetes Format (%d) ist nicht das gleiche wie das in der Datei gefundene (%d)\n"
 
-#: pg_backup_archiver.c:3568
+#: pg_backup_archiver.c:3564
 #, c-format
 msgid "WARNING: archive is compressed, but this installation does not support compression -- no data will be available\n"
 msgstr "WARNUNG: Archiv ist komprimiert, aber diese Installation unterstützt keine Komprimierung -- keine Daten verfügbar\n"
 
-#: pg_backup_archiver.c:3586
+#: pg_backup_archiver.c:3582
 #, c-format
 msgid "WARNING: invalid creation date in header\n"
 msgstr "WARNUNG: ungültiges Erstellungsdatum im Kopf\n"
 
-#: pg_backup_archiver.c:3661
+#: pg_backup_archiver.c:3657
 #, c-format
 msgid "entering restore_toc_entries_prefork\n"
 msgstr "Eintritt in restore_toc_entries_prefork\n"
 
-#: pg_backup_archiver.c:3705
+#: pg_backup_archiver.c:3701
 #, c-format
 msgid "processing item %d %s %s\n"
 msgstr "verarbeite Element %d %s %s\n"
 
-#: pg_backup_archiver.c:3757
+#: pg_backup_archiver.c:3753
 #, c-format
 msgid "entering restore_toc_entries_parallel\n"
 msgstr "Eintritt in restore_toc_entries_parallel\n"
 
-#: pg_backup_archiver.c:3805
+#: pg_backup_archiver.c:3801
 #, c-format
 msgid "entering main parallel loop\n"
 msgstr "Eintritt in Hauptparallelschleife\n"
 
-#: pg_backup_archiver.c:3816
+#: pg_backup_archiver.c:3812
 #, c-format
 msgid "skipping item %d %s %s\n"
 msgstr "Element %d %s %s wird übersprungen\n"
 
-#: pg_backup_archiver.c:3826
+#: pg_backup_archiver.c:3822
 #, c-format
 msgid "launching item %d %s %s\n"
 msgstr "starte Element %d %s %s\n"
 
-#: pg_backup_archiver.c:3884
+#: pg_backup_archiver.c:3878
 #, c-format
 msgid "finished main parallel loop\n"
 msgstr "Hauptparallelschleife beendet\n"
 
-#: pg_backup_archiver.c:3893
+#: pg_backup_archiver.c:3887
 #, c-format
 msgid "entering restore_toc_entries_postfork\n"
 msgstr "Eintritt in restore_toc_entries_postfork\n"
 
-#: pg_backup_archiver.c:3911
+#: pg_backup_archiver.c:3906
 #, c-format
 msgid "processing missed item %d %s %s\n"
 msgstr "verarbeite verpasstes Element %d %s %s\n"
 
-#: pg_backup_archiver.c:4060
+#: pg_backup_archiver.c:4055
 #, c-format
 msgid "no item ready\n"
 msgstr "kein Element bereit\n"
 
-#: pg_backup_archiver.c:4109
+#: pg_backup_archiver.c:4103
 #, c-format
 msgid "could not find slot of finished worker\n"
 msgstr "konnte Slot des beendeten Arbeitsprozesses nicht finden\n"
 
-#: pg_backup_archiver.c:4111
+#: pg_backup_archiver.c:4105
 #, c-format
 msgid "finished item %d %s %s\n"
 msgstr "Element %d %s %s abgeschlossen\n"
 
-#: pg_backup_archiver.c:4124
+#: pg_backup_archiver.c:4118
 #, c-format
 msgid "worker process failed: exit code %d\n"
 msgstr "Arbeitsprozess fehlgeschlagen: Code %d\n"
 
-#: pg_backup_archiver.c:4286
+#: pg_backup_archiver.c:4280
 #, c-format
 msgid "transferring dependency %d -> %d to %d\n"
 msgstr "übertrage Abhängigkeit %d -> %d an %d\n"
 
-#: pg_backup_archiver.c:4359
+#: pg_backup_archiver.c:4353
 #, c-format
 msgid "reducing dependencies for %d\n"
 msgstr "reduziere Abhängigkeiten für %d\n"
 
-#: pg_backup_archiver.c:4398
+#: pg_backup_archiver.c:4392
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data\n"
 msgstr "Tabelle „%s“ konnte nicht erzeugt werden, ihre Daten werden nicht wiederhergestellt werden\n"
@@ -1030,104 +1005,121 @@ msgid "WARNING: ftell mismatch with expected position -- ftell used\n"
 msgstr "WARNUNG: erwartete Dateiposition stimmt nicht mit ftell überein -- benutze ftell\n"
 
 #. translator: this is a module name
-#: pg_backup_db.c:29
+#: pg_backup_db.c:30
 msgid "archiver (db)"
 msgstr "Archivierer (DB)"
 
-#: pg_backup_db.c:44
+#: pg_backup_db.c:46
 #, c-format
 msgid "could not get server_version from libpq\n"
 msgstr "konnte server_version nicht von libpq ermitteln\n"
 
-#: pg_backup_db.c:55 pg_dumpall.c:1982
+#: pg_backup_db.c:57 pg_dumpall.c:1998
 #, c-format
 msgid "server version: %s; %s version: %s\n"
 msgstr "Version des Servers: %s; Version von %s: %s\n"
 
-#: pg_backup_db.c:57 pg_dumpall.c:1984
+#: pg_backup_db.c:59 pg_dumpall.c:2000
 #, c-format
 msgid "aborting because of server version mismatch\n"
 msgstr "Abbruch wegen unpassender Serverversion\n"
 
-#: pg_backup_db.c:128
+#: pg_backup_db.c:147
 #, c-format
 msgid "connecting to database \"%s\" as user \"%s\"\n"
 msgstr "verbinde mit Datenbank „%s“ als Benutzer „%s“\n"
 
-#: pg_backup_db.c:135 pg_backup_db.c:183 pg_backup_db.c:243 pg_backup_db.c:285
-#: pg_dumpall.c:1812 pg_dumpall.c:1920
+#: pg_backup_db.c:154 pg_backup_db.c:202 pg_backup_db.c:262 pg_backup_db.c:304
+#: pg_dumpall.c:1828 pg_dumpall.c:1936
 msgid "Password: "
 msgstr "Passwort: "
 
-#: pg_backup_db.c:164
+#: pg_backup_db.c:183
 #, c-format
 msgid "failed to reconnect to database\n"
 msgstr "konnte nicht wieder zur Datenbank verbinden\n"
 
-#: pg_backup_db.c:169
+#: pg_backup_db.c:188
 #, c-format
 msgid "could not reconnect to database: %s"
 msgstr "konnte nicht wieder zur Datenbank verbinden: %s"
 
-#: pg_backup_db.c:185
+#: pg_backup_db.c:204
 #, c-format
 msgid "connection needs password\n"
 msgstr "Verbindung benötigt Passwort\n"
 
-#: pg_backup_db.c:237
+#: pg_backup_db.c:256
 #, c-format
 msgid "already connected to a database\n"
 msgstr "bereits mit einer Datenbank verbunden\n"
 
-#: pg_backup_db.c:277
+#: pg_backup_db.c:296
 #, c-format
 msgid "failed to connect to database\n"
 msgstr "Verbinden zur Datenbank schlug fehl\n"
 
-#: pg_backup_db.c:294
+#: pg_backup_db.c:313
 #, c-format
 msgid "connection to database \"%s\" failed: %s"
 msgstr "Verbindung zur Datenbank „%s“ fehlgeschlagen: %s"
 
-#: pg_backup_db.c:362
+#: pg_backup_db.c:383
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pg_backup_db.c:390
 #, c-format
 msgid "query failed: %s"
 msgstr "Anfrage fehlgeschlagen: %s"
 
-#: pg_backup_db.c:364
+#: pg_backup_db.c:392
 #, c-format
 msgid "query was: %s\n"
 msgstr "Anfrage war: %s\n"
 
-#: pg_backup_db.c:428
+#: pg_backup_db.c:434
+#, c-format
+msgid "query returned %d row instead of one: %s\n"
+msgid_plural "query returned %d rows instead of one: %s\n"
+msgstr[0] "Anfrage ergab %d Zeile anstatt einer: %s\n"
+msgstr[1] "Anfrage ergab %d Zeilen anstatt einer: %s\n"
+
+#: pg_backup_db.c:479
 #, c-format
 msgid "%s: %s    Command was: %s\n"
 msgstr "%s: %s    Die Anweisung war: %s\n"
 
-#: pg_backup_db.c:484 pg_backup_db.c:558 pg_backup_db.c:565
+#: pg_backup_db.c:535 pg_backup_db.c:609 pg_backup_db.c:616
 msgid "could not execute query"
 msgstr "konnte Anfrage nicht ausführen"
 
-#: pg_backup_db.c:537
+#: pg_backup_db.c:588
 #, c-format
 msgid "error returned by PQputCopyData: %s"
 msgstr "Fehler in PQputCopyData: %s"
 
-#: pg_backup_db.c:586
+#: pg_backup_db.c:637
 #, c-format
 msgid "error returned by PQputCopyEnd: %s"
 msgstr "Fehler in PQputCopyEnd: %s"
 
-#: pg_backup_db.c:592
+#: pg_backup_db.c:643
 #, c-format
 msgid "COPY failed for table \"%s\": %s"
 msgstr "COPY fehlgeschlagen für Tabelle „%s“: %s"
 
-#: pg_backup_db.c:605
+#: pg_backup_db.c:649 pg_dump.c:1785
+#, c-format
+msgid "WARNING: unexpected extra results during COPY of table \"%s\"\n"
+msgstr "WARNUNG: unerwartete zusätzliche Ergebnisse während COPY von Tabelle „%s“\n"
+
+#: pg_backup_db.c:661
 msgid "could not start database transaction"
 msgstr "konnte Datenbanktransaktion nicht starten"
 
-#: pg_backup_db.c:613
+#: pg_backup_db.c:669
 msgid "could not commit database transaction"
 msgstr "konnte Datenbanktransaktion nicht beenden"
 
@@ -1156,42 +1148,42 @@ msgstr "konnte Verzeichnis „%s“ nicht schließen: %s\n"
 msgid "could not create directory \"%s\": %s\n"
 msgstr "konnte Verzeichnis „%s“ nicht erzeugen: %s\n"
 
-#: pg_backup_directory.c:413
+#: pg_backup_directory.c:412
 #, c-format
 msgid "could not close data file: %s\n"
 msgstr "konnte Datendatei nicht schließen: %s\n"
 
-#: pg_backup_directory.c:454
+#: pg_backup_directory.c:453
 #, c-format
 msgid "could not open large object TOC file \"%s\" for input: %s\n"
 msgstr "konnte Large-Object-Inhaltsverzeichnisdatei „%s“ nicht zur Eingabe öffnen: %s\n"
 
-#: pg_backup_directory.c:465
+#: pg_backup_directory.c:464
 #, c-format
 msgid "invalid line in large object TOC file \"%s\": \"%s\"\n"
 msgstr "ungültige Zeile in Large-Object-Inhaltsverzeichnisdatei „%s“: %s\n"
 
-#: pg_backup_directory.c:474
+#: pg_backup_directory.c:473
 #, c-format
 msgid "error reading large object TOC file \"%s\"\n"
 msgstr "Fehler beim Lesen von Large-Object-Inhaltsverzeichnisdatei „%s“\n"
 
-#: pg_backup_directory.c:478
+#: pg_backup_directory.c:477
 #, c-format
 msgid "could not close large object TOC file \"%s\": %s\n"
 msgstr "konnte Large-Object-Inhaltsverzeichnisdatei „%s“ nicht schließen: %s\n"
 
-#: pg_backup_directory.c:688
+#: pg_backup_directory.c:684
 #, c-format
 msgid "could not write to blobs TOC file\n"
 msgstr "konnte nicht in Blobs-Inhaltsverzeichnisdatei schreiben\n"
 
-#: pg_backup_directory.c:720
+#: pg_backup_directory.c:716
 #, c-format
 msgid "file name too long: \"%s\"\n"
 msgstr "Dateiname zu lang: „%s“\n"
 
-#: pg_backup_directory.c:806
+#: pg_backup_directory.c:802
 #, c-format
 msgid "error during backup\n"
 msgstr "Fehler bei der Sicherung\n"
@@ -1323,64 +1315,69 @@ msgstr "beschädigter Tar-Kopf in %s gefunden (%d erwartet, %d berechnet), Datei
 msgid "%s: unrecognized section name: \"%s\"\n"
 msgstr "%s: unbekannter Abschnittsname: „%s“\n"
 
-#: pg_backup_utils.c:56 pg_dump.c:534 pg_dump.c:551 pg_dumpall.c:301
+#: pg_backup_utils.c:56 pg_dump.c:533 pg_dump.c:550 pg_dumpall.c:301
 #: pg_dumpall.c:311 pg_dumpall.c:321 pg_dumpall.c:330 pg_dumpall.c:346
 #: pg_dumpall.c:404 pg_restore.c:279 pg_restore.c:295 pg_restore.c:307
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie „%s --help“ für weitere Informationen.\n"
 
-#: pg_backup_utils.c:101
+#: pg_backup_utils.c:118
 #, c-format
 msgid "out of on_exit_nicely slots\n"
 msgstr "on_exit_nicely-Slots aufgebraucht\n"
 
-#: pg_dump.c:504
+#: pg_dump.c:503
 #, c-format
 msgid "compression level must be in range 0..9\n"
 msgstr "Komprimierungsniveau muss im Bereich 0..9 sein\n"
 
-#: pg_dump.c:549 pg_dumpall.c:309 pg_restore.c:293
+#: pg_dump.c:548 pg_dumpall.c:309 pg_restore.c:293
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: zu viele Kommandozeilenargumente (das erste ist „%s“)\n"
 
-#: pg_dump.c:562
+#: pg_dump.c:561
 #, c-format
 msgid "options -s/--schema-only and -a/--data-only cannot be used together\n"
 msgstr "Optionen -s/--schema-only und -a/--data-only können nicht zusammen verwendet werden\n"
 
-#: pg_dump.c:568
+#: pg_dump.c:567
 #, c-format
 msgid "options -c/--clean and -a/--data-only cannot be used together\n"
 msgstr "Optionen -c/--clean und -a/--data-only können nicht zusammen verwendet werden\n"
 
-#: pg_dump.c:574
+#: pg_dump.c:573
 #, c-format
 msgid "options --inserts/--column-inserts and -o/--oids cannot be used together\n"
 msgstr "Optionen --inserts/--column-inserts und -o/--oids können nicht zusammen verwendet werden\n"
 
-#: pg_dump.c:575
+#: pg_dump.c:574
 #, c-format
 msgid "(The INSERT command cannot set OIDs.)\n"
 msgstr "(Die INSERT-Anweisung kann OIDs nicht setzen.)\n"
 
-#: pg_dump.c:580
+#: pg_dump.c:579
 #, c-format
 msgid "option --if-exists requires option -c/--clean\n"
 msgstr "Option --if-exists benötigt Option -c/--clean\n"
 
-#: pg_dump.c:608
+#: pg_dump.c:601
+#, c-format
+msgid "WARNING: requested compression not available in this installation -- archive will be uncompressed\n"
+msgstr "WARNUNG: Komprimierung ist in dieser Installation nicht verfügbar -- Archiv wird nicht komprimiert\n"
+
+#: pg_dump.c:616
 #, c-format
 msgid "%s: invalid number of parallel jobs\n"
 msgstr "%s: ungültige Anzahl paralleler Jobs\n"
 
-#: pg_dump.c:612
+#: pg_dump.c:620
 #, c-format
 msgid "parallel backup only supported by the directory format\n"
 msgstr "parallele Sicherung wird nur vom Ausgabeformat „Verzeichnis“ unterstützt\n"
 
-#: pg_dump.c:681
+#: pg_dump.c:677
 #, c-format
 msgid ""
 "Synchronized snapshots are not supported by this server version.\n"
@@ -1391,27 +1388,27 @@ msgstr ""
 "Verwenden Sie --no-synchronized-snapshots, wenn Sie keine synchronisierten\n"
 "Snapshots benötigen.\n"
 
-#: pg_dump.c:688
+#: pg_dump.c:684
 #, c-format
 msgid "Exported snapshots are not supported by this server version.\n"
 msgstr "Exportierte Snapshots werden in dieser Serverversion nicht unterstützt.\n"
 
-#: pg_dump.c:699
+#: pg_dump.c:695
 #, c-format
 msgid "last built-in OID is %u\n"
 msgstr "letzte eingebaute OID ist %u\n"
 
-#: pg_dump.c:709
+#: pg_dump.c:705
 #, c-format
 msgid "no matching schemas were found\n"
 msgstr "keine passenden Schemas gefunden\n"
 
-#: pg_dump.c:723
+#: pg_dump.c:719
 #, c-format
 msgid "no matching tables were found\n"
 msgstr "keine passenden Tabellen gefunden\n"
 
-#: pg_dump.c:882
+#: pg_dump.c:878
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1420,17 +1417,17 @@ msgstr ""
 "%s gibt eine Datenbank als Textdatei oder in anderen Formaten aus.\n"
 "\n"
 
-#: pg_dump.c:883 pg_dumpall.c:549 pg_restore.c:437
+#: pg_dump.c:879 pg_dumpall.c:549 pg_restore.c:437
 #, c-format
 msgid "Usage:\n"
 msgstr "Aufruf:\n"
 
-#: pg_dump.c:884
+#: pg_dump.c:880
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPTION]... [DBNAME]\n"
 
-#: pg_dump.c:886 pg_dumpall.c:552 pg_restore.c:440
+#: pg_dump.c:882 pg_dumpall.c:552 pg_restore.c:440
 #, c-format
 msgid ""
 "\n"
@@ -1439,12 +1436,12 @@ msgstr ""
 "\n"
 "Allgemeine Optionen:\n"
 
-#: pg_dump.c:887
+#: pg_dump.c:883
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=DATEINAME         Name der Ausgabedatei oder des -verzeichnisses\n"
 
-#: pg_dump.c:888
+#: pg_dump.c:884
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1453,37 +1450,37 @@ msgstr ""
 "  -F, --format=c|d|t|p         Ausgabeformat (custom, d=Verzeichnis, tar,\n"
 "                               plain text)\n"
 
-#: pg_dump.c:890
+#: pg_dump.c:886
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr "  -j, --jobs=NUM               so viele parallele Jobs zur Sicherung verwenden\n"
 
-#: pg_dump.c:891
+#: pg_dump.c:887
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose                „Verbose“-Modus\n"
 
-#: pg_dump.c:892 pg_dumpall.c:554
+#: pg_dump.c:888 pg_dumpall.c:554
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                Versionsinformationen anzeigen, dann beenden\n"
 
-#: pg_dump.c:893
+#: pg_dump.c:889
 #, c-format
 msgid "  -Z, --compress=0-9           compression level for compressed formats\n"
 msgstr "  -Z, --compress=0-9           Komprimierungsniveau für komprimierte Formate\n"
 
-#: pg_dump.c:894 pg_dumpall.c:555
+#: pg_dump.c:890 pg_dumpall.c:555
 #, c-format
 msgid "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
 msgstr "  --lock-wait-timeout=ZEIT     Abbruch nach ZEIT Warten auf Tabellensperre\n"
 
-#: pg_dump.c:895 pg_dumpall.c:556
+#: pg_dump.c:891 pg_dumpall.c:556
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   diese Hilfe anzeigen, dann beenden\n"
 
-#: pg_dump.c:897 pg_dumpall.c:557
+#: pg_dump.c:893 pg_dumpall.c:557
 #, c-format
 msgid ""
 "\n"
@@ -1492,49 +1489,49 @@ msgstr ""
 "\n"
 "Optionen die den Inhalt der Ausgabe kontrollieren:\n"
 
-#: pg_dump.c:898 pg_dumpall.c:558
+#: pg_dump.c:894 pg_dumpall.c:558
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              nur Daten ausgeben, nicht das Schema\n"
 
-#: pg_dump.c:899
+#: pg_dump.c:895
 #, c-format
 msgid "  -b, --blobs                  include large objects in dump\n"
 msgstr "  -b, --blobs                  Large Objects mit ausgeben\n"
 
-#: pg_dump.c:900 pg_restore.c:451
+#: pg_dump.c:896 pg_restore.c:451
 #, c-format
 msgid "  -c, --clean                  clean (drop) database objects before recreating\n"
 msgstr "  -c, --clean                  Datenbankobjekte vor der Wiedererstellung löschen\n"
 
-#: pg_dump.c:901
+#: pg_dump.c:897
 #, c-format
 msgid "  -C, --create                 include commands to create database in dump\n"
 msgstr ""
 "  -C, --create                 Anweisungen zum Erstellen der Datenbank in\n"
 "                               Ausgabe einfügen\n"
 
-#: pg_dump.c:902
+#: pg_dump.c:898
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=KODIERUNG     Daten in Kodierung KODIERUNG ausgeben\n"
 
-#: pg_dump.c:903
+#: pg_dump.c:899
 #, c-format
 msgid "  -n, --schema=SCHEMA          dump the named schema(s) only\n"
 msgstr "  -n, --schema=SCHEMA          nur das/die angegebene(n) Schema(s) ausgeben\n"
 
-#: pg_dump.c:904
+#: pg_dump.c:900
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA  do NOT dump the named schema(s)\n"
 msgstr "  -N, --exclude-schema=SCHEMA  das/die angegebene(n) Schema(s) NICHT ausgeben\n"
 
-#: pg_dump.c:905 pg_dumpall.c:561
+#: pg_dump.c:901 pg_dumpall.c:561
 #, c-format
 msgid "  -o, --oids                   include OIDs in dump\n"
 msgstr "  -o, --oids                   OIDs mit ausgeben\n"
 
-#: pg_dump.c:906
+#: pg_dump.c:902
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1543,58 +1540,58 @@ msgstr ""
 "  -O, --no-owner               Wiederherstellung der Objekteigentümerschaft im\n"
 "                               „plain text“-Format auslassen\n"
 
-#: pg_dump.c:908 pg_dumpall.c:564
+#: pg_dump.c:904 pg_dumpall.c:564
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            nur das Schema, nicht die Daten, ausgeben\n"
 
-#: pg_dump.c:909
+#: pg_dump.c:905
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in plain-text format\n"
 msgstr "  -S, --superuser=NAME         Superusername für „plain text“-Format\n"
 
-#: pg_dump.c:910
+#: pg_dump.c:906
 #, c-format
 msgid "  -t, --table=TABLE            dump the named table(s) only\n"
 msgstr "  -t, --table=TABELLE          nur die angegebene(n) Tabelle(n) ausgeben\n"
 
-#: pg_dump.c:911
+#: pg_dump.c:907
 #, c-format
 msgid "  -T, --exclude-table=TABLE    do NOT dump the named table(s)\n"
 msgstr "  -T, --exclude-table=TABELLE  die angegebene(n) Tabelle(n) NICHT ausgeben\n"
 
-#: pg_dump.c:912 pg_dumpall.c:567
+#: pg_dump.c:908 pg_dumpall.c:567
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          Zugriffsprivilegien (grant/revoke) nicht ausgeben\n"
 
-#: pg_dump.c:913 pg_dumpall.c:568
+#: pg_dump.c:909 pg_dumpall.c:568
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             wird nur von Upgrade-Programmen verwendet\n"
 
-#: pg_dump.c:914 pg_dumpall.c:569
+#: pg_dump.c:910 pg_dumpall.c:569
 #, c-format
 msgid "  --column-inserts             dump data as INSERT commands with column names\n"
 msgstr ""
 "  --column-inserts             Daten als INSERT-Anweisungen mit Spaltennamen\n"
 "                               ausgeben\n"
 
-#: pg_dump.c:915 pg_dumpall.c:570
+#: pg_dump.c:911 pg_dumpall.c:570
 #, c-format
 msgid "  --disable-dollar-quoting     disable dollar quoting, use SQL standard quoting\n"
 msgstr ""
 "  --disable-dollar-quoting     Dollar-Quoting abschalten, normales SQL-Quoting\n"
 "                               verwenden\n"
 
-#: pg_dump.c:916 pg_dumpall.c:571 pg_restore.c:467
+#: pg_dump.c:912 pg_dumpall.c:571 pg_restore.c:467
 #, c-format
 msgid "  --disable-triggers           disable triggers during data-only restore\n"
 msgstr ""
 "  --disable-triggers           Trigger während der Datenwiederherstellung\n"
 "                               abschalten\n"
 
-#: pg_dump.c:917
+#: pg_dump.c:913
 #, c-format
 msgid ""
 "  --enable-row-security        enable row security (dump only content user has\n"
@@ -1603,68 +1600,68 @@ msgstr ""
 "  --enable-row-security        Sicherheit auf Zeilenebene einschalten (nur Daten\n"
 "                               ausgeben, auf die der Benutzer Zugriff hat)\n"
 
-#: pg_dump.c:919
+#: pg_dump.c:915
 #, c-format
 msgid "  --exclude-table-data=TABLE   do NOT dump data for the named table(s)\n"
 msgstr "  --exclude-table-data=TABELLE Daten der angegebenen Tabelle(n) NICHT ausgeben\n"
 
-#: pg_dump.c:920 pg_dumpall.c:572 pg_restore.c:469
+#: pg_dump.c:916 pg_dumpall.c:572 pg_restore.c:469
 #, c-format
 msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
 msgstr "  --if-exists                  IF EXISTS verwenden, wenn Objekte gelöscht werden\n"
 
-#: pg_dump.c:921 pg_dumpall.c:573
+#: pg_dump.c:917 pg_dumpall.c:573
 #, c-format
 msgid "  --inserts                    dump data as INSERT commands, rather than COPY\n"
 msgstr "  --inserts                    Daten als INSERT-Anweisungen statt COPY ausgeben\n"
 
-#: pg_dump.c:922 pg_dumpall.c:574
+#: pg_dump.c:918 pg_dumpall.c:574
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr "  --no-security-labels         Security-Label-Zuweisungen nicht ausgeben\n"
 
-#: pg_dump.c:923
+#: pg_dump.c:919
 #, c-format
 msgid "  --no-synchronized-snapshots  do not use synchronized snapshots in parallel jobs\n"
 msgstr ""
 "  --no-synchronized-snapshots  keine synchronisierten Snapshots in parallelen\n"
 "                               Jobs verwenden\n"
 
-#: pg_dump.c:924 pg_dumpall.c:575
+#: pg_dump.c:920 pg_dumpall.c:575
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr "  --no-tablespaces             Tablespace-Zuordnungen nicht ausgeben\n"
 
-#: pg_dump.c:925 pg_dumpall.c:576
+#: pg_dump.c:921 pg_dumpall.c:576
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr "  --no-unlogged-table-data     Daten in ungeloggten Tabellen nicht ausgeben\n"
 
-#: pg_dump.c:926 pg_dumpall.c:577
+#: pg_dump.c:922 pg_dumpall.c:577
 #, c-format
 msgid "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
 msgstr ""
 "  --quote-all-identifiers      alle Bezeichner in Anführungszeichen, selbst wenn\n"
 "                               kein Schlüsselwort\n"
 
-#: pg_dump.c:927
+#: pg_dump.c:923
 #, c-format
 msgid "  --section=SECTION            dump named section (pre-data, data, or post-data)\n"
 msgstr ""
 "  --section=ABSCHNITT          angegebenen Abschnitt ausgeben (pre-data, data\n"
 "                               oder post-data)\n"
 
-#: pg_dump.c:928
+#: pg_dump.c:924
 #, c-format
 msgid "  --serializable-deferrable    wait until the dump can run without anomalies\n"
 msgstr "  --serializable-deferrable    warten bis der Dump ohne Anomalien laufen kann\n"
 
-#: pg_dump.c:929
+#: pg_dump.c:925
 #, c-format
 msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr "  --snapshot=SNAPSHOT          angegebenen Snapshot für den Dump verwenden\n"
 
-#: pg_dump.c:930 pg_restore.c:475
+#: pg_dump.c:926 pg_restore.c:475
 #, c-format
 msgid ""
 "  --strict-names               require table and/or schema include patterns to\n"
@@ -1673,7 +1670,7 @@ msgstr ""
 "  --strict-names               Tabellen- oder Schemamuster müssen auf mindestens\n"
 "                               je ein Objekt passen\n"
 
-#: pg_dump.c:932 pg_dumpall.c:578 pg_restore.c:477
+#: pg_dump.c:928 pg_dumpall.c:578 pg_restore.c:477
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1685,7 +1682,7 @@ msgstr ""
 "                               OWNER Befehle verwenden, um Eigentümerschaft zu\n"
 "                               setzen\n"
 
-#: pg_dump.c:936 pg_dumpall.c:582 pg_restore.c:481
+#: pg_dump.c:932 pg_dumpall.c:582 pg_restore.c:481
 #, c-format
 msgid ""
 "\n"
@@ -1694,42 +1691,42 @@ msgstr ""
 "\n"
 "Verbindungsoptionen:\n"
 
-#: pg_dump.c:937
+#: pg_dump.c:933
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=DBNAME      auszugebende Datenbank\n"
 
-#: pg_dump.c:938 pg_dumpall.c:584 pg_restore.c:482
+#: pg_dump.c:934 pg_dumpall.c:584 pg_restore.c:482
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr "  -h, --host=HOSTNAME      Name des Datenbankservers oder Socket-Verzeichnis\n"
 
-#: pg_dump.c:939 pg_dumpall.c:586 pg_restore.c:483
+#: pg_dump.c:935 pg_dumpall.c:586 pg_restore.c:483
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=PORT          Portnummer des Datenbankservers\n"
 
-#: pg_dump.c:940 pg_dumpall.c:587 pg_restore.c:484
+#: pg_dump.c:936 pg_dumpall.c:587 pg_restore.c:484
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=NAME      Datenbankbenutzername\n"
 
-#: pg_dump.c:941 pg_dumpall.c:588 pg_restore.c:485
+#: pg_dump.c:937 pg_dumpall.c:588 pg_restore.c:485
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        niemals nach Passwort fragen\n"
 
-#: pg_dump.c:942 pg_dumpall.c:589 pg_restore.c:486
+#: pg_dump.c:938 pg_dumpall.c:589 pg_restore.c:486
 #, c-format
 msgid "  -W, --password           force password prompt (should happen automatically)\n"
 msgstr "  -W, --password           nach Passwort fragen (sollte automatisch geschehen)\n"
 
-#: pg_dump.c:943 pg_dumpall.c:590
+#: pg_dump.c:939 pg_dumpall.c:590
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ROLLENNAME        vor der Ausgabe SET ROLE ausführen\n"
 
-#: pg_dump.c:945
+#: pg_dump.c:941
 #, c-format
 msgid ""
 "\n"
@@ -1742,387 +1739,391 @@ msgstr ""
 "PGDATABASE verwendet.\n"
 "\n"
 
-#: pg_dump.c:947 pg_dumpall.c:594 pg_restore.c:493
+#: pg_dump.c:943 pg_dumpall.c:594 pg_restore.c:493
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Berichten Sie Fehler an <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_dump.c:967
+#: pg_dump.c:960
 #, c-format
 msgid "invalid client encoding \"%s\" specified\n"
 msgstr "ungültige Clientkodierung „%s“ angegeben\n"
 
-#: pg_dump.c:1152
+#: pg_dump.c:1100
+#, c-format
+msgid ""
+"Synchronized snapshots are not supported on standby servers.\n"
+"Run with --no-synchronized-snapshots instead if you do not need\n"
+"synchronized snapshots.\n"
+msgstr ""
+"Synchronisierte Snapshots werden auf Standby-Servern nicht unterstützt.\n"
+"Verwenden Sie --no-synchronized-snapshots, wenn Sie keine synchronisierten\n"
+"Snapshots benötigen.\n"
+
+#: pg_dump.c:1169
 #, c-format
 msgid "invalid output format \"%s\" specified\n"
 msgstr "ungültiges Ausgabeformat „%s“ angegeben\n"
 
-#: pg_dump.c:1175
+#: pg_dump.c:1192
 #, c-format
 msgid "server version must be at least 7.3 to use schema selection switches\n"
 msgstr "Serverversion muss mindestens 7.3 sein um Schemas auswählen zu können\n"
 
-#: pg_dump.c:1193
+#: pg_dump.c:1210 pg_dump.c:1263
 #, c-format
 msgid "no matching tables were found for pattern \"%s\"\n"
 msgstr "keine passenden Tabellen für Muster »%s« gefunden\n"
 
-#: pg_dump.c:1596
+#: pg_dump.c:1642
 #, c-format
 msgid "dumping contents of table \"%s.%s\"\n"
 msgstr "gebe Inhalt der Tabelle „%s.%s“ aus\n"
 
-#: pg_dump.c:1720
+#: pg_dump.c:1766
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed.\n"
 msgstr "Ausgabe des Inhalts der Tabelle „%s“ fehlgeschlagen: PQgetCopyData() fehlgeschlagen.\n"
 
-#: pg_dump.c:1721 pg_dump.c:1731
+#: pg_dump.c:1767 pg_dump.c:1777
 #, c-format
 msgid "Error message from server: %s"
 msgstr "Fehlermeldung vom Server: %s"
 
-#: pg_dump.c:1722 pg_dump.c:1732
+#: pg_dump.c:1768 pg_dump.c:1778
 #, c-format
 msgid "The command was: %s\n"
 msgstr "Die Anweisung war: %s\n"
 
-#: pg_dump.c:1730
+#: pg_dump.c:1776
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed.\n"
 msgstr "Ausgabe des Inhalts der Tabelle „%s“ fehlgeschlagen: PQgetResult() fehlgeschlagen.\n"
 
-#: pg_dump.c:2374
+#: pg_dump.c:2425
 #, c-format
 msgid "saving database definition\n"
 msgstr "sichere Datenbankdefinition\n"
 
-#: pg_dump.c:2707
+#: pg_dump.c:2758
 #, c-format
 msgid "saving encoding = %s\n"
 msgstr "sichere Kodierung = %s\n"
 
-#: pg_dump.c:2734
+#: pg_dump.c:2785
 #, c-format
 msgid "saving standard_conforming_strings = %s\n"
 msgstr "sichere standard_conforming_strings = %s\n"
 
-#: pg_dump.c:2774
+#: pg_dump.c:2825
 #, c-format
 msgid "reading large objects\n"
 msgstr "lese Large Objects\n"
 
-#: pg_dump.c:2960
+#: pg_dump.c:3011
 #, c-format
 msgid "saving large objects\n"
 msgstr "sichere Large Objects\n"
 
-#: pg_dump.c:3007
+#: pg_dump.c:3058
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "Fehler beim Lesen von Large Object %u: %s"
 
-#: pg_dump.c:3059
+#: pg_dump.c:3110
 #, c-format
 msgid "reading row security enabled for table \"%s.%s\"\n"
 msgstr "lese Einstellung von Sicherheit auf Zeilenebene für Tabelle „%s.%s“\n"
 
-#: pg_dump.c:3090
+#: pg_dump.c:3141
 #, c-format
 msgid "reading policies for table \"%s.%s\"\n"
 msgstr "lese Policys von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:3223
+#: pg_dump.c:3274
 #, c-format
 msgid "unexpected policy command type: \"%s\"\n"
 msgstr "unerwarteter Policy-Befehlstyp: „%s“\n"
 
-#: pg_dump.c:3442
+#: pg_dump.c:3493
 #, c-format
 msgid "could not find parent extension for %s\n"
 msgstr "konnte Erweiterung, zu der %s gehört, nicht finden\n"
 
-#: pg_dump.c:3610
+#: pg_dump.c:3661
 #, c-format
 msgid "WARNING: owner of schema \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer des Schemas „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:3653
+#: pg_dump.c:3704
 #, c-format
 msgid "schema with OID %u does not exist\n"
 msgstr "Schema mit OID %u existiert nicht\n"
 
-#: pg_dump.c:4068
+#: pg_dump.c:4119
 #, c-format
 msgid "WARNING: owner of data type \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer des Datentypen „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:4179
+#: pg_dump.c:4233
 #, c-format
 msgid "WARNING: owner of operator \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer des Operatoren „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:4512
+#: pg_dump.c:4578
 #, c-format
 msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer der Operatorklasse „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:4600
+#: pg_dump.c:4669
 #, c-format
 msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer der Operatorfamilie „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:4805
+#: pg_dump.c:4870
 #, c-format
 msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer der Aggregatfunktion „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:5074
+#: pg_dump.c:5135
 #, c-format
 msgid "WARNING: owner of function \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer der Funktion „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:5874
+#: pg_dump.c:5996
 #, c-format
 msgid "WARNING: owner of table \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: Eigentümer der Tabelle „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:6026
+#: pg_dump.c:6148
 #, c-format
 msgid "reading indexes for table \"%s.%s\"\n"
 msgstr "lese Indexe von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:6394
+#: pg_dump.c:6516
 #, c-format
 msgid "reading foreign key constraints for table \"%s.%s\"\n"
 msgstr "lese Fremdschlüssel-Constraints von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:6640
+#: pg_dump.c:6762
 #, c-format
 msgid "failed sanity check, parent table OID %u of pg_rewrite entry OID %u not found\n"
 msgstr "Sanity-Check fehlgeschlagen, Elterntabelle %u von pg_rewrite-Eintrag OID %u nicht gefunden\n"
 
-#: pg_dump.c:6734
+#: pg_dump.c:6856
 #, c-format
 msgid "reading triggers for table \"%s.%s\"\n"
 msgstr "lese Trigger von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:6899
+#: pg_dump.c:7021
 #, c-format
 msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)\n"
 msgstr "Anfrage ergab NULL als Name der Tabelle auf die sich Fremdschlüssel-Trigger „%s“ von Tabelle „%s“ bezieht (OID der Tabelle: %u)\n"
 
-#: pg_dump.c:7548
+#: pg_dump.c:7676
 #, c-format
 msgid "finding the columns and types of table \"%s.%s\"\n"
 msgstr "finde Spalten und Typen von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:7727
+#: pg_dump.c:7855
 #, c-format
 msgid "invalid column numbering in table \"%s\"\n"
 msgstr "ungültige Spaltennummerierung in Tabelle „%s“\n"
 
-#: pg_dump.c:7761
+#: pg_dump.c:7889
 #, c-format
 msgid "finding default expressions of table \"%s.%s\"\n"
 msgstr "finde DEFAULT-Ausdrücke von Tabelle „%s.%s“\n"
 
-#: pg_dump.c:7814
+#: pg_dump.c:7942
 #, c-format
 msgid "invalid adnum value %d for table \"%s\"\n"
 msgstr "ungültiger adnum-Wert %d für Tabelle „%s“\n"
 
-#: pg_dump.c:7886
+#: pg_dump.c:8014
 #, c-format
 msgid "finding check constraints for table \"%s.%s\"\n"
 msgstr "finde Check-Constraints für Tabelle „%s.%s“\n"
 
-#: pg_dump.c:7982
+#: pg_dump.c:8110
 #, 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"
 msgstr[0] "%d Check-Constraint für Tabelle %s erwartet, aber %d gefunden\n"
 msgstr[1] "%d Check-Constraints für Tabelle %s erwartet, aber %d gefunden\n"
 
-#: pg_dump.c:7986
+#: pg_dump.c:8114
 #, c-format
 msgid "(The system catalogs might be corrupted.)\n"
 msgstr "(Die Systemkataloge sind wahrscheinlich verfälscht.)\n"
 
-#: pg_dump.c:9506
+#: pg_dump.c:9646
 #, c-format
 msgid "WARNING: typtype of data type \"%s\" appears to be invalid\n"
 msgstr "WARNUNG: typtype des Datentypen „%s“ scheint ungültig zu sein\n"
 
-#: pg_dump.c:11048
+#: pg_dump.c:11188
 #, c-format
 msgid "WARNING: bogus value in proargmodes array\n"
 msgstr "WARNUNG: unsinniger Wert in proargmodes-Array\n"
 
-#: pg_dump.c:11426
+#: pg_dump.c:11566
 #, c-format
 msgid "WARNING: could not parse proallargtypes array\n"
 msgstr "WARNUNG: konnte proallargtypes-Array nicht interpretieren\n"
 
-#: pg_dump.c:11442
+#: pg_dump.c:11582
 #, c-format
 msgid "WARNING: could not parse proargmodes array\n"
 msgstr "WARNUNG: konnte proargmodes-Array nicht interpretieren\n"
 
-#: pg_dump.c:11456
+#: pg_dump.c:11596
 #, c-format
 msgid "WARNING: could not parse proargnames array\n"
 msgstr "WARNUNG: konnte proargnames-Array nicht interpretieren\n"
 
-#: pg_dump.c:11467
+#: pg_dump.c:11607
 #, c-format
 msgid "WARNING: could not parse proconfig array\n"
 msgstr "WARNUNG: konnte proconfig-Array nicht interpretieren\n"
 
-#: pg_dump.c:11538
+#: pg_dump.c:11678
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "ungültiger provolatile-Wert für Funktion „%s“\n"
 
-#: pg_dump.c:11582 pg_dump.c:13641
+#: pg_dump.c:11722 pg_dump.c:13781
 #, c-format
 msgid "unrecognized proparallel value for function \"%s\"\n"
 msgstr "ungültiger proparallel-Wert für Funktion „%s“\n"
 
-#: pg_dump.c:11734
+#: pg_dump.c:11874
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castfunc or pg_cast.castmethod field\n"
 msgstr "WARNUNG: unsinniger Wert in Feld pg_cast.castfunc oder pg_cast.castmethod\n"
 
-#: pg_dump.c:11737
+#: pg_dump.c:11877
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgstr "WARNUNG: unsinniger Wert in Feld pg_cast.castmethod\n"
 
-#: pg_dump.c:11825
+#: pg_dump.c:11965
 #, c-format
 msgid "WARNING: bogus transform definition, at least one of trffromsql and trftosql should be nonzero\n"
 msgstr "WARNUNG: unsinnige Transformationsdefinition, mindestens eins von trffromsql und trftosql sollte nicht null sein\n"
 
-#: pg_dump.c:11842
+#: pg_dump.c:11982
 #, c-format
 msgid "WARNING: bogus value in pg_transform.trffromsql field\n"
 msgstr "WARNUNG: unsinniger Wert in Feld pg_transform.trffromsql\n"
 
-#: pg_dump.c:11863
+#: pg_dump.c:12003
 #, c-format
 msgid "WARNING: bogus value in pg_transform.trftosql field\n"
 msgstr "WARNUNG: unsinniger Wert in Feld pg_transform.trftosql\n"
 
-#: pg_dump.c:12254
+#: pg_dump.c:12394
 #, c-format
 msgid "WARNING: could not find operator with OID %s\n"
 msgstr "WARNUNG: konnte Operator mit OID %s nicht finden\n"
 
-#: pg_dump.c:12318
+#: pg_dump.c:12458
 #, c-format
 msgid "WARNING: invalid type \"%c\" of access method \"%s\"\n"
 msgstr "WARNUNG: ungültiger Typ »%c« für Zugriffsmethode »%s«\n"
 
-#: pg_dump.c:13525
+#: pg_dump.c:13665
 #, c-format
 msgid "WARNING: aggregate function %s could not be dumped correctly for this database version; ignored\n"
 msgstr "WARNUNG: Aggregatfunktion %s konnte für diese Datenbankversion nicht korrekt ausgegeben werden - ignoriert\n"
 
-#: pg_dump.c:14404
+#: pg_dump.c:14544
 #, c-format
 msgid "unrecognized object type in default privileges: %d\n"
 msgstr "unbekannter Objekttyp in den Vorgabeprivilegien: %d\n"
 
-#: pg_dump.c:14419
+#: pg_dump.c:14559
 #, c-format
 msgid "could not parse default ACL list (%s)\n"
 msgstr "konnte Vorgabe-ACL-Liste (%s) nicht interpretieren\n"
 
-#: pg_dump.c:14490
+#: pg_dump.c:14630
 #, c-format
 msgid "could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) for object \"%s\" (%s)\n"
 msgstr "konnte initiale GRANT-ACL-Liste (%s) oder initiale REVOKE-ACL-Liste (%s) für Objekt „%s“ (%s) nicht interpretieren\n"
 
-#: pg_dump.c:14498
+#: pg_dump.c:14638
 #, c-format
 msgid "could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s\" (%s)\n"
 msgstr "konnte GRANT-ACL-Liste (%s) oder REVOKE-ACL-Liste (%s) für Objekt „%s“ (%s) nicht interpretieren\n"
 
-#: pg_dump.c:14974
+#: pg_dump.c:15122
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data\n"
 msgstr "Anfrage um die Definition der Sicht „%s“ zu ermitteln lieferte keine Daten\n"
 
-#: pg_dump.c:14977
+#: pg_dump.c:15125
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned more than one definition\n"
 msgstr "Anfrage um die Definition der Sicht „%s“ zu ermitteln lieferte mehr als eine Definition\n"
 
-#: pg_dump.c:14984
+#: pg_dump.c:15132
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)\n"
 msgstr "Definition der Sicht „%s“ scheint leer zu sein (Länge null)\n"
 
-#: pg_dump.c:15742
+#: pg_dump.c:15891
 #, c-format
 msgid "invalid column number %d for table \"%s\"\n"
 msgstr "ungültige Spaltennummer %d in Tabelle „%s“\n"
 
-#: pg_dump.c:15871
+#: pg_dump.c:16020
 #, c-format
 msgid "missing index for constraint \"%s\"\n"
 msgstr "fehlender Index für Constraint „%s“\n"
 
-#: pg_dump.c:16074
+#: pg_dump.c:16223
 #, c-format
 msgid "unrecognized constraint type: %c\n"
 msgstr "unbekannter Constraint-Typ: %c\n"
 
-#: pg_dump.c:16228 pg_dump.c:16397
+#: pg_dump.c:16377 pg_dump.c:16546
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)\n"
 msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)\n"
 msgstr[0] "Anfrage nach Daten der Sequenz %s ergab %d Zeile (erwartete 1)\n"
 msgstr[1] "Anfrage nach Daten der Sequenz %s ergab %d Zeilen (erwartete 1)\n"
 
-#: pg_dump.c:16239
+#: pg_dump.c:16388
 #, c-format
 msgid "query to get data of sequence \"%s\" returned name \"%s\"\n"
 msgstr "Anfrage nach Daten der Sequenz %s ergab Name „%s“\n"
 
-#: pg_dump.c:16495
+#: pg_dump.c:16644
 #, c-format
 msgid "unexpected tgtype value: %d\n"
 msgstr "unerwarteter tgtype-Wert: %d\n"
 
-#: pg_dump.c:16577
+#: pg_dump.c:16726
 #, c-format
 msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n"
 msgstr "fehlerhafte Argumentzeichenkette (%s) für Trigger „%s“ von Tabelle „%s“\n"
 
-#: pg_dump.c:16774
+#: pg_dump.c:16923
 #, c-format
 msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned\n"
 msgstr "Anfrage nach Regel „%s“ der Tabelle „%s“ fehlgeschlagen: falsche Anzahl Zeilen zurückgegeben\n"
 
-#: pg_dump.c:17163
+#: pg_dump.c:17312
 #, c-format
 msgid "reading dependency data\n"
 msgstr "lese Abhängigkeitsdaten\n"
 
-#: pg_dump.c:17724
+#: pg_dump.c:17869
 #, c-format
 msgid "WARNING: could not parse reloptions array\n"
 msgstr "WARNUNG: konnte reloptions-Array nicht interpretieren\n"
 
-#: pg_dump.c:17788
-#, c-format
-msgid "query returned %d row instead of one: %s\n"
-msgid_plural "query returned %d rows instead of one: %s\n"
-msgstr[0] "Anfrage ergab %d Zeile anstatt einer: %s\n"
-msgstr[1] "Anfrage ergab %d Zeilen anstatt einer: %s\n"
-
 #. translator: this is a module name
 #: pg_dump_sort.c:23
 msgid "sorter"
@@ -2212,7 +2213,7 @@ msgstr "%s: Option --if-exists benötigt Option -c/--clean\n"
 msgid "%s: options -r/--roles-only and -t/--tablespaces-only cannot be used together\n"
 msgstr "%s: Optionen -r/--roles-only und -t/--tablespaces-only können nicht zusammen verwendet werden\n"
 
-#: pg_dumpall.c:386 pg_dumpall.c:1909
+#: pg_dumpall.c:386 pg_dumpall.c:1925
 #, c-format
 msgid "%s: could not connect to database \"%s\"\n"
 msgstr "%s: konnte nicht mit der Datenbank „%s“ verbinden\n"
@@ -2309,67 +2310,67 @@ msgstr ""
 "Standardausgabe geschrieben.\n"
 "\n"
 
-#: pg_dumpall.c:777
+#: pg_dumpall.c:793
 #, c-format
 msgid "%s: role name starting with \"pg_\" skipped (%s)\n"
 msgstr "%s: mit „pg_“ anfangender Rollenname übersprungen (%s)\n"
 
-#: pg_dumpall.c:1128
+#: pg_dumpall.c:1144
 #, c-format
 msgid "%s: could not parse ACL list (%s) for tablespace \"%s\"\n"
 msgstr "%s: konnte ACL-Zeichenkette (%s) für Tablespace „%s“ nicht interpretieren\n"
 
-#: pg_dumpall.c:1459
+#: pg_dumpall.c:1475
 #, c-format
 msgid "%s: could not parse ACL list (%s) for database \"%s\"\n"
 msgstr "%s: konnte ACL-Zeichenkette (%s) für Datenbank „%s“ nicht interpretieren\n"
 
-#: pg_dumpall.c:1676
+#: pg_dumpall.c:1692
 #, c-format
 msgid "%s: dumping database \"%s\"...\n"
 msgstr "%s: Ausgabe der Datenbank „%s“...\n"
 
-#: pg_dumpall.c:1697
+#: pg_dumpall.c:1713
 #, c-format
 msgid "%s: pg_dump failed on database \"%s\", exiting\n"
 msgstr "%s: pg_dump für Datenbank „%s“ fehlgeschlagen; beende\n"
 
-#: pg_dumpall.c:1706
+#: pg_dumpall.c:1722
 #, c-format
 msgid "%s: could not re-open the output file \"%s\": %s\n"
 msgstr "%s: konnte die Ausgabedatei „%s“ nicht neu öffnen: %s\n"
 
-#: pg_dumpall.c:1751
+#: pg_dumpall.c:1767
 #, c-format
 msgid "%s: running \"%s\"\n"
 msgstr "%s: führe „%s“ aus\n"
 
-#: pg_dumpall.c:1931
+#: pg_dumpall.c:1947
 #, c-format
 msgid "%s: could not connect to database \"%s\": %s\n"
 msgstr "%s: konnte nicht mit der Datenbank „%s“ verbinden: %s\n"
 
-#: pg_dumpall.c:1961
+#: pg_dumpall.c:1977
 #, c-format
 msgid "%s: could not get server version\n"
 msgstr "%s: konnte Version des Servers nicht ermitteln\n"
 
-#: pg_dumpall.c:1967
+#: pg_dumpall.c:1983
 #, c-format
 msgid "%s: could not parse server version \"%s\"\n"
 msgstr "%s: konnte Versionszeichenkette „%s“ nicht entziffern\n"
 
-#: pg_dumpall.c:2045 pg_dumpall.c:2071
+#: pg_dumpall.c:2061 pg_dumpall.c:2087
 #, c-format
 msgid "%s: executing %s\n"
 msgstr "%s: führe %s aus\n"
 
-#: pg_dumpall.c:2051 pg_dumpall.c:2077
+#: pg_dumpall.c:2067 pg_dumpall.c:2093
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: Anfrage fehlgeschlagen: %s"
 
-#: pg_dumpall.c:2053 pg_dumpall.c:2079
+#: pg_dumpall.c:2069 pg_dumpall.c:2095
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: Anfrage war: %s\n"
diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po
index d2978a012802bb401ab9f7d74ddea2c36f613903..8b8d928558ef8c9c0708412ed0c0824ece4d4ece 100644
--- a/src/bin/pg_dump/po/es.po
+++ b/src/bin/pg_dump/po/es.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: pg_dump (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
+"PO-Revision-Date: 2016-05-24 10:40-0500\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL Español <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -110,10 +110,9 @@ msgid "reading extensions\n"
 msgstr "leyendo las extensiones\n"
 
 #: common.c:126
-#, fuzzy, c-format
-#| msgid "finding extension members\n"
+#, c-format
 msgid "identifying extension members\n"
-msgstr "buscando miembros de extensión\n"
+msgstr "identificando miembros de extensión\n"
 
 #: common.c:130
 #, c-format
@@ -151,10 +150,9 @@ msgid "reading user-defined operators\n"
 msgstr "leyendo los operadores definidos por el usuario\n"
 
 #: common.c:174
-#, fuzzy, c-format
-#| msgid "reading user-defined conversions\n"
+#, c-format
 msgid "reading user-defined access methods\n"
-msgstr "leyendo las conversiones definidas por el usuario\n"
+msgstr "leyendo los métodos de acceso definidos por el usuario\n"
 
 #: common.c:178
 #, c-format
@@ -234,10 +232,9 @@ msgid "reading event triggers\n"
 msgstr "leyendo los disparadores por eventos\n"
 
 #: common.c:240
-#, fuzzy, c-format
-#| msgid "finding extension members\n"
+#, c-format
 msgid "finding extension tables\n"
-msgstr "buscando miembros de extensión\n"
+msgstr "buscando tablas de extensión\n"
 
 #: common.c:245
 #, c-format
@@ -794,34 +791,29 @@ msgid "invalid STDSTRINGS item: %s\n"
 msgstr "elemento STDSTRINGS no válido: %s\n"
 
 #: pg_backup_archiver.c:2661
-#, fuzzy, c-format
-#| msgid "service file \"%s\" not found\n"
+#, c-format
 msgid "schema \"%s\" not found\n"
-msgstr "el archivo de servicio «%s» no fue encontrado\n"
+msgstr "esquema «%s» no encontrado\n"
 
 #: pg_backup_archiver.c:2668
-#, fuzzy, c-format
-#| msgid "option \"%s\" not found"
+#, c-format
 msgid "table \"%s\" not found\n"
-msgstr "opción «%s» no encontrada"
+msgstr "tabla «%s» no encontrada\n"
 
 #: pg_backup_archiver.c:2675
-#, fuzzy, c-format
-#| msgid "option \"%s\" not found"
+#, c-format
 msgid "index \"%s\" not found\n"
-msgstr "opción «%s» no encontrada"
+msgstr "índice «%s» no encontrado\n"
 
 #: pg_backup_archiver.c:2682
-#, fuzzy, c-format
-#| msgid "option \"%s\" not found"
+#, c-format
 msgid "function \"%s\" not found\n"
-msgstr "opción «%s» no encontrada"
+msgstr "función «%s» no encontrada\n"
 
 #: pg_backup_archiver.c:2689
-#, fuzzy, c-format
-#| msgid "option \"%s\" not found"
+#, c-format
 msgid "trigger \"%s\" not found\n"
-msgstr "opción «%s» no encontrada"
+msgstr "disparador «%s» no encontrado\n"
 
 #: pg_backup_archiver.c:2920
 #, c-format
@@ -1344,10 +1336,9 @@ msgstr[0] "se encontró un encabezado incompleto (%lu byte)\n"
 msgstr[1] "se encontró un encabezado incompleto (%lu bytes)\n"
 
 #: pg_backup_tar.c:1276
-#, fuzzy, c-format
-#| msgid "TOC Entry %s at %s (length %lu, checksum %d)\n"
+#, c-format
 msgid "TOC Entry %s at %s (length %s, checksum %d)\n"
-msgstr "entrada TOC %s en %s (tamaño %lu, suma de integridad %d)\n"
+msgstr "entrada TOC %s en %s (tamaño %s, suma de integridad %d)\n"
 
 #: pg_backup_tar.c:1287
 #, c-format
@@ -1439,16 +1430,14 @@ msgid "last built-in OID is %u\n"
 msgstr "el último OID interno es %u\n"
 
 #: pg_dump.c:709
-#, fuzzy, c-format
-#| msgid "No matching schemas were found\n"
+#, c-format
 msgid "no matching schemas were found\n"
-msgstr "No se encontraron esquemas coincidentes\n"
+msgstr "no se encontraron esquemas coincidentes\n"
 
 #: pg_dump.c:723
-#, fuzzy, c-format
-#| msgid "No matching tables were found\n"
+#, c-format
 msgid "no matching tables were found\n"
-msgstr "No se encontraron tablas coincidentes\n"
+msgstr "no se encontraron tablas coincidentes\n"
 
 #: pg_dump.c:882
 #, c-format
@@ -1706,16 +1695,13 @@ msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr "  --snapshot=SNAPSHOT          use el snapshot dado para la extracción\n"
 
 #: pg_dump.c:930 pg_restore.c:475
-#, fuzzy, c-format
-#| msgid ""
-#| "  --interactive             prompt for missing role name and attributes rather\n"
-#| "                            than using defaults\n"
+#, c-format
 msgid ""
 "  --strict-names               require table and/or schema include patterns to\n"
 "                               match at least one entity each\n"
 msgstr ""
-"  --interactive             preguntar los nombres y atributos de rol faltantes\n"
-"                            en lugar de asumir los valores por omisión\n"
+"  --strict-names           requerir al menos una coincidencia para cada patrón\n"
+"                           de nombre de tablas y esquemas\n"
 
 #: pg_dump.c:932 pg_dumpall.c:578 pg_restore.c:477
 #, c-format
@@ -1812,10 +1798,9 @@ msgstr ""
 "selección de esquema\n"
 
 #: pg_dump.c:1193 pg_dump.c:1246
-#, fuzzy, c-format
-#| msgid "No matching tables were found\n"
+#, c-format
 msgid "no matching tables were found for pattern \"%s\"\n"
-msgstr "No se encontraron tablas coincidentes\n"
+msgstr "no se encontraron tablas coincidentes para el patrón «%s»\n"
 
 #: pg_dump.c:1596
 #, c-format
@@ -2037,10 +2022,9 @@ msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "el valor del atributo «provolatile» para la función «%s» es desconocido\n"
 
 #: pg_dump.c:11582 pg_dump.c:13641
-#, fuzzy, c-format
-#| msgid "unrecognized provolatile value for function \"%s\"\n"
+#, c-format
 msgid "unrecognized proparallel value for function \"%s\"\n"
-msgstr "el valor del atributo «provolatile» para la función «%s» es desconocido\n"
+msgstr "el valor del atributo «proparallel» para la función «%s» es desconocido\n"
 
 #: pg_dump.c:11734
 #, c-format
@@ -2075,7 +2059,7 @@ msgstr "PRECAUCIÓN: no se pudo encontrar el operador con OID %s\n"
 #: pg_dump.c:12318
 #, c-format
 msgid "WARNING: invalid type \"%c\" of access method \"%s\"\n"
-msgstr ""
+msgstr "PRECAUCIÓN: el tipo «%c» para el método de acceso «%s» no es válido\n"
 
 #: pg_dump.c:13525
 #, c-format
@@ -2095,16 +2079,14 @@ msgid "could not parse default ACL list (%s)\n"
 msgstr "no se pudo interpretar la lista de ACL (%s)\n"
 
 #: pg_dump.c:14490
-#, fuzzy, c-format
-#| msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
+#, c-format
 msgid "could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) for object \"%s\" (%s)\n"
-msgstr "no se pudo interpretar la lista de ACL (%s) para el objeto «%s» (%s)\n"
+msgstr "no se pudo interpretar la lista inicial de GRANT ACL (%s) o la lista inicial de REVOKE ACL (%s) para el objeto «%s» (%s)\n"
 
 #: pg_dump.c:14498
-#, fuzzy, c-format
-#| msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
+#, c-format
 msgid "could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s\" (%s)\n"
-msgstr "no se pudo interpretar la lista de ACL (%s) para el objeto «%s» (%s)\n"
+msgstr "no se pudo interpretar la lista de GRANT ACL (%s) o la lista de REVOKE ACL (%s) para el objeto «%s» (%s)\n"
 
 #: pg_dump.c:14974
 #, c-format
@@ -2169,10 +2151,9 @@ msgid "reading dependency data\n"
 msgstr "obteniendo datos de dependencias\n"
 
 #: pg_dump.c:17724
-#, fuzzy, c-format
-#| msgid "WARNING: could not parse proconfig array\n"
+#, c-format
 msgid "WARNING: could not parse reloptions array\n"
-msgstr "PRECAUCIÓN: no se pudo interpretar el arreglo proconfig\n"
+msgstr "PRECAUCIÓN: no se pudo interpretar el arreglo reloptions\n"
 
 #: pg_dump.c:17788
 #, c-format
@@ -2368,10 +2349,9 @@ msgstr ""
 "\n"
 
 #: pg_dumpall.c:777
-#, fuzzy, c-format
-#| msgid "%s: locale name too long, skipped: \"%s\"\n"
+#, c-format
 msgid "%s: role name starting with \"pg_\" skipped (%s)\n"
-msgstr "%s: nombre de configuración regional demasiado largo, saltando: «%s»\n"
+msgstr "%s: omitido nombre de rol que empieza con «pg_» (%s)\n"
 
 #: pg_dumpall.c:1128
 #, c-format
@@ -2590,10 +2570,9 @@ msgstr ""
 "                           para deshabilitar los disparadores (triggers)\n"
 
 #: pg_restore.c:463
-#, fuzzy, c-format
-#| msgid "  -t, --table=NAME             restore named table\n"
+#, c-format
 msgid "  -t, --table=NAME             restore named relation (table, view, etc.)\n"
-msgstr "  -t, --table=NOMBRE       reestablece la tabla nombrada\n"
+msgstr "  -t, --table=NOMBRE       reestablece la relación (tabla, vista, etc.) nombrada\n"
 
 #: pg_restore.c:464
 #, c-format
diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po
index 2e09288f478260fdba984ddfd01f4a3bb67c50c4..8fc78f09d9b6eb78095986b201e6eb4936e26e33 100644
--- a/src/bin/pg_dump/po/ru.po
+++ b/src/bin/pg_dump/po/ru.po
@@ -27,7 +27,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-01-15 04:43+0000\n"
+"POT-Creation-Date: 2016-06-14 20:44+0000\n"
 "PO-Revision-Date: 2016-01-17 08:02+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -77,8 +77,8 @@ msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 pg_backup_db.c:137 pg_backup_db.c:188
-#: pg_backup_db.c:245 pg_backup_db.c:287
+#: ../../common/fe_memutils.c:98 pg_backup_db.c:156 pg_backup_db.c:207
+#: pg_backup_db.c:264 pg_backup_db.c:306
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -123,269 +123,264 @@ msgstr "дочерний процесс завершён по сигналу %d"
 msgid "child process exited with unrecognized status %d"
 msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
 
-#: common.c:119
+#: common.c:121
 #, c-format
 msgid "reading extensions\n"
 msgstr "чтение расширений\n"
 
-#: common.c:124
+#: common.c:126
 #, c-format
 msgid "identifying extension members\n"
 msgstr "выявление членов расширений\n"
 
-#: common.c:128
+#: common.c:130
 #, c-format
 msgid "reading schemas\n"
 msgstr "чтение схем\n"
 
-#: common.c:139
+#: common.c:141
 #, c-format
 msgid "reading user-defined tables\n"
 msgstr "чтение пользовательских таблиц\n"
 
-#: common.c:147
+#: common.c:149
 #, c-format
 msgid "reading user-defined functions\n"
 msgstr "чтение пользовательских функций\n"
 
-#: common.c:153
+#: common.c:155
 #, c-format
 msgid "reading user-defined types\n"
 msgstr "чтение пользовательских типов\n"
 
-#: common.c:159
+#: common.c:161
 #, c-format
 msgid "reading procedural languages\n"
 msgstr "чтение процедурных языков\n"
 
-#: common.c:163
+#: common.c:165
 #, c-format
 msgid "reading user-defined aggregate functions\n"
 msgstr "чтение пользовательских агрегатных функций\n"
 
-#: common.c:167
+#: common.c:169
 #, c-format
 msgid "reading user-defined operators\n"
 msgstr "чтение пользовательских операторов\n"
 
-#: common.c:172
+#: common.c:174
+#, c-format
+msgid "reading user-defined access methods\n"
+msgstr "чтение пользовательских методов доступа\n"
+
+#: common.c:178
 #, c-format
 msgid "reading user-defined operator classes\n"
 msgstr "чтение пользовательских классов операторов\n"
 
-#: common.c:176
+#: common.c:182
 #, c-format
 msgid "reading user-defined operator families\n"
 msgstr "чтение пользовательских семейств операторов\n"
 
-#: common.c:180
+#: common.c:186
 #, c-format
 msgid "reading user-defined text search parsers\n"
 msgstr "чтение пользовательских анализаторов текстового поиска\n"
 
-#: common.c:184
+#: common.c:190
 #, c-format
 msgid "reading user-defined text search templates\n"
 msgstr "чтение пользовательских шаблонов текстового поиска\n"
 
-#: common.c:188
+#: common.c:194
 #, c-format
 msgid "reading user-defined text search dictionaries\n"
 msgstr "чтение пользовательских словарей текстового поиска\n"
 
-#: common.c:192
+#: common.c:198
 #, c-format
 msgid "reading user-defined text search configurations\n"
 msgstr "чтение пользовательских конфигураций текстового поиска\n"
 
-#: common.c:196
+#: common.c:202
 #, c-format
 msgid "reading user-defined foreign-data wrappers\n"
 msgstr "чтение пользовательских оболочек сторонних данных\n"
 
-#: common.c:200
+#: common.c:206
 #, c-format
 msgid "reading user-defined foreign servers\n"
 msgstr "чтение пользовательских сторонних серверов\n"
 
-#: common.c:204
+#: common.c:210
 #, c-format
 msgid "reading default privileges\n"
 msgstr "чтение прав по умолчанию\n"
 
-#: common.c:208
+#: common.c:214
 #, c-format
 msgid "reading user-defined collations\n"
 msgstr "чтение пользовательских правил сортировки\n"
 
-#: common.c:213
+#: common.c:219
 #, c-format
 msgid "reading user-defined conversions\n"
 msgstr "чтение пользовательских преобразований\n"
 
-#: common.c:217
+#: common.c:223
 #, c-format
 msgid "reading type casts\n"
 msgstr "чтение приведений типов\n"
 
-#: common.c:221
+#: common.c:227
 #, c-format
 msgid "reading transforms\n"
 msgstr "чтение преобразований\n"
 
-#: common.c:225
+#: common.c:231
 #, c-format
 msgid "reading table inheritance information\n"
 msgstr "чтение информации о наследовании таблиц\n"
 
-#: common.c:229
+#: common.c:235
 #, c-format
 msgid "reading event triggers\n"
 msgstr "чтение событийных триггеров\n"
 
-#: common.c:234
+#: common.c:240
 #, c-format
 msgid "finding extension tables\n"
 msgstr "поиск таблиц расширений\n"
 
-#: common.c:239
+#: common.c:245
 #, c-format
 msgid "finding inheritance relationships\n"
 msgstr "поиск связей наследования\n"
 
-#: common.c:243
+#: common.c:249
 #, c-format
 msgid "reading column info for interesting tables\n"
 msgstr "чтение информации о столбцах интересующих таблиц\n"
 
-#: common.c:247
+#: common.c:253
 #, c-format
 msgid "flagging inherited columns in subtables\n"
 msgstr "пометка наследованных столбцов в подтаблицах\n"
 
-#: common.c:251
+#: common.c:257
 #, c-format
 msgid "reading indexes\n"
 msgstr "чтение индексов\n"
 
-#: common.c:255
+#: common.c:261
 #, c-format
 msgid "reading constraints\n"
 msgstr "чтение ограничений\n"
 
-#: common.c:259
+#: common.c:265
 #, c-format
 msgid "reading triggers\n"
 msgstr "чтение триггеров\n"
 
-#: common.c:263
+#: common.c:269
 #, c-format
 msgid "reading rewrite rules\n"
 msgstr "чтение правил перезаписи\n"
 
-#: common.c:267
+#: common.c:273
 #, c-format
 msgid "reading policies\n"
 msgstr "чтение политик\n"
 
-#: common.c:902
+#: common.c:908
 #, c-format
 msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found\n"
 msgstr "родительская таблица с OID %u для таблицы \"%s\" (OID %u) не найдена\n"
 
-#: common.c:944
+#: common.c:950
 #, c-format
 msgid "could not parse numeric array \"%s\": too many numbers\n"
 msgstr "не удалось разобрать числовой массив \"%s\": слишком много чисел\n"
 
-#: common.c:959
+#: common.c:965
 #, c-format
 msgid "could not parse numeric array \"%s\": invalid character in number\n"
 msgstr "не удалось разобрать числовой массив \"%s\": неверный символ в числе\n"
 
 #. translator: this is a module name
-#: compress_io.c:79
+#: compress_io.c:78
 msgid "compress_io"
 msgstr "compress_io"
 
-#: compress_io.c:115
+#: compress_io.c:114
 #, c-format
 msgid "invalid compression code: %d\n"
 msgstr "неверный код сжатия: %d\n"
 
-#: compress_io.c:139 compress_io.c:175 compress_io.c:196 compress_io.c:529
-#: compress_io.c:572
+#: compress_io.c:138 compress_io.c:174 compress_io.c:192 compress_io.c:519
+#: compress_io.c:562
 #, c-format
 msgid "not built with zlib support\n"
 msgstr "программа собрана без поддержки zlib\n"
 
-#: compress_io.c:246 compress_io.c:348
+#: compress_io.c:242 compress_io.c:344
 #, c-format
 msgid "could not initialize compression library: %s\n"
 msgstr "не удалось инициализировать библиотеку сжатия: %s\n"
 
-#: compress_io.c:267
+#: compress_io.c:263
 #, c-format
 msgid "could not close compression stream: %s\n"
 msgstr "не удалось закрыть поток сжатых данных: %s\n"
 
-#: compress_io.c:285
+#: compress_io.c:281
 #, c-format
 msgid "could not compress data: %s\n"
 msgstr "не удалось сжать данные: %s\n"
 
-#: compress_io.c:368 compress_io.c:384
+#: compress_io.c:361 compress_io.c:377
 #, c-format
 msgid "could not uncompress data: %s\n"
 msgstr "не удалось распаковать данные: %s\n"
 
-#: compress_io.c:392
+#: compress_io.c:385
 #, c-format
 msgid "could not close compression library: %s\n"
 msgstr "не удалось закрыть библиотеку сжатия: %s\n"
 
-#: compress_io.c:606 compress_io.c:642 pg_backup_custom.c:591
-#: pg_backup_tar.c:560
+#: compress_io.c:596 compress_io.c:632 pg_backup_custom.c:591
+#: pg_backup_tar.c:561
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "не удалось прочитать входной файл: %s\n"
 
-#: compress_io.c:645 pg_backup_custom.c:588 pg_backup_directory.c:552
-#: pg_backup_tar.c:796 pg_backup_tar.c:820
+#: compress_io.c:635 pg_backup_custom.c:588 pg_backup_directory.c:548
+#: pg_backup_tar.c:797 pg_backup_tar.c:821
 #, c-format
 msgid "could not read from input file: end of file\n"
 msgstr "не удалось прочитать входной файл: конец файла\n"
 
-#: parallel.c:76
+#: parallel.c:163
 msgid "parallel archiver"
 msgstr "параллельный архиватор"
 
-#: parallel.c:139
+#: parallel.c:227
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: ошибка WSAStartup: %d\n"
 
-#: parallel.c:339
-#, c-format
-msgid "worker is terminating\n"
-msgstr "рабочий процесс прерывается\n"
-
-#: parallel.c:529
+#: parallel.c:930
 #, c-format
 msgid "could not create communication channels: %s\n"
 msgstr "не удалось создать каналы межпроцессного взаимодействия: %s\n"
 
-#: parallel.c:601
+#: parallel.c:993
 #, c-format
 msgid "could not create worker process: %s\n"
 msgstr "не удалось создать рабочий процесс: %s\n"
 
-#: parallel.c:818
-#, c-format
-msgid "could not get relation name for OID %u: %s\n"
-msgstr "не удалось получить имя отношения с OID %u: %s\n"
-
-#: parallel.c:835
+#: parallel.c:1188
 #, c-format
 msgid ""
 "could not obtain lock on relation \"%s\"\n"
@@ -398,116 +393,106 @@ msgstr ""
 "этой таблицы после того, как родительский процесс pg_dump получил для неё "
 "начальную блокировку ACCESS SHARE.\n"
 
-#: parallel.c:919
+#: parallel.c:1258
 #, c-format
-msgid "unrecognized command on communication channel: %s\n"
-msgstr "Неизвестная команда в канале взаимодействия: %s\n"
+msgid "unrecognized command received from master: \"%s\"\n"
+msgstr "от ведущего получена нераспознанная команда: \"%s\"\n"
 
-#: parallel.c:952
+#: parallel.c:1296
 #, c-format
 msgid "a worker process died unexpectedly\n"
 msgstr "рабочий процесс неожиданно прекратился\n"
 
-#: parallel.c:979 parallel.c:988
+#: parallel.c:1322 parallel.c:1328
 #, c-format
-msgid "invalid message received from worker: %s\n"
-msgstr "от рабочего процесса получено ошибочное сообщение: %s\n"
+msgid "invalid message received from worker: \"%s\"\n"
+msgstr "от рабочего процесса получено ошибочное сообщение: \"%s\"\n"
 
-#: parallel.c:985 pg_backup_db.c:355
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: parallel.c:1037 parallel.c:1081
+#: parallel.c:1385 parallel.c:1436
 #, c-format
 msgid "error processing a parallel work item\n"
 msgstr "ошибка выполнения части параллельной работы\n"
 
-#: parallel.c:1109 parallel.c:1247
+#: parallel.c:1465 parallel.c:1583
 #, c-format
 msgid "could not write to the communication channel: %s\n"
 msgstr "не удалось записать в канал взаимодействия: %s\n"
 
-#: parallel.c:1158
-#, c-format
-msgid "terminated by user\n"
-msgstr "прервано пользователем\n"
-
-#: parallel.c:1210
+#: parallel.c:1543
 #, c-format
-msgid "error in ListenToWorkers(): %s\n"
-msgstr "ошибка в ListenToWorkers(): %s\n"
+msgid "select() failed: %s\n"
+msgstr "ошибка в select(): %s\n"
 
-#: parallel.c:1335
+#: parallel.c:1668
 #, c-format
 msgid "pgpipe: could not create socket: error code %d\n"
 msgstr "pgpipe: не удалось создать сокет (код ошибки: %d)\n"
 
-#: parallel.c:1346
+#: parallel.c:1679
 #, c-format
 msgid "pgpipe: could not bind: error code %d\n"
 msgstr "pgpipe: не удалось привязаться к сокету (код ошибки: %d)\n"
 
-#: parallel.c:1353
+#: parallel.c:1686
 #, c-format
 msgid "pgpipe: could not listen: error code %d\n"
 msgstr "pgpipe: не удалось начать приём (код ошибки: %d)\n"
 
-#: parallel.c:1360
+#: parallel.c:1693
 #, c-format
 msgid "pgpipe: getsockname() failed: error code %d\n"
 msgstr "pgpipe: ошибка в getsockname() (код ошибки: %d)\n"
 
-#: parallel.c:1371
+#: parallel.c:1704
 #, c-format
 msgid "pgpipe: could not create second socket: error code %d\n"
 msgstr "pgpipe: не удалось создать второй сокет (код ошибки: %d)\n"
 
-#: parallel.c:1380
+#: parallel.c:1713
 #, c-format
 msgid "pgpipe: could not connect socket: error code %d\n"
 msgstr "pgpipe: не удалось подключить сокет (код ошибки: %d)\n"
 
-#: parallel.c:1387
+#: parallel.c:1722
 #, c-format
 msgid "pgpipe: could not accept connection: error code %d\n"
 msgstr "pgpipe: не удалось принять соединение (код ошибки: %d)\n"
 
 #. translator: this is a module name
-#: pg_backup_archiver.c:53
+#: pg_backup_archiver.c:55
 msgid "archiver"
 msgstr "архиватор"
 
-#: pg_backup_archiver.c:229 pg_backup_archiver.c:1499
+#: pg_backup_archiver.c:234 pg_backup_archiver.c:1512
 #, c-format
 msgid "could not close output file: %s\n"
 msgstr "не удалось закрыть выходной файл: %s\n"
 
-#: pg_backup_archiver.c:275 pg_backup_archiver.c:280
+#: pg_backup_archiver.c:280 pg_backup_archiver.c:285
 #, c-format
 msgid "WARNING: archive items not in correct section order\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: в последовательности элементов архива нарушен порядок "
 "разделов\n"
 
-#: pg_backup_archiver.c:286
+#: pg_backup_archiver.c:291
 #, c-format
 msgid "unexpected section code %d\n"
 msgstr "неожиданный код раздела %d\n"
 
-#: pg_backup_archiver.c:318
+#: pg_backup_archiver.c:327
 #, c-format
 msgid "-C and -1 are incompatible options\n"
 msgstr "Параметры -C и -1 несовместимы\n"
 
-#: pg_backup_archiver.c:328
+#: pg_backup_archiver.c:337
 #, c-format
 msgid "parallel restore is not supported with this archive file format\n"
 msgstr ""
 "параллельное восстановление не поддерживается с выбранным форматом архивного "
 "файла\n"
 
-#: pg_backup_archiver.c:332
+#: pg_backup_archiver.c:341
 #, c-format
 msgid ""
 "parallel restore is not supported with archives made by pre-8.0 pg_dump\n"
@@ -515,7 +500,7 @@ msgstr ""
 "параллельное восстановление возможно только для архивов, созданных pg_dump "
 "версии 8.0 и новее\n"
 
-#: pg_backup_archiver.c:350
+#: pg_backup_archiver.c:359
 #, c-format
 msgid ""
 "cannot restore from compressed archive (compression not supported in this "
@@ -524,83 +509,83 @@ msgstr ""
 "восстановить данные из сжатого архива нельзя (установленная версия не "
 "поддерживает сжатие)\n"
 
-#: pg_backup_archiver.c:367
+#: pg_backup_archiver.c:376
 #, c-format
 msgid "connecting to database for restore\n"
 msgstr "подключение к базе данных для восстановления\n"
 
-#: pg_backup_archiver.c:369
+#: pg_backup_archiver.c:378
 #, c-format
 msgid "direct database connections are not supported in pre-1.3 archives\n"
 msgstr ""
 "прямые подключения к базе данных не поддерживаются в архивах до версии 1.3\n"
 
-#: pg_backup_archiver.c:414
+#: pg_backup_archiver.c:423
 #, c-format
 msgid "implied data-only restore\n"
 msgstr "подразумевается восстановление только данных\n"
 
-#: pg_backup_archiver.c:484
+#: pg_backup_archiver.c:493
 #, c-format
 msgid "dropping %s %s\n"
 msgstr "удаляется %s %s\n"
 
-#: pg_backup_archiver.c:637
+#: pg_backup_archiver.c:646
 #, c-format
 msgid "setting owner and privileges for %s \"%s.%s\"\n"
 msgstr "установка владельца и прав: %s \"%s.%s\"\n"
 
-#: pg_backup_archiver.c:640
+#: pg_backup_archiver.c:649
 #, c-format
 msgid "setting owner and privileges for %s \"%s\"\n"
 msgstr "установка владельца и прав: %s \"%s\"\n"
 
-#: pg_backup_archiver.c:706 pg_backup_archiver.c:708
+#: pg_backup_archiver.c:715 pg_backup_archiver.c:717
 #, c-format
 msgid "warning from original dump file: %s\n"
 msgstr "предупреждение из исходного файла: %s\n"
 
-#: pg_backup_archiver.c:717
+#: pg_backup_archiver.c:726
 #, c-format
 msgid "creating %s \"%s.%s\"\n"
 msgstr "создаётся %s \"%s.%s\"\n"
 
-#: pg_backup_archiver.c:720
+#: pg_backup_archiver.c:729
 #, c-format
 msgid "creating %s \"%s\"\n"
 msgstr "создаётся %s \"%s\"\n"
 
-#: pg_backup_archiver.c:765
+#: pg_backup_archiver.c:774
 #, c-format
 msgid "connecting to new database \"%s\"\n"
 msgstr "подключение к новой базе данных \"%s\"\n"
 
-#: pg_backup_archiver.c:793
+#: pg_backup_archiver.c:802
 #, c-format
 msgid "processing %s\n"
 msgstr "обрабатывается %s\n"
 
-#: pg_backup_archiver.c:813
+#: pg_backup_archiver.c:822
 #, c-format
 msgid "processing data for table \"%s.%s\"\n"
 msgstr "обрабатываются данные таблицы \"%s.%s\"\n"
 
-#: pg_backup_archiver.c:875
+#: pg_backup_archiver.c:884
 #, c-format
 msgid "executing %s %s\n"
 msgstr "выполняется %s %s\n"
 
-#: pg_backup_archiver.c:914
+#: pg_backup_archiver.c:923
 #, c-format
 msgid "disabling triggers for %s\n"
 msgstr "отключаются триггеры таблицы %s\n"
 
-#: pg_backup_archiver.c:942
+#: pg_backup_archiver.c:951
 #, c-format
 msgid "enabling triggers for %s\n"
 msgstr "включаются триггеры таблицы %s\n"
 
-#: pg_backup_archiver.c:972
+#: pg_backup_archiver.c:981
 #, c-format
 msgid ""
 "internal error -- WriteData cannot be called outside the context of a "
@@ -609,12 +594,12 @@ msgstr ""
 "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры "
 "DataDumper\n"
 
-#: pg_backup_archiver.c:1137
+#: pg_backup_archiver.c:1150
 #, c-format
 msgid "large-object output not supported in chosen format\n"
 msgstr "выбранный формат не поддерживает выгрузку больших объектов\n"
 
-#: pg_backup_archiver.c:1195
+#: pg_backup_archiver.c:1208
 #, c-format
 msgid "restored %d large object\n"
 msgid_plural "restored %d large objects\n"
@@ -622,55 +607,55 @@ msgstr[0] "восстановлен %d большой объект\n"
 msgstr[1] "восстановлено %d больших объекта\n"
 msgstr[2] "восстановлено %d больших объектов\n"
 
-#: pg_backup_archiver.c:1216 pg_backup_tar.c:738
+#: pg_backup_archiver.c:1229 pg_backup_tar.c:739
 #, c-format
 msgid "restoring large object with OID %u\n"
 msgstr "восстановление большого объекта с OID %u\n"
 
-#: pg_backup_archiver.c:1228
+#: pg_backup_archiver.c:1241
 #, c-format
 msgid "could not create large object %u: %s"
 msgstr "не удалось создать большой объект %u: %s"
 
-#: pg_backup_archiver.c:1233 pg_dump.c:2862
+#: pg_backup_archiver.c:1246 pg_dump.c:3048
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "не удалось открыть большой объект %u: %s"
 
-#: pg_backup_archiver.c:1291
+#: pg_backup_archiver.c:1304
 #, c-format
 msgid "could not open TOC file \"%s\": %s\n"
 msgstr "не удалось открыть файл оглавления \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1332
+#: pg_backup_archiver.c:1345
 #, c-format
 msgid "WARNING: line ignored: %s\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: строка проигнорирована: %s\n"
 
-#: pg_backup_archiver.c:1339
+#: pg_backup_archiver.c:1352
 #, c-format
 msgid "could not find entry for ID %d\n"
 msgstr "не найдена запись для ID %d\n"
 
-#: pg_backup_archiver.c:1360 pg_backup_directory.c:230
-#: pg_backup_directory.c:601
+#: pg_backup_archiver.c:1373 pg_backup_directory.c:230
+#: pg_backup_directory.c:597
 #, c-format
 msgid "could not close TOC file: %s\n"
 msgstr "не удалось закрыть файл оглавления: %s\n"
 
-#: pg_backup_archiver.c:1469 pg_backup_custom.c:162 pg_backup_directory.c:341
-#: pg_backup_directory.c:587 pg_backup_directory.c:645
-#: pg_backup_directory.c:665
+#: pg_backup_archiver.c:1482 pg_backup_custom.c:162 pg_backup_directory.c:341
+#: pg_backup_directory.c:583 pg_backup_directory.c:641
+#: pg_backup_directory.c:661
 #, c-format
 msgid "could not open output file \"%s\": %s\n"
 msgstr "не удалось открыть выходной файл \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1472 pg_backup_custom.c:169
+#: pg_backup_archiver.c:1485 pg_backup_custom.c:169
 #, c-format
 msgid "could not open output file: %s\n"
 msgstr "не удалось открыть выходной файл: %s\n"
 
-#: pg_backup_archiver.c:1578
+#: pg_backup_archiver.c:1591
 #, 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"
@@ -678,196 +663,212 @@ msgstr[0] "записан %lu байт данных большого объек
 msgstr[1] "записано %lu байта данных большого объекта (результат = %lu)\n"
 msgstr[2] "записано %lu байт данных большого объекта (результат = %lu)\n"
 
-#: pg_backup_archiver.c:1584
+#: pg_backup_archiver.c:1597
 #, c-format
 msgid "could not write to large object (result: %lu, expected: %lu)\n"
 msgstr "не удалось записать большой объект (результат: %lu, ожидалось: %lu)\n"
 
-#: pg_backup_archiver.c:1677
+#: pg_backup_archiver.c:1690
 #, c-format
 msgid "Error while INITIALIZING:\n"
 msgstr "Ошибка при инициализации:\n"
 
-#: pg_backup_archiver.c:1682
+#: pg_backup_archiver.c:1695
 #, c-format
 msgid "Error while PROCESSING TOC:\n"
 msgstr "Ошибка при обработке оглавления:\n"
 
-#: pg_backup_archiver.c:1687
+#: pg_backup_archiver.c:1700
 #, c-format
 msgid "Error while FINALIZING:\n"
 msgstr "Ошибка при завершении:\n"
 
-#: pg_backup_archiver.c:1692
+#: pg_backup_archiver.c:1705
 #, 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:1765
+#: pg_backup_archiver.c:1778
 #, c-format
 msgid "bad dumpId\n"
 msgstr "неверный dumpId\n"
 
-#: pg_backup_archiver.c:1786
+#: pg_backup_archiver.c:1799
 #, c-format
 msgid "bad table dumpId for TABLE DATA item\n"
 msgstr "неверный dumpId таблицы в элементе TABLE DATA\n"
 
-#: pg_backup_archiver.c:1878
+#: pg_backup_archiver.c:1891
 #, c-format
 msgid "unexpected data offset flag %d\n"
 msgstr "неожиданный флаг смещения данных: %d\n"
 
-#: pg_backup_archiver.c:1891
+#: pg_backup_archiver.c:1904
 #, c-format
 msgid "file offset in dump file is too large\n"
 msgstr "слишком большое смещение в файле вывода\n"
 
-#: pg_backup_archiver.c:2004
+#: pg_backup_archiver.c:2017
 #, c-format
 msgid "attempting to ascertain archive format\n"
 msgstr "попытка выяснить формат архива\n"
 
-#: pg_backup_archiver.c:2030 pg_backup_archiver.c:2040
+#: pg_backup_archiver.c:2043 pg_backup_archiver.c:2053
 #, c-format
 msgid "directory name too long: \"%s\"\n"
 msgstr "слишком длинное имя каталога: \"%s\"\n"
 
-#: pg_backup_archiver.c:2048
+#: pg_backup_archiver.c:2061
 #, 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:2056 pg_backup_custom.c:181 pg_backup_custom.c:770
-#: pg_backup_directory.c:214 pg_backup_directory.c:402
+#: pg_backup_archiver.c:2069 pg_backup_custom.c:181 pg_backup_custom.c:770
+#: pg_backup_directory.c:214 pg_backup_directory.c:399
 #, c-format
 msgid "could not open input file \"%s\": %s\n"
 msgstr "не удалось открыть входной файл \"%s\": %s\n"
 
-#: pg_backup_archiver.c:2064 pg_backup_custom.c:188
+#: pg_backup_archiver.c:2077 pg_backup_custom.c:188
 #, c-format
 msgid "could not open input file: %s\n"
 msgstr "не удалось открыть входной файл: %s\n"
 
-#: pg_backup_archiver.c:2071
+#: pg_backup_archiver.c:2084
 #, c-format
 msgid "could not read input file: %s\n"
 msgstr "не удалось прочитать входной файл: %s\n"
 
-#: pg_backup_archiver.c:2073
+#: pg_backup_archiver.c:2086
 #, c-format
 msgid "input file is too short (read %lu, expected 5)\n"
 msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)\n"
 
-#: pg_backup_archiver.c:2156
+#: pg_backup_archiver.c:2169
 #, c-format
 msgid "input file appears to be a text format dump. Please use psql.\n"
 msgstr ""
 "входной файл похоже имеет текстовый формат. Загрузите его с помощью psql.\n"
 
-#: pg_backup_archiver.c:2162
+#: pg_backup_archiver.c:2175
 #, c-format
 msgid "input file does not appear to be a valid archive (too short?)\n"
 msgstr "входной файл не похож на архив (возможно, слишком мал?)\n"
 
-#: pg_backup_archiver.c:2168
+#: pg_backup_archiver.c:2181
 #, c-format
 msgid "input file does not appear to be a valid archive\n"
 msgstr "входной файл не похож на архив\n"
 
-#: pg_backup_archiver.c:2188
+#: pg_backup_archiver.c:2201
 #, c-format
 msgid "could not close input file: %s\n"
 msgstr "не удалось закрыть входной файл: %s\n"
 
-#: pg_backup_archiver.c:2205
+#: pg_backup_archiver.c:2218
 #, c-format
 msgid "allocating AH for %s, format %d\n"
 msgstr "выделение структуры AH для %s, формат %d\n"
 
-#: pg_backup_archiver.c:2310
+#: pg_backup_archiver.c:2323
 #, c-format
 msgid "unrecognized file format \"%d\"\n"
 msgstr "неопознанный формат файла: \"%d\"\n"
 
-#: pg_backup_archiver.c:2460
+#: pg_backup_archiver.c:2479
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC\n"
 msgstr "ID записи %d вне диапазона - возможно повреждено оглавление\n"
 
-#: pg_backup_archiver.c:2576
+#: pg_backup_archiver.c:2595
 #, c-format
 msgid "read TOC entry %d (ID %d) for %s %s\n"
 msgstr "прочитана запись оглавления %d (ID %d): %s %s\n"
 
-#: pg_backup_archiver.c:2610
+#: pg_backup_archiver.c:2629
 #, c-format
 msgid "unrecognized encoding \"%s\"\n"
 msgstr "нераспознанная кодировка \"%s\"\n"
 
-#: pg_backup_archiver.c:2615
+#: pg_backup_archiver.c:2634
 #, c-format
 msgid "invalid ENCODING item: %s\n"
 msgstr "неверный элемент ENCODING: %s\n"
 
-#: pg_backup_archiver.c:2633
+#: pg_backup_archiver.c:2652
 #, c-format
 msgid "invalid STDSTRINGS item: %s\n"
 msgstr "неверный элемент STDSTRINGS: %s\n"
 
-#: pg_backup_archiver.c:2858
+#: pg_backup_archiver.c:2667
+#, c-format
+msgid "schema \"%s\" not found\n"
+msgstr "схема \"%s\" не найдена\n"
+
+#: pg_backup_archiver.c:2674
+#, c-format
+msgid "table \"%s\" not found\n"
+msgstr "таблица \"%s\" не найдена\n"
+
+#: pg_backup_archiver.c:2681
+#, c-format
+msgid "index \"%s\" not found\n"
+msgstr "индекс \"%s\" не найден\n"
+
+#: pg_backup_archiver.c:2688
+#, c-format
+msgid "function \"%s\" not found\n"
+msgstr "функция \"%s\" не найдена\n"
+
+#: pg_backup_archiver.c:2695
+#, c-format
+msgid "trigger \"%s\" not found\n"
+msgstr "триггер \"%s\" не найден\n"
+
+#: pg_backup_archiver.c:2926
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "не удалось переключить пользователя сессии на \"%s\": %s"
 
-#: pg_backup_archiver.c:2890
+#: pg_backup_archiver.c:2958
 #, c-format
 msgid "could not set default_with_oids: %s"
 msgstr "не удалось установить параметр default_with_oids: %s"
 
-#: pg_backup_archiver.c:3030
+#: pg_backup_archiver.c:3098
 #, c-format
 msgid "could not set search_path to \"%s\": %s"
 msgstr "не удалось присвоить search_path значение \"%s\": %s"
 
-#: pg_backup_archiver.c:3092
+#: pg_backup_archiver.c:3160
 #, c-format
 msgid "could not set default_tablespace to %s: %s"
 msgstr "не удалось задать для default_tablespace значение %s: %s"
 
-#: pg_backup_archiver.c:3179 pg_backup_archiver.c:3366
+#: pg_backup_archiver.c:3247 pg_backup_archiver.c:3434
 #, c-format
 msgid "WARNING: don't know how to set owner for object type %s\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: неизвестно, как назначить владельца для объекта типа %s\n"
 
-#: pg_backup_archiver.c:3419
-#, c-format
-msgid ""
-"WARNING: requested compression not available in this installation -- archive "
-"will be uncompressed\n"
-msgstr ""
-"ПРЕДУПРЕЖДЕНИЕ: установленная версия программы не поддерживает сжатие -- "
-"архив не будет сжиматься\n"
-
-#: pg_backup_archiver.c:3458
+#: pg_backup_archiver.c:3516
 #, c-format
 msgid "did not find magic string in file header\n"
 msgstr "в файле заголовка не найдена магическая строка\n"
 
-#: pg_backup_archiver.c:3471
+#: pg_backup_archiver.c:3529
 #, c-format
 msgid "unsupported version (%d.%d) in file header\n"
 msgstr "неподдерживаемая версия (%d.%d) в заголовке файла\n"
 
-#: pg_backup_archiver.c:3476
+#: pg_backup_archiver.c:3534
 #, c-format
 msgid "sanity check on integer size (%lu) failed\n"
 msgstr "несоответствие размера integer (%lu)\n"
 
-#: pg_backup_archiver.c:3480
+#: pg_backup_archiver.c:3538
 #, c-format
 msgid ""
 "WARNING: archive was made on a machine with larger integers, some operations "
@@ -876,12 +877,12 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: архив был сделан на компьютере большей разрядности -- "
 "возможен сбой некоторых операций\n"
 
-#: pg_backup_archiver.c:3490
+#: pg_backup_archiver.c:3548
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)\n"
 msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)\n"
 
-#: pg_backup_archiver.c:3506
+#: pg_backup_archiver.c:3564
 #, c-format
 msgid ""
 "WARNING: archive is compressed, but this installation does not support "
@@ -890,87 +891,87 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: архив сжат, но установленная версия не поддерживает сжатие "
 "-- данные недоступны\n"
 
-#: pg_backup_archiver.c:3524
+#: pg_backup_archiver.c:3582
 #, c-format
 msgid "WARNING: invalid creation date in header\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: неверная дата создания в заголовке\n"
 
-#: pg_backup_archiver.c:3599
+#: pg_backup_archiver.c:3657
 #, c-format
 msgid "entering restore_toc_entries_prefork\n"
 msgstr "вход в restore_toc_entries_prefork\n"
 
-#: pg_backup_archiver.c:3643
+#: pg_backup_archiver.c:3701
 #, c-format
 msgid "processing item %d %s %s\n"
 msgstr "обработка объекта %d %s %s\n"
 
-#: pg_backup_archiver.c:3695
+#: pg_backup_archiver.c:3753
 #, c-format
 msgid "entering restore_toc_entries_parallel\n"
 msgstr "вход в restore_toc_entries_parallel\n"
 
-#: pg_backup_archiver.c:3743
+#: pg_backup_archiver.c:3801
 #, c-format
 msgid "entering main parallel loop\n"
 msgstr "вход в основной параллельный цикл\n"
 
-#: pg_backup_archiver.c:3754
+#: pg_backup_archiver.c:3812
 #, c-format
 msgid "skipping item %d %s %s\n"
 msgstr "объект %d %s %s пропускается\n"
 
-#: pg_backup_archiver.c:3764
+#: pg_backup_archiver.c:3822
 #, c-format
 msgid "launching item %d %s %s\n"
 msgstr "объект %d %s %s запускается\n"
 
-#: pg_backup_archiver.c:3822
+#: pg_backup_archiver.c:3878
 #, c-format
 msgid "finished main parallel loop\n"
 msgstr "основной параллельный цикл закончен\n"
 
-#: pg_backup_archiver.c:3831
+#: pg_backup_archiver.c:3887
 #, c-format
 msgid "entering restore_toc_entries_postfork\n"
 msgstr "вход в restore_toc_entries_postfork\n"
 
-#: pg_backup_archiver.c:3849
+#: pg_backup_archiver.c:3906
 #, c-format
 msgid "processing missed item %d %s %s\n"
 msgstr "обработка пропущенного объекта %d %s %s\n"
 
-#: pg_backup_archiver.c:3998
+#: pg_backup_archiver.c:4055
 #, c-format
 msgid "no item ready\n"
 msgstr "элемент не готов\n"
 
-#: pg_backup_archiver.c:4047
+#: pg_backup_archiver.c:4103
 #, c-format
 msgid "could not find slot of finished worker\n"
 msgstr "не удалось найти слот законченного рабочего объекта\n"
 
-#: pg_backup_archiver.c:4049
+#: pg_backup_archiver.c:4105
 #, c-format
 msgid "finished item %d %s %s\n"
 msgstr "закончен объект %d %s %s\n"
 
-#: pg_backup_archiver.c:4062
+#: pg_backup_archiver.c:4118
 #, c-format
 msgid "worker process failed: exit code %d\n"
 msgstr "рабочий процесс завершился с кодом возврата %d\n"
 
-#: pg_backup_archiver.c:4224
+#: pg_backup_archiver.c:4280
 #, c-format
 msgid "transferring dependency %d -> %d to %d\n"
 msgstr "переключение зависимости %d -> %d на %d\n"
 
-#: pg_backup_archiver.c:4297
+#: pg_backup_archiver.c:4353
 #, c-format
 msgid "reducing dependencies for %d\n"
 msgstr "уменьшение зависимостей для %d\n"
 
-#: pg_backup_archiver.c:4336
+#: pg_backup_archiver.c:4392
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data\n"
 msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены\n"
@@ -980,7 +981,7 @@ msgstr "создать таблицу \"%s\" не удалось, её данн
 msgid "custom archiver"
 msgstr "внешний архиватор"
 
-#: pg_backup_custom.c:384 pg_backup_null.c:149
+#: pg_backup_custom.c:384 pg_backup_null.c:150
 #, c-format
 msgid "invalid OID for large object\n"
 msgstr "неверный OID большого объекта\n"
@@ -1032,7 +1033,7 @@ msgid "unrecognized data block type %d while restoring archive\n"
 msgstr "нераспознанный тип блока данных %d при восстановлении архива\n"
 
 #: pg_backup_custom.c:709 pg_backup_custom.c:759 pg_backup_custom.c:908
-#: pg_backup_tar.c:1087
+#: pg_backup_tar.c:1088
 #, c-format
 msgid "could not determine seek position in archive file: %s\n"
 msgstr "не удалось определить позицию в файле архива: %s\n"
@@ -1076,104 +1077,124 @@ msgstr ""
 "ftell\n"
 
 #. translator: this is a module name
-#: pg_backup_db.c:29
+#: pg_backup_db.c:30
 msgid "archiver (db)"
 msgstr "архиватор (БД)"
 
-#: pg_backup_db.c:44
+#: pg_backup_db.c:46
 #, c-format
 msgid "could not get server_version from libpq\n"
 msgstr "не удалось получить версию сервера из libpq\n"
 
-#: pg_backup_db.c:55 pg_dumpall.c:1965
+#: pg_backup_db.c:57 pg_dumpall.c:1998
 #, c-format
 msgid "server version: %s; %s version: %s\n"
 msgstr "версия сервера: %s; версия %s: %s\n"
 
-#: pg_backup_db.c:57 pg_dumpall.c:1967
+#: pg_backup_db.c:59 pg_dumpall.c:2000
 #, c-format
 msgid "aborting because of server version mismatch\n"
 msgstr "продолжение работы с другой версией сервера невозможно\n"
 
-#: pg_backup_db.c:128
+#: pg_backup_db.c:147
 #, c-format
 msgid "connecting to database \"%s\" as user \"%s\"\n"
 msgstr "подключение к базе \"%s\" с именем пользователя \"%s\"\n"
 
-#: pg_backup_db.c:135 pg_backup_db.c:183 pg_backup_db.c:243 pg_backup_db.c:285
-#: pg_dumpall.c:1795 pg_dumpall.c:1903
+#: pg_backup_db.c:154 pg_backup_db.c:202 pg_backup_db.c:262 pg_backup_db.c:304
+#: pg_dumpall.c:1828 pg_dumpall.c:1936
 msgid "Password: "
 msgstr "Пароль: "
 
-#: pg_backup_db.c:164
+#: pg_backup_db.c:183
 #, c-format
 msgid "failed to reconnect to database\n"
 msgstr "ошибка переподключения к базе данных\n"
 
-#: pg_backup_db.c:169
+#: pg_backup_db.c:188
 #, c-format
 msgid "could not reconnect to database: %s"
 msgstr "не удалось переподключиться к базе: %s"
 
-#: pg_backup_db.c:185
+#: pg_backup_db.c:204
 #, c-format
 msgid "connection needs password\n"
 msgstr "для подключения необходим пароль\n"
 
-#: pg_backup_db.c:237
+#: pg_backup_db.c:256
 #, c-format
 msgid "already connected to a database\n"
 msgstr "подключение к базе данных уже установлено\n"
 
-#: pg_backup_db.c:277
+#: pg_backup_db.c:296
 #, c-format
 msgid "failed to connect to database\n"
 msgstr "ошибка подключения к базе данных\n"
 
-#: pg_backup_db.c:294
+#: pg_backup_db.c:313
 #, c-format
 msgid "connection to database \"%s\" failed: %s"
 msgstr "не удалось подключиться к базе \"%s\": %s"
 
-#: pg_backup_db.c:362
+#: pg_backup_db.c:383
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pg_backup_db.c:390
 #, c-format
 msgid "query failed: %s"
 msgstr "ошибка при выполнении запроса: %s"
 
-#: pg_backup_db.c:364
+#: pg_backup_db.c:392
 #, c-format
 msgid "query was: %s\n"
 msgstr "запрос: %s\n"
 
-#: pg_backup_db.c:428
+#: pg_backup_db.c:434
+#, c-format
+msgid "query returned %d row instead of one: %s\n"
+msgid_plural "query returned %d rows instead of one: %s\n"
+msgstr[0] "запрос вернул %d строку вместо одной: %s\n"
+msgstr[1] "запрос вернул %d строки вместо одной: %s\n"
+msgstr[2] "запрос вернул %d строк вместо одной: %s\n"
+
+#: pg_backup_db.c:479
 #, c-format
 msgid "%s: %s    Command was: %s\n"
 msgstr "%s: %s    Выполнялась команда: %s\n"
 
-#: pg_backup_db.c:484 pg_backup_db.c:558 pg_backup_db.c:565
+#: pg_backup_db.c:535 pg_backup_db.c:609 pg_backup_db.c:616
 msgid "could not execute query"
 msgstr "не удалось выполнить запрос"
 
-#: pg_backup_db.c:537
+#: pg_backup_db.c:588
 #, c-format
 msgid "error returned by PQputCopyData: %s"
 msgstr "ошибка в PQputCopyData: %s"
 
-#: pg_backup_db.c:586
+#: pg_backup_db.c:637
 #, c-format
 msgid "error returned by PQputCopyEnd: %s"
 msgstr "ошибка в PQputCopyEnd: %s"
 
-#: pg_backup_db.c:592
+#: pg_backup_db.c:643
 #, c-format
 msgid "COPY failed for table \"%s\": %s"
 msgstr "сбой команды COPY для таблицы \"%s\": %s"
 
-#: pg_backup_db.c:605
+#: pg_backup_db.c:649 pg_dump.c:1785
+#, c-format
+msgid "WARNING: unexpected extra results during COPY of table \"%s\"\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: неожиданные лишние результаты получены при COPY для таблицы"
+" \"%s\"\n"
+
+#: pg_backup_db.c:661
 msgid "could not start database transaction"
 msgstr "не удаётся начать транзакцию"
 
-#: pg_backup_db.c:613
+#: pg_backup_db.c:669
 msgid "could not commit database transaction"
 msgstr "не удалось зафиксировать транзакцию"
 
@@ -1202,148 +1223,148 @@ msgstr "не удалось закрыть каталог \"%s\": %s\n"
 msgid "could not create directory \"%s\": %s\n"
 msgstr "создать каталог \"%s\" не удалось: %s\n"
 
-#: pg_backup_directory.c:413
+#: pg_backup_directory.c:412
 #, c-format
 msgid "could not close data file: %s\n"
 msgstr "не удалось закрыть файл данных: %s\n"
 
-#: pg_backup_directory.c:454
+#: 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:465
+#: 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:474
+#: pg_backup_directory.c:473
 #, c-format
 msgid "error reading large object TOC file \"%s\"\n"
 msgstr "ошибка чтения файла оглавления больших объектов \"%s\"\n"
 
-#: pg_backup_directory.c:478
+#: 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:688
+#: pg_backup_directory.c:684
 #, c-format
 msgid "could not write to blobs TOC file\n"
 msgstr "не удалось записать в файл оглавления больших объектов\n"
 
-#: pg_backup_directory.c:720
+#: pg_backup_directory.c:716
 #, c-format
 msgid "file name too long: \"%s\"\n"
 msgstr "слишком длинное имя файла: \"%s\"\n"
 
-#: pg_backup_directory.c:806
+#: pg_backup_directory.c:802
 #, c-format
 msgid "error during backup\n"
 msgstr "ошибка в процессе резервного копирования\n"
 
-#: pg_backup_null.c:74
+#: pg_backup_null.c:75
 #, c-format
 msgid "this format cannot be read\n"
 msgstr "этот формат нельзя прочитать\n"
 
 #. translator: this is a module name
-#: pg_backup_tar.c:101
+#: pg_backup_tar.c:102
 msgid "tar archiver"
 msgstr "архиватор tar"
 
-#: pg_backup_tar.c:182
+#: pg_backup_tar.c:183
 #, c-format
 msgid "could not open TOC file \"%s\" for output: %s\n"
 msgstr "не удалось открыть для записи файл оглавления \"%s\": %s\n"
 
-#: pg_backup_tar.c:190
+#: pg_backup_tar.c:191
 #, c-format
 msgid "could not open TOC file for output: %s\n"
 msgstr "не удалось открыть для записи файл оглавления: %s\n"
 
-#: pg_backup_tar.c:211 pg_backup_tar.c:367
+#: pg_backup_tar.c:212 pg_backup_tar.c:368
 #, c-format
 msgid "compression is not supported by tar archive format\n"
 msgstr "формат архива tar не поддерживает сжатие\n"
 
-#: pg_backup_tar.c:219
+#: pg_backup_tar.c:220
 #, c-format
 msgid "could not open TOC file \"%s\" for input: %s\n"
 msgstr "не удалось открыть для чтения файл оглавления \"%s\": %s\n"
 
-#: pg_backup_tar.c:226
+#: pg_backup_tar.c:227
 #, c-format
 msgid "could not open TOC file for input: %s\n"
 msgstr "не удалось открыть для чтения файл оглавления: %s\n"
 
-#: pg_backup_tar.c:353
+#: pg_backup_tar.c:354
 #, c-format
 msgid "could not find file \"%s\" in archive\n"
 msgstr "не удалось найти файл \"%s\" в архиве\n"
 
-#: pg_backup_tar.c:419
+#: pg_backup_tar.c:420
 #, c-format
 msgid "could not generate temporary file name: %s\n"
 msgstr "не удалось создать временный файл: %s\n"
 
-#: pg_backup_tar.c:430
+#: pg_backup_tar.c:431
 #, c-format
 msgid "could not open temporary file\n"
 msgstr "не удалось открыть временный файл\n"
 
-#: pg_backup_tar.c:457
+#: pg_backup_tar.c:458
 #, c-format
 msgid "could not close tar member\n"
 msgstr "не удалось закрыть компонент tar-архива\n"
 
-#: pg_backup_tar.c:570
+#: pg_backup_tar.c:571
 #, c-format
 msgid "internal error -- neither th nor fh specified in tarReadRaw()\n"
 msgstr "внутренняя ошибка -- в tarReadRaw() не указан ни th, ни fh\n"
 
-#: pg_backup_tar.c:693
+#: pg_backup_tar.c:694
 #, c-format
 msgid "unexpected COPY statement syntax: \"%s\"\n"
 msgstr "недопустимый синтаксис оператора COPY: \"%s\"\n"
 
-#: pg_backup_tar.c:959
+#: pg_backup_tar.c:960
 #, c-format
 msgid "invalid OID for large object (%u)\n"
 msgstr "неверный OID для большого объекта (%u)\n"
 
-#: pg_backup_tar.c:1103
+#: pg_backup_tar.c:1104
 #, c-format
 msgid "could not close temporary file: %s\n"
 msgstr "не удалось закрыть временный файл: %s\n"
 
-#: pg_backup_tar.c:1113
+#: pg_backup_tar.c:1114
 #, c-format
 msgid "actual file length (%s) does not match expected (%s)\n"
 msgstr "действительная длина файла (%s) не равна ожидаемой (%s)\n"
 
-#: pg_backup_tar.c:1150
+#: pg_backup_tar.c:1151
 #, c-format
 msgid "moving from position %s to next member at file position %s\n"
 msgstr "переход от позиции %s к следующему компоненту в позиции %s\n"
 
-#: pg_backup_tar.c:1161
+#: pg_backup_tar.c:1162
 #, c-format
 msgid "now at file position %s\n"
 msgstr "текущая позиция в файле %s\n"
 
-#: pg_backup_tar.c:1170 pg_backup_tar.c:1200
+#: pg_backup_tar.c:1171 pg_backup_tar.c:1201
 #, c-format
 msgid "could not find header for file \"%s\" in tar archive\n"
 msgstr "в архиве tar не найден заголовок для файла \"%s\"\n"
 
-#: pg_backup_tar.c:1184
+#: pg_backup_tar.c:1185
 #, c-format
 msgid "skipping tar member %s\n"
 msgstr "пропускается компонент tar %s\n"
 
-#: pg_backup_tar.c:1188
+#: pg_backup_tar.c:1189
 #, c-format
 msgid ""
 "restoring data out of order is not supported in this archive format: \"%s\" "
@@ -1353,7 +1374,7 @@ msgstr ""
 "поддерживается: требуется компонент \"%s\", но в файле архива прежде идёт "
 "\"%s\".\n"
 
-#: pg_backup_tar.c:1234
+#: pg_backup_tar.c:1235
 #, c-format
 msgid "incomplete tar header found (%lu byte)\n"
 msgid_plural "incomplete tar header found (%lu bytes)\n"
@@ -1361,12 +1382,12 @@ msgstr[0] "найден неполный tar-заголовок (размер %l
 msgstr[1] "найден неполный tar-заголовок (размер %lu байта)\n"
 msgstr[2] "найден неполный tar-заголовок (размер %lu байтов)\n"
 
-#: pg_backup_tar.c:1275
+#: pg_backup_tar.c:1276
 #, c-format
 msgid "TOC Entry %s at %s (length %s, checksum %d)\n"
 msgstr "Запись оглавления %s в %s (длина: %s, контр. сумма: %d)\n"
 
-#: pg_backup_tar.c:1286
+#: pg_backup_tar.c:1287
 #, c-format
 msgid ""
 "corrupt tar header found in %s (expected %d, computed %d) file position %s\n"
@@ -1379,73 +1400,77 @@ msgstr ""
 msgid "%s: unrecognized section name: \"%s\"\n"
 msgstr "%s: нераспознанное имя раздела: \"%s\"\n"
 
-#: pg_backup_utils.c:56 pg_dump.c:524 pg_dump.c:541 pg_dumpall.c:300
-#: pg_dumpall.c:310 pg_dumpall.c:320 pg_dumpall.c:329 pg_dumpall.c:345
-#: pg_dumpall.c:403 pg_restore.c:277 pg_restore.c:293 pg_restore.c:305
+#: pg_backup_utils.c:56 pg_dump.c:533 pg_dump.c:550 pg_dumpall.c:301
+#: pg_dumpall.c:311 pg_dumpall.c:321 pg_dumpall.c:330 pg_dumpall.c:346
+#: pg_dumpall.c:404 pg_restore.c:279 pg_restore.c:295 pg_restore.c:307
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_backup_utils.c:101
+#: pg_backup_utils.c:118
 #, c-format
 msgid "out of on_exit_nicely slots\n"
 msgstr "превышен предел обработчиков штатного выхода\n"
 
-#: pg_dump.c:494
+#: pg_dump.c:503
 #, c-format
 msgid "compression level must be in range 0..9\n"
 msgstr "уровень сжатия должен быть в диапазоне 0..9\n"
 
-#: pg_dump.c:539 pg_dumpall.c:308 pg_restore.c:291
+#: pg_dump.c:548 pg_dumpall.c:309 pg_restore.c:293
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: pg_dump.c:552
+#: pg_dump.c:561
 #, c-format
 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:558
+#: pg_dump.c:567
 #, 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:564
+#: pg_dump.c:573
 #, 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:565
+#: pg_dump.c:574
 #, c-format
 msgid "(The INSERT command cannot set OIDs.)\n"
 msgstr "(В INSERT нельзя определять OID.)\n"
 
-#: pg_dump.c:570
+#: pg_dump.c:579
 #, c-format
 msgid "option --if-exists requires option -c/--clean\n"
 msgstr "параметру --if-exists требуется параметр -c/--clean\n"
 
-#: pg_dump.c:598
+#: pg_dump.c:601
+#, c-format
+msgid ""
+"WARNING: requested compression not available in this installation -- archive "
+"will be uncompressed\n"
+msgstr ""
+"ПРЕДУПРЕЖДЕНИЕ: установленная версия программы не поддерживает сжатие -- "
+"архив не будет сжиматься\n"
+
+#: pg_dump.c:616
 #, c-format
 msgid "%s: invalid number of parallel jobs\n"
 msgstr "%s: неверное число параллельных заданий\n"
 
-#: pg_dump.c:602
+#: pg_dump.c:620
 #, c-format
 msgid "parallel backup only supported by the directory format\n"
 msgstr ""
 "параллельное резервное копирование поддерживается только с форматом \"каталог"
 "\"\n"
 
-#: pg_dump.c:615
-#, c-format
-msgid "could not open output file \"%s\" for writing\n"
-msgstr "не удалось открыть выходной файл \"%s\"  для записи\n"
-
-#: pg_dump.c:674
+#: pg_dump.c:677
 #, c-format
 msgid ""
 "Synchronized snapshots are not supported by this server version.\n"
@@ -1456,27 +1481,27 @@ msgstr ""
 "Если они вам не нужны, укажите при запуске ключ\n"
 "--no-synchronized-snapshots.\n"
 
-#: pg_dump.c:681
+#: pg_dump.c:684
 #, c-format
 msgid "Exported snapshots are not supported by this server version.\n"
 msgstr "Экспортированные снимки не поддерживаются этой версией сервера.\n"
 
-#: pg_dump.c:692
+#: pg_dump.c:695
 #, c-format
 msgid "last built-in OID is %u\n"
 msgstr "последний системный OID: %u\n"
 
-#: pg_dump.c:701
+#: pg_dump.c:705
 #, c-format
-msgid "No matching schemas were found\n"
-msgstr "Соответствующие схемы не найдены\n"
+msgid "no matching schemas were found\n"
+msgstr "соответствующие схемы не найдены\n"
 
-#: pg_dump.c:713
+#: pg_dump.c:719
 #, c-format
-msgid "No matching tables were found\n"
-msgstr "Соответствующие таблицы не найдены\n"
+msgid "no matching tables were found\n"
+msgstr "соответствующие таблицы не найдены\n"
 
-#: pg_dump.c:870
+#: pg_dump.c:878
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1485,17 +1510,17 @@ msgstr ""
 "%s сохраняет резервную копию БД в текстовом файле или другом виде.\n"
 "\n"
 
-#: pg_dump.c:871 pg_dumpall.c:548 pg_restore.c:434
+#: pg_dump.c:879 pg_dumpall.c:549 pg_restore.c:437
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: pg_dump.c:872
+#: pg_dump.c:880
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: pg_dump.c:874 pg_dumpall.c:551 pg_restore.c:437
+#: pg_dump.c:882 pg_dumpall.c:552 pg_restore.c:440
 #, c-format
 msgid ""
 "\n"
@@ -1504,12 +1529,12 @@ msgstr ""
 "\n"
 "Общие параметры:\n"
 
-#: pg_dump.c:875
+#: pg_dump.c:883
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=ИМЯ               имя выходного файла или каталога\n"
 
-#: pg_dump.c:876
+#: pg_dump.c:884
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1519,7 +1544,7 @@ msgstr ""
 "                               (пользовательский | каталог | tar |\n"
 "                               текстовый (по умолчанию))\n"
 
-#: pg_dump.c:878
+#: pg_dump.c:886
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr ""
@@ -1527,23 +1552,23 @@ msgstr ""
 "число\n"
 "                               заданий\n"
 
-#: pg_dump.c:879
+#: pg_dump.c:887
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose                режим подробных сообщений\n"
 
-#: pg_dump.c:880 pg_dumpall.c:553
+#: pg_dump.c:888 pg_dumpall.c:554
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                показать версию и выйти\n"
 
-#: pg_dump.c:881
+#: pg_dump.c:889
 #, c-format
 msgid ""
 "  -Z, --compress=0-9           compression level for compressed formats\n"
 msgstr "  -Z, --compress=0-9           уровень сжатия при архивации\n"
 
-#: pg_dump.c:882 pg_dumpall.c:554
+#: pg_dump.c:890 pg_dumpall.c:555
 #, c-format
 msgid ""
 "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
@@ -1551,12 +1576,12 @@ msgstr ""
 "  --lock-wait-timeout=ТАЙМАУТ  прервать операцию при таймауте блокировки "
 "таблицы\n"
 
-#: pg_dump.c:883 pg_dumpall.c:555
+#: pg_dump.c:891 pg_dumpall.c:556
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   показать эту справку и выйти\n"
 
-#: pg_dump.c:885 pg_dumpall.c:556
+#: pg_dump.c:893 pg_dumpall.c:557
 #, c-format
 msgid ""
 "\n"
@@ -1565,17 +1590,17 @@ msgstr ""
 "\n"
 "Параметры, управляющие выводом:\n"
 
-#: pg_dump.c:886 pg_dumpall.c:557
+#: pg_dump.c:894 pg_dumpall.c:558
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              выгрузить только данные, без схемы\n"
 
-#: pg_dump.c:887
+#: pg_dump.c:895
 #, c-format
 msgid "  -b, --blobs                  include large objects in dump\n"
 msgstr "  -b, --blobs                  выгрузить также большие объекты\n"
 
-#: pg_dump.c:888 pg_restore.c:448
+#: pg_dump.c:896 pg_restore.c:451
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) database objects before "
@@ -1584,7 +1609,7 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) объекты БД при "
 "восстановлении\n"
 
-#: pg_dump.c:889
+#: pg_dump.c:897
 #, c-format
 msgid ""
 "  -C, --create                 include commands to create database in dump\n"
@@ -1592,27 +1617,27 @@ msgstr ""
 "  -C, --create                 добавить в копию команды создания базы "
 "данных\n"
 
-#: pg_dump.c:890
+#: pg_dump.c:898
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=КОДИРОВКА     выгружать данные в заданной кодировке\n"
 
-#: pg_dump.c:891
+#: pg_dump.c:899
 #, c-format
 msgid "  -n, --schema=SCHEMA          dump the named schema(s) only\n"
 msgstr "  -n, --schema=СХЕМА           выгрузить только указанную схему(ы)\n"
 
-#: pg_dump.c:892
+#: pg_dump.c:900
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA  do NOT dump the named schema(s)\n"
 msgstr "  -N, --exclude-schema=СХЕМА   НЕ выгружать указанную схему(ы)\n"
 
-#: pg_dump.c:893 pg_dumpall.c:560
+#: pg_dump.c:901 pg_dumpall.c:561
 #, c-format
 msgid "  -o, --oids                   include OIDs in dump\n"
 msgstr "  -o, --oids                   выгружать данные с OID\n"
 
-#: pg_dump.c:894
+#: pg_dump.c:902
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1621,12 +1646,12 @@ msgstr ""
 "  -O, --no-owner               не восстанавливать владение объектами\n"
 "                               при использовании текстового формата\n"
 
-#: pg_dump.c:896 pg_dumpall.c:563
+#: pg_dump.c:904 pg_dumpall.c:564
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            выгрузить только схему, без данных\n"
 
-#: pg_dump.c:897
+#: pg_dump.c:905
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use in plain-text "
@@ -1635,27 +1660,27 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя, который будет задействован\n"
 "                               при восстановлении из текстового формата\n"
 
-#: pg_dump.c:898
+#: pg_dump.c:906
 #, c-format
 msgid "  -t, --table=TABLE            dump the named table(s) only\n"
 msgstr "  -t, --table=ТАБЛИЦА          выгрузить только указанную таблицу(ы)\n"
 
-#: pg_dump.c:899
+#: pg_dump.c:907
 #, c-format
 msgid "  -T, --exclude-table=TABLE    do NOT dump the named table(s)\n"
 msgstr "  -T, --exclude-table=ТАБЛИЦА  НЕ выгружать указанную таблицу(ы)\n"
 
-#: pg_dump.c:900 pg_dumpall.c:566
+#: pg_dump.c:908 pg_dumpall.c:567
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          не выгружать права (назначение/отзыв)\n"
 
-#: pg_dump.c:901 pg_dumpall.c:567
+#: pg_dump.c:909 pg_dumpall.c:568
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             только для утилит обновления БД\n"
 
-#: pg_dump.c:902 pg_dumpall.c:568
+#: pg_dump.c:910 pg_dumpall.c:569
 #, c-format
 msgid ""
 "  --column-inserts             dump data as INSERT commands with column "
@@ -1664,7 +1689,7 @@ msgstr ""
 "  --column-inserts             выгружать данные в виде INSERT с именами "
 "столбцов\n"
 
-#: pg_dump.c:903 pg_dumpall.c:569
+#: pg_dump.c:911 pg_dumpall.c:570
 #, c-format
 msgid ""
 "  --disable-dollar-quoting     disable dollar quoting, use SQL standard "
@@ -1673,7 +1698,7 @@ msgstr ""
 "  --disable-dollar-quoting     отключить спецстроки с $, выводить строки\n"
 "                               по стандарту SQL\n"
 
-#: pg_dump.c:904 pg_dumpall.c:570 pg_restore.c:464
+#: pg_dump.c:912 pg_dumpall.c:571 pg_restore.c:467
 #, c-format
 msgid ""
 "  --disable-triggers           disable triggers during data-only restore\n"
@@ -1681,7 +1706,7 @@ msgstr ""
 "  --disable-triggers           отключить триггеры при восстановлении\n"
 "                               только данных, без схемы\n"
 
-#: pg_dump.c:905
+#: pg_dump.c:913
 #, c-format
 msgid ""
 "  --enable-row-security        enable row security (dump only content user "
@@ -1692,19 +1717,19 @@ msgstr ""
 "только\n"
 "                               те данные, которые доступны пользователю)\n"
 
-#: pg_dump.c:907
+#: pg_dump.c:915
 #, 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:908 pg_dumpall.c:571 pg_restore.c:466
+#: pg_dump.c:916 pg_dumpall.c:572 pg_restore.c:469
 #, c-format
 msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
 msgstr ""
 "  --if-exists                  применять IF EXISTS при удалении объектов\n"
 
-#: pg_dump.c:909 pg_dumpall.c:572
+#: pg_dump.c:917 pg_dumpall.c:573
 #, c-format
 msgid ""
 "  --inserts                    dump data as INSERT commands, rather than "
@@ -1713,13 +1738,13 @@ msgstr ""
 "  --inserts                    выгрузить данные в виде команд INSERT, не "
 "COPY\n"
 
-#: pg_dump.c:910 pg_dumpall.c:573
+#: pg_dump.c:918 pg_dumpall.c:574
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr ""
 "  --no-security-labels         не выгружать назначения меток безопасности\n"
 
-#: pg_dump.c:911
+#: pg_dump.c:919
 #, c-format
 msgid ""
 "  --no-synchronized-snapshots  do not use synchronized snapshots in parallel "
@@ -1728,20 +1753,20 @@ msgstr ""
 "  --no-synchronized-snapshots  не использовать синхронизированные снимки\n"
 "                               в параллельных заданиях\n"
 
-#: pg_dump.c:912 pg_dumpall.c:574
+#: pg_dump.c:920 pg_dumpall.c:575
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не выгружать назначения табличных "
 "пространств\n"
 
-#: pg_dump.c:913 pg_dumpall.c:575
+#: pg_dump.c:921 pg_dumpall.c:576
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr ""
 "  --no-unlogged-table-data     не выгружать данные нежурналируемых таблиц\n"
 
-#: pg_dump.c:914 pg_dumpall.c:576
+#: pg_dump.c:922 pg_dumpall.c:577
 #, c-format
 msgid ""
 "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
@@ -1749,7 +1774,7 @@ msgstr ""
 "  --quote-all-identifiers      заключать в кавычки все идентификаторы,\n"
 "                               а не только ключевые слова\n"
 
-#: pg_dump.c:915
+#: pg_dump.c:923
 #, c-format
 msgid ""
 "  --section=SECTION            dump named section (pre-data, data, or post-"
@@ -1758,7 +1783,7 @@ msgstr ""
 "  --section=РАЗДЕЛ             выгрузить заданный раздел\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_dump.c:916
+#: pg_dump.c:924
 #, c-format
 msgid ""
 "  --serializable-deferrable    wait until the dump can run without "
@@ -1767,13 +1792,26 @@ msgstr ""
 "  --serializable-deferrable    дождаться момента для выгрузки данных без "
 "аномалий\n"
 
-#: pg_dump.c:917
+#: pg_dump.c:925
 #, c-format
 msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr ""
 "  --snapshot=СНИМОК            использовать при выгрузке заданный снимок\n"
 
-#: pg_dump.c:918 pg_dumpall.c:577 pg_restore.c:472
+#: pg_dump.c:926 pg_restore.c:475
+#, c-format
+msgid ""
+"  --strict-names               require table and/or schema include patterns "
+"to\n"
+"                               match at least one entity each\n"
+msgstr ""
+"  --strict-names               требовать, чтобы при указании шаблона "
+"включения\n"
+"                               таблицы и/или схемы ему соответствовал "
+"минимум\n"
+"                               один объект\n"
+
+#: pg_dump.c:928 pg_dumpall.c:578 pg_restore.c:477
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1785,7 +1823,7 @@ msgstr ""
 "                               устанавливать владельца, используя команды\n"
 "                               SET SESSION AUTHORIZATION вместо ALTER OWNER\n"
 
-#: pg_dump.c:922 pg_dumpall.c:581 pg_restore.c:476
+#: pg_dump.c:932 pg_dumpall.c:582 pg_restore.c:481
 #, c-format
 msgid ""
 "\n"
@@ -1794,33 +1832,33 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: pg_dump.c:923
+#: pg_dump.c:933
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=БД          имя базы данных для выгрузки\n"
 
-#: pg_dump.c:924 pg_dumpall.c:583 pg_restore.c:477
+#: pg_dump.c:934 pg_dumpall.c:584 pg_restore.c:482
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
 
-#: pg_dump.c:925 pg_dumpall.c:585 pg_restore.c:478
+#: pg_dump.c:935 pg_dumpall.c:586 pg_restore.c:483
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=ПОРТ          номер порта сервера БД\n"
 
-#: pg_dump.c:926 pg_dumpall.c:586 pg_restore.c:479
+#: pg_dump.c:936 pg_dumpall.c:587 pg_restore.c:484
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=ИМЯ       имя пользователя баз данных\n"
 
-#: pg_dump.c:927 pg_dumpall.c:587 pg_restore.c:480
+#: pg_dump.c:937 pg_dumpall.c:588 pg_restore.c:485
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        не запрашивать пароль\n"
 
-#: pg_dump.c:928 pg_dumpall.c:588 pg_restore.c:481
+#: pg_dump.c:938 pg_dumpall.c:589 pg_restore.c:486
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -1828,12 +1866,12 @@ msgid ""
 msgstr ""
 "  -W, --password           запрашивать пароль всегда (обычно не требуется)\n"
 
-#: pg_dump.c:929 pg_dumpall.c:589
+#: pg_dump.c:939 pg_dumpall.c:590
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед выгрузкой\n"
 
-#: pg_dump.c:931
+#: pg_dump.c:941
 #, c-format
 msgid ""
 "\n"
@@ -1846,166 +1884,182 @@ msgstr ""
 "PGDATABASE.\n"
 "\n"
 
-#: pg_dump.c:933 pg_dumpall.c:593 pg_restore.c:488
+#: pg_dump.c:943 pg_dumpall.c:594 pg_restore.c:493
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_dump.c:953
+#: pg_dump.c:960
 #, c-format
 msgid "invalid client encoding \"%s\" specified\n"
 msgstr "указана неверная клиентская кодировка \"%s\"\n"
 
-#: pg_dump.c:1138
+#: pg_dump.c:1100
+#, c-format
+msgid ""
+"Synchronized snapshots are not supported on standby servers.\n"
+"Run with --no-synchronized-snapshots instead if you do not need\n"
+"synchronized snapshots.\n"
+msgstr ""
+"На резервных серверах синхронизированные снимки не поддерживаются.\n"
+"Если они вам не нужны, укажите при запуске ключ\n"
+"--no-synchronized-snapshots.\n"
+
+#: pg_dump.c:1169
 #, c-format
 msgid "invalid output format \"%s\" specified\n"
 msgstr "указан неверный формат вывода: \"%s\"\n"
 
-#: pg_dump.c:1160
+#: pg_dump.c:1192
 #, c-format
 msgid "server version must be at least 7.3 to use schema selection switches\n"
 msgstr ""
 "для использования параметров выбора схемы нужен сервер версии 7.3 или новее\n"
 
-#: pg_dump.c:1524
+#: pg_dump.c:1210 pg_dump.c:1263
+#, c-format
+msgid "no matching tables were found for pattern \"%s\"\n"
+msgstr "таблицы, соответствующие шаблону \"%s\", не найдены\n"
+
+#: pg_dump.c:1642
 #, c-format
 msgid "dumping contents of table \"%s.%s\"\n"
 msgstr "выгрузка содержимого таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:1648
+#: pg_dump.c:1766
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed.\n"
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQendcopy().\n"
 
-#: pg_dump.c:1649 pg_dump.c:1659
+#: pg_dump.c:1767 pg_dump.c:1777
 #, c-format
 msgid "Error message from server: %s"
 msgstr "Сообщение об ошибке с сервера: %s"
 
-#: pg_dump.c:1650 pg_dump.c:1660
+#: pg_dump.c:1768 pg_dump.c:1778
 #, c-format
 msgid "The command was: %s\n"
 msgstr "Выполнялась команда: %s\n"
 
-#: pg_dump.c:1658
+#: pg_dump.c:1776
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed.\n"
 msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult().\n"
 
-#: pg_dump.c:2300
+#: pg_dump.c:2425
 #, c-format
 msgid "saving database definition\n"
 msgstr "сохранение определения базы данных\n"
 
-#: pg_dump.c:2633
+#: pg_dump.c:2758
 #, c-format
 msgid "saving encoding = %s\n"
 msgstr "сохранение кодировки (%s)\n"
 
-#: pg_dump.c:2660
+#: pg_dump.c:2785
 #, c-format
 msgid "saving standard_conforming_strings = %s\n"
 msgstr "сохранение standard_conforming_strings (%s)\n"
 
-#: pg_dump.c:2693
+#: pg_dump.c:2825
 #, c-format
 msgid "reading large objects\n"
 msgstr "чтение больших объектов\n"
 
-#: pg_dump.c:2825
+#: pg_dump.c:3011
 #, c-format
 msgid "saving large objects\n"
 msgstr "сохранение больших объектов\n"
 
-#: pg_dump.c:2872
+#: pg_dump.c:3058
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "ошибка чтения большого объекта %u: %s"
 
-#: pg_dump.c:2924
+#: pg_dump.c:3110
 #, c-format
 msgid "reading row security enabled for table \"%s.%s\"\n"
 msgstr "чтение информации о защите строк для таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:2955
+#: pg_dump.c:3141
 #, c-format
 msgid "reading policies for table \"%s.%s\"\n"
 msgstr "чтение политик таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:3086
+#: pg_dump.c:3274
 #, c-format
 msgid "unexpected policy command type: \"%s\"\n"
 msgstr "нераспознанный тип команды в политике: \"%s\"\n"
 
-#: pg_dump.c:3301
+#: pg_dump.c:3493
 #, c-format
 msgid "could not find parent extension for %s\n"
 msgstr "не удалось найти родительское расширение для %s\n"
 
 # TO REVIEW
-#: pg_dump.c:3405
+#: pg_dump.c:3661
 #, c-format
 msgid "WARNING: owner of schema \"%s\" appears to be invalid\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: у схемы \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3448
+#: pg_dump.c:3704
 #, c-format
 msgid "schema with OID %u does not exist\n"
 msgstr "схема с OID %u не существует\n"
 
-#: pg_dump.c:3800
+#: pg_dump.c:4119
 #, c-format
 msgid "WARNING: owner of data type \"%s\" appears to be invalid\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: у типа данных \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:3912
+#: pg_dump.c:4233
 #, c-format
 msgid "WARNING: owner of operator \"%s\" appears to be invalid\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: у оператора \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:4174
+#: pg_dump.c:4578
 #, c-format
 msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: у класса операторов \"%s\" по-видимому неправильный "
 "владелец\n"
 
-#: pg_dump.c:4263
+#: pg_dump.c:4669
 #, c-format
 msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: у семейства операторов \"%s\" по-видимому неправильный "
 "владелец\n"
 
-#: pg_dump.c:4402
+#: pg_dump.c:4870
 #, c-format
 msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: у агрегатной функции \"%s\" по-видимому неправильный "
 "владелец\n"
 
-#: pg_dump.c:4585
+#: pg_dump.c:5135
 #, c-format
 msgid "WARNING: owner of function \"%s\" appears to be invalid\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: у функции \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:5273
+#: pg_dump.c:5997
 #, c-format
 msgid "WARNING: owner of table \"%s\" appears to be invalid\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: у таблицы \"%s\" по-видимому неправильный владелец\n"
 
-#: pg_dump.c:5425
+#: pg_dump.c:6149
 #, c-format
 msgid "reading indexes for table \"%s.%s\"\n"
 msgstr "чтение индексов таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:5792
+#: pg_dump.c:6517
 #, c-format
 msgid "reading foreign key constraints for table \"%s.%s\"\n"
 msgstr "чтение ограничений внешних ключей таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:6038
+#: pg_dump.c:6763
 #, c-format
 msgid ""
 "failed sanity check, parent table OID %u of pg_rewrite entry OID %u not "
@@ -2014,12 +2068,12 @@ msgstr ""
 "по OID %u не удалось найти родительскую таблицу для записи pg_rewrite с OID "
 "%u\n"
 
-#: pg_dump.c:6131
+#: pg_dump.c:6857
 #, c-format
 msgid "reading triggers for table \"%s.%s\"\n"
 msgstr "чтение триггеров таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:6293
+#: pg_dump.c:7022
 #, c-format
 msgid ""
 "query produced null referenced table name for foreign key trigger \"%s\" on "
@@ -2028,32 +2082,32 @@ msgstr ""
 "запрос не вернул имя целевой таблицы для триггера внешнего ключа \"%s\" в "
 "таблице \"%s\" (OID целевой таблицы: %u)\n"
 
-#: pg_dump.c:6879
+#: pg_dump.c:7677
 #, c-format
 msgid "finding the columns and types of table \"%s.%s\"\n"
 msgstr "поиск столбцов и типов таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:7058
+#: pg_dump.c:7856
 #, c-format
 msgid "invalid column numbering in table \"%s\"\n"
 msgstr "неверная нумерация столбцов в таблице \"%s\"\n"
 
-#: pg_dump.c:7092
+#: pg_dump.c:7890
 #, c-format
 msgid "finding default expressions of table \"%s.%s\"\n"
 msgstr "поиск выражений по умолчанию для таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:7145
+#: pg_dump.c:7943
 #, c-format
 msgid "invalid adnum value %d for table \"%s\"\n"
 msgstr "неверное значение adnum (%d) в таблице \"%s\"\n"
 
-#: pg_dump.c:7217
+#: pg_dump.c:8015
 #, c-format
 msgid "finding check constraints for table \"%s.%s\"\n"
 msgstr "поиск ограничений-проверок для таблицы \"%s.%s\"\n"
 
-#: pg_dump.c:7313
+#: pg_dump.c:8111
 #, 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"
@@ -2064,61 +2118,67 @@ msgstr[1] ""
 msgstr[2] ""
 "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d\n"
 
-#: pg_dump.c:7317
+#: pg_dump.c:8115
 #, c-format
 msgid "(The system catalogs might be corrupted.)\n"
 msgstr "(Возможно повреждены системные каталоги.)\n"
 
-#: pg_dump.c:8707
+#: pg_dump.c:9647
 #, c-format
 msgid "WARNING: typtype of data type \"%s\" appears to be invalid\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: у типа данных \"%s\" по-видимому неправильный тип типа\n"
 
-#: pg_dump.c:10203
+#: pg_dump.c:11189
 #, c-format
 msgid "WARNING: bogus value in proargmodes array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: неприемлемое значение в массиве proargmodes\n"
 
-#: pg_dump.c:10555
+#: pg_dump.c:11567
 #, c-format
 msgid "WARNING: could not parse proallargtypes array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: не удалось разобрать массив proallargtypes\n"
 
-#: pg_dump.c:10571
+#: pg_dump.c:11583
 #, c-format
 msgid "WARNING: could not parse proargmodes array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: не удалось разобрать массив proargmodes\n"
 
-#: pg_dump.c:10585
+#: pg_dump.c:11597
 #, c-format
 msgid "WARNING: could not parse proargnames array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: не удалось разобрать массив proargnames\n"
 
-#: pg_dump.c:10596
+#: pg_dump.c:11608
 #, c-format
 msgid "WARNING: could not parse proconfig array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: не удалось разобрать массив proconfig\n"
 
 # TO REVEIW
-#: pg_dump.c:10667
+#: pg_dump.c:11679
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "недопустимое значение provolatile для функции \"%s\"\n"
 
-#: pg_dump.c:10844
+# TO REVEIW
+#: pg_dump.c:11723 pg_dump.c:13784
+#, c-format
+msgid "unrecognized proparallel value for function \"%s\"\n"
+msgstr "недопустимое значение proparallel для функции \"%s\"\n"
+
+#: pg_dump.c:11875
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castfunc or pg_cast.castmethod field\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: неприемлемое значение в поле pg_cast.castfunc или pg_cast."
 "castmethod\n"
 
-#: pg_dump.c:10847
+#: pg_dump.c:11878
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: неприемлемое значение в поле pg_cast.castmethod\n"
 
-#: pg_dump.c:10931
+#: pg_dump.c:11966
 #, c-format
 msgid ""
 "WARNING: bogus transform definition, at least one of trffromsql and trftosql "
@@ -2127,22 +2187,27 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: неприемлемое определение преобразования (trffromsql или "
 "trftosql должно быть ненулевым)\n"
 
-#: pg_dump.c:10948
+#: pg_dump.c:11983
 #, c-format
 msgid "WARNING: bogus value in pg_transform.trffromsql field\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: неприемлемое значение в поле pg_transform.trffromsql\n"
 
-#: pg_dump.c:10969
+#: pg_dump.c:12004
 #, c-format
 msgid "WARNING: bogus value in pg_transform.trftosql field\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: неприемлемое значение в поле pg_transform.trftosql\n"
 
-#: pg_dump.c:11356
+#: pg_dump.c:12395
 #, c-format
 msgid "WARNING: could not find operator with OID %s\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: оператор с OID %s не найден\n"
 
-#: pg_dump.c:12536
+#: pg_dump.c:12459
+#, c-format
+msgid "WARNING: invalid type \"%c\" of access method \"%s\"\n"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: неверный тип \"%c\" метода доступа \"%s\"\n"
+
+#: pg_dump.c:13668
 #, c-format
 msgid ""
 "WARNING: aggregate function %s could not be dumped correctly for this "
@@ -2151,28 +2216,41 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: агрегатная функция %s не может быть правильно выгружена для "
 "этой версии базы данных; функция проигнорирована\n"
 
-#: pg_dump.c:13360
+#: pg_dump.c:14547
 #, c-format
 msgid "unrecognized object type in default privileges: %d\n"
 msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d)\n"
 
-#: pg_dump.c:13375
+#: pg_dump.c:14562
 #, c-format
 msgid "could not parse default ACL list (%s)\n"
 msgstr "не удалось разобрать список прав по умолчанию (%s)\n"
 
-#: pg_dump.c:13431
+#: pg_dump.c:14633
 #, c-format
-msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
-msgstr "не удалось разобрать список прав (%s) для объекта \"%s\" (%s)\n"
+msgid ""
+"could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) "
+"for object \"%s\" (%s)\n"
+msgstr ""
+"не удалось разобрать изначальный список GRANT ACL (%s) или изначальный "
+"список REVOKE ACL (%s) для объекта \"%s\" (%s)\n"
 
-#: pg_dump.c:13852
+#: pg_dump.c:14641
+#, c-format
+msgid ""
+"could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s"
+"\" (%s)\n"
+msgstr ""
+"не удалось разобрать список GRANT ACL (%s) или список REVOKE ACL (%s) для "
+"объекта \"%s\" (%s)\n"
+
+#: pg_dump.c:15125
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data\n"
 msgstr ""
 "запрос на получение определения представления \"%s\" не возвратил данные\n"
 
-#: pg_dump.c:13855
+#: pg_dump.c:15128
 #, c-format
 msgid ""
 "query to obtain definition of view \"%s\" returned more than one definition\n"
@@ -2180,27 +2258,27 @@ msgstr ""
 "запрос на получения определения представления \"%s\" возвратил несколько "
 "определений\n"
 
-#: pg_dump.c:13862
+#: pg_dump.c:15135
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)\n"
 msgstr "определение представления \"%s\" пустое (длина равна нулю)\n"
 
-#: pg_dump.c:14610
+#: pg_dump.c:15894
 #, c-format
 msgid "invalid column number %d for table \"%s\"\n"
 msgstr "неверный номер столбца %d для таблицы \"%s\"\n"
 
-#: pg_dump.c:14736
+#: pg_dump.c:16023
 #, c-format
 msgid "missing index for constraint \"%s\"\n"
 msgstr "отсутствует индекс для ограничения \"%s\"\n"
 
-#: pg_dump.c:14927
+#: pg_dump.c:16226
 #, c-format
 msgid "unrecognized constraint type: %c\n"
 msgstr "нераспознанный тип ограничения: %c\n"
 
-#: pg_dump.c:15077 pg_dump.c:15241
+#: pg_dump.c:16380 pg_dump.c:16549
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)\n"
 msgid_plural ""
@@ -2215,23 +2293,23 @@ msgstr[2] ""
 "запрос на получение данных последовательности \"%s\" вернул %d строк "
 "(ожидалась 1)\n"
 
-#: pg_dump.c:15088
+#: pg_dump.c:16391
 #, c-format
 msgid "query to get data of sequence \"%s\" returned name \"%s\"\n"
 msgstr ""
 "запрос на получение данных последовательности \"%s\" вернул имя \"%s\"\n"
 
-#: pg_dump.c:15337
+#: pg_dump.c:16647
 #, c-format
 msgid "unexpected tgtype value: %d\n"
 msgstr "неожиданное значение tgtype: %d\n"
 
-#: pg_dump.c:15419
+#: pg_dump.c:16729
 #, c-format
 msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n"
 msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"\n"
 
-#: pg_dump.c:15608
+#: pg_dump.c:16926
 #, c-format
 msgid ""
 "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows "
@@ -2240,45 +2318,37 @@ msgstr ""
 "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное "
 "число строк\n"
 
-#: pg_dump.c:15990
+#: pg_dump.c:17315
 #, c-format
 msgid "reading dependency data\n"
 msgstr "чтение данных о зависимостях\n"
 
-#: pg_dump.c:16550
+#: pg_dump.c:17872
 #, c-format
 msgid "WARNING: could not parse reloptions array\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: не удалось разобрать массив reloptions\n"
 
-#: pg_dump.c:16614
-#, c-format
-msgid "query returned %d row instead of one: %s\n"
-msgid_plural "query returned %d rows instead of one: %s\n"
-msgstr[0] "запрос вернул %d строку вместо одной: %s\n"
-msgstr[1] "запрос вернул %d строки вместо одной: %s\n"
-msgstr[2] "запрос вернул %d строк вместо одной: %s\n"
-
 #. translator: this is a module name
 #: pg_dump_sort.c:23
 msgid "sorter"
 msgstr "sorter"
 
-#: pg_dump_sort.c:489
+#: pg_dump_sort.c:491
 #, c-format
 msgid "invalid dumpId %d\n"
 msgstr "неверный dumpId %d\n"
 
-#: pg_dump_sort.c:495
+#: pg_dump_sort.c:497
 #, c-format
 msgid "invalid dependency %d\n"
 msgstr "неверная зависимость %d\n"
 
-#: pg_dump_sort.c:728
+#: pg_dump_sort.c:730
 #, c-format
 msgid "could not identify dependency loop\n"
 msgstr "не удалось определить цикл зависимостей\n"
 
-#: pg_dump_sort.c:1250
+#: pg_dump_sort.c:1262
 #, c-format
 msgid "NOTICE: there are circular foreign-key constraints on this table:\n"
 msgid_plural ""
@@ -2290,12 +2360,12 @@ msgstr[1] ""
 msgstr[2] ""
 "ЗАМЕЧАНИЕ: в следующих таблицах зациклены ограничения внешних ключей:\n"
 
-#: pg_dump_sort.c:1254 pg_dump_sort.c:1274
+#: pg_dump_sort.c:1266 pg_dump_sort.c:1286
 #, c-format
 msgid "  %s\n"
 msgstr "  %s\n"
 
-#: pg_dump_sort.c:1255
+#: pg_dump_sort.c:1267
 #, c-format
 msgid ""
 "You might not be able to restore the dump without using --disable-triggers "
@@ -2304,7 +2374,7 @@ msgstr ""
 "Возможно для восстановления базы вам потребуется использовать --disable-"
 "triggers или временно удалить ограничения.\n"
 
-#: pg_dump_sort.c:1256
+#: pg_dump_sort.c:1268
 #, c-format
 msgid ""
 "Consider using a full dump instead of a --data-only dump to avoid this "
@@ -2313,14 +2383,14 @@ msgstr ""
 "Во избежание этой проблемы, вам вероятно стоит выгружать всю базу данных, а "
 "не только данные (--data-only).\n"
 
-#: pg_dump_sort.c:1268
+#: pg_dump_sort.c:1280
 #, c-format
 msgid "WARNING: could not resolve dependency loop among these items:\n"
 msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: не удалось разрешить цикл зависимостей для следующих "
 "объектов:\n"
 
-#: pg_dumpall.c:181
+#: pg_dumpall.c:182
 #, c-format
 msgid ""
 "The program \"pg_dump\" is needed by %s but was not found in the\n"
@@ -2331,7 +2401,7 @@ msgstr ""
 "в каталоге \"%s\".\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: pg_dumpall.c:188
+#: pg_dumpall.c:189
 #, c-format
 msgid ""
 "The program \"pg_dump\" was found by \"%s\"\n"
@@ -2342,14 +2412,14 @@ msgstr ""
 "но её версия отличается от версии %s.\n"
 "Проверьте вашу установку PostgreSQL.\n"
 
-#: pg_dumpall.c:318
+#: pg_dumpall.c:319
 #, 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:327
+#: pg_dumpall.c:328
 #, c-format
 msgid ""
 "%s: options -g/--globals-only and -t/--tablespaces-only cannot be used "
@@ -2358,12 +2428,12 @@ msgstr ""
 "%s: параметры -g/--globals-only и -t/--tablespaces-only исключают друг "
 "друга\n"
 
-#: pg_dumpall.c:336 pg_restore.c:343
+#: pg_dumpall.c:337 pg_restore.c:345
 #, c-format
 msgid "%s: option --if-exists requires option -c/--clean\n"
 msgstr "%s: параметру --if-exists требуется параметр -c/--clean\n"
 
-#: pg_dumpall.c:343
+#: pg_dumpall.c:344
 #, c-format
 msgid ""
 "%s: options -r/--roles-only and -t/--tablespaces-only cannot be used "
@@ -2371,12 +2441,12 @@ msgid ""
 msgstr ""
 "%s: параметры -r/--roles-only и -t/--tablespaces-only исключают друг друга\n"
 
-#: pg_dumpall.c:385 pg_dumpall.c:1892
+#: pg_dumpall.c:386 pg_dumpall.c:1925
 #, c-format
 msgid "%s: could not connect to database \"%s\"\n"
 msgstr "%s: не удалось подключиться к базе данных: \"%s\"\n"
 
-#: pg_dumpall.c:400
+#: pg_dumpall.c:401
 #, c-format
 msgid ""
 "%s: could not connect to databases \"postgres\" or \"template1\"\n"
@@ -2385,12 +2455,12 @@ msgstr ""
 "%s: не удалось подключиться к базе данных \"postgres\" или \"template1\"\n"
 "Укажите другую базу данных.\n"
 
-#: pg_dumpall.c:417
+#: pg_dumpall.c:418
 #, c-format
 msgid "%s: could not open the output file \"%s\": %s\n"
 msgstr "%s: не удалось открыть выходной файл \"%s\": %s\n"
 
-#: pg_dumpall.c:547
+#: pg_dumpall.c:548
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -2399,17 +2469,17 @@ msgstr ""
 "%s экспортирует всё содержимое кластера баз данных PostgreSQL в SQL-скрипт.\n"
 "\n"
 
-#: pg_dumpall.c:549
+#: pg_dumpall.c:550
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [ПАРАМЕТР]...\n"
 
-#: pg_dumpall.c:552
+#: pg_dumpall.c:553
 #, c-format
 msgid "  -f, --file=FILENAME          output file name\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА         имя выходного файла\n"
 
-#: pg_dumpall.c:558
+#: pg_dumpall.c:559
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) databases before recreating\n"
@@ -2417,18 +2487,18 @@ msgstr ""
 "  -c, --clean                  очистить (удалить) базы данных перед\n"
 "                               восстановлением\n"
 
-#: pg_dumpall.c:559
+#: pg_dumpall.c:560
 #, c-format
 msgid "  -g, --globals-only           dump only global objects, no databases\n"
 msgstr ""
 "  -g, --globals-only           выгрузить только глобальные объекты, без баз\n"
 
-#: pg_dumpall.c:561 pg_restore.c:456
+#: pg_dumpall.c:562 pg_restore.c:459
 #, c-format
 msgid "  -O, --no-owner               skip restoration of object ownership\n"
 msgstr "  -O, --no-owner               не восстанавливать владение объектами\n"
 
-#: pg_dumpall.c:562
+#: pg_dumpall.c:563
 #, c-format
 msgid ""
 "  -r, --roles-only             dump only roles, no databases or tablespaces\n"
@@ -2436,13 +2506,13 @@ msgstr ""
 "  -r, --roles-only             выгрузить только роли, без баз данных\n"
 "                               и табличных пространств\n"
 
-#: pg_dumpall.c:564
+#: pg_dumpall.c:565
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in the dump\n"
 msgstr ""
 "  -S, --superuser=ИМЯ          имя пользователя для выполнения выгрузки\n"
 
-#: pg_dumpall.c:565
+#: pg_dumpall.c:566
 #, c-format
 msgid ""
 "  -t, --tablespaces-only       dump only tablespaces, no databases or roles\n"
@@ -2450,17 +2520,17 @@ msgstr ""
 "  -t, --tablespaces-only       выгружать только табличные пространства,\n"
 "                               без баз данных и ролей\n"
 
-#: pg_dumpall.c:582
+#: pg_dumpall.c:583
 #, c-format
 msgid "  -d, --dbname=CONNSTR     connect using connection string\n"
 msgstr "  -d, --dbname=СТРОКА      подключиться с данной строкой подключения\n"
 
-#: pg_dumpall.c:584
+#: pg_dumpall.c:585
 #, c-format
 msgid "  -l, --database=DBNAME    alternative default database\n"
 msgstr "  -l, --database=ИМЯ_БД    выбор другой базы данных по умолчанию\n"
 
-#: pg_dumpall.c:591
+#: pg_dumpall.c:592
 #, c-format
 msgid ""
 "\n"
@@ -2474,110 +2544,115 @@ msgstr ""
 "вывод.\n"
 "\n"
 
-#: pg_dumpall.c:1118
+#: pg_dumpall.c:793
+#, c-format
+msgid "%s: role name starting with \"pg_\" skipped (%s)\n"
+msgstr "%s: имя роли, начинающееся с \"pg_\", пропущено (%s)\n"
+
+#: pg_dumpall.c:1144
 #, c-format
 msgid "%s: could not parse ACL list (%s) for tablespace \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать список управления доступом (%s) для табл. "
 "пространства \"%s\"\n"
 
-#: pg_dumpall.c:1449
+#: pg_dumpall.c:1475
 #, c-format
 msgid "%s: could not parse ACL list (%s) for database \"%s\"\n"
 msgstr ""
 "%s: не удалось разобрать список управления доступом (%s) для базы данных \"%s"
 "\"\n"
 
-#: pg_dumpall.c:1659
+#: pg_dumpall.c:1692
 #, c-format
 msgid "%s: dumping database \"%s\"...\n"
 msgstr "%s: выгрузка базы данных \"%s\"...\n"
 
-#: pg_dumpall.c:1680
+#: pg_dumpall.c:1713
 #, c-format
 msgid "%s: pg_dump failed on database \"%s\", exiting\n"
 msgstr "%s: ошибка pg_dump для базы данных \"%s\", выход...\n"
 
-#: pg_dumpall.c:1689
+#: pg_dumpall.c:1722
 #, c-format
 msgid "%s: could not re-open the output file \"%s\": %s\n"
 msgstr "%s: не удалось повторно открыть выходной файл \"%s\": %s\n"
 
-#: pg_dumpall.c:1734
+#: pg_dumpall.c:1767
 #, c-format
 msgid "%s: running \"%s\"\n"
 msgstr "%s: выполняется \"%s\"\n"
 
-#: pg_dumpall.c:1914
+#: pg_dumpall.c:1947
 #, c-format
 msgid "%s: could not connect to database \"%s\": %s\n"
 msgstr "%s: не удалось подключиться к базе \"%s\": %s\n"
 
-#: pg_dumpall.c:1944
+#: pg_dumpall.c:1977
 #, c-format
 msgid "%s: could not get server version\n"
 msgstr "%s: не удалось узнать версию сервера\n"
 
-#: pg_dumpall.c:1950
+#: pg_dumpall.c:1983
 #, c-format
 msgid "%s: could not parse server version \"%s\"\n"
 msgstr "%s: не удалось разобрать строку версии сервера \"%s\"\n"
 
-#: pg_dumpall.c:2028 pg_dumpall.c:2054
+#: pg_dumpall.c:2061 pg_dumpall.c:2087
 #, c-format
 msgid "%s: executing %s\n"
 msgstr "%s: выполняется %s\n"
 
-#: pg_dumpall.c:2034 pg_dumpall.c:2060
+#: pg_dumpall.c:2067 pg_dumpall.c:2093
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: ошибка при выполнении запроса: %s"
 
-#: pg_dumpall.c:2036 pg_dumpall.c:2062
+#: pg_dumpall.c:2069 pg_dumpall.c:2095
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: запрос: %s\n"
 
 # TO REVEIW
-#: pg_restore.c:303
+#: pg_restore.c:305
 #, 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:314
+#: pg_restore.c:316
 #, 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:321
+#: pg_restore.c:323
 #, 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:329
+#: pg_restore.c:331
 #, c-format
 msgid "%s: cannot specify both --single-transaction and multiple jobs\n"
 msgstr ""
 "%s: параметр --single-transaction допускается только с одним заданием\n"
 
-#: pg_restore.c:369
+#: pg_restore.c:372
 #, c-format
 msgid ""
 "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"\n"
 msgstr "нераспознанный формат архива \"%s\"; укажите \"c\", \"d\" или \"t\"\n"
 
-#: pg_restore.c:401
+#: pg_restore.c:404
 #, c-format
 msgid "%s: maximum number of parallel jobs is %d\n"
 msgstr "%s: максимальное число параллельных заданий равно %d\n"
 
-#: pg_restore.c:419
+#: pg_restore.c:422
 #, c-format
 msgid "WARNING: errors ignored on restore: %d\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: при восстановлении проигнорировано ошибок: %d\n"
 
-#: pg_restore.c:433
+#: pg_restore.c:436
 #, c-format
 msgid ""
 "%s restores a PostgreSQL database from an archive created by pg_dump.\n"
@@ -2587,48 +2662,48 @@ msgstr ""
 "pg_dump.\n"
 "\n"
 
-#: pg_restore.c:435
+#: pg_restore.c:438
 #, c-format
 msgid "  %s [OPTION]... [FILE]\n"
 msgstr "  %s [ПАРАМЕТР]... [ФАЙЛ]\n"
 
-#: pg_restore.c:438
+#: pg_restore.c:441
 #, c-format
 msgid "  -d, --dbname=NAME        connect to database name\n"
 msgstr "  -d, --dbname=БД          подключиться к указанной базе данных\n"
 
-#: pg_restore.c:439
+#: pg_restore.c:442
 #, c-format
 msgid "  -f, --file=FILENAME      output file name\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА     имя выходного файла\n"
 
-#: pg_restore.c:440
+#: pg_restore.c:443
 #, 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:441
+#: pg_restore.c:444
 #, c-format
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr "  -l, --list               вывести краткое оглавление архива\n"
 
-#: pg_restore.c:442
+#: pg_restore.c:445
 #, c-format
 msgid "  -v, --verbose            verbose mode\n"
 msgstr "  -v, --verbose            выводить подробные сообщения\n"
 
-#: pg_restore.c:443
+#: pg_restore.c:446
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: pg_restore.c:444
+#: pg_restore.c:447
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               показать эту справку и выйти\n"
 
-#: pg_restore.c:446
+#: pg_restore.c:449
 #, c-format
 msgid ""
 "\n"
@@ -2637,35 +2712,35 @@ msgstr ""
 "\n"
 "Параметры, управляющие восстановлением:\n"
 
-#: pg_restore.c:447
+#: pg_restore.c:450
 #, c-format
 msgid "  -a, --data-only              restore only the data, no schema\n"
 msgstr "  -a, --data-only              восстановить только данные, без схемы\n"
 
-#: pg_restore.c:449
+#: pg_restore.c:452
 #, c-format
 msgid "  -C, --create                 create the target database\n"
 msgstr "  -C, --create                 создать целевую базу данных\n"
 
-#: pg_restore.c:450
+#: pg_restore.c:453
 #, c-format
 msgid "  -e, --exit-on-error          exit on error, default is to continue\n"
 msgstr ""
 "  -e, --exit-on-error          выйти при ошибке (по умолчанию - продолжать)\n"
 
-#: pg_restore.c:451
+#: pg_restore.c:454
 #, c-format
 msgid "  -I, --index=NAME             restore named index\n"
 msgstr "  -I, --index=ИМЯ              восстановить указанный индекс\n"
 
-#: pg_restore.c:452
+#: pg_restore.c:455
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to restore\n"
 msgstr ""
 "  -j, --jobs=ЧИСЛО             распараллелить восстановление на указанное "
 "число заданий\n"
 
-#: pg_restore.c:453
+#: pg_restore.c:456
 #, c-format
 msgid ""
 "  -L, --use-list=FILENAME      use table of contents from this file for\n"
@@ -2674,23 +2749,23 @@ msgstr ""
 "  -L, --use-list=ИМЯ_ФАЙЛА     использовать оглавление из этого файла для\n"
 "                               чтения/упорядочивания данных\n"
 
-#: pg_restore.c:455
+#: pg_restore.c:458
 #, c-format
 msgid "  -n, --schema=NAME            restore only objects in this schema\n"
 msgstr ""
 "  -n, --schema=ИМЯ             восстановить объекты только в этой схеме\n"
 
-#: pg_restore.c:457
+#: pg_restore.c:460
 #, c-format
 msgid "  -P, --function=NAME(args)    restore named function\n"
 msgstr "  -P, --function=ИМЯ(арг-ты)   восстановить заданную функцию\n"
 
-#: pg_restore.c:458
+#: pg_restore.c:461
 #, c-format
 msgid "  -s, --schema-only            restore only the schema, no data\n"
 msgstr "  -s, --schema-only            восстановить только схему, без данных\n"
 
-#: pg_restore.c:459
+#: pg_restore.c:462
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use for disabling "
@@ -2699,17 +2774,20 @@ msgstr ""
 "  -S, --superuser=ИМЯ          имя суперпользователя для отключения "
 "триггеров\n"
 
-#: pg_restore.c:460
+#: pg_restore.c:463
 #, c-format
-msgid "  -t, --table=NAME             restore named table\n"
-msgstr "  -t, --table=ИМЯ              восстановить заданную таблицу\n"
+msgid ""
+"  -t, --table=NAME             restore named relation (table, view, etc.)\n"
+msgstr ""
+"  -t, --table=ИМЯ              восстановить заданное отношение (таблицу, "
+"представление и т.п.)\n"
 
-#: pg_restore.c:461
+#: pg_restore.c:464
 #, c-format
 msgid "  -T, --trigger=NAME           restore named trigger\n"
 msgstr "  -T, --trigger=ИМЯ            восстановить заданный триггер\n"
 
-#: pg_restore.c:462
+#: pg_restore.c:465
 #, c-format
 msgid ""
 "  -x, --no-privileges          skip restoration of access privileges (grant/"
@@ -2718,18 +2796,18 @@ msgstr ""
 "  -x, --no-privileges          не восстанавливать права доступа\n"
 "                               (назначение/отзыв)\n"
 
-#: pg_restore.c:463
+#: pg_restore.c:466
 #, c-format
 msgid "  -1, --single-transaction     restore as a single transaction\n"
 msgstr ""
 "  -1, --single-transaction     выполнить восстановление в одной транзакции\n"
 
-#: pg_restore.c:465
+#: pg_restore.c:468
 #, c-format
 msgid "  --enable-row-security        enable row security\n"
 msgstr "  --enable-row-security        включить защиту на уровне строк\n"
 
-#: pg_restore.c:467
+#: pg_restore.c:470
 #, c-format
 msgid ""
 "  --no-data-for-failed-tables  do not restore data of tables that could not "
@@ -2739,19 +2817,19 @@ msgstr ""
 "  --no-data-for-failed-tables  не восстанавливать данные таблиц, которые\n"
 "                               не удалось создать\n"
 
-#: pg_restore.c:469
+#: pg_restore.c:472
 #, c-format
 msgid "  --no-security-labels         do not restore security labels\n"
 msgstr "  --no-security-labels         не восстанавливать метки безопасности\n"
 
-#: pg_restore.c:470
+#: pg_restore.c:473
 #, c-format
 msgid "  --no-tablespaces             do not restore tablespace assignments\n"
 msgstr ""
 "  --no-tablespaces             не восстанавливать назначения табл. "
 "пространств\n"
 
-#: pg_restore.c:471
+#: pg_restore.c:474
 #, c-format
 msgid ""
 "  --section=SECTION            restore named section (pre-data, data, or "
@@ -2760,12 +2838,12 @@ msgstr ""
 "  --section=РАЗДЕЛ             восстановить заданный раздел\n"
 "                               (pre-data, data или post-data)\n"
 
-#: pg_restore.c:482
+#: pg_restore.c:487
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before restore\n"
 msgstr "  --role=ИМЯ_РОЛИ          выполнить SET ROLE перед восстановлением\n"
 
-#: pg_restore.c:484
+#: pg_restore.c:489
 #, c-format
 msgid ""
 "\n"
@@ -2776,7 +2854,7 @@ msgstr ""
 "Параметры -I, -n, -P, -t, -T и --section можно комбинировать и указывать\n"
 "несколько раз для выбора нескольких объектов.\n"
 
-#: pg_restore.c:487
+#: pg_restore.c:492
 #, c-format
 msgid ""
 "\n"
@@ -2788,47 +2866,26 @@ msgstr ""
 "ввода.\n"
 "\n"
 
-#~ msgid "archive member too large for tar format\n"
-#~ msgstr "компонент архива слишком велик для формата tar\n"
+#~ msgid "could not get relation name for OID %u: %s\n"
+#~ msgstr "не удалось получить имя отношения с OID %u: %s\n"
 
-#~ msgid "Schema \"%s\" not found.\n"
-#~ msgstr "Схема \"%s\" не найдена.\n"
+#~ msgid "terminated by user\n"
+#~ msgstr "прервано пользователем\n"
 
-#~ msgid "Table \"%s\" not found.\n"
-#~ msgstr "Таблица \"%s\" не найдена.\n"
+#~ msgid "error in ListenToWorkers(): %s\n"
+#~ msgstr "ошибка в ListenToWorkers(): %s\n"
 
-#~ msgid "Index \"%s\" not found.\n"
-#~ msgstr "Индекс \"%s\" не найден.\n"
+#~ msgid "worker is terminating\n"
+#~ msgstr "рабочий процесс прерывается\n"
 
-#~ msgid "Function \"%s\" not found.\n"
-#~ msgstr "Функция \"%s\" не найдена.\n"
+#~ msgid "could not open output file \"%s\" for writing\n"
+#~ msgstr "не удалось открыть выходной файл \"%s\"  для записи\n"
 
-#~ msgid "Trigger \"%s\" not found.\n"
-#~ msgstr "Триггер \"%s\" не найден.\n"
+#~ msgid "  -t, --table=NAME             restore named table\n"
+#~ msgstr "  -t, --table=ИМЯ              восстановить заданную таблицу\n"
 
-#~ msgid ""
-#~ "  --strict-names               require table and/or schema include "
-#~ "patterns to\n"
-#~ "                               match at least one entity each\n"
-#~ msgstr ""
-#~ "  --strict-names               требовать, чтобы при указании шаблона "
-#~ "включения\n"
-#~ "                               таблицы и/или схемы ему соответствовал "
-#~ "минимум\n"
-#~ "                               один объект\n"
-
-#~ msgid "No matching table(s) were found for pattern \"%s\"\n"
-#~ msgstr "Таблицы, соответствующие шаблону \"%s\", не найдены.\n"
-
-# TO REVEIW
-#~ msgid "unrecognized proparallel value for function \"%s\"\n"
-#~ msgstr "недопустимое значение proparallel для функции \"%s\"\n"
-
-#~ msgid ""
-#~ "  -t, --table=NAME             restore named relation (table, view, etc)\n"
-#~ msgstr ""
-#~ "  -t, --table=ИМЯ              восстановить заданное отношение (таблицу, "
-#~ "представление и т.п.)\n"
+#~ msgid "archive member too large for tar format\n"
+#~ msgstr "компонент архива слишком велик для формата tar\n"
 
 #~ msgid "could not write to output file: %s\n"
 #~ msgstr "не удалось записать в выходной файл: %s\n"
diff --git a/src/bin/pg_dump/po/zh_CN.po b/src/bin/pg_dump/po/zh_CN.po
index 2882c03f317bc67efb51c391999dc01364b8919a..b9d56bd9bfaa2f20cf2c500df1b696fb7be3e27e 100644
--- a/src/bin/pg_dump/po/zh_CN.po
+++ b/src/bin/pg_dump/po/zh_CN.po
@@ -5,10 +5,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_dump (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:44+0000\n"
-"PO-Revision-Date: 2015-12-01 20:26+0800\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-05-19 20:40+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -54,8 +54,8 @@ msgid "pclose failed: %s"
 msgstr "pclose调用失败: %s"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 pg_backup_db.c:135 pg_backup_db.c:190
-#: pg_backup_db.c:234 pg_backup_db.c:280
+#: ../../common/fe_memutils.c:98 pg_backup_db.c:137 pg_backup_db.c:188
+#: pg_backup_db.c:245 pg_backup_db.c:287
 #, c-format
 msgid "out of memory\n"
 msgstr "内存用尽\n"
@@ -101,180 +101,191 @@ msgstr "子进程被信号 %d 终止"
 msgid "child process exited with unrecognized status %d"
 msgstr "子进程已退出, 未知状态 %d"
 
-#: common.c:109
+#: common.c:121
+#, c-format
+msgid "reading extensions\n"
+msgstr "读扩展\n"
+
+#: common.c:126
+#, c-format
+#| msgid "finding extension members\n"
+msgid "identifying extension members\n"
+msgstr "识别扩展成员\n"
+
+#: common.c:130
 #, c-format
 msgid "reading schemas\n"
 msgstr "读取模式\n"
 
-#: common.c:120
+#: common.c:141
 #, c-format
 msgid "reading user-defined tables\n"
 msgstr "读取用户定义表\n"
 
-#: common.c:128
-#, c-format
-msgid "reading extensions\n"
-msgstr "读扩展\n"
-
-#: common.c:132
+#: common.c:149
 #, c-format
 msgid "reading user-defined functions\n"
 msgstr "读取用户定义函数\n"
 
-#: common.c:138
+#: common.c:155
 #, c-format
 msgid "reading user-defined types\n"
 msgstr "读取用户定义类型\n"
 
-#: common.c:144
+#: common.c:161
 #, c-format
 msgid "reading procedural languages\n"
 msgstr "读取过程语言\n"
 
-#: common.c:148
+#: common.c:165
 #, c-format
 msgid "reading user-defined aggregate functions\n"
 msgstr "读取用户定义聚集函数\n"
 
-#: common.c:152
+#: common.c:169
 #, c-format
 msgid "reading user-defined operators\n"
 msgstr "读取用户定义操作符\n"
 
-#: common.c:157
+#: common.c:174
+#, c-format
+#| msgid "reading user-defined conversions\n"
+msgid "reading user-defined access methods\n"
+msgstr "读取用户定义的访问方法\n"
+
+#: common.c:178
 #, c-format
 msgid "reading user-defined operator classes\n"
 msgstr "读取用户定义操作符集\n"
 
-#: common.c:161
+#: common.c:182
 #, c-format
 msgid "reading user-defined operator families\n"
 msgstr "读取用户定义操作符\n"
 
-#: common.c:165
+#: common.c:186
 #, c-format
 msgid "reading user-defined text search parsers\n"
 msgstr "读取用户定义的文本搜索解析器\n"
 
-#: common.c:169
+#: common.c:190
 #, c-format
 msgid "reading user-defined text search templates\n"
 msgstr "读取用户定义的文本搜索模板\n"
 
-#: common.c:173
+#: common.c:194
 #, c-format
 msgid "reading user-defined text search dictionaries\n"
 msgstr "读取用户定义的文本搜索字典\n"
 
 # sql_help.h:129
-#: common.c:177
+#: common.c:198
 #, c-format
 msgid "reading user-defined text search configurations\n"
 msgstr "读取用户定义的文本搜索配置\n"
 
-#: common.c:181
+#: common.c:202
 #, c-format
 msgid "reading user-defined foreign-data wrappers\n"
 msgstr "读取用户定义外部数据封装器\n"
 
-#: common.c:185
+#: common.c:206
 #, c-format
 msgid "reading user-defined foreign servers\n"
 msgstr "读取用户定义的外部服务器\n"
 
-#: common.c:189
+#: common.c:210
 #, c-format
 msgid "reading default privileges\n"
 msgstr "正在读取缺省权限\n"
 
-#: common.c:193
+#: common.c:214
 #, c-format
 msgid "reading user-defined collations\n"
 msgstr "读取用户定义的校对函数\n"
 
-#: common.c:198
+#: common.c:219
 #, c-format
 msgid "reading user-defined conversions\n"
 msgstr "读取用户定义的字符集转换\n"
 
-#: common.c:202
+#: common.c:223
 #, c-format
 msgid "reading type casts\n"
 msgstr "读取类型转换\n"
 
-#: common.c:206
+#: common.c:227
 #, c-format
-#| msgid "reading extensions\n"
 msgid "reading transforms\n"
 msgstr "读取转换\n"
 
-#: common.c:210
+#: common.c:231
 #, c-format
 msgid "reading table inheritance information\n"
 msgstr "读取表继承信息\n"
 
-#: common.c:214
+#: common.c:235
 #, c-format
 msgid "reading event triggers\n"
 msgstr "读取事件触发器\n"
 
-#: common.c:223
+#: common.c:240
 #, c-format
-msgid "finding extension members\n"
-msgstr "查找扩展成员\n"
+#| msgid "finding extension members\n"
+msgid "finding extension tables\n"
+msgstr "查找扩展表\n"
 
-#: common.c:228
+#: common.c:245
 #, c-format
 msgid "finding inheritance relationships\n"
 msgstr "正在查找关系继承\n"
 
-#: common.c:232
+#: common.c:249
 #, c-format
 msgid "reading column info for interesting tables\n"
 msgstr "正在读取感兴趣表的列信息\n"
 
-#: common.c:236
+#: common.c:253
 #, c-format
 msgid "flagging inherited columns in subtables\n"
 msgstr "在子表里标记继承字段\n"
 
-#: common.c:240
+#: common.c:257
 #, c-format
 msgid "reading indexes\n"
 msgstr "读取索引\n"
 
-#: common.c:244
+#: common.c:261
 #, c-format
 msgid "reading constraints\n"
 msgstr "读取约束\n"
 
-#: common.c:248
+#: common.c:265
 #, c-format
 msgid "reading triggers\n"
 msgstr "读取触发器\n"
 
-#: common.c:252
+#: common.c:269
 #, c-format
 msgid "reading rewrite rules\n"
 msgstr "读取重写规则\n"
 
-#: common.c:256
+#: common.c:273
 #, c-format
-#| msgid "reading schemas\n"
 msgid "reading policies\n"
 msgstr "读取策略\n"
 
-#: common.c:804
+#: common.c:908
 #, c-format
 msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found\n"
 msgstr "健全检查失败, 未找到表 \"%2$s\" (OID %3$u) 的 OID 为 %1$u 的父辈\n"
 
-#: common.c:846
+#: common.c:950
 #, c-format
 msgid "could not parse numeric array \"%s\": too many numbers\n"
 msgstr "无法分析数值数组\"%s\": 数字太多\n"
 
-#: common.c:861
+#: common.c:965
 #, c-format
 msgid "could not parse numeric array \"%s\": invalid character in number\n"
 msgstr "无法分析数值数组\"%s\": 出现无效字符\n"
@@ -322,49 +333,49 @@ msgstr "无法关闭压缩库: %s\n"
 
 # input.c:210
 #: compress_io.c:606 compress_io.c:642 pg_backup_custom.c:591
-#: pg_backup_tar.c:560
+#: pg_backup_tar.c:561
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "无法从输入档案读取:%s\n"
 
 # input.c:210
 #: compress_io.c:645 pg_backup_custom.c:588 pg_backup_directory.c:552
-#: pg_backup_tar.c:796 pg_backup_tar.c:820
+#: pg_backup_tar.c:797 pg_backup_tar.c:821
 #, c-format
 msgid "could not read from input file: end of file\n"
 msgstr "无法从输入文件中读取:文件的结尾\n"
 
-#: parallel.c:78
+#: parallel.c:77
 msgid "parallel archiver"
 msgstr "并行归档"
 
-#: parallel.c:143
+#: parallel.c:140
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup 失败: %d\n"
 
-#: parallel.c:343
+#: parallel.c:340
 #, c-format
 msgid "worker is terminating\n"
 msgstr "工作者进程正在终止\n"
 
-#: parallel.c:537
+#: parallel.c:530
 #, c-format
 msgid "could not create communication channels: %s\n"
 msgstr "无法创建通信通道: %s\n"
 
 # fe-connect.c:891
-#: parallel.c:611
+#: parallel.c:602
 #, c-format
 msgid "could not create worker process: %s\n"
 msgstr "无法创建工作进程: %s\n"
 
-#: parallel.c:828
+#: parallel.c:819
 #, c-format
 msgid "could not get relation name for OID %u: %s\n"
 msgstr "无法获取OID值为%u:%s的关系名\n"
 
-#: parallel.c:845
+#: parallel.c:836
 #, c-format
 msgid ""
 "could not obtain lock on relation \"%s\"\n"
@@ -376,564 +387,589 @@ msgstr ""
 "这通常意味着在父进程pg_dump已经得到表的共享访问锁之后,仍有人请求该表的排它访"
 "问锁.\n"
 
-#: parallel.c:929
+#: parallel.c:920
 #, c-format
 msgid "unrecognized command on communication channel: %s\n"
 msgstr "无法识别通信通上的命令:%s\n"
 
-#: parallel.c:962
+#: parallel.c:953
 #, c-format
 msgid "a worker process died unexpectedly\n"
 msgstr "一工作者进程意外退出\n"
 
 # fe-misc.c:515 fe-misc.c:595
-#: parallel.c:989 parallel.c:998
+#: parallel.c:980 parallel.c:989
 #, c-format
 msgid "invalid message received from worker: %s\n"
 msgstr "接收到来自工作者进程的无效消息: %s\n"
 
-#: parallel.c:995 pg_backup_db.c:337
+#: parallel.c:986 pg_backup_db.c:355
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: parallel.c:1047 parallel.c:1091
+#: parallel.c:1038 parallel.c:1082
 #, c-format
 msgid "error processing a parallel work item\n"
 msgstr "错误处理一个并行工作项\n"
 
-#: parallel.c:1119 parallel.c:1257
+#: parallel.c:1110 parallel.c:1248
 #, c-format
 msgid "could not write to the communication channel: %s\n"
 msgstr "无法写入通信通道: %s\n"
 
-#: parallel.c:1168
+#: parallel.c:1159
 #, c-format
 msgid "terminated by user\n"
 msgstr "已被用户终止\n"
 
-#: parallel.c:1220
+#: parallel.c:1211
 #, c-format
 msgid "error in ListenToWorkers(): %s\n"
 msgstr "调用ListenToWorkers()时出错: %s\n"
 
-#: parallel.c:1345
+#: parallel.c:1336
 #, c-format
 msgid "pgpipe: could not create socket: error code %d\n"
 msgstr "pgpipe: 无法创建套接字: 错误码为 %d\n"
 
-#: parallel.c:1356
+#: parallel.c:1347
 #, c-format
 msgid "pgpipe: could not bind: error code %d\n"
 msgstr "pgpipe: 无法绑定: 错误码为%d\n"
 
-#: parallel.c:1363
+#: parallel.c:1354
 #, c-format
 msgid "pgpipe: could not listen: error code %d\n"
 msgstr "pgpipe: 无法监听: 错误码为 %d\n"
 
-#: parallel.c:1370
+#: parallel.c:1361
 #, c-format
 msgid "pgpipe: getsockname() failed: error code %d\n"
 msgstr "pgpipe: getsockname()调用失败: 错误码为 %d\n"
 
-#: parallel.c:1381
+#: parallel.c:1372
 #, c-format
 msgid "pgpipe: could not create second socket: error code %d\n"
 msgstr "pgpipe: 无法创建继承套接字: 错误码为 %d\n"
 
-#: parallel.c:1390
+#: parallel.c:1381
 #, c-format
 msgid "pgpipe: could not connect socket: error code %d\n"
 msgstr "pgpipe: 无法连接套接字: 错误码为 %d\n"
 
-#: parallel.c:1397
+#: parallel.c:1388
 #, c-format
 msgid "pgpipe: could not accept connection: error code %d\n"
 msgstr "pgpipe: 无法接受连接: 错误码为 %d\n"
 
 #. translator: this is a module name
-#: pg_backup_archiver.c:53
+#: pg_backup_archiver.c:55
 msgid "archiver"
 msgstr "å½’æ¡£"
 
-#: pg_backup_archiver.c:230 pg_backup_archiver.c:1479
+#: pg_backup_archiver.c:234 pg_backup_archiver.c:1512
 #, c-format
 msgid "could not close output file: %s\n"
 msgstr "无法关闭输出文件: %s\n"
 
-#: pg_backup_archiver.c:265 pg_backup_archiver.c:270
+#: pg_backup_archiver.c:280 pg_backup_archiver.c:285
 #, c-format
 msgid "WARNING: archive items not in correct section order\n"
 msgstr "警告: 归档项的序号不正确\n"
 
-#: pg_backup_archiver.c:276
+#: pg_backup_archiver.c:291
 #, c-format
 msgid "unexpected section code %d\n"
 msgstr "意外的节码 %d\n"
 
-#: pg_backup_archiver.c:308
+#: pg_backup_archiver.c:327
 #, c-format
 msgid "-C and -1 are incompatible options\n"
 msgstr "-C 和 -c 是互不兼容的选项\n"
 
 # input.c:213
-#: pg_backup_archiver.c:318
+#: pg_backup_archiver.c:337
 #, c-format
 msgid "parallel restore is not supported with this archive file format\n"
 msgstr "不支持以这种归档文件格式进行并行恢复\n"
 
-#: pg_backup_archiver.c:322
+#: pg_backup_archiver.c:341
 #, c-format
 msgid ""
 "parallel restore is not supported with archives made by pre-8.0 pg_dump\n"
 msgstr "不支持使用8.0版本以前的pg_dump命令产生的存档文件进行并行恢复\n"
 
-#: pg_backup_archiver.c:340
+#: pg_backup_archiver.c:359
 #, c-format
 msgid ""
 "cannot restore from compressed archive (compression not supported in this "
 "installation)\n"
 msgstr "无法从压缩的归档中恢复 (未配置压缩支持)\n"
 
-#: pg_backup_archiver.c:357
+#: pg_backup_archiver.c:376
 #, c-format
 msgid "connecting to database for restore\n"
 msgstr "为恢复数据库与数据库联接\n"
 
-#: pg_backup_archiver.c:359
+#: pg_backup_archiver.c:378
 #, c-format
 msgid "direct database connections are not supported in pre-1.3 archives\n"
 msgstr "1.3 以前的归档里不支持直接数据库联接\n"
 
-#: pg_backup_archiver.c:404
+#: pg_backup_archiver.c:423
 #, c-format
 msgid "implied data-only restore\n"
 msgstr "隐含的只恢复数据\n"
 
-#: pg_backup_archiver.c:474
+#: pg_backup_archiver.c:493
 #, c-format
 msgid "dropping %s %s\n"
 msgstr "删除 %s %s\n"
 
-#: pg_backup_archiver.c:627
+#: pg_backup_archiver.c:646
 #, c-format
-#| msgid "setting owner and privileges for %s %s\n"
 msgid "setting owner and privileges for %s \"%s.%s\"\n"
 msgstr "为%s \"%s.%s\"设置属主和权限\n"
 
-#: pg_backup_archiver.c:630
+#: pg_backup_archiver.c:649
 #, c-format
-#| msgid "setting owner and privileges for %s %s\n"
 msgid "setting owner and privileges for %s \"%s\"\n"
 msgstr "为%s \"%s\"设置属主和权限\n"
 
-#: pg_backup_archiver.c:696 pg_backup_archiver.c:698
+#: pg_backup_archiver.c:715 pg_backup_archiver.c:717
 #, c-format
 msgid "warning from original dump file: %s\n"
 msgstr "来自原始转储文件的警告: %s\n"
 
-#: pg_backup_archiver.c:707
+#: pg_backup_archiver.c:726
 #, c-format
-#| msgid "creating %s %s\n"
 msgid "creating %s \"%s.%s\"\n"
 msgstr "创建%s \"%s.%s\"\n"
 
-#: pg_backup_archiver.c:710
+#: pg_backup_archiver.c:729
 #, c-format
-#| msgid "creating %s %s\n"
 msgid "creating %s \"%s\"\n"
 msgstr "创建%s \"%s\"\n"
 
-#: pg_backup_archiver.c:755
+#: pg_backup_archiver.c:774
 #, c-format
 msgid "connecting to new database \"%s\"\n"
 msgstr "联接到新数据库 \"%s\"\n"
 
-#: pg_backup_archiver.c:783
+#: pg_backup_archiver.c:802
 #, c-format
 msgid "processing %s\n"
 msgstr "正在处理 %s\n"
 
-#: pg_backup_archiver.c:803
+#: pg_backup_archiver.c:822
 #, c-format
-#| msgid "processing data for table \"%s\"\n"
 msgid "processing data for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"处理数据\n"
 
-#: pg_backup_archiver.c:865
+#: pg_backup_archiver.c:884
 #, c-format
 msgid "executing %s %s\n"
 msgstr "执行 %s %s\n"
 
-#: pg_backup_archiver.c:902
+#: pg_backup_archiver.c:923
 #, c-format
 msgid "disabling triggers for %s\n"
 msgstr "为%s禁用触发器\n"
 
-#: pg_backup_archiver.c:928
+#: pg_backup_archiver.c:951
 #, c-format
 msgid "enabling triggers for %s\n"
 msgstr "为%s启用触发器\n"
 
-#: pg_backup_archiver.c:958
+#: pg_backup_archiver.c:981
 #, c-format
 msgid ""
 "internal error -- WriteData cannot be called outside the context of a "
 "DataDumper routine\n"
 msgstr "内部错误 -- WriteData 不能在 DataDumper 过程的环境之外调用\n"
 
-#: pg_backup_archiver.c:1122
+#: pg_backup_archiver.c:1150
 #, c-format
 msgid "large-object output not supported in chosen format\n"
 msgstr "选定的格式不支持大对象输出\n"
 
-#: pg_backup_archiver.c:1176
+#: pg_backup_archiver.c:1208
 #, c-format
 msgid "restored %d large object\n"
 msgid_plural "restored %d large objects\n"
 msgstr[0] "恢复%d个大对象\n"
 
-#: pg_backup_archiver.c:1197 pg_backup_tar.c:738
+#: pg_backup_archiver.c:1229 pg_backup_tar.c:739
 #, c-format
 msgid "restoring large object with OID %u\n"
 msgstr "恢复带有OID %u 的大对象\n"
 
-#: pg_backup_archiver.c:1209
+#: pg_backup_archiver.c:1241
 #, c-format
 msgid "could not create large object %u: %s"
 msgstr "无法创建大对象%u: %s"
 
-#: pg_backup_archiver.c:1214 pg_dump.c:2774
+#: pg_backup_archiver.c:1246 pg_dump.c:2997
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "无法打开大对象%u: %s"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: pg_backup_archiver.c:1271
+#: pg_backup_archiver.c:1304
 #, c-format
 msgid "could not open TOC file \"%s\": %s\n"
 msgstr "无法打开TOC文件 \"%s\": %s\n"
 
-#: pg_backup_archiver.c:1312
+#: pg_backup_archiver.c:1345
 #, c-format
 msgid "WARNING: line ignored: %s\n"
 msgstr "警告: 忽略的行: %s\n"
 
-#: pg_backup_archiver.c:1319
+#: pg_backup_archiver.c:1352
 #, c-format
 msgid "could not find entry for ID %d\n"
 msgstr "无法为 ID %d 找到记录\n"
 
-#: pg_backup_archiver.c:1340 pg_backup_directory.c:230
+#: pg_backup_archiver.c:1373 pg_backup_directory.c:230
 #: pg_backup_directory.c:601
 #, c-format
 msgid "could not close TOC file: %s\n"
 msgstr "无法关闭 TOC 文件: %s\n"
 
-#: pg_backup_archiver.c:1449 pg_backup_custom.c:162 pg_backup_directory.c:341
+#: pg_backup_archiver.c:1482 pg_backup_custom.c:162 pg_backup_directory.c:341
 #: pg_backup_directory.c:587 pg_backup_directory.c:645
 #: pg_backup_directory.c:665
 #, c-format
 msgid "could not open output file \"%s\": %s\n"
 msgstr "无法打开输出文件\"%s\": %s\n"
 
-#: pg_backup_archiver.c:1452 pg_backup_custom.c:169
+#: pg_backup_archiver.c:1485 pg_backup_custom.c:169
 #, c-format
 msgid "could not open output file: %s\n"
 msgstr "无法打开输出文件: %s\n"
 
-#: pg_backup_archiver.c:1556
+#: pg_backup_archiver.c:1591
 #, 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"
 msgstr[0] "已经写入了大对象的%lu字节(结果 = %lu)\n"
 
-#: pg_backup_archiver.c:1562
+#: pg_backup_archiver.c:1597
 #, c-format
 msgid "could not write to large object (result: %lu, expected: %lu)\n"
 msgstr "无法写入大对象 (结果: %lu, 预期: %lu)\n"
 
-#: pg_backup_archiver.c:1655
+#: pg_backup_archiver.c:1690
 #, c-format
 msgid "Error while INITIALIZING:\n"
 msgstr "INITIALIZING 时错误:\n"
 
-#: pg_backup_archiver.c:1660
+#: pg_backup_archiver.c:1695
 #, c-format
 msgid "Error while PROCESSING TOC:\n"
 msgstr "PROCESSING TOC 时错误:\n"
 
-#: pg_backup_archiver.c:1665
+#: pg_backup_archiver.c:1700
 #, c-format
 msgid "Error while FINALIZING:\n"
 msgstr "FINALIZING 时错误:\n"
 
-#: pg_backup_archiver.c:1670
+#: pg_backup_archiver.c:1705
 #, c-format
 msgid "Error from TOC entry %d; %u %u %s %s %s\n"
 msgstr "错误来自 TOC 记录 %d; %u %u %s %s %s\n"
 
-#: pg_backup_archiver.c:1743
+#: pg_backup_archiver.c:1778
 #, c-format
 msgid "bad dumpId\n"
 msgstr "错误的dumpId号\n"
 
-#: pg_backup_archiver.c:1764
+#: pg_backup_archiver.c:1799
 #, c-format
 msgid "bad table dumpId for TABLE DATA item\n"
 msgstr "TABLE DATA 项的表dumpId错误\n"
 
-#: pg_backup_archiver.c:1856
+#: pg_backup_archiver.c:1891
 #, c-format
 msgid "unexpected data offset flag %d\n"
 msgstr "意外的数据偏移标志 %d\n"
 
-#: pg_backup_archiver.c:1869
+#: pg_backup_archiver.c:1904
 #, c-format
 msgid "file offset in dump file is too large\n"
 msgstr "在转储文件中的文件偏移量太大\n"
 
-#: pg_backup_archiver.c:1982
+#: pg_backup_archiver.c:2017
 #, c-format
 msgid "attempting to ascertain archive format\n"
 msgstr "试图确认归档格式\n"
 
-#: pg_backup_archiver.c:2008 pg_backup_archiver.c:2018
+#: pg_backup_archiver.c:2043 pg_backup_archiver.c:2053
 #, c-format
 msgid "directory name too long: \"%s\"\n"
 msgstr "字典名字太长: \"%s\"\n"
 
-#: pg_backup_archiver.c:2026
+#: pg_backup_archiver.c:2061
 #, 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:2034 pg_backup_custom.c:181 pg_backup_custom.c:770
+#: pg_backup_archiver.c:2069 pg_backup_custom.c:181 pg_backup_custom.c:770
 #: pg_backup_directory.c:214 pg_backup_directory.c:402
 #, c-format
 msgid "could not open input file \"%s\": %s\n"
 msgstr "无法打开输入文件 \"%s\": %s\n"
 
-#: pg_backup_archiver.c:2042 pg_backup_custom.c:188
+#: pg_backup_archiver.c:2077 pg_backup_custom.c:188
 #, c-format
 msgid "could not open input file: %s\n"
 msgstr "无法打开输入文件: %s\n"
 
-#: pg_backup_archiver.c:2049
+#: pg_backup_archiver.c:2084
 #, c-format
 msgid "could not read input file: %s\n"
 msgstr "无法读取输入文件: %s\n"
 
-#: pg_backup_archiver.c:2051
+#: pg_backup_archiver.c:2086
 #, c-format
 msgid "input file is too short (read %lu, expected 5)\n"
 msgstr "输入文件太短 (读了 %lu, 预期 5)\n"
 
-#: pg_backup_archiver.c:2134
+#: pg_backup_archiver.c:2169
 #, c-format
 msgid "input file appears to be a text format dump. Please use psql.\n"
 msgstr "输入文件看起来像是文本格式的dump. 请使用psql.\n"
 
-#: pg_backup_archiver.c:2140
+#: pg_backup_archiver.c:2175
 #, c-format
 msgid "input file does not appear to be a valid archive (too short?)\n"
 msgstr "输入文件看上去不象有效的归档 (太短?)\n"
 
-#: pg_backup_archiver.c:2146
+#: pg_backup_archiver.c:2181
 #, c-format
 msgid "input file does not appear to be a valid archive\n"
 msgstr "输入文件看上去不象有效的归档\n"
 
-#: pg_backup_archiver.c:2166
+#: pg_backup_archiver.c:2201
 #, c-format
 msgid "could not close input file: %s\n"
 msgstr "无法关闭输入文件: %s\n"
 
-#: pg_backup_archiver.c:2183
+#: pg_backup_archiver.c:2218
 #, c-format
 msgid "allocating AH for %s, format %d\n"
 msgstr "为 %s 分配 AH, 格式 %d\n"
 
-#: pg_backup_archiver.c:2288
+#: pg_backup_archiver.c:2323
 #, c-format
 msgid "unrecognized file format \"%d\"\n"
 msgstr "不可识别的文件格式 \"%d\"\n"
 
-#: pg_backup_archiver.c:2438
+#: pg_backup_archiver.c:2473
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC\n"
 msgstr "记录 ID %d 超出范围 - 可能是损坏了的 TOC\n"
 
-#: pg_backup_archiver.c:2554
+#: pg_backup_archiver.c:2589
 #, c-format
 msgid "read TOC entry %d (ID %d) for %s %s\n"
 msgstr "为 %3$s %4$s 读取 TOC 记录 %1$d (ID %2$d)\n"
 
-#: pg_backup_archiver.c:2588
+#: pg_backup_archiver.c:2623
 #, c-format
 msgid "unrecognized encoding \"%s\"\n"
 msgstr "未知编码: \"%s\"\n"
 
-#: pg_backup_archiver.c:2593
+#: pg_backup_archiver.c:2628
 #, c-format
 msgid "invalid ENCODING item: %s\n"
 msgstr "无效的ENCODING成员:%s\n"
 
-#: pg_backup_archiver.c:2611
+#: pg_backup_archiver.c:2646
 #, c-format
 msgid "invalid STDSTRINGS item: %s\n"
 msgstr "无效的STDSTRINGS成员:%s\n"
 
-#: pg_backup_archiver.c:2834
+#: pg_backup_archiver.c:2661
+#, c-format
+#| msgid "service file \"%s\" not found\n"
+msgid "Schema \"%s\" not found.\n"
+msgstr "模式\"%s\"没有找到.\n"
+
+#: pg_backup_archiver.c:2668
+#, c-format
+#| msgid "service file \"%s\" not found\n"
+msgid "Table \"%s\" not found.\n"
+msgstr "表\"%s\"没有找到.\n"
+
+#: pg_backup_archiver.c:2675
+#, c-format
+#| msgid "option \"%s\" not found"
+msgid "Index \"%s\" not found.\n"
+msgstr "索引\"%s\"没有找到.\n"
+
+#: pg_backup_archiver.c:2682
+#, c-format
+#| msgid "option \"%s\" not found"
+msgid "Function \"%s\" not found.\n"
+msgstr "函数\"%s\"没有找到.\n"
+
+#: pg_backup_archiver.c:2689
+#, c-format
+#| msgid "service file \"%s\" not found\n"
+msgid "Trigger \"%s\" not found.\n"
+msgstr "触发器\"%s\"没有找到.\n"
+
+#: pg_backup_archiver.c:2920
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "无法设置会话用户为 \"%s\": %s"
 
-#: pg_backup_archiver.c:2866
+#: pg_backup_archiver.c:2952
 #, c-format
 msgid "could not set default_with_oids: %s"
 msgstr "无法设置 default_with_oids: %s"
 
-#: pg_backup_archiver.c:3004
+#: pg_backup_archiver.c:3092
 #, c-format
 msgid "could not set search_path to \"%s\": %s"
 msgstr "无法设置search_path值为\"%s\": %s"
 
-#: pg_backup_archiver.c:3065
+#: pg_backup_archiver.c:3154
 #, c-format
 msgid "could not set default_tablespace to %s: %s"
 msgstr "无法设置default_tablespace为 %s: %s"
 
-#: pg_backup_archiver.c:3152 pg_backup_archiver.c:3337
+#: pg_backup_archiver.c:3241 pg_backup_archiver.c:3428
 #, c-format
 msgid "WARNING: don't know how to set owner for object type %s\n"
 msgstr "警告: 不知道如何为对象类型%s设置属主\n"
 
-#: pg_backup_archiver.c:3390
+#: pg_backup_archiver.c:3481
 #, c-format
 msgid ""
 "WARNING: requested compression not available in this installation -- archive "
 "will be uncompressed\n"
 msgstr "警告: 所要求的压缩无法在本次安装中获取 - 归档将不被压缩\n"
 
-#: pg_backup_archiver.c:3429
+#: pg_backup_archiver.c:3520
 #, c-format
 msgid "did not find magic string in file header\n"
 msgstr "在文件头中没有找到魔术字串\n"
 
-#: pg_backup_archiver.c:3442
+#: pg_backup_archiver.c:3533
 #, c-format
 msgid "unsupported version (%d.%d) in file header\n"
 msgstr "在文件头中有不支持的版本 (%d.%d)\n"
 
-#: pg_backup_archiver.c:3447
+#: pg_backup_archiver.c:3538
 #, c-format
 msgid "sanity check on integer size (%lu) failed\n"
 msgstr "整数尺寸 (%lu) 的健全检查失败\n"
 
-#: pg_backup_archiver.c:3451
+#: pg_backup_archiver.c:3542
 #, c-format
 msgid ""
 "WARNING: archive was made on a machine with larger integers, some operations "
 "might fail\n"
 msgstr "警告: 归档不是在支持更大范围整数的主机上产生的, 有些操作可能失败\n"
 
-#: pg_backup_archiver.c:3461
+#: pg_backup_archiver.c:3552
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)\n"
 msgstr "预期的格式 (%d) 和在文件里找到的格式 (%d) 不同\n"
 
-#: pg_backup_archiver.c:3477
+#: pg_backup_archiver.c:3568
 #, c-format
 msgid ""
 "WARNING: archive is compressed, but this installation does not support "
 "compression -- no data will be available\n"
 msgstr "警告: 归档是压缩过的, 但是当前安装不支持压缩 - 数据将不可使用\n"
 
-#: pg_backup_archiver.c:3495
+#: pg_backup_archiver.c:3586
 #, c-format
 msgid "WARNING: invalid creation date in header\n"
 msgstr "警告: 在头中的创建日期无效\n"
 
-#: pg_backup_archiver.c:3571
+#: pg_backup_archiver.c:3661
 #, c-format
 msgid "entering restore_toc_entries_prefork\n"
 msgstr "正在进入restore_toc_entries_prefork\n"
 
-#: pg_backup_archiver.c:3615
+#: pg_backup_archiver.c:3705
 #, c-format
 msgid "processing item %d %s %s\n"
 msgstr "正在处理成员%d %s %s\n"
 
-#: pg_backup_archiver.c:3667
+#: pg_backup_archiver.c:3757
 #, c-format
 msgid "entering restore_toc_entries_parallel\n"
 msgstr "正在进入restore_toc_entries_parallel\n"
 
-#: pg_backup_archiver.c:3715
+#: pg_backup_archiver.c:3805
 #, c-format
 msgid "entering main parallel loop\n"
 msgstr "正在进入主并行循环\n"
 
-#: pg_backup_archiver.c:3726
+#: pg_backup_archiver.c:3816
 #, c-format
 msgid "skipping item %d %s %s\n"
 msgstr "忽略成员%d %s %s\n"
 
-#: pg_backup_archiver.c:3736
+#: pg_backup_archiver.c:3826
 #, c-format
 msgid "launching item %d %s %s\n"
 msgstr "正在启动成员%d %s %s\n"
 
-#: pg_backup_archiver.c:3794
+#: pg_backup_archiver.c:3884
 #, c-format
 msgid "finished main parallel loop\n"
 msgstr "已完成主并行循环\n"
 
-#: pg_backup_archiver.c:3803
+#: pg_backup_archiver.c:3893
 #, c-format
 msgid "entering restore_toc_entries_postfork\n"
 msgstr "正在进入restore_toc_entries_postfork\n"
 
-#: pg_backup_archiver.c:3821
+#: pg_backup_archiver.c:3911
 #, c-format
 msgid "processing missed item %d %s %s\n"
 msgstr "正在处理丢失的成员%d %s %s\n"
 
-#: pg_backup_archiver.c:3970
+#: pg_backup_archiver.c:4060
 #, c-format
 msgid "no item ready\n"
 msgstr "没有成员准备好\n"
 
-#: pg_backup_archiver.c:4020
+#: pg_backup_archiver.c:4109
 #, c-format
 msgid "could not find slot of finished worker\n"
 msgstr "无法找到已完成的工作进程的位置\n"
 
-#: pg_backup_archiver.c:4022
+#: pg_backup_archiver.c:4111
 #, c-format
 msgid "finished item %d %s %s\n"
 msgstr "已完成的成员%d %s %s\n"
 
-#: pg_backup_archiver.c:4035
+#: pg_backup_archiver.c:4124
 #, c-format
 msgid "worker process failed: exit code %d\n"
 msgstr "子进程已退出, 退出码为 %d\n"
 
-#: pg_backup_archiver.c:4197
+#: pg_backup_archiver.c:4286
 #, c-format
 msgid "transferring dependency %d -> %d to %d\n"
 msgstr "传输依赖关系从%d -> %d 到%d\n"
 
-#: pg_backup_archiver.c:4270
+#: pg_backup_archiver.c:4359
 #, c-format
 msgid "reducing dependencies for %d\n"
 msgstr "为%d减少依赖关系\n"
 
-#: pg_backup_archiver.c:4309
+#: pg_backup_archiver.c:4398
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data\n"
 msgstr "无法创建表\"%s\" , 这样无法恢复它的数据\n"
@@ -943,7 +979,7 @@ msgstr "无法创建表\"%s\" , 这样无法恢复它的数据\n"
 msgid "custom archiver"
 msgstr "客户归档"
 
-#: pg_backup_custom.c:384 pg_backup_null.c:149
+#: pg_backup_custom.c:384 pg_backup_null.c:150
 #, c-format
 msgid "invalid OID for large object\n"
 msgstr "大对象的无效 OID\n"
@@ -993,7 +1029,7 @@ msgid "unrecognized data block type %d while restoring archive\n"
 msgstr "恢复归档时碰到不识别的数据块类型 %d\n"
 
 #: pg_backup_custom.c:709 pg_backup_custom.c:759 pg_backup_custom.c:908
-#: pg_backup_tar.c:1083
+#: pg_backup_tar.c:1088
 #, c-format
 msgid "could not determine seek position in archive file: %s\n"
 msgstr "无法在归档文件中确定查找位置: %s\n"
@@ -1043,12 +1079,12 @@ msgstr "å½’æ¡£ (db)"
 msgid "could not get server_version from libpq\n"
 msgstr "无法从 libpq 获取服务器版本\n"
 
-#: pg_backup_db.c:55 pg_dumpall.c:1965
+#: pg_backup_db.c:55 pg_dumpall.c:1982
 #, c-format
 msgid "server version: %s; %s version: %s\n"
 msgstr "服务器版本: %s; %s 版本: %s\n"
 
-#: pg_backup_db.c:57 pg_dumpall.c:1967
+#: pg_backup_db.c:57 pg_dumpall.c:1984
 #, c-format
 msgid "aborting because of server version mismatch\n"
 msgstr "因为服务器版本不匹配而终止\n"
@@ -1058,82 +1094,82 @@ msgstr "因为服务器版本不匹配而终止\n"
 msgid "connecting to database \"%s\" as user \"%s\"\n"
 msgstr "以用户 \"%2$s\" 的身份联接到数据库 \"%1$s\"\n"
 
-#: pg_backup_db.c:133 pg_backup_db.c:185 pg_backup_db.c:232 pg_backup_db.c:278
-#: pg_dumpall.c:1795 pg_dumpall.c:1903
+#: pg_backup_db.c:135 pg_backup_db.c:183 pg_backup_db.c:243 pg_backup_db.c:285
+#: pg_dumpall.c:1812 pg_dumpall.c:1920
 msgid "Password: "
 msgstr "口令: "
 
-#: pg_backup_db.c:166
+#: pg_backup_db.c:164
 #, c-format
 msgid "failed to reconnect to database\n"
 msgstr "与数据库重新联接失败\n"
 
-#: pg_backup_db.c:171
+#: pg_backup_db.c:169
 #, c-format
 msgid "could not reconnect to database: %s"
 msgstr "无法与数据库重新联接: %s"
 
 # fe-misc.c:450 fe-misc.c:642 fe-misc.c:798
-#: pg_backup_db.c:187
+#: pg_backup_db.c:185
 #, c-format
 msgid "connection needs password\n"
 msgstr "在连接时需要输入口令\n"
 
-#: pg_backup_db.c:228
+#: pg_backup_db.c:237
 #, c-format
 msgid "already connected to a database\n"
 msgstr "已经与一个数据库联接\n"
 
-#: pg_backup_db.c:270
+#: pg_backup_db.c:277
 #, c-format
 msgid "failed to connect to database\n"
 msgstr "与数据库联接失败\n"
 
-#: pg_backup_db.c:289
+#: pg_backup_db.c:294
 #, c-format
 msgid "connection to database \"%s\" failed: %s"
 msgstr "与数据库 \"%s\" 联接失败: %s"
 
-#: pg_backup_db.c:344
+#: pg_backup_db.c:362
 #, c-format
 msgid "query failed: %s"
 msgstr "查询失败: %s"
 
-#: pg_backup_db.c:346
+#: pg_backup_db.c:364
 #, c-format
 msgid "query was: %s\n"
 msgstr "查询是: %s\n"
 
-#: pg_backup_db.c:410
+#: pg_backup_db.c:428
 #, c-format
 msgid "%s: %s    Command was: %s\n"
 msgstr "%s: %s    命令是: %s\n"
 
-#: pg_backup_db.c:466 pg_backup_db.c:540 pg_backup_db.c:547
+#: pg_backup_db.c:484 pg_backup_db.c:558 pg_backup_db.c:565
 msgid "could not execute query"
 msgstr "无法执行查询"
 
-#: pg_backup_db.c:519
+#: pg_backup_db.c:537
 #, c-format
 msgid "error returned by PQputCopyData: %s"
 msgstr "PQputCopyData返回错误: %s"
 
-#: pg_backup_db.c:568
+#: pg_backup_db.c:586
 #, c-format
 msgid "error returned by PQputCopyEnd: %s"
 msgstr "PQputCopyEnd返回错误: %s"
 
 # describe.c:933
-#: pg_backup_db.c:574
+#: pg_backup_db.c:592
 #, c-format
 msgid "COPY failed for table \"%s\": %s"
 msgstr "复制表 \"%s\"失败: %s"
 
-#: pg_backup_db.c:587
+#: pg_backup_db.c:605
 msgid "could not start database transaction"
 msgstr "无法开始数据库事务"
 
-#: pg_backup_db.c:595
+#: pg_backup_db.c:613
 msgid "could not commit database transaction"
 msgstr "无法提交数据库事务"
 
@@ -1202,108 +1238,108 @@ msgstr "文件名超长: \"%s\"\n"
 msgid "error during backup\n"
 msgstr "在备份过程中出错\n"
 
-#: pg_backup_null.c:74
+#: pg_backup_null.c:75
 #, c-format
 msgid "this format cannot be read\n"
 msgstr "无法读取这个格式\n"
 
 #. translator: this is a module name
-#: pg_backup_tar.c:101
+#: pg_backup_tar.c:102
 msgid "tar archiver"
 msgstr "tar å½’æ¡£"
 
-#: pg_backup_tar.c:182
+#: pg_backup_tar.c:183
 #, c-format
 msgid "could not open TOC file \"%s\" for output: %s\n"
 msgstr "无法为输出打开TOC文件\"%s\": %s\n"
 
-#: pg_backup_tar.c:190
+#: pg_backup_tar.c:191
 #, c-format
 msgid "could not open TOC file for output: %s\n"
 msgstr "无法为输出打开 TOC 文件: %s\n"
 
-#: pg_backup_tar.c:211 pg_backup_tar.c:367
+#: pg_backup_tar.c:212 pg_backup_tar.c:368
 #, c-format
 msgid "compression is not supported by tar archive format\n"
 msgstr "不支持tar归档格式的压缩\n"
 
-#: pg_backup_tar.c:219
+#: pg_backup_tar.c:220
 #, c-format
 msgid "could not open TOC file \"%s\" for input: %s\n"
 msgstr "无法为输入打开TOC文件\"%s\": %s\n"
 
-#: pg_backup_tar.c:226
+#: pg_backup_tar.c:227
 #, c-format
 msgid "could not open TOC file for input: %s\n"
 msgstr "无法为输入打开 TOC 文件: %s\n"
 
-#: pg_backup_tar.c:353
+#: pg_backup_tar.c:354
 #, c-format
 msgid "could not find file \"%s\" in archive\n"
 msgstr "无法在归档中找到文件\"%s\"\n"
 
-#: pg_backup_tar.c:419
+#: pg_backup_tar.c:420
 #, c-format
 msgid "could not generate temporary file name: %s\n"
 msgstr "无法生成临时文件名: %s\n"
 
-#: pg_backup_tar.c:430
+#: pg_backup_tar.c:431
 #, c-format
 msgid "could not open temporary file\n"
 msgstr "无法打开临时文件\n"
 
-#: pg_backup_tar.c:457
+#: pg_backup_tar.c:458
 #, c-format
 msgid "could not close tar member\n"
 msgstr "无法关闭 tar 成员\n"
 
-#: pg_backup_tar.c:570
+#: pg_backup_tar.c:571
 #, c-format
 msgid "internal error -- neither th nor fh specified in tarReadRaw()\n"
 msgstr "内部错误 -- 在 tarReadRaw() 里既未声明 th 也未声明 fh\n"
 
-#: pg_backup_tar.c:693
+#: pg_backup_tar.c:694
 #, c-format
 msgid "unexpected COPY statement syntax: \"%s\"\n"
 msgstr "意外的COPY语句语法: \"%s\"\n"
 
-#: pg_backup_tar.c:955
+#: pg_backup_tar.c:960
 #, c-format
 msgid "invalid OID for large object (%u)\n"
 msgstr "用于大对象的非法 OID (%u)\n"
 
 # command.c:1148
-#: pg_backup_tar.c:1099
+#: pg_backup_tar.c:1104
 #, c-format
 msgid "could not close temporary file: %s\n"
 msgstr "无法关闭临时文件: %s\n"
 
-#: pg_backup_tar.c:1109
+#: pg_backup_tar.c:1114
 #, c-format
 msgid "actual file length (%s) does not match expected (%s)\n"
 msgstr "实际文件长度 (%s) 不匹配预期的长度 (%s)\n"
 
-#: pg_backup_tar.c:1146
+#: pg_backup_tar.c:1151
 #, c-format
 msgid "moving from position %s to next member at file position %s\n"
 msgstr "从位置 %s 移动到文件位置 %s 的下一个成员\n"
 
-#: pg_backup_tar.c:1157
+#: pg_backup_tar.c:1162
 #, c-format
 msgid "now at file position %s\n"
 msgstr "现在在文件的位置 %s\n"
 
-#: pg_backup_tar.c:1166 pg_backup_tar.c:1196
+#: pg_backup_tar.c:1171 pg_backup_tar.c:1201
 #, c-format
 msgid "could not find header for file \"%s\" in tar archive\n"
 msgstr "无法在tar归档中为文件\"%s\"找到标题头\n"
 
-#: pg_backup_tar.c:1180
+#: pg_backup_tar.c:1185
 #, c-format
 msgid "skipping tar member %s\n"
 msgstr "忽略 tar 成员 %s\n"
 
-#: pg_backup_tar.c:1184
+#: pg_backup_tar.c:1189
 #, c-format
 msgid ""
 "restoring data out of order is not supported in this archive format: \"%s\" "
@@ -1312,19 +1348,18 @@ msgstr ""
 "这个归档格式里不支持不按照顺序转储数据: 要求\"%s\" ,但它在归档文件里位于\"%s"
 "\"前面.\n"
 
-#: pg_backup_tar.c:1230
+#: pg_backup_tar.c:1235
 #, c-format
 msgid "incomplete tar header found (%lu byte)\n"
 msgid_plural "incomplete tar header found (%lu bytes)\n"
 msgstr[0] "找到未完成的tar文件头(%lu个字节)\n"
 
-#: pg_backup_tar.c:1271
+#: pg_backup_tar.c:1276
 #, c-format
-#| msgid "TOC Entry %s at %s (length %lu, checksum %d)\n"
 msgid "TOC Entry %s at %s (length %s, checksum %d)\n"
 msgstr "TOC项%s位于%s(长度为%s,校验和为%d)\n"
 
-#: pg_backup_tar.c:1282
+#: pg_backup_tar.c:1287
 #, c-format
 msgid ""
 "corrupt tar header found in %s (expected %d, computed %d) file position %s\n"
@@ -1336,9 +1371,9 @@ msgstr ""
 msgid "%s: unrecognized section name: \"%s\"\n"
 msgstr "%s: 无法识别的节名称: \"%s\"\n"
 
-#: pg_backup_utils.c:56 pg_dump.c:521 pg_dump.c:538 pg_dumpall.c:300
-#: pg_dumpall.c:310 pg_dumpall.c:320 pg_dumpall.c:329 pg_dumpall.c:345
-#: pg_dumpall.c:403 pg_restore.c:277 pg_restore.c:293 pg_restore.c:305
+#: pg_backup_utils.c:56 pg_dump.c:534 pg_dump.c:551 pg_dumpall.c:301
+#: pg_dumpall.c:311 pg_dumpall.c:321 pg_dumpall.c:330 pg_dumpall.c:346
+#: pg_dumpall.c:404 pg_restore.c:279 pg_restore.c:295 pg_restore.c:307
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "输入 \"%s --help\" 获取更多的信息.\n"
@@ -1348,59 +1383,54 @@ msgstr "输入 \"%s --help\" 获取更多的信息.\n"
 msgid "out of on_exit_nicely slots\n"
 msgstr "超出on_exit_nicely槽\n"
 
-#: pg_dump.c:491
+#: pg_dump.c:504
 #, c-format
 msgid "compression level must be in range 0..9\n"
 msgstr "压缩级别必须位于0..9的范围内\n"
 
-#: pg_dump.c:536 pg_dumpall.c:308 pg_restore.c:291
+#: pg_dump.c:549 pg_dumpall.c:309 pg_restore.c:293
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: pg_dump.c:549
+#: pg_dump.c:562
 #, c-format
 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:555
+#: pg_dump.c:568
 #, 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:561
+#: pg_dump.c:574
 #, 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:562
+#: pg_dump.c:575
 #, c-format
 msgid "(The INSERT command cannot set OIDs.)\n"
 msgstr "(INSERT 命令无法设置对象标识(oid).)\n"
 
-#: pg_dump.c:567
+#: pg_dump.c:580
 #, c-format
 msgid "option --if-exists requires option -c/--clean\n"
 msgstr "选项 --if-exists 需要选项 -c/ --clean \n"
 
-#: pg_dump.c:595
+#: pg_dump.c:608
 #, c-format
 msgid "%s: invalid number of parallel jobs\n"
 msgstr "%s: 无效的并行工作数\n"
 
 # input.c:213
-#: pg_dump.c:599
+#: pg_dump.c:612
 #, c-format
 msgid "parallel backup only supported by the directory format\n"
 msgstr "并行备份只被目录格式支持\n"
 
-#: pg_dump.c:609
-#, c-format
-msgid "could not open output file \"%s\" for writing\n"
-msgstr "无法打开输出文件 \"%s\" 用于写出\n"
-
-#: pg_dump.c:668
+#: pg_dump.c:681
 #, c-format
 msgid ""
 "Synchronized snapshots are not supported by this server version.\n"
@@ -1411,30 +1441,29 @@ msgstr ""
 "如果不需要同步快照功能,\n"
 "可以带参数 --no-synchronized-snapshots运行.\n"
 
-#: pg_dump.c:675
+#: pg_dump.c:688
 #, c-format
-#| msgid "No per-database role settings support in this server version.\n"
 msgid "Exported snapshots are not supported by this server version.\n"
 msgstr "在这个版本的服务器中不支持导出的快照。\n"
 
-#: pg_dump.c:686
+#: pg_dump.c:699
 #, c-format
 msgid "last built-in OID is %u\n"
 msgstr "最后的内置 OID 是 %u\n"
 
 # describe.c:1542
-#: pg_dump.c:695
+#: pg_dump.c:709
 #, c-format
 msgid "No matching schemas were found\n"
 msgstr "没有找到符合的关联。\n"
 
 # describe.c:1542
-#: pg_dump.c:707
+#: pg_dump.c:723
 #, c-format
 msgid "No matching tables were found\n"
 msgstr "没有找到符合的关联。\n"
 
-#: pg_dump.c:861
+#: pg_dump.c:882
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1443,17 +1472,17 @@ msgstr ""
 "%s 把一个数据库转储为纯文本文件或者是其它格式.\n"
 "\n"
 
-#: pg_dump.c:862 pg_dumpall.c:548 pg_restore.c:432
+#: pg_dump.c:883 pg_dumpall.c:549 pg_restore.c:437
 #, c-format
 msgid "Usage:\n"
 msgstr "用法:\n"
 
-#: pg_dump.c:863
+#: pg_dump.c:884
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [选项]... [数据库名字]\n"
 
-#: pg_dump.c:865 pg_dumpall.c:551 pg_restore.c:435
+#: pg_dump.c:886 pg_dumpall.c:552 pg_restore.c:440
 #, c-format
 msgid ""
 "\n"
@@ -1462,12 +1491,12 @@ msgstr ""
 "\n"
 "一般选项:\n"
 
-#: pg_dump.c:866
+#: pg_dump.c:887
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=FILENAME          输出文件或目录名\n"
 
-#: pg_dump.c:867
+#: pg_dump.c:888
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1476,39 +1505,39 @@ msgstr ""
 "  -F, --format=c|d|t|p         输出文件格式 (定制, 目录, tar)\n"
 "                               明文 (默认值))\n"
 
-#: pg_dump.c:869
+#: pg_dump.c:890
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr "  -j, --jobs=NUM               执行多个并行任务进行备份转储工作\n"
 
-#: pg_dump.c:870
+#: pg_dump.c:891
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose                详细模式\n"
 
-#: pg_dump.c:871 pg_dumpall.c:553
+#: pg_dump.c:892 pg_dumpall.c:554
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                输出版本信息,然后退出\n"
 
-#: pg_dump.c:872
+#: pg_dump.c:893
 #, c-format
 msgid ""
 "  -Z, --compress=0-9           compression level for compressed formats\n"
 msgstr "  -Z, --compress=0-9           被压缩格式的压缩级别\n"
 
-#: pg_dump.c:873 pg_dumpall.c:554
+#: pg_dump.c:894 pg_dumpall.c:555
 #, c-format
 msgid ""
 "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
 msgstr "  --lock-wait-timeout=TIMEOUT  在等待表锁超时后操作失败\n"
 
-#: pg_dump.c:874 pg_dumpall.c:555
+#: pg_dump.c:895 pg_dumpall.c:556
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                   显示此帮助, 然后退出\n"
 
-#: pg_dump.c:876 pg_dumpall.c:556
+#: pg_dump.c:897 pg_dumpall.c:557
 #, c-format
 msgid ""
 "\n"
@@ -1517,17 +1546,17 @@ msgstr ""
 "\n"
 "控制输出内容选项:\n"
 
-#: pg_dump.c:877 pg_dumpall.c:557
+#: pg_dump.c:898 pg_dumpall.c:558
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              只转储数据,不包括模式\n"
 
-#: pg_dump.c:878
+#: pg_dump.c:899
 #, c-format
 msgid "  -b, --blobs                  include large objects in dump\n"
 msgstr "  -b, --blobs                  在转储中包括大对象\n"
 
-#: pg_dump.c:879 pg_restore.c:446
+#: pg_dump.c:900 pg_restore.c:451
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) database objects before "
@@ -1535,33 +1564,33 @@ msgid ""
 msgstr ""
 "  -c, --clean                  在重新创建之前,先清除(删除)数据库对象\n"
 
-#: pg_dump.c:880
+#: pg_dump.c:901
 #, c-format
 msgid ""
 "  -C, --create                 include commands to create database in dump\n"
 msgstr "  -C, --create                 在转储中包括命令,以便创建数据库\n"
 
-#: pg_dump.c:881
+#: pg_dump.c:902
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=ENCODING      转储以ENCODING形式编码的数据\n"
 
-#: pg_dump.c:882
+#: pg_dump.c:903
 #, c-format
 msgid "  -n, --schema=SCHEMA          dump the named schema(s) only\n"
 msgstr "  -n, --schema=SCHEMA          只转储指定名称的模式\n"
 
-#: pg_dump.c:883
+#: pg_dump.c:904
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA  do NOT dump the named schema(s)\n"
 msgstr "  -N, --exclude-schema=SCHEMA  不转储已命名的模式\n"
 
-#: pg_dump.c:884 pg_dumpall.c:560
+#: pg_dump.c:905 pg_dumpall.c:561
 #, c-format
 msgid "  -o, --oids                   include OIDs in dump\n"
 msgstr "  -o, --oids                   在转储中包括 OID\n"
 
-#: pg_dump.c:885
+#: pg_dump.c:906
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1570,46 +1599,46 @@ msgstr ""
 "  -O, --no-owner               在明文格式中, 忽略恢复对象所属者\n"
 "\n"
 
-#: pg_dump.c:887 pg_dumpall.c:563
+#: pg_dump.c:908 pg_dumpall.c:564
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            只转储模式, 不包括数据\n"
 
-#: pg_dump.c:888
+#: pg_dump.c:909
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use in plain-text "
 "format\n"
 msgstr "  -S, --superuser=NAME         在明文格式中使用指定的超级用户名\n"
 
-#: pg_dump.c:889
+#: pg_dump.c:910
 #, c-format
 msgid "  -t, --table=TABLE            dump the named table(s) only\n"
 msgstr "  -t, --table=TABLE            只转储指定名称的表\n"
 
-#: pg_dump.c:890
+#: pg_dump.c:911
 #, c-format
 msgid "  -T, --exclude-table=TABLE    do NOT dump the named table(s)\n"
 msgstr "  -T, --exclude-table=TABLE    不转储指定名称的表\n"
 
-#: pg_dump.c:891 pg_dumpall.c:566
+#: pg_dump.c:912 pg_dumpall.c:567
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          不要转储权限 (grant/revoke)\n"
 
-#: pg_dump.c:892 pg_dumpall.c:567
+#: pg_dump.c:913 pg_dumpall.c:568
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             只能由升级工具使用\n"
 
-#: pg_dump.c:893 pg_dumpall.c:568
+#: pg_dump.c:914 pg_dumpall.c:569
 #, c-format
 msgid ""
 "  --column-inserts             dump data as INSERT commands with column "
 "names\n"
 msgstr "  --column-inserts             以带有列名的INSERT命令形式转储数据\n"
 
-#: pg_dump.c:894 pg_dumpall.c:569
+#: pg_dump.c:915 pg_dumpall.c:570
 #, c-format
 msgid ""
 "  --disable-dollar-quoting     disable dollar quoting, use SQL standard "
@@ -1617,13 +1646,13 @@ msgid ""
 msgstr ""
 "  --disable-dollar-quoting     取消美元 (符号) 引号, 使用 SQL 标准引号\n"
 
-#: pg_dump.c:895 pg_dumpall.c:570 pg_restore.c:462
+#: pg_dump.c:916 pg_dumpall.c:571 pg_restore.c:467
 #, c-format
 msgid ""
 "  --disable-triggers           disable triggers during data-only restore\n"
 msgstr "  --disable-triggers           在只恢复数据的过程中禁用触发器\n"
 
-#: pg_dump.c:896
+#: pg_dump.c:917
 #, c-format
 msgid ""
 "  --enable-row-security        enable row security (dump only content user "
@@ -1632,18 +1661,18 @@ msgid ""
 msgstr ""
 "  --enable-row-security        启用行安全性(只转储用户能够访问的内容)\n"
 
-#: pg_dump.c:898
+#: pg_dump.c:919
 #, c-format
 msgid ""
 "  --exclude-table-data=TABLE   do NOT dump data for the named table(s)\n"
 msgstr "  --exclude-table-data=TABLE   不转储指定名称的表中的数据\n"
 
-#: pg_dump.c:899 pg_dumpall.c:571 pg_restore.c:464
+#: pg_dump.c:920 pg_dumpall.c:572 pg_restore.c:469
 #, c-format
 msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
 msgstr "  --if-exists              当删除对象时使用IF EXISTS\n"
 
-#: pg_dump.c:900 pg_dumpall.c:572
+#: pg_dump.c:921 pg_dumpall.c:573
 #, c-format
 msgid ""
 "  --inserts                    dump data as INSERT commands, rather than "
@@ -1651,35 +1680,35 @@ msgid ""
 msgstr ""
 "  --inserts                    以INSERT命令,而不是COPY命令的形式转储数据\n"
 
-#: pg_dump.c:901 pg_dumpall.c:573
+#: pg_dump.c:922 pg_dumpall.c:574
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr "  --no-security-labels         不转储安全标签的分配\n"
 
-#: pg_dump.c:902
+#: pg_dump.c:923
 #, c-format
 msgid ""
 "  --no-synchronized-snapshots  do not use synchronized snapshots in parallel "
 "jobs\n"
 msgstr "  --no-synchronized-snapshots  在并行工作集中不使用同步快照\n"
 
-#: pg_dump.c:903 pg_dumpall.c:574
+#: pg_dump.c:924 pg_dumpall.c:575
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr "  --no-tablespaces             不转储表空间分配信息\n"
 
-#: pg_dump.c:904 pg_dumpall.c:575
+#: pg_dump.c:925 pg_dumpall.c:576
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr "  --no-unlogged-table-data     不转储没有日志的表数据\n"
 
-#: pg_dump.c:905 pg_dumpall.c:576
+#: pg_dump.c:926 pg_dumpall.c:577
 #, c-format
 msgid ""
 "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
 msgstr "  --quote-all-identifiers      所有标识符加引号,即使不是关键字\n"
 
-#: pg_dump.c:906
+#: pg_dump.c:927
 #, c-format
 msgid ""
 "  --section=SECTION            dump named section (pre-data, data, or post-"
@@ -1687,19 +1716,33 @@ msgid ""
 msgstr ""
 "  --section=SECTION            备份命名的节 (数据前, 数据, 及 数据后)\n"
 
-#: pg_dump.c:907
+#: pg_dump.c:928
 #, c-format
 msgid ""
 "  --serializable-deferrable    wait until the dump can run without "
 "anomalies\n"
 msgstr "  --serializable-deferrable   等到备份可以无异常运行\n"
 
-#: pg_dump.c:908
+#: pg_dump.c:929
 #, c-format
 msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr "  --snapshot=SNAPSHOT          为转储使用给定的快照\n"
 
-#: pg_dump.c:909 pg_dumpall.c:577 pg_restore.c:470
+#: pg_dump.c:930 pg_restore.c:475
+#, c-format
+#| msgid ""
+#| "  --interactive             prompt for missing role name and attributes "
+#| "rather\n"
+#| "                            than using defaults\n"
+msgid ""
+"  --strict-names               require table and/or schema include patterns "
+"to\n"
+"                               match at least one entity each\n"
+msgstr ""
+"  --strict-names               要求每个表和/或schema包括模式以匹配至少一个实"
+"体\n"
+
+#: pg_dump.c:932 pg_dumpall.c:578 pg_restore.c:477
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1711,7 +1754,7 @@ msgstr ""
 "                               使用 SESSION AUTHORIZATION 命令代替\n"
 "                ALTER OWNER 命令来设置所有权\n"
 
-#: pg_dump.c:913 pg_dumpall.c:581 pg_restore.c:474
+#: pg_dump.c:936 pg_dumpall.c:582 pg_restore.c:481
 #, c-format
 msgid ""
 "\n"
@@ -1720,44 +1763,44 @@ msgstr ""
 "\n"
 "联接选项:\n"
 
-#: pg_dump.c:914
+#: pg_dump.c:937
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=DBNAME       对数据库 DBNAME备份\n"
 
-#: pg_dump.c:915 pg_dumpall.c:583 pg_restore.c:475
+#: pg_dump.c:938 pg_dumpall.c:584 pg_restore.c:482
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr "  -h, --host=主机名        数据库服务器的主机名或套接字目录\n"
 
-#: pg_dump.c:916 pg_dumpall.c:585 pg_restore.c:476
+#: pg_dump.c:939 pg_dumpall.c:586 pg_restore.c:483
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=端口号        数据库服务器的端口号\n"
 
-#: pg_dump.c:917 pg_dumpall.c:586 pg_restore.c:477
+#: pg_dump.c:940 pg_dumpall.c:587 pg_restore.c:484
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=名字      以指定的数据库用户联接\n"
 
-#: pg_dump.c:918 pg_dumpall.c:587 pg_restore.c:478
+#: pg_dump.c:941 pg_dumpall.c:588 pg_restore.c:485
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        永远不提示输入口令\n"
 
-#: pg_dump.c:919 pg_dumpall.c:588 pg_restore.c:479
+#: pg_dump.c:942 pg_dumpall.c:589 pg_restore.c:486
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
 "automatically)\n"
 msgstr "  -W, --password           强制口令提示 (自动)\n"
 
-#: pg_dump.c:920 pg_dumpall.c:589
+#: pg_dump.c:943 pg_dumpall.c:590
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ROLENAME          在转储前运行SET ROLE\n"
 
-#: pg_dump.c:922
+#: pg_dump.c:945
 #, c-format
 msgid ""
 "\n"
@@ -1770,176 +1813,176 @@ msgstr ""
 "的数值.\n"
 "\n"
 
-#: pg_dump.c:924 pg_dumpall.c:593 pg_restore.c:486
+#: pg_dump.c:947 pg_dumpall.c:594 pg_restore.c:493
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "报告错误至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_dump.c:943
+#: pg_dump.c:967
 #, c-format
 msgid "invalid client encoding \"%s\" specified\n"
 msgstr "声明了无效的输出格式 \"%s\"\n"
 
-#: pg_dump.c:1128
+#: pg_dump.c:1152
 #, c-format
 msgid "invalid output format \"%s\" specified\n"
 msgstr "声明了非法的输出格式 \"%s\"\n"
 
-#: pg_dump.c:1150
+#: pg_dump.c:1175
 #, c-format
 msgid "server version must be at least 7.3 to use schema selection switches\n"
 msgstr "服务器版本必须至少是7.3才能使用模式选择转换\n"
 
-#: pg_dump.c:1439
+# describe.c:1542
+#: pg_dump.c:1193 pg_dump.c:1246
+#, c-format
+#| msgid "No matching tables were found\n"
+msgid "No matching table(s) were found for pattern \"%s\"\n"
+msgstr "没有为\"%s\"模式找到匹配的表\n"
+
+#: pg_dump.c:1596
 #, c-format
-#| msgid "dumping contents of table %s\n"
 msgid "dumping contents of table \"%s.%s\"\n"
 msgstr "正在转储表\"%s.%s\"的内容\n"
 
-#: pg_dump.c:1563
+#: pg_dump.c:1720
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed.\n"
 msgstr "转储表 \"%s\" 的内容的 SQL 命令失败: PQendcopy() 失败.\n"
 
-#: pg_dump.c:1564 pg_dump.c:1574
+#: pg_dump.c:1721 pg_dump.c:1731
 #, c-format
 msgid "Error message from server: %s"
 msgstr "来自服务器的错误信息: %s"
 
-#: pg_dump.c:1565 pg_dump.c:1575
+#: pg_dump.c:1722 pg_dump.c:1732
 #, c-format
 msgid "The command was: %s\n"
 msgstr "命令是: %s\n"
 
-#: pg_dump.c:1573
+#: pg_dump.c:1730
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed.\n"
 msgstr "转储表 \"%s\" 的内容失败: PQgetResult() 失败.\n"
 
-#: pg_dump.c:2212
+#: pg_dump.c:2374
 #, c-format
 msgid "saving database definition\n"
 msgstr "保存数据库定义\n"
 
-#: pg_dump.c:2545
+#: pg_dump.c:2707
 #, c-format
 msgid "saving encoding = %s\n"
 msgstr "正在保存encoding = %s\n"
 
-#: pg_dump.c:2572
+#: pg_dump.c:2734
 #, c-format
 msgid "saving standard_conforming_strings = %s\n"
 msgstr "正在保存standard_conforming_strings = %s\n"
 
-#: pg_dump.c:2605
+#: pg_dump.c:2774
 #, c-format
 msgid "reading large objects\n"
 msgstr "正在读取大对象\n"
 
-#: pg_dump.c:2737
+#: pg_dump.c:2960
 #, c-format
 msgid "saving large objects\n"
 msgstr "保存大对象\n"
 
-#: pg_dump.c:2784
+#: pg_dump.c:3007
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "在读取大对象时发生错误%u: %s"
 
-#: pg_dump.c:2836
+#: pg_dump.c:3059
 #, c-format
-#| msgid "reading indexes for table \"%s\"\n"
 msgid "reading row security enabled for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"读取行安全性启用状态\n"
 
-#: pg_dump.c:2867
+#: pg_dump.c:3090
 #, c-format
-#| msgid "reading indexes for table \"%s\"\n"
 msgid "reading policies for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"读取策略\n"
 
-#: pg_dump.c:2997
+#: pg_dump.c:3223
 #, c-format
-#| msgid "unexpected message type \"%c\""
 msgid "unexpected policy command type: \"%s\"\n"
 msgstr "意外的策略命令类型:\"%s\"\n"
 
-#: pg_dump.c:3212
+#: pg_dump.c:3442
 #, c-format
 msgid "could not find parent extension for %s\n"
 msgstr "无法找到父扩展%s\n"
 
-#: pg_dump.c:3315
+#: pg_dump.c:3610
 #, c-format
 msgid "WARNING: owner of schema \"%s\" appears to be invalid\n"
 msgstr "警告: 模式 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:3358
+#: pg_dump.c:3653
 #, c-format
 msgid "schema with OID %u does not exist\n"
 msgstr "OID %u 的模式不存在\n"
 
-#: pg_dump.c:3708
+#: pg_dump.c:4068
 #, c-format
 msgid "WARNING: owner of data type \"%s\" appears to be invalid\n"
 msgstr "警告: 数据类型 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:3819
+#: pg_dump.c:4179
 #, c-format
 msgid "WARNING: owner of operator \"%s\" appears to be invalid\n"
 msgstr "警告: 操作符 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:4078
+#: pg_dump.c:4512
 #, c-format
 msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n"
 msgstr "警告: 操作符表 \"%s\" 无效\n"
 
-#: pg_dump.c:4166
+#: pg_dump.c:4600
 #, c-format
 msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n"
 msgstr "警告: 操作符 \"%s\" 的所有者无效\n"
 
-#: pg_dump.c:4304
+#: pg_dump.c:4805
 #, c-format
 msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n"
 msgstr "警告: 聚集函数 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:4486
+#: pg_dump.c:5074
 #, c-format
 msgid "WARNING: owner of function \"%s\" appears to be invalid\n"
 msgstr "警告: 函数 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:5173
+#: pg_dump.c:5874
 #, c-format
 msgid "WARNING: owner of table \"%s\" appears to be invalid\n"
 msgstr "警告: 数据表 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:5325
+#: pg_dump.c:6026
 #, c-format
-#| msgid "reading indexes for table \"%s\"\n"
 msgid "reading indexes for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"读取索引\n"
 
-#: pg_dump.c:5692
+#: pg_dump.c:6394
 #, c-format
-#| msgid "reading foreign key constraints for table \"%s\"\n"
 msgid "reading foreign key constraints for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"读取外键约束\n"
 
-#: pg_dump.c:5938
+#: pg_dump.c:6640
 #, c-format
 msgid ""
 "failed sanity check, parent table OID %u of pg_rewrite entry OID %u not "
 "found\n"
 msgstr "健全检查失败,pg_rewrite项OID %2$u 的源表 OID%1$u 未找到\n"
 
-#: pg_dump.c:6031
+#: pg_dump.c:6734
 #, c-format
-#| msgid "reading triggers for table \"%s\"\n"
 msgid "reading triggers for table \"%s.%s\"\n"
 msgstr "为表\"%s.%s\"读取触发器\n"
 
-#: pg_dump.c:6193
+#: pg_dump.c:6899
 #, c-format
 msgid ""
 "query produced null referenced table name for foreign key trigger \"%s\" on "
@@ -1948,203 +1991,230 @@ msgstr ""
 "对在表 \"%2$s\" 上的外键触发器 \"%1$s\" 上的查询生成了 NULL 个引用表(表的 "
 "OID 是: %3$u)\n"
 
-#: pg_dump.c:6765
+#: pg_dump.c:7548
 #, c-format
-#| msgid "finding the columns and types of table \"%s\"\n"
 msgid "finding the columns and types of table \"%s.%s\"\n"
 msgstr "正在查找表\"%s.%s\"的列和类型\n"
 
-#: pg_dump.c:6944
+#: pg_dump.c:7727
 #, c-format
 msgid "invalid column numbering in table \"%s\"\n"
 msgstr "在表 \"%s\" 中的字段个数是无效的\n"
 
-#: pg_dump.c:6978
+#: pg_dump.c:7761
 #, c-format
-#| msgid "finding default expressions of table \"%s\"\n"
 msgid "finding default expressions of table \"%s.%s\"\n"
 msgstr "正在查找表\"%s.%s\"的默认表达式\n"
 
-#: pg_dump.c:7031
+#: pg_dump.c:7814
 #, c-format
 msgid "invalid adnum value %d for table \"%s\"\n"
 msgstr "表 \"%2$s\" 的无效 adnum 值 %1$d\n"
 
-#: pg_dump.c:7103
+#: pg_dump.c:7886
 #, c-format
-#| msgid "finding check constraints for table \"%s\"\n"
 msgid "finding check constraints for table \"%s.%s\"\n"
 msgstr "正在查找表\"%s.%s\"的检查约束\n"
 
-#: pg_dump.c:7199
+#: pg_dump.c:7982
 #, 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"
 msgstr[0] "在表\"%2$s\"上期望有%1$d个检查约束,但是找到了%3$d个\n"
 
-#: pg_dump.c:7203
+#: pg_dump.c:7986
 #, c-format
 msgid "(The system catalogs might be corrupted.)\n"
 msgstr "(系统表可能损坏了.)\n"
 
-#: pg_dump.c:8580
+#: pg_dump.c:9506
 #, c-format
 msgid "WARNING: typtype of data type \"%s\" appears to be invalid\n"
 msgstr "警告: 数据类型 \"%s\" 的所有者看起来无效\n"
 
-#: pg_dump.c:10106
+#: pg_dump.c:11048
 #, c-format
 msgid "WARNING: bogus value in proargmodes array\n"
 msgstr "警告: 无法分析 proargmodes 数组\n"
 
-#: pg_dump.c:10457
+#: pg_dump.c:11426
 #, c-format
 msgid "WARNING: could not parse proallargtypes array\n"
 msgstr "警告: 无法分析 proallargtypes 数组\n"
 
-#: pg_dump.c:10473
+#: pg_dump.c:11442
 #, c-format
 msgid "WARNING: could not parse proargmodes array\n"
 msgstr "警告: 无法分析 proargmodes 数组\n"
 
-#: pg_dump.c:10487
+#: pg_dump.c:11456
 #, c-format
 msgid "WARNING: could not parse proargnames array\n"
 msgstr "警告: 无法分析 proargnames 数组\n"
 
-#: pg_dump.c:10498
+#: pg_dump.c:11467
 #, c-format
 msgid "WARNING: could not parse proconfig array\n"
 msgstr "警告: 无法解析 proconfig 数组\n"
 
-#: pg_dump.c:10569
+#: pg_dump.c:11538
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "函数 \"%s\" 的意外正向易失值\n"
 
-#: pg_dump.c:10745
+#: pg_dump.c:11582
+#, c-format
+#| msgid "unrecognized provolatile value for function \"%s\"\n"
+msgid "unrecognized proparallel value for function \"%s\"\n"
+msgstr "函数\"%s\"的proparallel值无法识别\n"
+
+#: pg_dump.c:11734
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castfunc or pg_cast.castmethod field\n"
 msgstr "警告: 在pg_cast.castfunc或者pg_cast.castmethod字段中的是假值\n"
 
-#: pg_dump.c:10748
+#: pg_dump.c:11737
 #, c-format
 msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgstr "警告: 在pg_cast.castmethod字段中的是假值\n"
 
-#: pg_dump.c:10831
+#: pg_dump.c:11825
 #, c-format
 msgid ""
 "WARNING: bogus transform definition, at least one of trffromsql and trftosql "
 "should be nonzero\n"
 msgstr "警告:臆造的转换定义,至少trffromsql和trftosql之一应该为非零\n"
 
-#: pg_dump.c:10848
+#: pg_dump.c:11842
 #, c-format
-#| msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgid "WARNING: bogus value in pg_transform.trffromsql field\n"
 msgstr "警告: 在pg_transform.trffromsql域中的是臆造值\n"
 
-#: pg_dump.c:10869
+#: pg_dump.c:11863
 #, c-format
-#| msgid "WARNING: bogus value in pg_cast.castmethod field\n"
 msgid "WARNING: bogus value in pg_transform.trftosql field\n"
 msgstr "警告: 在pg_transform.trftosql域中的是臆造值\n"
 
-#: pg_dump.c:11255
+#: pg_dump.c:12254
 #, c-format
 msgid "WARNING: could not find operator with OID %s\n"
 msgstr "警告: 未找到 OID 为 %s 的操作符\n"
 
-#: pg_dump.c:12430
+#: pg_dump.c:12318
+#, c-format
+#| msgid "WARNING: invalid creation date in header\n"
+msgid "WARNING: invalid type %c of access method %s\n"
+msgstr "警告: 访问方法%2$s的类型%1$c无效\n"
+
+#: pg_dump.c:13516
 #, c-format
 msgid ""
 "WARNING: aggregate function %s could not be dumped correctly for this "
 "database version; ignored\n"
 msgstr "警告: 无法为此版本的数据库正确转储聚集函数 \"%s\"; 忽略\n"
 
-#: pg_dump.c:13255
+#: pg_dump.c:14384
 #, c-format
 msgid "unrecognized object type in default privileges: %d\n"
 msgstr "缺省权限中存在未知对象类型: %d\n"
 
-#: pg_dump.c:13270
+#: pg_dump.c:14399
 #, c-format
 msgid "could not parse default ACL list (%s)\n"
 msgstr "无法解析缺省ACL列表(%s)\n"
 
-#: pg_dump.c:13325
+#: pg_dump.c:14470
 #, c-format
-msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
-msgstr "无法为对象 \"%2$s\" 分析 ACL 列表 (%1$s) (%3$s)\n"
+#| msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
+msgid ""
+"could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) "
+"for object \"%s\" (%s)\n"
+msgstr ""
+"无法为对象\"%3$s\" (%4$s)解析初始GRANT ACL列表 (%1$s) 或者初始REVOKE ACL列表 "
+"(%2$s) \n"
+
+#: pg_dump.c:14478
+#, c-format
+#| msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
+msgid ""
+"could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s"
+"\" (%s)\n"
+msgstr ""
+"无法为对象\"%3$s\" (%4$s)解析GRANT ACL列表 (%1$s) 或者REVOKE ACL列表 (%2$s)\n"
 
-#: pg_dump.c:13742
+#: pg_dump.c:14954
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data\n"
 msgstr "获取视图 \"%s\" 定义的查询没有返回数据\n"
 
-#: pg_dump.c:13745
+#: pg_dump.c:14957
 #, c-format
 msgid ""
 "query to obtain definition of view \"%s\" returned more than one definition\n"
 msgstr "获取视图 \"%s\" 定义的查询返回超过一个定义\n"
 
-#: pg_dump.c:13752
+#: pg_dump.c:14964
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)\n"
 msgstr "视图 \"%s\" 的定义是空的(零长)\n"
 
-#: pg_dump.c:14493
+#: pg_dump.c:15722
 #, c-format
 msgid "invalid column number %d for table \"%s\"\n"
 msgstr "对于表 \"%2$s\" 字段个数 %1$d 是无效的\n"
 
-#: pg_dump.c:14617
+#: pg_dump.c:15851
 #, c-format
 msgid "missing index for constraint \"%s\"\n"
 msgstr "对于约束 \"%s\" 缺少索引\n"
 
-#: pg_dump.c:14804
+#: pg_dump.c:16054
 #, c-format
 msgid "unrecognized constraint type: %c\n"
 msgstr "未知的约束类型: %c\n"
 
-#: pg_dump.c:14953 pg_dump.c:15117
+#: pg_dump.c:16208 pg_dump.c:16377
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)\n"
 msgid_plural ""
 "query to get data of sequence \"%s\" returned %d rows (expected 1)\n"
 msgstr[0] "查询得到了序列\"%s\"的数据,返回了%d条记录(期望一条)\n"
 
-#: pg_dump.c:14964
+#: pg_dump.c:16219
 #, c-format
 msgid "query to get data of sequence \"%s\" returned name \"%s\"\n"
 msgstr "获取序列 \"%s\" 的数据的查询返回了名字 \"%s\"\n"
 
 # fe-exec.c:1371
-#: pg_dump.c:15212
+#: pg_dump.c:16475
 #, c-format
 msgid "unexpected tgtype value: %d\n"
 msgstr "意外的tgtype值: %d\n"
 
-#: pg_dump.c:15294
+#: pg_dump.c:16557
 #, c-format
 msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n"
 msgstr "给表 \"%3$s\" 上的触发器 \"%2$s\" 的错误参数 (%1$s)\n"
 
-#: pg_dump.c:15481
+#: pg_dump.c:16754
 #, c-format
 msgid ""
 "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows "
 "returned\n"
 msgstr "获取表 \"%2$s\" 的规则 \"%1$s\" 查询失败: 返回了错误的行数\n"
 
-#: pg_dump.c:15860
+#: pg_dump.c:17143
 #, c-format
 msgid "reading dependency data\n"
 msgstr "读取从属数据\n"
 
-#: pg_dump.c:16407
+#: pg_dump.c:17704
+#, c-format
+#| msgid "WARNING: could not parse proconfig array\n"
+msgid "WARNING: could not parse reloptions array\n"
+msgstr "警告: 无法解析 reloptions 数组\n"
+
+#: pg_dump.c:17768
 #, c-format
 msgid "query returned %d row instead of one: %s\n"
 msgid_plural "query returned %d rows instead of one: %s\n"
@@ -2155,36 +2225,34 @@ msgstr[0] "查询返回了%d条记录,而不是一条记录: %s\n"
 msgid "sorter"
 msgstr "排序器"
 
-#: pg_dump_sort.c:489
+#: pg_dump_sort.c:491
 #, c-format
 msgid "invalid dumpId %d\n"
 msgstr "无效的dumpId %d\n"
 
-#: pg_dump_sort.c:495
+#: pg_dump_sort.c:497
 #, c-format
 msgid "invalid dependency %d\n"
 msgstr "无效的依赖 %d\n"
 
-#: pg_dump_sort.c:728
+#: pg_dump_sort.c:730
 #, c-format
 msgid "could not identify dependency loop\n"
 msgstr "无法标识循环依赖\n"
 
-#: pg_dump_sort.c:1250
+#: pg_dump_sort.c:1261
 #, c-format
-#| msgid ""
-#| "NOTICE: there are circular foreign-key constraints among these table(s):\n"
 msgid "NOTICE: there are circular foreign-key constraints on this table:\n"
 msgid_plural ""
 "NOTICE: there are circular foreign-key constraints among these tables:\n"
 msgstr[0] "注意:表上存在循环外键约束:\n"
 
-#: pg_dump_sort.c:1254 pg_dump_sort.c:1274
+#: pg_dump_sort.c:1265 pg_dump_sort.c:1285
 #, c-format
 msgid "  %s\n"
 msgstr "  %s\n"
 
-#: pg_dump_sort.c:1255
+#: pg_dump_sort.c:1266
 #, c-format
 msgid ""
 "You might not be able to restore the dump without using --disable-triggers "
@@ -2192,19 +2260,19 @@ msgid ""
 msgstr ""
 "不使用 --disable-triggers 选项或者临时删除约束,你将不能对备份进行恢复 .\n"
 
-#: pg_dump_sort.c:1256
+#: pg_dump_sort.c:1267
 #, c-format
 msgid ""
 "Consider using a full dump instead of a --data-only dump to avoid this "
 "problem.\n"
 msgstr "考虑使用完全备份代替 --data-only选项进行备份以避免此问题.\n"
 
-#: pg_dump_sort.c:1268
+#: pg_dump_sort.c:1279
 #, c-format
 msgid "WARNING: could not resolve dependency loop among these items:\n"
 msgstr "WARNING: 无法解析这些项的循环依赖:\n"
 
-#: pg_dumpall.c:181
+#: pg_dumpall.c:182
 #, c-format
 msgid ""
 "The program \"pg_dump\" is needed by %s but was not found in the\n"
@@ -2215,7 +2283,7 @@ msgstr ""
 "\n"
 "检查您的安装.\n"
 
-#: pg_dumpall.c:188
+#: pg_dumpall.c:189
 #, c-format
 msgid ""
 "The program \"pg_dump\" was found by \"%s\"\n"
@@ -2226,37 +2294,37 @@ msgstr ""
 "\n"
 "检查您的安装.\n"
 
-#: pg_dumpall.c:318
+#: pg_dumpall.c:319
 #, 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:327
+#: pg_dumpall.c:328
 #, c-format
 msgid ""
 "%s: options -g/--globals-only and -t/--tablespaces-only cannot be used "
 "together\n"
 msgstr "%s: 选项  -g/--globals-only和-t/--tablespaces-only不能同时使用.\n"
 
-#: pg_dumpall.c:336 pg_restore.c:343
+#: pg_dumpall.c:337 pg_restore.c:345
 #, c-format
 msgid "%s: option --if-exists requires option -c/--clean\n"
 msgstr "%s: 选项 --if-exists 需要选项 -c/ --clean \n"
 
-#: pg_dumpall.c:343
+#: pg_dumpall.c:344
 #, c-format
 msgid ""
 "%s: options -r/--roles-only and -t/--tablespaces-only cannot be used "
 "together\n"
 msgstr "%s: 选项  -r/--roles-only和 -t/--tablespaces-only不能同时使用.\n"
 
-#: pg_dumpall.c:385 pg_dumpall.c:1892
+#: pg_dumpall.c:386 pg_dumpall.c:1909
 #, c-format
 msgid "%s: could not connect to database \"%s\"\n"
 msgstr "%s: 无法与数据库 \"%s\" 联接\n"
 
-#: pg_dumpall.c:400
+#: pg_dumpall.c:401
 #, c-format
 msgid ""
 "%s: could not connect to databases \"postgres\" or \"template1\"\n"
@@ -2266,12 +2334,12 @@ msgstr ""
 "请指定另外一个数据库.\n"
 
 # command.c:1148
-#: pg_dumpall.c:417
+#: pg_dumpall.c:418
 #, c-format
 msgid "%s: could not open the output file \"%s\": %s\n"
 msgstr "%s:无法打开输出文件 \"%s\":%s\n"
 
-#: pg_dumpall.c:547
+#: pg_dumpall.c:548
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -2280,60 +2348,60 @@ msgstr ""
 "%s 抽取一个 PostgreSQL 数据库簇进一个 SQL 脚本文件.\n"
 "\n"
 
-#: pg_dumpall.c:549
+#: pg_dumpall.c:550
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [选项]...\n"
 
-#: pg_dumpall.c:552
+#: pg_dumpall.c:553
 #, c-format
 msgid "  -f, --file=FILENAME          output file name\n"
 msgstr "  -f, --file=FILENAME          输出文件名\n"
 
-#: pg_dumpall.c:558
+#: pg_dumpall.c:559
 #, c-format
 msgid ""
 "  -c, --clean                  clean (drop) databases before recreating\n"
 msgstr "  -c, --clean                  在重新创建数据库前先清除(删除)数据库\n"
 
-#: pg_dumpall.c:559
+#: pg_dumpall.c:560
 #, c-format
 msgid "  -g, --globals-only           dump only global objects, no databases\n"
 msgstr "  -g, --globals-only           只转储全局对象, 不包括数据库\n"
 
-#: pg_dumpall.c:561 pg_restore.c:454
+#: pg_dumpall.c:562 pg_restore.c:459
 #, c-format
 msgid "  -O, --no-owner               skip restoration of object ownership\n"
 msgstr "  -O, --no-owner               不恢复对象所属者\n"
 
-#: pg_dumpall.c:562
+#: pg_dumpall.c:563
 #, c-format
 msgid ""
 "  -r, --roles-only             dump only roles, no databases or tablespaces\n"
 msgstr "  -r, --roles-only             只转储角色,不包括数据库或表空间\n"
 
-#: pg_dumpall.c:564
+#: pg_dumpall.c:565
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in the dump\n"
 msgstr "  -S, --superuser=NAME         在转储中, 指定的超级用户名\n"
 
-#: pg_dumpall.c:565
+#: pg_dumpall.c:566
 #, c-format
 msgid ""
 "  -t, --tablespaces-only       dump only tablespaces, no databases or roles\n"
 msgstr "  -t, --tablespaces-only       只转储表空间,而不转储数据库或角色\n"
 
-#: pg_dumpall.c:582
+#: pg_dumpall.c:583
 #, c-format
 msgid "  -d, --dbname=CONNSTR     connect using connection string\n"
 msgstr "  -d, --dbname=CONNSTR        连接数据库使用的连接串\n"
 
-#: pg_dumpall.c:584
+#: pg_dumpall.c:585
 #, c-format
 msgid "  -l, --database=DBNAME    alternative default database\n"
 msgstr "  -l, --database=DBNAME    另一个缺省数据库\n"
 
-#: pg_dumpall.c:591
+#: pg_dumpall.c:592
 #, c-format
 msgid ""
 "\n"
@@ -2347,105 +2415,111 @@ msgstr ""
 ".\n"
 "\n"
 
-#: pg_dumpall.c:1118
+#: pg_dumpall.c:777
+#, c-format
+#| msgid "%s: locale name too long, skipped: \"%s\"\n"
+msgid "%s: role name starting with 'pg_' skipped (%s)\n"
+msgstr "%s: 以'pg_'开始的角色名称已被跳过 (%s)\n"
+
+#: pg_dumpall.c:1128
 #, c-format
 msgid "%s: could not parse ACL list (%s) for tablespace \"%s\"\n"
 msgstr "%1$s: 无法为表空间 \"%3$s\" 分析 ACL 列表 (%2$s)\n"
 
-#: pg_dumpall.c:1449
+#: pg_dumpall.c:1459
 #, c-format
 msgid "%s: could not parse ACL list (%s) for database \"%s\"\n"
 msgstr "%1$s: 无法为数据库 \"%3$s\" 分析 ACL 列表 (%2$s)\n"
 
-#: pg_dumpall.c:1659
+#: pg_dumpall.c:1676
 #, c-format
 msgid "%s: dumping database \"%s\"...\n"
 msgstr "%s: 正在转储数据库 \"%s\"...\n"
 
-#: pg_dumpall.c:1680
+#: pg_dumpall.c:1697
 #, c-format
 msgid "%s: pg_dump failed on database \"%s\", exiting\n"
 msgstr "%s: pg_dump 失败在数据库 \"%s\", 正在退出\n"
 
 # command.c:1148
-#: pg_dumpall.c:1689
+#: pg_dumpall.c:1706
 #, c-format
 msgid "%s: could not re-open the output file \"%s\": %s\n"
 msgstr "%s:无法重新打开输出文件 \"%s\":%s\n"
 
-#: pg_dumpall.c:1734
+#: pg_dumpall.c:1751
 #, c-format
 msgid "%s: running \"%s\"\n"
 msgstr "%s: 正在运行 \"%s\"\n"
 
-#: pg_dumpall.c:1914
+#: pg_dumpall.c:1931
 #, c-format
 msgid "%s: could not connect to database \"%s\": %s\n"
 msgstr "%s: 无法与数据库 \"%s\" 联接: %s\n"
 
-#: pg_dumpall.c:1944
+#: pg_dumpall.c:1961
 #, c-format
 msgid "%s: could not get server version\n"
 msgstr "%s: 无法从服务器获取版本\n"
 
-#: pg_dumpall.c:1950
+#: pg_dumpall.c:1967
 #, c-format
 msgid "%s: could not parse server version \"%s\"\n"
 msgstr "%s: 无法分析版本字串 \"%s\"\n"
 
-#: pg_dumpall.c:2028 pg_dumpall.c:2054
+#: pg_dumpall.c:2045 pg_dumpall.c:2071
 #, c-format
 msgid "%s: executing %s\n"
 msgstr "%s: 执行 %s\n"
 
-#: pg_dumpall.c:2034 pg_dumpall.c:2060
+#: pg_dumpall.c:2051 pg_dumpall.c:2077
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: 查询失败: %s"
 
-#: pg_dumpall.c:2036 pg_dumpall.c:2062
+#: pg_dumpall.c:2053 pg_dumpall.c:2079
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: 查询是: %s\n"
 
-#: pg_restore.c:303
+#: pg_restore.c:305
 #, 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:314
+#: pg_restore.c:316
 #, 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:321
+#: pg_restore.c:323
 #, c-format
 msgid "%s: options -c/--clean and -a/--data-only cannot be used together\n"
 msgstr "%s: 选项 -c/--clean和 -a/--data-only不能同时使用.\n"
 
-#: pg_restore.c:329
+#: pg_restore.c:331
 #, c-format
 msgid "%s: cannot specify both --single-transaction and multiple jobs\n"
 msgstr "%s: 不能同时指定选项--single-transaction和多个任务\n"
 
-#: pg_restore.c:369
+#: pg_restore.c:372
 #, c-format
 msgid ""
 "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"\n"
 msgstr "不可识别的归档格式\"%s\"; 请指定 \"c\", \"d\", 或 \"t\"\n"
 
-#: pg_restore.c:399
+#: pg_restore.c:404
 #, c-format
 msgid "%s: maximum number of parallel jobs is %d\n"
 msgstr "%s: 已经达到并行工作集的最大数 %d\n"
 
-#: pg_restore.c:417
+#: pg_restore.c:422
 #, c-format
 msgid "WARNING: errors ignored on restore: %d\n"
 msgstr "警告: 恢复中忽略错误: %d\n"
 
-#: pg_restore.c:431
+#: pg_restore.c:436
 #, c-format
 msgid ""
 "%s restores a PostgreSQL database from an archive created by pg_dump.\n"
@@ -2454,47 +2528,47 @@ msgstr ""
 "%s 从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.\n"
 "\n"
 
-#: pg_restore.c:433
+#: pg_restore.c:438
 #, c-format
 msgid "  %s [OPTION]... [FILE]\n"
 msgstr "  %s [选项]... [文件名]\n"
 
-#: pg_restore.c:436
+#: pg_restore.c:441
 #, c-format
 msgid "  -d, --dbname=NAME        connect to database name\n"
 msgstr "  -d, --dbname=名字        连接数据库名字\n"
 
-#: pg_restore.c:437
+#: pg_restore.c:442
 #, c-format
 msgid "  -f, --file=FILENAME      output file name\n"
 msgstr "  -f, --file=文件名        输出文件名\n"
 
-#: pg_restore.c:438
+#: pg_restore.c:443
 #, 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:439
+#: pg_restore.c:444
 #, c-format
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr "  -l, --list               打印归档文件的 TOC 概述\n"
 
-#: pg_restore.c:440
+#: pg_restore.c:445
 #, c-format
 msgid "  -v, --verbose            verbose mode\n"
 msgstr "  -v, --verbose            详细模式\n"
 
-#: pg_restore.c:441
+#: pg_restore.c:446
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            输出版本信息, 然后退出\n"
 
-#: pg_restore.c:442
+#: pg_restore.c:447
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               显示此帮助, 然后退出\n"
 
-#: pg_restore.c:444
+#: pg_restore.c:449
 #, c-format
 msgid ""
 "\n"
@@ -2503,32 +2577,32 @@ msgstr ""
 "\n"
 "恢复控制选项:\n"
 
-#: pg_restore.c:445
+#: pg_restore.c:450
 #, c-format
 msgid "  -a, --data-only              restore only the data, no schema\n"
 msgstr "  -a, --data-only             只恢复数据, 不包括模式\n"
 
-#: pg_restore.c:447
+#: pg_restore.c:452
 #, c-format
 msgid "  -C, --create                 create the target database\n"
 msgstr "  -C, --create                 创建目标数据库\n"
 
-#: pg_restore.c:448
+#: pg_restore.c:453
 #, c-format
 msgid "  -e, --exit-on-error          exit on error, default is to continue\n"
 msgstr "  -e, --exit-on-error          发生错误退出, 默认为继续\n"
 
-#: pg_restore.c:449
+#: pg_restore.c:454
 #, c-format
 msgid "  -I, --index=NAME             restore named index\n"
 msgstr "  -I, --index=NAME             恢复指定名称的索引\n"
 
-#: pg_restore.c:450
+#: pg_restore.c:455
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to restore\n"
 msgstr "  -j, --jobs=NUM               执行多个并行任务进行恢复工作\n"
 
-#: pg_restore.c:451
+#: pg_restore.c:456
 #, c-format
 msgid ""
 "  -L, --use-list=FILENAME      use table of contents from this file for\n"
@@ -2537,57 +2611,58 @@ msgstr ""
 "  -L, --use-list=FILENAME      从这个文件中使用指定的内容表排序\n"
 "                               输出\n"
 
-#: pg_restore.c:453
+#: pg_restore.c:458
 #, c-format
 msgid "  -n, --schema=NAME            restore only objects in this schema\n"
 msgstr "  -n, --schema=NAME            在这个模式中只恢复对象\n"
 
-#: pg_restore.c:455
+#: pg_restore.c:460
 #, c-format
 msgid "  -P, --function=NAME(args)    restore named function\n"
 msgstr "  -P, --function=NAME(args)    恢复指定名字的函数\n"
 
-#: pg_restore.c:456
+#: pg_restore.c:461
 #, c-format
 msgid "  -s, --schema-only            restore only the schema, no data\n"
 msgstr "  -s, --schema-only           只恢复模式, 不包括数据\n"
 
-#: pg_restore.c:457
+#: pg_restore.c:462
 #, c-format
 msgid ""
 "  -S, --superuser=NAME         superuser user name to use for disabling "
 "triggers\n"
 msgstr "  -S, --superuser=NAME         使用指定的超级用户来禁用触发器\n"
 
-#: pg_restore.c:458
+#: pg_restore.c:463
 #, c-format
-msgid "  -t, --table=NAME             restore named table\n"
-msgstr "  -t, --table=NAME             恢复命名表\n"
+#| msgid "  -t, --table=NAME             restore named table\n"
+msgid ""
+"  -t, --table=NAME             restore named relation (table, view, etc)\n"
+msgstr "  -t, --table=NAME             恢复命名关系(表、视图等)\n"
 
-#: pg_restore.c:459
+#: pg_restore.c:464
 #, c-format
 msgid "  -T, --trigger=NAME           restore named trigger\n"
 msgstr "  -T, --trigger=NAME          恢复指定名字的触发器\n"
 
-#: pg_restore.c:460
+#: pg_restore.c:465
 #, c-format
 msgid ""
 "  -x, --no-privileges          skip restoration of access privileges (grant/"
 "revoke)\n"
 msgstr "  -x, --no-privileges          跳过处理权限的恢复 (grant/revoke)\n"
 
-#: pg_restore.c:461
+#: pg_restore.c:466
 #, c-format
 msgid "  -1, --single-transaction     restore as a single transaction\n"
 msgstr "  -1, --single-transaction     作为单个事务恢复\n"
 
-#: pg_restore.c:463
+#: pg_restore.c:468
 #, c-format
-#| msgid "  --no-security-labels         do not restore security labels\n"
 msgid "  --enable-row-security        enable row security\n"
 msgstr "  --enable-row-security        启用行安全性\n"
 
-#: pg_restore.c:465
+#: pg_restore.c:470
 #, c-format
 msgid ""
 "  --no-data-for-failed-tables  do not restore data of tables that could not "
@@ -2597,29 +2672,29 @@ msgstr ""
 "  --no-data-for-failed-tables  对那些无法创建的表不进行\n"
 "                               数据恢复\n"
 
-#: pg_restore.c:467
+#: pg_restore.c:472
 #, c-format
 msgid "  --no-security-labels         do not restore security labels\n"
 msgstr "  --no-security-labels         不恢复安全标签信息\n"
 
-#: pg_restore.c:468
+#: pg_restore.c:473
 #, c-format
 msgid "  --no-tablespaces             do not restore tablespace assignments\n"
 msgstr "  --no-tablespaces             不恢复表空间的分配信息\n"
 
-#: pg_restore.c:469
+#: pg_restore.c:474
 #, c-format
 msgid ""
 "  --section=SECTION            restore named section (pre-data, data, or "
 "post-data)\n"
 msgstr "  --section=SECTION            恢复命名节 (数据前、数据及数据后)\n"
 
-#: pg_restore.c:480
+#: pg_restore.c:487
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before restore\n"
 msgstr "  --role=ROLENAME          在恢复前执行SET ROLE操作\n"
 
-#: pg_restore.c:482
+#: pg_restore.c:489
 #, c-format
 msgid ""
 "\n"
@@ -2630,7 +2705,7 @@ msgstr ""
 "选项 -I, -n, -P, -t, -T, 以及 --section 可以组合使用和指定\n"
 "多次用于选择多个对象.\n"
 
-#: pg_restore.c:485
+#: pg_restore.c:492
 #, c-format
 msgid ""
 "\n"
@@ -2641,385 +2716,388 @@ msgstr ""
 "如果没有提供输入文件名, 则使用标准输入.\n"
 "\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 "archive member too large for tar format\n"
+#~ msgstr "在 tar 格式中归档成员太大\n"
 
-#~ msgid "unexpected end of file\n"
-#~ msgstr "意外的文件结尾\n"
+#~ msgid "could not parse version string \"%s\"\n"
+#~ msgstr "无法分析版本字串 \"%s\"\n"
 
-#~ msgid "could not write byte: %s\n"
-#~ msgstr "无法写字节: %s\n"
+#~ msgid "%s: could not parse version \"%s\"\n"
+#~ msgstr "%s: 无法解析版本 \"%s\"\n"
 
-#~ msgid "could not write byte\n"
-#~ msgstr "无法写字节\n"
+#~ msgid "%s: invalid -X option -- %s\n"
+#~ msgstr "%s: 无效的 -X 选项 -- %s\n"
 
-#~ msgid "could not write null block at end of tar archive\n"
-#~ msgstr "无法在 tar 归档末尾写 null 块\n"
+#~ msgid "  --help                      show this help, then exit\n"
+#~ msgstr "  --help                       显示此帮助信息, 然后退出\n"
 
-#~ msgid "could not output padding at end of tar member\n"
-#~ msgstr "无法在 tar 成员尾部输出填充内容\n"
+#~ msgid ""
+#~ "  --version                   output version information, then exit\n"
+#~ msgstr "  --versoin                    输出版本信息, 然后退出\n"
 
-#~ msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n"
-#~ msgstr "实际文件位置和预期文件位置不匹配 (%s 对 %s)\n"
+#~ msgid "*** aborted because of error\n"
+#~ msgstr "*** 因为错误退出\n"
 
-#~ msgid "-C and -c are incompatible options\n"
-#~ msgstr "-C 和 -c 是互不兼容的选项\n"
+#~ msgid "missing pg_database entry for database \"%s\"\n"
+#~ msgstr "缺少用于 \"%s\" 的 pg_database 记录\n"
 
 #~ msgid ""
-#~ "  -O, --no-owner           do not output commands to set object "
-#~ "ownership\n"
-#~ msgstr ""
-#~ "  -O, --no-owner           设置对象的所属者时不输出\n"
-#~ "                           命令\n"
+#~ "query returned more than one (%d) pg_database entry for database \"%s\"\n"
+#~ msgstr "查询为数据库 \"%2$s\" 返回了超过一条 (%1$d) pg_database 记录\n"
 
-#~ msgid ""
-#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
-#~ "                           pg_dumpall version\n"
-#~ msgstr ""
-#~ "  -i, --ignore-version     当服务器版本与 pg_dumpall 不匹配时\n"
-#~ "                           继续运行\n"
+#~ msgid "dumpDatabase(): could not find pg_largeobject.relfrozenxid\n"
+#~ msgstr "dumpDatabase():  无法找到pg_largeobject.relfrozenxid\n"
 
-#~ msgid ""
-#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
-#~ msgstr "  -i, --ignore-version     当服务器版本不匹配时继续运行\n"
+#~ msgid "query returned no rows: %s\n"
+#~ msgstr "查询放弃, 没有记录: %s\n"
 
-#~ msgid "could not write tar header\n"
-#~ msgstr "无法写 tar 头\n"
+#~ msgid "missing pg_database entry for this database\n"
+#~ msgstr "缺少此数据库的 pg_database 记录\n"
 
-#~ msgid "could not close tar member: %s\n"
-#~ msgstr "无法关闭 tar 成员: %s\n"
+#~ msgid "found more than one pg_database entry for this database\n"
+#~ msgstr "找到此数据库的多于一条的 pg_database 记录\n"
 
-#~ msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n"
-#~ msgstr "向 tar 归档附加时写错误 (写了 %lu, 试图写 %lu)\n"
+#~ msgid "could not find entry for pg_indexes in pg_class\n"
+#~ msgstr "在 pg_class 中无法为 pg_indexes 找到记录\n"
 
-#~ msgid "could not write to tar member (wrote %lu, attempted %lu)\n"
-#~ msgstr "无法写入 tar 成员 (写了 %lu, 企图写 %lu)\n"
+#~ msgid "found more than one entry for pg_indexes in pg_class\n"
+#~ msgstr "在 pg_class 表中找到多条 pg_indexes 的记录\n"
 
-#~ msgid "requested %d bytes, got %d from lookahead and %d from file\n"
-#~ msgstr "要求 %d 字节, 从预览中获取 %d, 从文件中获取 %d\n"
+#~ msgid "SQL command failed\n"
+#~ msgstr "SQL 命令失败\n"
 
-#~ msgid "could not open large object file\n"
-#~ msgstr "无法打开大对象文件\n"
+#~ msgid "cannot reopen stdin\n"
+#~ msgstr "无法重新打开stdin\n"
 
-#~ msgid "could not open data file for input\n"
-#~ msgstr "无法为输入打开数据文件\n"
+#~ msgid "cannot reopen non-seekable file\n"
+#~ msgstr "无法重新打开不可查找的文件\n"
 
-#~ msgid "could not open data file for output\n"
-#~ msgstr "无法为输出打开数据文件\n"
+#~ msgid "file archiver"
+#~ msgstr "文件归档"
 
-#~ msgid "could not commit transaction for large object cross-references"
-#~ msgstr "无法为大对象交叉引用提交事务"
+#~ msgid ""
+#~ "WARNING:\n"
+#~ "  This format is for demonstration purposes; it is not intended for\n"
+#~ "  normal use. Files will be written in the current working directory.\n"
+#~ msgstr ""
+#~ "警告:\n"
+#~ "  这个格式仅用于演示; 并非用于一般用途.\n"
+#~ "  文件将写入当前工作目录.\n"
 
-#~ msgid "could not start transaction for large object cross-references"
-#~ msgstr "无法为大对象交叉引用启动事务"
+#~ msgid "could not close data file after reading\n"
+#~ msgstr "读取之后无法关闭数据文件\n"
 
-#~ msgid "could not create large object cross-reference entry"
-#~ msgstr "无法创建大对象交叉引用记录"
+#~ msgid "could not open large object TOC for input: %s\n"
+#~ msgstr "无法打开大对象 TOC 进行输入: %s\n"
 
-#~ msgid "could not create index on large object cross-reference table"
-#~ msgstr "无法在大对象交叉引用表上创建索引"
+#~ msgid "could not open large object TOC for output: %s\n"
+#~ msgstr "无法打开大对象 TOC 进行输出: %s\n"
 
-#~ msgid "creating index for large object cross-references\n"
-#~ msgstr "为大对象交叉引用创建索引\n"
+#~ msgid "could not close large object file\n"
+#~ msgstr "无法关闭大对象文件\n"
 
-#~ msgid "could not create large object cross-reference table"
-#~ msgstr "无法创建大对象交叉引用表"
+#~ msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n"
+#~ msgstr "COPY 语句错 -- 无法在字串 \"%s\" 中找到 \"copy\"\n"
 
-#~ msgid "creating table for large object cross-references\n"
-#~ msgstr "为大对象交叉引用创建表\n"
+#~ msgid ""
+#~ "invalid COPY statement -- could not find \"from stdin\" in string \"%s\" "
+#~ "starting at position %lu\n"
+#~ msgstr ""
+#~ "COPY 语句错 -- 无法在从 %2$lu 位置开始的字串 \"%1$s\" 里找到 \"from stdin"
+#~ "\" å­—æ ·\n"
 
-#~ msgid "error while updating column \"%s\" of table \"%s\": %s"
-#~ msgstr "更新表 \"%2$s\" 的字段 \"%1$s\" 时出错: %3$s"
+#~ msgid "restoring large object OID %u\n"
+#~ msgstr "恢复 OID %u 的大对象\n"
 
-#~ msgid "could not update column \"%s\" of table \"%s\": %s"
-#~ msgstr "无法更新表 \"%2$s\" 的字段 \"%1$s\": %3$s"
+#~ msgid "  --help                   show this help, then exit\n"
+#~ msgstr "  --help                   显示此帮助信息, 然后退出\n"
 
-#~ msgid "SQL: %s\n"
-#~ msgstr "SQL: %s\n"
+#~ msgid "  --version                output version information, then exit\n"
+#~ msgstr "  --version                输出版本信息, 然后退出\n"
 
-#~ msgid "fixing large object cross-references for %s.%s\n"
-#~ msgstr "为 %s.%s 修补大对象交叉引用\n"
+#~ msgid ""
+#~ "  -c, --clean              clean (drop) database objects before "
+#~ "recreating\n"
+#~ msgstr ""
+#~ "  -c, --clean              在重新创建数据库对象之前需要清除(删除)数据库"
+#~ "对象\n"
 
-#~ msgid "no OID type columns in table %s\n"
-#~ msgstr "表 %s 中没有 OID 类型字段\n"
+#~ msgid "  -O, --no-owner           skip restoration of object ownership\n"
+#~ msgstr "  -O, --no-owner           忽略恢复对象所属者\n"
 
-#~ msgid "could not find OID columns of table \"%s\": %s"
-#~ msgstr "无法寻找表 \"%s\" 的 OID 字段: %s"
+#~ msgid ""
+#~ "  --disable-triggers       disable triggers during data-only restore\n"
+#~ msgstr " --disable-triggers        在只恢复数据的过程中禁用触发器\n"
 
-#~ msgid "error returned by PQendcopy\n"
-#~ msgstr "PQendcopy 返回错误\n"
+#~ msgid ""
+#~ "  --use-set-session-authorization\n"
+#~ "                           use SET SESSION AUTHORIZATION commands instead "
+#~ "of\n"
+#~ "                           ALTER OWNER commands to set ownership\n"
+#~ msgstr ""
+#~ "  --use-set-session-authorization\n"
+#~ "                           使用 SESSION AUTHORIZATION 命令代替\n"
+#~ "                  ALTER OWNER命令来设置对象所有权\n"
 
-#~ msgid "COPY command executed in non-primary connection\n"
-#~ msgstr "COPY 命令在没有主联接的环境下执行\n"
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: 内存溢出\n"
 
-#~ msgid "%s: no result from server\n"
-#~ msgstr "%s: 没有来自服务器的结果\n"
+#~ msgid "dumpBlobs(): could not open large object: %s"
+#~ msgstr "dumpBlobs(): 无法打开大对象: %s"
+
+#~ msgid "saving large object comments\n"
+#~ msgstr "正在保存大对象注释\n"
+
+#~ msgid "no label definitions found for enum ID %u\n"
+#~ msgstr "对于枚举 ID %u没有找到标签定义\n"
 
 #~ msgid ""
-#~ "aborting because of version mismatch  (Use the -i option to proceed "
-#~ "anyway.)\n"
-#~ msgstr "因版本差异退出 (用 -i 选项忽略差异继续处理.)\n"
+#~ "dumping a specific TOC data block out of order is not supported without "
+#~ "ID on this input stream (fseek required)\n"
+#~ msgstr ""
+#~ "如果在此输入流中没有ID(标识)(fseek 要求的), 那么是不支持非顺序转储特定TOC"
+#~ "数据块的\n"
 
-#~ msgid "could not write uncompressed chunk\n"
-#~ msgstr "无法写入未压缩的块\n"
+#~ msgid "compression support is disabled in this format\n"
+#~ msgstr "在这个格式里, 压缩支持时被关闭了的\n"
 
-#~ msgid "could not write compressed chunk\n"
-#~ msgstr "无法写入压缩的块\n"
+#~ msgid "User name: "
+#~ msgstr "用户名: "
 
-#~ msgid "write error in _WriteBuf (%lu != %lu)\n"
-#~ msgstr "在 _WriteBuf 里的写错误 (%lu != %lu)\n"
+#~ msgid "large-object output not supported for a single table\n"
+#~ msgstr "不支持单个表的大对象输出.\n"
 
-#~ msgid "could not read data block -- expected %lu, got %lu\n"
-#~ msgstr "无法读取数据块 - 预期 %lu, 实际 %lu\n"
+#~ msgid "use a full dump instead\n"
+#~ msgstr "使用完整转储替代.\n"
 
-#~ msgid "large objects cannot be loaded without a database connection\n"
-#~ msgstr "没有数据库联接时无法装载大对象\n"
+#~ msgid "large-object output not supported for a single schema\n"
+#~ msgstr "不支持单个模式的大对象输出.\n"
 
-#~ msgid "could not open archive file \"%s\": %s\n"
-#~ msgstr "无法打开归档文件 \"%s\": %s\n"
+#~ msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n"
+#~ msgstr "INSERT (-d, -D) 和 OID (-o) 选项不能同时使用.\n"
 
-#~ msgid "archive format is %d\n"
-#~ msgstr "归档格式是 %d\n"
+#~ msgid "large-object output is not supported for plain-text dump files\n"
+#~ msgstr "纯文本转储文件不支持输出大对象.\n"
 
-#~ msgid "could not close the input file after reading header: %s\n"
-#~ msgstr "读取头之后无法关闭输入文件: %s\n"
+#~ msgid "(Use a different output format.)\n"
+#~ msgstr "(使用不同的输出格式.)\n"
 
-#~ msgid "read %lu bytes into lookahead buffer\n"
-#~ msgstr "读取 %lu 字节到预览缓冲区\n"
+#~ msgid ""
+#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
+#~ "                           pg_dump version\n"
+#~ msgstr ""
+#~ "  -i, --ignore-version     当服务器的版本号与 pg_dump 的版本号不匹配时\n"
+#~ "                           仍继续运行\n"
 
-#~ msgid "could not write to output file (%lu != %lu)\n"
-#~ msgstr "无法写出到输出文件 (%lu != %lu)\n"
+#~ msgid "  -c, --clean              clean (drop) schema prior to create\n"
+#~ msgstr "  -c, --clean              先清楚(删除)预先的模式,再建立\n"
 
-#~ msgid "could not write to compressed archive\n"
-#~ msgstr "无法写入压缩的归档\n"
+#~ msgid ""
+#~ "  -S, --superuser=NAME     specify the superuser user name to use in\n"
+#~ "                           plain text format\n"
+#~ msgstr ""
+#~ "  -S, --superuser=NAME     在明文格式中, 使用指定的超级用户\n"
+#~ "                           名称\n"
 
-#~ msgid "could not open TOC file\n"
-#~ msgstr "无法打开 TOC 文件\n"
+#~ msgid "specified schema \"%s\" does not exist\n"
+#~ msgstr "指定的模式 \"%s\" 不存在\n"
 
-#~ msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n"
-#~ msgstr "写剩下了 %lu 字节的大对象数据 (结果 = %lu)\n"
+#~ msgid "specified table \"%s\" does not exist\n"
+#~ msgstr "指定的表 \"%s\" 不存在\n"
 
-#~ msgid "restoring large object with OID %u as %u\n"
-#~ msgstr "把 OID 为 %u 的大对象恢复为 %u\n"
+#~ msgid "expected %d triggers on table \"%s\" but found %d\n"
+#~ msgstr "预期在表 \"%2$s\" 上有触发器 %1$d , 却发现 %3$d\n"
 
-#~ msgid "starting large-object transactions\n"
-#~ msgstr "开始大对象事务\n"
+#~ msgid "Got %d rows instead of one from: %s"
+#~ msgstr "已得到 %d 条记录替代来自 %s 的一条"
 
-#~ msgid "cannot restore large objects without a database connection\n"
-#~ msgstr "没有数据库联接时无法恢复大对象\n"
+#~ msgid "inserted invalid OID\n"
+#~ msgstr "插入了非法 OID\n"
 
-#~ msgid "committing large-object transactions\n"
-#~ msgstr "提交大对象事务\n"
+#~ msgid "maximum system OID is %u\n"
+#~ msgstr "最大系统 OID 是 %u\n"
 
-#~ msgid "fixing up large-object cross-reference for \"%s\"\n"
-#~ msgstr "为 \"%s\" 修复大对象的交叉引用\n"
+#~ msgid "could not close output archive file\n"
+#~ msgstr "无法关闭输出归档文件\n"
 
 #~ msgid "WARNING: skipping large-object restoration\n"
 #~ msgstr "警告: 忽略大对象的恢复\n"
 
-#~ msgid "could not close output archive file\n"
-#~ msgstr "无法关闭输出归档文件\n"
+#~ msgid "fixing up large-object cross-reference for \"%s\"\n"
+#~ msgstr "为 \"%s\" 修复大对象的交叉引用\n"
 
-#~ msgid "maximum system OID is %u\n"
-#~ msgstr "最大系统 OID 是 %u\n"
+#~ msgid "committing large-object transactions\n"
+#~ msgstr "提交大对象事务\n"
 
-#~ msgid "inserted invalid OID\n"
-#~ msgstr "插入了非法 OID\n"
+#~ msgid "cannot restore large objects without a database connection\n"
+#~ msgstr "没有数据库联接时无法恢复大对象\n"
 
-#~ msgid "Got %d rows instead of one from: %s"
-#~ msgstr "已得到 %d 条记录替代来自 %s 的一条"
+#~ msgid "starting large-object transactions\n"
+#~ msgstr "开始大对象事务\n"
 
-#~ msgid "expected %d triggers on table \"%s\" but found %d\n"
-#~ msgstr "预期在表 \"%2$s\" 上有触发器 %1$d , 却发现 %3$d\n"
+#~ msgid "restoring large object with OID %u as %u\n"
+#~ msgstr "把 OID 为 %u 的大对象恢复为 %u\n"
 
-#~ msgid "specified table \"%s\" does not exist\n"
-#~ msgstr "指定的表 \"%s\" 不存在\n"
+#~ msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n"
+#~ msgstr "写剩下了 %lu 字节的大对象数据 (结果 = %lu)\n"
 
-#~ msgid "specified schema \"%s\" does not exist\n"
-#~ msgstr "指定的模式 \"%s\" 不存在\n"
+#~ msgid "could not open TOC file\n"
+#~ msgstr "无法打开 TOC 文件\n"
 
-#~ msgid ""
-#~ "  -S, --superuser=NAME     specify the superuser user name to use in\n"
-#~ "                           plain text format\n"
-#~ msgstr ""
-#~ "  -S, --superuser=NAME     在明文格式中, 使用指定的超级用户\n"
-#~ "                           名称\n"
+#~ msgid "could not write to compressed archive\n"
+#~ msgstr "无法写入压缩的归档\n"
 
-#~ msgid "  -c, --clean              clean (drop) schema prior to create\n"
-#~ msgstr "  -c, --clean              先清楚(删除)预先的模式,再建立\n"
+#~ msgid "could not write to output file (%lu != %lu)\n"
+#~ msgstr "无法写出到输出文件 (%lu != %lu)\n"
 
-#~ msgid ""
-#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
-#~ "                           pg_dump version\n"
-#~ msgstr ""
-#~ "  -i, --ignore-version     当服务器的版本号与 pg_dump 的版本号不匹配时\n"
-#~ "                           仍继续运行\n"
+#~ msgid "read %lu bytes into lookahead buffer\n"
+#~ msgstr "读取 %lu 字节到预览缓冲区\n"
 
-#~ msgid "(Use a different output format.)\n"
-#~ msgstr "(使用不同的输出格式.)\n"
+#~ msgid "could not close the input file after reading header: %s\n"
+#~ msgstr "读取头之后无法关闭输入文件: %s\n"
 
-#~ msgid "large-object output is not supported for plain-text dump files\n"
-#~ msgstr "纯文本转储文件不支持输出大对象.\n"
+#~ msgid "archive format is %d\n"
+#~ msgstr "归档格式是 %d\n"
 
-#~ msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n"
-#~ msgstr "INSERT (-d, -D) 和 OID (-o) 选项不能同时使用.\n"
+#~ msgid "could not open archive file \"%s\": %s\n"
+#~ msgstr "无法打开归档文件 \"%s\": %s\n"
 
-#~ msgid "large-object output not supported for a single schema\n"
-#~ msgstr "不支持单个模式的大对象输出.\n"
+#~ msgid "large objects cannot be loaded without a database connection\n"
+#~ msgstr "没有数据库联接时无法装载大对象\n"
 
-#~ msgid "use a full dump instead\n"
-#~ msgstr "使用完整转储替代.\n"
+#~ msgid "could not read data block -- expected %lu, got %lu\n"
+#~ msgstr "无法读取数据块 - 预期 %lu, 实际 %lu\n"
 
-#~ msgid "large-object output not supported for a single table\n"
-#~ msgstr "不支持单个表的大对象输出.\n"
+#~ msgid "write error in _WriteBuf (%lu != %lu)\n"
+#~ msgstr "在 _WriteBuf 里的写错误 (%lu != %lu)\n"
 
-#~ msgid "User name: "
-#~ msgstr "用户名: "
+#~ msgid "could not write compressed chunk\n"
+#~ msgstr "无法写入压缩的块\n"
 
-#~ msgid "compression support is disabled in this format\n"
-#~ msgstr "在这个格式里, 压缩支持时被关闭了的\n"
+#~ msgid "could not write uncompressed chunk\n"
+#~ msgstr "无法写入未压缩的块\n"
 
 #~ msgid ""
-#~ "dumping a specific TOC data block out of order is not supported without "
-#~ "ID on this input stream (fseek required)\n"
-#~ msgstr ""
-#~ "如果在此输入流中没有ID(标识)(fseek 要求的), 那么是不支持非顺序转储特定TOC"
-#~ "数据块的\n"
+#~ "aborting because of version mismatch  (Use the -i option to proceed "
+#~ "anyway.)\n"
+#~ msgstr "因版本差异退出 (用 -i 选项忽略差异继续处理.)\n"
 
-#~ msgid "no label definitions found for enum ID %u\n"
-#~ msgstr "对于枚举 ID %u没有找到标签定义\n"
+#~ msgid "%s: no result from server\n"
+#~ msgstr "%s: 没有来自服务器的结果\n"
 
-#~ msgid "saving large object comments\n"
-#~ msgstr "正在保存大对象注释\n"
+#~ msgid "COPY command executed in non-primary connection\n"
+#~ msgstr "COPY 命令在没有主联接的环境下执行\n"
 
-#~ msgid "dumpBlobs(): could not open large object: %s"
-#~ msgstr "dumpBlobs(): 无法打开大对象: %s"
+#~ msgid "error returned by PQendcopy\n"
+#~ msgstr "PQendcopy 返回错误\n"
 
-#~ msgid "%s: out of memory\n"
-#~ msgstr "%s: 内存溢出\n"
+#~ msgid "could not find OID columns of table \"%s\": %s"
+#~ msgstr "无法寻找表 \"%s\" 的 OID 字段: %s"
 
-#~ msgid ""
-#~ "  --use-set-session-authorization\n"
-#~ "                           use SET SESSION AUTHORIZATION commands instead "
-#~ "of\n"
-#~ "                           ALTER OWNER commands to set ownership\n"
-#~ msgstr ""
-#~ "  --use-set-session-authorization\n"
-#~ "                           使用 SESSION AUTHORIZATION 命令代替\n"
-#~ "                  ALTER OWNER命令来设置对象所有权\n"
+#~ msgid "no OID type columns in table %s\n"
+#~ msgstr "表 %s 中没有 OID 类型字段\n"
 
-#~ msgid ""
-#~ "  --disable-triggers       disable triggers during data-only restore\n"
-#~ msgstr " --disable-triggers        在只恢复数据的过程中禁用触发器\n"
+#~ msgid "fixing large object cross-references for %s.%s\n"
+#~ msgstr "为 %s.%s 修补大对象交叉引用\n"
 
-#~ msgid "  -O, --no-owner           skip restoration of object ownership\n"
-#~ msgstr "  -O, --no-owner           忽略恢复对象所属者\n"
+#~ msgid "SQL: %s\n"
+#~ msgstr "SQL: %s\n"
 
-#~ msgid ""
-#~ "  -c, --clean              clean (drop) database objects before "
-#~ "recreating\n"
-#~ msgstr ""
-#~ "  -c, --clean              在重新创建数据库对象之前需要清除(删除)数据库"
-#~ "对象\n"
+#~ msgid "could not update column \"%s\" of table \"%s\": %s"
+#~ msgstr "无法更新表 \"%2$s\" 的字段 \"%1$s\": %3$s"
 
-#~ msgid "  --version                output version information, then exit\n"
-#~ msgstr "  --version                输出版本信息, 然后退出\n"
+#~ msgid "error while updating column \"%s\" of table \"%s\": %s"
+#~ msgstr "更新表 \"%2$s\" 的字段 \"%1$s\" 时出错: %3$s"
 
-#~ msgid "  --help                   show this help, then exit\n"
-#~ msgstr "  --help                   显示此帮助信息, 然后退出\n"
+#~ msgid "creating table for large object cross-references\n"
+#~ msgstr "为大对象交叉引用创建表\n"
 
-#~ msgid "restoring large object OID %u\n"
-#~ msgstr "恢复 OID %u 的大对象\n"
+#~ msgid "could not create large object cross-reference table"
+#~ msgstr "无法创建大对象交叉引用表"
 
-#~ msgid ""
-#~ "invalid COPY statement -- could not find \"from stdin\" in string \"%s\" "
-#~ "starting at position %lu\n"
-#~ msgstr ""
-#~ "COPY 语句错 -- 无法在从 %2$lu 位置开始的字串 \"%1$s\" 里找到 \"from stdin"
-#~ "\" å­—æ ·\n"
+#~ msgid "creating index for large object cross-references\n"
+#~ msgstr "为大对象交叉引用创建索引\n"
 
-#~ msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n"
-#~ msgstr "COPY 语句错 -- 无法在字串 \"%s\" 中找到 \"copy\"\n"
+#~ msgid "could not create index on large object cross-reference table"
+#~ msgstr "无法在大对象交叉引用表上创建索引"
 
-#~ msgid "could not close large object file\n"
-#~ msgstr "无法关闭大对象文件\n"
+#~ msgid "could not create large object cross-reference entry"
+#~ msgstr "无法创建大对象交叉引用记录"
 
-#~ msgid "could not open large object TOC for output: %s\n"
-#~ msgstr "无法打开大对象 TOC 进行输出: %s\n"
+#~ msgid "could not start transaction for large object cross-references"
+#~ msgstr "无法为大对象交叉引用启动事务"
 
-#~ msgid "could not open large object TOC for input: %s\n"
-#~ msgstr "无法打开大对象 TOC 进行输入: %s\n"
+#~ msgid "could not commit transaction for large object cross-references"
+#~ msgstr "无法为大对象交叉引用提交事务"
 
-#~ msgid "could not close data file after reading\n"
-#~ msgstr "读取之后无法关闭数据文件\n"
+#~ msgid "could not open data file for output\n"
+#~ msgstr "无法为输出打开数据文件\n"
 
-#~ msgid ""
-#~ "WARNING:\n"
-#~ "  This format is for demonstration purposes; it is not intended for\n"
-#~ "  normal use. Files will be written in the current working directory.\n"
-#~ msgstr ""
-#~ "警告:\n"
-#~ "  这个格式仅用于演示; 并非用于一般用途.\n"
-#~ "  文件将写入当前工作目录.\n"
+#~ msgid "could not open data file for input\n"
+#~ msgstr "无法为输入打开数据文件\n"
 
-#~ msgid "file archiver"
-#~ msgstr "文件归档"
+#~ msgid "could not open large object file\n"
+#~ msgstr "无法打开大对象文件\n"
 
-#~ msgid "cannot reopen non-seekable file\n"
-#~ msgstr "无法重新打开不可查找的文件\n"
+#~ msgid "requested %d bytes, got %d from lookahead and %d from file\n"
+#~ msgstr "要求 %d 字节, 从预览中获取 %d, 从文件中获取 %d\n"
 
-#~ msgid "cannot reopen stdin\n"
-#~ msgstr "无法重新打开stdin\n"
+#~ msgid "could not write to tar member (wrote %lu, attempted %lu)\n"
+#~ msgstr "无法写入 tar 成员 (写了 %lu, 企图写 %lu)\n"
 
-#~ msgid "SQL command failed\n"
-#~ msgstr "SQL 命令失败\n"
+#~ msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n"
+#~ msgstr "向 tar 归档附加时写错误 (写了 %lu, 试图写 %lu)\n"
 
-#~ msgid "found more than one entry for pg_indexes in pg_class\n"
-#~ msgstr "在 pg_class 表中找到多条 pg_indexes 的记录\n"
+#~ msgid "could not close tar member: %s\n"
+#~ msgstr "无法关闭 tar 成员: %s\n"
 
-#~ msgid "could not find entry for pg_indexes in pg_class\n"
-#~ msgstr "在 pg_class 中无法为 pg_indexes 找到记录\n"
+#~ msgid "could not write tar header\n"
+#~ msgstr "无法写 tar 头\n"
 
-#~ msgid "found more than one pg_database entry for this database\n"
-#~ msgstr "找到此数据库的多于一条的 pg_database 记录\n"
+#~ msgid ""
+#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
+#~ msgstr "  -i, --ignore-version     当服务器版本不匹配时继续运行\n"
 
-#~ msgid "missing pg_database entry for this database\n"
-#~ msgstr "缺少此数据库的 pg_database 记录\n"
+#~ msgid ""
+#~ "  -i, --ignore-version     proceed even when server version mismatches\n"
+#~ "                           pg_dumpall version\n"
+#~ msgstr ""
+#~ "  -i, --ignore-version     当服务器版本与 pg_dumpall 不匹配时\n"
+#~ "                           继续运行\n"
 
-#~ msgid "query returned no rows: %s\n"
-#~ msgstr "查询放弃, 没有记录: %s\n"
+#~ msgid ""
+#~ "  -O, --no-owner           do not output commands to set object "
+#~ "ownership\n"
+#~ msgstr ""
+#~ "  -O, --no-owner           设置对象的所属者时不输出\n"
+#~ "                           命令\n"
 
-#~ msgid "dumpDatabase(): could not find pg_largeobject.relfrozenxid\n"
-#~ msgstr "dumpDatabase():  无法找到pg_largeobject.relfrozenxid\n"
+#~ msgid "-C and -c are incompatible options\n"
+#~ msgstr "-C 和 -c 是互不兼容的选项\n"
 
-#~ msgid ""
-#~ "query returned more than one (%d) pg_database entry for database \"%s\"\n"
-#~ msgstr "查询为数据库 \"%2$s\" 返回了超过一条 (%1$d) pg_database 记录\n"
+#~ msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n"
+#~ msgstr "实际文件位置和预期文件位置不匹配 (%s 对 %s)\n"
 
-#~ msgid "missing pg_database entry for database \"%s\"\n"
-#~ msgstr "缺少用于 \"%s\" 的 pg_database 记录\n"
+#~ msgid "could not output padding at end of tar member\n"
+#~ msgstr "无法在 tar 成员尾部输出填充内容\n"
 
-#~ msgid "*** aborted because of error\n"
-#~ msgstr "*** 因为错误退出\n"
+#~ msgid "could not write null block at end of tar archive\n"
+#~ msgstr "无法在 tar 归档末尾写 null 块\n"
 
-#~ msgid ""
-#~ "  --version                   output version information, then exit\n"
-#~ msgstr "  --versoin                    输出版本信息, 然后退出\n"
+#~ msgid "could not write byte\n"
+#~ msgstr "无法写字节\n"
 
-#~ msgid "  --help                      show this help, then exit\n"
-#~ msgstr "  --help                       显示此帮助信息, 然后退出\n"
+#~ msgid "could not write byte: %s\n"
+#~ msgstr "无法写字节: %s\n"
 
-#~ msgid "%s: invalid -X option -- %s\n"
-#~ msgstr "%s: 无效的 -X 选项 -- %s\n"
+#~ msgid "unexpected end of file\n"
+#~ msgstr "意外的文件结尾\n"
 
-#~ msgid "%s: could not parse version \"%s\"\n"
-#~ msgstr "%s: 无法解析版本 \"%s\"\n"
+#~ msgid "could not write to custom output routine\n"
+#~ msgstr "无法写出到客户输出过程\n"
 
-#~ msgid "could not parse version string \"%s\"\n"
-#~ msgstr "无法分析版本字串 \"%s\"\n"
+#~ msgid "could not write to output file: %s\n"
+#~ msgstr "无法写到输出文件: %s\n"
 
-#~ msgid "archive member too large for tar format\n"
-#~ msgstr "在 tar 格式中归档成员太大\n"
+#~ msgid "could not open output file \"%s\" for writing\n"
+#~ msgstr "无法打开输出文件 \"%s\" 用于写出\n"
diff --git a/src/bin/pg_resetxlog/po/es.po b/src/bin/pg_resetxlog/po/es.po
index 0fce174247d2c8e2bb66fa58a7f8b6fe88436a74..fec8ea973c8be7c0dd5a94dc5e2460f6348da630 100644
--- a/src/bin/pg_resetxlog/po/es.po
+++ b/src/bin/pg_resetxlog/po/es.po
@@ -13,14 +13,14 @@ msgstr ""
 "Project-Id-Version: pg_resetxlog (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Martín Marqués <martin@2ndquadrant.com>\n"
+"PO-Revision-Date: 2016-05-24 10:56-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: Español <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/restricted_token.c:68
 #, c-format
@@ -249,10 +249,9 @@ msgid "on"
 msgstr "activado"
 
 #: pg_resetxlog.c:649
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's NextXID:          %u/%u\n"
+#, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
-msgstr "NextXID del checkpoint más reciente:             %u/%u\n"
+msgstr "NextXID del checkpoint más reciente:             %u:%u\n"
 
 #: pg_resetxlog.c:652
 #, c-format
@@ -295,16 +294,14 @@ msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "BD del oldestMultiXid del checkpt. más reciente: %u\n"
 
 #: pg_resetxlog.c:668
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's oldestCommitTs:   %u\n"
+#, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
-msgstr "oldestCommitTs del último checkpoint:            %u\n"
+msgstr "oldestCommitTsXid del último checkpoint:         %u\n"
 
 #: pg_resetxlog.c:670
-#, fuzzy, c-format
-#| msgid "Latest checkpoint's newestCommitTs:   %u\n"
+#, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
-msgstr "newestCommitTs del último checkpoint:            %u\n"
+msgstr "newestCommitTsXid del último checkpoint:         %u\n"
 
 #: pg_resetxlog.c:672
 #, c-format
@@ -451,16 +448,14 @@ msgid "NextXID epoch:                        %u\n"
 msgstr "Epoch del NextXID:                    %u\n"
 
 #: pg_resetxlog.c:756
-#, fuzzy, c-format
-#| msgid "oldestCommitTs:                       %u\n"
+#, c-format
 msgid "oldestCommitTsXid:                    %u\n"
-msgstr "OldestCommitTs:                       %u\n"
+msgstr "oldestCommitTsXid:                    %u\n"
 
 #: pg_resetxlog.c:761
-#, fuzzy, c-format
-#| msgid "newestCommitTs:                       %u\n"
+#, c-format
 msgid "newestCommitTsXid:                    %u\n"
-msgstr "newestCommitTs:                       %u\n"
+msgstr "newestCommitTsXid:                    %u\n"
 
 #: pg_resetxlog.c:827
 #, c-format
diff --git a/src/bin/pg_resetxlog/po/ru.po b/src/bin/pg_resetxlog/po/ru.po
index ebe76628363b20ec43bec469185dfa6e4b2dd755..5a8e12e723adbdad22a5d9ba5f19a1b807d80865 100644
--- a/src/bin/pg_resetxlog/po/ru.po
+++ b/src/bin/pg_resetxlog/po/ru.po
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-12-29 22:13+0000\n"
+"POT-Creation-Date: 2016-05-27 16:14+0000\n"
 "PO-Revision-Date: 2015-12-31 14:56+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -276,8 +276,8 @@ msgstr "вкл."
 
 #: pg_resetxlog.c:649
 #, c-format
-msgid "Latest checkpoint's NextXID:          %u/%u\n"
-msgstr "NextXID последней конт. точки:        %u/%u\n"
+msgid "Latest checkpoint's NextXID:          %u:%u\n"
+msgstr "NextXID последней конт. точки:        %u:%u\n"
 
 #: pg_resetxlog.c:652
 #, c-format
diff --git a/src/bin/pg_resetxlog/po/zh_CN.po b/src/bin/pg_resetxlog/po/zh_CN.po
index 0598e2bdacfedf8d3e2b5cab206525fe4d494077..c199ac9a1a94635fae286da41692f15bd1ab78f2 100644
--- a/src/bin/pg_resetxlog/po/zh_CN.po
+++ b/src/bin/pg_resetxlog/po/zh_CN.po
@@ -5,10 +5,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_resetxlog (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:43+0000\n"
-"PO-Revision-Date: 2015-12-01 20:30+0800\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-05-19 20:41+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -55,7 +55,6 @@ msgstr "%s: 无法从子进程得到退出码: 错误码 %lu\n"
 #: pg_resetxlog.c:201 pg_resetxlog.c:216 pg_resetxlog.c:224 pg_resetxlog.c:250
 #: pg_resetxlog.c:264
 #, c-format
-#| msgid "%s: invalid argument for option -e\n"
 msgid "%s: invalid argument for option %s\n"
 msgstr "%s::选项%s的参数无效\n"
 
@@ -78,7 +77,6 @@ msgstr "%s: 事务 ID (-x) 不能为 0\n"
 
 #: pg_resetxlog.c:185 pg_resetxlog.c:192
 #, c-format
-#| msgid "%s: transfer rate must be greater than zero\n"
 msgid ""
 "%s: transaction ID (-c) must be either 0 or greater than or equal to 2\n"
 msgstr "%s:事务ID (-c) 必须是0或者大于等于2\n"
@@ -249,8 +247,9 @@ msgstr "开启"
 
 #: pg_resetxlog.c:649
 #, c-format
-msgid "Latest checkpoint's NextXID:          %u/%u\n"
-msgstr "最新检查点的 NextXID:                     %u/%u\n"
+#| msgid "Latest checkpoint's NextXID:          %u/%u\n"
+msgid "Latest checkpoint's NextXID:          %u:%u\n"
+msgstr "最新检查点的NextXID:          %u:%u\n"
 
 #: pg_resetxlog.c:652
 #, c-format
@@ -294,15 +293,15 @@ msgstr "最新检查点的oldestMulti所在的数据库: %u\n"
 
 #: pg_resetxlog.c:668
 #, c-format
-#| msgid "Latest checkpoint's oldestXID's DB:   %u\n"
-msgid "Latest checkpoint's oldestCommitTs:   %u\n"
-msgstr "最新检查点的oldestCommitTs:%u\n"
+#| msgid "Latest checkpoint's oldestCommitTs:   %u\n"
+msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
+msgstr "最新检查点的oldestCommitTsXid:%u\n"
 
 #: pg_resetxlog.c:670
 #, c-format
-#| msgid "Latest checkpoint's oldestXID's DB:   %u\n"
-msgid "Latest checkpoint's newestCommitTs:   %u\n"
-msgstr "最新检查点的newestCommitTs:%u\n"
+#| msgid "Latest checkpoint's newestCommitTs:   %u\n"
+msgid "Latest checkpoint's newestCommitTsXid:%u\n"
+msgstr "最新检查点的newestCommitTsXid:%u\n"
 
 #: pg_resetxlog.c:672
 #, c-format
@@ -450,15 +449,15 @@ msgstr "NextXID 末端:                        %u\n"
 
 #: pg_resetxlog.c:756
 #, c-format
-#| msgid "OldestMultiXid:                       %u\n"
-msgid "oldestCommitTs:                       %u\n"
-msgstr "oldestCommitTs:          %u\n"
+#| msgid "oldestCommitTs:                       %u\n"
+msgid "oldestCommitTsXid:                    %u\n"
+msgstr "oldestCommitTsXid:          %u\n"
 
 #: pg_resetxlog.c:761
 #, c-format
-#| msgid "OldestMultiXid:                       %u\n"
-msgid "newestCommitTs:                       %u\n"
-msgstr "newestCommitTs:          %u\n"
+#| msgid "newestCommitTs:                       %u\n"
+msgid "newestCommitTsXid:                    %u\n"
+msgstr "newestCommitTsXid:          %u\n"
 
 #: pg_resetxlog.c:827
 #, c-format
@@ -539,7 +538,6 @@ msgstr "选项:\n"
 
 #: pg_resetxlog.c:1170
 #, c-format
-#| msgid "  -m MXID,MXID     set next and oldest multitransaction ID\n"
 msgid ""
 "  -c XID,XID       set oldest and newest transactions bearing commit "
 "timestamp\n"
@@ -547,13 +545,11 @@ msgstr "  -c XID,XID       设置承受提交时间戳的最旧和最新事务\n
 
 #: pg_resetxlog.c:1171
 #, c-format
-#| msgid "  -O                 allow system table structure changes\n"
 msgid "                   (zero in either value means no change)\n"
 msgstr "                   (任一值中的零表示没有改变)\n"
 
 #: pg_resetxlog.c:1172
 #, c-format
-#| msgid "  -D DATADIR         database directory\n"
 msgid " [-D] DATADIR      data directory\n"
 msgstr " [-D] DATADIR      数据目录\n"
 
@@ -619,47 +615,47 @@ msgstr ""
 "\n"
 "报告错误至 <pgsql-bugs@postgresql.org>.\n"
 
-#~ msgid "%s: could not read from directory \"%s\": %s\n"
-#~ msgstr "%s: 无法从目录 \"%s\" 中读取: %s\n"
+#~ msgid "%s: invalid argument for option -x\n"
+#~ msgstr "%s: 为 -x 选项的无效参数\n"
 
-#~ msgid "  --help          show this help, then exit\n"
-#~ msgstr "  --help            显示此帮助信息, 然后退出\n"
+#~ msgid "%s: invalid argument for option -o\n"
+#~ msgstr "%s: 为 -o 选项的无效参数\n"
 
-#~ msgid "  --version       output version information, then exit\n"
-#~ msgstr "  --version         输出版本信息, 然后退出\n"
+#~ msgid "%s: invalid argument for option -m\n"
+#~ msgstr "%s: 对于选项-m 参数无效\n"
 
-#~ msgid "%s: invalid LC_COLLATE setting\n"
-#~ msgstr "%s: 无效的 LC_COLLATE 设置\n"
+#~ msgid "%s: invalid argument for option -O\n"
+#~ msgstr "%s: 对于选项-O 参数无效\n"
 
-#~ msgid "%s: invalid LC_CTYPE setting\n"
-#~ msgstr "%s: 无效的 LC_CTYPE 设置\n"
+#~ msgid "%s: invalid argument for option -l\n"
+#~ msgstr "%s: 为 -l 选项的无效参数\n"
 
-#~ msgid "Maximum number of function arguments: %u\n"
-#~ msgstr "函数参数的最大个数:                   %u\n"
+#~ msgid "First log file ID after reset:        %u\n"
+#~ msgstr "重置后的第一个日志文件ID:               %u\n"
 
-#~ msgid "Latest checkpoint's StartUpID:        %u\n"
-#~ msgstr "最新检查点的 StartUpID:               %u\n"
+#~ msgid "%s: invalid argument for -o option\n"
+#~ msgstr "%s: 为 -o 选项的无效参数\n"
 
 #~ msgid "%s: invalid argument for -x option\n"
 #~ msgstr "%s: 为 -x 选项的无效参数\n"
 
-#~ msgid "%s: invalid argument for -o option\n"
-#~ msgstr "%s: 为 -o 选项的无效参数\n"
+#~ msgid "Latest checkpoint's StartUpID:        %u\n"
+#~ msgstr "最新检查点的 StartUpID:               %u\n"
 
-#~ msgid "First log file ID after reset:        %u\n"
-#~ msgstr "重置后的第一个日志文件ID:               %u\n"
+#~ msgid "Maximum number of function arguments: %u\n"
+#~ msgstr "函数参数的最大个数:                   %u\n"
 
-#~ msgid "%s: invalid argument for option -l\n"
-#~ msgstr "%s: 为 -l 选项的无效参数\n"
+#~ msgid "%s: invalid LC_CTYPE setting\n"
+#~ msgstr "%s: 无效的 LC_CTYPE 设置\n"
 
-#~ msgid "%s: invalid argument for option -O\n"
-#~ msgstr "%s: 对于选项-O 参数无效\n"
+#~ msgid "%s: invalid LC_COLLATE setting\n"
+#~ msgstr "%s: 无效的 LC_COLLATE 设置\n"
 
-#~ msgid "%s: invalid argument for option -m\n"
-#~ msgstr "%s: 对于选项-m 参数无效\n"
+#~ msgid "  --version       output version information, then exit\n"
+#~ msgstr "  --version         输出版本信息, 然后退出\n"
 
-#~ msgid "%s: invalid argument for option -o\n"
-#~ msgstr "%s: 为 -o 选项的无效参数\n"
+#~ msgid "  --help          show this help, then exit\n"
+#~ msgstr "  --help            显示此帮助信息, 然后退出\n"
 
-#~ msgid "%s: invalid argument for option -x\n"
-#~ msgstr "%s: 为 -x 选项的无效参数\n"
+#~ msgid "%s: could not read from directory \"%s\": %s\n"
+#~ msgstr "%s: 无法从目录 \"%s\" 中读取: %s\n"
diff --git a/src/bin/pg_rewind/po/de.po b/src/bin/pg_rewind/po/de.po
index 21ab30c9fa1dd06365406237930782acaf1c81c6..ced62c94a96090d6a6f4379b46fecd5a59e9630a 100644
--- a/src/bin/pg_rewind/po/de.po
+++ b/src/bin/pg_rewind/po/de.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-05-03 19:14+0000\n"
-"PO-Revision-Date: 2016-05-03 22:38-0400\n"
+"POT-Creation-Date: 2016-06-17 17:14+0000\n"
+"PO-Revision-Date: 2016-06-17 15:16-0400\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: German <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -614,8 +614,8 @@ msgstr "Quelldatenverzeichnis muss sauber heruntergefahren worden sein\n"
 
 #: pg_rewind.c:462
 #, c-format
-msgid "Invalid control file"
-msgstr "Ungültige Kontrolldatei"
+msgid "invalid control file"
+msgstr "ungültige Kontrolldatei"
 
 #: pg_rewind.c:473
 #, c-format
@@ -633,30 +633,30 @@ msgstr "Verlauf der Zielzeitleiste:\n"
 msgid "%d: %X/%X - %X/%X\n"
 msgstr "%d: %X/%X - %X/%X\n"
 
-#: pg_rewind.c:547
+#: pg_rewind.c:548
 #, c-format
 msgid "could not find common ancestor of the source and target cluster's timelines\n"
 msgstr "konnte keinen gemeinsamen Anfangspunkt in den Zeitleisten von Quell- und Ziel-Cluster finden\n"
 
-#: pg_rewind.c:588
+#: pg_rewind.c:589
 #, c-format
 msgid "backup label buffer too small\n"
 msgstr "Puffer für Backup-Label ist zu klein\n"
 
-#: pg_rewind.c:611
+#: pg_rewind.c:612
 #, c-format
 msgid "unexpected control file CRC\n"
 msgstr "unerwartete CRC in Kontrolldatei\n"
 
-#: pg_rewind.c:621
+#: pg_rewind.c:622
 #, c-format
 msgid "unexpected control file size %d, expected %d\n"
 msgstr "unerwartete Kontrolldateigröße %d, erwartet wurde %d\n"
 
-#: pg_rewind.c:688
+#: pg_rewind.c:689
 #, c-format
 msgid ""
-"The program \"initdb\" is needed by %s but was \n"
+"The program \"initdb\" is needed by %s but was\n"
 "not found in the same directory as \"%s\".\n"
 "Check your installation.\n"
 msgstr ""
@@ -664,7 +664,7 @@ msgstr ""
 "selben Verzeichnis wie „%s“ gefunden.\n"
 "Prüfen Sie Ihre Installation.\n"
 
-#: pg_rewind.c:692
+#: pg_rewind.c:693
 #, c-format
 msgid ""
 "The program \"initdb\" was found by \"%s\"\n"
@@ -675,7 +675,7 @@ msgstr ""
 "aber es hatte nicht die gleiche Version wie %s.\n"
 "Prüfen Sie Ihre Installation.\n"
 
-#: pg_rewind.c:710
+#: pg_rewind.c:711
 #, c-format
 msgid "sync of target directory failed\n"
 msgstr "Synchronisieren des Zielverzeichnisses fehlgeschlagen\n"
@@ -715,137 +715,137 @@ msgstr "ungültige Daten in History-Datei\n"
 msgid "Timeline IDs must be less than child timeline's ID.\n"
 msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein.\n"
 
-#: xlogreader.c:285
+#: xlogreader.c:276
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "ungültiger Datensatz-Offset bei %X/%X"
 
-#: xlogreader.c:293
+#: xlogreader.c:284
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "Contrecord angefordert von %X/%X"
 
-#: xlogreader.c:334 xlogreader.c:633
+#: xlogreader.c:325 xlogreader.c:624
 #, c-format
 msgid "invalid record length at %X/%X: wanted %u, got %u"
 msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
 
-#: xlogreader.c:349
+#: xlogreader.c:340
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
 
-#: xlogreader.c:390
+#: xlogreader.c:381
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "keine Contrecord-Flag bei %X/%X"
 
-#: xlogreader.c:403
+#: xlogreader.c:394
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "ungültige Contrecord-Länge %u bei %X/%X"
 
-#: xlogreader.c:641
+#: xlogreader.c:632
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
 
-#: xlogreader.c:655 xlogreader.c:672
+#: xlogreader.c:646 xlogreader.c:663
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
 
-#: xlogreader.c:709
+#: xlogreader.c:700
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
 
-#: xlogreader.c:742
+#: xlogreader.c:733
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
 
-#: xlogreader.c:756 xlogreader.c:807
+#: xlogreader.c:747 xlogreader.c:798
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
 
-#: xlogreader.c:782
+#: xlogreader.c:773
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %s, Datenbanksystemidentifikator in pg_control ist %s"
 
-#: xlogreader.c:789
+#: xlogreader.c:780
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Falsche XLOG_SEG_SIZE im Seitenkopf"
 
-#: xlogreader.c:795
+#: xlogreader.c:786
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Falsche XLOG_BLCKSZ im Seitenkopf"
 
-#: xlogreader.c:821
+#: xlogreader.c:812
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 
-#: xlogreader.c:846
+#: xlogreader.c:837
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
 
-#: xlogreader.c:1053
+#: xlogreader.c:1044
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u außer der Reihe bei %X/%X"
 
-#: xlogreader.c:1075
+#: xlogreader.c:1066
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
 
-#: xlogreader.c:1082
+#: xlogreader.c:1073
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
 
-#: xlogreader.c:1115
+#: xlogreader.c:1106
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
 
-#: xlogreader.c:1131
+#: xlogreader.c:1122
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
 
-#: xlogreader.c:1146
+#: xlogreader.c:1137
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
 
-#: xlogreader.c:1161
+#: xlogreader.c:1152
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
 
-#: xlogreader.c:1177
+#: xlogreader.c:1168
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
 
-#: xlogreader.c:1189
+#: xlogreader.c:1180
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "ungültige block_id %u bei %X/%X"
 
-#: xlogreader.c:1254
+#: xlogreader.c:1245
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: xlogreader.c:1343
+#: xlogreader.c:1334
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
diff --git a/src/bin/pg_rewind/po/es.po b/src/bin/pg_rewind/po/es.po
index 12905c321027f3df23ea76d9fa11de13ea3ed23c..afd9e2be9d31d27176ae73731a0e840434fb80ce 100644
--- a/src/bin/pg_rewind/po/es.po
+++ b/src/bin/pg_rewind/po/es.po
@@ -8,17 +8,17 @@ msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Álvaro Herrera <alvherre@alvh.no-ip.org>\n"
+"PO-Revision-Date: 2016-05-24 12:18-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL Español <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127
-#: parsexlog.c:179
+#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 parsexlog.c:179
 #, c-format
 msgid "out of memory\n"
 msgstr "memoria agotada\n"
@@ -126,7 +126,7 @@ msgstr "no se pudo cerrar el archivo «%s»: %s\n"
 #: datapagemap.c:124
 #, c-format
 msgid "  block %u\n"
-msgstr ""
+msgstr "  bloque %u\n"
 
 #: file_ops.c:64
 #, c-format
@@ -225,10 +225,9 @@ msgstr "modificación de página inesperada para el directorio o link simbólico
 
 #. translator: first %s is a file path, second is a keyword such as COPY
 #: filemap.c:537
-#, fuzzy, c-format
-#| msgid "%s (%s/%s) "
+#, c-format
 msgid "%s (%s)\n"
-msgstr "%s (%s/%s) "
+msgstr "%s (%s)\n"
 
 #: libpq_fetch.c:55
 #, c-format
@@ -577,10 +576,9 @@ msgstr ""
 "creando etiqueta de respaldo y actualizando archivo de control\n"
 
 #: pg_rewind.c:353
-#, fuzzy, c-format
-#| msgid "%s: failed to remove data directory\n"
+#, c-format
 msgid "syncing target data directory\n"
-msgstr "%s: no se pudo eliminar el directorio de datos\n"
+msgstr "sincronizando directorio de datos de destino\n"
 
 #: pg_rewind.c:356
 #, c-format
@@ -613,28 +611,25 @@ msgid "source data directory must be shut down cleanly\n"
 msgstr "el directorio de origen debe estar apagado limpiamente\n"
 
 #: pg_rewind.c:462
-#, fuzzy, c-format
-#| msgid "Invalid character value."
+#, c-format
 msgid "Invalid control file"
-msgstr "Valor de carácter no válido."
+msgstr "Archivo de control no válido."
 
 #: pg_rewind.c:473
-#, fuzzy, c-format
-#| msgid "source file list is empty\n"
+#, c-format
 msgid "Source timeline history:\n"
-msgstr "el listado de archivos de origen está vacío\n"
+msgstr "Historia de timeline origen:\n"
 
 #: pg_rewind.c:475
-#, fuzzy, c-format
-#| msgid "new target timeline is %u"
+#, c-format
 msgid "Target timeline history:\n"
-msgstr "el nuevo timeline destino es %u"
+msgstr "Historia de timeline destino:\n"
 
 #. translator: %d is a timeline number, others are LSN positions
 #: pg_rewind.c:489
 #, c-format
 msgid "%d: %X/%X - %X/%X\n"
-msgstr ""
+msgstr "%d: %X/%X - %X/%X\n"
 
 #: pg_rewind.c:547
 #, c-format
@@ -657,40 +652,31 @@ msgid "unexpected control file size %d, expected %d\n"
 msgstr "tamaño del archivo de control %d inesperado, se esperaba %d\n"
 
 #: pg_rewind.c:688
-#, fuzzy, c-format
-#| msgid ""
-#| "The program \"%s\" is needed by %s but was not found in the\n"
-#| "same directory as \"%s\".\n"
-#| "Check your installation.\n"
+#, c-format
 msgid ""
 "The program \"initdb\" is needed by %s but was \n"
 "not found in the same directory as \"%s\".\n"
 "Check your installation.\n"
 msgstr ""
-"%s necesita el programa «%s», pero no pudo encontrarlo en el mismo\n"
+"%s necesita el programa «initdb», pero no pudo encontrarlo en el mismo\n"
 "directorio que «%s».\n"
 "Verifique su instalación.\n"
 
 #: pg_rewind.c:692
-#, fuzzy, c-format
-#| msgid ""
-#| "The program \"%s\" was found by \"%s\"\n"
-#| "but was not the same version as %s.\n"
-#| "Check your installation.\n"
+#, c-format
 msgid ""
 "The program \"initdb\" was found by \"%s\"\n"
 "but was not the same version as %s.\n"
 "Check your installation.\n"
 msgstr ""
-"El programa «%s» fue encontrado por «%s», pero no es\n"
-"de la misma versión que «%s».\n"
+"El programa «initdb» fue encontrado por «%s», pero no es\n"
+"de la misma versión que %s.\n"
 "Verifique su instalación.\n"
 
 #: pg_rewind.c:710
-#, fuzzy, c-format
-#| msgid "%s: no target directory specified\n"
+#, c-format
 msgid "sync of target directory failed\n"
-msgstr "%s: no se especificó un directorio de salida\n"
+msgstr "falló sincronización de directorio destino\n"
 
 #: timeline.c:76 timeline.c:82
 #, c-format
@@ -738,10 +724,9 @@ msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
 #: xlogreader.c:334 xlogreader.c:633
-#, fuzzy, c-format
-#| msgid "invalid record length at %X/%X"
+#, c-format
 msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "largo de registro no válido en %X/%X"
+msgstr "largo de registro no válido en %X/%X: se esperaba %u, se obtuvo %u"
 
 #: xlogreader.c:349
 #, c-format
diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po
index 6313f9483562284e6f464ba8a2c2e105fdd84b6c..cf8133303bc9145a449c28228a7cbcae98fb39d0 100644
--- a/src/bin/pg_rewind/po/ru.po
+++ b/src/bin/pg_rewind/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-10-17 05:43+0000\n"
+"POT-Creation-Date: 2016-06-14 20:44+0000\n"
 "PO-Revision-Date: 2015-10-18 18:13+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -20,8 +20,7 @@ msgstr ""
 "X-Generator: Lokalize 2.0\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127
-#: parsexlog.c:179
+#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 parsexlog.c:179
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -117,7 +116,7 @@ msgstr "не удалось открыть исходный файл \"%s\": %s\
 msgid "could not seek in source file: %s\n"
 msgstr "не удалось переместиться в исходном файле: %s\n"
 
-#: copy_fetch.c:192 file_ops.c:301
+#: copy_fetch.c:192 file_ops.c:300
 #, c-format
 msgid "could not read file \"%s\": %s\n"
 msgstr "не удалось прочитать файл \"%s\": %s\n"
@@ -132,6 +131,11 @@ msgstr "неожиданный конец при чтении файла \"%s\"\
 msgid "could not close file \"%s\": %s\n"
 msgstr "не удалось закрыть файл \"%s\": %s\n"
 
+#: datapagemap.c:124
+#, c-format
+msgid "  block %u\n"
+msgstr "  блок %u\n"
+
 #: file_ops.c:64
 #, c-format
 msgid "could not open target file \"%s\": %s\n"
@@ -142,57 +146,57 @@ msgstr "не удалось открыть целевой файл \"%s\": %s\n"
 msgid "could not close target file \"%s\": %s\n"
 msgstr "не удалось закрыть целевой файл \"%s\": %s\n"
 
-#: file_ops.c:99
+#: file_ops.c:98
 #, c-format
 msgid "could not seek in target file \"%s\": %s\n"
 msgstr "не удалось переместиться в целевом файле \"%s\": %s\n"
 
-#: file_ops.c:115
+#: file_ops.c:114
 #, c-format
 msgid "could not write file \"%s\": %s\n"
 msgstr "не удалось записать файл \"%s\": %s\n"
 
-#: file_ops.c:165
+#: file_ops.c:164
 #, c-format
 msgid "invalid action (CREATE) for regular file\n"
 msgstr "неверное действие (CREATE) для обычного файла\n"
 
-#: file_ops.c:180
+#: file_ops.c:179
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "не удалось стереть файл \"%s\": %s\n"
 
-#: file_ops.c:197
+#: file_ops.c:196
 #, c-format
 msgid "could not open file \"%s\" for truncation: %s\n"
 msgstr "не удалось открыть файл \"%s\" для усечения: %s\n"
 
-#: file_ops.c:201
+#: file_ops.c:200
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %s\n"
 msgstr "не удалось усечь файл \"%s\" до нужного размера (%u): %s\n"
 
-#: file_ops.c:217
+#: file_ops.c:216
 #, c-format
 msgid "could not create directory \"%s\": %s\n"
 msgstr "создать каталог \"%s\" не удалось: %s\n"
 
-#: file_ops.c:231
+#: file_ops.c:230
 #, c-format
 msgid "could not remove directory \"%s\": %s\n"
 msgstr "ошибка при удалении каталога \"%s\": %s\n"
 
-#: file_ops.c:245
+#: file_ops.c:244
 #, c-format
 msgid "could not create symbolic link at \"%s\": %s\n"
 msgstr "не удалось создать символическую ссылку \"%s\": %s\n"
 
-#: file_ops.c:259
+#: file_ops.c:258
 #, c-format
 msgid "could not remove symbolic link \"%s\": %s\n"
 msgstr "ошибка при удалении символической ссылки \"%s\": %s\n"
 
-#: file_ops.c:289 file_ops.c:293
+#: file_ops.c:288 file_ops.c:292
 #, c-format
 msgid "could not open file \"%s\" for reading: %s\n"
 msgstr "не удалось открыть файл \"%s\" для чтения: %s\n"
@@ -229,6 +233,12 @@ msgstr ""
 "неожиданная модификация страницы для каталога или символической ссылки \"%s"
 "\"\n"
 
+#. translator: first %s is a file path, second is a keyword such as COPY
+#: filemap.c:537
+#, c-format
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
 #: libpq_fetch.c:55
 #, c-format
 msgid "could not connect to server: %s"
@@ -403,22 +413,22 @@ msgstr "не удалось найти предыдущую запись WAL в
 msgid "could not find previous WAL record at %X/%X\n"
 msgstr "не удалось найти предыдущую запись WAL в позиции %X/%X\n"
 
-#: parsexlog.c:268
+#: parsexlog.c:283
 #, c-format
 msgid "could not open file \"%s\": %s\n"
 msgstr "не удалось открыть файл \"%s\": %s\n"
 
-#: parsexlog.c:282
+#: parsexlog.c:297
 #, c-format
 msgid "could not seek in file \"%s\": %s\n"
 msgstr "не удалось переместиться в файле \"%s\": %s\n"
 
-#: parsexlog.c:289
+#: parsexlog.c:304
 #, c-format
 msgid "could not read from file \"%s\": %s\n"
 msgstr "не удалось прочитать файл \"%s\": %s\n"
 
-#: parsexlog.c:357
+#: parsexlog.c:372
 #, c-format
 msgid ""
 "WAL record modifies a relation, but record type is not recognized\n"
@@ -427,7 +437,7 @@ msgstr ""
 "Запись WAL модифицирует отношение, но тип записи не распознан\n"
 "lsn: %X/%X, rmgr: %s, info: %02X\n"
 
-#: pg_rewind.c:59
+#: pg_rewind.c:64
 #, c-format
 msgid ""
 "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
@@ -436,7 +446,7 @@ msgstr ""
 "%s синхронизирует кластер PostgreSQL с другой копией кластера.\n"
 "\n"
 
-#: pg_rewind.c:60
+#: pg_rewind.c:65
 #, c-format
 msgid ""
 "Usage:\n"
@@ -447,19 +457,19 @@ msgstr ""
 "  %s [ПАРАМЕТР]...\n"
 "\n"
 
-#: pg_rewind.c:61
+#: pg_rewind.c:66
 #, c-format
 msgid "Options:\n"
 msgstr "Параметры:\n"
 
-#: pg_rewind.c:62
+#: pg_rewind.c:67
 #, c-format
 msgid "  -D, --target-pgdata=DIRECTORY  existing data directory to modify\n"
 msgstr ""
 "  -D, --target-pgdata=КАТАЛОГ    существующий каталог, куда будут записаны "
 "данные\n"
 
-#: pg_rewind.c:63
+#: pg_rewind.c:68
 #, c-format
 msgid ""
 "      --source-pgdata=DIRECTORY  source data directory to synchronize with\n"
@@ -467,43 +477,43 @@ msgstr ""
 "      --source-pgdata=КАТАЛОГ    исходный каталог, с которым будет проведена "
 "синхронизация\n"
 
-#: pg_rewind.c:64
+#: pg_rewind.c:69
 #, c-format
 msgid "      --source-server=CONNSTR    source server to synchronize with\n"
 msgstr ""
 "      --source-server=СТР_ПОДКЛ  сервер, с которым будет проведена "
 "синхронизация\n"
 
-#: pg_rewind.c:65
+#: pg_rewind.c:70
 #, c-format
 msgid "  -n, --dry-run                  stop before modifying anything\n"
 msgstr ""
 "  -n, --dry-run                  остановиться до внесения каких-либо "
 "изменений\n"
 
-#: pg_rewind.c:66
+#: pg_rewind.c:71
 #, c-format
 msgid "  -P, --progress                 write progress messages\n"
 msgstr "  -P, --progress                 выводить сообщения о ходе процесса\n"
 
-#: pg_rewind.c:67
+#: pg_rewind.c:72
 #, c-format
 msgid "      --debug                    write a lot of debug messages\n"
 msgstr ""
 "      --debug                    выдавать множество отладочных сообщений\n"
 
-#: pg_rewind.c:68
+#: pg_rewind.c:73
 #, c-format
 msgid ""
 "  -V, --version                  output version information, then exit\n"
 msgstr "  -V, --version                  показать версию и выйти\n"
 
-#: pg_rewind.c:69
+#: pg_rewind.c:74
 #, c-format
 msgid "  -?, --help                     show this help, then exit\n"
 msgstr "  -?, --help                     показать эту справку и выйти\n"
 
-#: pg_rewind.c:70
+#: pg_rewind.c:75
 #, c-format
 msgid ""
 "\n"
@@ -512,81 +522,81 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_rewind.c:125 pg_rewind.c:156 pg_rewind.c:163 pg_rewind.c:171
+#: pg_rewind.c:130 pg_rewind.c:161 pg_rewind.c:168 pg_rewind.c:176
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: pg_rewind.c:155
+#: pg_rewind.c:160
 #, c-format
 msgid "%s: no source specified (--source-pgdata or --source-server)\n"
 msgstr ""
 "%s: источник не указан (требуется --source-pgdata или --source-server)\n"
 
-#: pg_rewind.c:162
+#: pg_rewind.c:167
 #, c-format
 msgid "%s: no target data directory specified (--target-pgdata)\n"
 msgstr "%s: целевой каталог данных не указан (--target-pgdata)\n"
 
-#: pg_rewind.c:169
+#: pg_rewind.c:174
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
 
-#: pg_rewind.c:184
+#: pg_rewind.c:189
 #, c-format
 msgid "cannot be executed by \"root\"\n"
 msgstr "программу не должен запускать root\n"
 
-#: pg_rewind.c:185
+#: pg_rewind.c:190
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser.\n"
 msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL.\n"
 
-#: pg_rewind.c:215
+#: pg_rewind.c:221
 #, c-format
 msgid "source and target cluster are on the same timeline\n"
 msgstr "исходный и целевой кластер уже на одной линии времени\n"
 
-#: pg_rewind.c:218
+#: pg_rewind.c:227
 #, c-format
 msgid "servers diverged at WAL position %X/%X on timeline %u\n"
 msgstr "Серверы разошлись в позиции WAL %X/%X на линии времени %u.\n"
 
-#: pg_rewind.c:253
+#: pg_rewind.c:264
 #, c-format
 msgid "no rewind required\n"
 msgstr "перемотка не требуется.\n"
 
-#: pg_rewind.c:259
+#: pg_rewind.c:271
 #, c-format
 msgid "rewinding from last common checkpoint at %X/%X on timeline %u\n"
 msgstr ""
 "перемотка от последней общей контрольной точки в позиции %X/%X на линии "
 "времени %u\n"
 
-#: pg_rewind.c:267
+#: pg_rewind.c:279
 #, c-format
 msgid "reading source file list\n"
 msgstr "чтение списка исходных файлов\n"
 
-#: pg_rewind.c:269
+#: pg_rewind.c:281
 #, c-format
 msgid "reading target file list\n"
 msgstr "чтение списка целевых файлов\n"
 
-#: pg_rewind.c:279
+#: pg_rewind.c:291
 #, c-format
 msgid "reading WAL in target\n"
 msgstr "чтение WAL в целевом кластере\n"
 
-#: pg_rewind.c:296
+#: pg_rewind.c:308
 #, c-format
 msgid "need to copy %lu MB (total source directory size is %lu MB)\n"
 msgstr ""
 "требуется скопировать %lu МБ (общий размер исходного каталога: %lu МБ)\n"
 
-#: pg_rewind.c:313
+#: pg_rewind.c:325
 #, c-format
 msgid ""
 "\n"
@@ -595,22 +605,27 @@ msgstr ""
 "\n"
 "создание метки копии и модификация управляющего файла\n"
 
-#: pg_rewind.c:341
+#: pg_rewind.c:353
+#, c-format
+msgid "syncing target data directory\n"
+msgstr "синхронизация целевого каталога данных\n"
+
+#: pg_rewind.c:356
 #, c-format
 msgid "Done!\n"
 msgstr "Готово!\n"
 
-#: pg_rewind.c:353
+#: pg_rewind.c:368
 #, c-format
 msgid "source and target clusters are from different systems\n"
 msgstr "исходный и целевой кластеры относятся к разным системам\n"
 
-#: pg_rewind.c:361
+#: pg_rewind.c:376
 #, c-format
 msgid "clusters are not compatible with this version of pg_rewind\n"
 msgstr "кластеры несовместимы с этой версией pg_rewind\n"
 
-#: pg_rewind.c:371
+#: pg_rewind.c:386
 #, c-format
 msgid ""
 "target server needs to use either data checksums or \"wal_log_hints = on\"\n"
@@ -618,38 +633,86 @@ msgstr ""
 "на целевом сервере должны быть контрольные суммы данных или \"wal_log_hints "
 "= on\"\n"
 
-#: pg_rewind.c:381
+#: pg_rewind.c:397
 #, c-format
 msgid "target server must be shut down cleanly\n"
 msgstr "целевой сервер должен быть выключен штатно\n"
 
-#: pg_rewind.c:389
+#: pg_rewind.c:407
 #, c-format
 msgid "source data directory must be shut down cleanly\n"
 msgstr "работа с исходным каталогом данных должна быть завершена штатно\n"
 
-#: pg_rewind.c:456
+#: pg_rewind.c:462
+#, c-format
+msgid "invalid control file"
+msgstr "неверный управляющий файл"
+
+#: pg_rewind.c:473
+#, c-format
+msgid "Source timeline history:\n"
+msgstr "История линии времени источника:\n"
+
+#: pg_rewind.c:475
+#, c-format
+msgid "Target timeline history:\n"
+msgstr "История линии времени получателя:\n"
+
+#. translator: %d is a timeline number, others are LSN positions
+#: pg_rewind.c:489
+#, c-format
+msgid "%d: %X/%X - %X/%X\n"
+msgstr "%d: %X/%X - %X/%X\n"
+
+#: pg_rewind.c:548
 #, c-format
 msgid ""
 "could not find common ancestor of the source and target cluster's timelines\n"
 msgstr ""
-"не удалось найти общего предка линий времени исходного и целевых кластеров\n"
+"не удалось найти общего предка линий времени исходного и целевого кластеров\n"
 
-#: pg_rewind.c:496
+#: pg_rewind.c:589
 #, c-format
 msgid "backup label buffer too small\n"
 msgstr "буфер для метки копии слишком мал\n"
 
-#: pg_rewind.c:518
+#: pg_rewind.c:612
 #, c-format
 msgid "unexpected control file CRC\n"
 msgstr "неверная контрольная сумма управляющего файла\n"
 
-#: pg_rewind.c:528
+#: pg_rewind.c:622
 #, c-format
 msgid "unexpected control file size %d, expected %d\n"
 msgstr "неверный размер управляющего файла (%d), ожидалось: %d\n"
 
+#: pg_rewind.c:689
+#, c-format
+msgid ""
+"The program \"initdb\" is needed by %s but was\n"
+"not found in the same directory as \"%s\".\n"
+"Check your installation.\n"
+msgstr ""
+"Для %s необходима программа \"initdb\", но она не найдена\n"
+"в каталоге \"%s\".\n"
+"Проверьте вашу установку PostgreSQL.\n"
+
+#: pg_rewind.c:693
+#, c-format
+msgid ""
+"The program \"initdb\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation.\n"
+msgstr ""
+"Программа \"initdb\" найдена в \"%s\",\n"
+"но её версия отличается от версии %s.\n"
+"Проверьте вашу установку PostgreSQL.\n"
+
+#: pg_rewind.c:711
+#, c-format
+msgid "sync of target directory failed\n"
+msgstr "сбой синхронизации целевого каталога\n"
+
 #: timeline.c:76 timeline.c:82
 #, c-format
 msgid "syntax error in history file: %s\n"
@@ -687,64 +750,64 @@ msgstr ""
 "Идентификаторы линий времени должны быть меньше идентификатора линии-"
 "потомка.\n"
 
-#: xlogreader.c:264
+#: xlogreader.c:276
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "неверное смещение записи: %X/%X"
 
-#: xlogreader.c:272
+#: xlogreader.c:284
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "по смещению %X/%X запрошено продолжение записи"
 
-#: xlogreader.c:312 xlogreader.c:603
+#: xlogreader.c:325 xlogreader.c:624
 #, c-format
-msgid "invalid record length at %X/%X"
-msgstr "неверная длина записи по смещению %X/%X"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
 
-#: xlogreader.c:326
+#: xlogreader.c:340
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "длина записи %u по смещению %X/%X слишком велика"
 
-#: xlogreader.c:367
+#: xlogreader.c:381
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: xlogreader.c:380
+#: xlogreader.c:394
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "неверная длина contrecord (%u) в позиции %X/%X"
 
-#: xlogreader.c:610
+#: xlogreader.c:632
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
 
-#: xlogreader.c:624 xlogreader.c:641
+#: xlogreader.c:646 xlogreader.c:663
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X"
 
-#: xlogreader.c:678
+#: xlogreader.c:700
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи по "
 "смещению %X/%X"
 
-#: xlogreader.c:711
+#: xlogreader.c:733
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u"
 
-#: xlogreader.c:725 xlogreader.c:776
+#: xlogreader.c:747 xlogreader.c:798
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u"
 
-#: xlogreader.c:751
+#: xlogreader.c:773
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -753,7 +816,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД %s, "
 "а идентификатор системы pg_control: %s"
 
-#: xlogreader.c:758
+#: xlogreader.c:780
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page "
@@ -762,7 +825,7 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_SEG_SIZE в заголовке "
 "страницы"
 
-#: xlogreader.c:764
+#: xlogreader.c:786
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
@@ -771,35 +834,35 @@ msgstr ""
 "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы"
 
-#: xlogreader.c:790
+#: xlogreader.c:812
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u"
 
-#: xlogreader.c:815
+#: xlogreader.c:837
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте "
 "журнала %s, смещение %u"
 
-#: xlogreader.c:1024
+#: xlogreader.c:1044
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
 
-#: xlogreader.c:1046
+#: xlogreader.c:1066
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
 
-#: xlogreader.c:1053
+#: xlogreader.c:1073
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr ""
 "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
 
-#: xlogreader.c:1086
+#: xlogreader.c:1106
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -808,21 +871,21 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
 "при длине образа блока %u в позиции %X/%X"
 
-#: xlogreader.c:1102
+#: xlogreader.c:1122
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
 "%u в позиции %X/%X"
 
-#: xlogreader.c:1117
+#: xlogreader.c:1137
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_IS_COMPRESSED установлен, но длина образа блока равна %u в позиции "
 "%X/%X"
 
-#: xlogreader.c:1132
+#: xlogreader.c:1152
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
@@ -831,24 +894,25 @@ msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_IS_COMPRESSED не установлены, но длина "
 "образа блока равна %u в позиции %X/%X"
 
-#: xlogreader.c:1148
+#: xlogreader.c:1168
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
-#: xlogreader.c:1160
+#: xlogreader.c:1180
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "неверный идентификатор блока %u в позиции %X/%X"
 
-#: xlogreader.c:1225
+#: xlogreader.c:1245
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "запись с неверной длиной в позиции %X/%X"
 
-#: xlogreader.c:1314
+#: xlogreader.c:1334
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "неверный сжатый образ в позиции %X/%X, блок %d"
+
diff --git a/src/bin/pg_rewind/po/zh_CN.po b/src/bin/pg_rewind/po/zh_CN.po
index 36178390c468160fc03dc728a0a9f1d4ed40705c..0a60698417ac2b11954985d69cf883898c208bff 100644
--- a/src/bin/pg_rewind/po/zh_CN.po
+++ b/src/bin/pg_rewind/po/zh_CN.po
@@ -7,10 +7,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL) 9.5\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:44+0000\n"
-"PO-Revision-Date: 2016-01-03 23:28-0500\n"
+"POT-Creation-Date: 2016-04-18 04:45+0000\n"
+"PO-Revision-Date: 2016-05-19 20:41+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -112,7 +112,7 @@ msgstr "无法打开源文件\"%s\": %s\n"
 msgid "could not seek in source file: %s\n"
 msgstr "无法在源文件中定位(seek):%s\n"
 
-#: copy_fetch.c:192 file_ops.c:301
+#: copy_fetch.c:192 file_ops.c:300
 #, c-format
 msgid "could not read file \"%s\": %s\n"
 msgstr "无法读取文件\"%s\": %s\n"
@@ -127,6 +127,11 @@ msgstr "读取文件\"%s\"时遇到意料之外的EOF\n"
 msgid "could not close file \"%s\": %s\n"
 msgstr "无法关闭文件\"%s\": %s\n"
 
+#: datapagemap.c:124
+#, c-format
+msgid "  block %u\n"
+msgstr "  块 %u\n"
+
 #: file_ops.c:64
 #, c-format
 msgid "could not open target file \"%s\": %s\n"
@@ -137,57 +142,57 @@ msgstr "无法打开目标文件\"%s\": %s\n"
 msgid "could not close target file \"%s\": %s\n"
 msgstr "无法关闭目标文件\"%s\": %s\n"
 
-#: file_ops.c:99
+#: file_ops.c:98
 #, c-format
 msgid "could not seek in target file \"%s\": %s\n"
 msgstr "无法在目标文件\"%s\"中定位(seek): %s\n"
 
-#: file_ops.c:115
+#: file_ops.c:114
 #, c-format
 msgid "could not write file \"%s\": %s\n"
 msgstr "无法写文件\"%s\": %s\n"
 
-#: file_ops.c:165
+#: file_ops.c:164
 #, c-format
 msgid "invalid action (CREATE) for regular file\n"
 msgstr "对常规文件无效的动作(CREATE)\n"
 
-#: file_ops.c:180
+#: file_ops.c:179
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "无法删除文件 \"%s\": %s\n"
 
-#: file_ops.c:197
+#: file_ops.c:196
 #, c-format
 msgid "could not open file \"%s\" for truncation: %s\n"
 msgstr "无法打开文件\"%s\"用于截断:%s\n"
 
-#: file_ops.c:201
+#: file_ops.c:200
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %s\n"
 msgstr "无法截断文件\"%s\"到%u: %s\n"
 
-#: file_ops.c:217
+#: file_ops.c:216
 #, c-format
 msgid "could not create directory \"%s\": %s\n"
 msgstr "无法创建目录 \"%s\": %s\n"
 
-#: file_ops.c:231
+#: file_ops.c:230
 #, c-format
 msgid "could not remove directory \"%s\": %s\n"
 msgstr "无法移除目录\"%s\": %s\n"
 
-#: file_ops.c:245
+#: file_ops.c:244
 #, c-format
 msgid "could not create symbolic link at \"%s\": %s\n"
 msgstr "无法在\"%s\"创建符号链接: %s\n"
 
-#: file_ops.c:259
+#: file_ops.c:258
 #, c-format
 msgid "could not remove symbolic link \"%s\": %s\n"
 msgstr "无法移除符号链接\"%s\": %s\n"
 
-#: file_ops.c:289 file_ops.c:293
+#: file_ops.c:288 file_ops.c:292
 #, c-format
 msgid "could not open file \"%s\" for reading: %s\n"
 msgstr "无法打开文件\"%s\"用于读取: %s\n"
@@ -222,6 +227,13 @@ msgstr "源文件列表为空\n"
 msgid "unexpected page modification for directory or symbolic link \"%s\"\n"
 msgstr "对目录或符号链接\"%s\"的意料之外的页修改\n"
 
+#. translator: first %s is a file path, second is a keyword such as COPY
+#: filemap.c:537
+#, c-format
+#| msgid "%s (%s/%s) "
+msgid "%s (%s)\n"
+msgstr "%s (%s)\n"
+
 #: libpq_fetch.c:55
 #, c-format
 msgid "could not connect to server: %s"
@@ -393,22 +405,22 @@ msgid "could not find previous WAL record at %X/%X\n"
 msgstr "无法在%X/%X找到前一个WAL记录\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: parsexlog.c:268
+#: parsexlog.c:283
 #, c-format
 msgid "could not open file \"%s\": %s\n"
 msgstr "无法打开文件 \"%s\": %s\n"
 
-#: parsexlog.c:282
+#: parsexlog.c:297
 #, c-format
 msgid "could not seek in file \"%s\": %s\n"
 msgstr "无法在文件\"%s\"中定位(seek):%s\n"
 
-#: parsexlog.c:289
+#: parsexlog.c:304
 #, c-format
 msgid "could not read from file \"%s\": %s\n"
 msgstr "无法读取文件 \"%s\": %s\n"
 
-#: parsexlog.c:357
+#: parsexlog.c:372
 #, c-format
 msgid ""
 "WAL record modifies a relation, but record type is not recognized\n"
@@ -417,7 +429,7 @@ msgstr ""
 "WAL记录修改了一个关系,但是记录类型无法识别\n"
 "lsn: %X/%X, rmgr: %s, info: %02X\n"
 
-#: pg_rewind.c:59
+#: pg_rewind.c:64
 #, c-format
 msgid ""
 "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
@@ -426,7 +438,7 @@ msgstr ""
 "%s用一个PostgreSQL集簇的另一个拷贝重新同步了该集簇。\n"
 "\n"
 
-#: pg_rewind.c:60
+#: pg_rewind.c:65
 #, c-format
 msgid ""
 "Usage:\n"
@@ -437,54 +449,54 @@ msgstr ""
 "  %s [选项]...\n"
 "\n"
 
-#: pg_rewind.c:61
+#: pg_rewind.c:66
 #, c-format
 msgid "Options:\n"
 msgstr "选项:\n"
 
-#: pg_rewind.c:62
+#: pg_rewind.c:67
 #, c-format
 msgid "  -D, --target-pgdata=DIRECTORY  existing data directory to modify\n"
 msgstr "  -D, --target-pgdata=DIRECTORY  已有的要修改的数据目录\n"
 
-#: pg_rewind.c:63
+#: pg_rewind.c:68
 #, c-format
 msgid ""
 "      --source-pgdata=DIRECTORY  source data directory to synchronize with\n"
 msgstr "      --source-pgdata=DIRECTORY  要与之同步的源数据目录\n"
 
-#: pg_rewind.c:64
+#: pg_rewind.c:69
 #, c-format
 msgid "      --source-server=CONNSTR    source server to synchronize with\n"
 msgstr "      --source-server=CONNSTR    要与之同步的源服务器\n"
 
-#: pg_rewind.c:65
+#: pg_rewind.c:70
 #, c-format
 msgid "  -n, --dry-run                  stop before modifying anything\n"
 msgstr "  -n, --dry-run                  在修改任何东西之前停止\n"
 
-#: pg_rewind.c:66
+#: pg_rewind.c:71
 #, c-format
 msgid "  -P, --progress                 write progress messages\n"
 msgstr "  -P, --progress                 写出进度消息\n"
 
-#: pg_rewind.c:67
+#: pg_rewind.c:72
 #, c-format
 msgid "      --debug                    write a lot of debug messages\n"
 msgstr "      --debug                    写出很多调试消息\n"
 
-#: pg_rewind.c:68
+#: pg_rewind.c:73
 #, c-format
 msgid ""
 "  -V, --version                  output version information, then exit\n"
 msgstr "  -V, --version                  输出版本信息,然后退出\n"
 
-#: pg_rewind.c:69
+#: pg_rewind.c:74
 #, c-format
 msgid "  -?, --help                     show this help, then exit\n"
 msgstr "  -?, --help                     显示本帮助,然后退出\n"
 
-#: pg_rewind.c:70
+#: pg_rewind.c:75
 #, c-format
 msgid ""
 "\n"
@@ -493,77 +505,77 @@ msgstr ""
 "\n"
 "报告错误至 <pgql-bugs@postgresql.org>.\n"
 
-#: pg_rewind.c:125 pg_rewind.c:156 pg_rewind.c:163 pg_rewind.c:171
+#: pg_rewind.c:130 pg_rewind.c:161 pg_rewind.c:168 pg_rewind.c:176
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: pg_rewind.c:155
+#: pg_rewind.c:160
 #, c-format
 msgid "%s: no source specified (--source-pgdata or --source-server)\n"
 msgstr "%s:没有指定源 (--source-pgdata 或者 --source-server)\n"
 
-#: pg_rewind.c:162
+#: pg_rewind.c:167
 #, c-format
 msgid "%s: no target data directory specified (--target-pgdata)\n"
 msgstr "%s:没有指定目标数据目录 (--target-pgdata)\n"
 
-#: pg_rewind.c:169
+#: pg_rewind.c:174
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: pg_rewind.c:184
+#: pg_rewind.c:189
 #, c-format
 msgid "cannot be executed by \"root\"\n"
 msgstr "不能由\"root\"执行\n"
 
-#: pg_rewind.c:185
+#: pg_rewind.c:190
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser.\n"
 msgstr "您现在作为PostgreSQL超级用户运行%s.\n"
 
-#: pg_rewind.c:215
+#: pg_rewind.c:221
 #, c-format
 msgid "source and target cluster are on the same timeline\n"
 msgstr "源集簇和目标集簇处于同一时间线\n"
 
-#: pg_rewind.c:218
+#: pg_rewind.c:227
 #, c-format
 msgid "servers diverged at WAL position %X/%X on timeline %u\n"
 msgstr "服务器在时间线%3$u上的WAL位置%1$X/%2$X处发生了分歧\n"
 
-#: pg_rewind.c:253
+#: pg_rewind.c:264
 #, c-format
 msgid "no rewind required\n"
 msgstr "不需要倒带(rewind)\n"
 
-#: pg_rewind.c:259
+#: pg_rewind.c:271
 #, c-format
 msgid "rewinding from last common checkpoint at %X/%X on timeline %u\n"
 msgstr "从时间线%3$u上%1$X/%2$X处的最后一个普通检查点倒带\n"
 
-#: pg_rewind.c:267
+#: pg_rewind.c:279
 #, c-format
 msgid "reading source file list\n"
 msgstr "读取源文件列表\n"
 
-#: pg_rewind.c:269
+#: pg_rewind.c:281
 #, c-format
 msgid "reading target file list\n"
 msgstr "读取目标文件列表\n"
 
-#: pg_rewind.c:279
+#: pg_rewind.c:291
 #, c-format
 msgid "reading WAL in target\n"
 msgstr "读取目标中的WAL\n"
 
-#: pg_rewind.c:296
+#: pg_rewind.c:308
 #, c-format
 msgid "need to copy %lu MB (total source directory size is %lu MB)\n"
 msgstr "需要复制 %lu MB(整个源目录的大小是 %lu MB)\n"
 
-#: pg_rewind.c:313
+#: pg_rewind.c:325
 #, c-format
 msgid ""
 "\n"
@@ -572,58 +584,122 @@ msgstr ""
 "\n"
 "正在创建备份标签并且更新控制文件\n"
 
-#: pg_rewind.c:341
+#: pg_rewind.c:353
+#, c-format
+#| msgid "%s: failed to remove data directory\n"
+msgid "syncing target data directory\n"
+msgstr "正在同步目标数据目录\n"
+
+#: pg_rewind.c:356
 #, c-format
 msgid "Done!\n"
 msgstr "完成!\n"
 
-#: pg_rewind.c:353
+#: pg_rewind.c:368
 #, c-format
 msgid "source and target clusters are from different systems\n"
 msgstr "源集簇和目标集簇来自不同的系统\n"
 
-#: pg_rewind.c:361
+#: pg_rewind.c:376
 #, c-format
 msgid "clusters are not compatible with this version of pg_rewind\n"
 msgstr "集簇与这个pg_rewind的版本不兼容\n"
 
-#: pg_rewind.c:371
+#: pg_rewind.c:386
 #, c-format
 msgid ""
 "target server needs to use either data checksums or \"wal_log_hints = on\"\n"
 msgstr "目标服务器需要使用数据校验和或者让\"wal_log_hints = on\"\n"
 
-#: pg_rewind.c:381
+#: pg_rewind.c:397
 #, c-format
 msgid "target server must be shut down cleanly\n"
 msgstr "目标服务器必须被干净地关闭\n"
 
-#: pg_rewind.c:389
+#: pg_rewind.c:407
 #, c-format
 msgid "source data directory must be shut down cleanly\n"
 msgstr "源数据目录必须被干净地关闭\n"
 
-#: pg_rewind.c:456
+#: pg_rewind.c:462
+#, c-format
+#| msgid "Invalid character value."
+msgid "Invalid control file"
+msgstr "无效的控制文件"
+
+#: pg_rewind.c:473
+#, c-format
+#| msgid "source file list is empty\n"
+msgid "Source timeline history:\n"
+msgstr "源时间线历史:\n"
+
+#: pg_rewind.c:475
+#, c-format
+#| msgid "new target timeline is %u"
+msgid "Target timeline history:\n"
+msgstr "目标时间线历史:\n"
+
+#. translator: %d is a timeline number, others are LSN positions
+#: pg_rewind.c:489
+#, c-format
+msgid "%d: %X/%X - %X/%X\n"
+msgstr "%d: %X/%X - %X/%X\n"
+
+#: pg_rewind.c:547
 #, c-format
 msgid ""
 "could not find common ancestor of the source and target cluster's timelines\n"
 msgstr "无法找到源集簇和目标集簇的时间线的共同祖先\n"
 
-#: pg_rewind.c:496
+#: pg_rewind.c:588
 #, c-format
 msgid "backup label buffer too small\n"
 msgstr "备份标签缓冲太小\n"
 
-#: pg_rewind.c:518
+#: pg_rewind.c:611
 #, c-format
 msgid "unexpected control file CRC\n"
 msgstr "意料之外的控制文件CRC\n"
 
-#: pg_rewind.c:528
+#: pg_rewind.c:621
 #, c-format
 msgid "unexpected control file size %d, expected %d\n"
 msgstr "意料之外的控制文件大小%d,应该是%d\n"
 
+#: pg_rewind.c:688
+#, c-format
+#| msgid ""
+#| "The program \"%s\" is needed by %s but was not found in the\n"
+#| "same directory as \"%s\".\n"
+#| "Check your installation.\n"
+msgid ""
+"The program \"initdb\" is needed by %s but was \n"
+"not found in the same directory as \"%s\".\n"
+"Check your installation.\n"
+msgstr ""
+"%1$s需要程序\"initdb\", 但是在同一个目录\"%2$s\"中没找到.\n"
+"请检查您的安装.\n"
+
+#: pg_rewind.c:692
+#, c-format
+#| msgid ""
+#| "The program \"%s\" was found by \"%s\"\n"
+#| "but was not the same version as %s.\n"
+#| "Check your installation.\n"
+msgid ""
+"The program \"initdb\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation.\n"
+msgstr ""
+"\"%1$s\"找到了程序\"initdb\", 但是和\"%2$s\"的版本不一致.\n"
+"请检查您的安装.\n"
+
+#: pg_rewind.c:710
+#, c-format
+#| msgid "%s: no target directory specified\n"
+msgid "sync of target directory failed\n"
+msgstr "目标目录同步失败\n"
+
 #: timeline.c:76 timeline.c:82
 #, c-format
 msgid "syntax error in history file: %s\n"
@@ -659,62 +735,63 @@ msgstr "历史文件中有无效数据\n"
 msgid "Timeline IDs must be less than child timeline's ID.\n"
 msgstr "时间线 ID 必须小于子时间线的 ID。\n"
 
-#: xlogreader.c:264
+#: xlogreader.c:285
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "%X/%X处有无效的记录偏移量"
 
-#: xlogreader.c:272
+#: xlogreader.c:293
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "%X/%X请求继续记录(contrecord)"
 
-#: xlogreader.c:312 xlogreader.c:603
+#: xlogreader.c:334 xlogreader.c:633
 #, c-format
-msgid "invalid record length at %X/%X"
-msgstr "%X/%X处有无效记录长度"
+#| msgid "invalid record length at %X/%X"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "%X/%X处有无效记录长度: 应该是%u, 但实际是%u"
 
-#: xlogreader.c:326
+#: xlogreader.c:349
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "%2$X/%3$X处有的记录长度%1$u过长"
 
-#: xlogreader.c:367
+#: xlogreader.c:390
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "%X/%X处没有继续记录标志"
 
-#: xlogreader.c:380
+#: xlogreader.c:403
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "%2$X/%3$X处有无效的继续记录长度%1$u"
 
-#: xlogreader.c:610
+#: xlogreader.c:641
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "%2$X/%3$X处有无效的资源管理器 ID %1$u"
 
-#: xlogreader.c:624 xlogreader.c:641
+#: xlogreader.c:655 xlogreader.c:672
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "%3$X/%4$X处的记录有不正确的prev-link %1$X/%2$X"
 
-#: xlogreader.c:678
+#: xlogreader.c:709
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "%X/%X处的记录中有不正确的资源管理器数据校验和"
 
-#: xlogreader.c:711
+#: xlogreader.c:742
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "在日志段%2$s的偏移量%3$u处有无效的magic号%1$04X"
 
-#: xlogreader.c:725 xlogreader.c:776
+#: xlogreader.c:756 xlogreader.c:807
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "在日志段%2$s的偏移量%3$u处有无效的info位%1$04X"
 
-#: xlogreader.c:751
+#: xlogreader.c:782
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -723,46 +800,46 @@ msgstr ""
 "WAL文件来自于不同的数据库系统:WAL文件数据库系统标识符是%s,pg_control数据库"
 "系统标识符是%s"
 
-#: xlogreader.c:758
+#: xlogreader.c:789
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page "
 "header"
 msgstr "WAL文件来自于不同的数据库系统:页头部中有不正确的XLOG_SEG_SIZE"
 
-#: xlogreader.c:764
+#: xlogreader.c:795
 #, c-format
 msgid ""
 "WAL file is from different database system: incorrect XLOG_BLCKSZ in page "
 "header"
 msgstr "WAL文件来自于不同的数据库系统:页头部中有不正确的XLOG_BLCKSZ"
 
-#: xlogreader.c:790
+#: xlogreader.c:821
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "在日志段%3$s的偏移量%4$u处有意料之外的pageaddr %1$X/%2$X"
 
-#: xlogreader.c:815
+#: xlogreader.c:846
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "在日志段%3$s的偏移量%4$u处有失序的时间线 ID %1$u(在%2$u之后)"
 
-#: xlogreader.c:1024
+#: xlogreader.c:1053
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "在%2$X/%3$X处有无序的block_id %1$u"
 
-#: xlogreader.c:1046
+#: xlogreader.c:1075
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA已被设置,但是在%X/%X处没有包括数据"
 
-#: xlogreader.c:1053
+#: xlogreader.c:1082
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA没有被设置,但是在%2$X/%3$X处的数据长度为%1$u"
 
-#: xlogreader.c:1086
+#: xlogreader.c:1115
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
@@ -771,18 +848,18 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE已被设置,但是%4$X/%5$X处记录了洞偏移量为%1$u、长度为%2$u、"
 "块映像长度为%3$u"
 
-#: xlogreader.c:1102
+#: xlogreader.c:1131
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE没有被设置,但是%3$X/%4$X处记录了洞偏移量为%1$u、长度为%2$u"
 
-#: xlogreader.c:1117
+#: xlogreader.c:1146
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED已被设置,但是%2$X/%3$X处记录的块映像长度为%1$u"
 
-#: xlogreader.c:1132
+#: xlogreader.c:1161
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
@@ -791,22 +868,22 @@ msgstr ""
 "BKPIMAGE_HAS_HOLE和BKPIMAGE_IS_COMPRESSED都没有被设置,但是%2$X/%3$X处记录的"
 "块映像长度为%1$u"
 
-#: xlogreader.c:1148
+#: xlogreader.c:1177
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL已被设置,但是在%X/%X没有前一个关系"
 
-#: xlogreader.c:1160
+#: xlogreader.c:1189
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "%2$X/%3$X处有无效block_id %1$u"
 
-#: xlogreader.c:1225
+#: xlogreader.c:1254
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "%X/%X处的记录的长度无效"
 
-#: xlogreader.c:1314
+#: xlogreader.c:1343
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "%X/%X处是块%d的无效压缩映像"
diff --git a/src/bin/psql/po/de.po b/src/bin/psql/po/de.po
index e08f1041d53c8c0e07b1742d6e2a5341fd838470..912b6cddb0e9679bade36cc0a319c9fb7d6832b7 100644
--- a/src/bin/psql/po/de.po
+++ b/src/bin/psql/po/de.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-05-04 21:13+0000\n"
-"PO-Revision-Date: 2016-05-05 16:52-0400\n"
+"POT-Creation-Date: 2016-06-17 17:13+0000\n"
+"PO-Revision-Date: 2016-06-17 16:32-0400\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: German <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -170,7 +170,7 @@ msgstr "konnte Home-Verzeichnis für Benutzer-ID %ld nicht ermitteln: %s\n"
 msgid "\\%s: could not change directory to \"%s\": %s\n"
 msgstr "\\%s: konnte nicht in das Verzeichnis „%s“ wechseln: %s\n"
 
-#: command.c:318 common.c:548 common.c:606 common.c:1139
+#: command.c:318 common.c:552 common.c:610 common.c:1143
 #, c-format
 msgid "You are currently not connected to a database.\n"
 msgstr "Sie sind gegenwärtig nicht mit einer Datenbank verbunden.\n"
@@ -185,184 +185,184 @@ msgstr "Sie sind verbunden mit der Datenbank „%s“ als Benutzer „%s“ via
 msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n"
 msgstr "Sie sind verbunden mit der Datenbank „%s“ als Benutzer „%s“ auf Host „%s“ auf Port „%s“.\n"
 
-#: command.c:559 command.c:629 command.c:725 command.c:1557
+#: command.c:562 command.c:632 command.c:728 command.c:1560
 #, c-format
 msgid "no query buffer\n"
 msgstr "kein Anfragepuffer\n"
 
-#: command.c:592 command.c:3408
+#: command.c:595 command.c:3479
 #, c-format
 msgid "invalid line number: %s\n"
 msgstr "ungültige Zeilennummer: %s\n"
 
-#: command.c:623
+#: command.c:626
 #, c-format
 msgid "The server (version %d.%d) does not support editing function source.\n"
 msgstr "Der Server (Version %d.%d) unterstützt das Bearbeiten des Funktionsquelltextes nicht.\n"
 
-#: command.c:703 command.c:771
+#: command.c:706 command.c:774
 msgid "No changes"
 msgstr "keine Änderungen"
 
-#: command.c:719
+#: command.c:722
 #, c-format
 msgid "The server (version %d.%d) does not support editing view definitions.\n"
 msgstr "Der Server (Version %d.%d) unterstützt das Bearbeiten von Sichtdefinitionen nicht.\n"
 
-#: command.c:825
+#: command.c:828
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
 msgstr "%s: ungültiger Kodierungsname oder Umwandlungsprozedur nicht gefunden\n"
 
-#: command.c:850 command.c:1897 command.c:3510 common.c:152 common.c:199
-#: common.c:492 common.c:1185 common.c:1210 common.c:1311 copy.c:489
+#: command.c:853 command.c:1900 command.c:3581 common.c:152 common.c:199
+#: common.c:496 common.c:1189 common.c:1214 common.c:1315 copy.c:489
 #: copy.c:699 large_obj.c:156 large_obj.c:191 large_obj.c:253
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: command.c:854
+#: command.c:857
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
 
-#: command.c:857
-msgid "There was no previous error."
-msgstr "Es gab keinen vorangegangenen Fehler."
+#: command.c:860
+msgid "There is no previous error."
+msgstr "Es gibt keinen vorangegangenen Fehler."
 
-#: command.c:951 command.c:1001 command.c:1015 command.c:1032 command.c:1139
-#: command.c:1303 command.c:1537 command.c:1568
+#: command.c:954 command.c:1004 command.c:1018 command.c:1035 command.c:1142
+#: command.c:1306 command.c:1540 command.c:1571
 #, c-format
 msgid "\\%s: missing required argument\n"
 msgstr "\\%s: notwendiges Argument fehlt\n"
 
-#: command.c:1064
+#: command.c:1067
 msgid "Query buffer is empty."
 msgstr "Anfragepuffer ist leer."
 
-#: command.c:1074
+#: command.c:1077
 msgid "Enter new password: "
 msgstr "Neues Passwort eingeben: "
 
-#: command.c:1075
+#: command.c:1078
 msgid "Enter it again: "
 msgstr "Geben Sie es noch einmal ein: "
 
-#: command.c:1079
+#: command.c:1082
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Passwörter stimmten nicht überein.\n"
 
-#: command.c:1097
+#: command.c:1100
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Passwortverschlüsselung ist fehlgeschlagen.\n"
 
-#: command.c:1168 command.c:1284 command.c:1542
+#: command.c:1171 command.c:1287 command.c:1545
 #, c-format
 msgid "\\%s: error while setting variable\n"
 msgstr "\\%s: Fehler beim Setzen der Variable\n"
 
-#: command.c:1231
+#: command.c:1234
 msgid "Query buffer reset (cleared)."
 msgstr "Anfragepuffer wurde gelöscht."
 
-#: command.c:1243
+#: command.c:1246
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "Befehlsgeschichte in Datei „%s“ geschrieben.\n"
 
-#: command.c:1308
+#: command.c:1311
 #, c-format
 msgid "\\%s: environment variable name must not contain \"=\"\n"
 msgstr "\\%s: Name der Umgebungsvariable darf kein „=“ enthalten\n"
 
-#: command.c:1350
+#: command.c:1353
 #, c-format
 msgid "The server (version %d.%d) does not support showing function source.\n"
 msgstr "Der Server (Version %d.%d) unterstützt das Anzeigen des Funktionsquelltextes nicht.\n"
 
-#: command.c:1356
+#: command.c:1359
 #, c-format
 msgid "function name is required\n"
 msgstr "Funktionsname wird benötigt\n"
 
-#: command.c:1429
+#: command.c:1432
 #, c-format
 msgid "The server (version %d.%d) does not support showing view definitions.\n"
 msgstr "Der Server (Version %d.%d) unterstützt das Anzeigen von Sichtdefinitionen nicht.\n"
 
-#: command.c:1435
+#: command.c:1438
 #, c-format
 msgid "view name is required\n"
 msgstr "Sichtname wird benötigt\n"
 
-#: command.c:1522
+#: command.c:1525
 msgid "Timing is on."
 msgstr "Zeitmessung ist an."
 
-#: command.c:1524
+#: command.c:1527
 msgid "Timing is off."
 msgstr "Zeitmessung ist aus."
 
-#: command.c:1586 command.c:1606 command.c:2240 command.c:2243 command.c:2246
-#: command.c:2252 command.c:2254 command.c:2262 command.c:2272 command.c:2281
-#: command.c:2295 command.c:2312 command.c:2370 common.c:67 copy.c:332
+#: command.c:1589 command.c:1609 command.c:2243 command.c:2246 command.c:2249
+#: command.c:2255 command.c:2257 command.c:2265 command.c:2275 command.c:2284
+#: command.c:2298 command.c:2315 command.c:2373 common.c:67 copy.c:332
 #: copy.c:392 copy.c:405 psqlscanslash.l:710 psqlscanslash.l:721
 #: psqlscanslash.l:731
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
 
-#: command.c:1700
+#: command.c:1703
 #, c-format
 msgid "+ opt(%d) = |%s|\n"
 msgstr "+ opt(%d) = |%s|\n"
 
-#: command.c:1726 startup.c:207
+#: command.c:1729 startup.c:207
 msgid "Password: "
 msgstr "Passwort: "
 
-#: command.c:1731 startup.c:209
+#: command.c:1734 startup.c:209
 #, c-format
 msgid "Password for user %s: "
 msgstr "Passwort für Benutzer %s: "
 
-#: command.c:1778
+#: command.c:1781
 #, c-format
 msgid "All connection parameters must be supplied because no database connection exists\n"
 msgstr "Alle Verbindungsparameter müssen angegeben werden, weil keine Datenbankverbindung besteht\n"
 
-#: command.c:1901
+#: command.c:1904
 #, c-format
 msgid "Previous connection kept\n"
 msgstr "Vorherige Verbindung wurde behalten\n"
 
-#: command.c:1905
+#: command.c:1908
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\connect: %s"
 
-#: command.c:1937
+#: command.c:1940
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n"
 msgstr "Sie sind jetzt verbunden mit der Datenbank „%s“ als Benutzer „%s“ via Socket in „%s“ auf Port „%s“.\n"
 
-#: command.c:1940
+#: command.c:1943
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n"
 msgstr "Sie sind jetzt verbunden mit der Datenbank „%s“ als Benutzer „%s“ auf Host „%s“ auf Port „%s“.\n"
 
-#: command.c:1944
+#: command.c:1947
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "Sie sind jetzt verbunden mit der Datenbank „%s“ als Benutzer „%s“.\n"
 
-#: command.c:1978
+#: command.c:1981
 #, c-format
 msgid "%s (%s, server %s)\n"
 msgstr "%s (%s, Server %s)\n"
 
-#: command.c:1986
+#: command.c:1989
 #, c-format
 msgid ""
 "WARNING: %s major version %d.%d, server major version %d.%d.\n"
@@ -371,24 +371,24 @@ msgstr ""
 "WARNUNG: %s-Hauptversion %d.%d, Server-Hauptversion %d.%d.\n"
 "         Einige Features von psql werden eventuell nicht funktionieren.\n"
 
-#: command.c:2020
+#: command.c:2023
 #, c-format
 msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
 msgstr "SSL-Verbindung (Protokoll: %s, Verschlüsselungsmethode: %s, Bits: %s, Komprimierung: %s)\n"
 
-#: command.c:2021 command.c:2022 command.c:2023
+#: command.c:2024 command.c:2025 command.c:2026
 msgid "unknown"
 msgstr "unbekannt"
 
-#: command.c:2024 help.c:46
+#: command.c:2027 help.c:46
 msgid "off"
 msgstr "aus"
 
-#: command.c:2024 help.c:46
+#: command.c:2027 help.c:46
 msgid "on"
 msgstr "an"
 
-#: command.c:2044
+#: command.c:2047
 #, c-format
 msgid ""
 "WARNING: Console code page (%u) differs from Windows code page (%u)\n"
@@ -400,239 +400,239 @@ msgstr ""
 "         richtig. Einzelheiten finden Sie auf der psql-Handbuchseite unter\n"
 "         „Notes for Windows users“.\n"
 
-#: command.c:2129
+#: command.c:2132
 #, c-format
 msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number\n"
 msgstr "Umgebungsvariable PSQL_EDITOR_LINENUMBER_ARG muss gesetzt werden, um eine Zeilennummer angeben zu können\n"
 
-#: command.c:2158
+#: command.c:2161
 #, c-format
 msgid "could not start editor \"%s\"\n"
 msgstr "konnte Editor „%s“ nicht starten\n"
 
-#: command.c:2160
+#: command.c:2163
 #, c-format
 msgid "could not start /bin/sh\n"
 msgstr "konnte /bin/sh nicht starten\n"
 
-#: command.c:2198
+#: command.c:2201
 #, c-format
 msgid "could not locate temporary directory: %s\n"
 msgstr "konnte temporäres Verzeichnis nicht finden: %s\n"
 
-#: command.c:2225
+#: command.c:2228
 #, c-format
 msgid "could not open temporary file \"%s\": %s\n"
 msgstr "konnte temporäre Datei „%s“ nicht öffnen: %s\n"
 
-#: command.c:2499
+#: command.c:2502
 #, c-format
 msgid "\\pset: allowed formats are unaligned, aligned, wrapped, html, asciidoc, latex, latex-longtable, troff-ms\n"
 msgstr "\\pset: zulässige Formate sind unaligned, aligned, wrapped, html, asciidoc, latex, latex-longtable, troff-ms\n"
 
-#: command.c:2518
+#: command.c:2521
 #, c-format
 msgid "\\pset: allowed line styles are ascii, old-ascii, unicode\n"
 msgstr "\\pset: zulässige Linienstile sind ascii, old-ascii, unicode\n"
 
-#: command.c:2534
+#: command.c:2537
 #, c-format
 msgid "\\pset: allowed Unicode border line styles are single, double\n"
 msgstr "\\pset: zulässige Unicode-Rahmnenlinienstile sind single, double\n"
 
-#: command.c:2549
+#: command.c:2552
 #, c-format
 msgid "\\pset: allowed Unicode column line styles are single, double\n"
 msgstr "\\pset: zulässige Unicode-Spaltenlinienstile sind single, double\n"
 
-#: command.c:2564
+#: command.c:2567
 #, c-format
 msgid "\\pset: allowed Unicode header line styles are single, double\n"
 msgstr "\\pset: zulässige Unicode-Kopflinienstile sind single, double\n"
 
-#: command.c:2716 command.c:2895
+#: command.c:2719 command.c:2898
 #, c-format
 msgid "\\pset: unknown option: %s\n"
 msgstr "\\pset: unbekannte Option: %s\n"
 
-#: command.c:2734
+#: command.c:2737
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "Rahmenstil ist %d.\n"
 
-#: command.c:2740
+#: command.c:2743
 #, c-format
 msgid "Target width is unset.\n"
 msgstr "Zielbreite ist nicht gesetzt.\n"
 
-#: command.c:2742
+#: command.c:2745
 #, c-format
 msgid "Target width is %d.\n"
 msgstr "Zielbreite ist %d.\n"
 
-#: command.c:2749
+#: command.c:2752
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "Erweiterte Anzeige ist an.\n"
 
-#: command.c:2751
+#: command.c:2754
 #, c-format
 msgid "Expanded display is used automatically.\n"
 msgstr "Erweiterte Anzeige wird automatisch verwendet.\n"
 
-#: command.c:2753
+#: command.c:2756
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "Erweiterte Anzeige ist aus.\n"
 
-#: command.c:2760 command.c:2768
+#: command.c:2763 command.c:2771
 #, c-format
 msgid "Field separator is zero byte.\n"
 msgstr "Feldtrennzeichen ist ein Null-Byte.\n"
 
-#: command.c:2762
+#: command.c:2765
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "Feldtrennzeichen ist „%s“.\n"
 
-#: command.c:2775
+#: command.c:2778
 #, c-format
 msgid "Default footer is on.\n"
 msgstr "Standardfußzeile ist an.\n"
 
-#: command.c:2777
+#: command.c:2780
 #, c-format
 msgid "Default footer is off.\n"
 msgstr "Standardfußzeile ist aus.\n"
 
-#: command.c:2783
+#: command.c:2786
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "Ausgabeformat ist „%s“.\n"
 
-#: command.c:2789
+#: command.c:2792
 #, c-format
 msgid "Line style is %s.\n"
 msgstr "Linienstil ist %s.\n"
 
-#: command.c:2796
+#: command.c:2799
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr "Null-Anzeige ist „%s“.\n"
 
-#: command.c:2804
+#: command.c:2807
 #, c-format
 msgid "Locale-adjusted numeric output is on.\n"
 msgstr "Lokalisiertes Format für numerische Daten ist an.\n"
 
-#: command.c:2806
+#: command.c:2809
 #, c-format
 msgid "Locale-adjusted numeric output is off.\n"
 msgstr "Lokalisiertes Format für numerische Daten ist aus.\n"
 
-#: command.c:2813
+#: command.c:2816
 #, c-format
 msgid "Pager is used for long output.\n"
 msgstr "Pager wird für lange Ausgaben verwendet.\n"
 
-#: command.c:2815
+#: command.c:2818
 #, c-format
 msgid "Pager is always used.\n"
 msgstr "Pager wird immer verwendet.\n"
 
-#: command.c:2817
+#: command.c:2820
 #, c-format
 msgid "Pager usage is off.\n"
 msgstr "Pager-Verwendung ist aus.\n"
 
-#: command.c:2823
+#: command.c:2826
 #, c-format
 msgid "Pager won't be used for less than %d line.\n"
 msgid_plural "Pager won't be used for less than %d lines.\n"
 msgstr[0] "Pager wird nicht für weniger als %d Zeile verwendet werden.\n"
 msgstr[1] "Pager wird nicht für weniger als %d Zeilen verwendet werden.\n"
 
-#: command.c:2833 command.c:2843
+#: command.c:2836 command.c:2846
 #, c-format
 msgid "Record separator is zero byte.\n"
 msgstr "Satztrennzeichen ist ein Null-Byte.\n"
 
-#: command.c:2835
+#: command.c:2838
 #, c-format
 msgid "Record separator is <newline>.\n"
 msgstr "Satztrennzeichen ist <newline>.\n"
 
-#: command.c:2837
+#: command.c:2840
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "Satztrennzeichen ist „%s“.\n"
 
-#: command.c:2850
+#: command.c:2853
 #, c-format
 msgid "Table attributes are \"%s\".\n"
 msgstr "Tabellenattribute sind „%s“.\n"
 
-#: command.c:2853
+#: command.c:2856
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "Tabellenattribute sind nicht gesetzt.\n"
 
-#: command.c:2860
+#: command.c:2863
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "Titel ist „%s“.\n"
 
-#: command.c:2862
+#: command.c:2865
 #, c-format
 msgid "Title is unset.\n"
 msgstr "Titel ist nicht gesetzt.\n"
 
-#: command.c:2869
+#: command.c:2872
 #, c-format
 msgid "Tuples only is on.\n"
 msgstr "Nur Datenzeilen ist an.\n"
 
-#: command.c:2871
+#: command.c:2874
 #, c-format
 msgid "Tuples only is off.\n"
 msgstr "Nur Datenzeilen ist aus.\n"
 
-#: command.c:2877
+#: command.c:2880
 #, c-format
 msgid "Unicode border line style is \"%s\".\n"
 msgstr "Unicode-Rahmenlinienstil ist „%s“.\n"
 
-#: command.c:2883
+#: command.c:2886
 #, c-format
 msgid "Unicode column line style is \"%s\".\n"
 msgstr "Unicode-Spaltenlinienstil ist „%s“.\n"
 
-#: command.c:2889
+#: command.c:2892
 #, c-format
 msgid "Unicode header line style is \"%s\".\n"
 msgstr "Unicode-Kopflinienstil ist „%s“.\n"
 
-#: command.c:3049
+#: command.c:3052
 #, c-format
 msgid "\\!: failed\n"
 msgstr "\\!: fehlgeschlagen\n"
 
-#: command.c:3073 common.c:654
+#: command.c:3077 common.c:658
 #, c-format
 msgid "\\watch cannot be used with an empty query\n"
 msgstr "\\watch kann nicht mit einer leeren Anfrage verwendet werden\n"
 
-#: command.c:3110
+#: command.c:3118
 #, c-format
 msgid "%s\t%s (every %gs)\n"
 msgstr "%s\t%s (alle %gs)\n"
 
-#: command.c:3113
+#: command.c:3121
 #, c-format
 msgid "%s (every %gs)\n"
 msgstr "%s (alle %gs)\n"
 
-#: command.c:3167 command.c:3174 common.c:554 common.c:561 common.c:1168
+#: command.c:3175 command.c:3182 common.c:558 common.c:565 common.c:1172
 #, c-format
 msgid ""
 "********* QUERY **********\n"
@@ -645,82 +645,87 @@ msgstr ""
 "**************************\n"
 "\n"
 
-#: command.c:3325
+#: command.c:3374
 #, c-format
-msgid "%s.%s is not a view\n"
-msgstr "%s.%s ist keine Sicht\n"
+msgid "\"%s.%s\" is not a view\n"
+msgstr "„%s.%s“ ist keine Sicht\n"
+
+#: command.c:3390
+#, c-format
+msgid "could not parse reloptions array\n"
+msgstr "konnte reloptions-Array nicht interpretieren\n"
 
 #: common.c:137
 #, c-format
-msgid "can't escape without active connection\n"
+msgid "cannot escape without active connection\n"
 msgstr "Escape kann nicht ohne aktive Verbindung ausgeführt werden\n"
 
-#: common.c:366
+#: common.c:370
 #, c-format
 msgid "connection to server was lost\n"
 msgstr "Verbindung zum Server wurde verloren\n"
 
-#: common.c:370
+#: common.c:374
 #, c-format
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "Die Verbindung zum Server wurde verloren.  Versuche Reset: "
 
-#: common.c:375
+#: common.c:379
 #, c-format
 msgid "Failed.\n"
 msgstr "Fehlgeschlagen.\n"
 
-#: common.c:382
+#: common.c:386
 #, c-format
 msgid "Succeeded.\n"
 msgstr "Erfolgreich.\n"
 
-#: common.c:482 common.c:931 common.c:1103
+#: common.c:486 common.c:935 common.c:1107
 #, c-format
 msgid "unexpected PQresultStatus: %d\n"
 msgstr "unerwarteter PQresultStatus: %d\n"
 
-#: common.c:661
+#: common.c:665
 #, c-format
 msgid "\\watch cannot be used with COPY\n"
 msgstr "\\watch kann nicht mit COPY verwendet werden\n"
 
-#: common.c:666
+#: common.c:670
 #, c-format
 msgid "unexpected result status for \\watch\n"
 msgstr "unerwarteter Ergebnisstatus für \\watch\n"
 
-#: common.c:677 common.c:1327
+#: common.c:681 common.c:1331
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "Zeit: %.3f ms\n"
 
-#: common.c:695
+#: common.c:699
 #, c-format
 msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n"
 msgstr "Asynchrone Benachrichtigung „%s“ mit Daten „%s“ vom Serverprozess mit PID %d empfangen.\n"
 
-#: common.c:698
+#: common.c:702
 #, c-format
 msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr "Asynchrone Benachrichtigung „%s“ vom Serverprozess mit PID %d empfangen.\n"
 
-#: common.c:756
+#: common.c:760
 #, c-format
 msgid "no rows returned for \\gset\n"
 msgstr "keine Zeilen für \\gset zurückgegeben\n"
 
-#: common.c:761
+#: common.c:765
 #, c-format
 msgid "more than one row returned for \\gset\n"
 msgstr "mehr als eine Zeile für \\gset zurückgegeben\n"
 
-#: common.c:787
+#: common.c:791
 #, c-format
 msgid "could not set variable \"%s\"\n"
 msgstr "konnte Variable „%s“ nicht setzen\n"
 
-#: common.c:1148
+#: common.c:1152
 #, c-format
 msgid ""
 "***(Single step mode: verify command)*******************************************\n"
@@ -731,17 +736,17 @@ msgstr ""
 "%s\n"
 "***(Drücken Sie die Eingabetaste um fortzufahren oder „x“ um abzubrechen)*******\n"
 
-#: common.c:1201
+#: common.c:1205
 #, c-format
 msgid "The server (version %d.%d) does not support savepoints for ON_ERROR_ROLLBACK.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Sicherungspunkte für ON_ERROR_ROLLBACK.\n"
 
-#: common.c:1256
+#: common.c:1260
 #, c-format
 msgid "STATEMENT:  %s\n"
 msgstr "ANWEISUNG:  %s\n"
 
-#: common.c:1299
+#: common.c:1303
 #, c-format
 msgid "unexpected transaction status (%d)\n"
 msgstr "unerwarteter Transaktionsstatus (%d)\n"
@@ -811,40 +816,85 @@ msgstr "abgebrochen wegen Lesenfehlers"
 msgid "trying to exit copy mode"
 msgstr "versuche, den COPY-Modus zu verlassen"
 
-#: describe.c:71 describe.c:264 describe.c:496 describe.c:626 describe.c:769
-#: describe.c:886 describe.c:956 describe.c:2931 describe.c:3136
-#: describe.c:3226 describe.c:3471 describe.c:3608 describe.c:3837
-#: describe.c:3909 describe.c:3920 describe.c:3979 describe.c:4387
-#: describe.c:4467
+#: crosstabview.c:125
+#, c-format
+msgid "\\crosstabview: query must return results to be shown in crosstab\n"
+msgstr "\\crosstabview: Anfrage muss Ergebnisse zurückgeben, um sie als Kreuztabelle anzeigen zu können\n"
+
+#: crosstabview.c:131
+#, c-format
+msgid "\\crosstabview: query must return at least three columns\n"
+msgstr "\\crosstabview: Anfrage muss mindestens drei Spalten zurückgeben\n"
+
+#: crosstabview.c:158
+#, c-format
+msgid "\\crosstabview: vertical and horizontal headers must be different columns\n"
+msgstr "\\crosstabview: die vertikalen und horizontalen Kopffelder müssen verschiedene Spalten sein\n"
+
+#: crosstabview.c:174
+#, c-format
+msgid "\\crosstabview: data column must be specified when query returns more than three columns\n"
+msgstr "\\crosstabview: Datenspalte muss angegeben werden, wenn die Anfrage mehr als drei Spalten zurückgibt\n"
+
+#: crosstabview.c:230
+#, c-format
+msgid "\\crosstabview: maximum number of columns (%d) exceeded\n"
+msgstr "\\crosstabview: maximale Anzahl Spalten (%d) überschritten\n"
+
+#: crosstabview.c:398
+#, c-format
+msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"\n"
+msgstr "\\crosstabview: Anfrageergebnis enthält mehrfache Datenwerte für Zeile „%s“, Spalte „%s“\n"
+
+#: crosstabview.c:646
+#, c-format
+msgid "\\crosstabview: invalid column number: \"%s\"\n"
+msgstr "\\crosstabview: ungültige Spaltennummer: „%s“\n"
+
+#: crosstabview.c:670
+#, c-format
+msgid "\\crosstabview: ambiguous column name: \"%s\"\n"
+msgstr "\\crosstabview: zweideutiger Spaltenname: „%s“\n"
+
+#: crosstabview.c:678
+#, c-format
+msgid "\\crosstabview: column name not found: \"%s\"\n"
+msgstr "\\crosstabview: Spaltenname nicht gefunden: „%s“\n"
+
+#: describe.c:71 describe.c:328 describe.c:560 describe.c:690 describe.c:833
+#: describe.c:950 describe.c:1020 describe.c:2995 describe.c:3200
+#: describe.c:3290 describe.c:3535 describe.c:3672 describe.c:3901
+#: describe.c:3973 describe.c:3984 describe.c:4043 describe.c:4451
+#: describe.c:4531
 msgid "Schema"
 msgstr "Schema"
 
-#: describe.c:72 describe.c:156 describe.c:164 describe.c:265 describe.c:497
-#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2932
-#: describe.c:3058 describe.c:3137 describe.c:3227 describe.c:3306
-#: describe.c:3472 describe.c:3536 describe.c:3609 describe.c:3838
-#: describe.c:3910 describe.c:3921 describe.c:3980 describe.c:4169
-#: describe.c:4250 describe.c:4465
+#: describe.c:72 describe.c:157 describe.c:220 describe.c:228 describe.c:329
+#: describe.c:561 describe.c:691 describe.c:752 describe.c:834 describe.c:1021
+#: describe.c:2996 describe.c:3122 describe.c:3201 describe.c:3291
+#: describe.c:3370 describe.c:3536 describe.c:3600 describe.c:3673
+#: describe.c:3902 describe.c:3974 describe.c:3985 describe.c:4044
+#: describe.c:4233 describe.c:4314 describe.c:4529
 msgid "Name"
 msgstr "Name"
 
-#: describe.c:73 describe.c:277 describe.c:323 describe.c:340
+#: describe.c:73 describe.c:341 describe.c:387 describe.c:404
 msgid "Result data type"
 msgstr "Ergebnisdatentyp"
 
-#: describe.c:81 describe.c:94 describe.c:98 describe.c:278 describe.c:324
-#: describe.c:341
+#: describe.c:81 describe.c:94 describe.c:98 describe.c:342 describe.c:388
+#: describe.c:405
 msgid "Argument data types"
 msgstr "Argumentdatentypen"
 
-#: describe.c:105 describe.c:187 describe.c:370 describe.c:545 describe.c:642
-#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2732
-#: describe.c:2965 describe.c:3089 describe.c:3163 describe.c:3236
-#: describe.c:3319 describe.c:3387 describe.c:3479 describe.c:3545
-#: describe.c:3610 describe.c:3746 describe.c:3786 describe.c:3854
-#: describe.c:3913 describe.c:3922 describe.c:3981 describe.c:4195
-#: describe.c:4272 describe.c:4401 describe.c:4468 large_obj.c:289
-#: large_obj.c:299
+#: describe.c:105 describe.c:167 describe.c:251 describe.c:434 describe.c:609
+#: describe.c:706 describe.c:777 describe.c:1023 describe.c:1636
+#: describe.c:2796 describe.c:3029 describe.c:3153 describe.c:3227
+#: describe.c:3300 describe.c:3383 describe.c:3451 describe.c:3543
+#: describe.c:3609 describe.c:3674 describe.c:3810 describe.c:3850
+#: describe.c:3918 describe.c:3977 describe.c:3986 describe.c:4045
+#: describe.c:4259 describe.c:4336 describe.c:4465 describe.c:4532
+#: large_obj.c:289 large_obj.c:299
 msgid "Description"
 msgstr "Beschreibung"
 
@@ -852,869 +902,887 @@ msgstr "Beschreibung"
 msgid "List of aggregate functions"
 msgstr "Liste der Aggregatfunktionen"
 
-#: describe.c:144
+#: describe.c:145
+#, c-format
+msgid "The server (version %d.%d) does not support access methods.\n"
+msgstr "Der Server (Version %d.%d) unterstützt keine Zugriffsmethoden.\n"
+
+#: describe.c:158
+msgid "Index"
+msgstr "Index"
+
+#: describe.c:159 describe.c:348 describe.c:393 describe.c:410 describe.c:840
+#: describe.c:959 describe.c:1605 describe.c:3004 describe.c:3202
+#: describe.c:4333
+msgid "Type"
+msgstr "Typ"
+
+#: describe.c:166 describe.c:4238
+msgid "Handler"
+msgstr "Handler"
+
+#: describe.c:185
+msgid "List of access methods"
+msgstr "Liste der Zugriffsmethoden"
+
+#: describe.c:208
 #, c-format
 msgid "The server (version %d.%d) does not support tablespaces.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Tablespaces.\n"
 
-#: describe.c:157 describe.c:165 describe.c:367 describe.c:535 describe.c:689
-#: describe.c:885 describe.c:2941 describe.c:3062 describe.c:3308
-#: describe.c:3537 describe.c:4170 describe.c:4251 large_obj.c:288
+#: describe.c:221 describe.c:229 describe.c:431 describe.c:599 describe.c:753
+#: describe.c:949 describe.c:3005 describe.c:3126 describe.c:3372
+#: describe.c:3601 describe.c:4234 describe.c:4315 large_obj.c:288
 msgid "Owner"
 msgstr "Eigentümer"
 
-#: describe.c:158 describe.c:166
+#: describe.c:222 describe.c:230
 msgid "Location"
 msgstr "Pfad"
 
-#: describe.c:177 describe.c:2543
+#: describe.c:241 describe.c:2607
 msgid "Options"
 msgstr "Optionen"
 
-#: describe.c:182 describe.c:508 describe.c:705 describe.c:2957
-#: describe.c:2961
+#: describe.c:246 describe.c:572 describe.c:769 describe.c:3021
+#: describe.c:3025
 msgid "Size"
 msgstr "Größe"
 
-#: describe.c:204
+#: describe.c:268
 msgid "List of tablespaces"
 msgstr "Liste der Tablespaces"
 
-#: describe.c:241
+#: describe.c:305
 #, c-format
 msgid "\\df only takes [antwS+] as options\n"
 msgstr "\\df akzeptiert nur [antwS+] als Optionen\n"
 
-#: describe.c:247
+#: describe.c:311
 #, c-format
 msgid "\\df does not take a \"w\" option with server version %d.%d\n"
 msgstr "\\df akzeptiert die Option „w“ nicht mit Serverversion %d.%d\n"
 
 #. translator: "agg" is short for "aggregate"
-#: describe.c:280 describe.c:326 describe.c:343
+#: describe.c:344 describe.c:390 describe.c:407
 msgid "agg"
 msgstr "Agg"
 
-#: describe.c:281
+#: describe.c:345
 msgid "window"
 msgstr "Fenster"
 
-#: describe.c:282 describe.c:327 describe.c:344 describe.c:1093
+#: describe.c:346 describe.c:391 describe.c:408 describe.c:1157
 msgid "trigger"
 msgstr "Trigger"
 
-#: describe.c:283 describe.c:328 describe.c:345
+#: describe.c:347 describe.c:392 describe.c:409
 msgid "normal"
 msgstr "normal"
 
-#: describe.c:284 describe.c:329 describe.c:346 describe.c:776 describe.c:895
-#: describe.c:1541 describe.c:2940 describe.c:3138 describe.c:4269
-msgid "Type"
-msgstr "Typ"
-
-#: describe.c:360
+#: describe.c:424
 msgid "definer"
 msgstr "definer"
 
-#: describe.c:361
+#: describe.c:425
 msgid "invoker"
 msgstr "invoker"
 
-#: describe.c:362
+#: describe.c:426
 msgid "Security"
 msgstr "Sicherheit"
 
-#: describe.c:363
+#: describe.c:427
 msgid "immutable"
 msgstr "unveränderlich"
 
-#: describe.c:364
+#: describe.c:428
 msgid "stable"
 msgstr "stabil"
 
-#: describe.c:365
+#: describe.c:429
 msgid "volatile"
 msgstr "volatil"
 
-#: describe.c:366
+#: describe.c:430
 msgid "Volatility"
 msgstr "Volatilität"
 
-#: describe.c:368
+#: describe.c:432
 msgid "Language"
 msgstr "Sprache"
 
-#: describe.c:369
+#: describe.c:433
 msgid "Source code"
 msgstr "Quelltext"
 
-#: describe.c:467
+#: describe.c:531
 msgid "List of functions"
 msgstr "Liste der Funktionen"
 
-#: describe.c:507
+#: describe.c:571
 msgid "Internal name"
 msgstr "Interner Name"
 
-#: describe.c:529
+#: describe.c:593
 msgid "Elements"
 msgstr "Elemente"
 
-#: describe.c:585
+#: describe.c:649
 msgid "List of data types"
 msgstr "Liste der Datentypen"
 
-#: describe.c:628
+#: describe.c:692
 msgid "Left arg type"
 msgstr "Linker Typ"
 
-#: describe.c:629
+#: describe.c:693
 msgid "Right arg type"
 msgstr "Rechter Typ"
 
-#: describe.c:630
+#: describe.c:694
 msgid "Result type"
 msgstr "Ergebnistyp"
 
-#: describe.c:635 describe.c:3378 describe.c:3745
+#: describe.c:699 describe.c:3442 describe.c:3809
 msgid "Function"
 msgstr "Funktion"
 
-#: describe.c:660
+#: describe.c:724
 msgid "List of operators"
 msgstr "Liste der Operatoren"
 
-#: describe.c:690
+#: describe.c:754
 msgid "Encoding"
 msgstr "Kodierung"
 
-#: describe.c:695 describe.c:3473
+#: describe.c:759 describe.c:3537
 msgid "Collate"
 msgstr "Sortierfolge"
 
-#: describe.c:696 describe.c:3474
+#: describe.c:760 describe.c:3538
 msgid "Ctype"
 msgstr "Zeichentyp"
 
-#: describe.c:709
+#: describe.c:773
 msgid "Tablespace"
 msgstr "Tablespace"
 
-#: describe.c:731
+#: describe.c:795
 msgid "List of databases"
 msgstr "Liste der Datenbanken"
 
-#: describe.c:771 describe.c:888 describe.c:2933
+#: describe.c:835 describe.c:952 describe.c:2997
 msgid "table"
 msgstr "Tabelle"
 
-#: describe.c:772 describe.c:2934
+#: describe.c:836 describe.c:2998
 msgid "view"
 msgstr "Sicht"
 
-#: describe.c:773 describe.c:2935
+#: describe.c:837 describe.c:2999
 msgid "materialized view"
 msgstr "materialisierte Sicht"
 
-#: describe.c:774 describe.c:890 describe.c:2937
+#: describe.c:838 describe.c:954 describe.c:3001
 msgid "sequence"
 msgstr "Sequenz"
 
-#: describe.c:775 describe.c:2939
+#: describe.c:839 describe.c:3003
 msgid "foreign table"
 msgstr "Fremdtabelle"
 
-#: describe.c:787
+#: describe.c:851
 msgid "Column privileges"
 msgstr "Spaltenprivilegien"
 
-#: describe.c:818
+#: describe.c:882
 msgid "Policies"
 msgstr "Policys"
 
-#: describe.c:844 describe.c:4612 describe.c:4616
+#: describe.c:908 describe.c:4676 describe.c:4680
 msgid "Access privileges"
 msgstr "Zugriffsprivilegien"
 
-#: describe.c:873
+#: describe.c:937
 #, c-format
 msgid "The server (version %d.%d) does not support altering default privileges.\n"
 msgstr "Der Server (Version %d.%d) unterstützt kein Ändern der Vorgabeprivilegien.\n"
 
-#: describe.c:892
+#: describe.c:956
 msgid "function"
 msgstr "Funktion"
 
-#: describe.c:894
+#: describe.c:958
 msgid "type"
 msgstr "Typ"
 
-#: describe.c:918
+#: describe.c:982
 msgid "Default access privileges"
 msgstr "Vorgegebene Zugriffsprivilegien"
 
-#: describe.c:958
+#: describe.c:1022
 msgid "Object"
 msgstr "Objekt"
 
-#: describe.c:972
+#: describe.c:1036
 msgid "table constraint"
 msgstr "Tabellen-Constraint"
 
-#: describe.c:994
+#: describe.c:1058
 msgid "domain constraint"
 msgstr "Domänen-Constraint"
 
-#: describe.c:1022
+#: describe.c:1086
 msgid "operator class"
 msgstr "Operatorklasse"
 
-#: describe.c:1051
+#: describe.c:1115
 msgid "operator family"
 msgstr "Operatorfamilie"
 
-#: describe.c:1073
+#: describe.c:1137
 msgid "rule"
 msgstr "Rule"
 
-#: describe.c:1115
+#: describe.c:1179
 msgid "Object descriptions"
 msgstr "Objektbeschreibungen"
 
-#: describe.c:1169
+#: describe.c:1233
 #, c-format
 msgid "Did not find any relation named \"%s\".\n"
 msgstr "Keine Relationen namens „%s“ gefunden\n"
 
-#: describe.c:1379
+#: describe.c:1443
 #, c-format
 msgid "Did not find any relation with OID %s.\n"
 msgstr "Keine Relation mit OID %s gefunden.\n"
 
-#: describe.c:1485
+#: describe.c:1549
 #, c-format
 msgid "Unlogged table \"%s.%s\""
 msgstr "Ungeloggte Tabelle „%s.%s“"
 
-#: describe.c:1488
+#: describe.c:1552
 #, c-format
 msgid "Table \"%s.%s\""
 msgstr "Tabelle „%s.%s“"
 
-#: describe.c:1492
+#: describe.c:1556
 #, c-format
 msgid "View \"%s.%s\""
 msgstr "Sicht „%s.%s“"
 
-#: describe.c:1497
+#: describe.c:1561
 #, c-format
 msgid "Unlogged materialized view \"%s.%s\""
 msgstr "Ungeloggte materialisierte Sicht „%s.%s“"
 
-#: describe.c:1500
+#: describe.c:1564
 #, c-format
 msgid "Materialized view \"%s.%s\""
 msgstr "Materialisierte Sicht „%s.%s“"
 
-#: describe.c:1504
+#: describe.c:1568
 #, c-format
 msgid "Sequence \"%s.%s\""
 msgstr "Sequenz „%s.%s“"
 
-#: describe.c:1509
+#: describe.c:1573
 #, c-format
 msgid "Unlogged index \"%s.%s\""
 msgstr "Ungeloggter Index „%s.%s“"
 
-#: describe.c:1512
+#: describe.c:1576
 #, c-format
 msgid "Index \"%s.%s\""
 msgstr "Index „%s.%s“"
 
-#: describe.c:1517
+#: describe.c:1581
 #, c-format
 msgid "Special relation \"%s.%s\""
 msgstr "Spezielle Relation „%s.%s“"
 
-#: describe.c:1521
+#: describe.c:1585
 #, c-format
 msgid "TOAST table \"%s.%s\""
 msgstr "TOAST-Tabelle „%s.%s“"
 
-#: describe.c:1525
+#: describe.c:1589
 #, c-format
 msgid "Composite type \"%s.%s\""
 msgstr "Zusammengesetzter Typ „%s.%s“"
 
-#: describe.c:1529
+#: describe.c:1593
 #, c-format
 msgid "Foreign table \"%s.%s\""
 msgstr "Fremdtabelle „%s.%s“"
 
-#: describe.c:1540
+#: describe.c:1604
 msgid "Column"
 msgstr "Spalte"
 
-#: describe.c:1549
+#: describe.c:1613
 msgid "Modifiers"
 msgstr "Attribute"
 
-#: describe.c:1554
+#: describe.c:1618
 msgid "Value"
 msgstr "Wert"
 
-#: describe.c:1557
+#: describe.c:1621
 msgid "Definition"
 msgstr "Definition"
 
-#: describe.c:1560 describe.c:4190 describe.c:4271 describe.c:4339
-#: describe.c:4400
+#: describe.c:1624 describe.c:4254 describe.c:4335 describe.c:4403
+#: describe.c:4464
 msgid "FDW Options"
 msgstr "FDW-Optionen"
 
-#: describe.c:1564
+#: describe.c:1628
 msgid "Storage"
 msgstr "Speicherung"
 
-#: describe.c:1567
+#: describe.c:1631
 msgid "Stats target"
 msgstr "Statistikziel"
 
-#: describe.c:1617
+#: describe.c:1681
 #, c-format
 msgid "collate %s"
 msgstr "Sortierfolge %s"
 
-#: describe.c:1625
+#: describe.c:1689
 msgid "not null"
 msgstr "not null"
 
 #. translator: default values of column definitions
-#: describe.c:1635
+#: describe.c:1699
 #, c-format
 msgid "default %s"
 msgstr "Vorgabewert %s"
 
-#: describe.c:1750
+#: describe.c:1814
 msgid "primary key, "
 msgstr "Primärschlüssel, "
 
-#: describe.c:1752
+#: describe.c:1816
 msgid "unique, "
 msgstr "eindeutig, "
 
-#: describe.c:1758
+#: describe.c:1822
 #, c-format
 msgid "for table \"%s.%s\""
 msgstr "für Tabelle „%s.%s“"
 
-#: describe.c:1762
+#: describe.c:1826
 #, c-format
 msgid ", predicate (%s)"
 msgstr ", Prädikat (%s)"
 
-#: describe.c:1765
+#: describe.c:1829
 msgid ", clustered"
 msgstr ", geclustert"
 
-#: describe.c:1768
+#: describe.c:1832
 msgid ", invalid"
 msgstr ", ungültig"
 
-#: describe.c:1771
+#: describe.c:1835
 msgid ", deferrable"
 msgstr ", DEFERRABLE"
 
-#: describe.c:1774
+#: describe.c:1838
 msgid ", initially deferred"
 msgstr ", INITIALLY DEFERRED"
 
-#: describe.c:1777
+#: describe.c:1841
 msgid ", replica identity"
 msgstr ", Replika-Identität"
 
-#: describe.c:1812
+#: describe.c:1876
 #, c-format
 msgid "Owned by: %s"
 msgstr "Eigentümer: %s"
 
-#: describe.c:1872
+#: describe.c:1936
 msgid "Indexes:"
 msgstr "Indexe:"
 
-#: describe.c:1956
+#: describe.c:2020
 msgid "Check constraints:"
 msgstr "Check-Constraints:"
 
-#: describe.c:1987
+#: describe.c:2051
 msgid "Foreign-key constraints:"
 msgstr "Fremdschlüssel-Constraints:"
 
-#: describe.c:2018
+#: describe.c:2082
 msgid "Referenced by:"
 msgstr "Fremdschlüsselverweise von:"
 
-#: describe.c:2063
+#: describe.c:2127
 msgid "Policies:"
 msgstr "Policys:"
 
-#: describe.c:2066
+#: describe.c:2130
 msgid "Policies (forced row security enabled):"
 msgstr "Policys (Sicherheit auf Zeilenebene erzwungen):"
 
-#: describe.c:2069
+#: describe.c:2133
 msgid "Policies (row security enabled): (none)"
 msgstr "Policys (Sicherheit auf Zeilenebene eingeschaltet): (keine)"
 
-#: describe.c:2072
+#: describe.c:2136
 msgid "Policies (forced row security enabled): (none)"
 msgstr "Policys (Sicherheit auf Zeilenebene erzwungen): (keine)"
 
-#: describe.c:2075
+#: describe.c:2139
 msgid "Policies (row security disabled):"
 msgstr "Policys (Sicherheit auf Zeilenebene ausgeschaltet):"
 
-#: describe.c:2175 describe.c:2225
+#: describe.c:2239 describe.c:2289
 msgid "Rules:"
 msgstr "Regeln:"
 
-#: describe.c:2178
+#: describe.c:2242
 msgid "Disabled rules:"
 msgstr "Abgeschaltete Regeln:"
 
-#: describe.c:2181
+#: describe.c:2245
 msgid "Rules firing always:"
 msgstr "Regeln, die immer aktiv werden:"
 
-#: describe.c:2184
+#: describe.c:2248
 msgid "Rules firing on replica only:"
 msgstr "Regeln, die nur im Replikat aktiv werden:"
 
-#: describe.c:2208
+#: describe.c:2272
 msgid "View definition:"
 msgstr "Sichtdefinition:"
 
-#: describe.c:2343
+#: describe.c:2407
 msgid "Triggers:"
 msgstr "Trigger:"
 
-#: describe.c:2347
+#: describe.c:2411
 msgid "Disabled user triggers:"
 msgstr "Abgeschaltete Benutzer-Trigger:"
 
-#: describe.c:2349
+#: describe.c:2413
 msgid "Disabled triggers:"
 msgstr "Abgeschaltete Trigger:"
 
-#: describe.c:2352
+#: describe.c:2416
 msgid "Disabled internal triggers:"
 msgstr "Abgeschaltete interne Trigger:"
 
-#: describe.c:2355
+#: describe.c:2419
 msgid "Triggers firing always:"
 msgstr "Trigger, die immer aktiv werden:"
 
-#: describe.c:2358
+#: describe.c:2422
 msgid "Triggers firing on replica only:"
 msgstr "Trigger, die nur im Replikat aktiv werden:"
 
-#: describe.c:2437
+#: describe.c:2501
 msgid "Inherits"
 msgstr "Erbt von"
 
-#: describe.c:2476
+#: describe.c:2540
 #, c-format
 msgid "Number of child tables: %d (Use \\d+ to list them.)"
 msgstr "Anzahl Kindtabellen: %d (Mit \\d+ alle anzeigen.)"
 
-#: describe.c:2483
+#: describe.c:2547
 msgid "Child tables"
 msgstr "Kindtabellen"
 
-#: describe.c:2505
+#: describe.c:2569
 #, c-format
 msgid "Typed table of type: %s"
 msgstr "Getypte Tabelle vom Typ: %s"
 
-#: describe.c:2519
+#: describe.c:2583
 msgid "Replica Identity"
 msgstr "Replika-Identität"
 
-#: describe.c:2532
+#: describe.c:2596
 msgid "Has OIDs: yes"
 msgstr "Hat OIDs: ja"
 
-#: describe.c:2620
+#: describe.c:2684
 #, c-format
 msgid "Tablespace: \"%s\""
 msgstr "Tablespace: „%s“"
 
 #. translator: before this string there's an index description like
 #. '"foo_pkey" PRIMARY KEY, btree (a)'
-#: describe.c:2632
+#: describe.c:2696
 #, c-format
 msgid ", tablespace \"%s\""
 msgstr ", Tablespace „%s“"
 
-#: describe.c:2725
+#: describe.c:2789
 msgid "List of roles"
 msgstr "Liste der Rollen"
 
-#: describe.c:2727
+#: describe.c:2791
 msgid "Role name"
 msgstr "Rollenname"
 
-#: describe.c:2728
+#: describe.c:2792
 msgid "Attributes"
 msgstr "Attribute"
 
-#: describe.c:2729
+#: describe.c:2793
 msgid "Member of"
 msgstr "Mitglied von"
 
-#: describe.c:2740
+#: describe.c:2804
 msgid "Superuser"
 msgstr "Superuser"
 
-#: describe.c:2743
+#: describe.c:2807
 msgid "No inheritance"
 msgstr "keine Vererbung"
 
-#: describe.c:2746
+#: describe.c:2810
 msgid "Create role"
 msgstr "Rolle erzeugen"
 
-#: describe.c:2749
+#: describe.c:2813
 msgid "Create DB"
 msgstr "DB erzeugen"
 
-#: describe.c:2752
+#: describe.c:2816
 msgid "Cannot login"
 msgstr "kann nicht einloggen"
 
-#: describe.c:2756
+#: describe.c:2820
 msgid "Replication"
 msgstr "Replikation"
 
-#: describe.c:2760
+#: describe.c:2824
 msgid "Bypass RLS"
 msgstr "Bypass RLS"
 
-#: describe.c:2769
+#: describe.c:2833
 msgid "No connections"
 msgstr "keine Verbindungen"
 
-#: describe.c:2771
+#: describe.c:2835
 #, c-format
 msgid "%d connection"
 msgid_plural "%d connections"
 msgstr[0] "%d Verbindung"
 msgstr[1] "%d Verbindungen"
 
-#: describe.c:2781
+#: describe.c:2845
 msgid "Password valid until "
 msgstr "Passwort gültig bis "
 
-#: describe.c:2837
+#: describe.c:2901
 msgid "Role"
 msgstr "Rolle"
 
-#: describe.c:2838
+#: describe.c:2902
 msgid "Database"
 msgstr "Datenbank"
 
-#: describe.c:2839
+#: describe.c:2903
 msgid "Settings"
 msgstr "Einstellung"
 
-#: describe.c:2849
+#: describe.c:2913
 #, c-format
 msgid "No per-database role settings support in this server version.\n"
 msgstr "Keine Unterstützung für Rolleneinstellungen pro Datenbank in dieser Serverversion.\n"
 
-#: describe.c:2860
+#: describe.c:2924
 #, c-format
 msgid "No matching settings found.\n"
 msgstr "Keine passenden Einstellungen gefunden.\n"
 
-#: describe.c:2862
+#: describe.c:2926
 #, c-format
 msgid "No settings found.\n"
 msgstr "Keine Einstellungen gefunden.\n"
 
-#: describe.c:2867
+#: describe.c:2931
 msgid "List of settings"
 msgstr "Liste der Einstellungen"
 
-#: describe.c:2936
+#: describe.c:3000
 msgid "index"
 msgstr "Index"
 
-#: describe.c:2938
+#: describe.c:3002
 msgid "special"
 msgstr "speziell"
 
-#: describe.c:2946 describe.c:4388
+#: describe.c:3010 describe.c:4452
 msgid "Table"
 msgstr "Tabelle"
 
-#: describe.c:3022
+#: describe.c:3086
 #, c-format
 msgid "No matching relations found.\n"
 msgstr "Keine passenden Relationen gefunden.\n"
 
-#: describe.c:3024
+#: describe.c:3088
 #, c-format
 msgid "No relations found.\n"
 msgstr "Keine Relationen gefunden.\n"
 
-#: describe.c:3029
+#: describe.c:3093
 msgid "List of relations"
 msgstr "Liste der Relationen"
 
-#: describe.c:3066
+#: describe.c:3130
 msgid "Trusted"
 msgstr "Vertraut"
 
-#: describe.c:3074
+#: describe.c:3138
 msgid "Internal Language"
 msgstr "Interne Sprache"
 
-#: describe.c:3075
+#: describe.c:3139
 msgid "Call Handler"
 msgstr "Call-Handler"
 
-#: describe.c:3076 describe.c:4177
+#: describe.c:3140 describe.c:4241
 msgid "Validator"
 msgstr "Validator"
 
-#: describe.c:3079
+#: describe.c:3143
 msgid "Inline Handler"
 msgstr "Inline-Handler"
 
-#: describe.c:3107
+#: describe.c:3171
 msgid "List of languages"
 msgstr "Liste der Sprachen"
 
-#: describe.c:3151
+#: describe.c:3215
 msgid "Modifier"
 msgstr "Attribut"
 
-#: describe.c:3152
+#: describe.c:3216
 msgid "Check"
 msgstr "Check"
 
-#: describe.c:3194
+#: describe.c:3258
 msgid "List of domains"
 msgstr "Liste der Domänen"
 
-#: describe.c:3228
+#: describe.c:3292
 msgid "Source"
 msgstr "Quelle"
 
-#: describe.c:3229
+#: describe.c:3293
 msgid "Destination"
 msgstr "Ziel"
 
-#: describe.c:3230 describe.c:3379
+#: describe.c:3294 describe.c:3443
 msgid "no"
 msgstr "nein"
 
-#: describe.c:3230 describe.c:3381
+#: describe.c:3294 describe.c:3445
 msgid "yes"
 msgstr "ja"
 
-#: describe.c:3231
+#: describe.c:3295
 msgid "Default?"
 msgstr "Standard?"
 
-#: describe.c:3268
+#: describe.c:3332
 msgid "List of conversions"
 msgstr "Liste der Konversionen"
 
-#: describe.c:3307
+#: describe.c:3371
 msgid "Event"
 msgstr "Ereignis"
 
-#: describe.c:3309
+#: describe.c:3373
 msgid "enabled"
 msgstr "eingeschaltet"
 
-#: describe.c:3310
+#: describe.c:3374
 msgid "replica"
 msgstr "Replika"
 
-#: describe.c:3311
+#: describe.c:3375
 msgid "always"
 msgstr "immer"
 
-#: describe.c:3312
+#: describe.c:3376
 msgid "disabled"
 msgstr "ausgeschaltet"
 
-#: describe.c:3313
+#: describe.c:3377
 msgid "Enabled"
 msgstr "Eingeschaltet"
 
-#: describe.c:3314
+#: describe.c:3378
 msgid "Procedure"
 msgstr "Prozedur"
 
-#: describe.c:3315
+#: describe.c:3379
 msgid "Tags"
 msgstr "Tags"
 
-#: describe.c:3334
+#: describe.c:3398
 msgid "List of event triggers"
 msgstr "Liste der Ereignistrigger"
 
-#: describe.c:3376
+#: describe.c:3440
 msgid "Source type"
 msgstr "Quelltyp"
 
-#: describe.c:3377
+#: describe.c:3441
 msgid "Target type"
 msgstr "Zieltyp"
 
-#: describe.c:3380
+#: describe.c:3444
 msgid "in assignment"
 msgstr "in Zuweisung"
 
-#: describe.c:3382
+#: describe.c:3446
 msgid "Implicit?"
 msgstr "Implizit?"
 
-#: describe.c:3433
+#: describe.c:3497
 msgid "List of casts"
 msgstr "Liste der Typumwandlungen"
 
-#: describe.c:3459
+#: describe.c:3523
 #, c-format
 msgid "The server (version %d.%d) does not support collations.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Sortierfolgen.\n"
 
-#: describe.c:3509
+#: describe.c:3573
 msgid "List of collations"
 msgstr "Liste der Sortierfolgen"
 
-#: describe.c:3568
+#: describe.c:3632
 msgid "List of schemas"
 msgstr "Liste der Schemas"
 
-#: describe.c:3591 describe.c:3826 describe.c:3894 describe.c:3962
+#: describe.c:3655 describe.c:3890 describe.c:3958 describe.c:4026
 #, c-format
 msgid "The server (version %d.%d) does not support full text search.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Volltextsuche.\n"
 
-#: describe.c:3625
+#: describe.c:3689
 msgid "List of text search parsers"
 msgstr "Liste der Textsucheparser"
 
-#: describe.c:3668
+#: describe.c:3732
 #, c-format
 msgid "Did not find any text search parser named \"%s\".\n"
 msgstr "Kein Textsucheparser namens „%s“ gefunden\n"
 
-#: describe.c:3743
+#: describe.c:3807
 msgid "Start parse"
 msgstr "Parsen starten"
 
-#: describe.c:3744
+#: describe.c:3808
 msgid "Method"
 msgstr "Methode"
 
-#: describe.c:3748
+#: describe.c:3812
 msgid "Get next token"
 msgstr "Nächstes Token lesen"
 
-#: describe.c:3750
+#: describe.c:3814
 msgid "End parse"
 msgstr "Parsen beenden"
 
-#: describe.c:3752
+#: describe.c:3816
 msgid "Get headline"
 msgstr "Ãœberschrift ermitteln"
 
-#: describe.c:3754
+#: describe.c:3818
 msgid "Get token types"
 msgstr "Tokentypen ermitteln"
 
-#: describe.c:3764
+#: describe.c:3828
 #, c-format
 msgid "Text search parser \"%s.%s\""
 msgstr "Textsucheparser „%s.%s“"
 
-#: describe.c:3766
+#: describe.c:3830
 #, c-format
 msgid "Text search parser \"%s\""
 msgstr "Textsucheparser „%s“"
 
-#: describe.c:3785
+#: describe.c:3849
 msgid "Token name"
 msgstr "Tokenname"
 
-#: describe.c:3796
+#: describe.c:3860
 #, c-format
 msgid "Token types for parser \"%s.%s\""
 msgstr "Tokentypen für Parser „%s.%s“"
 
-#: describe.c:3798
+#: describe.c:3862
 #, c-format
 msgid "Token types for parser \"%s\""
 msgstr "Tokentypen für Parser „%s“"
 
-#: describe.c:3848
+#: describe.c:3912
 msgid "Template"
 msgstr "Vorlage"
 
-#: describe.c:3849
+#: describe.c:3913
 msgid "Init options"
 msgstr "Initialisierungsoptionen"
 
-#: describe.c:3871
+#: describe.c:3935
 msgid "List of text search dictionaries"
 msgstr "Liste der Textsuchewörterbücher"
 
-#: describe.c:3911
+#: describe.c:3975
 msgid "Init"
 msgstr "Init"
 
-#: describe.c:3912
+#: describe.c:3976
 msgid "Lexize"
 msgstr "Lexize"
 
-#: describe.c:3939
+#: describe.c:4003
 msgid "List of text search templates"
 msgstr "Liste der Textsuchevorlagen"
 
-#: describe.c:3996
+#: describe.c:4060
 msgid "List of text search configurations"
 msgstr "Liste der Textsuchekonfigurationen"
 
-#: describe.c:4040
+#: describe.c:4104
 #, c-format
 msgid "Did not find any text search configuration named \"%s\".\n"
 msgstr "Keine Textsuchekonfiguration namens „%s“ gefunden\n"
 
-#: describe.c:4106
+#: describe.c:4170
 msgid "Token"
 msgstr "Token"
 
-#: describe.c:4107
+#: describe.c:4171
 msgid "Dictionaries"
 msgstr "Wörterbücher"
 
-#: describe.c:4118
+#: describe.c:4182
 #, c-format
 msgid "Text search configuration \"%s.%s\""
 msgstr "Textsuchekonfiguration „%s.%s“"
 
-#: describe.c:4121
+#: describe.c:4185
 #, c-format
 msgid "Text search configuration \"%s\""
 msgstr "Textsuchekonfiguration „%s“"
 
-#: describe.c:4125
+#: describe.c:4189
 #, c-format
 msgid ""
 "\n"
@@ -1723,7 +1791,7 @@ msgstr ""
 "\n"
 "Parser: „%s.%s“"
 
-#: describe.c:4128
+#: describe.c:4192
 #, c-format
 msgid ""
 "\n"
@@ -1732,86 +1800,82 @@ msgstr ""
 "\n"
 "Parser: „%s“"
 
-#: describe.c:4160
+#: describe.c:4224
 #, c-format
 msgid "The server (version %d.%d) does not support foreign-data wrappers.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Fremddaten-Wrapper.\n"
 
-#: describe.c:4174
-msgid "Handler"
-msgstr "Handler"
-
-#: describe.c:4217
+#: describe.c:4281
 msgid "List of foreign-data wrappers"
 msgstr "Liste der Fremddaten-Wrapper"
 
-#: describe.c:4240
+#: describe.c:4304
 #, c-format
 msgid "The server (version %d.%d) does not support foreign servers.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Fremdserver.\n"
 
-#: describe.c:4252
+#: describe.c:4316
 msgid "Foreign-data wrapper"
 msgstr "Fremddaten-Wrapper"
 
-#: describe.c:4270 describe.c:4466
+#: describe.c:4334 describe.c:4530
 msgid "Version"
 msgstr "Version"
 
-#: describe.c:4296
+#: describe.c:4360
 msgid "List of foreign servers"
 msgstr "Liste der Fremdserver"
 
-#: describe.c:4319
+#: describe.c:4383
 #, c-format
 msgid "The server (version %d.%d) does not support user mappings.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Benutzerabbildungen.\n"
 
-#: describe.c:4328 describe.c:4389
+#: describe.c:4392 describe.c:4453
 msgid "Server"
 msgstr "Server"
 
-#: describe.c:4329
+#: describe.c:4393
 msgid "User name"
 msgstr "Benutzername"
 
-#: describe.c:4354
+#: describe.c:4418
 msgid "List of user mappings"
 msgstr "Liste der Benutzerabbildungen"
 
-#: describe.c:4377
+#: describe.c:4441
 #, c-format
 msgid "The server (version %d.%d) does not support foreign tables.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Fremdtabellen.\n"
 
-#: describe.c:4429
+#: describe.c:4493
 msgid "List of foreign tables"
 msgstr "Liste der Fremdtabellen"
 
-#: describe.c:4452 describe.c:4506
+#: describe.c:4516 describe.c:4570
 #, c-format
 msgid "The server (version %d.%d) does not support extensions.\n"
 msgstr "Der Server (Version %d.%d) unterstützt keine Erweiterungen.\n"
 
-#: describe.c:4483
+#: describe.c:4547
 msgid "List of installed extensions"
 msgstr "Liste der installierten Erweiterungen"
 
-#: describe.c:4533
+#: describe.c:4597
 #, c-format
 msgid "Did not find any extension named \"%s\".\n"
 msgstr "Keine Erweiterungen namens „%s“ gefunden\n"
 
-#: describe.c:4536
+#: describe.c:4600
 #, c-format
 msgid "Did not find any extensions.\n"
 msgstr "Keine Erweiterungen gefunden\n"
 
-#: describe.c:4580
+#: describe.c:4644
 msgid "Object Description"
 msgstr "Objektbeschreibung"
 
-#: describe.c:4589
+#: describe.c:4653
 #, c-format
 msgid "Objects in extension \"%s\""
 msgstr "Objekte in Erweiterung „%s“"
@@ -1830,7 +1894,7 @@ msgstr ""
 "psql ist das interaktive PostgreSQL-Terminal.\n"
 "\n"
 
-#: help.c:75 help.c:332 help.c:366 help.c:393
+#: help.c:75 help.c:333 help.c:367 help.c:394
 #, c-format
 msgid "Usage:\n"
 msgstr "Aufruf:\n"
@@ -2303,221 +2367,226 @@ msgstr "  \\da[S]  [MUSTER]       Aggregatfunktionen auflisten\n"
 
 #: help.c:218
 #, c-format
+msgid "  \\dA[+]  [PATTERN]      list access methods\n"
+msgstr "  \\dA[+]  [MUSTER]       Zugriffsmethoden auflisten\n"
+
+#: help.c:219
+#, c-format
 msgid "  \\db[+]  [PATTERN]      list tablespaces\n"
 msgstr "  \\db[+]  [MUSTER]       Tablespaces auflisten\n"
 
-#: help.c:219
+#: help.c:220
 #, c-format
 msgid "  \\dc[S+] [PATTERN]      list conversions\n"
 msgstr "  \\dc[S+] [MUSTER]       Konversionen auflisten\n"
 
-#: help.c:220
+#: help.c:221
 #, c-format
 msgid "  \\dC[+]  [PATTERN]      list casts\n"
 msgstr "  \\dC[+]  [MUSTER]       Typumwandlungen (Casts) auflisten\n"
 
-#: help.c:221
+#: help.c:222
 #, c-format
 msgid "  \\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\n"
 msgstr ""
 "  \\dd[S]  [MUSTER]       Objektbeschreibungen zeigen, die nirgendwo anders\n"
 "                         erscheinen\n"
 
-#: help.c:222
+#: help.c:223
 #, c-format
 msgid "  \\ddp    [PATTERN]      list default privileges\n"
 msgstr "  \\ddp    [MUSTER]       Vorgabeprivilegien auflisten\n"
 
-#: help.c:223
+#: help.c:224
 #, c-format
 msgid "  \\dD[S+] [PATTERN]      list domains\n"
 msgstr "  \\dD[S+] [MUSTER]       Domänen auflisten\n"
 
-#: help.c:224
+#: help.c:225
 #, c-format
 msgid "  \\det[+] [PATTERN]      list foreign tables\n"
 msgstr "  \\det[+] [MUSTER]       Fremdtabellen auflisten\n"
 
-#: help.c:225
+#: help.c:226
 #, c-format
 msgid "  \\des[+] [PATTERN]      list foreign servers\n"
 msgstr "  \\des[+] [MUSTER]       Fremdserver auflisten\n"
 
-#: help.c:226
+#: help.c:227
 #, c-format
 msgid "  \\deu[+] [PATTERN]      list user mappings\n"
 msgstr "  \\deu[+] [MUSTER]       Benutzerabbildungen auflisten\n"
 
-#: help.c:227
+#: help.c:228
 #, c-format
 msgid "  \\dew[+] [PATTERN]      list foreign-data wrappers\n"
 msgstr "  \\dew[+] [MUSTER]       Fremddaten-Wrapper auflisten\n"
 
-#: help.c:228
+#: help.c:229
 #, c-format
 msgid "  \\df[antw][S+] [PATRN]  list [only agg/normal/trigger/window] functions\n"
 msgstr "  \\df[antw][S+] [MUSTR]  Funktionen [nur Agg/normale/Trigger/Fenster] auflisten\n"
 
-#: help.c:229
+#: help.c:230
 #, c-format
 msgid "  \\dF[+]  [PATTERN]      list text search configurations\n"
 msgstr "  \\dF[+]  [MUSTER]       Textsuchekonfigurationen auflisten\n"
 
-#: help.c:230
+#: help.c:231
 #, c-format
 msgid "  \\dFd[+] [PATTERN]      list text search dictionaries\n"
 msgstr "  \\dFd[+] [MUSTER]       Textsuchewörterbücher auflisten\n"
 
-#: help.c:231
+#: help.c:232
 #, c-format
 msgid "  \\dFp[+] [PATTERN]      list text search parsers\n"
 msgstr "  \\dFp[+] [MUSTER]       Textsucheparser auflisten\n"
 
-#: help.c:232
+#: help.c:233
 #, c-format
 msgid "  \\dFt[+] [PATTERN]      list text search templates\n"
 msgstr "  \\dFt[+] [MUSTER]       Textsuchevorlagen auflisten\n"
 
-#: help.c:233
+#: help.c:234
 #, c-format
 msgid "  \\dg[S+] [PATTERN]      list roles\n"
 msgstr "  \\dg[S+] [MUSTER]       Rollen auflisten\n"
 
-#: help.c:234
+#: help.c:235
 #, c-format
 msgid "  \\di[S+] [PATTERN]      list indexes\n"
 msgstr "  \\di[S+] [MUSTER]       Indexe auflisten\n"
 
-#: help.c:235
+#: help.c:236
 #, c-format
 msgid "  \\dl                    list large objects, same as \\lo_list\n"
 msgstr "  \\dl                    Large Objects auflisten, wie \\lo_list\n"
 
-#: help.c:236
+#: help.c:237
 #, c-format
 msgid "  \\dL[S+] [PATTERN]      list procedural languages\n"
 msgstr "  \\dL[S+] [MUSTER]       prozedurale Sprachen auflisten\n"
 
-#: help.c:237
+#: help.c:238
 #, c-format
 msgid "  \\dm[S+] [PATTERN]      list materialized views\n"
 msgstr "  \\dm[S+] [MUSTER]       materialisierte Sichten auflisten\n"
 
-#: help.c:238
+#: help.c:239
 #, c-format
 msgid "  \\dn[S+] [PATTERN]      list schemas\n"
 msgstr "  \\dn[S+] [MUSTER]       Schemas auflisten\n"
 
-#: help.c:239
+#: help.c:240
 #, c-format
 msgid "  \\do[S]  [PATTERN]      list operators\n"
 msgstr "  \\do[S]  [MUSTER]       Operatoren auflisten\n"
 
-#: help.c:240
+#: help.c:241
 #, c-format
 msgid "  \\dO[S+] [PATTERN]      list collations\n"
 msgstr "  \\dO[S+] [MUSTER]       Sortierfolgen auflisten\n"
 
-#: help.c:241
+#: help.c:242
 #, c-format
 msgid "  \\dp     [PATTERN]      list table, view, and sequence access privileges\n"
 msgstr ""
 "  \\dp     [MUSTER]       Zugriffsprivilegien für Tabellen, Sichten und\n"
 "                         Sequenzen auflisten\n"
 
-#: help.c:242
+#: help.c:243
 #, c-format
 msgid "  \\drds [PATRN1 [PATRN2]] list per-database role settings\n"
 msgstr "  \\drds [MUSTER1 [MUSTER2]] datenbankspezifische Rolleneinstellungen auflisten\n"
 
-#: help.c:243
+#: help.c:244
 #, c-format
 msgid "  \\ds[S+] [PATTERN]      list sequences\n"
 msgstr "  \\ds[S+] [MUSTER]       Sequenzen auflisten\n"
 
-#: help.c:244
+#: help.c:245
 #, c-format
 msgid "  \\dt[S+] [PATTERN]      list tables\n"
 msgstr "  \\dt[S+] [MUSTER]       Tabellen auflisten\n"
 
-#: help.c:245
+#: help.c:246
 #, c-format
 msgid "  \\dT[S+] [PATTERN]      list data types\n"
 msgstr "  \\dT[S+] [MUSTER]       Datentypen auflisten\n"
 
-#: help.c:246
+#: help.c:247
 #, c-format
 msgid "  \\du[S+] [PATTERN]      list roles\n"
 msgstr "  \\du[S+] [MUSTER]       Rollen auflisten\n"
 
-#: help.c:247
+#: help.c:248
 #, c-format
 msgid "  \\dv[S+] [PATTERN]      list views\n"
 msgstr "  \\dv[S+] [MUSTER]       Sichten auflisten\n"
 
-#: help.c:248
+#: help.c:249
 #, c-format
 msgid "  \\dE[S+] [PATTERN]      list foreign tables\n"
 msgstr "  \\dE[S+] [MUSTER]       Fremdtabellen auflisten\n"
 
-#: help.c:249
+#: help.c:250
 #, c-format
 msgid "  \\dx[+]  [PATTERN]      list extensions\n"
 msgstr "  \\dx[+]  [MUSTER]       Erweiterungen auflisten\n"
 
-#: help.c:250
+#: help.c:251
 #, c-format
 msgid "  \\dy     [PATTERN]      list event triggers\n"
 msgstr "  \\dy     [MUSTER]       Ereignistrigger auflisten\n"
 
-#: help.c:251
+#: help.c:252
 #, c-format
 msgid "  \\l[+]   [PATTERN]      list databases\n"
 msgstr "  \\l[+]   [MUSTER]       Datenbanken auflisten\n"
 
-#: help.c:252
+#: help.c:253
 #, c-format
 msgid "  \\sf[+]  FUNCNAME       show a function's definition\n"
 msgstr "  \\sf[+]  FUNKNAME       Funktionsdefinition zeigen\n"
 
-#: help.c:253
+#: help.c:254
 #, c-format
 msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
 msgstr "  \\sv[+]  SICHTNAME      Sichtdefinition zeigen\n"
 
-#: help.c:254
+#: help.c:255
 #, c-format
 msgid "  \\z      [PATTERN]      same as \\dp\n"
 msgstr "  \\z      [MUSTER]       äquivalent zu \\dp\n"
 
-#: help.c:257
+#: help.c:258
 #, c-format
 msgid "Formatting\n"
 msgstr "Formatierung\n"
 
-#: help.c:258
+#: help.c:259
 #, c-format
 msgid "  \\a                     toggle between unaligned and aligned output mode\n"
 msgstr ""
 "  \\a                     zwischen unausgerichtetem und ausgerichtetem Ausgabemodus\n"
 "                         umschalten\n"
 
-#: help.c:259
+#: help.c:260
 #, c-format
 msgid "  \\C [STRING]            set table title, or unset if none\n"
 msgstr "  \\C [TEXT]              Tabellentitel setzen oder löschen\n"
 
-#: help.c:260
+#: help.c:261
 #, c-format
 msgid "  \\f [STRING]            show or set field separator for unaligned query output\n"
 msgstr "  \\f [ZEICHEN]           Feldtrennzeichen zeigen oder setzen\n"
 
-#: help.c:261
+#: help.c:262
 #, c-format
 msgid "  \\H                     toggle HTML output mode (currently %s)\n"
 msgstr "  \\H                     HTML-Ausgabemodus umschalten (gegenwärtig %s)\n"
 
-#: help.c:263
+#: help.c:264
 #, c-format
 msgid ""
 "  \\pset [NAME [VALUE]]   set table output option\n"
@@ -2530,27 +2599,27 @@ msgstr ""
 "                         numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager|\n"
 "                         unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle})\n"
 
-#: help.c:267
+#: help.c:268
 #, c-format
 msgid "  \\t [on|off]            show only rows (currently %s)\n"
 msgstr "  \\t [on|off]            nur Datenzeilen zeigen (gegenwärtig %s)\n"
 
-#: help.c:269
+#: help.c:270
 #, c-format
 msgid "  \\T [STRING]            set HTML <table> tag attributes, or unset if none\n"
 msgstr "  \\T [TEXT]              HTML <table>-Tag-Attribute setzen oder löschen\n"
 
-#: help.c:270
+#: help.c:271
 #, c-format
 msgid "  \\x [on|off|auto]       toggle expanded output (currently %s)\n"
 msgstr "  \\x [on|off|auto]       erweiterte Ausgabe umschalten (gegenwärtig %s)\n"
 
-#: help.c:274
+#: help.c:275
 #, c-format
 msgid "Connection\n"
 msgstr "Verbindung\n"
 
-#: help.c:276
+#: help.c:277
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2559,7 +2628,7 @@ msgstr ""
 "  \\c[onnect] {[DBNAME|- BENUTZER|- HOST|- PORT|-] | conninfo}\n"
 "                         mit neuer Datenbank verbinden (aktuell „%s“)\n"
 
-#: help.c:280
+#: help.c:281
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2568,74 +2637,74 @@ msgstr ""
 "  \\c[onnect] {[DBNAME|- BENUTZER|- HOST|- PORT|-] | conninfo}\n"
 "                         mit neuer Datenbank verbinden (aktuell keine Verbindung)\n"
 
-#: help.c:282
+#: help.c:283
 #, c-format
 msgid "  \\encoding [ENCODING]   show or set client encoding\n"
 msgstr "  \\encoding [KODIERUNG]  Client-Kodierung zeigen oder setzen\n"
 
-#: help.c:283
+#: help.c:284
 #, c-format
 msgid "  \\password [USERNAME]   securely change the password for a user\n"
 msgstr ""
 "  \\password [BENUTZERNAME]\n"
 "                         sicheres Ändern eines Benutzerpasswortes\n"
 
-#: help.c:284
+#: help.c:285
 #, c-format
 msgid "  \\conninfo              display information about current connection\n"
 msgstr "  \\conninfo              Informationen über aktuelle Verbindung anzeigen\n"
 
-#: help.c:287
+#: help.c:288
 #, c-format
 msgid "Operating System\n"
 msgstr "Betriebssystem\n"
 
-#: help.c:288
+#: help.c:289
 #, c-format
 msgid "  \\cd [DIR]              change the current working directory\n"
 msgstr "  \\cd [VERZ]             Arbeitsverzeichnis wechseln\n"
 
-#: help.c:289
+#: help.c:290
 #, c-format
 msgid "  \\setenv NAME [VALUE]   set or unset environment variable\n"
 msgstr "  \\setenv NAME [WERT]    Umgebungsvariable setzen oder löschen\n"
 
-#: help.c:290
+#: help.c:291
 #, c-format
 msgid "  \\timing [on|off]       toggle timing of commands (currently %s)\n"
 msgstr "  \\timing [on|off]       Zeitmessung umschalten (gegenwärtig %s)\n"
 
-#: help.c:292
+#: help.c:293
 #, c-format
 msgid "  \\! [COMMAND]           execute command in shell or start interactive shell\n"
 msgstr "  \\! [BEFEHL]            Befehl in Shell ausführen oder interaktive Shell starten\n"
 
-#: help.c:295
+#: help.c:296
 #, c-format
 msgid "Variables\n"
 msgstr "Variablen\n"
 
-#: help.c:296
+#: help.c:297
 #, c-format
 msgid "  \\prompt [TEXT] NAME    prompt user to set internal variable\n"
 msgstr "  \\prompt [TEXT] NAME    interne Variable vom Benutzer abfragen\n"
 
-#: help.c:297
+#: help.c:298
 #, c-format
 msgid "  \\set [NAME [VALUE]]    set internal variable, or list all if no parameters\n"
 msgstr "  \\set [NAME [WERT]]     interne Variable setzen, oder alle anzeigen\n"
 
-#: help.c:298
+#: help.c:299
 #, c-format
 msgid "  \\unset NAME            unset (delete) internal variable\n"
 msgstr "  \\unset NAME            interne Variable löschen\n"
 
-#: help.c:301
+#: help.c:302
 #, c-format
 msgid "Large Objects\n"
 msgstr "Large Objects\n"
 
-#: help.c:302
+#: help.c:303
 #, c-format
 msgid ""
 "  \\lo_export LOBOID FILE\n"
@@ -2648,7 +2717,7 @@ msgstr ""
 "  \\lo_list\n"
 "  \\lo_unlink LOBOID      Large-Object-Operationen\n"
 
-#: help.c:329
+#: help.c:330
 #, c-format
 msgid ""
 "List of specially treated variables\n"
@@ -2657,12 +2726,12 @@ msgstr ""
 "Liste besonderer Variablen\n"
 "\n"
 
-#: help.c:331
+#: help.c:332
 #, c-format
 msgid "psql variables:\n"
 msgstr "psql-Variablen:\n"
 
-#: help.c:333
+#: help.c:334
 #, c-format
 msgid ""
 "  psql --set=NAME=VALUE\n"
@@ -2673,14 +2742,14 @@ msgstr ""
 "  oder \\set NAME WERT innerhalb von psql\n"
 "\n"
 
-#: help.c:335
+#: help.c:336
 #, c-format
 msgid "  AUTOCOMMIT         if set, successful SQL commands are automatically committed\n"
 msgstr ""
 "  AUTOCOMMIT         wenn gesetzt werden alle erfolgreichen SQL-Befehle\n"
 "                     automatisch committet\n"
 
-#: help.c:336
+#: help.c:337
 #, c-format
 msgid ""
 "  COMP_KEYWORD_CASE  determines the case used to complete SQL key words\n"
@@ -2690,12 +2759,12 @@ msgstr ""
 "                     schreibung vervollständigt werden\n"
 "                     [lower, upper, preserve-lower, preserve-upper]\n"
 
-#: help.c:338
+#: help.c:339
 #, c-format
 msgid "  DBNAME             the currently connected database name\n"
 msgstr "  DBNAME             Name der aktuellen Datenbank\n"
 
-#: help.c:339
+#: help.c:340
 #, c-format
 msgid ""
 "  ECHO               controls what input is written to standard output\n"
@@ -2704,7 +2773,7 @@ msgstr ""
 "  ECHO               kontrolliert, welche Eingaben auf die Standardausgabe\n"
 "                     geschrieben werden [all, errors, none, queries]\n"
 
-#: help.c:341
+#: help.c:342
 #, c-format
 msgid ""
 "  ECHO_HIDDEN        if set, display internal queries executed by backslash commands;\n"
@@ -2714,12 +2783,12 @@ msgstr ""
 "                     ausgeführt werden, anzeigen; wenn auf „noexec“ gesetzt, nur\n"
 "                     anzeigen, nicht ausführen\n"
 
-#: help.c:343
+#: help.c:344
 #, c-format
 msgid "  ENCODING           current client character set encoding\n"
 msgstr "  ENCODING           aktuelle Zeichensatzkodierung des Clients\n"
 
-#: help.c:344
+#: help.c:345
 #, c-format
 msgid ""
 "  FETCH_COUNT        the number of result rows to fetch and display at a time\n"
@@ -2728,109 +2797,109 @@ msgstr ""
 "  FETCH_COUNT        Anzahl auf einmal zu holender und anzuzeigender Zeilen\n"
 "                     (Standard: 0=unbegrenzt)\n"
 
-#: help.c:346
+#: help.c:347
 #, c-format
 msgid "  HISTCONTROL        controls command history [ignorespace, ignoredups, ignoreboth]\n"
 msgstr ""
 "  HISTCONTROL        kontrolliert Befehlsgeschichte\n"
 "                     [ignorespace, ignoredups, ignoreboth]\n"
 
-#: help.c:347
+#: help.c:348
 #, c-format
 msgid "  HISTFILE           file name used to store the command history\n"
 msgstr "  HISTFILE           Dateiname für die Befehlsgeschichte\n"
 
-#: help.c:348
+#: help.c:349
 #, c-format
 msgid "  HISTSIZE           the number of commands to store in the command history\n"
 msgstr "  HISTSIZE           Anzahl der in der Befehlsgeschichte zu speichernden Befehle\n"
 
-#: help.c:349
+#: help.c:350
 #, c-format
 msgid "  HOST               the currently connected database server host\n"
 msgstr "  HOST               der aktuell verbundene Datenbankserverhost\n"
 
-#: help.c:350
+#: help.c:351
 #, c-format
 msgid "  IGNOREEOF          if unset, sending an EOF to interactive session terminates application\n"
 msgstr ""
 "  IGNOREEOF          wenn nicht gesetzt beendet ein EOF in einer interaktiven\n"
 "                     Sitzung das Programm\n"
 
-#: help.c:351
+#: help.c:352
 #, c-format
 msgid "  LASTOID            value of the last affected OID\n"
 msgstr "  LASTOID            Wert der zuletzt beinträchtigten OID\n"
 
-#: help.c:352
+#: help.c:353
 #, c-format
 msgid "  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses implicit savepoints)\n"
 msgstr ""
 "  ON_ERROR_ROLLBACK  wenn gesetzt beendet ein Fehler die Transaktion nicht\n"
 "                     (verwendet implizite Sicherungspunkte)\n"
 
-#: help.c:353
+#: help.c:354
 #, c-format
 msgid "  ON_ERROR_STOP      stop batch execution after error\n"
 msgstr "  ON_ERROR_STOP      Skriptausführung bei Fehler beenden\n"
 
-#: help.c:354
+#: help.c:355
 #, c-format
 msgid "  PORT               server port of the current connection\n"
 msgstr "  PORT               Serverport der aktuellen Verbindung\n"
 
-#: help.c:355
+#: help.c:356
 #, c-format
 msgid "  PROMPT1            specifies the standard psql prompt\n"
 msgstr "  PROMPT1            der normale psql-Prompt\n"
 
-#: help.c:356
+#: help.c:357
 #, c-format
 msgid "  PROMPT2            specifies the prompt used when a statement continues from a previous line\n"
 msgstr ""
 "  PROMPT2            der Prompt, wenn eine Anweisung von der vorherigen Zeile\n"
 "                     fortgesetzt wird\n"
 
-#: help.c:357
+#: help.c:358
 #, c-format
 msgid "  PROMPT3            specifies the prompt used during COPY ... FROM STDIN\n"
 msgstr "  PROMPT3            der Prompt während COPY ... FROM STDIN\n"
 
-#: help.c:358
+#: help.c:359
 #, c-format
 msgid "  QUIET              run quietly (same as -q option)\n"
 msgstr "  QUIET              stille Ausführung (wie Option -q)\n"
 
-#: help.c:359
+#: help.c:360
 #, c-format
 msgid "  SHOW_CONTEXT       controls display of message context fields [never, errors, always]\n"
 msgstr ""
 "  SHOW_CONTEXT       kontrolliert die Anzeige von Kontextinformationen in\n"
 "                     Meldungen [never, errors, always]\n"
 
-#: help.c:360
+#: help.c:361
 #, c-format
 msgid "  SINGLELINE         end of line terminates SQL command mode (same as -S option)\n"
 msgstr "  SINGLELINE         Zeilenende beendet SQL-Anweisung (wie Option -S)\n"
 
-#: help.c:361
+#: help.c:362
 #, c-format
 msgid "  SINGLESTEP         single-step mode (same as -s option)\n"
 msgstr "  SINGLESTEP         Einzelschrittmodus (wie Option -s)\n"
 
-#: help.c:362
+#: help.c:363
 #, c-format
 msgid "  USER               the currently connected database user\n"
 msgstr "  USER               der aktuell verbundene Datenbankbenutzer\n"
 
-#: help.c:363
+#: help.c:364
 #, c-format
 msgid "  VERBOSITY          controls verbosity of error reports [default, verbose, terse]\n"
 msgstr ""
 "  VERBOSITY          kontrolliert wieviele Details in Fehlermeldungen enthalten\n"
 "                     sind [default, verbose, terse]\n"
 
-#: help.c:365
+#: help.c:366
 #, c-format
 msgid ""
 "\n"
@@ -2839,7 +2908,7 @@ msgstr ""
 "\n"
 "Anzeigeeinstellungen:\n"
 
-#: help.c:367
+#: help.c:368
 #, c-format
 msgid ""
 "  psql --pset=NAME[=VALUE]\n"
@@ -2850,58 +2919,58 @@ msgstr ""
 "  oder \\pset NAME [WERT] innerhalb von psql\n"
 "\n"
 
-#: help.c:369
+#: help.c:370
 #, c-format
 msgid "  border             border style (number)\n"
 msgstr "  border             Rahmenstil (Zahl)\n"
 
-#: help.c:370
+#: help.c:371
 #, c-format
 msgid "  columns            target width for the wrapped format\n"
 msgstr "  columns            Zielbreite für das Format „wrapped“\n"
 
-#: help.c:371
+#: help.c:372
 #, c-format
 msgid "  expanded (or x)    expanded output [on, off, auto]\n"
 msgstr "  expanded (oder x)  erweiterte Ausgabe [on, off, auto]\n"
 
-#: help.c:372
+#: help.c:373
 #, c-format
 msgid "  fieldsep           field separator for unaligned output (default \"%s\")\n"
 msgstr ""
 "  fieldsep           Feldtrennzeichen für unausgerichteten Ausgabemodus\n"
 "                     (Standard „%s“)\n"
 
-#: help.c:373
+#: help.c:374
 #, c-format
 msgid "  fieldsep_zero      set field separator for unaligned output to zero byte\n"
 msgstr ""
 "  fieldsep_zero      Feldtrennzeichen für unausgerichteten Ausgabemodus auf\n"
 "                     Null-Byte setzen\n"
 
-#: help.c:374
+#: help.c:375
 #, c-format
 msgid "  format             set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
 msgstr "  format             Ausgabeformat setzen [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
 
-#: help.c:375
+#: help.c:376
 #, c-format
 msgid "  footer             enable or disable display of the table footer [on, off]\n"
 msgstr "  footer             Tabellenfußzeile ein- oder auschalten [on, off]\n"
 
-#: help.c:376
+#: help.c:377
 #, c-format
 msgid "  linestyle          set the border line drawing style [ascii, old-ascii, unicode]\n"
 msgstr "  linestyle          Rahmenlinienstil setzen [ascii, old-ascii, unicode]\n"
 
-#: help.c:377
+#: help.c:378
 #, c-format
 msgid "  null               set the string to be printed in place of a null value\n"
 msgstr ""
 "  null               setzt die Zeichenkette, die anstelle eines NULL-Wertes\n"
 "                     ausgegeben wird\n"
 
-#: help.c:378
+#: help.c:379
 #, c-format
 msgid ""
 "  numericlocale      enable or disable display of a locale-specific character to separate\n"
@@ -2910,26 +2979,26 @@ msgstr ""
 "  numericlocale      Verwendung eines Locale-spezifischen Zeichens zur Trennung\n"
 "                     von Zifferngruppen ein- oder auschalten [on, off]\n"
 
-#: help.c:380
+#: help.c:381
 #, c-format
 msgid "  pager              control when an external pager is used [yes, no, always]\n"
 msgstr ""
 "  pager              kontrolliert Verwendung eines externen Pager-Programms\n"
 "                     [yes, no, always]\n"
 
-#: help.c:381
+#: help.c:382
 #, c-format
 msgid "  recordsep          record (line) separator for unaligned output\n"
 msgstr "  recordsep          Satztrennzeichen für unausgerichteten Ausgabemodus\n"
 
-#: help.c:382
+#: help.c:383
 #, c-format
 msgid "  recordsep_zero     set record separator for unaligned output to zero byte\n"
 msgstr ""
 "  recordsep_zero     Satztrennzeichen für unausgerichteten Ausgabemodus auf\n"
 "                     Null-Byte setzen\n"
 
-#: help.c:383
+#: help.c:384
 #, c-format
 msgid ""
 "  tableattr (or T)   specify attributes for table tag in html format or proportional\n"
@@ -2939,19 +3008,19 @@ msgstr ""
 "                     proportionale Spaltenbreite für links ausgerichtete Datentypen\n"
 "                     im Format „latex-longtable“\n"
 
-#: help.c:385
+#: help.c:386
 #, c-format
 msgid "  title              set the table title for any subsequently printed tables\n"
 msgstr "  title              setzt den Titel darauffolgend ausgegebener Tabellen\n"
 
-#: help.c:386
+#: help.c:387
 #, c-format
 msgid "  tuples_only        if set, only actual table data is shown\n"
 msgstr ""
 "  tuples_only        wenn gesetzt werden nur die eigentlichen Tabellendaten\n"
 "                     gezeigt\n"
 
-#: help.c:387
+#: help.c:388
 #, c-format
 msgid ""
 "  unicode_border_linestyle\n"
@@ -2964,7 +3033,7 @@ msgstr ""
 "  unicode_header_linestyle\n"
 "                     setzt den Stil für Unicode-Linien [single, double]\n"
 
-#: help.c:392
+#: help.c:393
 #, c-format
 msgid ""
 "\n"
@@ -2973,7 +3042,7 @@ msgstr ""
 "\n"
 "Umgebungsvariablen:\n"
 
-#: help.c:396
+#: help.c:397
 #, c-format
 msgid ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
@@ -2984,7 +3053,7 @@ msgstr ""
 "  oder \\setenv NAME [WERT] innerhalb von psql\n"
 "\n"
 
-#: help.c:398
+#: help.c:399
 #, c-format
 msgid ""
 "  set NAME=VALUE\n"
@@ -2997,52 +3066,52 @@ msgstr ""
 "  oder \\setenv NAME [WERT] innerhalb von psql\n"
 "\n"
 
-#: help.c:401
+#: help.c:402
 #, c-format
 msgid "  COLUMNS            number of columns for wrapped format\n"
 msgstr "  COLUMNS            Anzahl Spalten im Format „wrapped“\n"
 
-#: help.c:402
+#: help.c:403
 #, c-format
 msgid "  PAGER              name of external pager program\n"
 msgstr "  PAGER              Name des externen Pager-Programms\n"
 
-#: help.c:403
+#: help.c:404
 #, c-format
 msgid "  PGAPPNAME          same as the application_name connection parameter\n"
 msgstr "  PGAPPNAME          wie Verbindungsparameter „application_name“\n"
 
-#: help.c:404
+#: help.c:405
 #, c-format
 msgid "  PGDATABASE         same as the dbname connection parameter\n"
 msgstr "  PGDATABASE         wie Verbindungsparameter „dbname“\n"
 
-#: help.c:405
+#: help.c:406
 #, c-format
 msgid "  PGHOST             same as the host connection parameter\n"
 msgstr "  PGHOST             wie Verbindungsparameter „host“\n"
 
-#: help.c:406
+#: help.c:407
 #, c-format
 msgid "  PGPORT             same as the port connection parameter\n"
 msgstr "  PGPORT             wie Verbindungsparameter „port“\n"
 
-#: help.c:407
+#: help.c:408
 #, c-format
 msgid "  PGUSER             same as the user connection parameter\n"
 msgstr "  PGUSER             wie Verbindungsparameter „user“\n"
 
-#: help.c:408
+#: help.c:409
 #, c-format
 msgid "  PGPASSWORD         connection password (not recommended)\n"
 msgstr "  PGPASSWORD         Verbindungspasswort (nicht empfohlen)\n"
 
-#: help.c:409
+#: help.c:410
 #, c-format
 msgid "  PGPASSFILE         password file name\n"
 msgstr "  PGPASSFILE         Name der Passwortdatei\n"
 
-#: help.c:410
+#: help.c:411
 #, c-format
 msgid ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
@@ -3051,7 +3120,7 @@ msgstr ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
 "                     Editor für Befehle \\e, \\ef und \\ev\n"
 
-#: help.c:412
+#: help.c:413
 #, c-format
 msgid ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
@@ -3060,31 +3129,31 @@ msgstr ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
 "                     wie die Zeilennummer beim Aufruf des Editors angegeben wird\n"
 
-#: help.c:414
+#: help.c:415
 #, c-format
 msgid "  PSQL_HISTORY       alternative location for the command history file\n"
 msgstr "  PSQL_HISTORY       alternativer Pfad für History-Datei\n"
 
-#: help.c:415
+#: help.c:416
 #, c-format
 msgid "  PSQLRC             alternative location for the user's .psqlrc file\n"
 msgstr "  PSQLRC             alternativer Pfad für .psqlrc-Datei des Benutzers\n"
 
-#: help.c:416
+#: help.c:417
 #, c-format
 msgid "  SHELL              shell used by the \\! command\n"
 msgstr "  SHELL              Shell für den Befehl \\!\n"
 
-#: help.c:417
+#: help.c:418
 #, c-format
 msgid "  TMPDIR             directory for temporary files\n"
 msgstr "  TMPDIR             Verzeichnis für temporäre Dateien\n"
 
-#: help.c:460
+#: help.c:461
 msgid "Available help:\n"
 msgstr "Verfügbare Hilfe:\n"
 
-#: help.c:544
+#: help.c:545
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -3099,7 +3168,7 @@ msgstr ""
 "%s\n"
 "\n"
 
-#: help.c:560
+#: help.c:561
 #, c-format
 msgid ""
 "No help available for \"%s\".\n"
@@ -3216,32 +3285,32 @@ msgstr "%s: Speicher aufgebraucht\n"
 #: sql_help.c:1190 sql_help.c:1193 sql_help.c:1195 sql_help.c:1197
 #: sql_help.c:1247 sql_help.c:1285 sql_help.c:1288 sql_help.c:1290
 #: sql_help.c:1292 sql_help.c:1294 sql_help.c:1296 sql_help.c:1299
-#: sql_help.c:1339 sql_help.c:1542 sql_help.c:1613 sql_help.c:1633
-#: sql_help.c:1650 sql_help.c:1705 sql_help.c:1709 sql_help.c:1719
-#: sql_help.c:1739 sql_help.c:1764 sql_help.c:1782 sql_help.c:1811
-#: sql_help.c:1886 sql_help.c:1928 sql_help.c:1950 sql_help.c:1970
-#: sql_help.c:1971 sql_help.c:2006 sql_help.c:2026 sql_help.c:2048
-#: sql_help.c:2061 sql_help.c:2092 sql_help.c:2117 sql_help.c:2161
-#: sql_help.c:2347 sql_help.c:2360 sql_help.c:2377 sql_help.c:2393
-#: sql_help.c:2432 sql_help.c:2483 sql_help.c:2487 sql_help.c:2489
-#: sql_help.c:2495 sql_help.c:2513 sql_help.c:2540 sql_help.c:2575
-#: sql_help.c:2587 sql_help.c:2596 sql_help.c:2640 sql_help.c:2654
-#: sql_help.c:2682 sql_help.c:2690 sql_help.c:2698 sql_help.c:2706
-#: sql_help.c:2714 sql_help.c:2722 sql_help.c:2730 sql_help.c:2738
-#: sql_help.c:2747 sql_help.c:2758 sql_help.c:2766 sql_help.c:2774
-#: sql_help.c:2782 sql_help.c:2790 sql_help.c:2800 sql_help.c:2809
-#: sql_help.c:2818 sql_help.c:2826 sql_help.c:2835 sql_help.c:2843
-#: sql_help.c:2852 sql_help.c:2860 sql_help.c:2868 sql_help.c:2876
-#: sql_help.c:2884 sql_help.c:2892 sql_help.c:2900 sql_help.c:2908
-#: sql_help.c:2916 sql_help.c:2933 sql_help.c:2942 sql_help.c:2950
-#: sql_help.c:2967 sql_help.c:2982 sql_help.c:3247 sql_help.c:3298
-#: sql_help.c:3327 sql_help.c:3335 sql_help.c:3754 sql_help.c:3802
-#: sql_help.c:3943
+#: sql_help.c:1339 sql_help.c:1544 sql_help.c:1615 sql_help.c:1635
+#: sql_help.c:1652 sql_help.c:1707 sql_help.c:1711 sql_help.c:1721
+#: sql_help.c:1741 sql_help.c:1766 sql_help.c:1784 sql_help.c:1813
+#: sql_help.c:1888 sql_help.c:1930 sql_help.c:1952 sql_help.c:1972
+#: sql_help.c:1973 sql_help.c:2008 sql_help.c:2028 sql_help.c:2050
+#: sql_help.c:2063 sql_help.c:2094 sql_help.c:2119 sql_help.c:2163
+#: sql_help.c:2349 sql_help.c:2362 sql_help.c:2379 sql_help.c:2395
+#: sql_help.c:2434 sql_help.c:2485 sql_help.c:2489 sql_help.c:2491
+#: sql_help.c:2497 sql_help.c:2515 sql_help.c:2542 sql_help.c:2577
+#: sql_help.c:2589 sql_help.c:2598 sql_help.c:2642 sql_help.c:2656
+#: sql_help.c:2684 sql_help.c:2692 sql_help.c:2700 sql_help.c:2708
+#: sql_help.c:2716 sql_help.c:2724 sql_help.c:2732 sql_help.c:2740
+#: sql_help.c:2749 sql_help.c:2760 sql_help.c:2768 sql_help.c:2776
+#: sql_help.c:2784 sql_help.c:2792 sql_help.c:2802 sql_help.c:2811
+#: sql_help.c:2820 sql_help.c:2828 sql_help.c:2837 sql_help.c:2845
+#: sql_help.c:2854 sql_help.c:2862 sql_help.c:2870 sql_help.c:2878
+#: sql_help.c:2886 sql_help.c:2894 sql_help.c:2902 sql_help.c:2910
+#: sql_help.c:2918 sql_help.c:2935 sql_help.c:2944 sql_help.c:2952
+#: sql_help.c:2969 sql_help.c:2984 sql_help.c:3249 sql_help.c:3300
+#: sql_help.c:3329 sql_help.c:3337 sql_help.c:3756 sql_help.c:3804
+#: sql_help.c:3945
 msgid "name"
 msgstr "Name"
 
-#: sql_help.c:37 sql_help.c:40 sql_help.c:43 sql_help.c:309 sql_help.c:1403
-#: sql_help.c:2655 sql_help.c:3550
+#: sql_help.c:37 sql_help.c:40 sql_help.c:43 sql_help.c:309 sql_help.c:1405
+#: sql_help.c:2657 sql_help.c:3552
 msgid "aggregate_signature"
 msgstr "Aggregatsignatur"
 
@@ -3260,7 +3329,7 @@ msgstr "neuer_Name"
 #: sql_help.c:592 sql_help.c:651 sql_help.c:672 sql_help.c:701 sql_help.c:756
 #: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045
 #: sql_help.c:1063 sql_help.c:1106 sql_help.c:1127 sql_help.c:1189
-#: sql_help.c:1291 sql_help.c:2333
+#: sql_help.c:1291 sql_help.c:2335
 msgid "new_owner"
 msgstr "neuer_Eigentümer"
 
@@ -3272,63 +3341,63 @@ msgstr "neuer_Eigentümer"
 msgid "new_schema"
 msgstr "neues_Schema"
 
-#: sql_help.c:45 sql_help.c:1456 sql_help.c:2656 sql_help.c:3569
+#: sql_help.c:45 sql_help.c:1458 sql_help.c:2658 sql_help.c:3571
 msgid "where aggregate_signature is:"
 msgstr "wobei Aggregatsignatur Folgendes ist:"
 
 #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:319 sql_help.c:344
 #: sql_help.c:347 sql_help.c:350 sql_help.c:490 sql_help.c:495 sql_help.c:500
-#: sql_help.c:505 sql_help.c:510 sql_help.c:1421 sql_help.c:1457
-#: sql_help.c:1460 sql_help.c:1463 sql_help.c:1614 sql_help.c:1634
-#: sql_help.c:1637 sql_help.c:1887 sql_help.c:2657 sql_help.c:2660
-#: sql_help.c:2663 sql_help.c:2748 sql_help.c:3133 sql_help.c:3465
-#: sql_help.c:3556 sql_help.c:3570 sql_help.c:3573 sql_help.c:3576
+#: sql_help.c:505 sql_help.c:510 sql_help.c:1423 sql_help.c:1459
+#: sql_help.c:1462 sql_help.c:1465 sql_help.c:1616 sql_help.c:1636
+#: sql_help.c:1639 sql_help.c:1889 sql_help.c:2659 sql_help.c:2662
+#: sql_help.c:2665 sql_help.c:2750 sql_help.c:3135 sql_help.c:3467
+#: sql_help.c:3558 sql_help.c:3572 sql_help.c:3575 sql_help.c:3578
 msgid "argmode"
 msgstr "Argmodus"
 
 #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:320 sql_help.c:345
 #: sql_help.c:348 sql_help.c:351 sql_help.c:491 sql_help.c:496 sql_help.c:501
-#: sql_help.c:506 sql_help.c:511 sql_help.c:1422 sql_help.c:1458
-#: sql_help.c:1461 sql_help.c:1464 sql_help.c:1615 sql_help.c:1635
-#: sql_help.c:1638 sql_help.c:1888 sql_help.c:2658 sql_help.c:2661
-#: sql_help.c:2664 sql_help.c:2749 sql_help.c:3557 sql_help.c:3571
-#: sql_help.c:3574 sql_help.c:3577
+#: sql_help.c:506 sql_help.c:511 sql_help.c:1424 sql_help.c:1460
+#: sql_help.c:1463 sql_help.c:1466 sql_help.c:1617 sql_help.c:1637
+#: sql_help.c:1640 sql_help.c:1890 sql_help.c:2660 sql_help.c:2663
+#: sql_help.c:2666 sql_help.c:2751 sql_help.c:3559 sql_help.c:3573
+#: sql_help.c:3576 sql_help.c:3579
 msgid "argname"
 msgstr "Argname"
 
 #: sql_help.c:48 sql_help.c:51 sql_help.c:54 sql_help.c:321 sql_help.c:346
 #: sql_help.c:349 sql_help.c:352 sql_help.c:492 sql_help.c:497 sql_help.c:502
-#: sql_help.c:507 sql_help.c:512 sql_help.c:1423 sql_help.c:1459
-#: sql_help.c:1462 sql_help.c:1465 sql_help.c:1889 sql_help.c:2659
-#: sql_help.c:2662 sql_help.c:2665 sql_help.c:2750 sql_help.c:3558
-#: sql_help.c:3572 sql_help.c:3575 sql_help.c:3578
+#: sql_help.c:507 sql_help.c:512 sql_help.c:1425 sql_help.c:1461
+#: sql_help.c:1464 sql_help.c:1467 sql_help.c:1891 sql_help.c:2661
+#: sql_help.c:2664 sql_help.c:2667 sql_help.c:2752 sql_help.c:3560
+#: sql_help.c:3574 sql_help.c:3577 sql_help.c:3580
 msgid "argtype"
 msgstr "Argtyp"
 
 #: sql_help.c:110 sql_help.c:368 sql_help.c:446 sql_help.c:458 sql_help.c:814
 #: sql_help.c:899 sql_help.c:1122 sql_help.c:1242 sql_help.c:1270
-#: sql_help.c:1513 sql_help.c:1519 sql_help.c:1814 sql_help.c:1846
-#: sql_help.c:1853 sql_help.c:1929 sql_help.c:2093 sql_help.c:2182
-#: sql_help.c:2362 sql_help.c:2541 sql_help.c:2563 sql_help.c:3001
-#: sql_help.c:3167
+#: sql_help.c:1515 sql_help.c:1521 sql_help.c:1816 sql_help.c:1848
+#: sql_help.c:1855 sql_help.c:1931 sql_help.c:2095 sql_help.c:2184
+#: sql_help.c:2364 sql_help.c:2543 sql_help.c:2565 sql_help.c:3003
+#: sql_help.c:3169
 msgid "option"
 msgstr "Option"
 
-#: sql_help.c:111 sql_help.c:815 sql_help.c:1243 sql_help.c:1930
-#: sql_help.c:2094 sql_help.c:2542
+#: sql_help.c:111 sql_help.c:815 sql_help.c:1243 sql_help.c:1932
+#: sql_help.c:2096 sql_help.c:2544
 msgid "where option can be:"
 msgstr "wobei Option Folgendes sein kann:"
 
-#: sql_help.c:112 sql_help.c:1746
+#: sql_help.c:112 sql_help.c:1748
 msgid "allowconn"
 msgstr "allowconn"
 
-#: sql_help.c:113 sql_help.c:816 sql_help.c:1244 sql_help.c:1747
-#: sql_help.c:2095 sql_help.c:2543
+#: sql_help.c:113 sql_help.c:816 sql_help.c:1244 sql_help.c:1749
+#: sql_help.c:2097 sql_help.c:2545
 msgid "connlimit"
 msgstr "Verbindungslimit"
 
-#: sql_help.c:114 sql_help.c:1748
+#: sql_help.c:114 sql_help.c:1750
 msgid "istemplate"
 msgstr "istemplate"
 
@@ -3340,7 +3409,7 @@ msgstr "neuer_Tablespace"
 #: sql_help.c:122 sql_help.c:125 sql_help.c:127 sql_help.c:517 sql_help.c:519
 #: sql_help.c:520 sql_help.c:823 sql_help.c:827 sql_help.c:830 sql_help.c:915
 #: sql_help.c:918 sql_help.c:1250 sql_help.c:1253 sql_help.c:1255
-#: sql_help.c:1898 sql_help.c:3352 sql_help.c:3743
+#: sql_help.c:1900 sql_help.c:3354 sql_help.c:3745
 msgid "configuration_parameter"
 msgstr "Konfigurationsparameter"
 
@@ -3348,11 +3417,11 @@ msgstr "Konfigurationsparameter"
 #: sql_help.c:518 sql_help.c:566 sql_help.c:643 sql_help.c:649 sql_help.c:824
 #: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020
 #: sql_help.c:1040 sql_help.c:1066 sql_help.c:1123 sql_help.c:1251
-#: sql_help.c:1271 sql_help.c:1815 sql_help.c:1847 sql_help.c:1854
-#: sql_help.c:1899 sql_help.c:1900 sql_help.c:1958 sql_help.c:1990
-#: sql_help.c:2183 sql_help.c:2257 sql_help.c:2265 sql_help.c:2297
-#: sql_help.c:2319 sql_help.c:2336 sql_help.c:2363 sql_help.c:2564
-#: sql_help.c:3168 sql_help.c:3744 sql_help.c:3745
+#: sql_help.c:1271 sql_help.c:1817 sql_help.c:1849 sql_help.c:1856
+#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1960 sql_help.c:1992
+#: sql_help.c:2185 sql_help.c:2259 sql_help.c:2267 sql_help.c:2299
+#: sql_help.c:2321 sql_help.c:2338 sql_help.c:2365 sql_help.c:2566
+#: sql_help.c:3170 sql_help.c:3746 sql_help.c:3747
 msgid "value"
 msgstr "Wert"
 
@@ -3360,9 +3429,9 @@ msgstr "Wert"
 msgid "target_role"
 msgstr "Zielrolle"
 
-#: sql_help.c:186 sql_help.c:1798 sql_help.c:2141 sql_help.c:2146
-#: sql_help.c:3115 sql_help.c:3122 sql_help.c:3136 sql_help.c:3142
-#: sql_help.c:3447 sql_help.c:3454 sql_help.c:3468 sql_help.c:3474
+#: sql_help.c:186 sql_help.c:1800 sql_help.c:2143 sql_help.c:2148
+#: sql_help.c:3117 sql_help.c:3124 sql_help.c:3138 sql_help.c:3144
+#: sql_help.c:3449 sql_help.c:3456 sql_help.c:3470 sql_help.c:3476
 msgid "schema_name"
 msgstr "Schemaname"
 
@@ -3377,31 +3446,31 @@ msgstr "wobei abgekürztes_Grant_oder_Revoke Folgendes sein kann:"
 #: sql_help.c:189 sql_help.c:190 sql_help.c:191 sql_help.c:192 sql_help.c:193
 #: sql_help.c:194 sql_help.c:195 sql_help.c:196 sql_help.c:542 sql_help.c:570
 #: sql_help.c:636 sql_help.c:777 sql_help.c:834 sql_help.c:1000
-#: sql_help.c:1258 sql_help.c:1933 sql_help.c:1934 sql_help.c:1935
-#: sql_help.c:1936 sql_help.c:1937 sql_help.c:2063 sql_help.c:2098
-#: sql_help.c:2099 sql_help.c:2100 sql_help.c:2101 sql_help.c:2102
-#: sql_help.c:2546 sql_help.c:2547 sql_help.c:2548 sql_help.c:2549
-#: sql_help.c:2550 sql_help.c:3149 sql_help.c:3150 sql_help.c:3151
-#: sql_help.c:3448 sql_help.c:3452 sql_help.c:3455 sql_help.c:3457
-#: sql_help.c:3459 sql_help.c:3461 sql_help.c:3463 sql_help.c:3469
-#: sql_help.c:3471 sql_help.c:3473 sql_help.c:3475 sql_help.c:3477
-#: sql_help.c:3479 sql_help.c:3480 sql_help.c:3481 sql_help.c:3764
+#: sql_help.c:1258 sql_help.c:1935 sql_help.c:1936 sql_help.c:1937
+#: sql_help.c:1938 sql_help.c:1939 sql_help.c:2065 sql_help.c:2100
+#: sql_help.c:2101 sql_help.c:2102 sql_help.c:2103 sql_help.c:2104
+#: sql_help.c:2548 sql_help.c:2549 sql_help.c:2550 sql_help.c:2551
+#: sql_help.c:2552 sql_help.c:3151 sql_help.c:3152 sql_help.c:3153
+#: sql_help.c:3450 sql_help.c:3454 sql_help.c:3457 sql_help.c:3459
+#: sql_help.c:3461 sql_help.c:3463 sql_help.c:3465 sql_help.c:3471
+#: sql_help.c:3473 sql_help.c:3475 sql_help.c:3477 sql_help.c:3479
+#: sql_help.c:3481 sql_help.c:3482 sql_help.c:3483 sql_help.c:3766
 msgid "role_name"
 msgstr "Rollenname"
 
 #: sql_help.c:222 sql_help.c:434 sql_help.c:1011 sql_help.c:1013
-#: sql_help.c:1287 sql_help.c:1767 sql_help.c:1771 sql_help.c:1857
-#: sql_help.c:1861 sql_help.c:1954 sql_help.c:2269 sql_help.c:2279
-#: sql_help.c:2301 sql_help.c:3198 sql_help.c:3213 sql_help.c:3215
-#: sql_help.c:3629 sql_help.c:3630 sql_help.c:3639 sql_help.c:3680
-#: sql_help.c:3681 sql_help.c:3682 sql_help.c:3683 sql_help.c:3684
-#: sql_help.c:3685 sql_help.c:3718 sql_help.c:3719 sql_help.c:3724
-#: sql_help.c:3729 sql_help.c:3868 sql_help.c:3869 sql_help.c:3878
-#: sql_help.c:3919 sql_help.c:3920 sql_help.c:3921 sql_help.c:3922
-#: sql_help.c:3923 sql_help.c:3924 sql_help.c:3971 sql_help.c:3973
-#: sql_help.c:4006 sql_help.c:4062 sql_help.c:4063 sql_help.c:4072
-#: sql_help.c:4113 sql_help.c:4114 sql_help.c:4115 sql_help.c:4116
-#: sql_help.c:4117 sql_help.c:4118
+#: sql_help.c:1287 sql_help.c:1769 sql_help.c:1773 sql_help.c:1859
+#: sql_help.c:1863 sql_help.c:1956 sql_help.c:2271 sql_help.c:2281
+#: sql_help.c:2303 sql_help.c:3200 sql_help.c:3215 sql_help.c:3217
+#: sql_help.c:3631 sql_help.c:3632 sql_help.c:3641 sql_help.c:3682
+#: sql_help.c:3683 sql_help.c:3684 sql_help.c:3685 sql_help.c:3686
+#: sql_help.c:3687 sql_help.c:3720 sql_help.c:3721 sql_help.c:3726
+#: sql_help.c:3731 sql_help.c:3870 sql_help.c:3871 sql_help.c:3880
+#: sql_help.c:3921 sql_help.c:3922 sql_help.c:3923 sql_help.c:3924
+#: sql_help.c:3925 sql_help.c:3926 sql_help.c:3973 sql_help.c:3975
+#: sql_help.c:4008 sql_help.c:4064 sql_help.c:4065 sql_help.c:4074
+#: sql_help.c:4115 sql_help.c:4116 sql_help.c:4117 sql_help.c:4118
+#: sql_help.c:4119 sql_help.c:4120
 msgid "expression"
 msgstr "Ausdruck"
 
@@ -3411,9 +3480,9 @@ msgstr "Domänen-Constraint"
 
 #: sql_help.c:227 sql_help.c:229 sql_help.c:232 sql_help.c:449 sql_help.c:450
 #: sql_help.c:993 sql_help.c:1026 sql_help.c:1027 sql_help.c:1028
-#: sql_help.c:1048 sql_help.c:1409 sql_help.c:1411 sql_help.c:1770
-#: sql_help.c:1856 sql_help.c:1860 sql_help.c:2268 sql_help.c:2278
-#: sql_help.c:3210
+#: sql_help.c:1048 sql_help.c:1411 sql_help.c:1413 sql_help.c:1772
+#: sql_help.c:1858 sql_help.c:1862 sql_help.c:2270 sql_help.c:2280
+#: sql_help.c:3212
 msgid "constraint_name"
 msgstr "Constraint-Name"
 
@@ -3433,17 +3502,17 @@ msgstr "Elementobjekt"
 msgid "where member_object is:"
 msgstr "wobei Elementobjekt Folgendes ist:"
 
-#: sql_help.c:308 sql_help.c:1402 sql_help.c:3549
+#: sql_help.c:308 sql_help.c:1404 sql_help.c:3551
 msgid "aggregate_name"
 msgstr "Aggregatname"
 
-#: sql_help.c:310 sql_help.c:1404 sql_help.c:1685 sql_help.c:1689
-#: sql_help.c:1691 sql_help.c:2673
+#: sql_help.c:310 sql_help.c:1406 sql_help.c:1687 sql_help.c:1691
+#: sql_help.c:1693 sql_help.c:2675
 msgid "source_type"
 msgstr "Quelltyp"
 
-#: sql_help.c:311 sql_help.c:1405 sql_help.c:1686 sql_help.c:1690
-#: sql_help.c:1692 sql_help.c:2674
+#: sql_help.c:311 sql_help.c:1407 sql_help.c:1688 sql_help.c:1692
+#: sql_help.c:1694 sql_help.c:2676
 msgid "target_type"
 msgstr "Zieltyp"
 
@@ -3451,57 +3520,57 @@ msgstr "Zieltyp"
 #: sql_help.c:317 sql_help.c:322 sql_help.c:326 sql_help.c:328 sql_help.c:330
 #: sql_help.c:331 sql_help.c:332 sql_help.c:333 sql_help.c:334 sql_help.c:335
 #: sql_help.c:336 sql_help.c:337 sql_help.c:338 sql_help.c:341 sql_help.c:342
-#: sql_help.c:1406 sql_help.c:1413 sql_help.c:1414 sql_help.c:1415
-#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:1419
-#: sql_help.c:1424 sql_help.c:1426 sql_help.c:1430 sql_help.c:1432
-#: sql_help.c:1436 sql_help.c:1437 sql_help.c:1440 sql_help.c:1441
-#: sql_help.c:1442 sql_help.c:1443 sql_help.c:1444 sql_help.c:1445
-#: sql_help.c:1446 sql_help.c:1447 sql_help.c:1448 sql_help.c:1453
-#: sql_help.c:1454 sql_help.c:3546 sql_help.c:3551 sql_help.c:3552
-#: sql_help.c:3553 sql_help.c:3554 sql_help.c:3560 sql_help.c:3561
-#: sql_help.c:3562 sql_help.c:3563 sql_help.c:3564 sql_help.c:3565
-#: sql_help.c:3566 sql_help.c:3567
+#: sql_help.c:1403 sql_help.c:1408 sql_help.c:1415 sql_help.c:1416
+#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1419 sql_help.c:1420
+#: sql_help.c:1421 sql_help.c:1426 sql_help.c:1428 sql_help.c:1432
+#: sql_help.c:1434 sql_help.c:1438 sql_help.c:1439 sql_help.c:1442
+#: sql_help.c:1443 sql_help.c:1444 sql_help.c:1445 sql_help.c:1446
+#: sql_help.c:1447 sql_help.c:1448 sql_help.c:1449 sql_help.c:1450
+#: sql_help.c:1455 sql_help.c:1456 sql_help.c:3548 sql_help.c:3553
+#: sql_help.c:3554 sql_help.c:3555 sql_help.c:3556 sql_help.c:3562
+#: sql_help.c:3563 sql_help.c:3564 sql_help.c:3565 sql_help.c:3566
+#: sql_help.c:3567 sql_help.c:3568 sql_help.c:3569
 msgid "object_name"
 msgstr "Objektname"
 
-#: sql_help.c:318 sql_help.c:741 sql_help.c:1420 sql_help.c:1687
-#: sql_help.c:1722 sql_help.c:1785 sql_help.c:2007 sql_help.c:2038
-#: sql_help.c:2437 sql_help.c:3132 sql_help.c:3464 sql_help.c:3555
-#: sql_help.c:3658 sql_help.c:3662 sql_help.c:3666 sql_help.c:3669
-#: sql_help.c:3897 sql_help.c:3901 sql_help.c:3905 sql_help.c:3908
-#: sql_help.c:4091 sql_help.c:4095 sql_help.c:4099 sql_help.c:4102
+#: sql_help.c:318 sql_help.c:741 sql_help.c:1422 sql_help.c:1689
+#: sql_help.c:1724 sql_help.c:1787 sql_help.c:2009 sql_help.c:2040
+#: sql_help.c:2439 sql_help.c:3134 sql_help.c:3466 sql_help.c:3557
+#: sql_help.c:3660 sql_help.c:3664 sql_help.c:3668 sql_help.c:3671
+#: sql_help.c:3899 sql_help.c:3903 sql_help.c:3907 sql_help.c:3910
+#: sql_help.c:4093 sql_help.c:4097 sql_help.c:4101 sql_help.c:4104
 msgid "function_name"
 msgstr "Funktionsname"
 
-#: sql_help.c:323 sql_help.c:734 sql_help.c:1427 sql_help.c:2031
+#: sql_help.c:323 sql_help.c:734 sql_help.c:1429 sql_help.c:2033
 msgid "operator_name"
 msgstr "Operatorname"
 
-#: sql_help.c:324 sql_help.c:670 sql_help.c:674 sql_help.c:678 sql_help.c:1428
-#: sql_help.c:2008 sql_help.c:2791
+#: sql_help.c:324 sql_help.c:670 sql_help.c:674 sql_help.c:678 sql_help.c:1430
+#: sql_help.c:2010 sql_help.c:2793
 msgid "left_type"
 msgstr "linker_Typ"
 
-#: sql_help.c:325 sql_help.c:671 sql_help.c:675 sql_help.c:679 sql_help.c:1429
-#: sql_help.c:2009 sql_help.c:2792
+#: sql_help.c:325 sql_help.c:671 sql_help.c:675 sql_help.c:679 sql_help.c:1431
+#: sql_help.c:2011 sql_help.c:2794
 msgid "right_type"
 msgstr "rechter_Typ"
 
 #: sql_help.c:327 sql_help.c:329 sql_help.c:697 sql_help.c:700 sql_help.c:703
 #: sql_help.c:732 sql_help.c:744 sql_help.c:752 sql_help.c:755 sql_help.c:758
-#: sql_help.c:1431 sql_help.c:1433 sql_help.c:2028 sql_help.c:2049
-#: sql_help.c:2284 sql_help.c:2801 sql_help.c:2810
+#: sql_help.c:1433 sql_help.c:1435 sql_help.c:2030 sql_help.c:2051
+#: sql_help.c:2286 sql_help.c:2803 sql_help.c:2812
 msgid "index_method"
 msgstr "Indexmethode"
 
-#: sql_help.c:339 sql_help.c:1044 sql_help.c:1449 sql_help.c:1895
-#: sql_help.c:2260 sql_help.c:2406 sql_help.c:2924 sql_help.c:3146
-#: sql_help.c:3478
+#: sql_help.c:339 sql_help.c:1044 sql_help.c:1451 sql_help.c:1897
+#: sql_help.c:2262 sql_help.c:2408 sql_help.c:2926 sql_help.c:3148
+#: sql_help.c:3480
 msgid "type_name"
 msgstr "Typname"
 
-#: sql_help.c:340 sql_help.c:1450 sql_help.c:1894 sql_help.c:2407
-#: sql_help.c:2631 sql_help.c:2925 sql_help.c:3138 sql_help.c:3470
+#: sql_help.c:340 sql_help.c:1452 sql_help.c:1896 sql_help.c:2409
+#: sql_help.c:2633 sql_help.c:2927 sql_help.c:3140 sql_help.c:3472
 msgid "lang_name"
 msgstr "Sprachname"
 
@@ -3509,16 +3578,16 @@ msgstr "Sprachname"
 msgid "and aggregate_signature is:"
 msgstr "und Aggregatsignatur Folgendes ist:"
 
-#: sql_help.c:366 sql_help.c:1544 sql_help.c:1812
+#: sql_help.c:366 sql_help.c:1546 sql_help.c:1814
 msgid "handler_function"
 msgstr "Handler-Funktion"
 
-#: sql_help.c:367 sql_help.c:1813
+#: sql_help.c:367 sql_help.c:1815
 msgid "validator_function"
 msgstr "Validator-Funktion"
 
 #: sql_help.c:416 sql_help.c:493 sql_help.c:625 sql_help.c:988 sql_help.c:1187
-#: sql_help.c:2275 sql_help.c:2276 sql_help.c:2292 sql_help.c:2293
+#: sql_help.c:2277 sql_help.c:2278 sql_help.c:2294 sql_help.c:2295
 msgid "action"
 msgstr "Aktion"
 
@@ -3529,16 +3598,16 @@ msgstr "Aktion"
 #: sql_help.c:1007 sql_help.c:1008 sql_help.c:1012 sql_help.c:1014
 #: sql_help.c:1015 sql_help.c:1016 sql_help.c:1018 sql_help.c:1021
 #: sql_help.c:1023 sql_help.c:1286 sql_help.c:1289 sql_help.c:1309
-#: sql_help.c:1408 sql_help.c:1510 sql_help.c:1515 sql_help.c:1529
-#: sql_help.c:1530 sql_help.c:1531 sql_help.c:1844 sql_help.c:1892
-#: sql_help.c:1953 sql_help.c:1988 sql_help.c:2168 sql_help.c:2248
-#: sql_help.c:2261 sql_help.c:2280 sql_help.c:2282 sql_help.c:2289
-#: sql_help.c:2300 sql_help.c:2317 sql_help.c:2440 sql_help.c:2576
-#: sql_help.c:3117 sql_help.c:3118 sql_help.c:3197 sql_help.c:3212
-#: sql_help.c:3214 sql_help.c:3216 sql_help.c:3449 sql_help.c:3450
-#: sql_help.c:3548 sql_help.c:3689 sql_help.c:3928 sql_help.c:3970
-#: sql_help.c:3972 sql_help.c:3974 sql_help.c:3991 sql_help.c:3994
-#: sql_help.c:4122
+#: sql_help.c:1410 sql_help.c:1512 sql_help.c:1517 sql_help.c:1531
+#: sql_help.c:1532 sql_help.c:1533 sql_help.c:1846 sql_help.c:1894
+#: sql_help.c:1955 sql_help.c:1990 sql_help.c:2170 sql_help.c:2250
+#: sql_help.c:2263 sql_help.c:2282 sql_help.c:2284 sql_help.c:2291
+#: sql_help.c:2302 sql_help.c:2319 sql_help.c:2442 sql_help.c:2578
+#: sql_help.c:3119 sql_help.c:3120 sql_help.c:3199 sql_help.c:3214
+#: sql_help.c:3216 sql_help.c:3218 sql_help.c:3451 sql_help.c:3452
+#: sql_help.c:3550 sql_help.c:3691 sql_help.c:3930 sql_help.c:3972
+#: sql_help.c:3974 sql_help.c:3976 sql_help.c:3993 sql_help.c:3996
+#: sql_help.c:4124
 msgid "column_name"
 msgstr "Spaltenname"
 
@@ -3552,20 +3621,20 @@ msgid "where action is one of:"
 msgstr "wobei Aktion Folgendes sein kann:"
 
 #: sql_help.c:426 sql_help.c:431 sql_help.c:1004 sql_help.c:1009
-#: sql_help.c:1202 sql_help.c:1206 sql_help.c:1765 sql_help.c:1845
-#: sql_help.c:2027 sql_help.c:2249 sql_help.c:2485 sql_help.c:3299
+#: sql_help.c:1202 sql_help.c:1206 sql_help.c:1767 sql_help.c:1847
+#: sql_help.c:2029 sql_help.c:2251 sql_help.c:2487 sql_help.c:3301
 msgid "data_type"
 msgstr "Datentyp"
 
 #: sql_help.c:427 sql_help.c:432 sql_help.c:1005 sql_help.c:1010
-#: sql_help.c:1203 sql_help.c:1207 sql_help.c:1766 sql_help.c:1848
-#: sql_help.c:1955 sql_help.c:2250 sql_help.c:2486 sql_help.c:2492
-#: sql_help.c:3207
+#: sql_help.c:1203 sql_help.c:1207 sql_help.c:1768 sql_help.c:1850
+#: sql_help.c:1957 sql_help.c:2252 sql_help.c:2488 sql_help.c:2494
+#: sql_help.c:3209
 msgid "collation"
 msgstr "Sortierfolge"
 
-#: sql_help.c:428 sql_help.c:1006 sql_help.c:1849 sql_help.c:2251
-#: sql_help.c:2262
+#: sql_help.c:428 sql_help.c:1006 sql_help.c:1851 sql_help.c:2253
+#: sql_help.c:2264
 msgid "column_constraint"
 msgstr "Spalten-Constraint"
 
@@ -3578,51 +3647,51 @@ msgstr "ganze_Zahl"
 msgid "attribute_option"
 msgstr "Attributoption"
 
-#: sql_help.c:448 sql_help.c:1024 sql_help.c:1850 sql_help.c:2252
-#: sql_help.c:2263
+#: sql_help.c:448 sql_help.c:1024 sql_help.c:1852 sql_help.c:2254
+#: sql_help.c:2265
 msgid "table_constraint"
 msgstr "Tabellen-Constraint"
 
 #: sql_help.c:451 sql_help.c:452 sql_help.c:453 sql_help.c:454 sql_help.c:1029
-#: sql_help.c:1030 sql_help.c:1031 sql_help.c:1032 sql_help.c:1451
+#: sql_help.c:1030 sql_help.c:1031 sql_help.c:1032 sql_help.c:1453
 msgid "trigger_name"
 msgstr "Triggername"
 
 #: sql_help.c:455 sql_help.c:456 sql_help.c:1042 sql_help.c:1043
-#: sql_help.c:1851 sql_help.c:2255
+#: sql_help.c:1853 sql_help.c:2257
 msgid "parent_table"
 msgstr "Elterntabelle"
 
 #: sql_help.c:513 sql_help.c:563 sql_help.c:627 sql_help.c:1167
-#: sql_help.c:1797
+#: sql_help.c:1799
 msgid "extension_name"
 msgstr "Erweiterungsname"
 
-#: sql_help.c:515 sql_help.c:1896
+#: sql_help.c:515 sql_help.c:1898
 msgid "execution_cost"
 msgstr "Ausführungskosten"
 
-#: sql_help.c:516 sql_help.c:1897
+#: sql_help.c:516 sql_help.c:1899
 msgid "result_rows"
 msgstr "Ergebniszeilen"
 
 #: sql_help.c:537 sql_help.c:539 sql_help.c:813 sql_help.c:821 sql_help.c:825
 #: sql_help.c:828 sql_help.c:831 sql_help.c:1241 sql_help.c:1249
-#: sql_help.c:1252 sql_help.c:1254 sql_help.c:1256 sql_help.c:2142
-#: sql_help.c:2144 sql_help.c:2147 sql_help.c:2148 sql_help.c:3116
-#: sql_help.c:3120 sql_help.c:3123 sql_help.c:3125 sql_help.c:3127
-#: sql_help.c:3129 sql_help.c:3131 sql_help.c:3137 sql_help.c:3139
-#: sql_help.c:3141 sql_help.c:3143 sql_help.c:3145 sql_help.c:3147
+#: sql_help.c:1252 sql_help.c:1254 sql_help.c:1256 sql_help.c:2144
+#: sql_help.c:2146 sql_help.c:2149 sql_help.c:2150 sql_help.c:3118
+#: sql_help.c:3122 sql_help.c:3125 sql_help.c:3127 sql_help.c:3129
+#: sql_help.c:3131 sql_help.c:3133 sql_help.c:3139 sql_help.c:3141
+#: sql_help.c:3143 sql_help.c:3145 sql_help.c:3147 sql_help.c:3149
 msgid "role_specification"
 msgstr "Rollenangabe"
 
-#: sql_help.c:538 sql_help.c:540 sql_help.c:1268 sql_help.c:1740
-#: sql_help.c:2150 sql_help.c:2561 sql_help.c:2958 sql_help.c:3774
+#: sql_help.c:538 sql_help.c:540 sql_help.c:1268 sql_help.c:1742
+#: sql_help.c:2152 sql_help.c:2563 sql_help.c:2960 sql_help.c:3776
 msgid "user_name"
 msgstr "Benutzername"
 
-#: sql_help.c:541 sql_help.c:833 sql_help.c:1257 sql_help.c:2149
-#: sql_help.c:3148
+#: sql_help.c:541 sql_help.c:833 sql_help.c:1257 sql_help.c:2151
+#: sql_help.c:3150
 msgid "where role_specification can be:"
 msgstr "wobei Rollenangabe Folgendes sein kann:"
 
@@ -3630,19 +3699,19 @@ msgstr "wobei Rollenangabe Folgendes sein kann:"
 msgid "group_name"
 msgstr "Gruppenname"
 
-#: sql_help.c:561 sql_help.c:1745 sql_help.c:1959 sql_help.c:1991
-#: sql_help.c:2258 sql_help.c:2266 sql_help.c:2298 sql_help.c:2320
-#: sql_help.c:2332 sql_help.c:3144 sql_help.c:3476
+#: sql_help.c:561 sql_help.c:1747 sql_help.c:1961 sql_help.c:1993
+#: sql_help.c:2260 sql_help.c:2268 sql_help.c:2300 sql_help.c:2322
+#: sql_help.c:2334 sql_help.c:3146 sql_help.c:3478
 msgid "tablespace_name"
 msgstr "Tablespace-Name"
 
 #: sql_help.c:565 sql_help.c:568 sql_help.c:648 sql_help.c:650 sql_help.c:1039
-#: sql_help.c:1041 sql_help.c:1957 sql_help.c:1989 sql_help.c:2256
-#: sql_help.c:2264 sql_help.c:2296 sql_help.c:2318
+#: sql_help.c:1041 sql_help.c:1959 sql_help.c:1991 sql_help.c:2258
+#: sql_help.c:2266 sql_help.c:2298 sql_help.c:2320
 msgid "storage_parameter"
 msgstr "Storage-Parameter"
 
-#: sql_help.c:591 sql_help.c:1425 sql_help.c:3559
+#: sql_help.c:591 sql_help.c:1427 sql_help.c:3561
 msgid "large_object_oid"
 msgstr "Large-Object-OID"
 
@@ -3651,89 +3720,89 @@ msgstr "Large-Object-OID"
 msgid "index_name"
 msgstr "Indexname"
 
-#: sql_help.c:680 sql_help.c:2012
+#: sql_help.c:680 sql_help.c:2014
 msgid "res_proc"
 msgstr "Res-Funktion"
 
-#: sql_help.c:681 sql_help.c:2013
+#: sql_help.c:681 sql_help.c:2015
 msgid "join_proc"
 msgstr "Join-Funktion"
 
-#: sql_help.c:733 sql_help.c:745 sql_help.c:2030
+#: sql_help.c:733 sql_help.c:745 sql_help.c:2032
 msgid "strategy_number"
 msgstr "Strategienummer"
 
 #: sql_help.c:735 sql_help.c:736 sql_help.c:739 sql_help.c:740 sql_help.c:746
-#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2032
-#: sql_help.c:2033 sql_help.c:2036 sql_help.c:2037
+#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2034
+#: sql_help.c:2035 sql_help.c:2038 sql_help.c:2039
 msgid "op_type"
 msgstr "Optyp"
 
-#: sql_help.c:737 sql_help.c:2034
+#: sql_help.c:737 sql_help.c:2036
 msgid "sort_family_name"
 msgstr "Sortierfamilienname"
 
-#: sql_help.c:738 sql_help.c:748 sql_help.c:2035
+#: sql_help.c:738 sql_help.c:748 sql_help.c:2037
 msgid "support_number"
 msgstr "Unterst-Nummer"
 
-#: sql_help.c:742 sql_help.c:1688 sql_help.c:2039 sql_help.c:2409
-#: sql_help.c:2411
+#: sql_help.c:742 sql_help.c:1690 sql_help.c:2041 sql_help.c:2411
+#: sql_help.c:2413
 msgid "argument_type"
 msgstr "Argumenttyp"
 
 #: sql_help.c:773 sql_help.c:776 sql_help.c:843 sql_help.c:879 sql_help.c:1163
-#: sql_help.c:1166 sql_help.c:1308 sql_help.c:1348 sql_help.c:1410
-#: sql_help.c:1435 sql_help.c:1439 sql_help.c:1452 sql_help.c:1509
-#: sql_help.c:1514 sql_help.c:1843 sql_help.c:1951 sql_help.c:1987
-#: sql_help.c:2062 sql_help.c:2119 sql_help.c:2167 sql_help.c:2247
-#: sql_help.c:2259 sql_help.c:2316 sql_help.c:2434 sql_help.c:2610
-#: sql_help.c:2827 sql_help.c:2844 sql_help.c:2934 sql_help.c:3114
-#: sql_help.c:3119 sql_help.c:3164 sql_help.c:3195 sql_help.c:3446
-#: sql_help.c:3451 sql_help.c:3547 sql_help.c:3644 sql_help.c:3646
-#: sql_help.c:3695 sql_help.c:3734 sql_help.c:3883 sql_help.c:3885
-#: sql_help.c:3934 sql_help.c:3968 sql_help.c:3990 sql_help.c:3992
-#: sql_help.c:3993 sql_help.c:4077 sql_help.c:4079 sql_help.c:4128
+#: sql_help.c:1166 sql_help.c:1308 sql_help.c:1348 sql_help.c:1412
+#: sql_help.c:1437 sql_help.c:1441 sql_help.c:1454 sql_help.c:1511
+#: sql_help.c:1516 sql_help.c:1845 sql_help.c:1953 sql_help.c:1989
+#: sql_help.c:2064 sql_help.c:2121 sql_help.c:2169 sql_help.c:2249
+#: sql_help.c:2261 sql_help.c:2318 sql_help.c:2436 sql_help.c:2612
+#: sql_help.c:2829 sql_help.c:2846 sql_help.c:2936 sql_help.c:3116
+#: sql_help.c:3121 sql_help.c:3166 sql_help.c:3197 sql_help.c:3448
+#: sql_help.c:3453 sql_help.c:3549 sql_help.c:3646 sql_help.c:3648
+#: sql_help.c:3697 sql_help.c:3736 sql_help.c:3885 sql_help.c:3887
+#: sql_help.c:3936 sql_help.c:3970 sql_help.c:3992 sql_help.c:3994
+#: sql_help.c:3995 sql_help.c:4079 sql_help.c:4081 sql_help.c:4130
 msgid "table_name"
 msgstr "Tabellenname"
 
-#: sql_help.c:778 sql_help.c:2064
+#: sql_help.c:778 sql_help.c:2066
 msgid "using_expression"
 msgstr "Using-Ausdruck"
 
-#: sql_help.c:779 sql_help.c:2065
+#: sql_help.c:779 sql_help.c:2067
 msgid "check_expression"
 msgstr "Check-Ausdruck"
 
-#: sql_help.c:817 sql_help.c:1245 sql_help.c:1931 sql_help.c:2096
-#: sql_help.c:2544
+#: sql_help.c:817 sql_help.c:1245 sql_help.c:1933 sql_help.c:2098
+#: sql_help.c:2546
 msgid "password"
 msgstr "Passwort"
 
-#: sql_help.c:818 sql_help.c:1246 sql_help.c:1932 sql_help.c:2097
-#: sql_help.c:2545
+#: sql_help.c:818 sql_help.c:1246 sql_help.c:1934 sql_help.c:2099
+#: sql_help.c:2547
 msgid "timestamp"
 msgstr "Zeit"
 
-#: sql_help.c:822 sql_help.c:826 sql_help.c:829 sql_help.c:832 sql_help.c:3124
-#: sql_help.c:3456
+#: sql_help.c:822 sql_help.c:826 sql_help.c:829 sql_help.c:832 sql_help.c:3126
+#: sql_help.c:3458
 msgid "database_name"
 msgstr "Datenbankname"
 
-#: sql_help.c:873 sql_help.c:2162
+#: sql_help.c:873 sql_help.c:2164
 msgid "increment"
 msgstr "Inkrement"
 
-#: sql_help.c:874 sql_help.c:2163
+#: sql_help.c:874 sql_help.c:2165
 msgid "minvalue"
 msgstr "Minwert"
 
-#: sql_help.c:875 sql_help.c:2164
+#: sql_help.c:875 sql_help.c:2166
 msgid "maxvalue"
 msgstr "Maxwert"
 
-#: sql_help.c:876 sql_help.c:2165 sql_help.c:3642 sql_help.c:3732
-#: sql_help.c:3881 sql_help.c:4010 sql_help.c:4075
+#: sql_help.c:876 sql_help.c:2167 sql_help.c:3644 sql_help.c:3734
+#: sql_help.c:3883 sql_help.c:4012 sql_help.c:4077
 msgid "start"
 msgstr "Start"
 
@@ -3741,7 +3810,7 @@ msgstr "Start"
 msgid "restart"
 msgstr "Restart"
 
-#: sql_help.c:878 sql_help.c:2166
+#: sql_help.c:878 sql_help.c:2168
 msgid "cache"
 msgstr "Cache"
 
@@ -3757,7 +3826,7 @@ msgstr "Regelname"
 msgid "and table_constraint_using_index is:"
 msgstr "und Tabellen-Constraint-für-Index Folgendes ist:"
 
-#: sql_help.c:1065 sql_help.c:1068 sql_help.c:2335
+#: sql_help.c:1065 sql_help.c:1068 sql_help.c:2337
 msgid "tablespace_option"
 msgstr "Tablespace-Option"
 
@@ -3778,7 +3847,7 @@ msgid "new_dictionary"
 msgstr "neues_Wörterbuch"
 
 #: sql_help.c:1191 sql_help.c:1201 sql_help.c:1204 sql_help.c:1205
-#: sql_help.c:2484
+#: sql_help.c:2486
 msgid "attribute_name"
 msgstr "Attributname"
 
@@ -3794,1421 +3863,1421 @@ msgstr "neuer_Enum-Wert"
 msgid "existing_enum_value"
 msgstr "existierender_Enum-Wert"
 
-#: sql_help.c:1269 sql_help.c:1852 sql_help.c:2178 sql_help.c:2562
-#: sql_help.c:2959 sql_help.c:3130 sql_help.c:3165 sql_help.c:3462
+#: sql_help.c:1269 sql_help.c:1854 sql_help.c:2180 sql_help.c:2564
+#: sql_help.c:2961 sql_help.c:3132 sql_help.c:3167 sql_help.c:3464
 msgid "server_name"
 msgstr "Servername"
 
-#: sql_help.c:1297 sql_help.c:1300 sql_help.c:2577
+#: sql_help.c:1297 sql_help.c:1300 sql_help.c:2579
 msgid "view_option_name"
 msgstr "Sichtoptionsname"
 
-#: sql_help.c:1298 sql_help.c:2578
+#: sql_help.c:1298 sql_help.c:2580
 msgid "view_option_value"
 msgstr "Sichtoptionswert"
 
-#: sql_help.c:1323 sql_help.c:3790 sql_help.c:3792 sql_help.c:3816
+#: sql_help.c:1323 sql_help.c:3792 sql_help.c:3794 sql_help.c:3818
 msgid "transaction_mode"
 msgstr "Transaktionsmodus"
 
-#: sql_help.c:1324 sql_help.c:3793 sql_help.c:3817
+#: sql_help.c:1324 sql_help.c:3795 sql_help.c:3819
 msgid "where transaction_mode is one of:"
 msgstr "wobei Transaktionsmodus Folgendes sein kann:"
 
-#: sql_help.c:1407
+#: sql_help.c:1409
 msgid "relation_name"
 msgstr "Relationsname"
 
-#: sql_help.c:1412 sql_help.c:3126 sql_help.c:3458
+#: sql_help.c:1414 sql_help.c:3128 sql_help.c:3460
 msgid "domain_name"
 msgstr "Domänenname"
 
-#: sql_help.c:1434
+#: sql_help.c:1436
 msgid "policy_name"
 msgstr "Policy-Name"
 
-#: sql_help.c:1438
+#: sql_help.c:1440
 msgid "rule_name"
 msgstr "Regelname"
 
-#: sql_help.c:1455
+#: sql_help.c:1457
 msgid "text"
 msgstr "Text"
 
-#: sql_help.c:1480 sql_help.c:3308 sql_help.c:3496
+#: sql_help.c:1482 sql_help.c:3310 sql_help.c:3498
 msgid "transaction_id"
 msgstr "Transaktions-ID"
 
-#: sql_help.c:1511 sql_help.c:1517 sql_help.c:3234
+#: sql_help.c:1513 sql_help.c:1519 sql_help.c:3236
 msgid "filename"
 msgstr "Dateiname"
 
-#: sql_help.c:1512 sql_help.c:1518 sql_help.c:2121 sql_help.c:2122
-#: sql_help.c:2123
+#: sql_help.c:1514 sql_help.c:1520 sql_help.c:2123 sql_help.c:2124
+#: sql_help.c:2125
 msgid "command"
 msgstr "Befehl"
 
-#: sql_help.c:1516 sql_help.c:1992 sql_help.c:2321 sql_help.c:2579
-#: sql_help.c:2597 sql_help.c:3199
+#: sql_help.c:1518 sql_help.c:1994 sql_help.c:2323 sql_help.c:2581
+#: sql_help.c:2599 sql_help.c:3201
 msgid "query"
 msgstr "Anfrage"
 
-#: sql_help.c:1520 sql_help.c:3004
+#: sql_help.c:1522 sql_help.c:3006
 msgid "where option can be one of:"
 msgstr "wobei Option eine der folgenden sein kann:"
 
-#: sql_help.c:1521
+#: sql_help.c:1523
 msgid "format_name"
 msgstr "Formatname"
 
-#: sql_help.c:1522 sql_help.c:1523 sql_help.c:1526 sql_help.c:3005
-#: sql_help.c:3006 sql_help.c:3007 sql_help.c:3008 sql_help.c:3009
+#: sql_help.c:1524 sql_help.c:1525 sql_help.c:1528 sql_help.c:3007
+#: sql_help.c:3008 sql_help.c:3009 sql_help.c:3010 sql_help.c:3011
 msgid "boolean"
 msgstr "boolean"
 
-#: sql_help.c:1524
+#: sql_help.c:1526
 msgid "delimiter_character"
 msgstr "Trennzeichen"
 
-#: sql_help.c:1525
+#: sql_help.c:1527
 msgid "null_string"
 msgstr "Null-Zeichenkette"
 
-#: sql_help.c:1527
+#: sql_help.c:1529
 msgid "quote_character"
 msgstr "Quote-Zeichen"
 
-#: sql_help.c:1528
+#: sql_help.c:1530
 msgid "escape_character"
 msgstr "Escape-Zeichen"
 
-#: sql_help.c:1532
+#: sql_help.c:1534
 msgid "encoding_name"
 msgstr "Kodierungsname"
 
-#: sql_help.c:1543
+#: sql_help.c:1545
 msgid "access_method_type"
 msgstr "Zugriffsmethodentyp"
 
-#: sql_help.c:1616 sql_help.c:1636 sql_help.c:1639
+#: sql_help.c:1618 sql_help.c:1638 sql_help.c:1641
 msgid "arg_data_type"
 msgstr "Arg-Datentyp"
 
-#: sql_help.c:1617 sql_help.c:1640 sql_help.c:1652
+#: sql_help.c:1619 sql_help.c:1642 sql_help.c:1654
 msgid "sfunc"
 msgstr "Ãœbergangsfunktion"
 
-#: sql_help.c:1618 sql_help.c:1641 sql_help.c:1653
+#: sql_help.c:1620 sql_help.c:1643 sql_help.c:1655
 msgid "state_data_type"
 msgstr "Zustandsdatentyp"
 
-#: sql_help.c:1619 sql_help.c:1642 sql_help.c:1654
+#: sql_help.c:1621 sql_help.c:1644 sql_help.c:1656
 msgid "state_data_size"
 msgstr "Zustandsdatengröße"
 
-#: sql_help.c:1620 sql_help.c:1643 sql_help.c:1655
+#: sql_help.c:1622 sql_help.c:1645 sql_help.c:1657
 msgid "ffunc"
 msgstr "Abschlussfunktion"
 
-#: sql_help.c:1621 sql_help.c:1644 sql_help.c:1656
+#: sql_help.c:1623 sql_help.c:1646 sql_help.c:1658
 msgid "combinefunc"
 msgstr "Combine-Funktion"
 
-#: sql_help.c:1622 sql_help.c:1645 sql_help.c:1657
+#: sql_help.c:1624 sql_help.c:1647 sql_help.c:1659
 msgid "serialfunc"
 msgstr "Serialisierungsfunktion"
 
-#: sql_help.c:1623 sql_help.c:1646 sql_help.c:1658
+#: sql_help.c:1625 sql_help.c:1648 sql_help.c:1660
 msgid "deserialfunc"
 msgstr "Deserialisierungsfunktion"
 
-#: sql_help.c:1624 sql_help.c:1647 sql_help.c:1659
+#: sql_help.c:1626 sql_help.c:1649 sql_help.c:1661
 msgid "serialtype"
 msgstr "Serialisierungstyp"
 
-#: sql_help.c:1625 sql_help.c:1648 sql_help.c:1660
+#: sql_help.c:1627 sql_help.c:1650 sql_help.c:1662
 msgid "initial_condition"
 msgstr "Anfangswert"
 
-#: sql_help.c:1626 sql_help.c:1661
+#: sql_help.c:1628 sql_help.c:1663
 msgid "msfunc"
 msgstr "Moving-Ãœbergangsfunktion"
 
-#: sql_help.c:1627 sql_help.c:1662
+#: sql_help.c:1629 sql_help.c:1664
 msgid "minvfunc"
 msgstr "Moving-Inversfunktion"
 
-#: sql_help.c:1628 sql_help.c:1663
+#: sql_help.c:1630 sql_help.c:1665
 msgid "mstate_data_type"
 msgstr "Moving-Zustandsdatentyp"
 
-#: sql_help.c:1629 sql_help.c:1664
+#: sql_help.c:1631 sql_help.c:1666
 msgid "mstate_data_size"
 msgstr "Moving-Zustandsdatengröße"
 
-#: sql_help.c:1630 sql_help.c:1665
+#: sql_help.c:1632 sql_help.c:1667
 msgid "mffunc"
 msgstr "Moving-Abschlussfunktion"
 
-#: sql_help.c:1631 sql_help.c:1666
+#: sql_help.c:1633 sql_help.c:1668
 msgid "minitial_condition"
 msgstr "Moving-Anfangswert"
 
-#: sql_help.c:1632 sql_help.c:1667
+#: sql_help.c:1634 sql_help.c:1669
 msgid "sort_operator"
 msgstr "Sortieroperator"
 
-#: sql_help.c:1649
+#: sql_help.c:1651
 msgid "or the old syntax"
 msgstr "oder die alte Syntax"
 
-#: sql_help.c:1651
+#: sql_help.c:1653
 msgid "base_type"
 msgstr "Basistyp"
 
-#: sql_help.c:1706
+#: sql_help.c:1708
 msgid "locale"
 msgstr "Locale"
 
-#: sql_help.c:1707 sql_help.c:1743
+#: sql_help.c:1709 sql_help.c:1745
 msgid "lc_collate"
 msgstr "lc_collate"
 
-#: sql_help.c:1708 sql_help.c:1744
+#: sql_help.c:1710 sql_help.c:1746
 msgid "lc_ctype"
 msgstr "lc_ctype"
 
-#: sql_help.c:1710
+#: sql_help.c:1712
 msgid "existing_collation"
 msgstr "existierende_Sortierfolge"
 
-#: sql_help.c:1720
+#: sql_help.c:1722
 msgid "source_encoding"
 msgstr "Quellkodierung"
 
-#: sql_help.c:1721
+#: sql_help.c:1723
 msgid "dest_encoding"
 msgstr "Zielkodierung"
 
-#: sql_help.c:1741 sql_help.c:2361
+#: sql_help.c:1743 sql_help.c:2363
 msgid "template"
 msgstr "Vorlage"
 
-#: sql_help.c:1742
+#: sql_help.c:1744
 msgid "encoding"
 msgstr "Kodierung"
 
-#: sql_help.c:1768
+#: sql_help.c:1770
 msgid "constraint"
 msgstr "Constraint"
 
-#: sql_help.c:1769
+#: sql_help.c:1771
 msgid "where constraint is:"
 msgstr "wobei Constraint Folgendes ist:"
 
-#: sql_help.c:1783 sql_help.c:2118 sql_help.c:2433
+#: sql_help.c:1785 sql_help.c:2120 sql_help.c:2435
 msgid "event"
 msgstr "Ereignis"
 
-#: sql_help.c:1784
+#: sql_help.c:1786
 msgid "filter_variable"
 msgstr "Filtervariable"
 
-#: sql_help.c:1799
+#: sql_help.c:1801
 msgid "version"
 msgstr "Version"
 
-#: sql_help.c:1800
+#: sql_help.c:1802
 msgid "old_version"
 msgstr "alte_Version"
 
-#: sql_help.c:1855 sql_help.c:2267
+#: sql_help.c:1857 sql_help.c:2269
 msgid "where column_constraint is:"
 msgstr "wobei Spalten-Constraint Folgendes ist:"
 
-#: sql_help.c:1858 sql_help.c:1890 sql_help.c:2270
+#: sql_help.c:1860 sql_help.c:1892 sql_help.c:2272
 msgid "default_expr"
 msgstr "Vorgabeausdruck"
 
-#: sql_help.c:1859 sql_help.c:2277
+#: sql_help.c:1861 sql_help.c:2279
 msgid "and table_constraint is:"
 msgstr "und Tabellen-Constraint Folgendes ist:"
 
-#: sql_help.c:1891
+#: sql_help.c:1893
 msgid "rettype"
 msgstr "Rückgabetyp"
 
-#: sql_help.c:1893
+#: sql_help.c:1895
 msgid "column_type"
 msgstr "Spaltentyp"
 
-#: sql_help.c:1901
+#: sql_help.c:1903
 msgid "definition"
 msgstr "Definition"
 
-#: sql_help.c:1902
+#: sql_help.c:1904
 msgid "obj_file"
 msgstr "Objektdatei"
 
-#: sql_help.c:1903
+#: sql_help.c:1905
 msgid "link_symbol"
 msgstr "Linksymbol"
 
-#: sql_help.c:1904
+#: sql_help.c:1906
 msgid "attribute"
 msgstr "Attribut"
 
-#: sql_help.c:1938 sql_help.c:2103 sql_help.c:2551
+#: sql_help.c:1940 sql_help.c:2105 sql_help.c:2553
 msgid "uid"
 msgstr "Uid"
 
-#: sql_help.c:1952
+#: sql_help.c:1954
 msgid "method"
 msgstr "Methode"
 
-#: sql_help.c:1956 sql_help.c:2302 sql_help.c:3208
+#: sql_help.c:1958 sql_help.c:2304 sql_help.c:3210
 msgid "opclass"
 msgstr "Opklasse"
 
-#: sql_help.c:1960 sql_help.c:2288
+#: sql_help.c:1962 sql_help.c:2290
 msgid "predicate"
 msgstr "Prädikat"
 
-#: sql_help.c:1972
+#: sql_help.c:1974
 msgid "call_handler"
 msgstr "Handler"
 
-#: sql_help.c:1973
+#: sql_help.c:1975
 msgid "inline_handler"
 msgstr "Inline-Handler"
 
-#: sql_help.c:1974
+#: sql_help.c:1976
 msgid "valfunction"
 msgstr "Valfunktion"
 
-#: sql_help.c:2010
+#: sql_help.c:2012
 msgid "com_op"
 msgstr "Kommutator-Op"
 
-#: sql_help.c:2011
+#: sql_help.c:2013
 msgid "neg_op"
 msgstr "Umkehrungs-Op"
 
-#: sql_help.c:2029
+#: sql_help.c:2031
 msgid "family_name"
 msgstr "Familienname"
 
-#: sql_help.c:2040
+#: sql_help.c:2042
 msgid "storage_type"
 msgstr "Storage-Typ"
 
-#: sql_help.c:2120 sql_help.c:2436 sql_help.c:2613 sql_help.c:3218
-#: sql_help.c:3633 sql_help.c:3635 sql_help.c:3723 sql_help.c:3725
-#: sql_help.c:3872 sql_help.c:3874 sql_help.c:3977 sql_help.c:4066
-#: sql_help.c:4068
+#: sql_help.c:2122 sql_help.c:2438 sql_help.c:2615 sql_help.c:3220
+#: sql_help.c:3635 sql_help.c:3637 sql_help.c:3725 sql_help.c:3727
+#: sql_help.c:3874 sql_help.c:3876 sql_help.c:3979 sql_help.c:4068
+#: sql_help.c:4070
 msgid "condition"
 msgstr "Bedingung"
 
-#: sql_help.c:2124 sql_help.c:2439
+#: sql_help.c:2126 sql_help.c:2441
 msgid "where event can be one of:"
 msgstr "wobei Ereignis eins der folgenden sein kann:"
 
-#: sql_help.c:2143 sql_help.c:2145
+#: sql_help.c:2145 sql_help.c:2147
 msgid "schema_element"
 msgstr "Schemaelement"
 
-#: sql_help.c:2179
+#: sql_help.c:2181
 msgid "server_type"
 msgstr "Servertyp"
 
-#: sql_help.c:2180
+#: sql_help.c:2182
 msgid "server_version"
 msgstr "Serverversion"
 
-#: sql_help.c:2181 sql_help.c:3128 sql_help.c:3460
+#: sql_help.c:2183 sql_help.c:3130 sql_help.c:3462
 msgid "fdw_name"
 msgstr "FDW-Name"
 
-#: sql_help.c:2253
+#: sql_help.c:2255
 msgid "source_table"
 msgstr "Quelltabelle"
 
-#: sql_help.c:2254
+#: sql_help.c:2256
 msgid "like_option"
 msgstr "Like-Option"
 
-#: sql_help.c:2271 sql_help.c:2272 sql_help.c:2281 sql_help.c:2283
-#: sql_help.c:2287
+#: sql_help.c:2273 sql_help.c:2274 sql_help.c:2283 sql_help.c:2285
+#: sql_help.c:2289
 msgid "index_parameters"
 msgstr "Indexparameter"
 
-#: sql_help.c:2273 sql_help.c:2290
+#: sql_help.c:2275 sql_help.c:2292
 msgid "reftable"
 msgstr "Reftabelle"
 
-#: sql_help.c:2274 sql_help.c:2291
+#: sql_help.c:2276 sql_help.c:2293
 msgid "refcolumn"
 msgstr "Refspalte"
 
-#: sql_help.c:2285
+#: sql_help.c:2287
 msgid "exclude_element"
 msgstr "Exclude-Element"
 
-#: sql_help.c:2286 sql_help.c:3640 sql_help.c:3730 sql_help.c:3879
-#: sql_help.c:4008 sql_help.c:4073
+#: sql_help.c:2288 sql_help.c:3642 sql_help.c:3732 sql_help.c:3881
+#: sql_help.c:4010 sql_help.c:4075
 msgid "operator"
 msgstr "Operator"
 
-#: sql_help.c:2294
+#: sql_help.c:2296
 msgid "and like_option is:"
 msgstr "und Like-Option Folgendes ist:"
 
-#: sql_help.c:2295
+#: sql_help.c:2297
 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
 msgstr "Indexparameter bei UNIQUE-, PRIMARY KEY- und EXCLUDE-Constraints sind:"
 
-#: sql_help.c:2299
+#: sql_help.c:2301
 msgid "exclude_element in an EXCLUDE constraint is:"
 msgstr "Exclude-Element in einem EXCLUDE-Constraint ist:"
 
-#: sql_help.c:2334
+#: sql_help.c:2336
 msgid "directory"
 msgstr "Verzeichnis"
 
-#: sql_help.c:2348
+#: sql_help.c:2350
 msgid "parser_name"
 msgstr "Parser-Name"
 
-#: sql_help.c:2349
+#: sql_help.c:2351
 msgid "source_config"
 msgstr "Quellkonfig"
 
-#: sql_help.c:2378
+#: sql_help.c:2380
 msgid "start_function"
 msgstr "Startfunktion"
 
-#: sql_help.c:2379
+#: sql_help.c:2381
 msgid "gettoken_function"
 msgstr "Gettext-Funktion"
 
-#: sql_help.c:2380
+#: sql_help.c:2382
 msgid "end_function"
 msgstr "Endfunktion"
 
-#: sql_help.c:2381
+#: sql_help.c:2383
 msgid "lextypes_function"
 msgstr "Lextypenfunktion"
 
-#: sql_help.c:2382
+#: sql_help.c:2384
 msgid "headline_function"
 msgstr "Headline-Funktion"
 
-#: sql_help.c:2394
+#: sql_help.c:2396
 msgid "init_function"
 msgstr "Init-Funktion"
 
-#: sql_help.c:2395
+#: sql_help.c:2397
 msgid "lexize_function"
 msgstr "Lexize-Funktion"
 
-#: sql_help.c:2408
+#: sql_help.c:2410
 msgid "from_sql_function_name"
 msgstr "From-SQL-Funktionsname"
 
-#: sql_help.c:2410
+#: sql_help.c:2412
 msgid "to_sql_function_name"
 msgstr "To-SQL-Funktionsname"
 
-#: sql_help.c:2435
+#: sql_help.c:2437
 msgid "referenced_table_name"
 msgstr "verwiesener_Tabellenname"
 
-#: sql_help.c:2438
+#: sql_help.c:2440
 msgid "arguments"
 msgstr "Argumente"
 
-#: sql_help.c:2488 sql_help.c:3568
+#: sql_help.c:2490 sql_help.c:3570
 msgid "label"
 msgstr "Label"
 
-#: sql_help.c:2490
+#: sql_help.c:2492
 msgid "subtype"
 msgstr "Untertyp"
 
-#: sql_help.c:2491
+#: sql_help.c:2493
 msgid "subtype_operator_class"
 msgstr "Untertyp-Operatorklasse"
 
-#: sql_help.c:2493
+#: sql_help.c:2495
 msgid "canonical_function"
 msgstr "Canonical-Funktion"
 
-#: sql_help.c:2494
+#: sql_help.c:2496
 msgid "subtype_diff_function"
 msgstr "Untertyp-Diff-Funktion"
 
-#: sql_help.c:2496
+#: sql_help.c:2498
 msgid "input_function"
 msgstr "Eingabefunktion"
 
-#: sql_help.c:2497
+#: sql_help.c:2499
 msgid "output_function"
 msgstr "Ausgabefunktion"
 
-#: sql_help.c:2498
+#: sql_help.c:2500
 msgid "receive_function"
 msgstr "Empfangsfunktion"
 
-#: sql_help.c:2499
+#: sql_help.c:2501
 msgid "send_function"
 msgstr "Sendefunktion"
 
-#: sql_help.c:2500
+#: sql_help.c:2502
 msgid "type_modifier_input_function"
 msgstr "Typmod-Eingabefunktion"
 
-#: sql_help.c:2501
+#: sql_help.c:2503
 msgid "type_modifier_output_function"
 msgstr "Typmod-Ausgabefunktion"
 
-#: sql_help.c:2502
+#: sql_help.c:2504
 msgid "analyze_function"
 msgstr "Analyze-Funktion"
 
-#: sql_help.c:2503
+#: sql_help.c:2505
 msgid "internallength"
 msgstr "interne_Länge"
 
-#: sql_help.c:2504
+#: sql_help.c:2506
 msgid "alignment"
 msgstr "Ausrichtung"
 
-#: sql_help.c:2505
+#: sql_help.c:2507
 msgid "storage"
 msgstr "Speicherung"
 
-#: sql_help.c:2506
+#: sql_help.c:2508
 msgid "like_type"
 msgstr "wie_Typ"
 
-#: sql_help.c:2507
+#: sql_help.c:2509
 msgid "category"
 msgstr "Kategorie"
 
-#: sql_help.c:2508
+#: sql_help.c:2510
 msgid "preferred"
 msgstr "bevorzugt"
 
-#: sql_help.c:2509
+#: sql_help.c:2511
 msgid "default"
 msgstr "Vorgabewert"
 
-#: sql_help.c:2510
+#: sql_help.c:2512
 msgid "element"
 msgstr "Element"
 
-#: sql_help.c:2511
+#: sql_help.c:2513
 msgid "delimiter"
 msgstr "Trennzeichen"
 
-#: sql_help.c:2512
+#: sql_help.c:2514
 msgid "collatable"
 msgstr "sortierbar"
 
-#: sql_help.c:2609 sql_help.c:3194 sql_help.c:3628 sql_help.c:3717
-#: sql_help.c:3867 sql_help.c:3967 sql_help.c:4061
+#: sql_help.c:2611 sql_help.c:3196 sql_help.c:3630 sql_help.c:3719
+#: sql_help.c:3869 sql_help.c:3969 sql_help.c:4063
 msgid "with_query"
 msgstr "With-Anfrage"
 
-#: sql_help.c:2611 sql_help.c:3196 sql_help.c:3647 sql_help.c:3653
-#: sql_help.c:3656 sql_help.c:3660 sql_help.c:3664 sql_help.c:3672
-#: sql_help.c:3886 sql_help.c:3892 sql_help.c:3895 sql_help.c:3899
-#: sql_help.c:3903 sql_help.c:3911 sql_help.c:3969 sql_help.c:4080
-#: sql_help.c:4086 sql_help.c:4089 sql_help.c:4093 sql_help.c:4097
-#: sql_help.c:4105
+#: sql_help.c:2613 sql_help.c:3198 sql_help.c:3649 sql_help.c:3655
+#: sql_help.c:3658 sql_help.c:3662 sql_help.c:3666 sql_help.c:3674
+#: sql_help.c:3888 sql_help.c:3894 sql_help.c:3897 sql_help.c:3901
+#: sql_help.c:3905 sql_help.c:3913 sql_help.c:3971 sql_help.c:4082
+#: sql_help.c:4088 sql_help.c:4091 sql_help.c:4095 sql_help.c:4099
+#: sql_help.c:4107
 msgid "alias"
 msgstr "Alias"
 
-#: sql_help.c:2612
+#: sql_help.c:2614
 msgid "using_list"
 msgstr "Using-Liste"
 
-#: sql_help.c:2614 sql_help.c:3035 sql_help.c:3275 sql_help.c:3978
+#: sql_help.c:2616 sql_help.c:3037 sql_help.c:3277 sql_help.c:3980
 msgid "cursor_name"
 msgstr "Cursor-Name"
 
-#: sql_help.c:2615 sql_help.c:3202 sql_help.c:3979
+#: sql_help.c:2617 sql_help.c:3204 sql_help.c:3981
 msgid "output_expression"
 msgstr "Ausgabeausdruck"
 
-#: sql_help.c:2616 sql_help.c:3203 sql_help.c:3631 sql_help.c:3720
-#: sql_help.c:3870 sql_help.c:3980 sql_help.c:4064
+#: sql_help.c:2618 sql_help.c:3205 sql_help.c:3633 sql_help.c:3722
+#: sql_help.c:3872 sql_help.c:3982 sql_help.c:4066
 msgid "output_name"
 msgstr "Ausgabename"
 
-#: sql_help.c:2632
+#: sql_help.c:2634
 msgid "code"
 msgstr "Code"
 
-#: sql_help.c:2983
+#: sql_help.c:2985
 msgid "parameter"
 msgstr "Parameter"
 
-#: sql_help.c:3002 sql_help.c:3003 sql_help.c:3300
+#: sql_help.c:3004 sql_help.c:3005 sql_help.c:3302
 msgid "statement"
 msgstr "Anweisung"
 
-#: sql_help.c:3034 sql_help.c:3274
+#: sql_help.c:3036 sql_help.c:3276
 msgid "direction"
 msgstr "Richtung"
 
-#: sql_help.c:3036 sql_help.c:3276
+#: sql_help.c:3038 sql_help.c:3278
 msgid "where direction can be empty or one of:"
 msgstr "wobei Richtung leer sein kann oder Folgendes:"
 
-#: sql_help.c:3037 sql_help.c:3038 sql_help.c:3039 sql_help.c:3040
-#: sql_help.c:3041 sql_help.c:3277 sql_help.c:3278 sql_help.c:3279
-#: sql_help.c:3280 sql_help.c:3281 sql_help.c:3641 sql_help.c:3643
-#: sql_help.c:3731 sql_help.c:3733 sql_help.c:3880 sql_help.c:3882
-#: sql_help.c:4009 sql_help.c:4011 sql_help.c:4074 sql_help.c:4076
+#: sql_help.c:3039 sql_help.c:3040 sql_help.c:3041 sql_help.c:3042
+#: sql_help.c:3043 sql_help.c:3279 sql_help.c:3280 sql_help.c:3281
+#: sql_help.c:3282 sql_help.c:3283 sql_help.c:3643 sql_help.c:3645
+#: sql_help.c:3733 sql_help.c:3735 sql_help.c:3882 sql_help.c:3884
+#: sql_help.c:4011 sql_help.c:4013 sql_help.c:4076 sql_help.c:4078
 msgid "count"
 msgstr "Anzahl"
 
-#: sql_help.c:3121 sql_help.c:3453
+#: sql_help.c:3123 sql_help.c:3455
 msgid "sequence_name"
 msgstr "Sequenzname"
 
-#: sql_help.c:3134 sql_help.c:3466
+#: sql_help.c:3136 sql_help.c:3468
 msgid "arg_name"
 msgstr "Argname"
 
-#: sql_help.c:3135 sql_help.c:3467
+#: sql_help.c:3137 sql_help.c:3469
 msgid "arg_type"
 msgstr "Argtyp"
 
-#: sql_help.c:3140 sql_help.c:3472
+#: sql_help.c:3142 sql_help.c:3474
 msgid "loid"
 msgstr "Large-Object-OID"
 
-#: sql_help.c:3163
+#: sql_help.c:3165
 msgid "remote_schema"
 msgstr "fernes_Schema"
 
-#: sql_help.c:3166
+#: sql_help.c:3168
 msgid "local_schema"
 msgstr "lokales_Schema"
 
-#: sql_help.c:3200
+#: sql_help.c:3202
 msgid "conflict_target"
 msgstr "Konfliktziel"
 
-#: sql_help.c:3201
+#: sql_help.c:3203
 msgid "conflict_action"
 msgstr "Konfliktaktion"
 
-#: sql_help.c:3204
+#: sql_help.c:3206
 msgid "where conflict_target can be one of:"
 msgstr "wobei Konfliktziel Folgendes sein kann:"
 
-#: sql_help.c:3205
+#: sql_help.c:3207
 msgid "index_column_name"
 msgstr "Indexspaltenname"
 
-#: sql_help.c:3206
+#: sql_help.c:3208
 msgid "index_expression"
 msgstr "Indexausdruck"
 
-#: sql_help.c:3209
+#: sql_help.c:3211
 msgid "index_predicate"
 msgstr "Indexprädikat"
 
-#: sql_help.c:3211
+#: sql_help.c:3213
 msgid "and conflict_action is one of:"
 msgstr "und Konfliktaktion Folgendes sein kann:"
 
-#: sql_help.c:3217 sql_help.c:3975
+#: sql_help.c:3219 sql_help.c:3977
 msgid "sub-SELECT"
 msgstr "Sub-SELECT"
 
-#: sql_help.c:3226 sql_help.c:3289 sql_help.c:3951
+#: sql_help.c:3228 sql_help.c:3291 sql_help.c:3953
 msgid "channel"
 msgstr "Kanal"
 
-#: sql_help.c:3248
+#: sql_help.c:3250
 msgid "lockmode"
 msgstr "Sperrmodus"
 
-#: sql_help.c:3249
+#: sql_help.c:3251
 msgid "where lockmode is one of:"
 msgstr "wobei Sperrmodus Folgendes sein kann:"
 
-#: sql_help.c:3290
+#: sql_help.c:3292
 msgid "payload"
 msgstr "Payload"
 
-#: sql_help.c:3317
+#: sql_help.c:3319
 msgid "old_role"
 msgstr "alte_Rolle"
 
-#: sql_help.c:3318
+#: sql_help.c:3320
 msgid "new_role"
 msgstr "neue_Rolle"
 
-#: sql_help.c:3343 sql_help.c:3504 sql_help.c:3512
+#: sql_help.c:3345 sql_help.c:3506 sql_help.c:3514
 msgid "savepoint_name"
 msgstr "Sicherungspunktsname"
 
-#: sql_help.c:3545
+#: sql_help.c:3547
 msgid "provider"
 msgstr "Provider"
 
-#: sql_help.c:3632 sql_help.c:3674 sql_help.c:3676 sql_help.c:3722
-#: sql_help.c:3871 sql_help.c:3913 sql_help.c:3915 sql_help.c:4065
-#: sql_help.c:4107 sql_help.c:4109
+#: sql_help.c:3634 sql_help.c:3676 sql_help.c:3678 sql_help.c:3724
+#: sql_help.c:3873 sql_help.c:3915 sql_help.c:3917 sql_help.c:4067
+#: sql_help.c:4109 sql_help.c:4111
 msgid "from_item"
 msgstr "From-Element"
 
-#: sql_help.c:3634 sql_help.c:3686 sql_help.c:3873 sql_help.c:3925
-#: sql_help.c:4067 sql_help.c:4119
+#: sql_help.c:3636 sql_help.c:3688 sql_help.c:3875 sql_help.c:3927
+#: sql_help.c:4069 sql_help.c:4121
 msgid "grouping_element"
 msgstr "Gruppierelement"
 
-#: sql_help.c:3636 sql_help.c:3726 sql_help.c:3875 sql_help.c:4069
+#: sql_help.c:3638 sql_help.c:3728 sql_help.c:3877 sql_help.c:4071
 msgid "window_name"
 msgstr "Fenstername"
 
-#: sql_help.c:3637 sql_help.c:3727 sql_help.c:3876 sql_help.c:4070
+#: sql_help.c:3639 sql_help.c:3729 sql_help.c:3878 sql_help.c:4072
 msgid "window_definition"
 msgstr "Fensterdefinition"
 
-#: sql_help.c:3638 sql_help.c:3652 sql_help.c:3690 sql_help.c:3728
-#: sql_help.c:3877 sql_help.c:3891 sql_help.c:3929 sql_help.c:4071
-#: sql_help.c:4085 sql_help.c:4123
+#: sql_help.c:3640 sql_help.c:3654 sql_help.c:3692 sql_help.c:3730
+#: sql_help.c:3879 sql_help.c:3893 sql_help.c:3931 sql_help.c:4073
+#: sql_help.c:4087 sql_help.c:4125
 msgid "select"
 msgstr "Select"
 
-#: sql_help.c:3645 sql_help.c:3884 sql_help.c:4078
+#: sql_help.c:3647 sql_help.c:3886 sql_help.c:4080
 msgid "where from_item can be one of:"
 msgstr "wobei From-Element Folgendes sein kann:"
 
-#: sql_help.c:3648 sql_help.c:3654 sql_help.c:3657 sql_help.c:3661
-#: sql_help.c:3673 sql_help.c:3887 sql_help.c:3893 sql_help.c:3896
-#: sql_help.c:3900 sql_help.c:3912 sql_help.c:4081 sql_help.c:4087
-#: sql_help.c:4090 sql_help.c:4094 sql_help.c:4106
+#: sql_help.c:3650 sql_help.c:3656 sql_help.c:3659 sql_help.c:3663
+#: sql_help.c:3675 sql_help.c:3889 sql_help.c:3895 sql_help.c:3898
+#: sql_help.c:3902 sql_help.c:3914 sql_help.c:4083 sql_help.c:4089
+#: sql_help.c:4092 sql_help.c:4096 sql_help.c:4108
 msgid "column_alias"
 msgstr "Spaltenalias"
 
-#: sql_help.c:3649 sql_help.c:3888 sql_help.c:4082
+#: sql_help.c:3651 sql_help.c:3890 sql_help.c:4084
 msgid "sampling_method"
 msgstr "Stichprobenmethode"
 
-#: sql_help.c:3650 sql_help.c:3659 sql_help.c:3663 sql_help.c:3667
-#: sql_help.c:3670 sql_help.c:3889 sql_help.c:3898 sql_help.c:3902
-#: sql_help.c:3906 sql_help.c:3909 sql_help.c:4083 sql_help.c:4092
-#: sql_help.c:4096 sql_help.c:4100 sql_help.c:4103
+#: sql_help.c:3652 sql_help.c:3661 sql_help.c:3665 sql_help.c:3669
+#: sql_help.c:3672 sql_help.c:3891 sql_help.c:3900 sql_help.c:3904
+#: sql_help.c:3908 sql_help.c:3911 sql_help.c:4085 sql_help.c:4094
+#: sql_help.c:4098 sql_help.c:4102 sql_help.c:4105
 msgid "argument"
 msgstr "Argument"
 
-#: sql_help.c:3651 sql_help.c:3890 sql_help.c:4084
+#: sql_help.c:3653 sql_help.c:3892 sql_help.c:4086
 msgid "seed"
 msgstr "Startwert"
 
-#: sql_help.c:3655 sql_help.c:3688 sql_help.c:3894 sql_help.c:3927
-#: sql_help.c:4088 sql_help.c:4121
+#: sql_help.c:3657 sql_help.c:3690 sql_help.c:3896 sql_help.c:3929
+#: sql_help.c:4090 sql_help.c:4123
 msgid "with_query_name"
 msgstr "With-Anfragename"
 
-#: sql_help.c:3665 sql_help.c:3668 sql_help.c:3671 sql_help.c:3904
-#: sql_help.c:3907 sql_help.c:3910 sql_help.c:4098 sql_help.c:4101
-#: sql_help.c:4104
+#: sql_help.c:3667 sql_help.c:3670 sql_help.c:3673 sql_help.c:3906
+#: sql_help.c:3909 sql_help.c:3912 sql_help.c:4100 sql_help.c:4103
+#: sql_help.c:4106
 msgid "column_definition"
 msgstr "Spaltendefinition"
 
-#: sql_help.c:3675 sql_help.c:3914 sql_help.c:4108
+#: sql_help.c:3677 sql_help.c:3916 sql_help.c:4110
 msgid "join_type"
 msgstr "Verbundtyp"
 
-#: sql_help.c:3677 sql_help.c:3916 sql_help.c:4110
+#: sql_help.c:3679 sql_help.c:3918 sql_help.c:4112
 msgid "join_condition"
 msgstr "Verbundbedingung"
 
-#: sql_help.c:3678 sql_help.c:3917 sql_help.c:4111
+#: sql_help.c:3680 sql_help.c:3919 sql_help.c:4113
 msgid "join_column"
 msgstr "Verbundspalte"
 
-#: sql_help.c:3679 sql_help.c:3918 sql_help.c:4112
+#: sql_help.c:3681 sql_help.c:3920 sql_help.c:4114
 msgid "and grouping_element can be one of:"
 msgstr "und Gruppierelement eins der folgenden sein kann:"
 
-#: sql_help.c:3687 sql_help.c:3926 sql_help.c:4120
+#: sql_help.c:3689 sql_help.c:3928 sql_help.c:4122
 msgid "and with_query is:"
 msgstr "und With-Anfrage ist:"
 
-#: sql_help.c:3691 sql_help.c:3930 sql_help.c:4124
+#: sql_help.c:3693 sql_help.c:3932 sql_help.c:4126
 msgid "values"
 msgstr "values"
 
-#: sql_help.c:3692 sql_help.c:3931 sql_help.c:4125
+#: sql_help.c:3694 sql_help.c:3933 sql_help.c:4127
 msgid "insert"
 msgstr "insert"
 
-#: sql_help.c:3693 sql_help.c:3932 sql_help.c:4126
+#: sql_help.c:3695 sql_help.c:3934 sql_help.c:4128
 msgid "update"
 msgstr "update"
 
-#: sql_help.c:3694 sql_help.c:3933 sql_help.c:4127
+#: sql_help.c:3696 sql_help.c:3935 sql_help.c:4129
 msgid "delete"
 msgstr "delete"
 
-#: sql_help.c:3721
+#: sql_help.c:3723
 msgid "new_table"
 msgstr "neue_Tabelle"
 
-#: sql_help.c:3746
+#: sql_help.c:3748
 msgid "timezone"
 msgstr "Zeitzone"
 
-#: sql_help.c:3791
+#: sql_help.c:3793
 msgid "snapshot_id"
 msgstr "Snapshot-ID"
 
-#: sql_help.c:3976
+#: sql_help.c:3978
 msgid "from_list"
 msgstr "From-Liste"
 
-#: sql_help.c:4007
+#: sql_help.c:4009
 msgid "sort_expression"
 msgstr "Sortierausdruck"
 
-#: sql_help.c:4134 sql_help.c:4874
+#: sql_help.c:4136 sql_help.c:4876
 msgid "abort the current transaction"
 msgstr "bricht die aktuelle Transaktion ab"
 
-#: sql_help.c:4139
+#: sql_help.c:4141
 msgid "change the definition of an aggregate function"
 msgstr "ändert die Definition einer Aggregatfunktion"
 
-#: sql_help.c:4144
+#: sql_help.c:4146
 msgid "change the definition of a collation"
 msgstr "ändert die Definition einer Sortierfolge"
 
-#: sql_help.c:4149
+#: sql_help.c:4151
 msgid "change the definition of a conversion"
 msgstr "ändert die Definition einer Zeichensatzkonversion"
 
-#: sql_help.c:4154
+#: sql_help.c:4156
 msgid "change a database"
 msgstr "ändert eine Datenbank"
 
-#: sql_help.c:4159
+#: sql_help.c:4161
 msgid "define default access privileges"
 msgstr "definiert vorgegebene Zugriffsprivilegien"
 
-#: sql_help.c:4164
+#: sql_help.c:4166
 msgid "change the definition of a domain"
 msgstr "ändert die Definition einer Domäne"
 
-#: sql_help.c:4169
+#: sql_help.c:4171
 msgid "change the definition of an event trigger"
 msgstr "ändert die Definition eines Ereignistriggers"
 
-#: sql_help.c:4174
+#: sql_help.c:4176
 msgid "change the definition of an extension"
 msgstr "ändert die Definition einer Erweiterung"
 
-#: sql_help.c:4179
+#: sql_help.c:4181
 msgid "change the definition of a foreign-data wrapper"
 msgstr "ändert die Definition eines Fremddaten-Wrappers"
 
-#: sql_help.c:4184
+#: sql_help.c:4186
 msgid "change the definition of a foreign table"
 msgstr "ändert die Definition einer Fremdtabelle"
 
-#: sql_help.c:4189
+#: sql_help.c:4191
 msgid "change the definition of a function"
 msgstr "ändert die Definition einer Funktion"
 
-#: sql_help.c:4194
+#: sql_help.c:4196
 msgid "change role name or membership"
 msgstr "ändert Rollenname oder -mitglieder"
 
-#: sql_help.c:4199
+#: sql_help.c:4201
 msgid "change the definition of an index"
 msgstr "ändert die Definition eines Index"
 
-#: sql_help.c:4204
+#: sql_help.c:4206
 msgid "change the definition of a procedural language"
 msgstr "ändert die Definition einer prozeduralen Sprache"
 
-#: sql_help.c:4209
+#: sql_help.c:4211
 msgid "change the definition of a large object"
 msgstr "ändert die Definition eines Large Object"
 
-#: sql_help.c:4214
+#: sql_help.c:4216
 msgid "change the definition of a materialized view"
 msgstr "ändert die Definition einer materialisierten Sicht"
 
-#: sql_help.c:4219
+#: sql_help.c:4221
 msgid "change the definition of an operator"
 msgstr "ändert die Definition eines Operators"
 
-#: sql_help.c:4224
+#: sql_help.c:4226
 msgid "change the definition of an operator class"
 msgstr "ändert die Definition einer Operatorklasse"
 
-#: sql_help.c:4229
+#: sql_help.c:4231
 msgid "change the definition of an operator family"
 msgstr "ändert die Definition einer Operatorfamilie"
 
-#: sql_help.c:4234
+#: sql_help.c:4236
 msgid "change the definition of a row level security policy"
 msgstr "ändert die Definition einer Policy für Sicherheit auf Zeilenebene"
 
-#: sql_help.c:4239 sql_help.c:4309
+#: sql_help.c:4241 sql_help.c:4311
 msgid "change a database role"
 msgstr "ändert eine Datenbankrolle"
 
-#: sql_help.c:4244
+#: sql_help.c:4246
 msgid "change the definition of a rule"
 msgstr "ändert die Definition einer Regel"
 
-#: sql_help.c:4249
+#: sql_help.c:4251
 msgid "change the definition of a schema"
 msgstr "ändert die Definition eines Schemas"
 
-#: sql_help.c:4254
+#: sql_help.c:4256
 msgid "change the definition of a sequence generator"
 msgstr "ändert die Definition eines Sequenzgenerators"
 
-#: sql_help.c:4259
+#: sql_help.c:4261
 msgid "change the definition of a foreign server"
 msgstr "ändert die Definition eines Fremdservers"
 
-#: sql_help.c:4264
+#: sql_help.c:4266
 msgid "change a server configuration parameter"
 msgstr "ändert einen Server-Konfigurationsparameter"
 
-#: sql_help.c:4269
+#: sql_help.c:4271
 msgid "change the definition of a table"
 msgstr "ändert die Definition einer Tabelle"
 
-#: sql_help.c:4274
+#: sql_help.c:4276
 msgid "change the definition of a tablespace"
 msgstr "ändert die Definition eines Tablespace"
 
-#: sql_help.c:4279
+#: sql_help.c:4281
 msgid "change the definition of a text search configuration"
 msgstr "ändert die Definition einer Textsuchekonfiguration"
 
-#: sql_help.c:4284
+#: sql_help.c:4286
 msgid "change the definition of a text search dictionary"
 msgstr "ändert die Definition eines Textsuchewörterbuchs"
 
-#: sql_help.c:4289
+#: sql_help.c:4291
 msgid "change the definition of a text search parser"
 msgstr "ändert die Definition eines Textsucheparsers"
 
-#: sql_help.c:4294
+#: sql_help.c:4296
 msgid "change the definition of a text search template"
 msgstr "ändert die Definition einer Textsuchevorlage"
 
-#: sql_help.c:4299
+#: sql_help.c:4301
 msgid "change the definition of a trigger"
 msgstr "ändert die Definition eines Triggers"
 
-#: sql_help.c:4304
+#: sql_help.c:4306
 msgid "change the definition of a type"
 msgstr "ändert die Definition eines Typs"
 
-#: sql_help.c:4314
+#: sql_help.c:4316
 msgid "change the definition of a user mapping"
 msgstr "ändert die Definition einer Benutzerabbildung"
 
-#: sql_help.c:4319
+#: sql_help.c:4321
 msgid "change the definition of a view"
 msgstr "ändert die Definition einer Sicht"
 
-#: sql_help.c:4324
+#: sql_help.c:4326
 msgid "collect statistics about a database"
 msgstr "sammelt Statistiken über eine Datenbank"
 
-#: sql_help.c:4329 sql_help.c:4939
+#: sql_help.c:4331 sql_help.c:4941
 msgid "start a transaction block"
 msgstr "startet einen Transaktionsblock"
 
-#: sql_help.c:4334
+#: sql_help.c:4336
 msgid "force a transaction log checkpoint"
 msgstr "erzwingt einen Checkpoint im Transaktionslog"
 
-#: sql_help.c:4339
+#: sql_help.c:4341
 msgid "close a cursor"
 msgstr "schließt einen Cursor"
 
-#: sql_help.c:4344
+#: sql_help.c:4346
 msgid "cluster a table according to an index"
 msgstr "clustert eine Tabelle nach einem Index"
 
-#: sql_help.c:4349
+#: sql_help.c:4351
 msgid "define or change the comment of an object"
 msgstr "definiert oder ändert den Kommentar eines Objektes"
 
-#: sql_help.c:4354 sql_help.c:4774
+#: sql_help.c:4356 sql_help.c:4776
 msgid "commit the current transaction"
 msgstr "schließt die aktuelle Transaktion ab"
 
-#: sql_help.c:4359
+#: sql_help.c:4361
 msgid "commit a transaction that was earlier prepared for two-phase commit"
 msgstr "schließt eine Transaktion ab, die vorher für Two-Phase-Commit vorbereitet worden war"
 
-#: sql_help.c:4364
+#: sql_help.c:4366
 msgid "copy data between a file and a table"
 msgstr "kopiert Daten zwischen einer Datei und einer Tabelle"
 
-#: sql_help.c:4369
+#: sql_help.c:4371
 msgid "define a new access method"
 msgstr "definiert eine neue Zugriffsmethode"
 
-#: sql_help.c:4374
+#: sql_help.c:4376
 msgid "define a new aggregate function"
 msgstr "definiert eine neue Aggregatfunktion"
 
-#: sql_help.c:4379
+#: sql_help.c:4381
 msgid "define a new cast"
 msgstr "definiert eine neue Typumwandlung"
 
-#: sql_help.c:4384
+#: sql_help.c:4386
 msgid "define a new collation"
 msgstr "definiert eine neue Sortierfolge"
 
-#: sql_help.c:4389
+#: sql_help.c:4391
 msgid "define a new encoding conversion"
 msgstr "definiert eine neue Kodierungskonversion"
 
-#: sql_help.c:4394
+#: sql_help.c:4396
 msgid "create a new database"
 msgstr "erzeugt eine neue Datenbank"
 
-#: sql_help.c:4399
+#: sql_help.c:4401
 msgid "define a new domain"
 msgstr "definiert eine neue Domäne"
 
-#: sql_help.c:4404
+#: sql_help.c:4406
 msgid "define a new event trigger"
 msgstr "definiert einen neuen Ereignistrigger"
 
-#: sql_help.c:4409
+#: sql_help.c:4411
 msgid "install an extension"
 msgstr "installiert eine Erweiterung"
 
-#: sql_help.c:4414
+#: sql_help.c:4416
 msgid "define a new foreign-data wrapper"
 msgstr "definiert einen neuen Fremddaten-Wrapper"
 
-#: sql_help.c:4419
+#: sql_help.c:4421
 msgid "define a new foreign table"
 msgstr "definiert eine neue Fremdtabelle"
 
-#: sql_help.c:4424
+#: sql_help.c:4426
 msgid "define a new function"
 msgstr "definiert eine neue Funktion"
 
-#: sql_help.c:4429 sql_help.c:4469 sql_help.c:4544
+#: sql_help.c:4431 sql_help.c:4471 sql_help.c:4546
 msgid "define a new database role"
 msgstr "definiert eine neue Datenbankrolle"
 
-#: sql_help.c:4434
+#: sql_help.c:4436
 msgid "define a new index"
 msgstr "definiert einen neuen Index"
 
-#: sql_help.c:4439
+#: sql_help.c:4441
 msgid "define a new procedural language"
 msgstr "definiert eine neue prozedurale Sprache"
 
-#: sql_help.c:4444
+#: sql_help.c:4446
 msgid "define a new materialized view"
 msgstr "definiert eine neue materialisierte Sicht"
 
-#: sql_help.c:4449
+#: sql_help.c:4451
 msgid "define a new operator"
 msgstr "definiert einen neuen Operator"
 
-#: sql_help.c:4454
+#: sql_help.c:4456
 msgid "define a new operator class"
 msgstr "definiert eine neue Operatorklasse"
 
-#: sql_help.c:4459
+#: sql_help.c:4461
 msgid "define a new operator family"
 msgstr "definiert eine neue Operatorfamilie"
 
-#: sql_help.c:4464
+#: sql_help.c:4466
 msgid "define a new row level security policy for a table"
 msgstr "definiert eine neue Policy für Sicherheit auf Zeilenebene für eine Tabelle"
 
-#: sql_help.c:4474
+#: sql_help.c:4476
 msgid "define a new rewrite rule"
 msgstr "definiert eine neue Umschreiberegel"
 
-#: sql_help.c:4479
+#: sql_help.c:4481
 msgid "define a new schema"
 msgstr "definiert ein neues Schema"
 
-#: sql_help.c:4484
+#: sql_help.c:4486
 msgid "define a new sequence generator"
 msgstr "definiert einen neuen Sequenzgenerator"
 
-#: sql_help.c:4489
+#: sql_help.c:4491
 msgid "define a new foreign server"
 msgstr "definiert einen neuen Fremdserver"
 
-#: sql_help.c:4494
+#: sql_help.c:4496
 msgid "define a new table"
 msgstr "definiert eine neue Tabelle"
 
-#: sql_help.c:4499 sql_help.c:4904
+#: sql_help.c:4501 sql_help.c:4906
 msgid "define a new table from the results of a query"
 msgstr "definiert eine neue Tabelle aus den Ergebnissen einer Anfrage"
 
-#: sql_help.c:4504
+#: sql_help.c:4506
 msgid "define a new tablespace"
 msgstr "definiert einen neuen Tablespace"
 
-#: sql_help.c:4509
+#: sql_help.c:4511
 msgid "define a new text search configuration"
 msgstr "definiert eine neue Textsuchekonfiguration"
 
-#: sql_help.c:4514
+#: sql_help.c:4516
 msgid "define a new text search dictionary"
 msgstr "definiert ein neues Textsuchewörterbuch"
 
-#: sql_help.c:4519
+#: sql_help.c:4521
 msgid "define a new text search parser"
 msgstr "definiert einen neuen Textsucheparser"
 
-#: sql_help.c:4524
+#: sql_help.c:4526
 msgid "define a new text search template"
 msgstr "definiert eine neue Textsuchevorlage"
 
-#: sql_help.c:4529
+#: sql_help.c:4531
 msgid "define a new transform"
 msgstr "definiert eine neue Transformation"
 
-#: sql_help.c:4534
+#: sql_help.c:4536
 msgid "define a new trigger"
 msgstr "definiert einen neuen Trigger"
 
-#: sql_help.c:4539
+#: sql_help.c:4541
 msgid "define a new data type"
 msgstr "definiert einen neuen Datentyp"
 
-#: sql_help.c:4549
+#: sql_help.c:4551
 msgid "define a new mapping of a user to a foreign server"
 msgstr "definiert eine neue Abbildung eines Benutzers auf einen Fremdserver"
 
-#: sql_help.c:4554
+#: sql_help.c:4556
 msgid "define a new view"
 msgstr "definiert eine neue Sicht"
 
-#: sql_help.c:4559
+#: sql_help.c:4561
 msgid "deallocate a prepared statement"
 msgstr "gibt einen vorbereiteten Befehl frei"
 
-#: sql_help.c:4564
+#: sql_help.c:4566
 msgid "define a cursor"
 msgstr "definiert einen Cursor"
 
-#: sql_help.c:4569
+#: sql_help.c:4571
 msgid "delete rows of a table"
 msgstr "löscht Zeilen einer Tabelle"
 
-#: sql_help.c:4574
+#: sql_help.c:4576
 msgid "discard session state"
 msgstr "verwirft den Sitzungszustand"
 
-#: sql_help.c:4579
+#: sql_help.c:4581
 msgid "execute an anonymous code block"
 msgstr "führt einen anonymen Codeblock aus"
 
-#: sql_help.c:4584
+#: sql_help.c:4586
 msgid "remove an access method"
 msgstr "entfernt eine Zugriffsmethode"
 
-#: sql_help.c:4589
+#: sql_help.c:4591
 msgid "remove an aggregate function"
 msgstr "entfernt eine Aggregatfunktion"
 
-#: sql_help.c:4594
+#: sql_help.c:4596
 msgid "remove a cast"
 msgstr "entfernt eine Typumwandlung"
 
-#: sql_help.c:4599
+#: sql_help.c:4601
 msgid "remove a collation"
 msgstr "entfernt eine Sortierfolge"
 
-#: sql_help.c:4604
+#: sql_help.c:4606
 msgid "remove a conversion"
 msgstr "entfernt eine Zeichensatzkonversion"
 
-#: sql_help.c:4609
+#: sql_help.c:4611
 msgid "remove a database"
 msgstr "entfernt eine Datenbank"
 
-#: sql_help.c:4614
+#: sql_help.c:4616
 msgid "remove a domain"
 msgstr "entfernt eine Domäne"
 
-#: sql_help.c:4619
+#: sql_help.c:4621
 msgid "remove an event trigger"
 msgstr "entfernt einen Ereignistrigger"
 
-#: sql_help.c:4624
+#: sql_help.c:4626
 msgid "remove an extension"
 msgstr "entfernt eine Erweiterung"
 
-#: sql_help.c:4629
+#: sql_help.c:4631
 msgid "remove a foreign-data wrapper"
 msgstr "entfernt einen Fremddaten-Wrapper"
 
-#: sql_help.c:4634
+#: sql_help.c:4636
 msgid "remove a foreign table"
 msgstr "entfernt eine Fremdtabelle"
 
-#: sql_help.c:4639
+#: sql_help.c:4641
 msgid "remove a function"
 msgstr "entfernt eine Funktion"
 
-#: sql_help.c:4644 sql_help.c:4689 sql_help.c:4759
+#: sql_help.c:4646 sql_help.c:4691 sql_help.c:4761
 msgid "remove a database role"
 msgstr "entfernt eine Datenbankrolle"
 
-#: sql_help.c:4649
+#: sql_help.c:4651
 msgid "remove an index"
 msgstr "entfernt einen Index"
 
-#: sql_help.c:4654
+#: sql_help.c:4656
 msgid "remove a procedural language"
 msgstr "entfernt eine prozedurale Sprache"
 
-#: sql_help.c:4659
+#: sql_help.c:4661
 msgid "remove a materialized view"
 msgstr "entfernt eine materialisierte Sicht"
 
-#: sql_help.c:4664
+#: sql_help.c:4666
 msgid "remove an operator"
 msgstr "entfernt einen Operator"
 
-#: sql_help.c:4669
+#: sql_help.c:4671
 msgid "remove an operator class"
 msgstr "entfernt eine Operatorklasse"
 
-#: sql_help.c:4674
+#: sql_help.c:4676
 msgid "remove an operator family"
 msgstr "entfernt eine Operatorfamilie"
 
-#: sql_help.c:4679
+#: sql_help.c:4681
 msgid "remove database objects owned by a database role"
 msgstr "entfernt die einer Datenbankrolle gehörenden Datenbankobjekte"
 
-#: sql_help.c:4684
+#: sql_help.c:4686
 msgid "remove a row level security policy from a table"
 msgstr "entfernt eine Policy für Sicherheit auf Zeilenebene von einer Tabelle"
 
-#: sql_help.c:4694
+#: sql_help.c:4696
 msgid "remove a rewrite rule"
 msgstr "entfernt eine Umschreiberegel"
 
-#: sql_help.c:4699
+#: sql_help.c:4701
 msgid "remove a schema"
 msgstr "entfernt ein Schema"
 
-#: sql_help.c:4704
+#: sql_help.c:4706
 msgid "remove a sequence"
 msgstr "entfernt eine Sequenz"
 
-#: sql_help.c:4709
+#: sql_help.c:4711
 msgid "remove a foreign server descriptor"
 msgstr "entfernt einen Fremdserverdeskriptor"
 
-#: sql_help.c:4714
+#: sql_help.c:4716
 msgid "remove a table"
 msgstr "entfernt eine Tabelle"
 
-#: sql_help.c:4719
+#: sql_help.c:4721
 msgid "remove a tablespace"
 msgstr "entfernt einen Tablespace"
 
-#: sql_help.c:4724
+#: sql_help.c:4726
 msgid "remove a text search configuration"
 msgstr "entfernt eine Textsuchekonfiguration"
 
-#: sql_help.c:4729
+#: sql_help.c:4731
 msgid "remove a text search dictionary"
 msgstr "entfernt ein Textsuchewörterbuch"
 
-#: sql_help.c:4734
+#: sql_help.c:4736
 msgid "remove a text search parser"
 msgstr "entfernt einen Textsucheparser"
 
-#: sql_help.c:4739
+#: sql_help.c:4741
 msgid "remove a text search template"
 msgstr "entfernt eine Textsuchevorlage"
 
-#: sql_help.c:4744
+#: sql_help.c:4746
 msgid "remove a transform"
 msgstr "entfernt eine Transformation"
 
-#: sql_help.c:4749
+#: sql_help.c:4751
 msgid "remove a trigger"
 msgstr "entfernt einen Trigger"
 
-#: sql_help.c:4754
+#: sql_help.c:4756
 msgid "remove a data type"
 msgstr "entfernt einen Datentyp"
 
-#: sql_help.c:4764
+#: sql_help.c:4766
 msgid "remove a user mapping for a foreign server"
 msgstr "entfernt eine Benutzerabbildung für einen Fremdserver"
 
-#: sql_help.c:4769
+#: sql_help.c:4771
 msgid "remove a view"
 msgstr "entfernt eine Sicht"
 
-#: sql_help.c:4779
+#: sql_help.c:4781
 msgid "execute a prepared statement"
 msgstr "führt einen vorbereiteten Befehl aus"
 
-#: sql_help.c:4784
+#: sql_help.c:4786
 msgid "show the execution plan of a statement"
 msgstr "zeigt den Ausführungsplan eines Befehls"
 
-#: sql_help.c:4789
+#: sql_help.c:4791
 msgid "retrieve rows from a query using a cursor"
 msgstr "liest Zeilen aus einer Anfrage mit einem Cursor"
 
-#: sql_help.c:4794
+#: sql_help.c:4796
 msgid "define access privileges"
 msgstr "definiert Zugriffsprivilegien"
 
-#: sql_help.c:4799
+#: sql_help.c:4801
 msgid "import table definitions from a foreign server"
 msgstr "importiert Tabellendefinitionen von einem Fremdserver"
 
-#: sql_help.c:4804
+#: sql_help.c:4806
 msgid "create new rows in a table"
 msgstr "erzeugt neue Zeilen in einer Tabelle"
 
-#: sql_help.c:4809
+#: sql_help.c:4811
 msgid "listen for a notification"
 msgstr "hört auf eine Benachrichtigung"
 
-#: sql_help.c:4814
+#: sql_help.c:4816
 msgid "load a shared library file"
 msgstr "lädt eine dynamische Bibliotheksdatei"
 
-#: sql_help.c:4819
+#: sql_help.c:4821
 msgid "lock a table"
 msgstr "sperrt eine Tabelle"
 
-#: sql_help.c:4824
+#: sql_help.c:4826
 msgid "position a cursor"
 msgstr "positioniert einen Cursor"
 
-#: sql_help.c:4829
+#: sql_help.c:4831
 msgid "generate a notification"
 msgstr "erzeugt eine Benachrichtigung"
 
-#: sql_help.c:4834
+#: sql_help.c:4836
 msgid "prepare a statement for execution"
 msgstr "bereitet einen Befehl zur Ausführung vor"
 
-#: sql_help.c:4839
+#: sql_help.c:4841
 msgid "prepare the current transaction for two-phase commit"
 msgstr "bereitet die aktuelle Transaktion für Two-Phase-Commit vor"
 
-#: sql_help.c:4844
+#: sql_help.c:4846
 msgid "change the ownership of database objects owned by a database role"
 msgstr "ändert den Eigentümer der der Rolle gehörenden Datenbankobjekte"
 
-#: sql_help.c:4849
+#: sql_help.c:4851
 msgid "replace the contents of a materialized view"
 msgstr "ersetzt den Inhalt einer materialisierten Sicht"
 
-#: sql_help.c:4854
+#: sql_help.c:4856
 msgid "rebuild indexes"
 msgstr "baut Indexe neu"
 
-#: sql_help.c:4859
+#: sql_help.c:4861
 msgid "destroy a previously defined savepoint"
 msgstr "gibt einen zuvor definierten Sicherungspunkt frei"
 
-#: sql_help.c:4864
+#: sql_help.c:4866
 msgid "restore the value of a run-time parameter to the default value"
 msgstr "setzt einen Konfigurationsparameter auf die Voreinstellung zurück"
 
-#: sql_help.c:4869
+#: sql_help.c:4871
 msgid "remove access privileges"
 msgstr "entfernt Zugriffsprivilegien"
 
-#: sql_help.c:4879
+#: sql_help.c:4881
 msgid "cancel a transaction that was earlier prepared for two-phase commit"
 msgstr "storniert eine Transaktion, die vorher für Two-Phase-Commit vorbereitet worden war"
 
-#: sql_help.c:4884
+#: sql_help.c:4886
 msgid "roll back to a savepoint"
 msgstr "rollt eine Transaktion bis zu einem Sicherungspunkt zurück"
 
-#: sql_help.c:4889
+#: sql_help.c:4891
 msgid "define a new savepoint within the current transaction"
 msgstr "definiert einen neuen Sicherungspunkt in der aktuellen Transaktion"
 
-#: sql_help.c:4894
+#: sql_help.c:4896
 msgid "define or change a security label applied to an object"
 msgstr "definiert oder ändert ein Security-Label eines Objektes"
 
-#: sql_help.c:4899 sql_help.c:4944 sql_help.c:4974
+#: sql_help.c:4901 sql_help.c:4946 sql_help.c:4976
 msgid "retrieve rows from a table or view"
 msgstr "liest Zeilen aus einer Tabelle oder Sicht"
 
-#: sql_help.c:4909
+#: sql_help.c:4911
 msgid "change a run-time parameter"
 msgstr "ändert einen Konfigurationsparameter"
 
-#: sql_help.c:4914
+#: sql_help.c:4916
 msgid "set constraint check timing for the current transaction"
 msgstr "setzt die Zeitsteuerung für Check-Constraints in der aktuellen Transaktion"
 
-#: sql_help.c:4919
+#: sql_help.c:4921
 msgid "set the current user identifier of the current session"
 msgstr "setzt den aktuellen Benutzernamen der aktuellen Sitzung"
 
-#: sql_help.c:4924
+#: sql_help.c:4926
 msgid "set the session user identifier and the current user identifier of the current session"
 msgstr "setzt den Sitzungsbenutzernamen und den aktuellen Benutzernamen der aktuellen Sitzung"
 
-#: sql_help.c:4929
+#: sql_help.c:4931
 msgid "set the characteristics of the current transaction"
 msgstr "setzt die Charakteristika der aktuellen Transaktion"
 
-#: sql_help.c:4934
+#: sql_help.c:4936
 msgid "show the value of a run-time parameter"
 msgstr "zeigt den Wert eines Konfigurationsparameters"
 
-#: sql_help.c:4949
+#: sql_help.c:4951
 msgid "empty a table or set of tables"
 msgstr "leert eine oder mehrere Tabellen"
 
-#: sql_help.c:4954
+#: sql_help.c:4956
 msgid "stop listening for a notification"
 msgstr "beendet das Hören auf eine Benachrichtigung"
 
-#: sql_help.c:4959
+#: sql_help.c:4961
 msgid "update rows of a table"
 msgstr "aktualisiert Zeilen einer Tabelle"
 
-#: sql_help.c:4964
+#: sql_help.c:4966
 msgid "garbage-collect and optionally analyze a database"
 msgstr "säubert und analysiert eine Datenbank"
 
-#: sql_help.c:4969
+#: sql_help.c:4971
 msgid "compute a set of rows"
 msgstr "berechnet eine Zeilenmenge"
 
@@ -5267,7 +5336,7 @@ msgstr "%s: konnte eigene Programmdatei nicht finden\n"
 msgid "unrecognized value \"%s\" for \"%s\"; assuming \"%s\"\n"
 msgstr "unbekannter Wert „%s“ für „%s“; „%s“ wird angenommen\n"
 
-#: tab-complete.c:3682
+#: tab-complete.c:3704
 #, c-format
 msgid ""
 "tab completion query failed: %s\n"
diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po
index 4ca25c8428bbd89bae361f6e4632b47eb588d609..466d9dbe8a1372ada200496a09665b1632f8b09b 100644
--- a/src/bin/psql/po/ru.po
+++ b/src/bin/psql/po/ru.po
@@ -24,7 +24,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-01-15 04:42+0000\n"
+"POT-Creation-Date: 2016-06-14 20:43+0000\n"
 "PO-Revision-Date: 2016-01-17 08:09+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -74,8 +74,8 @@ msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 command.c:318 input.c:216 mainloop.c:73
-#: mainloop.c:253
+#: ../../common/fe_memutils.c:98 command.c:330 input.c:227 mainloop.c:80
+#: mainloop.c:261
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
@@ -90,7 +90,7 @@ msgstr "попытка дублирования нулевого указате
 msgid "could not look up effective user ID %ld: %s"
 msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
 
-#: ../../common/username.c:47 command.c:273
+#: ../../common/username.c:47 command.c:287
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
@@ -134,37 +134,72 @@ msgstr "дочерний процесс завершён по сигналу %d"
 msgid "child process exited with unrecognized status %d"
 msgstr "дочерний процесс завершился с нераспознанным состоянием %d"
 
-#: command.c:114
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu строка)"
+msgstr[1] "(%lu строки)"
+msgstr[2] "(%lu строк)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "Прервано\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr ""
+"Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr ""
+"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "неверный формат вывода (внутренняя ошибка): %d"
+
+#: ../../fe_utils/psqlscan.l:713
+#, c-format
+msgid "skipping recursive expansion of variable \"%s\"\n"
+msgstr "рекурсивное расширение переменной \"%s\" пропускается\n"
+
+#: command.c:128
 #, c-format
 msgid "Invalid command \\%s. Try \\? for help.\n"
 msgstr "Неверная команда \\%s. Справка по командам: \\?\n"
 
-#: command.c:116
+#: command.c:130
 #, c-format
 msgid "invalid command \\%s\n"
 msgstr "неверная команда \\%s\n"
 
-#: command.c:127
+#: command.c:141
 #, c-format
 msgid "\\%s: extra argument \"%s\" ignored\n"
 msgstr "\\%s: лишний аргумент \"%s\" пропущен\n"
 
-#: command.c:271
+#: command.c:285
 #, c-format
 msgid "could not get home directory for user ID %ld: %s\n"
 msgstr "не удалось получить домашний каталог пользователя c ид. %ld: %s\n"
 
-#: command.c:289
+#: command.c:303
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %s\n"
 msgstr "\\%s: не удалось перейти в каталог \"%s\": %s\n"
 
-#: command.c:304 common.c:461 common.c:519 common.c:977
+#: command.c:318 common.c:552 common.c:610 common.c:1143
 #, c-format
 msgid "You are currently not connected to a database.\n"
 msgstr "В данный момент вы не подключены к базе данных.\n"
 
-#: command.c:331
+#: command.c:343
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at "
@@ -173,7 +208,7 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в \"%s"
 "\", порт \"%s\".\n"
 
-#: command.c:334
+#: command.c:346
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port "
@@ -182,122 +217,156 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", "
 "порт \"%s\").\n"
 
-#: command.c:535 command.c:605 command.c:1405
+#: command.c:562 command.c:632 command.c:728 command.c:1560
 #, c-format
 msgid "no query buffer\n"
 msgstr "нет буфера запросов\n"
 
-#: command.c:568 command.c:3172
+#: command.c:595 command.c:3474
 #, c-format
 msgid "invalid line number: %s\n"
 msgstr "неверный номер строки: %s\n"
 
-#: command.c:599
+#: command.c:626
 #, c-format
 msgid "The server (version %d.%d) does not support editing function source.\n"
 msgstr ""
 "Сервер (версия %d.%d) не поддерживает редактирование исходного кода "
 "функции.\n"
 
-#: command.c:679
+#: command.c:706 command.c:774
 msgid "No changes"
 msgstr "Изменений нет"
 
-#: command.c:733
+#: command.c:722
+#, c-format
+msgid "The server (version %d.%d) does not support editing view definitions.\n"
+msgstr ""
+"Сервер (версия %d.%d) не поддерживает редактирование определения "
+"представления.\n"
+
+#: command.c:828
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
 msgstr ""
 "%s: неверное название кодировки символов или не найдена процедура "
 "перекодировки\n"
 
-#: command.c:830 command.c:880 command.c:894 command.c:911 command.c:1018
-#: command.c:1182 command.c:1385 command.c:1416
+#: command.c:853 command.c:1900 command.c:3576 common.c:152 common.c:199
+#: common.c:496 common.c:1189 common.c:1214 common.c:1315 copy.c:489 copy.c:699
+#: large_obj.c:156 large_obj.c:191 large_obj.c:253
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: command.c:857
+msgid "out of memory"
+msgstr "нехватка памяти"
+
+#: command.c:860
+msgid "There is no previous error."
+msgstr "Ошибки не было."
+
+#: command.c:954 command.c:1004 command.c:1018 command.c:1035 command.c:1142
+#: command.c:1306 command.c:1540 command.c:1571
 #, c-format
 msgid "\\%s: missing required argument\n"
 msgstr "отсутствует необходимый аргумент \\%s\n"
 
-#: command.c:943
+#: command.c:1067
 msgid "Query buffer is empty."
 msgstr "Буфер запроса пуст."
 
-#: command.c:953
+#: command.c:1077
 msgid "Enter new password: "
 msgstr "Введите новый пароль: "
 
-#: command.c:954
+#: command.c:1078
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: command.c:958
+#: command.c:1082
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
-#: command.c:976
+#: command.c:1100
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Ошибка при шифровании пароля.\n"
 
-#: command.c:1047 command.c:1163 command.c:1390
+#: command.c:1171 command.c:1287 command.c:1545
 #, c-format
 msgid "\\%s: error while setting variable\n"
 msgstr "\\%s: не удалось установить переменную\n"
 
-#: command.c:1110
+#: command.c:1234
 msgid "Query buffer reset (cleared)."
 msgstr "Буфер запроса сброшен (очищен)."
 
-#: command.c:1122
+#: command.c:1246
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "История записана в файл \"%s\".\n"
 
-#: command.c:1187
+#: command.c:1311
 #, c-format
 msgid "\\%s: environment variable name must not contain \"=\"\n"
 msgstr "\\%s: имя переменной окружения не может содержать знак \"=\"\n"
 
-#: command.c:1229
+#: command.c:1353
 #, c-format
 msgid "The server (version %d.%d) does not support showing function source.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает вывод исходного кода функции.\n"
 
-#: command.c:1235
+#: command.c:1359
 #, c-format
 msgid "function name is required\n"
 msgstr "требуется имя функции\n"
 
-#: command.c:1370
+#: command.c:1432
+#, c-format
+msgid "The server (version %d.%d) does not support showing view definitions.\n"
+msgstr ""
+"Сервер (версия %d.%d) не поддерживает вывод определения представлений.\n"
+
+#: command.c:1438
+#, c-format
+msgid "view name is required\n"
+msgstr "требуется имя представления\n"
+
+#: command.c:1525
 msgid "Timing is on."
 msgstr "Секундомер включен."
 
-#: command.c:1372
+#: command.c:1527
 msgid "Timing is off."
 msgstr "Секундомер выключен."
 
-#: command.c:1434 command.c:1454 command.c:2091 command.c:2094 command.c:2097
-#: command.c:2103 command.c:2105 command.c:2113 command.c:2123 command.c:2132
-#: command.c:2146 command.c:2163 command.c:2222 common.c:66 copy.c:331
-#: copy.c:391 copy.c:404 psqlscan.l:1700 psqlscan.l:1711 psqlscan.l:1721
+#: command.c:1589 command.c:1609 command.c:2243 command.c:2246 command.c:2249
+#: command.c:2255 command.c:2257 command.c:2265 command.c:2275 command.c:2284
+#: command.c:2298 command.c:2315 command.c:2373 common.c:67 copy.c:332
+#: copy.c:392 copy.c:405 psqlscanslash.l:710 psqlscanslash.l:721
+#: psqlscanslash.l:731
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
 
-#: command.c:1548
+#: command.c:1703
 #, c-format
 msgid "+ opt(%d) = |%s|\n"
 msgstr "+ opt(%d) = |%s|\n"
 
-#: command.c:1574 startup.c:195
+#: command.c:1729 startup.c:207
 msgid "Password: "
 msgstr "Пароль: "
 
-#: command.c:1579 startup.c:197
+#: command.c:1734 startup.c:209
 #, c-format
 msgid "Password for user %s: "
 msgstr "Пароль пользователя %s: "
 
-#: command.c:1626
+#: command.c:1781
 #, c-format
 msgid ""
 "All connection parameters must be supplied because no database connection "
@@ -306,24 +375,17 @@ msgstr ""
 "Без подключения к базе данных необходимо указывать все параметры "
 "подключения\n"
 
-#: command.c:1747 command.c:3206 common.c:139 common.c:432 common.c:1020
-#: common.c:1045 common.c:1145 copy.c:488 copy.c:698 large_obj.c:156
-#: large_obj.c:191 large_obj.c:253 psqlscan.l:1972
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: command.c:1751
+#: command.c:1904
 #, c-format
 msgid "Previous connection kept\n"
 msgstr "Сохранено предыдущее подключение\n"
 
-#: command.c:1755
+#: command.c:1908
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\connect: %s"
 
-#: command.c:1789
+#: command.c:1940
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" "
@@ -332,7 +394,7 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в \"%s"
 "\", порт \"%s\".\n"
 
-#: command.c:1792
+#: command.c:1943
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at "
@@ -341,17 +403,17 @@ msgstr ""
 "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", "
 "порт \"%s\") .\n"
 
-#: command.c:1796
+#: command.c:1947
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "Вы подключены к базе данных \"%s\" как пользователь \"%s\".\n"
 
-#: command.c:1830
+#: command.c:1981
 #, c-format
 msgid "%s (%s, server %s)\n"
 msgstr "%s (%s, сервер %s)\n"
 
-#: command.c:1838
+#: command.c:1989
 #, c-format
 msgid ""
 "WARNING: %s major version %d.%d, server major version %d.%d.\n"
@@ -360,24 +422,24 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: %s имеет базовую версию %d.%d, а сервер - %d.%d.\n"
 "                Часть функций psql может не работать.\n"
 
-#: command.c:1872
+#: command.c:2023
 #, c-format
 msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
 msgstr "SSL-соединение (протокол: %s, шифр: %s, бит: %s, сжатие: %s)\n"
 
-#: command.c:1873 command.c:1874 command.c:1875
+#: command.c:2024 command.c:2025 command.c:2026
 msgid "unknown"
 msgstr "неизвестно"
 
-#: command.c:1876 help.c:46
+#: command.c:2027 help.c:46
 msgid "off"
 msgstr "выкл."
 
-#: command.c:1876 help.c:46
+#: command.c:2027 help.c:46
 msgid "on"
 msgstr "вкл."
 
-#: command.c:1896
+#: command.c:2047
 #, c-format
 msgid ""
 "WARNING: Console code page (%u) differs from Windows code page (%u)\n"
@@ -390,7 +452,7 @@ msgstr ""
 "                Подробнее об этом смотрите документацию psql, раздел\n"
 "                \"Notes for Windows users\".\n"
 
-#: command.c:1980
+#: command.c:2132
 #, c-format
 msgid ""
 "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a "
@@ -399,27 +461,27 @@ msgstr ""
 "в переменной окружения PSQL_EDITOR_LINENUMBER_ARG должен быть указан номер "
 "строки\n"
 
-#: command.c:2009
+#: command.c:2161
 #, c-format
 msgid "could not start editor \"%s\"\n"
 msgstr "не удалось запустить редактор \"%s\"\n"
 
-#: command.c:2011
+#: command.c:2163
 #, c-format
 msgid "could not start /bin/sh\n"
 msgstr "не удалось запустить /bin/sh\n"
 
-#: command.c:2049
+#: command.c:2201
 #, c-format
 msgid "could not locate temporary directory: %s\n"
 msgstr "не удалось найти временный каталог: %s\n"
 
-#: command.c:2076
+#: command.c:2228
 #, c-format
 msgid "could not open temporary file \"%s\": %s\n"
 msgstr "не удалось открыть временный файл \"%s\": %s\n"
 
-#: command.c:2380
+#: command.c:2502
 #, c-format
 msgid ""
 "\\pset: allowed formats are unaligned, aligned, wrapped, html, asciidoc, "
@@ -428,122 +490,122 @@ msgstr ""
 "допустимые форматы \\pset: unaligned, aligned, wrapped, html, asciidoc, "
 "latex, latex-longtable, troff-ms\n"
 
-#: command.c:2399
+#: command.c:2521
 #, c-format
 msgid "\\pset: allowed line styles are ascii, old-ascii, unicode\n"
 msgstr "допустимые стили линий для \\pset: ascii, old-ascii, unicode\n"
 
-#: command.c:2415
+#: command.c:2537
 #, c-format
 msgid "\\pset: allowed Unicode border line styles are single, double\n"
 msgstr "допустимые стили Unicode-линий границ для \\pset: single, double\n"
 
-#: command.c:2430
+#: command.c:2552
 #, c-format
 msgid "\\pset: allowed Unicode column line styles are single, double\n"
 msgstr "допустимые стили Unicode-линий столбцов для \\pset: single, double\n"
 
-#: command.c:2445
+#: command.c:2567
 #, c-format
 msgid "\\pset: allowed Unicode header line styles are single, double\n"
 msgstr "допустимые стили Unicode-линий заголовков для \\pset: single, double\n"
 
-#: command.c:2597 command.c:2776
+#: command.c:2719 command.c:2898
 #, c-format
 msgid "\\pset: unknown option: %s\n"
 msgstr "неизвестный параметр \\pset: %s\n"
 
-#: command.c:2615
+#: command.c:2737
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "Стиль границ: %d.\n"
 
-#: command.c:2621
+#: command.c:2743
 #, c-format
 msgid "Target width is unset.\n"
 msgstr "Ширина вывода сброшена.\n"
 
-#: command.c:2623
+#: command.c:2745
 #, c-format
 msgid "Target width is %d.\n"
 msgstr "Ширина вывода: %d.\n"
 
-#: command.c:2630
+#: command.c:2752
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "Расширенный вывод включён.\n"
 
-#: command.c:2632
+#: command.c:2754
 #, c-format
 msgid "Expanded display is used automatically.\n"
 msgstr "Расширенный вывод применяется автоматически.\n"
 
-#: command.c:2634
+#: command.c:2756
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "Расширенный вывод выключен.\n"
 
-#: command.c:2641 command.c:2649
+#: command.c:2763 command.c:2771
 #, c-format
 msgid "Field separator is zero byte.\n"
 msgstr "Разделитель полей - нулевой байт.\n"
 
-#: command.c:2643
+#: command.c:2765
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "Разделитель полей: \"%s\".\n"
 
-#: command.c:2656
+#: command.c:2778
 #, c-format
 msgid "Default footer is on.\n"
 msgstr "Строка итогов включена.\n"
 
-#: command.c:2658
+#: command.c:2780
 #, c-format
 msgid "Default footer is off.\n"
 msgstr "Строка итогов выключена.\n"
 
-#: command.c:2664
+#: command.c:2786
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "Формат вывода: %s.\n"
 
-#: command.c:2670
+#: command.c:2792
 #, c-format
 msgid "Line style is %s.\n"
 msgstr "Установлен стиль линий: %s.\n"
 
-#: command.c:2677
+#: command.c:2799
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr "Null выводится как: \"%s\".\n"
 
-#: command.c:2685
+#: command.c:2807
 #, c-format
 msgid "Locale-adjusted numeric output is on.\n"
 msgstr "Локализованный вывод чисел включён.\n"
 
-#: command.c:2687
+#: command.c:2809
 #, c-format
 msgid "Locale-adjusted numeric output is off.\n"
 msgstr "Локализованный вывод чисел выключен.\n"
 
-#: command.c:2694
+#: command.c:2816
 #, c-format
 msgid "Pager is used for long output.\n"
 msgstr "Постраничник используется для вывода длинного текста.\n"
 
-#: command.c:2696
+#: command.c:2818
 #, c-format
 msgid "Pager is always used.\n"
 msgstr "Постраничник используется всегда.\n"
 
-#: command.c:2698
+#: command.c:2820
 #, c-format
 msgid "Pager usage is off.\n"
 msgstr "Постраничник выключен.\n"
 
-#: command.c:2704
+#: command.c:2826
 #, c-format
 msgid "Pager won't be used for less than %d line.\n"
 msgid_plural "Pager won't be used for less than %d lines.\n"
@@ -551,82 +613,87 @@ msgstr[0] "Постраничник не будет использоваться
 msgstr[1] "Постраничник не будет использоваться, если строк меньше %d\n"
 msgstr[2] "Постраничник не будет использоваться, если строк меньше %d\n"
 
-#: command.c:2714 command.c:2724
+#: command.c:2836 command.c:2846
 #, c-format
 msgid "Record separator is zero byte.\n"
 msgstr "Разделитель записей - нулевой байт.\n"
 
-#: command.c:2716
+#: command.c:2838
 #, c-format
 msgid "Record separator is <newline>.\n"
 msgstr "Разделитель записей: <новая строка>.\n"
 
-#: command.c:2718
+#: command.c:2840
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "Разделитель записей: \"%s\".\n"
 
-#: command.c:2731
+#: command.c:2853
 #, c-format
 msgid "Table attributes are \"%s\".\n"
 msgstr "Атрибуты HTML-таблицы: \"%s\".\n"
 
-#: command.c:2734
+#: command.c:2856
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "Атрибуты HTML-таблицы не заданы.\n"
 
-#: command.c:2741
+#: command.c:2863
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "Заголовок: \"%s\".\n"
 
-#: command.c:2743
+#: command.c:2865
 #, c-format
 msgid "Title is unset.\n"
 msgstr "Заголовок не задан.\n"
 
-#: command.c:2750
+#: command.c:2872
 #, c-format
 msgid "Tuples only is on.\n"
 msgstr "Режим вывода только кортежей включён.\n"
 
-#: command.c:2752
+#: command.c:2874
 #, c-format
 msgid "Tuples only is off.\n"
 msgstr "Режим вывода только кортежей выключен.\n"
 
-#: command.c:2758
+#: command.c:2880
 #, c-format
 msgid "Unicode border line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий границ: \"%s\".\n"
 
-#: command.c:2764
+#: command.c:2886
 #, c-format
 msgid "Unicode column line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий столбцов: \"%s\".\n"
 
-#: command.c:2770
+#: command.c:2892
 #, c-format
 msgid "Unicode header line style is \"%s\".\n"
 msgstr "Стиль Unicode-линий границ: \"%s\".\n"
 
-#: command.c:2930
+#: command.c:3052
 #, c-format
 msgid "\\!: failed\n"
 msgstr "\\!: ошибка\n"
 
-#: command.c:2950 common.c:567
+#: command.c:3076 common.c:658
 #, c-format
 msgid "\\watch cannot be used with an empty query\n"
 msgstr "\\watch нельзя использовать с пустым запросом\n"
 
-#: command.c:2971
+#: command.c:3113
+#, c-format
+msgid "%s\t%s (every %gs)\n"
+msgstr "%s\t%s (обновление: %gс)\n"
+
+#: command.c:3116
 #, c-format
-msgid "Watch every %lds\t%s"
-msgstr "Повтор запрос через %ld сек.\t%s"
+msgid "%s (every %gs)\n"
+msgstr "%s (обновление: %gс)\n"
 
-#: command.c:3022 command.c:3029 common.c:467 common.c:474 common.c:1003
+#: command.c:3170 command.c:3177 common.c:558 common.c:565 common.c:1172
 #, c-format
 msgid ""
 "********* QUERY **********\n"
@@ -639,47 +706,62 @@ msgstr ""
 "**************************\n"
 "\n"
 
-#: common.c:306
+#: command.c:3369
+#, c-format
+msgid "\"%s.%s\" is not a view\n"
+msgstr "\"%s.%s\" - не представление\n"
+
+#: command.c:3385
+#, c-format
+msgid "could not parse reloptions array\n"
+msgstr "не удалось разобрать массив reloptions\n"
+
+#: common.c:137
+#, c-format
+msgid "cannot escape without active connection\n"
+msgstr "экранирование строк не работает без подключения к БД\n"
+
+#: common.c:370
 #, c-format
 msgid "connection to server was lost\n"
 msgstr "подключение к серверу было потеряно\n"
 
-#: common.c:310
+#: common.c:374
 #, c-format
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "Подключение к серверу потеряно. Попытка восстановления "
 
-#: common.c:315
+#: common.c:379
 #, c-format
 msgid "Failed.\n"
 msgstr "неудачна.\n"
 
-#: common.c:322
+#: common.c:386
 #, c-format
 msgid "Succeeded.\n"
 msgstr "удачна.\n"
 
-#: common.c:422 common.c:774 common.c:942
+#: common.c:486 common.c:935 common.c:1107
 #, c-format
 msgid "unexpected PQresultStatus: %d\n"
 msgstr "неожиданное значение PQresultStatus: %d\n"
 
-#: common.c:574
+#: common.c:665
 #, c-format
 msgid "\\watch cannot be used with COPY\n"
 msgstr "\\watch нельзя использовать с COPY\n"
 
-#: common.c:579
+#: common.c:670
 #, c-format
 msgid "unexpected result status for \\watch\n"
 msgstr "неожиданное состояние результата для \\watch\n"
 
-#: common.c:590 common.c:1161
+#: common.c:681 common.c:1331
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "Время: %.3f мс\n"
 
-#: common.c:608
+#: common.c:699
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" with payload \"%s\" received from server "
@@ -688,29 +770,29 @@ msgstr ""
 "Получено асинхронное уведомление \"%s\" с сообщением-нагрузкой \"%s\" от "
 "серверного процесса с PID %d.\n"
 
-#: common.c:611
+#: common.c:702
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr ""
 "Получено асинхронное уведомление \"%s\" от серверного процесса с PID %d.\n"
 
-#: common.c:669
+#: common.c:760
 #, c-format
 msgid "no rows returned for \\gset\n"
 msgstr "сервер не возвратил строк для \\gset\n"
 
-#: common.c:674
+#: common.c:765
 #, c-format
 msgid "more than one row returned for \\gset\n"
 msgstr "сервер возвратил больше одной строки для \\gset\n"
 
-#: common.c:700
+#: common.c:791
 #, c-format
 msgid "could not set variable \"%s\"\n"
 msgstr "не удалось установить переменную \"%s\"\n"
 
-#: common.c:985
+#: common.c:1152
 #, c-format
 msgid ""
 "***(Single step mode: verify "
@@ -724,7 +806,7 @@ msgstr ""
 "%s\n"
 "***(Enter - выполнение; x и Enter - отмена)**************\n"
 
-#: common.c:1036
+#: common.c:1205
 #, c-format
 msgid ""
 "The server (version %d.%d) does not support savepoints for "
@@ -733,66 +815,66 @@ msgstr ""
 "Сервер (версия %d.%d) не поддерживает точки сохранения для "
 "ON_ERROR_ROLLBACK.\n"
 
-#: common.c:1090
+#: common.c:1260
 #, c-format
 msgid "STATEMENT:  %s\n"
 msgstr "ОПЕРАТОР:  %s\n"
 
-#: common.c:1133
+#: common.c:1303
 #, c-format
 msgid "unexpected transaction status (%d)\n"
 msgstr "неожиданное состояние транзакции (%d)\n"
 
-#: copy.c:98
+#: copy.c:99
 #, c-format
 msgid "\\copy: arguments required\n"
 msgstr "укажите аргументы \\copy\n"
 
-#: copy.c:253
+#: copy.c:254
 #, c-format
 msgid "\\copy: parse error at \"%s\"\n"
 msgstr "\\copy: ошибка разбора аргумента \"%s\"\n"
 
-#: copy.c:255
+#: copy.c:256
 #, c-format
 msgid "\\copy: parse error at end of line\n"
 msgstr "\\copy: ошибка разбора в конце строки\n"
 
-#: copy.c:328
+#: copy.c:329
 #, c-format
 msgid "could not execute command \"%s\": %s\n"
 msgstr "не удалось выполнить команду \"%s\": %s\n"
 
-#: copy.c:344
+#: copy.c:345
 #, c-format
 msgid "could not stat file \"%s\": %s\n"
 msgstr "не удалось получить информацию о файле \"%s\": %s\n"
 
-#: copy.c:348
+#: copy.c:349
 #, c-format
 msgid "%s: cannot copy from/to a directory\n"
 msgstr "COPY FROM/TO не может работать с каталогом (%s)\n"
 
-#: copy.c:385
+#: copy.c:386
 #, c-format
 msgid "could not close pipe to external command: %s\n"
 msgstr "не удалось закрыть канал сообщений с внешней командой: %s\n"
 
-#: copy.c:451 copy.c:462
+#: copy.c:452 copy.c:463
 #, c-format
 msgid "could not write COPY data: %s\n"
 msgstr "не удалось записать данные COPY: %s\n"
 
-#: copy.c:469
+#: copy.c:470
 #, c-format
 msgid "COPY data transfer failed: %s"
 msgstr "ошибка передачи данных COPY: %s"
 
-#: copy.c:530
+#: copy.c:531
 msgid "canceled by user"
 msgstr "отменено пользователем"
 
-#: copy.c:541
+#: copy.c:542
 msgid ""
 "Enter data to be copied followed by a newline.\n"
 "End with a backslash and a period on a line by itself."
@@ -800,48 +882,106 @@ msgstr ""
 "Вводите данные для копирования, разделяя строки переводом строки.\n"
 "Закончите ввод строкой '\\.'."
 
-#: copy.c:670
+#: copy.c:671
 msgid "aborted because of read failure"
 msgstr "прерывание из-за ошибки чтения"
 
-#: copy.c:694
+#: copy.c:695
 msgid "trying to exit copy mode"
 msgstr "попытка выйти из режима копирования"
 
-#: describe.c:71 describe.c:264 describe.c:496 describe.c:626 describe.c:769
-#: describe.c:886 describe.c:956 describe.c:2928 describe.c:3133
-#: describe.c:3223 describe.c:3468 describe.c:3605 describe.c:3834
-#: describe.c:3906 describe.c:3917 describe.c:3976 describe.c:4384
-#: describe.c:4463
+#: crosstabview.c:125
+#, c-format
+msgid "\\crosstabview: query must return results to be shown in crosstab\n"
+msgstr ""
+"\\crosstabview: запрос должен возвращать результаты для вывода в перекрёстном"
+" виде\n"
+
+#: crosstabview.c:131
+#, c-format
+msgid "\\crosstabview: query must return at least three columns\n"
+msgstr "\\crosstabview: запрос должен возвращать минимум три столбца\n"
+
+#: crosstabview.c:158
+#, c-format
+msgid ""
+"\\crosstabview: vertical and horizontal headers must be different columns\n"
+msgstr ""
+"\\crosstabview: для вертикальных и горизонтальных заголовков должны"
+" задаваться разные столбцы\n"
+
+#: crosstabview.c:174
+#, c-format
+msgid ""
+"\\crosstabview: data column must be specified when query returns more than "
+"three columns\n"
+msgstr ""
+"\\crosstabview: когда запрос возвращает больше трёх столбцов, необходимо"
+" указать столбец данных\n"
+
+#: crosstabview.c:230
+#, c-format
+msgid "\\crosstabview: maximum number of columns (%d) exceeded\n"
+msgstr "\\crosstabview: превышен максимум числа столбцов (%d)\n"
+
+#: crosstabview.c:398
+#, c-format
+msgid ""
+"\\crosstabview: query result contains multiple data values for row \"%s\", "
+"column \"%s\"\n"
+msgstr ""
+"\\crosstabview: в результатах запроса содержится несколько значений данных"
+" для строки \"%s\", столбца \"%s\"\n"
+
+#: crosstabview.c:646
+#, c-format
+msgid "\\crosstabview: invalid column number: \"%s\"\n"
+msgstr "\\crosstabview: неверный номер столбца: \"%s\"\n"
+
+#: crosstabview.c:670
+#, c-format
+msgid "\\crosstabview: ambiguous column name: \"%s\"\n"
+msgstr "\\crosstabview: неоднозначное имя столбца: \"%s\"\n"
+
+#: crosstabview.c:678
+#, c-format
+msgid "\\crosstabview: column name not found: \"%s\"\n"
+msgstr "\\crosstabview: имя столбца не найдено: \"%s\"\n"
+
+#: describe.c:71 describe.c:328 describe.c:560 describe.c:690 describe.c:833
+#: describe.c:950 describe.c:1020 describe.c:2995 describe.c:3200
+#: describe.c:3290 describe.c:3535 describe.c:3672 describe.c:3901
+#: describe.c:3973 describe.c:3984 describe.c:4043 describe.c:4451
+#: describe.c:4531
 msgid "Schema"
 msgstr "Схема"
 
-#: describe.c:72 describe.c:156 describe.c:164 describe.c:265 describe.c:497
-#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2929
-#: describe.c:3055 describe.c:3134 describe.c:3224 describe.c:3303
-#: describe.c:3469 describe.c:3533 describe.c:3606 describe.c:3835
-#: describe.c:3907 describe.c:3918 describe.c:3977 describe.c:4166
-#: describe.c:4247 describe.c:4461
+#: describe.c:72 describe.c:157 describe.c:220 describe.c:228 describe.c:329
+#: describe.c:561 describe.c:691 describe.c:752 describe.c:834 describe.c:1021
+#: describe.c:2996 describe.c:3122 describe.c:3201 describe.c:3291
+#: describe.c:3370 describe.c:3536 describe.c:3600 describe.c:3673
+#: describe.c:3902 describe.c:3974 describe.c:3985 describe.c:4044
+#: describe.c:4233 describe.c:4314 describe.c:4529
 msgid "Name"
 msgstr "Имя"
 
-#: describe.c:73 describe.c:277 describe.c:323 describe.c:340
+#: describe.c:73 describe.c:341 describe.c:387 describe.c:404
 msgid "Result data type"
 msgstr "Тип данных результата"
 
-#: describe.c:81 describe.c:94 describe.c:98 describe.c:278 describe.c:324
-#: describe.c:341
+#: describe.c:81 describe.c:94 describe.c:98 describe.c:342 describe.c:388
+#: describe.c:405
 msgid "Argument data types"
 msgstr "Типы данных аргументов"
 
-#: describe.c:105 describe.c:187 describe.c:370 describe.c:545 describe.c:642
-#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2729
-#: describe.c:2962 describe.c:3086 describe.c:3160 describe.c:3233
-#: describe.c:3316 describe.c:3384 describe.c:3476 describe.c:3542
-#: describe.c:3607 describe.c:3743 describe.c:3783 describe.c:3851
-#: describe.c:3910 describe.c:3919 describe.c:3978 describe.c:4192
-#: describe.c:4269 describe.c:4398 describe.c:4464 large_obj.c:289
-#: large_obj.c:299
+#: describe.c:105 describe.c:167 describe.c:251 describe.c:434 describe.c:609
+#: describe.c:706 describe.c:777 describe.c:1023 describe.c:1636
+#: describe.c:2796 describe.c:3029 describe.c:3153 describe.c:3227
+#: describe.c:3300 describe.c:3383 describe.c:3451 describe.c:3543
+#: describe.c:3609 describe.c:3674 describe.c:3810 describe.c:3850
+#: describe.c:3918 describe.c:3977 describe.c:3986 describe.c:4045
+#: describe.c:4259 describe.c:4336 describe.c:4465 describe.c:4532
+#: large_obj.c:289 large_obj.c:299
 msgid "Description"
 msgstr "Описание"
 
@@ -849,561 +989,578 @@ msgstr "Описание"
 msgid "List of aggregate functions"
 msgstr "Список агрегатных функций"
 
-#: describe.c:144
+#: describe.c:145
+#, c-format
+msgid "The server (version %d.%d) does not support access methods.\n"
+msgstr "Сервер (версия %d.%d) не поддерживает методы доступа.\n"
+
+#: describe.c:158
+msgid "Index"
+msgstr "Индекс"
+
+#: describe.c:159 describe.c:348 describe.c:393 describe.c:410 describe.c:840
+#: describe.c:959 describe.c:1605 describe.c:3004 describe.c:3202
+#: describe.c:4333
+msgid "Type"
+msgstr "Тип"
+
+#: describe.c:166 describe.c:4238
+msgid "Handler"
+msgstr "Обработчик"
+
+#: describe.c:185
+msgid "List of access methods"
+msgstr "Список методов доступа"
+
+#: describe.c:208
 #, c-format
 msgid "The server (version %d.%d) does not support tablespaces.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает табличные пространства.\n"
 
-#: describe.c:157 describe.c:165 describe.c:367 describe.c:535 describe.c:689
-#: describe.c:885 describe.c:2938 describe.c:3059 describe.c:3305
-#: describe.c:3534 describe.c:4167 describe.c:4248 large_obj.c:288
+#: describe.c:221 describe.c:229 describe.c:431 describe.c:599 describe.c:753
+#: describe.c:949 describe.c:3005 describe.c:3126 describe.c:3372
+#: describe.c:3601 describe.c:4234 describe.c:4315 large_obj.c:288
 msgid "Owner"
 msgstr "Владелец"
 
-#: describe.c:158 describe.c:166
+#: describe.c:222 describe.c:230
 msgid "Location"
 msgstr "Расположение"
 
-#: describe.c:177 describe.c:2543
+#: describe.c:241 describe.c:2607
 msgid "Options"
 msgstr "Параметры"
 
-#: describe.c:182 describe.c:508 describe.c:705 describe.c:2954
-#: describe.c:2958
+#: describe.c:246 describe.c:572 describe.c:769 describe.c:3021 describe.c:3025
 msgid "Size"
 msgstr "Размер"
 
-#: describe.c:204
+#: describe.c:268
 msgid "List of tablespaces"
 msgstr "Список табличных пространств"
 
-#: describe.c:241
+#: describe.c:305
 #, c-format
 msgid "\\df only takes [antwS+] as options\n"
 msgstr "\\df принимает в качестве параметров только [antwS+]\n"
 
-#: describe.c:247
+#: describe.c:311
 #, c-format
 msgid "\\df does not take a \"w\" option with server version %d.%d\n"
 msgstr "\\df не поддерживает параметр \"w\" с сервером версии %d.%d\n"
 
 #. translator: "agg" is short for "aggregate"
-#: describe.c:280 describe.c:326 describe.c:343
+#: describe.c:344 describe.c:390 describe.c:407
 msgid "agg"
 msgstr "агр."
 
-#: describe.c:281
+#: describe.c:345
 msgid "window"
 msgstr "оконная"
 
-#: describe.c:282 describe.c:327 describe.c:344 describe.c:1093
+#: describe.c:346 describe.c:391 describe.c:408 describe.c:1157
 msgid "trigger"
 msgstr "триггерная"
 
-#: describe.c:283 describe.c:328 describe.c:345
+#: describe.c:347 describe.c:392 describe.c:409
 msgid "normal"
 msgstr "обычная"
 
-#: describe.c:284 describe.c:329 describe.c:346 describe.c:776 describe.c:895
-#: describe.c:1541 describe.c:2937 describe.c:3135 describe.c:4266
-msgid "Type"
-msgstr "Тип"
-
-#: describe.c:360
+#: describe.c:424
 msgid "definer"
 msgstr "определившего"
 
-#: describe.c:361
+#: describe.c:425
 msgid "invoker"
 msgstr "вызывающего"
 
-#: describe.c:362
+#: describe.c:426
 msgid "Security"
 msgstr "Безопасность"
 
-#: describe.c:363
+#: describe.c:427
 msgid "immutable"
 msgstr "постоянная "
 
-#: describe.c:364
+#: describe.c:428
 msgid "stable"
 msgstr "стабильная"
 
-#: describe.c:365
+#: describe.c:429
 msgid "volatile"
 msgstr "изменчивая"
 
-#: describe.c:366
+#: describe.c:430
 msgid "Volatility"
 msgstr "Изменчивость"
 
-#: describe.c:368
+#: describe.c:432
 msgid "Language"
 msgstr "Язык"
 
-#: describe.c:369
+#: describe.c:433
 msgid "Source code"
 msgstr "Исходный код"
 
-#: describe.c:467
+#: describe.c:531
 msgid "List of functions"
 msgstr "Список функций"
 
-#: describe.c:507
+#: describe.c:571
 msgid "Internal name"
 msgstr "Внутреннее имя"
 
-#: describe.c:529
+#: describe.c:593
 msgid "Elements"
 msgstr "Элементы"
 
-#: describe.c:585
+#: describe.c:649
 msgid "List of data types"
 msgstr "Список типов данных"
 
-#: describe.c:628
+#: describe.c:692
 msgid "Left arg type"
 msgstr "Тип левого аргумента"
 
-#: describe.c:629
+#: describe.c:693
 msgid "Right arg type"
 msgstr "Тип правого аргумента"
 
-#: describe.c:630
+#: describe.c:694
 msgid "Result type"
 msgstr "Результирующий тип"
 
-#: describe.c:635 describe.c:3375 describe.c:3742
+#: describe.c:699 describe.c:3442 describe.c:3809
 msgid "Function"
 msgstr "Функция"
 
-#: describe.c:660
+#: describe.c:724
 msgid "List of operators"
 msgstr "Список операторов"
 
-#: describe.c:690
+#: describe.c:754
 msgid "Encoding"
 msgstr "Кодировка"
 
-#: describe.c:695 describe.c:3470
+#: describe.c:759 describe.c:3537
 msgid "Collate"
 msgstr "LC_COLLATE"
 
-#: describe.c:696 describe.c:3471
+#: describe.c:760 describe.c:3538
 msgid "Ctype"
 msgstr "LC_CTYPE"
 
-#: describe.c:709
+#: describe.c:773
 msgid "Tablespace"
 msgstr "Табл. пространство"
 
-#: describe.c:731
+#: describe.c:795
 msgid "List of databases"
 msgstr "Список баз данных"
 
-#: describe.c:771 describe.c:888 describe.c:2930
+#: describe.c:835 describe.c:952 describe.c:2997
 msgid "table"
 msgstr "таблица"
 
-#: describe.c:772 describe.c:2931
+#: describe.c:836 describe.c:2998
 msgid "view"
 msgstr "представление"
 
-#: describe.c:773 describe.c:2932
+#: describe.c:837 describe.c:2999
 msgid "materialized view"
 msgstr "материализованное представление"
 
-#: describe.c:774 describe.c:890 describe.c:2934
+#: describe.c:838 describe.c:954 describe.c:3001
 msgid "sequence"
 msgstr "последовательность"
 
-#: describe.c:775 describe.c:2936
+#: describe.c:839 describe.c:3003
 msgid "foreign table"
 msgstr "сторонняя таблица"
 
-#: describe.c:787
+#: describe.c:851
 msgid "Column privileges"
 msgstr "Права для столбцов"
 
-#: describe.c:818
+#: describe.c:882
 msgid "Policies"
 msgstr "Политики"
 
-#: describe.c:844 describe.c:4608 describe.c:4612
+#: describe.c:908 describe.c:4676 describe.c:4680
 msgid "Access privileges"
 msgstr "Права доступа"
 
-#: describe.c:873
+#: describe.c:937
 #, c-format
 msgid ""
 "The server (version %d.%d) does not support altering default privileges.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает изменение прав по умолчанию.\n"
 
-#: describe.c:892
+#: describe.c:956
 msgid "function"
 msgstr "функция"
 
-#: describe.c:894
+#: describe.c:958
 msgid "type"
 msgstr "тип"
 
-#: describe.c:918
+#: describe.c:982
 msgid "Default access privileges"
 msgstr "Права доступа по умолчанию"
 
-#: describe.c:958
+#: describe.c:1022
 msgid "Object"
 msgstr "Объект"
 
-#: describe.c:972
+#: describe.c:1036
 msgid "table constraint"
 msgstr "ограничение таблицы"
 
-#: describe.c:994
+#: describe.c:1058
 msgid "domain constraint"
 msgstr "ограничение домена"
 
-#: describe.c:1022
+#: describe.c:1086
 msgid "operator class"
 msgstr "класс операторов"
 
-#: describe.c:1051
+#: describe.c:1115
 msgid "operator family"
 msgstr "семейство операторов"
 
-#: describe.c:1073
+#: describe.c:1137
 msgid "rule"
 msgstr "правило"
 
-#: describe.c:1115
+#: describe.c:1179
 msgid "Object descriptions"
 msgstr "Описание объекта"
 
-#: describe.c:1169
+#: describe.c:1233
 #, c-format
 msgid "Did not find any relation named \"%s\".\n"
 msgstr "Отношение \"%s\" не найдено.\n"
 
-#: describe.c:1379
+#: describe.c:1443
 #, c-format
 msgid "Did not find any relation with OID %s.\n"
 msgstr "Отношение с OID %s не найдено.\n"
 
-#: describe.c:1485
+#: describe.c:1549
 #, c-format
 msgid "Unlogged table \"%s.%s\""
 msgstr "Нежурналируемая таблица \"%s.%s\""
 
-#: describe.c:1488
+#: describe.c:1552
 #, c-format
 msgid "Table \"%s.%s\""
 msgstr "Таблица \"%s.%s\""
 
-#: describe.c:1492
+#: describe.c:1556
 #, c-format
 msgid "View \"%s.%s\""
 msgstr "Представление \"%s.%s\""
 
-#: describe.c:1497
+#: describe.c:1561
 #, c-format
 msgid "Unlogged materialized view \"%s.%s\""
 msgstr "Нежурналируемое материализованное представление \"%s.%s\""
 
-#: describe.c:1500
+#: describe.c:1564
 #, c-format
 msgid "Materialized view \"%s.%s\""
 msgstr "Материализованное представление \"%s.%s\""
 
-#: describe.c:1504
+#: describe.c:1568
 #, c-format
 msgid "Sequence \"%s.%s\""
 msgstr "Последовательность \"%s.%s\""
 
-#: describe.c:1509
+#: describe.c:1573
 #, c-format
 msgid "Unlogged index \"%s.%s\""
 msgstr "Нежурналируемый индекс \"%s.%s\""
 
-#: describe.c:1512
+#: describe.c:1576
 #, c-format
 msgid "Index \"%s.%s\""
 msgstr "Индекс \"%s.%s\""
 
-#: describe.c:1517
+#: describe.c:1581
 #, c-format
 msgid "Special relation \"%s.%s\""
 msgstr "Специальное отношение \"%s.%s\""
 
-#: describe.c:1521
+#: describe.c:1585
 #, c-format
 msgid "TOAST table \"%s.%s\""
 msgstr "TOAST-таблица \"%s.%s\""
 
-#: describe.c:1525
+#: describe.c:1589
 #, c-format
 msgid "Composite type \"%s.%s\""
 msgstr "Составной тип \"%s.%s\""
 
-#: describe.c:1529
+#: describe.c:1593
 #, c-format
 msgid "Foreign table \"%s.%s\""
 msgstr "Сторонняя таблица \"%s.%s\""
 
-#: describe.c:1540
+#: describe.c:1604
 msgid "Column"
 msgstr "Столбец"
 
-#: describe.c:1549
+#: describe.c:1613
 msgid "Modifiers"
 msgstr "Модификаторы"
 
-#: describe.c:1554
+#: describe.c:1618
 msgid "Value"
 msgstr "Значение"
 
-#: describe.c:1557
+#: describe.c:1621
 msgid "Definition"
 msgstr "Определение"
 
-#: describe.c:1560 describe.c:4187 describe.c:4268 describe.c:4336
-#: describe.c:4397
+#: describe.c:1624 describe.c:4254 describe.c:4335 describe.c:4403
+#: describe.c:4464
 msgid "FDW Options"
 msgstr "Параметры ОСД"
 
-#: describe.c:1564
+#: describe.c:1628
 msgid "Storage"
 msgstr "Хранилище"
 
-#: describe.c:1567
+#: describe.c:1631
 msgid "Stats target"
 msgstr "Цель для статистики"
 
-#: describe.c:1617
+#: describe.c:1681
 #, c-format
 msgid "collate %s"
 msgstr "правило сортировки %s"
 
-#: describe.c:1625
+#: describe.c:1689
 msgid "not null"
 msgstr "NOT NULL"
 
 #. translator: default values of column definitions
-#: describe.c:1635
+#: describe.c:1699
 #, c-format
 msgid "default %s"
 msgstr "DEFAULT %s"
 
-#: describe.c:1750
+#: describe.c:1814
 msgid "primary key, "
 msgstr "первичный ключ, "
 
-#: describe.c:1752
+#: describe.c:1816
 msgid "unique, "
 msgstr "уникальный, "
 
-#: describe.c:1758
+#: describe.c:1822
 #, c-format
 msgid "for table \"%s.%s\""
 msgstr "для таблицы \"%s.%s\""
 
-#: describe.c:1762
+#: describe.c:1826
 #, c-format
 msgid ", predicate (%s)"
 msgstr ", предикат (%s)"
 
-#: describe.c:1765
+#: describe.c:1829
 msgid ", clustered"
 msgstr ", кластеризованный"
 
-#: describe.c:1768
+#: describe.c:1832
 msgid ", invalid"
 msgstr ", нерабочий"
 
-#: describe.c:1771
+#: describe.c:1835
 msgid ", deferrable"
 msgstr ", откладываемый"
 
-#: describe.c:1774
+#: describe.c:1838
 msgid ", initially deferred"
 msgstr ", изначально отложенный"
 
-#: describe.c:1777
+#: describe.c:1841
 msgid ", replica identity"
 msgstr ", репликационный"
 
-#: describe.c:1812
+#: describe.c:1876
 #, c-format
 msgid "Owned by: %s"
 msgstr "Владелец: %s"
 
-#: describe.c:1872
+#: describe.c:1936
 msgid "Indexes:"
 msgstr "Индексы:"
 
-#: describe.c:1956
+#: describe.c:2020
 msgid "Check constraints:"
 msgstr "Ограничения-проверки:"
 
 # TO REWVIEW
-#: describe.c:1987
+#: describe.c:2051
 msgid "Foreign-key constraints:"
 msgstr "Ограничения внешнего ключа:"
 
-#: describe.c:2018
+#: describe.c:2082
 msgid "Referenced by:"
 msgstr "Ссылки извне:"
 
-#: describe.c:2063
+#: describe.c:2127
 msgid "Policies:"
 msgstr "Политики:"
 
-#: describe.c:2066
+#: describe.c:2130
 msgid "Policies (forced row security enabled):"
 msgstr "Политики (усиленная защита строк включена):"
 
-#: describe.c:2069
+#: describe.c:2133
 msgid "Policies (row security enabled): (none)"
 msgstr "Политики (защита строк включена): (Нет)"
 
-#: describe.c:2072
+#: describe.c:2136
 msgid "Policies (forced row security enabled): (none)"
 msgstr "Политики (усиленная защита строк включена): (Нет)"
 
-#: describe.c:2075
+#: describe.c:2139
 msgid "Policies (row security disabled):"
 msgstr "Политики (защита строк выключена):"
 
-#: describe.c:2175 describe.c:2225
+#: describe.c:2239 describe.c:2289
 msgid "Rules:"
 msgstr "Правила:"
 
-#: describe.c:2178
+#: describe.c:2242
 msgid "Disabled rules:"
 msgstr "Отключенные правила:"
 
-#: describe.c:2181
+#: describe.c:2245
 msgid "Rules firing always:"
 msgstr "Правила, срабатывающие всегда:"
 
-#: describe.c:2184
+#: describe.c:2248
 msgid "Rules firing on replica only:"
 msgstr "Правила, срабатывающие только в реплике:"
 
-#: describe.c:2208
+#: describe.c:2272
 msgid "View definition:"
 msgstr "Определение представления:"
 
-#: describe.c:2343
+#: describe.c:2407
 msgid "Triggers:"
 msgstr "Триггеры:"
 
-#: describe.c:2347
+#: describe.c:2411
 msgid "Disabled user triggers:"
 msgstr "Отключенные пользовательские триггеры:"
 
-#: describe.c:2349
+#: describe.c:2413
 msgid "Disabled triggers:"
 msgstr "Отключенные триггеры:"
 
-#: describe.c:2352
+#: describe.c:2416
 msgid "Disabled internal triggers:"
 msgstr "Отключенные внутренние триггеры:"
 
-#: describe.c:2355
+#: describe.c:2419
 msgid "Triggers firing always:"
 msgstr "Триггеры, срабатывающие всегда:"
 
-#: describe.c:2358
+#: describe.c:2422
 msgid "Triggers firing on replica only:"
 msgstr "Триггеры, срабатывающие только в реплике:"
 
-#: describe.c:2437
+#: describe.c:2501
 msgid "Inherits"
 msgstr "Наследует"
 
-#: describe.c:2476
+#: describe.c:2540
 #, c-format
 msgid "Number of child tables: %d (Use \\d+ to list them.)"
 msgstr "Дочерних таблиц: %d (чтобы просмотреть и их, воспользуйтесь \\d+)"
 
-#: describe.c:2483
+#: describe.c:2547
 msgid "Child tables"
 msgstr "Дочерние таблицы"
 
-#: describe.c:2505
+#: describe.c:2569
 #, c-format
 msgid "Typed table of type: %s"
 msgstr "Типизированная таблица типа: %s"
 
-#: describe.c:2519
+#: describe.c:2583
 msgid "Replica Identity"
 msgstr "Идентификация реплики"
 
-#: describe.c:2532
+#: describe.c:2596
 msgid "Has OIDs: yes"
 msgstr "Содержит OID: да"
 
-#: describe.c:2620
+#: describe.c:2684
 #, c-format
 msgid "Tablespace: \"%s\""
 msgstr "Табличное пространство: \"%s\""
 
 #. translator: before this string there's an index description like
 #. '"foo_pkey" PRIMARY KEY, btree (a)'
-#: describe.c:2632
+#: describe.c:2696
 #, c-format
 msgid ", tablespace \"%s\""
 msgstr ", табл. пространство \"%s\""
 
-#: describe.c:2722
+#: describe.c:2789
 msgid "List of roles"
 msgstr "Список ролей"
 
-#: describe.c:2724
+#: describe.c:2791
 msgid "Role name"
 msgstr "Имя роли"
 
-#: describe.c:2725
+#: describe.c:2792
 msgid "Attributes"
 msgstr "Атрибуты"
 
-#: describe.c:2726
+#: describe.c:2793
 msgid "Member of"
 msgstr "Член ролей"
 
-#: describe.c:2737
+#: describe.c:2804
 msgid "Superuser"
 msgstr "Суперпользователь"
 
-#: describe.c:2740
+#: describe.c:2807
 msgid "No inheritance"
 msgstr "Не наследуется"
 
-#: describe.c:2743
+#: describe.c:2810
 msgid "Create role"
 msgstr "Создаёт роли"
 
-#: describe.c:2746
+#: describe.c:2813
 msgid "Create DB"
 msgstr "Создаёт БД"
 
-#: describe.c:2749
+#: describe.c:2816
 msgid "Cannot login"
 msgstr "Вход запрещён"
 
-#: describe.c:2753
+#: describe.c:2820
 msgid "Replication"
 msgstr "Репликация"
 
-#: describe.c:2757
+#: describe.c:2824
 msgid "Bypass RLS"
 msgstr "Пропускать RLS"
 
-#: describe.c:2766
+#: describe.c:2833
 msgid "No connections"
 msgstr "Нет подключений"
 
-#: describe.c:2768
+#: describe.c:2835
 #, c-format
 msgid "%d connection"
 msgid_plural "%d connections"
@@ -1411,311 +1568,311 @@ msgstr[0] "%d подключение"
 msgstr[1] "%d подключения"
 msgstr[2] "%d подключений"
 
-#: describe.c:2778
+#: describe.c:2845
 msgid "Password valid until "
 msgstr "Пароль действует до "
 
-#: describe.c:2834
+#: describe.c:2901
 msgid "Role"
 msgstr "Роль"
 
-#: describe.c:2835
+#: describe.c:2902
 msgid "Database"
 msgstr "БД"
 
-#: describe.c:2836
+#: describe.c:2903
 msgid "Settings"
 msgstr "Параметры"
 
-#: describe.c:2846
+#: describe.c:2913
 #, c-format
 msgid "No per-database role settings support in this server version.\n"
 msgstr ""
 "Это версия сервера не поддерживает параметры ролей на уровне базы данных.\n"
 
-#: describe.c:2857
+#: describe.c:2924
 #, c-format
 msgid "No matching settings found.\n"
 msgstr "Соответствующие параметры не найдены.\n"
 
-#: describe.c:2859
+#: describe.c:2926
 #, c-format
 msgid "No settings found.\n"
 msgstr "Параметры не найдены.\n"
 
-#: describe.c:2864
+#: describe.c:2931
 msgid "List of settings"
 msgstr "Список параметров"
 
-#: describe.c:2933
+#: describe.c:3000
 msgid "index"
 msgstr "индекс"
 
-#: describe.c:2935
+#: describe.c:3002
 msgid "special"
 msgstr "спец. отношение"
 
-#: describe.c:2943 describe.c:4385
+#: describe.c:3010 describe.c:4452
 msgid "Table"
 msgstr "Таблица"
 
-#: describe.c:3019
+#: describe.c:3086
 #, c-format
 msgid "No matching relations found.\n"
 msgstr "Соответствующие отношения не найдены.\n"
 
-#: describe.c:3021
+#: describe.c:3088
 #, c-format
 msgid "No relations found.\n"
 msgstr "Отношения не найдены.\n"
 
-#: describe.c:3026
+#: describe.c:3093
 msgid "List of relations"
 msgstr "Список отношений"
 
-#: describe.c:3063
+#: describe.c:3130
 msgid "Trusted"
 msgstr "Доверенный"
 
-#: describe.c:3071
+#: describe.c:3138
 msgid "Internal Language"
 msgstr "Внутренний язык"
 
-#: describe.c:3072
+#: describe.c:3139
 msgid "Call Handler"
 msgstr "Обработчик вызова"
 
-#: describe.c:3073 describe.c:4174
+#: describe.c:3140 describe.c:4241
 msgid "Validator"
 msgstr "Функция проверки"
 
-#: describe.c:3076
+#: describe.c:3143
 msgid "Inline Handler"
 msgstr "Обработчик внедрённого кода"
 
-#: describe.c:3104
+#: describe.c:3171
 msgid "List of languages"
 msgstr "Список языков"
 
-#: describe.c:3148
+#: describe.c:3215
 msgid "Modifier"
 msgstr "Модификатор"
 
-#: describe.c:3149
+#: describe.c:3216
 msgid "Check"
 msgstr "Проверка"
 
-#: describe.c:3191
+#: describe.c:3258
 msgid "List of domains"
 msgstr "Список доменов"
 
-#: describe.c:3225
+#: describe.c:3292
 msgid "Source"
 msgstr "Источник"
 
-#: describe.c:3226
+#: describe.c:3293
 msgid "Destination"
 msgstr "Назначение"
 
-#: describe.c:3227 describe.c:3376
+#: describe.c:3294 describe.c:3443
 msgid "no"
 msgstr "нет"
 
-#: describe.c:3227 describe.c:3378
+#: describe.c:3294 describe.c:3445
 msgid "yes"
 msgstr "да"
 
-#: describe.c:3228
+#: describe.c:3295
 msgid "Default?"
 msgstr "По умолчанию?"
 
-#: describe.c:3265
+#: describe.c:3332
 msgid "List of conversions"
 msgstr "Список преобразований"
 
-#: describe.c:3304
+#: describe.c:3371
 msgid "Event"
 msgstr "Событие"
 
-#: describe.c:3306
+#: describe.c:3373
 msgid "enabled"
 msgstr "включён"
 
-#: describe.c:3307
+#: describe.c:3374
 msgid "replica"
 msgstr "реплика"
 
-#: describe.c:3308
+#: describe.c:3375
 msgid "always"
 msgstr "всегда"
 
-#: describe.c:3309
+#: describe.c:3376
 msgid "disabled"
 msgstr "отключён"
 
-#: describe.c:3310
+#: describe.c:3377
 msgid "Enabled"
 msgstr "Включен"
 
-#: describe.c:3311
+#: describe.c:3378
 msgid "Procedure"
 msgstr "Процедура"
 
-#: describe.c:3312
+#: describe.c:3379
 msgid "Tags"
 msgstr "Теги"
 
-#: describe.c:3331
+#: describe.c:3398
 msgid "List of event triggers"
 msgstr "Список событийных триггеров"
 
-#: describe.c:3373
+#: describe.c:3440
 msgid "Source type"
 msgstr "Исходный тип"
 
-#: describe.c:3374
+#: describe.c:3441
 msgid "Target type"
 msgstr "Целевой тип"
 
-#: describe.c:3377
+#: describe.c:3444
 msgid "in assignment"
 msgstr "в присваивании"
 
-#: describe.c:3379
+#: describe.c:3446
 msgid "Implicit?"
 msgstr "Неявное?"
 
-#: describe.c:3430
+#: describe.c:3497
 msgid "List of casts"
 msgstr "Список приведений типов"
 
-#: describe.c:3456
+#: describe.c:3523
 #, c-format
 msgid "The server (version %d.%d) does not support collations.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает правила сравнения.\n"
 
-#: describe.c:3506
+#: describe.c:3573
 msgid "List of collations"
 msgstr "Список правил сортировки"
 
-#: describe.c:3565
+#: describe.c:3632
 msgid "List of schemas"
 msgstr "Список схем"
 
-#: describe.c:3588 describe.c:3823 describe.c:3891 describe.c:3959
+#: describe.c:3655 describe.c:3890 describe.c:3958 describe.c:4026
 #, c-format
 msgid "The server (version %d.%d) does not support full text search.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает полнотекстовый поиск.\n"
 
-#: describe.c:3622
+#: describe.c:3689
 msgid "List of text search parsers"
 msgstr "Список анализаторов текстового поиска"
 
-#: describe.c:3665
+#: describe.c:3732
 #, c-format
 msgid "Did not find any text search parser named \"%s\".\n"
 msgstr "Анализатор текстового поиска \"%s\" не найден.\n"
 
-#: describe.c:3740
+#: describe.c:3807
 msgid "Start parse"
 msgstr "Начало разбора"
 
-#: describe.c:3741
+#: describe.c:3808
 msgid "Method"
 msgstr "Метод"
 
-#: describe.c:3745
+#: describe.c:3812
 msgid "Get next token"
 msgstr "Получение следующего фрагмента"
 
-#: describe.c:3747
+#: describe.c:3814
 msgid "End parse"
 msgstr "Окончание разбора"
 
-#: describe.c:3749
+#: describe.c:3816
 msgid "Get headline"
 msgstr "Получение выдержки"
 
-#: describe.c:3751
+#: describe.c:3818
 msgid "Get token types"
 msgstr "Получение типов фрагментов"
 
-#: describe.c:3761
+#: describe.c:3828
 #, c-format
 msgid "Text search parser \"%s.%s\""
 msgstr "Анализатор текстового поиска \"%s.%s\""
 
-#: describe.c:3763
+#: describe.c:3830
 #, c-format
 msgid "Text search parser \"%s\""
 msgstr "Анализатор текстового поиска \"%s\""
 
-#: describe.c:3782
+#: describe.c:3849
 msgid "Token name"
 msgstr "Имя фрагмента"
 
-#: describe.c:3793
+#: describe.c:3860
 #, c-format
 msgid "Token types for parser \"%s.%s\""
 msgstr "Типы фрагментов для анализатора \"%s.%s\""
 
-#: describe.c:3795
+#: describe.c:3862
 #, c-format
 msgid "Token types for parser \"%s\""
 msgstr "Типы фрагментов для анализатора \"%s\""
 
-#: describe.c:3845
+#: describe.c:3912
 msgid "Template"
 msgstr "Шаблон"
 
-#: describe.c:3846
+#: describe.c:3913
 msgid "Init options"
 msgstr "Параметры инициализации"
 
-#: describe.c:3868
+#: describe.c:3935
 msgid "List of text search dictionaries"
 msgstr "Список словарей текстового поиска"
 
-#: describe.c:3908
+#: describe.c:3975
 msgid "Init"
 msgstr "Инициализация"
 
-#: describe.c:3909
+#: describe.c:3976
 msgid "Lexize"
 msgstr "Выделение лексем"
 
-#: describe.c:3936
+#: describe.c:4003
 msgid "List of text search templates"
 msgstr "Список шаблонов текстового поиска"
 
-#: describe.c:3993
+#: describe.c:4060
 msgid "List of text search configurations"
 msgstr "Список конфигураций текстового поиска"
 
-#: describe.c:4037
+#: describe.c:4104
 #, c-format
 msgid "Did not find any text search configuration named \"%s\".\n"
 msgstr "Конфигурация текстового поиска \"%s\" не найдена.\n"
 
-#: describe.c:4103
+#: describe.c:4170
 msgid "Token"
 msgstr "Фрагмент"
 
-#: describe.c:4104
+#: describe.c:4171
 msgid "Dictionaries"
 msgstr "Словари"
 
-#: describe.c:4115
+#: describe.c:4182
 #, c-format
 msgid "Text search configuration \"%s.%s\""
 msgstr "Конфигурация текстового поиска \"%s.%s\""
 
-#: describe.c:4118
+#: describe.c:4185
 #, c-format
 msgid "Text search configuration \"%s\""
 msgstr "Конфигурация текстового поиска \"%s\""
 
-#: describe.c:4122
+#: describe.c:4189
 #, c-format
 msgid ""
 "\n"
@@ -1724,7 +1881,7 @@ msgstr ""
 "\n"
 "Анализатор: \"%s.%s\""
 
-#: describe.c:4125
+#: describe.c:4192
 #, c-format
 msgid ""
 "\n"
@@ -1733,86 +1890,82 @@ msgstr ""
 "\n"
 "Анализатор: \"%s\""
 
-#: describe.c:4157
+#: describe.c:4224
 #, c-format
 msgid "The server (version %d.%d) does not support foreign-data wrappers.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает обёртки сторонних данных.\n"
 
-#: describe.c:4171
-msgid "Handler"
-msgstr "Обработчик"
-
-#: describe.c:4214
+#: describe.c:4281
 msgid "List of foreign-data wrappers"
 msgstr "Список обёрток сторонних данных"
 
-#: describe.c:4237
+#: describe.c:4304
 #, c-format
 msgid "The server (version %d.%d) does not support foreign servers.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает сторонние серверы.\n"
 
-#: describe.c:4249
+#: describe.c:4316
 msgid "Foreign-data wrapper"
 msgstr "Обёртка сторонних данных"
 
-#: describe.c:4267 describe.c:4462
+#: describe.c:4334 describe.c:4530
 msgid "Version"
 msgstr "Версия"
 
-#: describe.c:4293
+#: describe.c:4360
 msgid "List of foreign servers"
 msgstr "Список сторонних серверов"
 
-#: describe.c:4316
+#: describe.c:4383
 #, c-format
 msgid "The server (version %d.%d) does not support user mappings.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает сопоставления пользователей.\n"
 
-#: describe.c:4325 describe.c:4386
+#: describe.c:4392 describe.c:4453
 msgid "Server"
 msgstr "Сервер"
 
-#: describe.c:4326
+#: describe.c:4393
 msgid "User name"
 msgstr "Имя пользователя"
 
-#: describe.c:4351
+#: describe.c:4418
 msgid "List of user mappings"
 msgstr "Список сопоставлений пользователей"
 
-#: describe.c:4374
+#: describe.c:4441
 #, c-format
 msgid "The server (version %d.%d) does not support foreign tables.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает сторонние таблицы.\n"
 
-#: describe.c:4425
+#: describe.c:4493
 msgid "List of foreign tables"
 msgstr "Список сторонних таблиц"
 
-#: describe.c:4448 describe.c:4502
+#: describe.c:4516 describe.c:4570
 #, c-format
 msgid "The server (version %d.%d) does not support extensions.\n"
 msgstr "Сервер (версия %d.%d) не поддерживает расширения.\n"
 
-#: describe.c:4479
+#: describe.c:4547
 msgid "List of installed extensions"
 msgstr "Список установленных расширений"
 
-#: describe.c:4529
+#: describe.c:4597
 #, c-format
 msgid "Did not find any extension named \"%s\".\n"
 msgstr "Расширение \"%s\" не найдено.\n"
 
-#: describe.c:4532
+#: describe.c:4600
 #, c-format
 msgid "Did not find any extensions.\n"
 msgstr "Расширения не найдены.\n"
 
-#: describe.c:4576
+#: describe.c:4644
 msgid "Object Description"
 msgstr "Описание объекта"
 
-#: describe.c:4585
+#: describe.c:4653
 #, c-format
 msgid "Objects in extension \"%s\""
 msgstr "Объекты в расширении \"%s\""
@@ -1822,7 +1975,7 @@ msgstr "Объекты в расширении \"%s\""
 msgid "%s\n"
 msgstr "%s\n"
 
-#: help.c:70
+#: help.c:74
 #, c-format
 msgid ""
 "psql is the PostgreSQL interactive terminal.\n"
@@ -1831,12 +1984,12 @@ msgstr ""
 "psql - это интерактивный терминал PostgreSQL.\n"
 "\n"
 
-#: help.c:71 help.c:314 help.c:347 help.c:374
+#: help.c:75 help.c:333 help.c:367 help.c:394
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: help.c:72
+#: help.c:76
 #, c-format
 msgid ""
 "  psql [OPTION]... [DBNAME [USERNAME]]\n"
@@ -1845,12 +1998,12 @@ msgstr ""
 "  psql [ПАРАМЕТР]... [БД [ПОЛЬЗОВАТЕЛЬ]]\n"
 "\n"
 
-#: help.c:74
+#: help.c:78
 #, c-format
 msgid "General options:\n"
 msgstr "Общие параметры:\n"
 
-#: help.c:79
+#: help.c:83
 #, c-format
 msgid ""
 "  -c, --command=COMMAND    run only single command (SQL or internal) and "
@@ -1859,7 +2012,7 @@ msgstr ""
 "  -c, --command=КОМАНДА    выполнить одну команду (SQL или внутреннюю) и "
 "выйти\n"
 
-#: help.c:80
+#: help.c:84
 #, c-format
 msgid ""
 "  -d, --dbname=DBNAME      database name to connect to (default: \"%s\")\n"
@@ -1867,17 +2020,17 @@ msgstr ""
 "  -d, --dbname=БД          имя подключаемой базы данных (по умолчанию \"%s"
 "\")\n"
 
-#: help.c:81
+#: help.c:85
 #, c-format
 msgid "  -f, --file=FILENAME      execute commands from file, then exit\n"
 msgstr "  -f, --file=ИМЯ_ФАЙЛА     выполнить команды из файла и выйти\n"
 
-#: help.c:82
+#: help.c:86
 #, c-format
 msgid "  -l, --list               list available databases, then exit\n"
 msgstr "  -l, --list               вывести список баз данных и выйти\n"
 
-#: help.c:83
+#: help.c:87
 #, c-format
 msgid ""
 "  -v, --set=, --variable=NAME=VALUE\n"
@@ -1888,18 +2041,18 @@ msgstr ""
 "                           присвоить переменной psql ИМЯ заданное ЗНАЧЕНИЕ\n"
 "                           (например: -v ON_ERROR_STOP=1)\n"
 
-#: help.c:86
+#: help.c:90
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            показать версию и выйти\n"
 
-#: help.c:87
+#: help.c:91
 #, c-format
 msgid "  -X, --no-psqlrc          do not read startup file (~/.psqlrc)\n"
 msgstr ""
 "  -X, --no-psqlrc          игнорировать файл параметров запуска (~/.psqlrc)\n"
 
-#: help.c:88
+#: help.c:92
 #, c-format
 msgid ""
 "  -1 (\"one\"), --single-transaction\n"
@@ -1910,23 +2063,23 @@ msgstr ""
 "                           выполнить как одну транзакцию\n"
 "                           (в неинтерактивном режиме)\n"
 
-#: help.c:90
+#: help.c:94
 #, c-format
 msgid "  -?, --help[=options]     show this help, then exit\n"
 msgstr "  -?, --help[=options]     показать эту справку и выйти\n"
 
-#: help.c:91
+#: help.c:95
 #, c-format
 msgid "      --help=commands      list backslash commands, then exit\n"
 msgstr "      --help=commands      перечислить команды с \\ и выйти\n"
 
-#: help.c:92
+#: help.c:96
 #, c-format
 msgid "      --help=variables     list special variables, then exit\n"
 msgstr ""
 "      --help=variables     перечислить специальные переменные и выйти\n"
 
-#: help.c:94
+#: help.c:98
 #, c-format
 msgid ""
 "\n"
@@ -1935,22 +2088,22 @@ msgstr ""
 "\n"
 "Параметры ввода/вывода:\n"
 
-#: help.c:95
+#: help.c:99
 #, c-format
 msgid "  -a, --echo-all           echo all input from script\n"
 msgstr "  -a, --echo-all           отображать все команды из скрипта\n"
 
-#: help.c:96
+#: help.c:100
 #, c-format
 msgid "  -b, --echo-errors        echo failed commands\n"
 msgstr "  -b, --echo-errors        отображать команды с ошибками\n"
 
-#: help.c:97
+#: help.c:101
 #, c-format
 msgid "  -e, --echo-queries       echo commands sent to server\n"
 msgstr "  -e, --echo-queries       отображать команды, отправляемые серверу\n"
 
-#: help.c:98
+#: help.c:102
 #, c-format
 msgid ""
 "  -E, --echo-hidden        display queries that internal commands generate\n"
@@ -1958,26 +2111,26 @@ msgstr ""
 "  -E, --echo-hidden        выводить запросы, порождённые внутренними "
 "командами\n"
 
-#: help.c:99
+#: help.c:103
 #, c-format
 msgid "  -L, --log-file=FILENAME  send session log to file\n"
 msgstr "  -L, --log-file=ИМЯ_ФАЙЛА сохранять протокол работы в файл\n"
 
-#: help.c:100
+#: help.c:104
 #, c-format
 msgid ""
 "  -n, --no-readline        disable enhanced command line editing (readline)\n"
 msgstr ""
 "  -n, --no-readline        отключить редактор командной строки readline\n"
 
-#: help.c:101
+#: help.c:105
 #, c-format
 msgid "  -o, --output=FILENAME    send query results to file (or |pipe)\n"
 msgstr ""
 "  -o, --output=ИМЯ_ФАЙЛА   направить результаты запроса в файл (или канал "
 "|)\n"
 
-#: help.c:102
+#: help.c:106
 #, c-format
 msgid ""
 "  -q, --quiet              run quietly (no messages, only query output)\n"
@@ -1985,13 +2138,13 @@ msgstr ""
 "  -q, --quiet              показывать только результаты запросов, без "
 "сообщений\n"
 
-#: help.c:103
+#: help.c:107
 #, c-format
 msgid "  -s, --single-step        single-step mode (confirm each query)\n"
 msgstr ""
 "  -s, --single-step        пошаговый режим (подтверждение каждого запроса)\n"
 
-#: help.c:104
+#: help.c:108
 #, c-format
 msgid ""
 "  -S, --single-line        single-line mode (end of line terminates SQL "
@@ -2000,7 +2153,7 @@ msgstr ""
 "  -S, --single-line        однострочный режим (конец строки завершает "
 "команду)\n"
 
-#: help.c:106
+#: help.c:110
 #, c-format
 msgid ""
 "\n"
@@ -2009,12 +2162,12 @@ msgstr ""
 "\n"
 "Параметры вывода:\n"
 
-#: help.c:107
+#: help.c:111
 #, c-format
 msgid "  -A, --no-align           unaligned table output mode\n"
 msgstr "  -A, --no-align           режим вывода невыровненной таблицы\n"
 
-#: help.c:108
+#: help.c:112
 #, c-format
 msgid ""
 "  -F, --field-separator=STRING\n"
@@ -2025,12 +2178,12 @@ msgstr ""
 "                           разделителей полей при невыровненном выводе\n"
 "                           (по умолчанию: \"%s\")\n"
 
-#: help.c:111
+#: help.c:115
 #, c-format
 msgid "  -H, --html               HTML table output mode\n"
 msgstr "  -H, --html               вывод таблицы в формате HTML\n"
 
-#: help.c:112
+#: help.c:116
 #, c-format
 msgid ""
 "  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \\pset "
@@ -2040,7 +2193,7 @@ msgstr ""
 "ЗНАЧЕНИЕМ)\n"
 "                           (см. описание \\pset)\n"
 
-#: help.c:113
+#: help.c:117
 #, c-format
 msgid ""
 "  -R, --record-separator=STRING\n"
@@ -2051,12 +2204,12 @@ msgstr ""
 "                           разделитель записей при невыровненном выводе\n"
 "                           (по умолчанию: новая строка)\n"
 
-#: help.c:115
+#: help.c:119
 #, c-format
 msgid "  -t, --tuples-only        print rows only\n"
 msgstr "  -t, --tuples-only        выводить только кортежи\n"
 
-#: help.c:116
+#: help.c:120
 #, c-format
 msgid ""
 "  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, "
@@ -2064,12 +2217,12 @@ msgid ""
 msgstr ""
 "  -T, --table-attr=ТЕКСТ   установить атрибуты HTML-таблицы (width, border)\n"
 
-#: help.c:117
+#: help.c:121
 #, c-format
 msgid "  -x, --expanded           turn on expanded table output\n"
 msgstr "  -x, --expanded           включить развёрнутый вывод таблицы\n"
 
-#: help.c:118
+#: help.c:122
 #, c-format
 msgid ""
 "  -z, --field-separator-zero\n"
@@ -2080,7 +2233,7 @@ msgstr ""
 "                           сделать разделителем полей при невыровненном\n"
 "                           выводе нулевой байт\n"
 
-#: help.c:120
+#: help.c:124
 #, c-format
 msgid ""
 "  -0, --record-separator-zero\n"
@@ -2091,7 +2244,7 @@ msgstr ""
 "                           сделать разделителем записей при невыровненном\n"
 "                           нулевой байт\n"
 
-#: help.c:123
+#: help.c:127
 #, c-format
 msgid ""
 "\n"
@@ -2100,7 +2253,7 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: help.c:126
+#: help.c:130
 #, c-format
 msgid ""
 "  -h, --host=HOSTNAME      database server host or socket directory "
@@ -2109,27 +2262,27 @@ msgstr ""
 "  -h, --host=ИМЯ           имя сервера баз данных или каталог сокетов\n"
 "                           (по умолчанию: \"%s\")\n"
 
-#: help.c:127
+#: help.c:131
 msgid "local socket"
 msgstr "локальный сокет"
 
-#: help.c:130
+#: help.c:134
 #, c-format
 msgid "  -p, --port=PORT          database server port (default: \"%s\")\n"
 msgstr ""
 "  -p, --port=ПОРТ          порт сервера баз данных (по умолчанию: \"%s\")\n"
 
-#: help.c:136
+#: help.c:140
 #, c-format
 msgid "  -U, --username=USERNAME  database user name (default: \"%s\")\n"
 msgstr "  -U, --username=ИМЯ       имя пользователя (по умолчанию: \"%s\")\n"
 
-#: help.c:137
+#: help.c:141
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        не запрашивать пароль\n"
 
-#: help.c:138
+#: help.c:142
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -2137,7 +2290,7 @@ msgid ""
 msgstr ""
 "  -W, --password           запрашивать пароль всегда (обычно не требуется)\n"
 
-#: help.c:140
+#: help.c:144
 #, c-format
 msgid ""
 "\n"
@@ -2154,17 +2307,17 @@ msgstr ""
 "документации PostgreSQL.\n"
 "\n"
 
-#: help.c:143
+#: help.c:147
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: help.c:166
+#: help.c:173
 #, c-format
 msgid "General\n"
 msgstr "Общие\n"
 
-#: help.c:167
+#: help.c:174
 #, c-format
 msgid ""
 "  \\copyright             show PostgreSQL usage and distribution terms\n"
@@ -2172,7 +2325,16 @@ msgstr ""
 "  \\copyright             условия использования и распространения "
 "PostgreSQL\n"
 
-#: help.c:168
+#: help.c:175
+#, c-format
+msgid ""
+"  \\errverbose            show most recent error message at maximum "
+"verbosity\n"
+msgstr ""
+"  \\errverbose            вывести максимально подробное сообщение о "
+"последней ошибке\n"
+
+#: help.c:176
 #, c-format
 msgid ""
 "  \\g [FILE] or ;         execute query (and send results to file or |pipe)\n"
@@ -2180,7 +2342,16 @@ msgstr ""
 "  \\g [ФАЙЛ] или ;        выполнить запрос\n"
 "                         (и направить результаты в файл или канал |)\n"
 
-#: help.c:169
+#: help.c:177
+#, c-format
+msgid ""
+"  \\gexec                 execute query, then execute each value in its "
+"result\n"
+msgstr ""
+"  \\gexec                 выполнить запрос, а затем выполнить каждую строку "
+"в результате\n"
+
+#: help.c:178
 #, c-format
 msgid ""
 "  \\gset [PREFIX]         execute query and store results in psql variables\n"
@@ -2189,40 +2360,48 @@ msgstr ""
 "переменных\n"
 "                         psql\n"
 
-#: help.c:170
+#: help.c:179
 #, c-format
 msgid "  \\q                     quit psql\n"
 msgstr "  \\q                     выйти из psql\n"
 
-#: help.c:171
+#: help.c:180
+#, c-format
+msgid ""
+"  \\crosstabview [COLUMNS] execute query and display results in crosstab\n"
+msgstr ""
+"  \\crosstabview [СТОЛБЦЫ] выполнить запрос и вывести результат в "
+"перекрёстном виде\n"
+
+#: help.c:181
 #, c-format
 msgid "  \\watch [SEC]           execute query every SEC seconds\n"
 msgstr ""
 "  \\watch [СЕК]           повторять запрос в цикле через заданное число "
 "секунд\n"
 
-#: help.c:174
+#: help.c:184
 #, c-format
 msgid "Help\n"
 msgstr "Справка\n"
 
-#: help.c:176
+#: help.c:186
 #, c-format
 msgid "  \\? [commands]          show help on backslash commands\n"
 msgstr "  \\? [commands]          справка по командам psql c \\\n"
 
-#: help.c:177
+#: help.c:187
 #, c-format
 msgid "  \\? options             show help on psql command-line options\n"
 msgstr ""
 "  \\? options             справка по параметрам командной строки psql\n"
 
-#: help.c:178
+#: help.c:188
 #, c-format
 msgid "  \\? variables           show help on special variables\n"
 msgstr "  \\? variables           справка по специальным переменным\n"
 
-#: help.c:179
+#: help.c:189
 #, c-format
 msgid ""
 "  \\h [NAME]              help on syntax of SQL commands, * for all "
@@ -2230,12 +2409,12 @@ msgid ""
 msgstr ""
 "  \\h [ИМЯ]               справка по заданному SQL-оператору; * - по всем\n"
 
-#: help.c:182
+#: help.c:192
 #, c-format
 msgid "Query Buffer\n"
 msgstr "Буфер запроса\n"
 
-#: help.c:183
+#: help.c:193
 #, c-format
 msgid ""
 "  \\e [FILE] [LINE]       edit the query buffer (or file) with external "
@@ -2244,56 +2423,63 @@ msgstr ""
 "  \\e [ФАЙЛ] [СТРОКА]     править буфер запроса (или файл) во внешнем "
 "редакторе\n"
 
-#: help.c:184
+#: help.c:194
 #, c-format
 msgid ""
 "  \\ef [FUNCNAME [LINE]]  edit function definition with external editor\n"
 msgstr ""
 "  \\ef [ФУНКЦИЯ [СТРОКА]] править определение функции во внешнем редакторе\n"
 
-#: help.c:185
+#: help.c:195
+#, c-format
+msgid "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
+msgstr ""
+"  \\ev [VIEWNAME [LINE]]  править определение представления во внешнем "
+"редакторе\n"
+
+#: help.c:196
 #, c-format
 msgid "  \\p                     show the contents of the query buffer\n"
 msgstr "  \\p                     вывести содержимое буфера запросов\n"
 
-#: help.c:186
+#: help.c:197
 #, c-format
 msgid "  \\r                     reset (clear) the query buffer\n"
 msgstr "  \\r                     очистить буфер запроса\n"
 
-#: help.c:188
+#: help.c:199
 #, c-format
 msgid "  \\s [FILE]              display history or save it to file\n"
 msgstr "  \\s [ФАЙЛ]              вывести историю или сохранить её в файл\n"
 
-#: help.c:190
+#: help.c:201
 #, c-format
 msgid "  \\w FILE                write query buffer to file\n"
 msgstr "  \\w ФАЙЛ                записать буфер запроса в файл\n"
 
-#: help.c:193
+#: help.c:204
 #, c-format
 msgid "Input/Output\n"
 msgstr "Ввод/Вывод\n"
 
-#: help.c:194
+#: help.c:205
 #, c-format
 msgid ""
 "  \\copy ...              perform SQL COPY with data stream to the client "
 "host\n"
 msgstr "  \\copy ...              выполнить SQL COPY на стороне клиента\n"
 
-#: help.c:195
+#: help.c:206
 #, c-format
 msgid "  \\echo [STRING]         write string to standard output\n"
 msgstr "  \\echo [СТРОКА]         записать строку в стандартный вывод\n"
 
-#: help.c:196
+#: help.c:207
 #, c-format
 msgid "  \\i FILE                execute commands from file\n"
 msgstr "  \\i ФАЙЛ                выполнить команды из файла\n"
 
-#: help.c:197
+#: help.c:208
 #, c-format
 msgid ""
 "  \\ir FILE               as \\i, but relative to location of current "
@@ -2302,14 +2488,14 @@ msgstr ""
 "  \\ir ФАЙЛ               подобно \\i, но путь задаётся относительно\n"
 "                         текущего скрипта\n"
 
-#: help.c:198
+#: help.c:209
 #, c-format
 msgid "  \\o [FILE]              send all query results to file or |pipe\n"
 msgstr ""
 "  \\o [ФАЙЛ]              выводить все результаты запросов в файл или канал "
 "|\n"
 
-#: help.c:199
+#: help.c:210
 #, c-format
 msgid ""
 "  \\qecho [STRING]        write string to query output stream (see \\o)\n"
@@ -2317,25 +2503,25 @@ msgstr ""
 "  \\qecho [СТРОКА]        записать строку в поток результатов запроса (см. "
 "\\o)\n"
 
-#: help.c:202
+#: help.c:213
 #, c-format
 msgid "Informational\n"
 msgstr "Информационные\n"
 
-#: help.c:203
+#: help.c:214
 #, c-format
 msgid "  (options: S = show system objects, + = additional detail)\n"
 msgstr ""
 "  (опции: S = показывать системные объекты, + = дополнительные подробности)\n"
 
-#: help.c:204
+#: help.c:215
 #, c-format
 msgid "  \\d[S+]                 list tables, views, and sequences\n"
 msgstr ""
 "  \\d[S+]                 список таблиц, представлений и "
 "последовательностей\n"
 
-#: help.c:205
+#: help.c:216
 #, c-format
 msgid "  \\d[S+]  NAME           describe table, view, sequence, or index\n"
 msgstr ""
@@ -2343,64 +2529,69 @@ msgstr ""
 "последовательности\n"
 "                         или индекса\n"
 
-#: help.c:206
+#: help.c:217
 #, c-format
 msgid "  \\da[S]  [PATTERN]      list aggregates\n"
 msgstr "  \\da[S]  [МАСКА]        список агрегатных функций\n"
 
-#: help.c:207
+#: help.c:218
+#, c-format
+msgid "  \\dA[+]  [PATTERN]      list access methods\n"
+msgstr "  \\dA[+]  [МАСКА]        список методов доступа\n"
+
+#: help.c:219
 #, c-format
 msgid "  \\db[+]  [PATTERN]      list tablespaces\n"
 msgstr "  \\db[+]  [МАСКА]        список табличных пространств\n"
 
-#: help.c:208
+#: help.c:220
 #, c-format
 msgid "  \\dc[S+] [PATTERN]      list conversions\n"
 msgstr "  \\dc[S+] [МАСКА]        список преобразований\n"
 
-#: help.c:209
+#: help.c:221
 #, c-format
 msgid "  \\dC[+]  [PATTERN]      list casts\n"
 msgstr "  \\dC[+]  [МАСКА]        список приведений типов\n"
 
-#: help.c:210
+#: help.c:222
 #, c-format
 msgid ""
 "  \\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\n"
 msgstr ""
 "  \\dd[S]  [МАСКА]        описания объектов, не выводимые в других режимах\n"
 
-#: help.c:211
+#: help.c:223
 #, c-format
 msgid "  \\ddp    [PATTERN]      list default privileges\n"
 msgstr "  \\ddp    [МАСКА]        список прав по умолчанию\n"
 
-#: help.c:212
+#: help.c:224
 #, c-format
 msgid "  \\dD[S+] [PATTERN]      list domains\n"
 msgstr "  \\dD[S+] [МАСКА]        список доменов\n"
 
-#: help.c:213
+#: help.c:225
 #, c-format
 msgid "  \\det[+] [PATTERN]      list foreign tables\n"
 msgstr "  \\det[+] [МАСКА]        список сторонних таблиц\n"
 
-#: help.c:214
+#: help.c:226
 #, c-format
 msgid "  \\des[+] [PATTERN]      list foreign servers\n"
 msgstr "  \\des[+] [МАСКА]        список сторонних серверов\n"
 
-#: help.c:215
+#: help.c:227
 #, c-format
 msgid "  \\deu[+] [PATTERN]      list user mappings\n"
 msgstr "  \\deu[+] [МАСКА]        список сопоставлений пользователей\n"
 
-#: help.c:216
+#: help.c:228
 #, c-format
 msgid "  \\dew[+] [PATTERN]      list foreign-data wrappers\n"
 msgstr "  \\dew[+] [МАСКА]        список обёрток сторонних данных\n"
 
-#: help.c:217
+#: help.c:229
 #, c-format
 msgid ""
 "  \\df[antw][S+] [PATRN]  list [only agg/normal/trigger/window] functions\n"
@@ -2408,68 +2599,68 @@ msgstr ""
 "  \\df[antw][S+] [МАСКА]  список [агрегатных/нормальных/триггерных/оконных]\n"
 "                         функций соответственно\n"
 
-#: help.c:218
+#: help.c:230
 #, c-format
 msgid "  \\dF[+]  [PATTERN]      list text search configurations\n"
 msgstr "  \\dF[+]  [МАСКА]        список конфигураций текстового поиска\n"
 
-#: help.c:219
+#: help.c:231
 #, c-format
 msgid "  \\dFd[+] [PATTERN]      list text search dictionaries\n"
 msgstr "  \\dFd[+] [МАСКА]        список словарей текстового поиска\n"
 
-#: help.c:220
+#: help.c:232
 #, c-format
 msgid "  \\dFp[+] [PATTERN]      list text search parsers\n"
 msgstr "  \\dFp[+] [МАСКА]        список анализаторов текстового поиска\n"
 
-#: help.c:221
+#: help.c:233
 #, c-format
 msgid "  \\dFt[+] [PATTERN]      list text search templates\n"
 msgstr "  \\dFt[+] [МАСКА]        список шаблонов текстового поиска\n"
 
-#: help.c:222
+#: help.c:234
 #, c-format
-msgid "  \\dg[+]  [PATTERN]      list roles\n"
-msgstr "  \\dg[+]  [МАСКА]        список ролей\n"
+msgid "  \\dg[S+] [PATTERN]      list roles\n"
+msgstr "  \\dg[S+] [МАСКА]        список ролей\n"
 
-#: help.c:223
+#: help.c:235
 #, c-format
 msgid "  \\di[S+] [PATTERN]      list indexes\n"
 msgstr "  \\di[S+] [МАСКА]        список индексов\n"
 
-#: help.c:224
+#: help.c:236
 #, c-format
 msgid "  \\dl                    list large objects, same as \\lo_list\n"
 msgstr ""
 "  \\dl                    список больших объектов (то же, что и \\lo_list)\n"
 
-#: help.c:225
+#: help.c:237
 #, c-format
 msgid "  \\dL[S+] [PATTERN]      list procedural languages\n"
 msgstr "  \\dL[S+] [МАСКА]        список языков процедур\n"
 
-#: help.c:226
+#: help.c:238
 #, c-format
 msgid "  \\dm[S+] [PATTERN]      list materialized views\n"
 msgstr "  \\dm[S+] [МАСКА]        список материализованных представлений\n"
 
-#: help.c:227
+#: help.c:239
 #, c-format
 msgid "  \\dn[S+] [PATTERN]      list schemas\n"
 msgstr "  \\dn[S+] [МАСКА]        список схем\n"
 
-#: help.c:228
+#: help.c:240
 #, c-format
 msgid "  \\do[S]  [PATTERN]      list operators\n"
 msgstr "  \\do[S]  [МАСКА]        список операторов\n"
 
-#: help.c:229
+#: help.c:241
 #, c-format
 msgid "  \\dO[S+] [PATTERN]      list collations\n"
 msgstr "  \\dO[S+] [МАСКА]        список правил сортировки\n"
 
-#: help.c:230
+#: help.c:242
 #, c-format
 msgid ""
 "  \\dp     [PATTERN]      list table, view, and sequence access privileges\n"
@@ -2477,72 +2668,77 @@ msgstr ""
 "  \\dp     [МАСКА]        список прав доступа к таблицам, представлениям и\n"
 "                         последовательностям\n"
 
-#: help.c:231
+#: help.c:243
 #, c-format
 msgid "  \\drds [PATRN1 [PATRN2]] list per-database role settings\n"
 msgstr "  \\drds [МAСК1 [МАСК2]]  список параметров роли на уровне БД\n"
 
-#: help.c:232
+#: help.c:244
 #, c-format
 msgid "  \\ds[S+] [PATTERN]      list sequences\n"
 msgstr "  \\ds[S+] [МАСКА]        список последовательностей\n"
 
-#: help.c:233
+#: help.c:245
 #, c-format
 msgid "  \\dt[S+] [PATTERN]      list tables\n"
 msgstr "  \\dt[S+] [МАСКА]        список таблиц\n"
 
-#: help.c:234
+#: help.c:246
 #, c-format
 msgid "  \\dT[S+] [PATTERN]      list data types\n"
 msgstr "  \\dT[S+] [МАСКА]        список типов данных\n"
 
-#: help.c:235
+#: help.c:247
 #, c-format
-msgid "  \\du[+]  [PATTERN]      list roles\n"
-msgstr "  \\du[+]  [МАСКА]        список ролей\n"
+msgid "  \\du[S+] [PATTERN]      list roles\n"
+msgstr "  \\du[S+] [МАСКА]        список ролей\n"
 
-#: help.c:236
+#: help.c:248
 #, c-format
 msgid "  \\dv[S+] [PATTERN]      list views\n"
 msgstr "  \\dv[S+] [МАСКА]        список представлений\n"
 
-#: help.c:237
+#: help.c:249
 #, c-format
 msgid "  \\dE[S+] [PATTERN]      list foreign tables\n"
 msgstr "  \\dE[S+] [МАСКА]        список сторонних таблиц\n"
 
-#: help.c:238
+#: help.c:250
 #, c-format
 msgid "  \\dx[+]  [PATTERN]      list extensions\n"
 msgstr "  \\dx[+]  [МАСКА]        список расширений\n"
 
-#: help.c:239
+#: help.c:251
 #, c-format
 msgid "  \\dy     [PATTERN]      list event triggers\n"
 msgstr "  \\dy     [МАСКА]        список событийных триггеров\n"
 
-#: help.c:240
+#: help.c:252
 #, c-format
 msgid "  \\l[+]   [PATTERN]      list databases\n"
 msgstr "  \\l[+]   [МАСКА]        список баз данных\n"
 
-#: help.c:241
+#: help.c:253
 #, c-format
-msgid "  \\sf[+] FUNCNAME        show a function's definition\n"
-msgstr "  \\sf[+] ИМЯ_ФУНКЦИИ     показать определение функции\n"
+msgid "  \\sf[+]  FUNCNAME       show a function's definition\n"
+msgstr "  \\sf[+]  ИМЯ_ФУНКЦИИ    показать определение функции\n"
 
-#: help.c:242
+#: help.c:254
+#, c-format
+msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
+msgstr "  \\sv[+]  ИМЯ_ПРЕДСТ     показать определение представления\n"
+
+#: help.c:255
 #, c-format
 msgid "  \\z      [PATTERN]      same as \\dp\n"
 msgstr "  \\z      [МАСКА]        то же, что и \\dp\n"
 
-#: help.c:245
+#: help.c:258
 #, c-format
 msgid "Formatting\n"
 msgstr "Форматирование\n"
 
-#: help.c:246
+#: help.c:259
 #, c-format
 msgid ""
 "  \\a                     toggle between unaligned and aligned output mode\n"
@@ -2550,14 +2746,14 @@ msgstr ""
 "  \\a                     переключение режимов вывода:\n"
 "                         неформатированный/выровненный\n"
 
-#: help.c:247
+#: help.c:260
 #, c-format
 msgid "  \\C [STRING]            set table title, or unset if none\n"
 msgstr ""
 "  \\C [СТРОКА]            задать заголовок таблицы или убрать, если не "
 "задан\n"
 
-#: help.c:248
+#: help.c:261
 #, c-format
 msgid ""
 "  \\f [STRING]            show or set field separator for unaligned query "
@@ -2566,13 +2762,13 @@ msgstr ""
 "  \\f [СТРОКА]            показать или установить разделитель полей для\n"
 "                         неформатированного вывода\n"
 
-#: help.c:249
+#: help.c:262
 #, c-format
 msgid "  \\H                     toggle HTML output mode (currently %s)\n"
 msgstr ""
 "  \\H                     переключить режим вывода в HTML (текущий: %s)\n"
 
-#: help.c:251
+#: help.c:264
 #, c-format
 msgid ""
 "  \\pset [NAME [VALUE]]   set table output option\n"
@@ -2591,12 +2787,12 @@ msgstr ""
 "                         unicode_border_linestyle|unicode_column_linestyle|"
 "unicode_header_linestyle})\n"
 
-#: help.c:255
+#: help.c:268
 #, c-format
 msgid "  \\t [on|off]            show only rows (currently %s)\n"
 msgstr "  \\t [on|off]            режим вывода только строк (сейчас: %s)\n"
 
-#: help.c:257
+#: help.c:270
 #, c-format
 msgid ""
 "  \\T [STRING]            set HTML <table> tag attributes, or unset if none\n"
@@ -2604,19 +2800,19 @@ msgstr ""
 "  \\T [СТРОКА]            задать атрибуты для <table> или убрать, если не "
 "заданы\n"
 
-#: help.c:258
+#: help.c:271
 #, c-format
 msgid "  \\x [on|off|auto]       toggle expanded output (currently %s)\n"
 msgstr ""
 "  \\x [on|off|auto]       переключить режим расширенного вывода (сейчас: "
 "%s)\n"
 
-#: help.c:262
+#: help.c:275
 #, c-format
 msgid "Connection\n"
 msgstr "Соединение\n"
 
-#: help.c:264
+#: help.c:277
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2626,7 +2822,7 @@ msgstr ""
 "                         подключиться к другой базе данных\n"
 "                         (текущая: \"%s\")\n"
 
-#: help.c:268
+#: help.c:281
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2636,44 +2832,44 @@ msgstr ""
 "                         подключиться к другой базе данных\n"
 "                         (сейчас подключения нет)\n"
 
-#: help.c:270
+#: help.c:283
 #, c-format
 msgid "  \\encoding [ENCODING]   show or set client encoding\n"
 msgstr "  \\encoding [КОДИРОВКА]  показать/установить клиентскую кодировку\n"
 
-#: help.c:271
+#: help.c:284
 #, c-format
 msgid "  \\password [USERNAME]   securely change the password for a user\n"
 msgstr "  \\password [ИМЯ]        безопасно сменить пароль пользователя\n"
 
-#: help.c:272
+#: help.c:285
 #, c-format
 msgid ""
 "  \\conninfo              display information about current connection\n"
 msgstr "  \\conninfo              информация о текущем соединении\n"
 
-#: help.c:275
+#: help.c:288
 #, c-format
 msgid "Operating System\n"
 msgstr "Операционная система\n"
 
-#: help.c:276
+#: help.c:289
 #, c-format
 msgid "  \\cd [DIR]              change the current working directory\n"
 msgstr "  \\cd [ПУТЬ]             сменить текущий каталог\n"
 
-#: help.c:277
+#: help.c:290
 #, c-format
 msgid "  \\setenv NAME [VALUE]   set or unset environment variable\n"
 msgstr ""
 "  \\setenv ИМЯ [ЗНАЧЕНИЕ] установить или сбросить переменную окружения\n"
 
-#: help.c:278
+#: help.c:291
 #, c-format
 msgid "  \\timing [on|off]       toggle timing of commands (currently %s)\n"
 msgstr "  \\timing [on|off]       включить/выключить секундомер (сейчас: %s)\n"
 
-#: help.c:280
+#: help.c:293
 #, c-format
 msgid ""
 "  \\! [COMMAND]           execute command in shell or start interactive "
@@ -2682,19 +2878,19 @@ msgstr ""
 "  \\! [КОМАНДА]           выполнить команду в командной оболочке\n"
 "                         или запустить интерактивную оболочку\n"
 
-#: help.c:283
+#: help.c:296
 #, c-format
 msgid "Variables\n"
 msgstr "Переменные\n"
 
-#: help.c:284
+#: help.c:297
 #, c-format
 msgid "  \\prompt [TEXT] NAME    prompt user to set internal variable\n"
 msgstr ""
 "  \\prompt [ТЕКСТ] ИМЯ    предложить пользователю задать внутреннюю "
 "переменную\n"
 
-#: help.c:285
+#: help.c:298
 #, c-format
 msgid ""
 "  \\set [NAME [VALUE]]    set internal variable, or list all if no "
@@ -2703,17 +2899,17 @@ msgstr ""
 "  \\set [ИМЯ [ЗНАЧЕНИЕ]]  установить внутреннюю переменную или вывести все,\n"
 "                         если имя не задано\n"
 
-#: help.c:286
+#: help.c:299
 #, c-format
 msgid "  \\unset NAME            unset (delete) internal variable\n"
 msgstr "  \\unset ИМЯ             сбросить (удалить) внутреннюю переменную\n"
 
-#: help.c:289
+#: help.c:302
 #, c-format
 msgid "Large Objects\n"
 msgstr "Большие объекты\n"
 
-#: help.c:290
+#: help.c:303
 #, c-format
 msgid ""
 "  \\lo_export LOBOID FILE\n"
@@ -2726,7 +2922,7 @@ msgstr ""
 "  \\lo_list\n"
 "  \\lo_unlink LOBOID      операции с большими объектами\n"
 
-#: help.c:311
+#: help.c:330
 #, c-format
 msgid ""
 "List of specially treated variables\n"
@@ -2735,12 +2931,12 @@ msgstr ""
 "Список специальных переменных\n"
 "\n"
 
-#: help.c:313
+#: help.c:332
 #, c-format
 msgid "psql variables:\n"
 msgstr "Переменные psql:\n"
 
-#: help.c:315
+#: help.c:334
 #, c-format
 msgid ""
 "  psql --set=NAME=VALUE\n"
@@ -2751,7 +2947,7 @@ msgstr ""
 "  или \\set ИМЯ ЗНАЧЕНИЕ в приглашении psql\n"
 "\n"
 
-#: help.c:317
+#: help.c:336
 #, c-format
 msgid ""
 "  AUTOCOMMIT         if set, successful SQL commands are automatically "
@@ -2760,7 +2956,7 @@ msgstr ""
 "  AUTOCOMMIT         если установлен, успешные SQL-команды фиксируются "
 "автоматически\n"
 
-#: help.c:318
+#: help.c:337
 #, c-format
 msgid ""
 "  COMP_KEYWORD_CASE  determines the case used to complete SQL key words\n"
@@ -2772,12 +2968,12 @@ msgstr ""
 "                      preserve-lower (сохранять нижний),\n"
 "                      preserve-upper (сохранять верхний)]\n"
 
-#: help.c:320
+#: help.c:339
 #, c-format
 msgid "  DBNAME             the currently connected database name\n"
 msgstr "  DBNAME             имя текущей подключенной базы данных\n"
 
-#: help.c:321
+#: help.c:340
 #, c-format
 msgid ""
 "  ECHO               controls what input is written to standard output\n"
@@ -2787,7 +2983,7 @@ msgstr ""
 "                     [all (всё), errors (ошибки), none (ничего),\n"
 "                      queries (запросы)]\n"
 
-#: help.c:323
+#: help.c:342
 #, c-format
 msgid ""
 "  ECHO_HIDDEN        if set, display internal queries executed by backslash "
@@ -2799,12 +2995,12 @@ msgstr ""
 "                     если установлено значение \"noexec\", они выводятся, но "
 "не выполняются\n"
 
-#: help.c:325
+#: help.c:344
 #, c-format
 msgid "  ENCODING           current client character set encoding\n"
 msgstr "  ENCODING           текущая кодировка клиентского набора символов\n"
 
-#: help.c:326
+#: help.c:345
 #, c-format
 msgid ""
 "  FETCH_COUNT        the number of result rows to fetch and display at a "
@@ -2815,7 +3011,7 @@ msgstr ""
 "за раз\n"
 "                     (по умолчанию: 0=без ограничений)\n"
 
-#: help.c:328
+#: help.c:347
 #, c-format
 msgid ""
 "  HISTCONTROL        controls command history [ignorespace, ignoredups, "
@@ -2826,26 +3022,26 @@ msgstr ""
 "                     ignoredups (игнорировать дубли), ignoreboth (и то, и "
 "другое)]\n"
 
-#: help.c:329
+#: help.c:348
 #, c-format
 msgid "  HISTFILE           file name used to store the command history\n"
 msgstr ""
 "  HISTFILE           имя файла, в котором будет сохраняться история команд\n"
 
-#: help.c:330
+#: help.c:349
 #, c-format
 msgid ""
 "  HISTSIZE           the number of commands to store in the command history\n"
 msgstr ""
 "  HISTSIZE           число команд, которые будут сохраняться в истории\n"
 
-#: help.c:331
+#: help.c:350
 #, c-format
 msgid "  HOST               the currently connected database server host\n"
 msgstr ""
 "  HOST               сервер баз данных, к которому установлено подключение\n"
 
-#: help.c:332
+#: help.c:351
 #, c-format
 msgid ""
 "  IGNOREEOF          if unset, sending an EOF to interactive session "
@@ -2854,12 +3050,12 @@ msgstr ""
 "  IGNOREEOF          если не установлено, отправка EOF в интерактивном "
 "сеансе завершает приложение\n"
 
-#: help.c:333
+#: help.c:352
 #, c-format
 msgid "  LASTOID            value of the last affected OID\n"
 msgstr "  LASTOID            значение последнего задействованного OID\n"
 
-#: help.c:334
+#: help.c:353
 #, c-format
 msgid ""
 "  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses "
@@ -2868,23 +3064,23 @@ msgstr ""
 "  ON_ERROR_ROLLBACK  если установлено, транзакция не прекращается при ошибке "
 "(используются неявные точки сохранения)\n"
 
-#: help.c:335
+#: help.c:354
 #, c-format
 msgid "  ON_ERROR_STOP      stop batch execution after error\n"
 msgstr ""
 "  ON_ERROR_STOP      останавливать выполнение пакета команд после ошибки\n"
 
-#: help.c:336
+#: help.c:355
 #, c-format
 msgid "  PORT               server port of the current connection\n"
 msgstr "  PORT               порт сервера для текущего соединения\n"
 
-#: help.c:337
+#: help.c:356
 #, c-format
 msgid "  PROMPT1            specifies the standard psql prompt\n"
 msgstr "  PROMPT1            устанавливает стандартное приглашение psql\n"
 
-#: help.c:338
+#: help.c:357
 #, c-format
 msgid ""
 "  PROMPT2            specifies the prompt used when a statement continues "
@@ -2893,7 +3089,7 @@ msgstr ""
 "  PROMPT2            устанавливает приглашение, которое выводится при "
 "переносе оператора на новую строку\n"
 
-#: help.c:339
+#: help.c:358
 #, c-format
 msgid ""
 "  PROMPT3            specifies the prompt used during COPY ... FROM STDIN\n"
@@ -2901,13 +3097,22 @@ msgstr ""
 "  PROMPT3            устанавливает приглашения для выполнения COPY ... FROM "
 "STDIN\n"
 
-#: help.c:340
+#: help.c:359
 #, c-format
 msgid "  QUIET              run quietly (same as -q option)\n"
 msgstr ""
 "  QUIET              выводить минимум сообщений (как и с параметром -q)\n"
 
-#: help.c:341
+#: help.c:360
+#, c-format
+msgid ""
+"  SHOW_CONTEXT       controls display of message context fields [never, "
+"errors, always]\n"
+msgstr ""
+"  SHOW_CONTEXT       управляет отображением полей контекста сообщений "
+"[never, errors, always]\n"
+
+#: help.c:361
 #, c-format
 msgid ""
 "  SINGLELINE         end of line terminates SQL command mode (same as -S "
@@ -2916,17 +3121,17 @@ msgstr ""
 "  SINGLELINE         конец строки завершает режим ввода SQL-команды (как и с "
 "параметром -S)\n"
 
-#: help.c:342
+#: help.c:362
 #, c-format
 msgid "  SINGLESTEP         single-step mode (same as -s option)\n"
 msgstr "  SINGLESTEP         пошаговый режим (как и с параметром -s)\n"
 
-#: help.c:343
+#: help.c:363
 #, c-format
 msgid "  USER               the currently connected database user\n"
 msgstr "  USER               текущий пользователь, подключенный к БД\n"
 
-#: help.c:344
+#: help.c:364
 #, c-format
 msgid ""
 "  VERBOSITY          controls verbosity of error reports [default, verbose, "
@@ -2935,7 +3140,7 @@ msgstr ""
 "  VERBOSITY          управляет детализацией отчётов об ошибке [default (по "
 "умолчанию), verbose (подробно), terse (кратко)]\n"
 
-#: help.c:346
+#: help.c:366
 #, c-format
 msgid ""
 "\n"
@@ -2944,7 +3149,7 @@ msgstr ""
 "\n"
 "Параметры отображения:\n"
 
-#: help.c:348
+#: help.c:368
 #, c-format
 msgid ""
 "  psql --pset=NAME[=VALUE]\n"
@@ -2955,24 +3160,24 @@ msgstr ""
 "  или \\pset ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n"
 "\n"
 
-#: help.c:350
+#: help.c:370
 #, c-format
 msgid "  border             border style (number)\n"
 msgstr "  border             стиль границы (число)\n"
 
-#: help.c:351
+#: help.c:371
 #, c-format
 msgid "  columns            target width for the wrapped format\n"
 msgstr "  columns            целевая ширина для формата с переносом\n"
 
-#: help.c:352
+#: help.c:372
 #, c-format
 msgid "  expanded (or x)    expanded output [on, off, auto]\n"
 msgstr ""
 "  expanded (или x)    расширенный вывод [on (вкл.), off (выкл.), auto "
 "(авто)]\n"
 
-#: help.c:353
+#: help.c:373
 #, c-format
 msgid ""
 "  fieldsep           field separator for unaligned output (default \"%s\")\n"
@@ -2980,7 +3185,7 @@ msgstr ""
 "  fieldsep           разделитель полей для неформатированного вывода (по "
 "умолчанию \"%s\")\n"
 
-#: help.c:354
+#: help.c:374
 #, c-format
 msgid ""
 "  fieldsep_zero      set field separator for unaligned output to zero byte\n"
@@ -2988,7 +3193,7 @@ msgstr ""
 "  fieldsep_zero      устанавливает ноль разделителем полей при "
 "неформатированном выводе\n"
 
-#: help.c:355
+#: help.c:375
 #, c-format
 msgid ""
 "  format             set output format [unaligned, aligned, wrapped, html, "
@@ -2998,7 +3203,7 @@ msgstr ""
 "(неформатированный), aligned (выровненный), wrapped (с переносом), html, "
 "asciidoc, ...]\n"
 
-#: help.c:356
+#: help.c:376
 #, c-format
 msgid ""
 "  footer             enable or disable display of the table footer [on, "
@@ -3007,7 +3212,7 @@ msgstr ""
 "  footer             включает или выключает вывод подписей таблицы [on "
 "(вкл.), off (выкл.)]\n"
 
-#: help.c:357
+#: help.c:377
 #, c-format
 msgid ""
 "  linestyle          set the border line drawing style [ascii, old-ascii, "
@@ -3016,14 +3221,14 @@ msgstr ""
 "  linestyle          задаёт стиль рисования линий границы [ascii, old-ascii, "
 "unicode]\n"
 
-#: help.c:358
+#: help.c:378
 #, c-format
 msgid ""
 "  null               set the string to be printed in place of a null value\n"
 msgstr ""
 "  null               устанавливает строку, выводимую вместо значения NULL\n"
 
-#: help.c:359
+#: help.c:379
 #, c-format
 msgid ""
 "  numericlocale      enable or disable display of a locale-specific "
@@ -3034,7 +3239,7 @@ msgstr ""
 "разделителя\n"
 "                     группы цифр [on (вкл.), off (выкл.)]\n"
 
-#: help.c:361
+#: help.c:381
 #, c-format
 msgid ""
 "  pager              control when an external pager is used [yes, no, "
@@ -3043,14 +3248,14 @@ msgstr ""
 "  pager              определяет, используется ли внешний "
 "постраничник                      [yes (да), no (нет), always (всегда)]\n"
 
-#: help.c:362
+#: help.c:382
 #, c-format
 msgid "  recordsep          record (line) separator for unaligned output\n"
 msgstr ""
 "  recordsep          разделитель записей (строк) при неформатированном "
 "выводе\n"
 
-#: help.c:363
+#: help.c:383
 #, c-format
 msgid ""
 "  recordsep_zero     set record separator for unaligned output to zero byte\n"
@@ -3058,7 +3263,7 @@ msgstr ""
 "  recordsep_zero     устанавливает ноль разделителем записей при "
 "неформатированном выводе\n"
 
-#: help.c:364
+#: help.c:384
 #, c-format
 msgid ""
 "  tableattr (or T)   specify attributes for table tag in html format or "
@@ -3071,7 +3276,7 @@ msgstr ""
 "                     ширины столбцов для выровненных влево данных, в формате "
 "latex-longtable\n"
 
-#: help.c:366
+#: help.c:386
 #, c-format
 msgid ""
 "  title              set the table title for any subsequently printed "
@@ -3080,14 +3285,14 @@ msgstr ""
 "  title              задаёт заголовок таблицы для последовательно печатаемых "
 "таблиц\n"
 
-#: help.c:367
+#: help.c:387
 #, c-format
 msgid "  tuples_only        if set, only actual table data is shown\n"
 msgstr ""
 "  tuples_only        если установлено, выводятся только непосредственно "
 "табличные данные\n"
 
-#: help.c:368
+#: help.c:388
 #, c-format
 msgid ""
 "  unicode_border_linestyle\n"
@@ -3101,7 +3306,7 @@ msgstr ""
 "                     задаёт стиль рисуемых линий Unicode [single "
 "(одинарные), double (двойные)]\n"
 
-#: help.c:373
+#: help.c:393
 #, c-format
 msgid ""
 "\n"
@@ -3110,7 +3315,7 @@ msgstr ""
 "\n"
 "Переменные окружения:\n"
 
-#: help.c:377
+#: help.c:397
 #, c-format
 msgid ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
@@ -3121,7 +3326,7 @@ msgstr ""
 "  или \\setenv ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n"
 "\n"
 
-#: help.c:379
+#: help.c:399
 #, c-format
 msgid ""
 "  set NAME=VALUE\n"
@@ -3134,63 +3339,63 @@ msgstr ""
 "  или \\setenv ИМЯ ЗНАЧЕНИЕ в приглашении psql\n"
 "\n"
 
-#: help.c:382
+#: help.c:402
 #, c-format
 msgid "  COLUMNS            number of columns for wrapped format\n"
 msgstr "  COLUMNS            число столбцов для форматирования с переносом\n"
 
-#: help.c:383
+#: help.c:403
 #, c-format
 msgid "  PAGER              name of external pager program\n"
 msgstr "  PAGER              имя программы внешнего постраничника\n"
 
-#: help.c:384
+#: help.c:404
 #, c-format
 msgid ""
 "  PGAPPNAME          same as the application_name connection parameter\n"
 msgstr "  PGAPPNAME          синоним параметра подключения application_name\n"
 
-#: help.c:385
+#: help.c:405
 #, c-format
 msgid "  PGDATABASE         same as the dbname connection parameter\n"
 msgstr "  PGDATABASE         синоним параметра подключения dbname\n"
 
-#: help.c:386
+#: help.c:406
 #, c-format
 msgid "  PGHOST             same as the host connection parameter\n"
 msgstr "  PGHOST             синоним параметра подключения host\n"
 
-#: help.c:387
+#: help.c:407
 #, c-format
 msgid "  PGPORT             same as the port connection parameter\n"
 msgstr "  PGPORT             синоним параметра подключения port\n"
 
-#: help.c:388
+#: help.c:408
 #, c-format
 msgid "  PGUSER             same as the user connection parameter\n"
 msgstr "  PGUSER             синоним параметра подключения user\n"
 
-#: help.c:389
+#: help.c:409
 #, c-format
 msgid "  PGPASSWORD         connection password (not recommended)\n"
 msgstr ""
 "  PGPASSWORD         пароль для подключения (использовать не рекомендуется)\n"
 
-#: help.c:390
+#: help.c:410
 #, c-format
 msgid "  PGPASSFILE         password file name\n"
 msgstr "  PGPASSFILE         имя файла с паролем\n"
 
-#: help.c:391
+#: help.c:411
 #, c-format
 msgid ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     editor used by the \\e and \\ef commands\n"
+"                     editor used by the \\e, \\ef, and \\ev commands\n"
 msgstr ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     редактор, вызываемый командами \\e и \\ef\n"
+"                     редактор, вызываемый командами \\e, \\ef и \\ev\n"
 
-#: help.c:393
+#: help.c:413
 #, c-format
 msgid ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
@@ -3200,35 +3405,35 @@ msgstr ""
 "                     определяет способ передачи номера строки при вызове "
 "редактора\n"
 
-#: help.c:395
+#: help.c:415
 #, c-format
 msgid ""
 "  PSQL_HISTORY       alternative location for the command history file\n"
 msgstr ""
 "  PSQL_HISTORY       альтернативное размещение файла с историей команд\n"
 
-#: help.c:396
+#: help.c:416
 #, c-format
 msgid "  PSQLRC             alternative location for the user's .psqlrc file\n"
 msgstr ""
 "  PSQLRC             альтернативное размещения пользовательского файла ."
 "psqlrc\n"
 
-#: help.c:397
+#: help.c:417
 #, c-format
 msgid "  SHELL              shell used by the \\! command\n"
 msgstr "  SHELL              оболочка, вызываемая командой \\!\n"
 
-#: help.c:398
+#: help.c:418
 #, c-format
 msgid "  TMPDIR             directory for temporary files\n"
 msgstr "  TMPDIR             каталог для временных файлов\n"
 
-#: help.c:441
+#: help.c:461
 msgid "Available help:\n"
 msgstr "Имеющаяся справка:\n"
 
-#: help.c:525
+#: help.c:545
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -3243,7 +3448,7 @@ msgstr ""
 "%s\n"
 "\n"
 
-#: help.c:541
+#: help.c:561
 #, c-format
 msgid ""
 "No help available for \"%s\".\n"
@@ -3252,17 +3457,17 @@ msgstr ""
 "Нет справки по команде \"%s\".\n"
 "Попробуйте \\h без аргументов и посмотрите, что есть.\n"
 
-#: input.c:205
+#: input.c:216
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "не удалось прочитать входной файл: %s\n"
 
-#: input.c:460 input.c:499
+#: input.c:471 input.c:510
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "не удалось сохранить историю в файле \"%s\": %s\n"
 
-#: input.c:519
+#: input.c:530
 #, c-format
 msgid "history is not supported by this installation\n"
 msgstr "в данной среде история не поддерживается\n"
@@ -3290,12 +3495,12 @@ msgstr "ID"
 msgid "Large objects"
 msgstr "Большие объекты"
 
-#: mainloop.c:161
+#: mainloop.c:168
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
 msgstr "Чтобы выйти из %s, введите \"\\q\".\n"
 
-#: mainloop.c:183
+#: mainloop.c:190
 msgid ""
 "The input is a PostgreSQL custom-format dump.\n"
 "Use the pg_restore command-line client to restore this dump to a database.\n"
@@ -3304,11 +3509,11 @@ msgstr ""
 "Чтобы восстановить базу данных из этого формата, воспользуйтесь программой "
 "командной строки pg_restore.\n"
 
-#: mainloop.c:203
+#: mainloop.c:210
 msgid "You are using psql, the command-line interface to PostgreSQL."
 msgstr "Вы используете psql - интерфейс командной строки к PostgreSQL."
 
-#: mainloop.c:204
+#: mainloop.c:211
 #, c-format
 msgid ""
 "Type:  \\copyright for distribution terms\n"
@@ -3323,2014 +3528,2005 @@ msgstr ""
 "       \\g или ; в конце строки - выполнение запроса\n"
 "       \\q - выход\n"
 
-#: print.c:352
-#, c-format
-msgid "(%lu row)"
-msgid_plural "(%lu rows)"
-msgstr[0] "(%lu строка)"
-msgstr[1] "(%lu строки)"
-msgstr[2] "(%lu строк)"
-
-#: print.c:2902
-#, c-format
-msgid "Interrupted\n"
-msgstr "Прервано\n"
-
-#: print.c:2966
-#, c-format
-msgid "Cannot add header to table content: column count of %d exceeded.\n"
-msgstr ""
-"Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n"
-
-#: print.c:3006
-#, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
-msgstr ""
-"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n"
-
-#: print.c:3255
-#, c-format
-msgid "invalid output format (internal error): %d"
-msgstr "неверный формат вывода (внутренняя ошибка): %d"
-
-#: psqlscan.l:751
-#, c-format
-msgid "skipping recursive expansion of variable \"%s\"\n"
-msgstr "рекурсивное расширение переменной \"%s\" пропускается\n"
-
-#: psqlscan.l:1627
+#: psqlscanslash.l:584
 #, c-format
 msgid "unterminated quoted string\n"
 msgstr "незавершённая строка в кавычках\n"
 
-#: psqlscan.l:1727
+#: psqlscanslash.l:737
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: нехватка памяти\n"
 
-#: psqlscan.l:1956
-#, c-format
-msgid "can't escape without active connection\n"
-msgstr "экранирование строк не работает без подключения к БД\n"
-
-#: sql_help.c:33 sql_help.c:36 sql_help.c:39 sql_help.c:61 sql_help.c:63
-#: sql_help.c:65 sql_help.c:76 sql_help.c:78 sql_help.c:80 sql_help.c:106
-#: sql_help.c:112 sql_help.c:114 sql_help.c:116 sql_help.c:118 sql_help.c:121
-#: sql_help.c:123 sql_help.c:125 sql_help.c:218 sql_help.c:220 sql_help.c:221
-#: sql_help.c:223 sql_help.c:225 sql_help.c:228 sql_help.c:230 sql_help.c:232
-#: sql_help.c:234 sql_help.c:246 sql_help.c:247 sql_help.c:248 sql_help.c:250
-#: sql_help.c:296 sql_help.c:298 sql_help.c:300 sql_help.c:302 sql_help.c:362
-#: sql_help.c:367 sql_help.c:369 sql_help.c:412 sql_help.c:414 sql_help.c:417
-#: sql_help.c:419 sql_help.c:483 sql_help.c:488 sql_help.c:493 sql_help.c:498
-#: sql_help.c:546 sql_help.c:548 sql_help.c:550 sql_help.c:553 sql_help.c:555
-#: sql_help.c:566 sql_help.c:568 sql_help.c:608 sql_help.c:610 sql_help.c:613
-#: sql_help.c:615 sql_help.c:617 sql_help.c:646 sql_help.c:650 sql_help.c:668
-#: sql_help.c:671 sql_help.c:674 sql_help.c:703 sql_help.c:715 sql_help.c:723
-#: sql_help.c:726 sql_help.c:729 sql_help.c:744 sql_help.c:747 sql_help.c:792
-#: sql_help.c:815 sql_help.c:826 sql_help.c:828 sql_help.c:845 sql_help.c:854
-#: sql_help.c:856 sql_help.c:858 sql_help.c:870 sql_help.c:874 sql_help.c:876
-#: sql_help.c:960 sql_help.c:962 sql_help.c:965 sql_help.c:968 sql_help.c:970
-#: sql_help.c:972 sql_help.c:1033 sql_help.c:1035 sql_help.c:1037
-#: sql_help.c:1040 sql_help.c:1061 sql_help.c:1064 sql_help.c:1067
-#: sql_help.c:1070 sql_help.c:1074 sql_help.c:1076 sql_help.c:1078
-#: sql_help.c:1080 sql_help.c:1094 sql_help.c:1097 sql_help.c:1099
-#: sql_help.c:1101 sql_help.c:1111 sql_help.c:1113 sql_help.c:1123
-#: sql_help.c:1125 sql_help.c:1134 sql_help.c:1155 sql_help.c:1157
-#: sql_help.c:1159 sql_help.c:1162 sql_help.c:1164 sql_help.c:1166
-#: sql_help.c:1216 sql_help.c:1254 sql_help.c:1257 sql_help.c:1259
-#: sql_help.c:1261 sql_help.c:1263 sql_help.c:1265 sql_help.c:1268
-#: sql_help.c:1308 sql_help.c:1555 sql_help.c:1571 sql_help.c:1584
-#: sql_help.c:1635 sql_help.c:1639 sql_help.c:1649 sql_help.c:1669
-#: sql_help.c:1694 sql_help.c:1712 sql_help.c:1740 sql_help.c:1814
-#: sql_help.c:1857 sql_help.c:1879 sql_help.c:1899 sql_help.c:1900
-#: sql_help.c:1935 sql_help.c:1955 sql_help.c:1977 sql_help.c:1990
-#: sql_help.c:2022 sql_help.c:2047 sql_help.c:2091 sql_help.c:2277
-#: sql_help.c:2290 sql_help.c:2307 sql_help.c:2323 sql_help.c:2362
-#: sql_help.c:2413 sql_help.c:2417 sql_help.c:2419 sql_help.c:2425
-#: sql_help.c:2443 sql_help.c:2470 sql_help.c:2505 sql_help.c:2517
-#: sql_help.c:2526 sql_help.c:2576 sql_help.c:2604 sql_help.c:2612
-#: sql_help.c:2620 sql_help.c:2628 sql_help.c:2636 sql_help.c:2644
-#: sql_help.c:2652 sql_help.c:2660 sql_help.c:2669 sql_help.c:2680
-#: sql_help.c:2688 sql_help.c:2696 sql_help.c:2704 sql_help.c:2712
-#: sql_help.c:2722 sql_help.c:2731 sql_help.c:2740 sql_help.c:2748
-#: sql_help.c:2757 sql_help.c:2765 sql_help.c:2774 sql_help.c:2782
-#: sql_help.c:2790 sql_help.c:2798 sql_help.c:2806 sql_help.c:2814
-#: sql_help.c:2822 sql_help.c:2830 sql_help.c:2838 sql_help.c:2855
-#: sql_help.c:2864 sql_help.c:2872 sql_help.c:2889 sql_help.c:2904
-#: sql_help.c:3169 sql_help.c:3220 sql_help.c:3249 sql_help.c:3257
-#: sql_help.c:3676 sql_help.c:3724 sql_help.c:3865
+#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:64 sql_help.c:66
+#: sql_help.c:68 sql_help.c:79 sql_help.c:81 sql_help.c:83 sql_help.c:109
+#: sql_help.c:115 sql_help.c:117 sql_help.c:119 sql_help.c:121 sql_help.c:124
+#: sql_help.c:126 sql_help.c:128 sql_help.c:221 sql_help.c:223 sql_help.c:224
+#: sql_help.c:226 sql_help.c:228 sql_help.c:231 sql_help.c:233 sql_help.c:235
+#: sql_help.c:237 sql_help.c:249 sql_help.c:250 sql_help.c:251 sql_help.c:253
+#: sql_help.c:299 sql_help.c:301 sql_help.c:303 sql_help.c:305 sql_help.c:365
+#: sql_help.c:370 sql_help.c:372 sql_help.c:415 sql_help.c:417 sql_help.c:420
+#: sql_help.c:422 sql_help.c:489 sql_help.c:494 sql_help.c:499 sql_help.c:504
+#: sql_help.c:509 sql_help.c:558 sql_help.c:560 sql_help.c:562 sql_help.c:564
+#: sql_help.c:567 sql_help.c:569 sql_help.c:580 sql_help.c:582 sql_help.c:624
+#: sql_help.c:626 sql_help.c:628 sql_help.c:631 sql_help.c:633 sql_help.c:635
+#: sql_help.c:669 sql_help.c:673 sql_help.c:677 sql_help.c:696 sql_help.c:699
+#: sql_help.c:702 sql_help.c:731 sql_help.c:743 sql_help.c:751 sql_help.c:754
+#: sql_help.c:757 sql_help.c:772 sql_help.c:775 sql_help.c:819 sql_help.c:842
+#: sql_help.c:853 sql_help.c:855 sql_help.c:872 sql_help.c:881 sql_help.c:883
+#: sql_help.c:885 sql_help.c:897 sql_help.c:901 sql_help.c:903 sql_help.c:987
+#: sql_help.c:989 sql_help.c:992 sql_help.c:995 sql_help.c:997 sql_help.c:999
+#: sql_help.c:1060 sql_help.c:1062 sql_help.c:1064 sql_help.c:1067
+#: sql_help.c:1088 sql_help.c:1091 sql_help.c:1094 sql_help.c:1097
+#: sql_help.c:1101 sql_help.c:1103 sql_help.c:1105 sql_help.c:1107
+#: sql_help.c:1121 sql_help.c:1124 sql_help.c:1126 sql_help.c:1128
+#: sql_help.c:1138 sql_help.c:1140 sql_help.c:1150 sql_help.c:1152
+#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1186 sql_help.c:1188
+#: sql_help.c:1190 sql_help.c:1193 sql_help.c:1195 sql_help.c:1197
+#: sql_help.c:1247 sql_help.c:1285 sql_help.c:1288 sql_help.c:1290
+#: sql_help.c:1292 sql_help.c:1294 sql_help.c:1296 sql_help.c:1299
+#: sql_help.c:1339 sql_help.c:1544 sql_help.c:1615 sql_help.c:1635
+#: sql_help.c:1652 sql_help.c:1707 sql_help.c:1711 sql_help.c:1721
+#: sql_help.c:1741 sql_help.c:1766 sql_help.c:1784 sql_help.c:1813
+#: sql_help.c:1888 sql_help.c:1930 sql_help.c:1952 sql_help.c:1972
+#: sql_help.c:1973 sql_help.c:2008 sql_help.c:2028 sql_help.c:2050
+#: sql_help.c:2063 sql_help.c:2094 sql_help.c:2119 sql_help.c:2163
+#: sql_help.c:2349 sql_help.c:2362 sql_help.c:2379 sql_help.c:2395
+#: sql_help.c:2434 sql_help.c:2485 sql_help.c:2489 sql_help.c:2491
+#: sql_help.c:2497 sql_help.c:2515 sql_help.c:2542 sql_help.c:2577
+#: sql_help.c:2589 sql_help.c:2598 sql_help.c:2642 sql_help.c:2656
+#: sql_help.c:2684 sql_help.c:2692 sql_help.c:2700 sql_help.c:2708
+#: sql_help.c:2716 sql_help.c:2724 sql_help.c:2732 sql_help.c:2740
+#: sql_help.c:2749 sql_help.c:2760 sql_help.c:2768 sql_help.c:2776
+#: sql_help.c:2784 sql_help.c:2792 sql_help.c:2802 sql_help.c:2811
+#: sql_help.c:2820 sql_help.c:2828 sql_help.c:2837 sql_help.c:2845
+#: sql_help.c:2854 sql_help.c:2862 sql_help.c:2870 sql_help.c:2878
+#: sql_help.c:2886 sql_help.c:2894 sql_help.c:2902 sql_help.c:2910
+#: sql_help.c:2918 sql_help.c:2935 sql_help.c:2944 sql_help.c:2952
+#: sql_help.c:2969 sql_help.c:2984 sql_help.c:3249 sql_help.c:3300
+#: sql_help.c:3329 sql_help.c:3337 sql_help.c:3756 sql_help.c:3804
+#: sql_help.c:3945
 msgid "name"
 msgstr "имя"
 
-#: sql_help.c:34 sql_help.c:37 sql_help.c:40 sql_help.c:306 sql_help.c:1372
-#: sql_help.c:2577 sql_help.c:3472
+#: sql_help.c:37 sql_help.c:40 sql_help.c:43 sql_help.c:309 sql_help.c:1405
+#: sql_help.c:2657 sql_help.c:3552
 msgid "aggregate_signature"
 msgstr "сигнатура_агр_функции"
 
-#: sql_help.c:35 sql_help.c:62 sql_help.c:77 sql_help.c:113 sql_help.c:233
-#: sql_help.c:251 sql_help.c:370 sql_help.c:418 sql_help.c:492 sql_help.c:533
-#: sql_help.c:547 sql_help.c:567 sql_help.c:614 sql_help.c:670 sql_help.c:725
-#: sql_help.c:746 sql_help.c:793 sql_help.c:817 sql_help.c:827 sql_help.c:857
-#: sql_help.c:877 sql_help.c:969 sql_help.c:1034 sql_help.c:1077
-#: sql_help.c:1098 sql_help.c:1112 sql_help.c:1124 sql_help.c:1136
-#: sql_help.c:1163 sql_help.c:1217 sql_help.c:1262
+#: sql_help.c:38 sql_help.c:65 sql_help.c:80 sql_help.c:116 sql_help.c:236
+#: sql_help.c:254 sql_help.c:373 sql_help.c:421 sql_help.c:498 sql_help.c:544
+#: sql_help.c:559 sql_help.c:581 sql_help.c:632 sql_help.c:698 sql_help.c:753
+#: sql_help.c:774 sql_help.c:820 sql_help.c:844 sql_help.c:854 sql_help.c:884
+#: sql_help.c:904 sql_help.c:996 sql_help.c:1061 sql_help.c:1104
+#: sql_help.c:1125 sql_help.c:1139 sql_help.c:1151 sql_help.c:1164
+#: sql_help.c:1194 sql_help.c:1248 sql_help.c:1293
 msgid "new_name"
 msgstr "новое_имя"
 
-#: sql_help.c:38 sql_help.c:64 sql_help.c:79 sql_help.c:115 sql_help.c:231
-#: sql_help.c:249 sql_help.c:368 sql_help.c:454 sql_help.c:497 sql_help.c:569
-#: sql_help.c:578 sql_help.c:633 sql_help.c:649 sql_help.c:673 sql_help.c:728
-#: sql_help.c:829 sql_help.c:855 sql_help.c:875 sql_help.c:1018
-#: sql_help.c:1036 sql_help.c:1079 sql_help.c:1100 sql_help.c:1158
-#: sql_help.c:1260 sql_help.c:2263
+#: sql_help.c:41 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:234
+#: sql_help.c:252 sql_help.c:371 sql_help.c:457 sql_help.c:503 sql_help.c:583
+#: sql_help.c:592 sql_help.c:651 sql_help.c:672 sql_help.c:701 sql_help.c:756
+#: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045 sql_help.c:1063
+#: sql_help.c:1106 sql_help.c:1127 sql_help.c:1189 sql_help.c:1291
+#: sql_help.c:2335
 msgid "new_owner"
 msgstr "новый_владелец"
 
-#: sql_help.c:41 sql_help.c:66 sql_help.c:81 sql_help.c:235 sql_help.c:299
-#: sql_help.c:420 sql_help.c:502 sql_help.c:616 sql_help.c:653 sql_help.c:676
-#: sql_help.c:731 sql_help.c:859 sql_help.c:971 sql_help.c:1081
-#: sql_help.c:1102 sql_help.c:1114 sql_help.c:1126 sql_help.c:1165
-#: sql_help.c:1264
+#: sql_help.c:44 sql_help.c:69 sql_help.c:84 sql_help.c:238 sql_help.c:302
+#: sql_help.c:423 sql_help.c:508 sql_help.c:634 sql_help.c:676 sql_help.c:704
+#: sql_help.c:759 sql_help.c:886 sql_help.c:998 sql_help.c:1108 sql_help.c:1129
+#: sql_help.c:1141 sql_help.c:1153 sql_help.c:1196 sql_help.c:1295
 msgid "new_schema"
 msgstr "новая_схема"
 
-#: sql_help.c:42 sql_help.c:1425 sql_help.c:2578 sql_help.c:3491
+#: sql_help.c:45 sql_help.c:1458 sql_help.c:2658 sql_help.c:3571
 msgid "where aggregate_signature is:"
 msgstr "где сигнатура_агр_функции:"
 
-#: sql_help.c:43 sql_help.c:46 sql_help.c:49 sql_help.c:316 sql_help.c:341
-#: sql_help.c:344 sql_help.c:347 sql_help.c:484 sql_help.c:489 sql_help.c:494
-#: sql_help.c:499 sql_help.c:1390 sql_help.c:1426 sql_help.c:1429
-#: sql_help.c:1432 sql_help.c:1556 sql_help.c:1572 sql_help.c:1575
-#: sql_help.c:1815 sql_help.c:2579 sql_help.c:2582 sql_help.c:2585
-#: sql_help.c:2670 sql_help.c:3055 sql_help.c:3387 sql_help.c:3478
-#: sql_help.c:3492 sql_help.c:3495 sql_help.c:3498
+#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:319 sql_help.c:344
+#: sql_help.c:347 sql_help.c:350 sql_help.c:490 sql_help.c:495 sql_help.c:500
+#: sql_help.c:505 sql_help.c:510 sql_help.c:1423 sql_help.c:1459
+#: sql_help.c:1462 sql_help.c:1465 sql_help.c:1616 sql_help.c:1636
+#: sql_help.c:1639 sql_help.c:1889 sql_help.c:2659 sql_help.c:2662
+#: sql_help.c:2665 sql_help.c:2750 sql_help.c:3135 sql_help.c:3467
+#: sql_help.c:3558 sql_help.c:3572 sql_help.c:3575 sql_help.c:3578
 msgid "argmode"
 msgstr "режим_аргумента"
 
-#: sql_help.c:44 sql_help.c:47 sql_help.c:50 sql_help.c:317 sql_help.c:342
-#: sql_help.c:345 sql_help.c:348 sql_help.c:485 sql_help.c:490 sql_help.c:495
-#: sql_help.c:500 sql_help.c:1391 sql_help.c:1427 sql_help.c:1430
-#: sql_help.c:1433 sql_help.c:1557 sql_help.c:1573 sql_help.c:1576
-#: sql_help.c:1816 sql_help.c:2580 sql_help.c:2583 sql_help.c:2586
-#: sql_help.c:2671 sql_help.c:3479 sql_help.c:3493 sql_help.c:3496
-#: sql_help.c:3499
+#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:320 sql_help.c:345
+#: sql_help.c:348 sql_help.c:351 sql_help.c:491 sql_help.c:496 sql_help.c:501
+#: sql_help.c:506 sql_help.c:511 sql_help.c:1424 sql_help.c:1460
+#: sql_help.c:1463 sql_help.c:1466 sql_help.c:1617 sql_help.c:1637
+#: sql_help.c:1640 sql_help.c:1890 sql_help.c:2660 sql_help.c:2663
+#: sql_help.c:2666 sql_help.c:2751 sql_help.c:3559 sql_help.c:3573
+#: sql_help.c:3576 sql_help.c:3579
 msgid "argname"
 msgstr "имя_аргумента"
 
-#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:318 sql_help.c:343
-#: sql_help.c:346 sql_help.c:349 sql_help.c:486 sql_help.c:491 sql_help.c:496
-#: sql_help.c:501 sql_help.c:1392 sql_help.c:1428 sql_help.c:1431
-#: sql_help.c:1434 sql_help.c:1817 sql_help.c:2581 sql_help.c:2584
-#: sql_help.c:2587 sql_help.c:2672 sql_help.c:3480 sql_help.c:3494
-#: sql_help.c:3497 sql_help.c:3500
+#: sql_help.c:48 sql_help.c:51 sql_help.c:54 sql_help.c:321 sql_help.c:346
+#: sql_help.c:349 sql_help.c:352 sql_help.c:492 sql_help.c:497 sql_help.c:502
+#: sql_help.c:507 sql_help.c:512 sql_help.c:1425 sql_help.c:1461
+#: sql_help.c:1464 sql_help.c:1467 sql_help.c:1891 sql_help.c:2661
+#: sql_help.c:2664 sql_help.c:2667 sql_help.c:2752 sql_help.c:3560
+#: sql_help.c:3574 sql_help.c:3577 sql_help.c:3580
 msgid "argtype"
 msgstr "тип_аргумента"
 
-#: sql_help.c:107 sql_help.c:365 sql_help.c:443 sql_help.c:455 sql_help.c:787
-#: sql_help.c:872 sql_help.c:1095 sql_help.c:1211 sql_help.c:1239
-#: sql_help.c:1482 sql_help.c:1488 sql_help.c:1743 sql_help.c:1775
-#: sql_help.c:1782 sql_help.c:1858 sql_help.c:2023 sql_help.c:2112
-#: sql_help.c:2292 sql_help.c:2471 sql_help.c:2493 sql_help.c:2923
-#: sql_help.c:3089
+#: sql_help.c:110 sql_help.c:368 sql_help.c:446 sql_help.c:458 sql_help.c:814
+#: sql_help.c:899 sql_help.c:1122 sql_help.c:1242 sql_help.c:1270
+#: sql_help.c:1515 sql_help.c:1521 sql_help.c:1816 sql_help.c:1848
+#: sql_help.c:1855 sql_help.c:1931 sql_help.c:2095 sql_help.c:2184
+#: sql_help.c:2364 sql_help.c:2543 sql_help.c:2565 sql_help.c:3003
+#: sql_help.c:3169
 msgid "option"
 msgstr "параметр"
 
-#: sql_help.c:108 sql_help.c:788 sql_help.c:1212 sql_help.c:1859
-#: sql_help.c:2024 sql_help.c:2472
+#: sql_help.c:111 sql_help.c:815 sql_help.c:1243 sql_help.c:1932
+#: sql_help.c:2096 sql_help.c:2544
 msgid "where option can be:"
 msgstr "где допустимые параметры:"
 
-#: sql_help.c:109 sql_help.c:1676
+#: sql_help.c:112 sql_help.c:1748
 msgid "allowconn"
 msgstr "разр_подключения"
 
-#: sql_help.c:110 sql_help.c:789 sql_help.c:1213 sql_help.c:1677
-#: sql_help.c:2025 sql_help.c:2473
+#: sql_help.c:113 sql_help.c:816 sql_help.c:1244 sql_help.c:1749
+#: sql_help.c:2097 sql_help.c:2545
 msgid "connlimit"
 msgstr "предел_подключений"
 
-#: sql_help.c:111 sql_help.c:1678
+#: sql_help.c:114 sql_help.c:1750
 msgid "istemplate"
 msgstr "это_шаблон"
 
-#: sql_help.c:117 sql_help.c:557 sql_help.c:619 sql_help.c:634 sql_help.c:974
-#: sql_help.c:1011
+#: sql_help.c:120 sql_help.c:571 sql_help.c:637 sql_help.c:652 sql_help.c:1001
+#: sql_help.c:1038
 msgid "new_tablespace"
 msgstr "новое_табл_пространство"
 
-#: sql_help.c:119 sql_help.c:122 sql_help.c:124 sql_help.c:506 sql_help.c:508
-#: sql_help.c:509 sql_help.c:796 sql_help.c:800 sql_help.c:803 sql_help.c:888
-#: sql_help.c:891 sql_help.c:1219 sql_help.c:1222 sql_help.c:1224
-#: sql_help.c:1826 sql_help.c:3274 sql_help.c:3665
+#: sql_help.c:122 sql_help.c:125 sql_help.c:127 sql_help.c:517 sql_help.c:519
+#: sql_help.c:520 sql_help.c:823 sql_help.c:827 sql_help.c:830 sql_help.c:915
+#: sql_help.c:918 sql_help.c:1250 sql_help.c:1253 sql_help.c:1255
+#: sql_help.c:1900 sql_help.c:3354 sql_help.c:3745
 msgid "configuration_parameter"
 msgstr "параметр_конфигурации"
 
-#: sql_help.c:120 sql_help.c:366 sql_help.c:438 sql_help.c:444 sql_help.c:456
-#: sql_help.c:507 sql_help.c:552 sql_help.c:625 sql_help.c:631 sql_help.c:797
-#: sql_help.c:873 sql_help.c:889 sql_help.c:890 sql_help.c:993 sql_help.c:1013
-#: sql_help.c:1039 sql_help.c:1096 sql_help.c:1220 sql_help.c:1240
-#: sql_help.c:1744 sql_help.c:1776 sql_help.c:1783 sql_help.c:1827
-#: sql_help.c:1828 sql_help.c:1887 sql_help.c:1919 sql_help.c:2113
-#: sql_help.c:2187 sql_help.c:2195 sql_help.c:2227 sql_help.c:2249
-#: sql_help.c:2266 sql_help.c:2293 sql_help.c:2494 sql_help.c:3090
-#: sql_help.c:3666 sql_help.c:3667
+#: sql_help.c:123 sql_help.c:369 sql_help.c:441 sql_help.c:447 sql_help.c:459
+#: sql_help.c:518 sql_help.c:566 sql_help.c:643 sql_help.c:649 sql_help.c:824
+#: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020 sql_help.c:1040
+#: sql_help.c:1066 sql_help.c:1123 sql_help.c:1251 sql_help.c:1271
+#: sql_help.c:1817 sql_help.c:1849 sql_help.c:1856 sql_help.c:1901
+#: sql_help.c:1902 sql_help.c:1960 sql_help.c:1992 sql_help.c:2185
+#: sql_help.c:2259 sql_help.c:2267 sql_help.c:2299 sql_help.c:2321
+#: sql_help.c:2338 sql_help.c:2365 sql_help.c:2566 sql_help.c:3170
+#: sql_help.c:3746 sql_help.c:3747
 msgid "value"
 msgstr "значение"
 
-#: sql_help.c:182
+#: sql_help.c:185
 msgid "target_role"
 msgstr "целевая_роль"
 
-#: sql_help.c:183 sql_help.c:1727 sql_help.c:2071 sql_help.c:2076
-#: sql_help.c:3037 sql_help.c:3044 sql_help.c:3058 sql_help.c:3064
-#: sql_help.c:3369 sql_help.c:3376 sql_help.c:3390 sql_help.c:3396
+#: sql_help.c:186 sql_help.c:1800 sql_help.c:2143 sql_help.c:2148
+#: sql_help.c:3117 sql_help.c:3124 sql_help.c:3138 sql_help.c:3144
+#: sql_help.c:3449 sql_help.c:3456 sql_help.c:3470 sql_help.c:3476
 msgid "schema_name"
 msgstr "имя_схемы"
 
-#: sql_help.c:184
+#: sql_help.c:187
 msgid "abbreviated_grant_or_revoke"
 msgstr "предложение_GRANT_или_REVOKE"
 
-#: sql_help.c:185
+#: sql_help.c:188
 msgid "where abbreviated_grant_or_revoke is one of:"
 msgstr "где допустимое предложение_GRANT_или_REVOKE:"
 
-#: sql_help.c:186 sql_help.c:187 sql_help.c:188 sql_help.c:189 sql_help.c:190
-#: sql_help.c:191 sql_help.c:192 sql_help.c:193 sql_help.c:531 sql_help.c:556
-#: sql_help.c:618 sql_help.c:749 sql_help.c:807 sql_help.c:973 sql_help.c:1227
-#: sql_help.c:1862 sql_help.c:1863 sql_help.c:1864 sql_help.c:1865
-#: sql_help.c:1866 sql_help.c:1992 sql_help.c:2028 sql_help.c:2029
-#: sql_help.c:2030 sql_help.c:2031 sql_help.c:2032 sql_help.c:2476
-#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2480
-#: sql_help.c:3071 sql_help.c:3072 sql_help.c:3073 sql_help.c:3370
-#: sql_help.c:3374 sql_help.c:3377 sql_help.c:3379 sql_help.c:3381
-#: sql_help.c:3383 sql_help.c:3385 sql_help.c:3391 sql_help.c:3393
-#: sql_help.c:3395 sql_help.c:3397 sql_help.c:3399 sql_help.c:3401
-#: sql_help.c:3402 sql_help.c:3403 sql_help.c:3686
+#: sql_help.c:189 sql_help.c:190 sql_help.c:191 sql_help.c:192 sql_help.c:193
+#: sql_help.c:194 sql_help.c:195 sql_help.c:196 sql_help.c:542 sql_help.c:570
+#: sql_help.c:636 sql_help.c:777 sql_help.c:834 sql_help.c:1000 sql_help.c:1258
+#: sql_help.c:1935 sql_help.c:1936 sql_help.c:1937 sql_help.c:1938
+#: sql_help.c:1939 sql_help.c:2065 sql_help.c:2100 sql_help.c:2101
+#: sql_help.c:2102 sql_help.c:2103 sql_help.c:2104 sql_help.c:2548
+#: sql_help.c:2549 sql_help.c:2550 sql_help.c:2551 sql_help.c:2552
+#: sql_help.c:3151 sql_help.c:3152 sql_help.c:3153 sql_help.c:3450
+#: sql_help.c:3454 sql_help.c:3457 sql_help.c:3459 sql_help.c:3461
+#: sql_help.c:3463 sql_help.c:3465 sql_help.c:3471 sql_help.c:3473
+#: sql_help.c:3475 sql_help.c:3477 sql_help.c:3479 sql_help.c:3481
+#: sql_help.c:3482 sql_help.c:3483 sql_help.c:3766
 msgid "role_name"
 msgstr "имя_роли"
 
-#: sql_help.c:219 sql_help.c:431 sql_help.c:984 sql_help.c:986 sql_help.c:1256
-#: sql_help.c:1697 sql_help.c:1701 sql_help.c:1786 sql_help.c:1790
-#: sql_help.c:1883 sql_help.c:2199 sql_help.c:2209 sql_help.c:2231
-#: sql_help.c:3120 sql_help.c:3135 sql_help.c:3137 sql_help.c:3551
-#: sql_help.c:3552 sql_help.c:3561 sql_help.c:3602 sql_help.c:3603
-#: sql_help.c:3604 sql_help.c:3605 sql_help.c:3606 sql_help.c:3607
-#: sql_help.c:3640 sql_help.c:3641 sql_help.c:3646 sql_help.c:3651
-#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3800 sql_help.c:3841
-#: sql_help.c:3842 sql_help.c:3843 sql_help.c:3844 sql_help.c:3845
-#: sql_help.c:3846 sql_help.c:3893 sql_help.c:3895 sql_help.c:3928
-#: sql_help.c:3984 sql_help.c:3985 sql_help.c:3994 sql_help.c:4035
-#: sql_help.c:4036 sql_help.c:4037 sql_help.c:4038 sql_help.c:4039
-#: sql_help.c:4040
+#: sql_help.c:222 sql_help.c:434 sql_help.c:1011 sql_help.c:1013
+#: sql_help.c:1287 sql_help.c:1769 sql_help.c:1773 sql_help.c:1859
+#: sql_help.c:1863 sql_help.c:1956 sql_help.c:2271 sql_help.c:2281
+#: sql_help.c:2303 sql_help.c:3200 sql_help.c:3215 sql_help.c:3217
+#: sql_help.c:3631 sql_help.c:3632 sql_help.c:3641 sql_help.c:3682
+#: sql_help.c:3683 sql_help.c:3684 sql_help.c:3685 sql_help.c:3686
+#: sql_help.c:3687 sql_help.c:3720 sql_help.c:3721 sql_help.c:3726
+#: sql_help.c:3731 sql_help.c:3870 sql_help.c:3871 sql_help.c:3880
+#: sql_help.c:3921 sql_help.c:3922 sql_help.c:3923 sql_help.c:3924
+#: sql_help.c:3925 sql_help.c:3926 sql_help.c:3973 sql_help.c:3975
+#: sql_help.c:4008 sql_help.c:4064 sql_help.c:4065 sql_help.c:4074
+#: sql_help.c:4115 sql_help.c:4116 sql_help.c:4117 sql_help.c:4118
+#: sql_help.c:4119 sql_help.c:4120
 msgid "expression"
 msgstr "выражение"
 
-#: sql_help.c:222
+#: sql_help.c:225
 msgid "domain_constraint"
 msgstr "ограничение_домена"
 
-#: sql_help.c:224 sql_help.c:226 sql_help.c:229 sql_help.c:446 sql_help.c:447
-#: sql_help.c:966 sql_help.c:999 sql_help.c:1000 sql_help.c:1001
-#: sql_help.c:1021 sql_help.c:1378 sql_help.c:1380 sql_help.c:1700
-#: sql_help.c:1785 sql_help.c:1789 sql_help.c:2198 sql_help.c:2208
-#: sql_help.c:3132
+#: sql_help.c:227 sql_help.c:229 sql_help.c:232 sql_help.c:449 sql_help.c:450
+#: sql_help.c:993 sql_help.c:1026 sql_help.c:1027 sql_help.c:1028
+#: sql_help.c:1048 sql_help.c:1411 sql_help.c:1413 sql_help.c:1772
+#: sql_help.c:1858 sql_help.c:1862 sql_help.c:2270 sql_help.c:2280
+#: sql_help.c:3212
 msgid "constraint_name"
 msgstr "имя_ограничения"
 
-#: sql_help.c:227 sql_help.c:967
+#: sql_help.c:230 sql_help.c:994
 msgid "new_constraint_name"
 msgstr "имя_нового_ограничения"
 
-#: sql_help.c:297 sql_help.c:871
+#: sql_help.c:300 sql_help.c:898
 msgid "new_version"
 msgstr "новая_версия"
 
-#: sql_help.c:301 sql_help.c:303
+#: sql_help.c:304 sql_help.c:306
 msgid "member_object"
 msgstr "элемент_объект"
 
-#: sql_help.c:304
+#: sql_help.c:307
 msgid "where member_object is:"
 msgstr "где элемент_объект:"
 
-#: sql_help.c:305 sql_help.c:1371 sql_help.c:3471
+#: sql_help.c:308 sql_help.c:1404 sql_help.c:3551
 msgid "aggregate_name"
 msgstr "имя_агр_функции"
 
-#: sql_help.c:307 sql_help.c:1373 sql_help.c:1615 sql_help.c:1619
-#: sql_help.c:1621 sql_help.c:2595
+#: sql_help.c:310 sql_help.c:1406 sql_help.c:1687 sql_help.c:1691
+#: sql_help.c:1693 sql_help.c:2675
 msgid "source_type"
 msgstr "исходный_тип"
 
-#: sql_help.c:308 sql_help.c:1374 sql_help.c:1616 sql_help.c:1620
-#: sql_help.c:1622 sql_help.c:2596
+#: sql_help.c:311 sql_help.c:1407 sql_help.c:1688 sql_help.c:1692
+#: sql_help.c:1694 sql_help.c:2676
 msgid "target_type"
 msgstr "целевой_тип"
 
-#: sql_help.c:309 sql_help.c:310 sql_help.c:311 sql_help.c:312 sql_help.c:313
-#: sql_help.c:314 sql_help.c:319 sql_help.c:323 sql_help.c:325 sql_help.c:327
-#: sql_help.c:328 sql_help.c:329 sql_help.c:330 sql_help.c:331 sql_help.c:332
-#: sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:338 sql_help.c:339
-#: sql_help.c:1375 sql_help.c:1382 sql_help.c:1383 sql_help.c:1384
-#: sql_help.c:1385 sql_help.c:1386 sql_help.c:1387 sql_help.c:1388
-#: sql_help.c:1393 sql_help.c:1395 sql_help.c:1399 sql_help.c:1401
-#: sql_help.c:1405 sql_help.c:1406 sql_help.c:1409 sql_help.c:1410
-#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:1414
-#: sql_help.c:1415 sql_help.c:1416 sql_help.c:1417 sql_help.c:1422
-#: sql_help.c:1423 sql_help.c:3468 sql_help.c:3473 sql_help.c:3474
-#: sql_help.c:3475 sql_help.c:3476 sql_help.c:3482 sql_help.c:3483
-#: sql_help.c:3484 sql_help.c:3485 sql_help.c:3486 sql_help.c:3487
-#: sql_help.c:3488 sql_help.c:3489
+#: sql_help.c:312 sql_help.c:313 sql_help.c:314 sql_help.c:315 sql_help.c:316
+#: sql_help.c:317 sql_help.c:322 sql_help.c:326 sql_help.c:328 sql_help.c:330
+#: sql_help.c:331 sql_help.c:332 sql_help.c:333 sql_help.c:334 sql_help.c:335
+#: sql_help.c:336 sql_help.c:337 sql_help.c:338 sql_help.c:341 sql_help.c:342
+#: sql_help.c:1403 sql_help.c:1408 sql_help.c:1415 sql_help.c:1416
+#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1419 sql_help.c:1420
+#: sql_help.c:1421 sql_help.c:1426 sql_help.c:1428 sql_help.c:1432
+#: sql_help.c:1434 sql_help.c:1438 sql_help.c:1439 sql_help.c:1442
+#: sql_help.c:1443 sql_help.c:1444 sql_help.c:1445 sql_help.c:1446
+#: sql_help.c:1447 sql_help.c:1448 sql_help.c:1449 sql_help.c:1450
+#: sql_help.c:1455 sql_help.c:1456 sql_help.c:3548 sql_help.c:3553
+#: sql_help.c:3554 sql_help.c:3555 sql_help.c:3556 sql_help.c:3562
+#: sql_help.c:3563 sql_help.c:3564 sql_help.c:3565 sql_help.c:3566
+#: sql_help.c:3567 sql_help.c:3568 sql_help.c:3569
 msgid "object_name"
 msgstr "имя_объекта"
 
-#: sql_help.c:315 sql_help.c:713 sql_help.c:1389 sql_help.c:1617
-#: sql_help.c:1652 sql_help.c:1715 sql_help.c:1936 sql_help.c:1967
-#: sql_help.c:2367 sql_help.c:3054 sql_help.c:3386 sql_help.c:3477
-#: sql_help.c:3580 sql_help.c:3584 sql_help.c:3588 sql_help.c:3591
-#: sql_help.c:3819 sql_help.c:3823 sql_help.c:3827 sql_help.c:3830
-#: sql_help.c:4013 sql_help.c:4017 sql_help.c:4021 sql_help.c:4024
+#: sql_help.c:318 sql_help.c:741 sql_help.c:1422 sql_help.c:1689
+#: sql_help.c:1724 sql_help.c:1787 sql_help.c:2009 sql_help.c:2040
+#: sql_help.c:2439 sql_help.c:3134 sql_help.c:3466 sql_help.c:3557
+#: sql_help.c:3660 sql_help.c:3664 sql_help.c:3668 sql_help.c:3671
+#: sql_help.c:3899 sql_help.c:3903 sql_help.c:3907 sql_help.c:3910
+#: sql_help.c:4093 sql_help.c:4097 sql_help.c:4101 sql_help.c:4104
 msgid "function_name"
 msgstr "имя_функции"
 
-#: sql_help.c:320 sql_help.c:706 sql_help.c:1396 sql_help.c:1960
+#: sql_help.c:323 sql_help.c:734 sql_help.c:1429 sql_help.c:2033
 msgid "operator_name"
 msgstr "имя_оператора"
 
-#: sql_help.c:321 sql_help.c:647 sql_help.c:651 sql_help.c:1397
-#: sql_help.c:1937 sql_help.c:2713
+#: sql_help.c:324 sql_help.c:670 sql_help.c:674 sql_help.c:678 sql_help.c:1430
+#: sql_help.c:2010 sql_help.c:2793
 msgid "left_type"
 msgstr "тип_слева"
 
-#: sql_help.c:322 sql_help.c:648 sql_help.c:652 sql_help.c:1398
-#: sql_help.c:1938 sql_help.c:2714
+#: sql_help.c:325 sql_help.c:671 sql_help.c:675 sql_help.c:679 sql_help.c:1431
+#: sql_help.c:2011 sql_help.c:2794
 msgid "right_type"
 msgstr "тип_справа"
 
-#: sql_help.c:324 sql_help.c:326 sql_help.c:669 sql_help.c:672 sql_help.c:675
-#: sql_help.c:704 sql_help.c:716 sql_help.c:724 sql_help.c:727 sql_help.c:730
-#: sql_help.c:1400 sql_help.c:1402 sql_help.c:1957 sql_help.c:1978
-#: sql_help.c:2214 sql_help.c:2723 sql_help.c:2732
+#: sql_help.c:327 sql_help.c:329 sql_help.c:697 sql_help.c:700 sql_help.c:703
+#: sql_help.c:732 sql_help.c:744 sql_help.c:752 sql_help.c:755 sql_help.c:758
+#: sql_help.c:1433 sql_help.c:1435 sql_help.c:2030 sql_help.c:2051
+#: sql_help.c:2286 sql_help.c:2803 sql_help.c:2812
 msgid "index_method"
 msgstr "метод_индекса"
 
-#: sql_help.c:336 sql_help.c:1017 sql_help.c:1418 sql_help.c:1823
-#: sql_help.c:2190 sql_help.c:2336 sql_help.c:2846 sql_help.c:3068
-#: sql_help.c:3400
+#: sql_help.c:339 sql_help.c:1044 sql_help.c:1451 sql_help.c:1897
+#: sql_help.c:2262 sql_help.c:2408 sql_help.c:2926 sql_help.c:3148
+#: sql_help.c:3480
 msgid "type_name"
 msgstr "имя_типа"
 
-#: sql_help.c:337 sql_help.c:1419 sql_help.c:1822 sql_help.c:2337
-#: sql_help.c:2561 sql_help.c:2847 sql_help.c:3060 sql_help.c:3392
+#: sql_help.c:340 sql_help.c:1452 sql_help.c:1896 sql_help.c:2409
+#: sql_help.c:2633 sql_help.c:2927 sql_help.c:3140 sql_help.c:3472
 msgid "lang_name"
 msgstr "имя_языка"
 
-#: sql_help.c:340
+#: sql_help.c:343
 msgid "and aggregate_signature is:"
 msgstr "и сигнатура_агр_функции:"
 
-#: sql_help.c:363 sql_help.c:1741
+#: sql_help.c:366 sql_help.c:1546 sql_help.c:1814
 msgid "handler_function"
 msgstr "функция_обработчик"
 
-#: sql_help.c:364 sql_help.c:1742
+#: sql_help.c:367 sql_help.c:1815
 msgid "validator_function"
 msgstr "функция_проверки"
 
-#: sql_help.c:413 sql_help.c:487 sql_help.c:609 sql_help.c:961 sql_help.c:1156
-#: sql_help.c:2205 sql_help.c:2206 sql_help.c:2222 sql_help.c:2223
+#: sql_help.c:416 sql_help.c:493 sql_help.c:625 sql_help.c:988 sql_help.c:1187
+#: sql_help.c:2277 sql_help.c:2278 sql_help.c:2294 sql_help.c:2295
 msgid "action"
 msgstr "действие"
 
-#: sql_help.c:415 sql_help.c:422 sql_help.c:426 sql_help.c:427 sql_help.c:430
-#: sql_help.c:432 sql_help.c:433 sql_help.c:434 sql_help.c:436 sql_help.c:439
-#: sql_help.c:441 sql_help.c:442 sql_help.c:611 sql_help.c:621 sql_help.c:623
-#: sql_help.c:626 sql_help.c:628 sql_help.c:853 sql_help.c:963 sql_help.c:976
-#: sql_help.c:980 sql_help.c:981 sql_help.c:985 sql_help.c:987 sql_help.c:988
-#: sql_help.c:989 sql_help.c:991 sql_help.c:994 sql_help.c:996 sql_help.c:1255
-#: sql_help.c:1258 sql_help.c:1278 sql_help.c:1377 sql_help.c:1479
-#: sql_help.c:1484 sql_help.c:1498 sql_help.c:1499 sql_help.c:1500
-#: sql_help.c:1773 sql_help.c:1820 sql_help.c:1882 sql_help.c:1917
-#: sql_help.c:2098 sql_help.c:2178 sql_help.c:2191 sql_help.c:2210
-#: sql_help.c:2212 sql_help.c:2219 sql_help.c:2230 sql_help.c:2247
-#: sql_help.c:2370 sql_help.c:2506 sql_help.c:3039 sql_help.c:3040
-#: sql_help.c:3119 sql_help.c:3134 sql_help.c:3136 sql_help.c:3138
-#: sql_help.c:3371 sql_help.c:3372 sql_help.c:3470 sql_help.c:3611
-#: sql_help.c:3850 sql_help.c:3892 sql_help.c:3894 sql_help.c:3896
-#: sql_help.c:3913 sql_help.c:3916 sql_help.c:4044
+#: sql_help.c:418 sql_help.c:425 sql_help.c:429 sql_help.c:430 sql_help.c:433
+#: sql_help.c:435 sql_help.c:436 sql_help.c:437 sql_help.c:439 sql_help.c:442
+#: sql_help.c:444 sql_help.c:445 sql_help.c:629 sql_help.c:639 sql_help.c:641
+#: sql_help.c:644 sql_help.c:646 sql_help.c:880 sql_help.c:990 sql_help.c:1003
+#: sql_help.c:1007 sql_help.c:1008 sql_help.c:1012 sql_help.c:1014
+#: sql_help.c:1015 sql_help.c:1016 sql_help.c:1018 sql_help.c:1021
+#: sql_help.c:1023 sql_help.c:1286 sql_help.c:1289 sql_help.c:1309
+#: sql_help.c:1410 sql_help.c:1512 sql_help.c:1517 sql_help.c:1531
+#: sql_help.c:1532 sql_help.c:1533 sql_help.c:1846 sql_help.c:1894
+#: sql_help.c:1955 sql_help.c:1990 sql_help.c:2170 sql_help.c:2250
+#: sql_help.c:2263 sql_help.c:2282 sql_help.c:2284 sql_help.c:2291
+#: sql_help.c:2302 sql_help.c:2319 sql_help.c:2442 sql_help.c:2578
+#: sql_help.c:3119 sql_help.c:3120 sql_help.c:3199 sql_help.c:3214
+#: sql_help.c:3216 sql_help.c:3218 sql_help.c:3451 sql_help.c:3452
+#: sql_help.c:3550 sql_help.c:3691 sql_help.c:3930 sql_help.c:3972
+#: sql_help.c:3974 sql_help.c:3976 sql_help.c:3993 sql_help.c:3996
+#: sql_help.c:4124
 msgid "column_name"
 msgstr "имя_столбца"
 
-#: sql_help.c:416 sql_help.c:612 sql_help.c:964
+#: sql_help.c:419 sql_help.c:630 sql_help.c:991
 msgid "new_column_name"
 msgstr "новое_имя_столбца"
 
-#: sql_help.c:421 sql_help.c:503 sql_help.c:620 sql_help.c:975 sql_help.c:1169
+#: sql_help.c:424 sql_help.c:514 sql_help.c:638 sql_help.c:1002 sql_help.c:1200
 msgid "where action is one of:"
 msgstr "где допустимое действие:"
 
-#: sql_help.c:423 sql_help.c:428 sql_help.c:977 sql_help.c:982 sql_help.c:1171
-#: sql_help.c:1175 sql_help.c:1695 sql_help.c:1774 sql_help.c:1956
-#: sql_help.c:2179 sql_help.c:2415 sql_help.c:3221
+#: sql_help.c:426 sql_help.c:431 sql_help.c:1004 sql_help.c:1009
+#: sql_help.c:1202 sql_help.c:1206 sql_help.c:1767 sql_help.c:1847
+#: sql_help.c:2029 sql_help.c:2251 sql_help.c:2487 sql_help.c:3301
 msgid "data_type"
 msgstr "тип_данных"
 
-#: sql_help.c:424 sql_help.c:429 sql_help.c:978 sql_help.c:983 sql_help.c:1172
-#: sql_help.c:1176 sql_help.c:1696 sql_help.c:1777 sql_help.c:1884
-#: sql_help.c:2180 sql_help.c:2416 sql_help.c:2422 sql_help.c:3129
+#: sql_help.c:427 sql_help.c:432 sql_help.c:1005 sql_help.c:1010
+#: sql_help.c:1203 sql_help.c:1207 sql_help.c:1768 sql_help.c:1850
+#: sql_help.c:1957 sql_help.c:2252 sql_help.c:2488 sql_help.c:2494
+#: sql_help.c:3209
 msgid "collation"
 msgstr "правило_сортировки"
 
-#: sql_help.c:425 sql_help.c:979 sql_help.c:1778 sql_help.c:2181
-#: sql_help.c:2192
+#: sql_help.c:428 sql_help.c:1006 sql_help.c:1851 sql_help.c:2253
+#: sql_help.c:2264
 msgid "column_constraint"
 msgstr "ограничение_столбца"
 
-#: sql_help.c:435 sql_help.c:622 sql_help.c:990
+#: sql_help.c:438 sql_help.c:640 sql_help.c:1017
 msgid "integer"
 msgstr "целое"
 
-#: sql_help.c:437 sql_help.c:440 sql_help.c:624 sql_help.c:627 sql_help.c:992
-#: sql_help.c:995
+#: sql_help.c:440 sql_help.c:443 sql_help.c:642 sql_help.c:645 sql_help.c:1019
+#: sql_help.c:1022
 msgid "attribute_option"
 msgstr "атрибут"
 
-#: sql_help.c:445 sql_help.c:997 sql_help.c:1779 sql_help.c:2182
-#: sql_help.c:2193
+#: sql_help.c:448 sql_help.c:1024 sql_help.c:1852 sql_help.c:2254
+#: sql_help.c:2265
 msgid "table_constraint"
 msgstr "ограничение_таблицы"
 
-#: sql_help.c:448 sql_help.c:449 sql_help.c:450 sql_help.c:451 sql_help.c:1002
-#: sql_help.c:1003 sql_help.c:1004 sql_help.c:1005 sql_help.c:1420
+#: sql_help.c:451 sql_help.c:452 sql_help.c:453 sql_help.c:454 sql_help.c:1029
+#: sql_help.c:1030 sql_help.c:1031 sql_help.c:1032 sql_help.c:1453
 msgid "trigger_name"
 msgstr "имя_триггера"
 
-#: sql_help.c:452 sql_help.c:453 sql_help.c:1015 sql_help.c:1016
-#: sql_help.c:1780 sql_help.c:2185
+#: sql_help.c:455 sql_help.c:456 sql_help.c:1042 sql_help.c:1043
+#: sql_help.c:1853 sql_help.c:2257
 msgid "parent_table"
 msgstr "таблица_родитель"
 
-#: sql_help.c:504 sql_help.c:1824
+#: sql_help.c:513 sql_help.c:563 sql_help.c:627 sql_help.c:1167 sql_help.c:1799
+msgid "extension_name"
+msgstr "имя_расширения"
+
+#: sql_help.c:515 sql_help.c:1898
 msgid "execution_cost"
 msgstr "стоимость_выполнения"
 
-#: sql_help.c:505 sql_help.c:1825
+#: sql_help.c:516 sql_help.c:1899
 msgid "result_rows"
 msgstr "строк_в_результате"
 
-#: sql_help.c:526 sql_help.c:528 sql_help.c:786 sql_help.c:794 sql_help.c:798
-#: sql_help.c:801 sql_help.c:804 sql_help.c:1210 sql_help.c:1218
-#: sql_help.c:1221 sql_help.c:1223 sql_help.c:1225 sql_help.c:2072
-#: sql_help.c:2074 sql_help.c:2077 sql_help.c:2078 sql_help.c:3038
-#: sql_help.c:3042 sql_help.c:3045 sql_help.c:3047 sql_help.c:3049
-#: sql_help.c:3051 sql_help.c:3053 sql_help.c:3059 sql_help.c:3061
-#: sql_help.c:3063 sql_help.c:3065 sql_help.c:3067 sql_help.c:3069
+#: sql_help.c:537 sql_help.c:539 sql_help.c:813 sql_help.c:821 sql_help.c:825
+#: sql_help.c:828 sql_help.c:831 sql_help.c:1241 sql_help.c:1249
+#: sql_help.c:1252 sql_help.c:1254 sql_help.c:1256 sql_help.c:2144
+#: sql_help.c:2146 sql_help.c:2149 sql_help.c:2150 sql_help.c:3118
+#: sql_help.c:3122 sql_help.c:3125 sql_help.c:3127 sql_help.c:3129
+#: sql_help.c:3131 sql_help.c:3133 sql_help.c:3139 sql_help.c:3141
+#: sql_help.c:3143 sql_help.c:3145 sql_help.c:3147 sql_help.c:3149
 msgid "role_specification"
 msgstr "указание_роли"
 
-#: sql_help.c:527 sql_help.c:529 sql_help.c:1237 sql_help.c:1670
-#: sql_help.c:2080 sql_help.c:2491 sql_help.c:2880 sql_help.c:3696
+#: sql_help.c:538 sql_help.c:540 sql_help.c:1268 sql_help.c:1742
+#: sql_help.c:2152 sql_help.c:2563 sql_help.c:2960 sql_help.c:3776
 msgid "user_name"
 msgstr "имя_пользователя"
 
-#: sql_help.c:530 sql_help.c:806 sql_help.c:1226 sql_help.c:2079
-#: sql_help.c:3070
+#: sql_help.c:541 sql_help.c:833 sql_help.c:1257 sql_help.c:2151
+#: sql_help.c:3150
 msgid "where role_specification can be:"
 msgstr "где допустимое указание_роли:"
 
-#: sql_help.c:532
+#: sql_help.c:543
 msgid "group_name"
 msgstr "имя_группы"
 
-#: sql_help.c:549 sql_help.c:1675 sql_help.c:1888 sql_help.c:1920
-#: sql_help.c:2188 sql_help.c:2196 sql_help.c:2228 sql_help.c:2250
-#: sql_help.c:2262 sql_help.c:3066 sql_help.c:3398
+#: sql_help.c:561 sql_help.c:1747 sql_help.c:1961 sql_help.c:1993
+#: sql_help.c:2260 sql_help.c:2268 sql_help.c:2300 sql_help.c:2322
+#: sql_help.c:2334 sql_help.c:3146 sql_help.c:3478
 msgid "tablespace_name"
 msgstr "табл_пространство"
 
-#: sql_help.c:551 sql_help.c:554 sql_help.c:630 sql_help.c:632 sql_help.c:1012
-#: sql_help.c:1014 sql_help.c:1886 sql_help.c:1918 sql_help.c:2186
-#: sql_help.c:2194 sql_help.c:2226 sql_help.c:2248
+#: sql_help.c:565 sql_help.c:568 sql_help.c:648 sql_help.c:650 sql_help.c:1039
+#: sql_help.c:1041 sql_help.c:1959 sql_help.c:1991 sql_help.c:2258
+#: sql_help.c:2266 sql_help.c:2298 sql_help.c:2320
 msgid "storage_parameter"
 msgstr "параметр_хранения"
 
-#: sql_help.c:577 sql_help.c:1394 sql_help.c:3481
+#: sql_help.c:591 sql_help.c:1427 sql_help.c:3561
 msgid "large_object_oid"
 msgstr "oid_большого_объекта"
 
-#: sql_help.c:629 sql_help.c:1010 sql_help.c:1019 sql_help.c:1022
-#: sql_help.c:1318
+#: sql_help.c:647 sql_help.c:1037 sql_help.c:1046 sql_help.c:1049
+#: sql_help.c:1349
 msgid "index_name"
 msgstr "имя_индекса"
 
-#: sql_help.c:705 sql_help.c:717 sql_help.c:1959
+#: sql_help.c:680 sql_help.c:2014
+msgid "res_proc"
+msgstr "процедура_ограничения"
+
+#: sql_help.c:681 sql_help.c:2015
+msgid "join_proc"
+msgstr "процедура_соединения"
+
+#: sql_help.c:733 sql_help.c:745 sql_help.c:2032
 msgid "strategy_number"
 msgstr "номер_стратегии"
 
-#: sql_help.c:707 sql_help.c:708 sql_help.c:711 sql_help.c:712 sql_help.c:718
-#: sql_help.c:719 sql_help.c:721 sql_help.c:722 sql_help.c:1961
-#: sql_help.c:1962 sql_help.c:1965 sql_help.c:1966
+#: sql_help.c:735 sql_help.c:736 sql_help.c:739 sql_help.c:740 sql_help.c:746
+#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2034 sql_help.c:2035
+#: sql_help.c:2038 sql_help.c:2039
 msgid "op_type"
 msgstr "тип_операции"
 
-#: sql_help.c:709 sql_help.c:1963
+#: sql_help.c:737 sql_help.c:2036
 msgid "sort_family_name"
 msgstr "семейство_сортировки"
 
-#: sql_help.c:710 sql_help.c:720 sql_help.c:1964
+#: sql_help.c:738 sql_help.c:748 sql_help.c:2037
 msgid "support_number"
 msgstr "номер_опорной_процедуры"
 
-#: sql_help.c:714 sql_help.c:1618 sql_help.c:1968 sql_help.c:2339
-#: sql_help.c:2341
+#: sql_help.c:742 sql_help.c:1690 sql_help.c:2041 sql_help.c:2411
+#: sql_help.c:2413
 msgid "argument_type"
 msgstr "тип_аргумента"
 
-#: sql_help.c:745 sql_help.c:748 sql_help.c:816 sql_help.c:852 sql_help.c:1135
-#: sql_help.c:1277 sql_help.c:1317 sql_help.c:1379 sql_help.c:1404
-#: sql_help.c:1408 sql_help.c:1421 sql_help.c:1478 sql_help.c:1483
-#: sql_help.c:1772 sql_help.c:1880 sql_help.c:1916 sql_help.c:1991
-#: sql_help.c:2049 sql_help.c:2097 sql_help.c:2177 sql_help.c:2189
-#: sql_help.c:2246 sql_help.c:2364 sql_help.c:2540 sql_help.c:2749
-#: sql_help.c:2766 sql_help.c:2856 sql_help.c:3036 sql_help.c:3041
-#: sql_help.c:3086 sql_help.c:3117 sql_help.c:3368 sql_help.c:3373
-#: sql_help.c:3469 sql_help.c:3566 sql_help.c:3568 sql_help.c:3617
-#: sql_help.c:3656 sql_help.c:3805 sql_help.c:3807 sql_help.c:3856
-#: sql_help.c:3890 sql_help.c:3912 sql_help.c:3914 sql_help.c:3915
-#: sql_help.c:3999 sql_help.c:4001 sql_help.c:4050
+#: sql_help.c:773 sql_help.c:776 sql_help.c:843 sql_help.c:879 sql_help.c:1163
+#: sql_help.c:1166 sql_help.c:1308 sql_help.c:1348 sql_help.c:1412
+#: sql_help.c:1437 sql_help.c:1441 sql_help.c:1454 sql_help.c:1511
+#: sql_help.c:1516 sql_help.c:1845 sql_help.c:1953 sql_help.c:1989
+#: sql_help.c:2064 sql_help.c:2121 sql_help.c:2169 sql_help.c:2249
+#: sql_help.c:2261 sql_help.c:2318 sql_help.c:2436 sql_help.c:2612
+#: sql_help.c:2829 sql_help.c:2846 sql_help.c:2936 sql_help.c:3116
+#: sql_help.c:3121 sql_help.c:3166 sql_help.c:3197 sql_help.c:3448
+#: sql_help.c:3453 sql_help.c:3549 sql_help.c:3646 sql_help.c:3648
+#: sql_help.c:3697 sql_help.c:3736 sql_help.c:3885 sql_help.c:3887
+#: sql_help.c:3936 sql_help.c:3970 sql_help.c:3992 sql_help.c:3994
+#: sql_help.c:3995 sql_help.c:4079 sql_help.c:4081 sql_help.c:4130
 msgid "table_name"
 msgstr "имя_таблицы"
 
-#: sql_help.c:750 sql_help.c:1993
+#: sql_help.c:778 sql_help.c:2066
 msgid "using_expression"
 msgstr "выражение_использования"
 
-#: sql_help.c:751 sql_help.c:1994
+#: sql_help.c:779 sql_help.c:2067
 msgid "check_expression"
 msgstr "выражение_проверки"
 
-#: sql_help.c:790 sql_help.c:1214 sql_help.c:1860 sql_help.c:2026
-#: sql_help.c:2474
+#: sql_help.c:817 sql_help.c:1245 sql_help.c:1933 sql_help.c:2098
+#: sql_help.c:2546
 msgid "password"
 msgstr "пароль"
 
-#: sql_help.c:791 sql_help.c:1215 sql_help.c:1861 sql_help.c:2027
-#: sql_help.c:2475
+#: sql_help.c:818 sql_help.c:1246 sql_help.c:1934 sql_help.c:2099
+#: sql_help.c:2547
 msgid "timestamp"
 msgstr "timestamp"
 
-#: sql_help.c:795 sql_help.c:799 sql_help.c:802 sql_help.c:805 sql_help.c:3046
-#: sql_help.c:3378
+#: sql_help.c:822 sql_help.c:826 sql_help.c:829 sql_help.c:832 sql_help.c:3126
+#: sql_help.c:3458
 msgid "database_name"
 msgstr "имя_БД"
 
-#: sql_help.c:846 sql_help.c:2092
+#: sql_help.c:873 sql_help.c:2164
 msgid "increment"
 msgstr "шаг"
 
-#: sql_help.c:847 sql_help.c:2093
+#: sql_help.c:874 sql_help.c:2165
 msgid "minvalue"
 msgstr "мин_значение"
 
-#: sql_help.c:848 sql_help.c:2094
+#: sql_help.c:875 sql_help.c:2166
 msgid "maxvalue"
 msgstr "макс_значение"
 
-#: sql_help.c:849 sql_help.c:2095 sql_help.c:3564 sql_help.c:3654
-#: sql_help.c:3803 sql_help.c:3932 sql_help.c:3997
+#: sql_help.c:876 sql_help.c:2167 sql_help.c:3644 sql_help.c:3734
+#: sql_help.c:3883 sql_help.c:4012 sql_help.c:4077
 msgid "start"
 msgstr "начальное_значение"
 
-#: sql_help.c:850
+#: sql_help.c:877
 msgid "restart"
 msgstr "значение_перезапуска"
 
-#: sql_help.c:851 sql_help.c:2096
+#: sql_help.c:878 sql_help.c:2168
 msgid "cache"
 msgstr "кеш"
 
-#: sql_help.c:998
+#: sql_help.c:1025
 msgid "table_constraint_using_index"
 msgstr "ограничение_таблицы_с_индексом"
 
-#: sql_help.c:1006 sql_help.c:1007 sql_help.c:1008 sql_help.c:1009
+#: sql_help.c:1033 sql_help.c:1034 sql_help.c:1035 sql_help.c:1036
 msgid "rewrite_rule_name"
 msgstr "имя_правила_перезаписи"
 
-#: sql_help.c:1020
+#: sql_help.c:1047
 msgid "and table_constraint_using_index is:"
 msgstr "и ограничение_таблицы_с_индексом:"
 
-#: sql_help.c:1038 sql_help.c:1041 sql_help.c:2265
+#: sql_help.c:1065 sql_help.c:1068 sql_help.c:2337
 msgid "tablespace_option"
 msgstr "параметр_табл_пространства"
 
-#: sql_help.c:1062 sql_help.c:1065 sql_help.c:1071 sql_help.c:1075
+#: sql_help.c:1089 sql_help.c:1092 sql_help.c:1098 sql_help.c:1102
 msgid "token_type"
 msgstr "тип_фрагмента"
 
-#: sql_help.c:1063 sql_help.c:1066
+#: sql_help.c:1090 sql_help.c:1093
 msgid "dictionary_name"
 msgstr "имя_словаря"
 
-#: sql_help.c:1068 sql_help.c:1072
+#: sql_help.c:1095 sql_help.c:1099
 msgid "old_dictionary"
 msgstr "старый_словарь"
 
-#: sql_help.c:1069 sql_help.c:1073
+#: sql_help.c:1096 sql_help.c:1100
 msgid "new_dictionary"
 msgstr "новый_словарь"
 
-#: sql_help.c:1160 sql_help.c:1170 sql_help.c:1173 sql_help.c:1174
-#: sql_help.c:2414
+#: sql_help.c:1191 sql_help.c:1201 sql_help.c:1204 sql_help.c:1205
+#: sql_help.c:2486
 msgid "attribute_name"
 msgstr "имя_атрибута"
 
-#: sql_help.c:1161
+#: sql_help.c:1192
 msgid "new_attribute_name"
 msgstr "новое_имя_атрибута"
 
-#: sql_help.c:1167
+#: sql_help.c:1198
 msgid "new_enum_value"
 msgstr "новое_значение_перечисления"
 
-#: sql_help.c:1168
+#: sql_help.c:1199
 msgid "existing_enum_value"
 msgstr "существующее_значение_перечисления"
 
-#: sql_help.c:1238 sql_help.c:1781 sql_help.c:2108 sql_help.c:2492
-#: sql_help.c:2881 sql_help.c:3052 sql_help.c:3087 sql_help.c:3384
+#: sql_help.c:1269 sql_help.c:1854 sql_help.c:2180 sql_help.c:2564
+#: sql_help.c:2961 sql_help.c:3132 sql_help.c:3167 sql_help.c:3464
 msgid "server_name"
 msgstr "имя_сервера"
 
-#: sql_help.c:1266 sql_help.c:1269 sql_help.c:2507
+#: sql_help.c:1297 sql_help.c:1300 sql_help.c:2579
 msgid "view_option_name"
 msgstr "имя_параметра_представления"
 
-#: sql_help.c:1267 sql_help.c:2508
+#: sql_help.c:1298 sql_help.c:2580
 msgid "view_option_value"
 msgstr "значение_параметра_представления"
 
-#: sql_help.c:1292 sql_help.c:3712 sql_help.c:3714 sql_help.c:3738
+#: sql_help.c:1323 sql_help.c:3792 sql_help.c:3794 sql_help.c:3818
 msgid "transaction_mode"
 msgstr "режим_транзакции"
 
-#: sql_help.c:1293 sql_help.c:3715 sql_help.c:3739
+#: sql_help.c:1324 sql_help.c:3795 sql_help.c:3819
 msgid "where transaction_mode is one of:"
 msgstr "где допустимый режим_транзакции:"
 
-#: sql_help.c:1376
+#: sql_help.c:1409
 msgid "relation_name"
 msgstr "имя_отношения"
 
-#: sql_help.c:1381 sql_help.c:3048 sql_help.c:3380
+#: sql_help.c:1414 sql_help.c:3128 sql_help.c:3460
 msgid "domain_name"
 msgstr "имя_домена"
 
-#: sql_help.c:1403
+#: sql_help.c:1436
 msgid "policy_name"
 msgstr "имя_политики"
 
-#: sql_help.c:1407
+#: sql_help.c:1440
 msgid "rule_name"
 msgstr "имя_правила"
 
-#: sql_help.c:1424
+#: sql_help.c:1457
 msgid "text"
 msgstr "текст"
 
-#: sql_help.c:1449 sql_help.c:3230 sql_help.c:3418
+#: sql_help.c:1482 sql_help.c:3310 sql_help.c:3498
 msgid "transaction_id"
 msgstr "код_транзакции"
 
-#: sql_help.c:1480 sql_help.c:1486 sql_help.c:3156
+#: sql_help.c:1513 sql_help.c:1519 sql_help.c:3236
 msgid "filename"
 msgstr "имя_файла"
 
-#: sql_help.c:1481 sql_help.c:1487 sql_help.c:2051 sql_help.c:2052
-#: sql_help.c:2053
+#: sql_help.c:1514 sql_help.c:1520 sql_help.c:2123 sql_help.c:2124
+#: sql_help.c:2125
 msgid "command"
 msgstr "команда"
 
-#: sql_help.c:1485 sql_help.c:1921 sql_help.c:2251 sql_help.c:2509
-#: sql_help.c:2527 sql_help.c:3121
+#: sql_help.c:1518 sql_help.c:1994 sql_help.c:2323 sql_help.c:2581
+#: sql_help.c:2599 sql_help.c:3201
 msgid "query"
 msgstr "запрос"
 
-#: sql_help.c:1489 sql_help.c:2926
+#: sql_help.c:1522 sql_help.c:3006
 msgid "where option can be one of:"
 msgstr "где допустимый параметр:"
 
-#: sql_help.c:1490
+#: sql_help.c:1523
 msgid "format_name"
 msgstr "имя_формата"
 
-#: sql_help.c:1491 sql_help.c:1492 sql_help.c:1495 sql_help.c:2927
-#: sql_help.c:2928 sql_help.c:2929 sql_help.c:2930 sql_help.c:2931
+#: sql_help.c:1524 sql_help.c:1525 sql_help.c:1528 sql_help.c:3007
+#: sql_help.c:3008 sql_help.c:3009 sql_help.c:3010 sql_help.c:3011
 msgid "boolean"
 msgstr "логическое_значение"
 
-#: sql_help.c:1493
+#: sql_help.c:1526
 msgid "delimiter_character"
 msgstr "символ_разделитель"
 
-#: sql_help.c:1494
+#: sql_help.c:1527
 msgid "null_string"
 msgstr "представление_NULL"
 
-#: sql_help.c:1496
+#: sql_help.c:1529
 msgid "quote_character"
 msgstr "символ_кавычек"
 
-#: sql_help.c:1497
+#: sql_help.c:1530
 msgid "escape_character"
 msgstr "спецсимвол"
 
-#: sql_help.c:1501
+#: sql_help.c:1534
 msgid "encoding_name"
 msgstr "имя_кодировки"
 
-#: sql_help.c:1558 sql_help.c:1574 sql_help.c:1577
+#: sql_help.c:1545
+msgid "access_method_type"
+msgstr "тип_метода_доступа"
+
+#: sql_help.c:1618 sql_help.c:1638 sql_help.c:1641
 msgid "arg_data_type"
 msgstr "тип_данных_аргумента"
 
-#: sql_help.c:1559 sql_help.c:1578 sql_help.c:1586
+#: sql_help.c:1619 sql_help.c:1642 sql_help.c:1654
 msgid "sfunc"
 msgstr "функция_состояния"
 
-#: sql_help.c:1560 sql_help.c:1579 sql_help.c:1587
+#: sql_help.c:1620 sql_help.c:1643 sql_help.c:1655
 msgid "state_data_type"
 msgstr "тип_данных_состояния"
 
-#: sql_help.c:1561 sql_help.c:1580 sql_help.c:1588
+#: sql_help.c:1621 sql_help.c:1644 sql_help.c:1656
 msgid "state_data_size"
 msgstr "размер_данных_состояния"
 
-#: sql_help.c:1562 sql_help.c:1581 sql_help.c:1589
+#: sql_help.c:1622 sql_help.c:1645 sql_help.c:1657
 msgid "ffunc"
 msgstr "функция_завершения"
 
-#: sql_help.c:1563 sql_help.c:1582 sql_help.c:1590
+#: sql_help.c:1623 sql_help.c:1646 sql_help.c:1658
+msgid "combinefunc"
+msgstr "комбинирующая_функция"
+
+#: sql_help.c:1624 sql_help.c:1647 sql_help.c:1659
+msgid "serialfunc"
+msgstr "функция_сериализации"
+
+#: sql_help.c:1625 sql_help.c:1648 sql_help.c:1660
+msgid "deserialfunc"
+msgstr "функция_десериализации"
+
+#: sql_help.c:1626 sql_help.c:1649 sql_help.c:1661
+msgid "serialtype"
+msgstr "сериализованный_тип"
+
+#: sql_help.c:1627 sql_help.c:1650 sql_help.c:1662
 msgid "initial_condition"
 msgstr "начальное_условие"
 
-#: sql_help.c:1564 sql_help.c:1591
+#: sql_help.c:1628 sql_help.c:1663
 msgid "msfunc"
 msgstr "функция_состояния_дв"
 
-#: sql_help.c:1565 sql_help.c:1592
+#: sql_help.c:1629 sql_help.c:1664
 msgid "minvfunc"
 msgstr "обр_функция_дв"
 
-#: sql_help.c:1566 sql_help.c:1593
+#: sql_help.c:1630 sql_help.c:1665
 msgid "mstate_data_type"
 msgstr "тип_данных_состояния_дв"
 
-#: sql_help.c:1567 sql_help.c:1594
+#: sql_help.c:1631 sql_help.c:1666
 msgid "mstate_data_size"
 msgstr "размер_данных_состояния_дв"
 
-#: sql_help.c:1568 sql_help.c:1595
+#: sql_help.c:1632 sql_help.c:1667
 msgid "mffunc"
 msgstr "функция_завершения_дв"
 
-#: sql_help.c:1569 sql_help.c:1596
+#: sql_help.c:1633 sql_help.c:1668
 msgid "minitial_condition"
 msgstr "начальное_условие_дв"
 
-#: sql_help.c:1570 sql_help.c:1597
+#: sql_help.c:1634 sql_help.c:1669
 msgid "sort_operator"
 msgstr "оператор_сортировки"
 
-#: sql_help.c:1583
+#: sql_help.c:1651
 msgid "or the old syntax"
 msgstr "или старый синтаксис"
 
-#: sql_help.c:1585
+#: sql_help.c:1653
 msgid "base_type"
 msgstr "базовый_тип"
 
-#: sql_help.c:1636
+#: sql_help.c:1708
 msgid "locale"
 msgstr "код_локали"
 
-#: sql_help.c:1637 sql_help.c:1673
+#: sql_help.c:1709 sql_help.c:1745
 msgid "lc_collate"
 msgstr "код_правила_сортировки"
 
-#: sql_help.c:1638 sql_help.c:1674
+#: sql_help.c:1710 sql_help.c:1746
 msgid "lc_ctype"
 msgstr "код_классификации_символов"
 
-#: sql_help.c:1640
+#: sql_help.c:1712
 msgid "existing_collation"
 msgstr "существующее_правило_сортировки"
 
-#: sql_help.c:1650
+#: sql_help.c:1722
 msgid "source_encoding"
 msgstr "исходная_кодировка"
 
-#: sql_help.c:1651
+#: sql_help.c:1723
 msgid "dest_encoding"
 msgstr "целевая_кодировка"
 
-#: sql_help.c:1671 sql_help.c:2291
+#: sql_help.c:1743 sql_help.c:2363
 msgid "template"
 msgstr "шаблон"
 
-#: sql_help.c:1672
+#: sql_help.c:1744
 msgid "encoding"
 msgstr "кодировка"
 
-#: sql_help.c:1698
+#: sql_help.c:1770
 msgid "constraint"
 msgstr "ограничение"
 
-#: sql_help.c:1699
+#: sql_help.c:1771
 msgid "where constraint is:"
 msgstr "где ограничение:"
 
-#: sql_help.c:1713 sql_help.c:2048 sql_help.c:2363
+#: sql_help.c:1785 sql_help.c:2120 sql_help.c:2435
 msgid "event"
 msgstr "событие"
 
-#: sql_help.c:1714
+#: sql_help.c:1786
 msgid "filter_variable"
 msgstr "переменная_фильтра"
 
-#: sql_help.c:1726
-msgid "extension_name"
-msgstr "имя_расширения"
-
-#: sql_help.c:1728
+#: sql_help.c:1801
 msgid "version"
 msgstr "версия"
 
-#: sql_help.c:1729
+#: sql_help.c:1802
 msgid "old_version"
 msgstr "старая_версия"
 
-#: sql_help.c:1784 sql_help.c:2197
+#: sql_help.c:1857 sql_help.c:2269
 msgid "where column_constraint is:"
 msgstr "где ограничение_столбца:"
 
-#: sql_help.c:1787 sql_help.c:1818 sql_help.c:2200
+#: sql_help.c:1860 sql_help.c:1892 sql_help.c:2272
 msgid "default_expr"
 msgstr "выражение_по_умолчанию"
 
-#: sql_help.c:1788 sql_help.c:2207
+#: sql_help.c:1861 sql_help.c:2279
 msgid "and table_constraint is:"
 msgstr "и ограничение_таблицы:"
 
-#: sql_help.c:1819
+#: sql_help.c:1893
 msgid "rettype"
 msgstr "тип_возврата"
 
-#: sql_help.c:1821
+#: sql_help.c:1895
 msgid "column_type"
 msgstr "тип_столбца"
 
-#: sql_help.c:1829
+#: sql_help.c:1903
 msgid "definition"
 msgstr "определение"
 
-#: sql_help.c:1830
+#: sql_help.c:1904
 msgid "obj_file"
 msgstr "объектный_файл"
 
-#: sql_help.c:1831
+#: sql_help.c:1905
 msgid "link_symbol"
 msgstr "символ_в_экспорте"
 
-#: sql_help.c:1832
+#: sql_help.c:1906
 msgid "attribute"
 msgstr "атрибут"
 
-#: sql_help.c:1867 sql_help.c:2033 sql_help.c:2481
+#: sql_help.c:1940 sql_help.c:2105 sql_help.c:2553
 msgid "uid"
 msgstr "uid"
 
-#: sql_help.c:1881
+#: sql_help.c:1954
 msgid "method"
 msgstr "метод"
 
-#: sql_help.c:1885 sql_help.c:2232 sql_help.c:3130
+#: sql_help.c:1958 sql_help.c:2304 sql_help.c:3210
 msgid "opclass"
 msgstr "класс_оператора"
 
-#: sql_help.c:1889 sql_help.c:2218
+#: sql_help.c:1962 sql_help.c:2290
 msgid "predicate"
 msgstr "предикат"
 
-#: sql_help.c:1901
+#: sql_help.c:1974
 msgid "call_handler"
 msgstr "обработчик_вызова"
 
-#: sql_help.c:1902
+#: sql_help.c:1975
 msgid "inline_handler"
 msgstr "обработчик_внедрённого_кода"
 
-#: sql_help.c:1903
+#: sql_help.c:1976
 msgid "valfunction"
 msgstr "функция_проверки"
 
-#: sql_help.c:1939
+#: sql_help.c:2012
 msgid "com_op"
 msgstr "коммут_оператор"
 
-#: sql_help.c:1940
+#: sql_help.c:2013
 msgid "neg_op"
 msgstr "обратный_оператор"
 
-#: sql_help.c:1941
-msgid "res_proc"
-msgstr "процедура_ограничения"
-
-#: sql_help.c:1942
-msgid "join_proc"
-msgstr "процедура_соединения"
-
-#: sql_help.c:1958
+#: sql_help.c:2031
 msgid "family_name"
 msgstr "имя_семейства"
 
-#: sql_help.c:1969
+#: sql_help.c:2042
 msgid "storage_type"
 msgstr "тип_хранения"
 
-#: sql_help.c:2050 sql_help.c:2366 sql_help.c:2543 sql_help.c:3140
-#: sql_help.c:3555 sql_help.c:3557 sql_help.c:3645 sql_help.c:3647
-#: sql_help.c:3794 sql_help.c:3796 sql_help.c:3899 sql_help.c:3988
-#: sql_help.c:3990
+#: sql_help.c:2122 sql_help.c:2438 sql_help.c:2615 sql_help.c:3220
+#: sql_help.c:3635 sql_help.c:3637 sql_help.c:3725 sql_help.c:3727
+#: sql_help.c:3874 sql_help.c:3876 sql_help.c:3979 sql_help.c:4068
+#: sql_help.c:4070
 msgid "condition"
 msgstr "условие"
 
-#: sql_help.c:2054 sql_help.c:2369
+#: sql_help.c:2126 sql_help.c:2441
 msgid "where event can be one of:"
 msgstr "где допустимое событие:"
 
-#: sql_help.c:2073 sql_help.c:2075
+#: sql_help.c:2145 sql_help.c:2147
 msgid "schema_element"
 msgstr "элемент_схемы"
 
-#: sql_help.c:2109
+#: sql_help.c:2181
 msgid "server_type"
 msgstr "тип_сервера"
 
-#: sql_help.c:2110
+#: sql_help.c:2182
 msgid "server_version"
 msgstr "версия_сервера"
 
-#: sql_help.c:2111 sql_help.c:3050 sql_help.c:3382
+#: sql_help.c:2183 sql_help.c:3130 sql_help.c:3462
 msgid "fdw_name"
 msgstr "имя_обёртки_сторонних_данных"
 
-#: sql_help.c:2183
+#: sql_help.c:2255
 msgid "source_table"
 msgstr "исходная_таблица"
 
-#: sql_help.c:2184
+#: sql_help.c:2256
 msgid "like_option"
 msgstr "параметр_порождения"
 
-#: sql_help.c:2201 sql_help.c:2202 sql_help.c:2211 sql_help.c:2213
-#: sql_help.c:2217
+#: sql_help.c:2273 sql_help.c:2274 sql_help.c:2283 sql_help.c:2285
+#: sql_help.c:2289
 msgid "index_parameters"
 msgstr "параметры_индекса"
 
-#: sql_help.c:2203 sql_help.c:2220
+#: sql_help.c:2275 sql_help.c:2292
 msgid "reftable"
 msgstr "целевая_таблица"
 
-#: sql_help.c:2204 sql_help.c:2221
+#: sql_help.c:2276 sql_help.c:2293
 msgid "refcolumn"
 msgstr "целевой_столбец"
 
-#: sql_help.c:2215
+#: sql_help.c:2287
 msgid "exclude_element"
 msgstr "объект_исключения"
 
-#: sql_help.c:2216 sql_help.c:3562 sql_help.c:3652 sql_help.c:3801
-#: sql_help.c:3930 sql_help.c:3995
+#: sql_help.c:2288 sql_help.c:3642 sql_help.c:3732 sql_help.c:3881
+#: sql_help.c:4010 sql_help.c:4075
 msgid "operator"
 msgstr "оператор"
 
-#: sql_help.c:2224
+#: sql_help.c:2296
 msgid "and like_option is:"
 msgstr "и параметр_порождения:"
 
-#: sql_help.c:2225
+#: sql_help.c:2297
 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
 msgstr "параметры_индекса в ограничениях UNIQUE, PRIMARY KEY и EXCLUDE:"
 
-#: sql_help.c:2229
+#: sql_help.c:2301
 msgid "exclude_element in an EXCLUDE constraint is:"
 msgstr "объект_исключения в ограничении EXCLUDE:"
 
-#: sql_help.c:2264
+#: sql_help.c:2336
 msgid "directory"
 msgstr "каталог"
 
-#: sql_help.c:2278
+#: sql_help.c:2350
 msgid "parser_name"
 msgstr "имя_анализатора"
 
-#: sql_help.c:2279
+#: sql_help.c:2351
 msgid "source_config"
 msgstr "исходная_конфигурация"
 
-#: sql_help.c:2308
+#: sql_help.c:2380
 msgid "start_function"
 msgstr "функция_начала"
 
-#: sql_help.c:2309
+#: sql_help.c:2381
 msgid "gettoken_function"
 msgstr "функция_выдачи_фрагмента"
 
-#: sql_help.c:2310
+#: sql_help.c:2382
 msgid "end_function"
 msgstr "функция_окончания"
 
-#: sql_help.c:2311
+#: sql_help.c:2383
 msgid "lextypes_function"
 msgstr "функция_лекс_типов"
 
-#: sql_help.c:2312
+#: sql_help.c:2384
 msgid "headline_function"
 msgstr "функция_создания_выдержек"
 
-#: sql_help.c:2324
+#: sql_help.c:2396
 msgid "init_function"
 msgstr "функция_инициализации"
 
-#: sql_help.c:2325
+#: sql_help.c:2397
 msgid "lexize_function"
 msgstr "функция_выделения_лексем"
 
-#: sql_help.c:2338
+#: sql_help.c:2410
 msgid "from_sql_function_name"
 msgstr "имя_функции_из_sql"
 
-#: sql_help.c:2340
+#: sql_help.c:2412
 msgid "to_sql_function_name"
 msgstr "имя_функции_в_sql"
 
-#: sql_help.c:2365
+#: sql_help.c:2437
 msgid "referenced_table_name"
 msgstr "ссылающаяся_таблица"
 
-#: sql_help.c:2368
+#: sql_help.c:2440
 msgid "arguments"
 msgstr "аргументы"
 
-#: sql_help.c:2418 sql_help.c:3490
+#: sql_help.c:2490 sql_help.c:3570
 msgid "label"
 msgstr "метка"
 
-#: sql_help.c:2420
+#: sql_help.c:2492
 msgid "subtype"
 msgstr "подтип"
 
-#: sql_help.c:2421
+#: sql_help.c:2493
 msgid "subtype_operator_class"
 msgstr "класс_оператора_подтипа"
 
-#: sql_help.c:2423
+#: sql_help.c:2495
 msgid "canonical_function"
 msgstr "каноническая_функция"
 
-#: sql_help.c:2424
+#: sql_help.c:2496
 msgid "subtype_diff_function"
 msgstr "функция_различий_подтипа"
 
-#: sql_help.c:2426
+#: sql_help.c:2498
 msgid "input_function"
 msgstr "функция_ввода"
 
-#: sql_help.c:2427
+#: sql_help.c:2499
 msgid "output_function"
 msgstr "функция_вывода"
 
-#: sql_help.c:2428
+#: sql_help.c:2500
 msgid "receive_function"
 msgstr "функция_получения"
 
-#: sql_help.c:2429
+#: sql_help.c:2501
 msgid "send_function"
 msgstr "функция_отправки"
 
-#: sql_help.c:2430
+#: sql_help.c:2502
 msgid "type_modifier_input_function"
 msgstr "функция_ввода_модификатора_типа"
 
-#: sql_help.c:2431
+#: sql_help.c:2503
 msgid "type_modifier_output_function"
 msgstr "функция_вывода_модификатора_типа"
 
-#: sql_help.c:2432
+#: sql_help.c:2504
 msgid "analyze_function"
 msgstr "функция_анализа"
 
-#: sql_help.c:2433
+#: sql_help.c:2505
 msgid "internallength"
 msgstr "внутр_длина"
 
-#: sql_help.c:2434
+#: sql_help.c:2506
 msgid "alignment"
 msgstr "выравнивание"
 
-#: sql_help.c:2435
+#: sql_help.c:2507
 msgid "storage"
 msgstr "хранение"
 
-#: sql_help.c:2436
+#: sql_help.c:2508
 msgid "like_type"
 msgstr "тип_образец"
 
-#: sql_help.c:2437
+#: sql_help.c:2509
 msgid "category"
 msgstr "категория"
 
-#: sql_help.c:2438
+#: sql_help.c:2510
 msgid "preferred"
 msgstr "предпочитаемый"
 
-#: sql_help.c:2439
+#: sql_help.c:2511
 msgid "default"
 msgstr "по_умолчанию"
 
-#: sql_help.c:2440
+#: sql_help.c:2512
 msgid "element"
 msgstr "элемент"
 
-#: sql_help.c:2441
+#: sql_help.c:2513
 msgid "delimiter"
 msgstr "разделитель"
 
-#: sql_help.c:2442
+#: sql_help.c:2514
 msgid "collatable"
 msgstr "сортируемый"
 
-#: sql_help.c:2539 sql_help.c:3116 sql_help.c:3550 sql_help.c:3639
-#: sql_help.c:3789 sql_help.c:3889 sql_help.c:3983
+#: sql_help.c:2611 sql_help.c:3196 sql_help.c:3630 sql_help.c:3719
+#: sql_help.c:3869 sql_help.c:3969 sql_help.c:4063
 msgid "with_query"
 msgstr "запрос_WITH"
 
-#: sql_help.c:2541 sql_help.c:3118 sql_help.c:3569 sql_help.c:3575
-#: sql_help.c:3578 sql_help.c:3582 sql_help.c:3586 sql_help.c:3594
-#: sql_help.c:3808 sql_help.c:3814 sql_help.c:3817 sql_help.c:3821
-#: sql_help.c:3825 sql_help.c:3833 sql_help.c:3891 sql_help.c:4002
-#: sql_help.c:4008 sql_help.c:4011 sql_help.c:4015 sql_help.c:4019
-#: sql_help.c:4027
+#: sql_help.c:2613 sql_help.c:3198 sql_help.c:3649 sql_help.c:3655
+#: sql_help.c:3658 sql_help.c:3662 sql_help.c:3666 sql_help.c:3674
+#: sql_help.c:3888 sql_help.c:3894 sql_help.c:3897 sql_help.c:3901
+#: sql_help.c:3905 sql_help.c:3913 sql_help.c:3971 sql_help.c:4082
+#: sql_help.c:4088 sql_help.c:4091 sql_help.c:4095 sql_help.c:4099
+#: sql_help.c:4107
 msgid "alias"
 msgstr "псевдоним"
 
-#: sql_help.c:2542
+#: sql_help.c:2614
 msgid "using_list"
 msgstr "список_USING"
 
-#: sql_help.c:2544 sql_help.c:2957 sql_help.c:3197 sql_help.c:3900
+#: sql_help.c:2616 sql_help.c:3037 sql_help.c:3277 sql_help.c:3980
 msgid "cursor_name"
 msgstr "имя_курсора"
 
-#: sql_help.c:2545 sql_help.c:3124 sql_help.c:3901
+#: sql_help.c:2617 sql_help.c:3204 sql_help.c:3981
 msgid "output_expression"
 msgstr "выражение_результата"
 
-#: sql_help.c:2546 sql_help.c:3125 sql_help.c:3553 sql_help.c:3642
-#: sql_help.c:3792 sql_help.c:3902 sql_help.c:3986
+#: sql_help.c:2618 sql_help.c:3205 sql_help.c:3633 sql_help.c:3722
+#: sql_help.c:3872 sql_help.c:3982 sql_help.c:4066
 msgid "output_name"
 msgstr "имя_результата"
 
-#: sql_help.c:2562
+#: sql_help.c:2634
 msgid "code"
 msgstr "внедрённый_код"
 
-#: sql_help.c:2905
+#: sql_help.c:2985
 msgid "parameter"
 msgstr "параметр"
 
-#: sql_help.c:2924 sql_help.c:2925 sql_help.c:3222
+#: sql_help.c:3004 sql_help.c:3005 sql_help.c:3302
 msgid "statement"
 msgstr "оператор"
 
-#: sql_help.c:2956 sql_help.c:3196
+#: sql_help.c:3036 sql_help.c:3276
 msgid "direction"
 msgstr "направление"
 
-#: sql_help.c:2958 sql_help.c:3198
+#: sql_help.c:3038 sql_help.c:3278
 msgid "where direction can be empty or one of:"
 msgstr "где допустимое направление пустое или:"
 
-#: sql_help.c:2959 sql_help.c:2960 sql_help.c:2961 sql_help.c:2962
-#: sql_help.c:2963 sql_help.c:3199 sql_help.c:3200 sql_help.c:3201
-#: sql_help.c:3202 sql_help.c:3203 sql_help.c:3563 sql_help.c:3565
-#: sql_help.c:3653 sql_help.c:3655 sql_help.c:3802 sql_help.c:3804
-#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3996 sql_help.c:3998
+#: sql_help.c:3039 sql_help.c:3040 sql_help.c:3041 sql_help.c:3042
+#: sql_help.c:3043 sql_help.c:3279 sql_help.c:3280 sql_help.c:3281
+#: sql_help.c:3282 sql_help.c:3283 sql_help.c:3643 sql_help.c:3645
+#: sql_help.c:3733 sql_help.c:3735 sql_help.c:3882 sql_help.c:3884
+#: sql_help.c:4011 sql_help.c:4013 sql_help.c:4076 sql_help.c:4078
 msgid "count"
 msgstr "число"
 
-#: sql_help.c:3043 sql_help.c:3375
+#: sql_help.c:3123 sql_help.c:3455
 msgid "sequence_name"
 msgstr "имя_последовательности"
 
-#: sql_help.c:3056 sql_help.c:3388
+#: sql_help.c:3136 sql_help.c:3468
 msgid "arg_name"
 msgstr "имя_аргумента"
 
-#: sql_help.c:3057 sql_help.c:3389
+#: sql_help.c:3137 sql_help.c:3469
 msgid "arg_type"
 msgstr "тип_аргумента"
 
-#: sql_help.c:3062 sql_help.c:3394
+#: sql_help.c:3142 sql_help.c:3474
 msgid "loid"
 msgstr "код_БО"
 
-#: sql_help.c:3085
+#: sql_help.c:3165
 msgid "remote_schema"
 msgstr "удалённая_схема"
 
-#: sql_help.c:3088
+#: sql_help.c:3168
 msgid "local_schema"
 msgstr "локальная_схема"
 
-#: sql_help.c:3122
+#: sql_help.c:3202
 msgid "conflict_target"
 msgstr "объект_конфликта"
 
-#: sql_help.c:3123
+#: sql_help.c:3203
 msgid "conflict_action"
 msgstr "действие_при_конфликте"
 
-#: sql_help.c:3126
+#: sql_help.c:3206
 msgid "where conflict_target can be one of:"
 msgstr "где допустимый объект_конфликта:"
 
-#: sql_help.c:3127
+#: sql_help.c:3207
 msgid "index_column_name"
 msgstr "имя_столбца_индекса"
 
-#: sql_help.c:3128
+#: sql_help.c:3208
 msgid "index_expression"
 msgstr "выражение_индекса"
 
-#: sql_help.c:3131
+#: sql_help.c:3211
 msgid "index_predicate"
 msgstr "предикат_индекса"
 
-#: sql_help.c:3133
+#: sql_help.c:3213
 msgid "and conflict_action is one of:"
 msgstr "а допустимое действие_при_конфликте:"
 
-#: sql_help.c:3139 sql_help.c:3897
+#: sql_help.c:3219 sql_help.c:3977
 msgid "sub-SELECT"
 msgstr "вложенный_SELECT"
 
-#: sql_help.c:3148 sql_help.c:3211 sql_help.c:3873
+#: sql_help.c:3228 sql_help.c:3291 sql_help.c:3953
 msgid "channel"
 msgstr "канал"
 
-#: sql_help.c:3170
+#: sql_help.c:3250
 msgid "lockmode"
 msgstr "режим_блокировки"
 
-#: sql_help.c:3171
+#: sql_help.c:3251
 msgid "where lockmode is one of:"
 msgstr "где допустимый режим_блокировки:"
 
-#: sql_help.c:3212
+#: sql_help.c:3292
 msgid "payload"
 msgstr "сообщение_нагрузка"
 
-#: sql_help.c:3239
+#: sql_help.c:3319
 msgid "old_role"
 msgstr "старая_роль"
 
-#: sql_help.c:3240
+#: sql_help.c:3320
 msgid "new_role"
 msgstr "новая_роль"
 
-#: sql_help.c:3265 sql_help.c:3426 sql_help.c:3434
+#: sql_help.c:3345 sql_help.c:3506 sql_help.c:3514
 msgid "savepoint_name"
 msgstr "имя_точки_сохранения"
 
-#: sql_help.c:3467
+#: sql_help.c:3547
 msgid "provider"
 msgstr "поставщик"
 
-#: sql_help.c:3554 sql_help.c:3596 sql_help.c:3598 sql_help.c:3644
-#: sql_help.c:3793 sql_help.c:3835 sql_help.c:3837 sql_help.c:3987
-#: sql_help.c:4029 sql_help.c:4031
+#: sql_help.c:3634 sql_help.c:3676 sql_help.c:3678 sql_help.c:3724
+#: sql_help.c:3873 sql_help.c:3915 sql_help.c:3917 sql_help.c:4067
+#: sql_help.c:4109 sql_help.c:4111
 msgid "from_item"
 msgstr "источник_данных"
 
-#: sql_help.c:3556 sql_help.c:3608 sql_help.c:3795 sql_help.c:3847
-#: sql_help.c:3989 sql_help.c:4041
+#: sql_help.c:3636 sql_help.c:3688 sql_help.c:3875 sql_help.c:3927
+#: sql_help.c:4069 sql_help.c:4121
 msgid "grouping_element"
 msgstr "элемент_группирования"
 
-#: sql_help.c:3558 sql_help.c:3648 sql_help.c:3797 sql_help.c:3991
+#: sql_help.c:3638 sql_help.c:3728 sql_help.c:3877 sql_help.c:4071
 msgid "window_name"
 msgstr "имя_окна"
 
-#: sql_help.c:3559 sql_help.c:3649 sql_help.c:3798 sql_help.c:3992
+#: sql_help.c:3639 sql_help.c:3729 sql_help.c:3878 sql_help.c:4072
 msgid "window_definition"
 msgstr "определение_окна"
 
-#: sql_help.c:3560 sql_help.c:3574 sql_help.c:3612 sql_help.c:3650
-#: sql_help.c:3799 sql_help.c:3813 sql_help.c:3851 sql_help.c:3993
-#: sql_help.c:4007 sql_help.c:4045
+#: sql_help.c:3640 sql_help.c:3654 sql_help.c:3692 sql_help.c:3730
+#: sql_help.c:3879 sql_help.c:3893 sql_help.c:3931 sql_help.c:4073
+#: sql_help.c:4087 sql_help.c:4125
 msgid "select"
 msgstr "select"
 
-#: sql_help.c:3567 sql_help.c:3806 sql_help.c:4000
+#: sql_help.c:3647 sql_help.c:3886 sql_help.c:4080
 msgid "where from_item can be one of:"
 msgstr "где допустимый источник_данных:"
 
-#: sql_help.c:3570 sql_help.c:3576 sql_help.c:3579 sql_help.c:3583
-#: sql_help.c:3595 sql_help.c:3809 sql_help.c:3815 sql_help.c:3818
-#: sql_help.c:3822 sql_help.c:3834 sql_help.c:4003 sql_help.c:4009
-#: sql_help.c:4012 sql_help.c:4016 sql_help.c:4028
+#: sql_help.c:3650 sql_help.c:3656 sql_help.c:3659 sql_help.c:3663
+#: sql_help.c:3675 sql_help.c:3889 sql_help.c:3895 sql_help.c:3898
+#: sql_help.c:3902 sql_help.c:3914 sql_help.c:4083 sql_help.c:4089
+#: sql_help.c:4092 sql_help.c:4096 sql_help.c:4108
 msgid "column_alias"
 msgstr "псевдоним_столбца"
 
-#: sql_help.c:3571 sql_help.c:3810 sql_help.c:4004
+#: sql_help.c:3651 sql_help.c:3890 sql_help.c:4084
 msgid "sampling_method"
 msgstr "метод_выборки"
 
-#: sql_help.c:3572 sql_help.c:3581 sql_help.c:3585 sql_help.c:3589
-#: sql_help.c:3592 sql_help.c:3811 sql_help.c:3820 sql_help.c:3824
-#: sql_help.c:3828 sql_help.c:3831 sql_help.c:4005 sql_help.c:4014
-#: sql_help.c:4018 sql_help.c:4022 sql_help.c:4025
+#: sql_help.c:3652 sql_help.c:3661 sql_help.c:3665 sql_help.c:3669
+#: sql_help.c:3672 sql_help.c:3891 sql_help.c:3900 sql_help.c:3904
+#: sql_help.c:3908 sql_help.c:3911 sql_help.c:4085 sql_help.c:4094
+#: sql_help.c:4098 sql_help.c:4102 sql_help.c:4105
 msgid "argument"
 msgstr "аргумент"
 
-#: sql_help.c:3573 sql_help.c:3812 sql_help.c:4006
+#: sql_help.c:3653 sql_help.c:3892 sql_help.c:4086
 msgid "seed"
 msgstr "начальное_число"
 
-#: sql_help.c:3577 sql_help.c:3610 sql_help.c:3816 sql_help.c:3849
-#: sql_help.c:4010 sql_help.c:4043
+#: sql_help.c:3657 sql_help.c:3690 sql_help.c:3896 sql_help.c:3929
+#: sql_help.c:4090 sql_help.c:4123
 msgid "with_query_name"
 msgstr "имя_запроса_WITH"
 
-#: sql_help.c:3587 sql_help.c:3590 sql_help.c:3593 sql_help.c:3826
-#: sql_help.c:3829 sql_help.c:3832 sql_help.c:4020 sql_help.c:4023
-#: sql_help.c:4026
+#: sql_help.c:3667 sql_help.c:3670 sql_help.c:3673 sql_help.c:3906
+#: sql_help.c:3909 sql_help.c:3912 sql_help.c:4100 sql_help.c:4103
+#: sql_help.c:4106
 msgid "column_definition"
 msgstr "определение_столбца"
 
-#: sql_help.c:3597 sql_help.c:3836 sql_help.c:4030
+#: sql_help.c:3677 sql_help.c:3916 sql_help.c:4110
 msgid "join_type"
 msgstr "тип_соединения"
 
-#: sql_help.c:3599 sql_help.c:3838 sql_help.c:4032
+#: sql_help.c:3679 sql_help.c:3918 sql_help.c:4112
 msgid "join_condition"
 msgstr "условие_соединения"
 
-#: sql_help.c:3600 sql_help.c:3839 sql_help.c:4033
+#: sql_help.c:3680 sql_help.c:3919 sql_help.c:4113
 msgid "join_column"
 msgstr "столбец_соединения"
 
-#: sql_help.c:3601 sql_help.c:3840 sql_help.c:4034
+#: sql_help.c:3681 sql_help.c:3920 sql_help.c:4114
 msgid "and grouping_element can be one of:"
 msgstr "где допустимый элемент_группирования:"
 
-#: sql_help.c:3609 sql_help.c:3848 sql_help.c:4042
+#: sql_help.c:3689 sql_help.c:3928 sql_help.c:4122
 msgid "and with_query is:"
 msgstr "и запрос_WITH:"
 
-#: sql_help.c:3613 sql_help.c:3852 sql_help.c:4046
+#: sql_help.c:3693 sql_help.c:3932 sql_help.c:4126
 msgid "values"
 msgstr "значения"
 
-#: sql_help.c:3614 sql_help.c:3853 sql_help.c:4047
+#: sql_help.c:3694 sql_help.c:3933 sql_help.c:4127
 msgid "insert"
 msgstr "insert"
 
-#: sql_help.c:3615 sql_help.c:3854 sql_help.c:4048
+#: sql_help.c:3695 sql_help.c:3934 sql_help.c:4128
 msgid "update"
 msgstr "update"
 
-#: sql_help.c:3616 sql_help.c:3855 sql_help.c:4049
+#: sql_help.c:3696 sql_help.c:3935 sql_help.c:4129
 msgid "delete"
 msgstr "delete"
 
-#: sql_help.c:3643
+#: sql_help.c:3723
 msgid "new_table"
 msgstr "новая_таблица"
 
-#: sql_help.c:3668
+#: sql_help.c:3748
 msgid "timezone"
 msgstr "часовой_пояс"
 
-#: sql_help.c:3713
+#: sql_help.c:3793
 msgid "snapshot_id"
 msgstr "код_снимка"
 
-#: sql_help.c:3898
+#: sql_help.c:3978
 msgid "from_list"
 msgstr "список_FROM"
 
-#: sql_help.c:3929
+#: sql_help.c:4009
 msgid "sort_expression"
 msgstr "выражение_сортировки"
 
-#: sql_help.h:197 sql_help.h:927
+#: sql_help.c:4136 sql_help.c:4876
 msgid "abort the current transaction"
 msgstr "прервать текущую транзакцию"
 
-#: sql_help.h:202
+#: sql_help.c:4141
 msgid "change the definition of an aggregate function"
 msgstr "изменить определение агрегатной функции"
 
-#: sql_help.h:207
+#: sql_help.c:4146
 msgid "change the definition of a collation"
 msgstr "изменить определение правила сортировки"
 
-#: sql_help.h:212
+#: sql_help.c:4151
 msgid "change the definition of a conversion"
 msgstr "изменить определение преобразования"
 
-#: sql_help.h:217
+#: sql_help.c:4156
 msgid "change a database"
 msgstr "изменить атрибуты базы данных"
 
-#: sql_help.h:222
+#: sql_help.c:4161
 msgid "define default access privileges"
 msgstr "определить права доступа по умолчанию"
 
-#: sql_help.h:227
+#: sql_help.c:4166
 msgid "change the definition of a domain"
 msgstr "изменить определение домена"
 
-#: sql_help.h:232
+#: sql_help.c:4171
 msgid "change the definition of an event trigger"
 msgstr "изменить определение событийного триггера"
 
-#: sql_help.h:237
+#: sql_help.c:4176
 msgid "change the definition of an extension"
 msgstr "изменить определение расширения"
 
-#: sql_help.h:242
+#: sql_help.c:4181
 msgid "change the definition of a foreign-data wrapper"
 msgstr "изменить определение обёртки сторонних данных"
 
-#: sql_help.h:247
+#: sql_help.c:4186
 msgid "change the definition of a foreign table"
 msgstr "изменить определение сторонней таблицы"
 
-#: sql_help.h:252
+#: sql_help.c:4191
 msgid "change the definition of a function"
 msgstr "изменить определение функции"
 
-#: sql_help.h:257
+#: sql_help.c:4196
 msgid "change role name or membership"
 msgstr "изменить имя роли или членство"
 
-#: sql_help.h:262
+#: sql_help.c:4201
 msgid "change the definition of an index"
 msgstr "изменить определение индекса"
 
-#: sql_help.h:267
+#: sql_help.c:4206
 msgid "change the definition of a procedural language"
 msgstr "изменить определение процедурного языка"
 
-#: sql_help.h:272
+#: sql_help.c:4211
 msgid "change the definition of a large object"
 msgstr "изменить определение большого объекта"
 
-#: sql_help.h:277
+#: sql_help.c:4216
 msgid "change the definition of a materialized view"
 msgstr "изменить определение материализованного представления"
 
-#: sql_help.h:282
+#: sql_help.c:4221
 msgid "change the definition of an operator"
 msgstr "изменить определение оператора"
 
-#: sql_help.h:287
+#: sql_help.c:4226
 msgid "change the definition of an operator class"
 msgstr "изменить определение класса операторов"
 
-#: sql_help.h:292
+#: sql_help.c:4231
 msgid "change the definition of an operator family"
 msgstr "изменить определение семейства операторов"
 
-#: sql_help.h:297
+#: sql_help.c:4236
 msgid "change the definition of a row level security policy"
 msgstr "изменить определение политики безопасности на уровне строк"
 
-#: sql_help.h:302 sql_help.h:372
+#: sql_help.c:4241 sql_help.c:4311
 msgid "change a database role"
 msgstr "изменить роль пользователя БД"
 
-#: sql_help.h:307
+#: sql_help.c:4246
 msgid "change the definition of a rule"
 msgstr "изменить определение правила"
 
-#: sql_help.h:312
+#: sql_help.c:4251
 msgid "change the definition of a schema"
 msgstr "изменить определение схемы"
 
-#: sql_help.h:317
+#: sql_help.c:4256
 msgid "change the definition of a sequence generator"
 msgstr "изменить определение генератора последовательности"
 
-#: sql_help.h:322
+#: sql_help.c:4261
 msgid "change the definition of a foreign server"
 msgstr "изменить определение стороннего сервера"
 
-#: sql_help.h:327
+#: sql_help.c:4266
 msgid "change a server configuration parameter"
 msgstr "изменить параметр конфигурации сервера"
 
-#: sql_help.h:332
+#: sql_help.c:4271
 msgid "change the definition of a table"
 msgstr "изменить определение таблицы"
 
-#: sql_help.h:337
+#: sql_help.c:4276
 msgid "change the definition of a tablespace"
 msgstr "изменить определение табличного пространства"
 
-#: sql_help.h:342
+#: sql_help.c:4281
 msgid "change the definition of a text search configuration"
 msgstr "изменить определение конфигурации текстового поиска"
 
-#: sql_help.h:347
+#: sql_help.c:4286
 msgid "change the definition of a text search dictionary"
 msgstr "изменить определение словаря текстового поиска"
 
-#: sql_help.h:352
+#: sql_help.c:4291
 msgid "change the definition of a text search parser"
 msgstr "изменить определение анализатора текстового поиска"
 
-#: sql_help.h:357
+#: sql_help.c:4296
 msgid "change the definition of a text search template"
 msgstr "изменить определение шаблона текстового поиска"
 
-#: sql_help.h:362
+#: sql_help.c:4301
 msgid "change the definition of a trigger"
 msgstr "изменить определение триггера"
 
-#: sql_help.h:367
+#: sql_help.c:4306
 msgid "change the definition of a type"
 msgstr "изменить определение типа"
 
-#: sql_help.h:377
+#: sql_help.c:4316
 msgid "change the definition of a user mapping"
 msgstr "изменить сопоставление пользователей"
 
-#: sql_help.h:382
+#: sql_help.c:4321
 msgid "change the definition of a view"
 msgstr "изменить определение представления"
 
-#: sql_help.h:387
+#: sql_help.c:4326
 msgid "collect statistics about a database"
 msgstr "собрать статистику о базе данных"
 
-#: sql_help.h:392 sql_help.h:992
+#: sql_help.c:4331 sql_help.c:4941
 msgid "start a transaction block"
 msgstr "начать транзакцию"
 
-#: sql_help.h:397
+#: sql_help.c:4336
 msgid "force a transaction log checkpoint"
 msgstr "отметить контрольную точку в журнале транзакций"
 
-#: sql_help.h:402
+#: sql_help.c:4341
 msgid "close a cursor"
 msgstr "закрыть курсор"
 
-#: sql_help.h:407
+#: sql_help.c:4346
 msgid "cluster a table according to an index"
 msgstr "перегруппировать таблицу по индексу"
 
-#: sql_help.h:412
+#: sql_help.c:4351
 msgid "define or change the comment of an object"
 msgstr "задать или изменить комментарий объекта"
 
-#: sql_help.h:417 sql_help.h:827
+#: sql_help.c:4356 sql_help.c:4776
 msgid "commit the current transaction"
 msgstr "зафиксировать текущую транзакцию"
 
-#: sql_help.h:422
+#: sql_help.c:4361
 msgid "commit a transaction that was earlier prepared for two-phase commit"
 msgstr "зафиксировать транзакцию, ранее подготовленную для двухфазной фиксации"
 
-#: sql_help.h:427
+#: sql_help.c:4366
 msgid "copy data between a file and a table"
 msgstr "импорт/экспорт данных в файл"
 
-#: sql_help.h:432
+#: sql_help.c:4371
+msgid "define a new access method"
+msgstr "создать новый метод доступа"
+
+#: sql_help.c:4376
 msgid "define a new aggregate function"
 msgstr "создать агрегатную функцию"
 
-#: sql_help.h:437
+#: sql_help.c:4381
 msgid "define a new cast"
 msgstr "создать приведение типов"
 
-#: sql_help.h:442
+#: sql_help.c:4386
 msgid "define a new collation"
 msgstr "создать правило сортировки"
 
-#: sql_help.h:447
+#: sql_help.c:4391
 msgid "define a new encoding conversion"
 msgstr "создать преобразование кодировки"
 
-#: sql_help.h:452
+#: sql_help.c:4396
 msgid "create a new database"
 msgstr "создать базу данных"
 
-#: sql_help.h:457
+#: sql_help.c:4401
 msgid "define a new domain"
 msgstr "создать домен"
 
-#: sql_help.h:462
+#: sql_help.c:4406
 msgid "define a new event trigger"
 msgstr "создать событийный триггер"
 
-#: sql_help.h:467
+#: sql_help.c:4411
 msgid "install an extension"
 msgstr "установить расширение"
 
-#: sql_help.h:472
+#: sql_help.c:4416
 msgid "define a new foreign-data wrapper"
 msgstr "создать обёртку сторонних данных"
 
-#: sql_help.h:477
+#: sql_help.c:4421
 msgid "define a new foreign table"
 msgstr "создать стороннюю таблицу"
 
-#: sql_help.h:482
+#: sql_help.c:4426
 msgid "define a new function"
 msgstr "создать функцию"
 
-#: sql_help.h:487 sql_help.h:527 sql_help.h:602
+#: sql_help.c:4431 sql_help.c:4471 sql_help.c:4546
 msgid "define a new database role"
 msgstr "создать роль пользователя БД"
 
-#: sql_help.h:492
+#: sql_help.c:4436
 msgid "define a new index"
 msgstr "создать индекс"
 
-#: sql_help.h:497
+#: sql_help.c:4441
 msgid "define a new procedural language"
 msgstr "создать процедурный язык"
 
-#: sql_help.h:502
+#: sql_help.c:4446
 msgid "define a new materialized view"
 msgstr "создать материализованное представление"
 
-#: sql_help.h:507
+#: sql_help.c:4451
 msgid "define a new operator"
 msgstr "создать оператор"
 
-#: sql_help.h:512
+#: sql_help.c:4456
 msgid "define a new operator class"
 msgstr "создать класс операторов"
 
-#: sql_help.h:517
+#: sql_help.c:4461
 msgid "define a new operator family"
 msgstr "создать семейство операторов"
 
-#: sql_help.h:522
+#: sql_help.c:4466
 msgid "define a new row level security policy for a table"
 msgstr "создать новую политику безопасности на уровне строк для таблицы"
 
-#: sql_help.h:532
+#: sql_help.c:4476
 msgid "define a new rewrite rule"
 msgstr "создать правило перезаписи"
 
-#: sql_help.h:537
+#: sql_help.c:4481
 msgid "define a new schema"
 msgstr "создать схему"
 
-#: sql_help.h:542
+#: sql_help.c:4486
 msgid "define a new sequence generator"
 msgstr "создать генератор последовательностей"
 
-#: sql_help.h:547
+#: sql_help.c:4491
 msgid "define a new foreign server"
 msgstr "создать сторонний сервер"
 
-#: sql_help.h:552
+#: sql_help.c:4496
 msgid "define a new table"
 msgstr "создать таблицу"
 
-#: sql_help.h:557 sql_help.h:957
+#: sql_help.c:4501 sql_help.c:4906
 msgid "define a new table from the results of a query"
 msgstr "создать таблицу из результатов запроса"
 
-#: sql_help.h:562
+#: sql_help.c:4506
 msgid "define a new tablespace"
 msgstr "создать табличное пространство"
 
-#: sql_help.h:567
+#: sql_help.c:4511
 msgid "define a new text search configuration"
 msgstr "создать конфигурацию текстового поиска"
 
-#: sql_help.h:572
+#: sql_help.c:4516
 msgid "define a new text search dictionary"
 msgstr "создать словарь текстового поиска"
 
-#: sql_help.h:577
+#: sql_help.c:4521
 msgid "define a new text search parser"
 msgstr "создать анализатор текстового поиска"
 
-#: sql_help.h:582
+#: sql_help.c:4526
 msgid "define a new text search template"
 msgstr "создать шаблон текстового поиска"
 
-#: sql_help.h:587
+#: sql_help.c:4531
 msgid "define a new transform"
 msgstr "создать преобразование"
 
-#: sql_help.h:592
+#: sql_help.c:4536
 msgid "define a new trigger"
 msgstr "создать триггер"
 
-#: sql_help.h:597
+#: sql_help.c:4541
 msgid "define a new data type"
 msgstr "создать тип данных"
 
-#: sql_help.h:607
+#: sql_help.c:4551
 msgid "define a new mapping of a user to a foreign server"
 msgstr "создать сопоставление пользователя для стороннего сервера"
 
-#: sql_help.h:612
+#: sql_help.c:4556
 msgid "define a new view"
 msgstr "создать представление"
 
-#: sql_help.h:617
+#: sql_help.c:4561
 msgid "deallocate a prepared statement"
 msgstr "освободить подготовленный оператор"
 
-#: sql_help.h:622
+#: sql_help.c:4566
 msgid "define a cursor"
 msgstr "создать курсор"
 
-#: sql_help.h:627
+#: sql_help.c:4571
 msgid "delete rows of a table"
 msgstr "удалить записи таблицы"
 
-#: sql_help.h:632
+#: sql_help.c:4576
 msgid "discard session state"
 msgstr "очистить состояние сеанса"
 
-#: sql_help.h:637
+#: sql_help.c:4581
 msgid "execute an anonymous code block"
 msgstr "выполнить анонимный блок кода"
 
-#: sql_help.h:642
+#: sql_help.c:4586
+msgid "remove an access method"
+msgstr "удалить метод доступа"
+
+#: sql_help.c:4591
 msgid "remove an aggregate function"
 msgstr "удалить агрегатную функцию"
 
-#: sql_help.h:647
+#: sql_help.c:4596
 msgid "remove a cast"
 msgstr "удалить приведение типа"
 
-#: sql_help.h:652
+#: sql_help.c:4601
 msgid "remove a collation"
 msgstr "удалить правило сортировки"
 
-#: sql_help.h:657
+#: sql_help.c:4606
 msgid "remove a conversion"
 msgstr "удалить преобразование"
 
-#: sql_help.h:662
+#: sql_help.c:4611
 msgid "remove a database"
 msgstr "удалить базу данных"
 
-#: sql_help.h:667
+#: sql_help.c:4616
 msgid "remove a domain"
 msgstr "удалить домен"
 
-#: sql_help.h:672
+#: sql_help.c:4621
 msgid "remove an event trigger"
 msgstr "удалить событийный триггер"
 
-#: sql_help.h:677
+#: sql_help.c:4626
 msgid "remove an extension"
 msgstr "удалить расширение"
 
-#: sql_help.h:682
+#: sql_help.c:4631
 msgid "remove a foreign-data wrapper"
 msgstr "удалить обёртку сторонних данных"
 
-#: sql_help.h:687
+#: sql_help.c:4636
 msgid "remove a foreign table"
 msgstr "удалить стороннюю таблицу"
 
-#: sql_help.h:692
+#: sql_help.c:4641
 msgid "remove a function"
 msgstr "удалить функцию"
 
-#: sql_help.h:697 sql_help.h:742 sql_help.h:812
+#: sql_help.c:4646 sql_help.c:4691 sql_help.c:4761
 msgid "remove a database role"
 msgstr "удалить роль пользователя БД"
 
-#: sql_help.h:702
+#: sql_help.c:4651
 msgid "remove an index"
 msgstr "удалить индекс"
 
-#: sql_help.h:707
+#: sql_help.c:4656
 msgid "remove a procedural language"
 msgstr "удалить процедурный язык"
 
-#: sql_help.h:712
+#: sql_help.c:4661
 msgid "remove a materialized view"
 msgstr "удалить материализованное представление"
 
-#: sql_help.h:717
+#: sql_help.c:4666
 msgid "remove an operator"
 msgstr "удалить оператор"
 
-#: sql_help.h:722
+#: sql_help.c:4671
 msgid "remove an operator class"
 msgstr "удалить класс операторов"
 
-#: sql_help.h:727
+#: sql_help.c:4676
 msgid "remove an operator family"
 msgstr "удалить семейство операторов"
 
-#: sql_help.h:732
+#: sql_help.c:4681
 msgid "remove database objects owned by a database role"
 msgstr "удалить объекты базы данных, принадлежащие роли"
 
-#: sql_help.h:737
+#: sql_help.c:4686
 msgid "remove a row level security policy from a table"
 msgstr "удалить политику безопасности на уровне строк из таблицы"
 
-#: sql_help.h:747
+#: sql_help.c:4696
 msgid "remove a rewrite rule"
 msgstr "удалить правило перезаписи"
 
-#: sql_help.h:752
+#: sql_help.c:4701
 msgid "remove a schema"
 msgstr "удалить схему"
 
-#: sql_help.h:757
+#: sql_help.c:4706
 msgid "remove a sequence"
 msgstr "удалить последовательность"
 
-#: sql_help.h:762
+#: sql_help.c:4711
 msgid "remove a foreign server descriptor"
 msgstr "удалить описание стороннего сервера"
 
-#: sql_help.h:767
+#: sql_help.c:4716
 msgid "remove a table"
 msgstr "удалить таблицу"
 
-#: sql_help.h:772
+#: sql_help.c:4721
 msgid "remove a tablespace"
 msgstr "удалить табличное пространство"
 
-#: sql_help.h:777
+#: sql_help.c:4726
 msgid "remove a text search configuration"
 msgstr "удалить конфигурацию текстового поиска"
 
-#: sql_help.h:782
+#: sql_help.c:4731
 msgid "remove a text search dictionary"
 msgstr "удалить словарь текстового поиска"
 
-#: sql_help.h:787
+#: sql_help.c:4736
 msgid "remove a text search parser"
 msgstr "удалить анализатор текстового поиска"
 
-#: sql_help.h:792
+#: sql_help.c:4741
 msgid "remove a text search template"
 msgstr "удалить шаблон текстового поиска"
 
-#: sql_help.h:797
+#: sql_help.c:4746
 msgid "remove a transform"
 msgstr "удалить преобразование"
 
-#: sql_help.h:802
+#: sql_help.c:4751
 msgid "remove a trigger"
 msgstr "удалить триггер"
 
-#: sql_help.h:807
+#: sql_help.c:4756
 msgid "remove a data type"
 msgstr "удалить тип данных"
 
-#: sql_help.h:817
+#: sql_help.c:4766
 msgid "remove a user mapping for a foreign server"
 msgstr "удалить сопоставление пользователя для стороннего сервера"
 
-#: sql_help.h:822
+#: sql_help.c:4771
 msgid "remove a view"
 msgstr "удалить представление"
 
-#: sql_help.h:832
+#: sql_help.c:4781
 msgid "execute a prepared statement"
 msgstr "выполнить подготовленный оператор"
 
-#: sql_help.h:837
+#: sql_help.c:4786
 msgid "show the execution plan of a statement"
 msgstr "показать план выполнения оператора"
 
-#: sql_help.h:842
+#: sql_help.c:4791
 msgid "retrieve rows from a query using a cursor"
 msgstr "получить результат запроса через курсор"
 
-#: sql_help.h:847
+#: sql_help.c:4796
 msgid "define access privileges"
 msgstr "определить права доступа"
 
-#: sql_help.h:852
+#: sql_help.c:4801
 msgid "import table definitions from a foreign server"
 msgstr "импортировать определения таблиц со стороннего сервера"
 
-#: sql_help.h:857
+#: sql_help.c:4806
 msgid "create new rows in a table"
 msgstr "добавить строки в таблицу"
 
-#: sql_help.h:862
+#: sql_help.c:4811
 msgid "listen for a notification"
 msgstr "ожидать уведомления"
 
-#: sql_help.h:867
+#: sql_help.c:4816
 msgid "load a shared library file"
 msgstr "загрузить файл разделяемой библиотеки"
 
-#: sql_help.h:872
+#: sql_help.c:4821
 msgid "lock a table"
 msgstr "заблокировать таблицу"
 
-#: sql_help.h:877
+#: sql_help.c:4826
 msgid "position a cursor"
 msgstr "установить курсор"
 
-#: sql_help.h:882
+#: sql_help.c:4831
 msgid "generate a notification"
 msgstr "сгенерировать уведомление"
 
-#: sql_help.h:887
+#: sql_help.c:4836
 msgid "prepare a statement for execution"
 msgstr "подготовить оператор для выполнения"
 
-#: sql_help.h:892
+#: sql_help.c:4841
 msgid "prepare the current transaction for two-phase commit"
 msgstr "подготовить текущую транзакцию для двухфазной фиксации"
 
-#: sql_help.h:897
+#: sql_help.c:4846
 msgid "change the ownership of database objects owned by a database role"
 msgstr "изменить владельца объектов БД, принадлежащих заданной роли"
 
-#: sql_help.h:902
+#: sql_help.c:4851
 msgid "replace the contents of a materialized view"
 msgstr "заменить содержимое материализованного представления"
 
-#: sql_help.h:907
+#: sql_help.c:4856
 msgid "rebuild indexes"
 msgstr "перестроить индексы"
 
-#: sql_help.h:912
+#: sql_help.c:4861
 msgid "destroy a previously defined savepoint"
 msgstr "удалить ранее определённую точку сохранения"
 
-#: sql_help.h:917
+#: sql_help.c:4866
 msgid "restore the value of a run-time parameter to the default value"
 msgstr "восстановить исходное значение параметра выполнения"
 
-#: sql_help.h:922
+#: sql_help.c:4871
 msgid "remove access privileges"
 msgstr "удалить права доступа"
 
-#: sql_help.h:932
+#: sql_help.c:4881
 msgid "cancel a transaction that was earlier prepared for two-phase commit"
 msgstr "отменить транзакцию, подготовленную ранее для двухфазной фиксации"
 
-#: sql_help.h:937
+#: sql_help.c:4886
 msgid "roll back to a savepoint"
 msgstr "откатиться к точке сохранения"
 
-#: sql_help.h:942
+#: sql_help.c:4891
 msgid "define a new savepoint within the current transaction"
 msgstr "определить новую точку сохранения в текущей транзакции"
 
-#: sql_help.h:947
+#: sql_help.c:4896
 msgid "define or change a security label applied to an object"
 msgstr "задать или изменить метку безопасности, применённую к объекту"
 
-#: sql_help.h:952 sql_help.h:997 sql_help.h:1027
+#: sql_help.c:4901 sql_help.c:4946 sql_help.c:4976
 msgid "retrieve rows from a table or view"
 msgstr "выбрать строки из таблицы или представления"
 
-#: sql_help.h:962
+#: sql_help.c:4911
 msgid "change a run-time parameter"
 msgstr "изменить параметр выполнения"
 
-#: sql_help.h:967
+#: sql_help.c:4916
 msgid "set constraint check timing for the current transaction"
 msgstr "установить время проверки ограничений для текущей транзакции"
 
-#: sql_help.h:972
+#: sql_help.c:4921
 msgid "set the current user identifier of the current session"
 msgstr "задать идентификатор текущего пользователя в текущем сеансе"
 
-#: sql_help.h:977
+#: sql_help.c:4926
 msgid ""
 "set the session user identifier and the current user identifier of the "
 "current session"
@@ -5338,45 +5534,45 @@ msgstr ""
 "задать идентификатор пользователя сеанса и идентификатор текущего "
 "пользователя в текущем сеансе"
 
-#: sql_help.h:982
+#: sql_help.c:4931
 msgid "set the characteristics of the current transaction"
 msgstr "задать свойства текущей транзакции"
 
-#: sql_help.h:987
+#: sql_help.c:4936
 msgid "show the value of a run-time parameter"
 msgstr "показать значение параметра выполнения"
 
-#: sql_help.h:1002
+#: sql_help.c:4951
 msgid "empty a table or set of tables"
 msgstr "опустошить таблицу или набор таблиц"
 
-#: sql_help.h:1007
+#: sql_help.c:4956
 msgid "stop listening for a notification"
 msgstr "прекратить ожидание уведомлений"
 
-#: sql_help.h:1012
+#: sql_help.c:4961
 msgid "update rows of a table"
 msgstr "изменить строки таблицы"
 
-#: sql_help.h:1017
+#: sql_help.c:4966
 msgid "garbage-collect and optionally analyze a database"
 msgstr "произвести сборку мусора и проанализировать базу данных"
 
-#: sql_help.h:1022
+#: sql_help.c:4971
 msgid "compute a set of rows"
 msgstr "получить набор строк"
 
-#: startup.c:177
+#: startup.c:189
 #, c-format
 msgid "%s: -1 can only be used in non-interactive mode\n"
 msgstr "%s: -1 можно использовать только в неинтерактивном режиме\n"
 
-#: startup.c:278
+#: startup.c:289
 #, c-format
 msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s: не удалось открыть файл протокола \"%s\": %s\n"
 
-#: startup.c:342
+#: startup.c:389
 #, c-format
 msgid ""
 "Type \"help\" for help.\n"
@@ -5385,42 +5581,43 @@ msgstr ""
 "Введите \"help\", чтобы получить справку.\n"
 "\n"
 
-#: startup.c:490
+#: startup.c:538
 #, c-format
 msgid "%s: could not set printing parameter \"%s\"\n"
 msgstr "%s: не удалось установить параметр печати \"%s\"\n"
 
-#: startup.c:530
+#: startup.c:578
 #, c-format
 msgid "%s: could not delete variable \"%s\"\n"
 msgstr "%s: удалить переменную \"%s\" нельзя\n"
 
-#: startup.c:540
+#: startup.c:588
 #, c-format
 msgid "%s: could not set variable \"%s\"\n"
 msgstr "%s: не удалось установить переменную \"%s\"\n"
 
-#: startup.c:600
+#: startup.c:648
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: startup.c:617
+#: startup.c:665
 #, c-format
 msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
 msgstr "%s: предупреждение: лишний аргумент \"%s\" проигнорирован\n"
 
-#: startup.c:639
+#: startup.c:714
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s: не удалось найти свой исполняемый файл\n"
 
-#: startup.c:761 startup.c:808 startup.c:829 startup.c:866 variables.c:121
+#: startup.c:836 startup.c:883 startup.c:904 startup.c:941 startup.c:963
+#: variables.c:121
 #, c-format
 msgid "unrecognized value \"%s\" for \"%s\"; assuming \"%s\"\n"
 msgstr "нераспознанное значение \"%s\" для \"%s\"; подразумевается \"%s\"\n"
 
-#: tab-complete.c:4581
+#: tab-complete.c:3704
 #, c-format
 msgid ""
 "tab completion query failed: %s\n"
@@ -5431,6 +5628,9 @@ msgstr ""
 "Запрос:\n"
 "%s\n"
 
+#~ msgid "Watch every %lds\t%s"
+#~ msgstr "Повтор запрос через %ld сек.\t%s"
+
 #~ msgid ""
 #~ "\n"
 #~ "Display influencing variables:\n"
@@ -5450,39 +5650,6 @@ msgstr ""
 #~ msgid "expression_index"
 #~ msgstr "индекс_по_выражению"
 
-#~ msgid ""
-#~ "The server (version %d.%d) does not support editing view definitions.\n"
-#~ msgstr ""
-#~ "Сервер (версия %d.%d) не поддерживает редактирование определения "
-#~ "представления.\n"
-
-#~ msgid ""
-#~ "The server (version %d.%d) does not support showing view definitions.\n"
-#~ msgstr ""
-#~ "Сервер (версия %d.%d) не поддерживает вывод определения представлений.\n"
-
-#~ msgid "view name is required\n"
-#~ msgstr "требуется имя представления\n"
-
-#~ msgid "%s.%s is not a view\n"
-#~ msgstr "%s.%s - не представление\n"
-
-#~ msgid ""
-#~ "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
-#~ msgstr ""
-#~ "  \\ev [VIEWNAME [LINE]]  править определение представления во внешнем "
-#~ "редакторе\n"
-
-#~ msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
-#~ msgstr "  \\sv[+]  ИМЯ_ПРЕДСТ     показать определение представления\n"
-
-#~ msgid ""
-#~ "  SHOW_CONTEXT       control display of message context fields [never, "
-#~ "errors, always]\n"
-#~ msgstr ""
-#~ "  SHOW_CONTEXT       управляет отображением полей контекста сообщений "
-#~ "[never, errors, always]\n"
-
 #~ msgid "SSL connection (unknown cipher)\n"
 #~ msgstr "SSL-соединение (шифр неизвестен)\n"
 
diff --git a/src/bin/psql/po/zh_CN.po b/src/bin/psql/po/zh_CN.po
index 8c2465cfbbfd011c8ad93106efc930152b6be824..c9177f175d914442206056569c6ea99e0db1b2a8 100644
--- a/src/bin/psql/po/zh_CN.po
+++ b/src/bin/psql/po/zh_CN.po
@@ -2,8 +2,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psql (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:43+0000\n"
-"PO-Revision-Date: 2016-01-03 23:26-0500\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-06-12 15:59+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
 "Language-Team: Chinese (Simplified)\n"
 "Language: zh_CN\n"
@@ -59,8 +59,8 @@ msgstr "pclose调用失败: %s"
 # common.c:99
 # mainloop.c:71
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 command.c:318 input.c:205 mainloop.c:73
-#: mainloop.c:253
+#: ../../common/fe_memutils.c:98 command.c:330 input.c:227 mainloop.c:80
+#: mainloop.c:261
 #, c-format
 msgid "out of memory\n"
 msgstr "内存耗尽\n"
@@ -76,7 +76,7 @@ msgstr "无法复制空指针 (内部错误)\n"
 msgid "could not look up effective user ID %ld: %s"
 msgstr "无法找到有效的用户ID %ld: %s"
 
-#: ../../common/username.c:47 command.c:273
+#: ../../common/username.c:47 command.c:287
 msgid "user does not exist"
 msgstr "用户不存在"
 
@@ -120,44 +120,76 @@ msgstr "子进程被信号 %d 终止"
 msgid "child process exited with unrecognized status %d"
 msgstr "子进程结束,不明状态代码 %d"
 
+# print.c:1202
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu 行记录)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "已中断\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr "无法对表的内容增加标题:已经超过%d列的数量.\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr "无法对表的内容添加单元: 总共有%d个单元超过.\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "无效的输出格式 (内部错误): %d"
+
+#: ../../fe_utils/psqlscan.l:713
+#, c-format
+msgid "skipping recursive expansion of variable \"%s\"\n"
+msgstr "跳过变量 \"%s\"的递归扩展\n"
+
 # command.c:120
-#: command.c:114
+#: command.c:128
 #, c-format
 msgid "Invalid command \\%s. Try \\? for help.\n"
 msgstr "无效的命令 \\%s,用 \\? 查看帮助。\n"
 
 # command.c:122
-#: command.c:116
+#: command.c:130
 #, c-format
 msgid "invalid command \\%s\n"
 msgstr "无效的命令 \\%s\n"
 
 # command.c:131
-#: command.c:127
+#: command.c:141
 #, c-format
 msgid "\\%s: extra argument \"%s\" ignored\n"
 msgstr "\\%s:忽略多余的参数 \"%s\" \n"
 
 # command.c:240
-#: command.c:271
+#: command.c:285
 #, c-format
 msgid "could not get home directory for user ID %ld: %s\n"
 msgstr "无法获取用户ID %ld: %s对应的home 目录\n"
 
 # command.c:256
-#: command.c:289
+#: command.c:303
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %s\n"
 msgstr "\\%s: 无法切换目录至 \"%s\": %s\n"
 
 # common.c:636
 # common.c:871
-#: command.c:304 common.c:442 common.c:500 common.c:962
+#: command.c:318 common.c:548 common.c:606 common.c:1139
 #, c-format
 msgid "You are currently not connected to a database.\n"
 msgstr "你目前没有连接到数据库。\n"
 
-#: command.c:331
+#: command.c:343
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at "
@@ -166,7 +198,7 @@ msgstr ""
 "以用户 \"%2$s\" 的身份,通过套接字\"%3$s\"在端口\"%4$s\"连接到数据库 \"%1$s"
 "\"\n"
 
-#: command.c:334
+#: command.c:346
 #, c-format
 msgid ""
 "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port "
@@ -176,32 +208,58 @@ msgstr ""
 
 # command.c:370
 # command.c:760
-#: command.c:535 command.c:605 command.c:1405
+#: command.c:559 command.c:629 command.c:725 command.c:1557
 #, c-format
 msgid "no query buffer\n"
 msgstr "没有查询缓存区\n"
 
-#: command.c:568 command.c:3168
+#: command.c:592 command.c:3408
 #, c-format
 msgid "invalid line number: %s\n"
 msgstr "行号无效: %s\n"
 
 # describe.c:117
-#: command.c:599
+#: command.c:623
 #, c-format
 msgid "The server (version %d.%d) does not support editing function source.\n"
 msgstr "服务器(版本%d.%d)不支持编辑函数源码.\n"
 
-#: command.c:679
+#: command.c:703 command.c:771
 msgid "No changes"
 msgstr "没有发生更改"
 
+# describe.c:117
+#: command.c:719
+#, c-format
+msgid "The server (version %d.%d) does not support editing view definitions.\n"
+msgstr "服务器(版本%d.%d)不支持编辑视图定义。\n"
+
 # command.c:433
-#: command.c:733
+#: command.c:825
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
 msgstr "%s:无效的编码名称或找不到转换程序\n"
 
+# command.c:953
+# common.c:216
+# common.c:605
+# common.c:660
+# common.c:903
+#: command.c:850 command.c:1897 command.c:3510 common.c:152 common.c:199
+#: common.c:492 common.c:1185 common.c:1210 common.c:1311 copy.c:489
+#: copy.c:699 large_obj.c:156 large_obj.c:191 large_obj.c:253
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: command.c:854
+msgid "out of memory"
+msgstr "内存用尽"
+
+#: command.c:857
+msgid "There was no previous error."
+msgstr "没有之前的错误。"
+
 # command.c:501
 # command.c:535
 # command.c:549
@@ -209,14 +267,14 @@ msgstr "%s:无效的编码名称或找不到转换程序\n"
 # command.c:612
 # command.c:740
 # command.c:771
-#: command.c:830 command.c:880 command.c:894 command.c:911 command.c:1018
-#: command.c:1182 command.c:1385 command.c:1416
+#: command.c:951 command.c:1001 command.c:1015 command.c:1032 command.c:1139
+#: command.c:1303 command.c:1537 command.c:1568
 #, c-format
 msgid "\\%s: missing required argument\n"
 msgstr "\\%s:缺少所需参数\n"
 
 # command.c:598
-#: command.c:943
+#: command.c:1064
 msgid "Query buffer is empty."
 msgstr "查询缓存区是空的。"
 
@@ -224,65 +282,77 @@ msgstr "查询缓存区是空的。"
 # command.c:939
 # startup.c:187
 # startup.c:205
-#: command.c:953
+#: command.c:1074
 msgid "Enter new password: "
 msgstr "输入新的密码:"
 
-#: command.c:954
+#: command.c:1075
 msgid "Enter it again: "
 msgstr "再次输入:"
 
-#: command.c:958
+#: command.c:1079
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "两次密码不匹配。\n"
 
-#: command.c:976
+#: command.c:1097
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "密码加密失败。\n"
 
 # startup.c:502
-#: command.c:1047 command.c:1163 command.c:1390
+#: command.c:1168 command.c:1284 command.c:1542
 #, c-format
 msgid "\\%s: error while setting variable\n"
 msgstr "\\%s: 设定变量值时出错\n"
 
 # command.c:632
-#: command.c:1110
+#: command.c:1231
 msgid "Query buffer reset (cleared)."
 msgstr "查询缓存区重置(已清空)。"
 
 # command.c:646
-#: command.c:1122
+#: command.c:1243
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "写入历史记录到文件 \"%s\".\n"
 
-#: command.c:1187
+#: command.c:1308
 #, c-format
 msgid "\\%s: environment variable name must not contain \"=\"\n"
 msgstr "\\%s: 环境变量不能包含 \"=\"\n"
 
 # describe.c:117
-#: command.c:1229
+#: command.c:1350
 #, c-format
 msgid "The server (version %d.%d) does not support showing function source.\n"
 msgstr "服务器(版本%d.%d)不支持显示函数源码.\n"
 
 # copy.c:122
-#: command.c:1235
+#: command.c:1356
 #, c-format
 msgid "function name is required\n"
 msgstr "需要函数名\n"
 
+# describe.c:117
+#: command.c:1429
+#, c-format
+msgid "The server (version %d.%d) does not support showing view definitions.\n"
+msgstr "服务器(版本%d.%d)不支持显示视图定义。\n"
+
+# copy.c:122
+#: command.c:1435
+#, c-format
+msgid "view name is required\n"
+msgstr "需要视图名\n"
+
 # command.c:726
-#: command.c:1370
+#: command.c:1522
 msgid "Timing is on."
 msgstr "启用计时功能."
 
 # command.c:728
-#: command.c:1372
+#: command.c:1524
 msgid "Timing is off."
 msgstr "停止计时功能."
 
@@ -299,15 +369,16 @@ msgstr "停止计时功能."
 # common.c:170
 # copy.c:530
 # copy.c:575
-#: command.c:1433 command.c:1453 command.c:2087 command.c:2090 command.c:2093
-#: command.c:2099 command.c:2101 command.c:2109 command.c:2119 command.c:2128
-#: command.c:2142 command.c:2159 command.c:2218 common.c:74 copy.c:333
-#: copy.c:393 copy.c:408 psqlscan.l:1700 psqlscan.l:1711 psqlscan.l:1721
+#: command.c:1586 command.c:1606 command.c:2240 command.c:2243 command.c:2246
+#: command.c:2252 command.c:2254 command.c:2262 command.c:2272 command.c:2281
+#: command.c:2295 command.c:2312 command.c:2370 common.c:67 copy.c:332
+#: copy.c:392 copy.c:405 psqlscanslash.l:710 psqlscanslash.l:721
+#: psqlscanslash.l:731
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
 
-#: command.c:1544
+#: command.c:1700
 #, c-format
 msgid "+ opt(%d) = |%s|\n"
 msgstr "+ opt(%d) = |%s|\n"
@@ -316,7 +387,7 @@ msgstr "+ opt(%d) = |%s|\n"
 # command.c:939
 # startup.c:187
 # startup.c:205
-#: command.c:1570 startup.c:195
+#: command.c:1726 startup.c:207
 msgid "Password: "
 msgstr "口令:"
 
@@ -324,44 +395,32 @@ msgstr "口令:"
 # command.c:939
 # startup.c:187
 # startup.c:205
-#: command.c:1575 startup.c:197
+#: command.c:1731 startup.c:209
 #, c-format
 msgid "Password for user %s: "
 msgstr "用户 %s 的口令:"
 
-#: command.c:1622
+#: command.c:1778
 #, c-format
 msgid ""
 "All connection parameters must be supplied because no database connection "
 "exists\n"
 msgstr "没有可用的数据库连接,所以必须提供所有的连接参数\n"
 
-# command.c:953
-# common.c:216
-# common.c:605
-# common.c:660
-# common.c:903
-#: command.c:1743 command.c:3202 common.c:120 common.c:413 common.c:1005
-#: common.c:1030 common.c:1130 copy.c:492 copy.c:702 large_obj.c:156
-#: large_obj.c:191 large_obj.c:253 psqlscan.l:1972
-#, c-format
-msgid "%s"
-msgstr "%s"
-
 # command.c:957
-#: command.c:1747
+#: command.c:1901
 #, c-format
 msgid "Previous connection kept\n"
 msgstr "保留上一次连接\n"
 
 # command.c:969
-#: command.c:1751
+#: command.c:1905
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\连接:%s"
 
 # command.c:981
-#: command.c:1785
+#: command.c:1937
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" "
@@ -371,7 +430,7 @@ msgstr ""
 "\".\n"
 
 # command.c:981
-#: command.c:1788
+#: command.c:1940
 #, c-format
 msgid ""
 "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at "
@@ -380,17 +439,17 @@ msgstr ""
 "您现在已经连接到数据库 \"%s\", 用户 \"%s\",主机 \"%s\",端口号 \"%s\".\n"
 
 # command.c:981
-#: command.c:1792
+#: command.c:1944
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "您现在已经连接到数据库 \"%s\",用户 \"%s\".\n"
 
-#: command.c:1826
+#: command.c:1978
 #, c-format
 msgid "%s (%s, server %s)\n"
 msgstr "%s (%s, 服务器 %s)\n"
 
-#: command.c:1834
+#: command.c:1986
 #, c-format
 msgid ""
 "WARNING: %s major version %d.%d, server major version %d.%d.\n"
@@ -400,27 +459,26 @@ msgstr ""
 "     一些psql功能可能无法正常使用。\n"
 
 # startup.c:652
-#: command.c:1868
+#: command.c:2020
 #, c-format
 msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
 msgstr "SSL 连接(协议:%s,密码:%s,密钥位:%s,压缩:%s)\n"
 
-#: command.c:1869 command.c:1870 command.c:1871
-#| msgid "[unknown]"
+#: command.c:2021 command.c:2022 command.c:2023
 msgid "unknown"
 msgstr "未知"
 
 # help.c:48
-#: command.c:1872 help.c:46
+#: command.c:2024 help.c:46
 msgid "off"
 msgstr "关闭"
 
 # help.c:48
-#: command.c:1872 help.c:46
+#: command.c:2024 help.c:46
 msgid "on"
 msgstr "开启"
 
-#: command.c:1892
+#: command.c:2044
 #, c-format
 msgid ""
 "WARNING: Console code page (%u) differs from Windows code page (%u)\n"
@@ -431,7 +489,7 @@ msgstr ""
 "         8-bit 字符可能无法正常工作。请查阅 psql 参考\n"
 "         页 \"Windows 用户注意事项\" 的详细说明。\n"
 
-#: command.c:1976
+#: command.c:2129
 #, c-format
 msgid ""
 "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a "
@@ -439,31 +497,31 @@ msgid ""
 msgstr "必须设置环境变量 PSQL_EDITOR_LINENUMBER_ARG,用于指定行号\n"
 
 # command.c:1103
-#: command.c:2005
+#: command.c:2158
 #, c-format
 msgid "could not start editor \"%s\"\n"
 msgstr "无法启动编辑器 \"%s\"\n"
 
 # command.c:1105
-#: command.c:2007
+#: command.c:2160
 #, c-format
 msgid "could not start /bin/sh\n"
 msgstr "无法启动 /bin/sh\n"
 
 # command.c:1148
-#: command.c:2045
+#: command.c:2198
 #, c-format
 msgid "could not locate temporary directory: %s\n"
 msgstr "找不到临时目录:%s\n"
 
 # command.c:1148
-#: command.c:2072
+#: command.c:2225
 #, c-format
 msgid "could not open temporary file \"%s\": %s\n"
 msgstr "无法打开临时文件 \"%s\": %s\n"
 
 # command.c:1340
-#: command.c:2376
+#: command.c:2499
 #, c-format
 msgid ""
 "\\pset: allowed formats are unaligned, aligned, wrapped, html, asciidoc, "
@@ -472,231 +530,244 @@ msgstr ""
 "\\pset: 允许的格式是 unaligned, aligned, wrapped, html, asciidoc, latex, "
 "latex-longtable, troff-ms\n"
 
-#: command.c:2395
+#: command.c:2518
 #, c-format
 msgid "\\pset: allowed line styles are ascii, old-ascii, unicode\n"
 msgstr "\\pset: 所允许使用的文本风格是ASCII, OLD-ASCII, UNICODE\n"
 
-#: command.c:2411
+#: command.c:2534
 #, c-format
-msgid "\\pset: allowed unicode border linestyles are single, double\n"
-msgstr "\\pset: 允许的unicode边界线型是 single 和 double\n"
+#| msgid "\\pset: allowed unicode border linestyles are single, double\n"
+msgid "\\pset: allowed Unicode border line styles are single, double\n"
+msgstr "\\pset:允许的 Unicode 边界线型是 single 和 double\n"
 
-#: command.c:2426
+#: command.c:2549
 #, c-format
-msgid "\\pset: allowed unicode column linestyles are single, double\n"
-msgstr "\\pset: 允许的unicode列线型是 single 和 double\n"
+#| msgid "\\pset: allowed unicode column linestyles are single, double\n"
+msgid "\\pset: allowed Unicode column line styles are single, double\n"
+msgstr "\\pset:允许的 Unicode 列线型是 single 和 double\n"
 
-#: command.c:2441
+#: command.c:2564
 #, c-format
-msgid "\\pset: allowed unicode header linestyles are single, double\n"
-msgstr "\\pset: 允许的unicode头部线型是 single 和 double\n"
+#| msgid "\\pset: allowed unicode header linestyles are single, double\n"
+msgid "\\pset: allowed Unicode header line styles are single, double\n"
+msgstr "\\pset:允许的 Unicode 页眉线型是 single 和 double\n"
 
 # command.c:1493
-#: command.c:2593 command.c:2772
+#: command.c:2716 command.c:2895
 #, c-format
 msgid "\\pset: unknown option: %s\n"
 msgstr "\\pset: 不明选项: %s\n"
 
 # command.c:1355
-#: command.c:2611
+#: command.c:2734
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "边缘风格是 %d。\n"
 
-#: command.c:2617
+#: command.c:2740
 #, c-format
 msgid "Target width is unset.\n"
 msgstr "目标宽度未设置.\n"
 
-#: command.c:2619
+#: command.c:2742
 #, c-format
 msgid "Target width is %d.\n"
 msgstr "目标宽度为 %d.\n"
 
 # command.c:1364
-#: command.c:2626
+#: command.c:2749
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "扩展显示已打开。\n"
 
 # command.c:1364
-#: command.c:2628
+#: command.c:2751
 #, c-format
 msgid "Expanded display is used automatically.\n"
 msgstr "扩展显示已自动打开。\n"
 
 # command.c:1365
-#: command.c:2630
+#: command.c:2753
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "扩展显示已关闭。\n"
 
 # command.c:1389
-#: command.c:2637 command.c:2645
+#: command.c:2760 command.c:2768
 #, c-format
 msgid "Field separator is zero byte.\n"
 msgstr "栏位分隔符号是0字节\n"
 
 # command.c:1389
-#: command.c:2639
+#: command.c:2762
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "栏位分隔符号是 \"%s\"。\n"
 
 # command.c:1485
-#: command.c:2652
+#: command.c:2775
 #, c-format
 msgid "Default footer is on.\n"
 msgstr "打开默认步进器。\n"
 
 # command.c:1487
-#: command.c:2654
+#: command.c:2777
 #, c-format
 msgid "Default footer is off.\n"
 msgstr "关闭默认步进器。\n"
 
 # command.c:1345
-#: command.c:2660
+#: command.c:2783
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "输出格式是 %s。\n"
 
 # command.c:1355
-#: command.c:2666
+#: command.c:2789
 #, c-format
 msgid "Line style is %s.\n"
 msgstr "文本的风格是%s. \n"
 
 # command.c:1377
-#: command.c:2673
+#: command.c:2796
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr " \"%s\" 是空值显示。\n"
 
-#: command.c:2681
+#: command.c:2804
 #, c-format
 msgid "Locale-adjusted numeric output is on.\n"
 msgstr "启动语言环境调整后的数值输出。\n"
 
-#: command.c:2683
+#: command.c:2806
 #, c-format
 msgid "Locale-adjusted numeric output is off.\n"
 msgstr "关闭语言环境调整后的数值输出。\n"
 
 # command.c:1470
-#: command.c:2690
+#: command.c:2813
 #, c-format
 msgid "Pager is used for long output.\n"
 msgstr "显示大量数据时使用分页器。\n"
 
 # command.c:1472
-#: command.c:2692
+#: command.c:2815
 #, c-format
 msgid "Pager is always used.\n"
 msgstr "总是使用分页器。\n"
 
 # command.c:1474
-#: command.c:2694
+#: command.c:2817
 #, c-format
 msgid "Pager usage is off.\n"
 msgstr "不使用分页器。\n"
 
-#: command.c:2700
+#: command.c:2823
 #, c-format
 msgid "Pager won't be used for less than %d line.\n"
 msgid_plural "Pager won't be used for less than %d lines.\n"
 msgstr[0] "分页器不能被用于少于%d行。\n"
 
 # command.c:1405
-#: command.c:2710 command.c:2720
+#: command.c:2833 command.c:2843
 #, c-format
 msgid "Record separator is zero byte.\n"
 msgstr "记录分隔符号是 0字节。\n"
 
 # command.c:1403
-#: command.c:2712
+#: command.c:2835
 #, c-format
 msgid "Record separator is <newline>.\n"
 msgstr "记录分隔符号是 <newline>。\n"
 
 # command.c:1405
-#: command.c:2714
+#: command.c:2837
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "记录分隔符号是 \"%s\"。\n"
 
 # command.c:1452
-#: command.c:2727
+#: command.c:2850
 #, c-format
 msgid "Table attributes are \"%s\".\n"
 msgstr "表属性是 \"%s\".\n"
 
 # command.c:1454
-#: command.c:2730
+#: command.c:2853
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "未设置数据表属性。\n"
 
 # command.c:1434
-#: command.c:2737
+#: command.c:2860
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "标题是 \"%s\"。\n"
 
 # command.c:1436
-#: command.c:2739
+#: command.c:2862
 #, c-format
 msgid "Title is unset.\n"
 msgstr "无标题。\n"
 
 # command.c:1418
-#: command.c:2746
+#: command.c:2869
 #, c-format
 msgid "Tuples only is on.\n"
 msgstr "开启只显示元组。\n"
 
 # command.c:1418
-#: command.c:2748
+#: command.c:2871
 #, c-format
 msgid "Tuples only is off.\n"
 msgstr "关闭只显示元组。\n"
 
 # command.c:1355
-#: command.c:2754
+#: command.c:2877
 #, c-format
-msgid "Unicode border linestyle is \"%s\".\n"
-msgstr "Unicode的边界线型是\"%s\"。\n"
+#| msgid "Unicode border linestyle is \"%s\".\n"
+msgid "Unicode border line style is \"%s\".\n"
+msgstr "Unicode 边界线型是 \"%s\"。\n"
 
 # command.c:1355
-#: command.c:2760
+#: command.c:2883
 #, c-format
-msgid "Unicode column linestyle is \"%s\".\n"
-msgstr "Unicode的列线型是\"%s\"。\n"
+#| msgid "Unicode column linestyle is \"%s\".\n"
+msgid "Unicode column line style is \"%s\".\n"
+msgstr "Unicode 列线型是 \"%s\"。\n"
 
 # command.c:1355
-#: command.c:2766
+#: command.c:2889
 #, c-format
-msgid "Unicode header linestyle is \"%s\".\n"
-msgstr "Unicode的头部线型是\"%s\"。\n"
+#| msgid "Unicode header linestyle is \"%s\".\n"
+msgid "Unicode header line style is \"%s\".\n"
+msgstr "Unicode 页眉线型是 \"%s\"。\n"
 
 # command.c:1532
-#: command.c:2926
+#: command.c:3049
 #, c-format
 msgid "\\!: failed\n"
 msgstr "\\!:失败\n"
 
-#: command.c:2946 common.c:548
+#: command.c:3073 common.c:654
 #, c-format
 msgid "\\watch cannot be used with an empty query\n"
 msgstr "\\watch命令不能用于空查询\n"
 
-#: command.c:2967
+#: command.c:3110
+#, c-format
+#| msgid "%s (%s, server %s)\n"
+msgid "%s\t%s (every %gs)\n"
+msgstr "%s\t%s (每 %gs)\n"
+
+#: command.c:3113
 #, c-format
-msgid "Watch every %lds\t%s"
-msgstr "Watch命令每%lds\t%s调用一次"
+#| msgid "%s (%s, server %s)\n"
+msgid "%s (every %gs)\n"
+msgstr "%s (每 %gs)\n"
 
-#: command.c:3018 command.c:3025 common.c:448 common.c:455 common.c:988
+#: command.c:3167 command.c:3174 common.c:554 common.c:561 common.c:1168
 #, c-format
 msgid ""
 "********* QUERY **********\n"
@@ -709,55 +780,66 @@ msgstr ""
 "**************************\n"
 "\n"
 
+#: command.c:3325
+#, c-format
+#| msgid "\"%s\" is not a view"
+msgid "%s.%s is not a view\n"
+msgstr "%s.%s 不是一个视图\n"
+
+#: common.c:137
+#, c-format
+msgid "can't escape without active connection\n"
+msgstr "没有数据库连接时无法escape\n"
+
 # common.c:298
-#: common.c:287
+#: common.c:366
 #, c-format
 msgid "connection to server was lost\n"
 msgstr "与数据库的连接已经断开\n"
 
 # common.c:302
-#: common.c:291
+#: common.c:370
 #, c-format
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "与服务器的连接已断开,正在试图重置: "
 
 # common.c:307
-#: common.c:296
+#: common.c:375
 #, c-format
 msgid "Failed.\n"
 msgstr "失败。\n"
 
 # common.c:314
-#: common.c:303
+#: common.c:382
 #, c-format
 msgid "Succeeded.\n"
 msgstr "完成。\n"
 
 # fe-exec.c:1371
-#: common.c:403 common.c:759 common.c:927
+#: common.c:482 common.c:931 common.c:1103
 #, c-format
 msgid "unexpected PQresultStatus: %d\n"
 msgstr "意外的 PQresultStatus: %d\n"
 
-#: common.c:555
+#: common.c:661
 #, c-format
 msgid "\\watch cannot be used with COPY\n"
 msgstr "\\watch不能用于COPY命令中\n"
 
 # fe-exec.c:1371
-#: common.c:560
+#: common.c:666
 #, c-format
 msgid "unexpected result status for \\watch\n"
 msgstr "\\Watch出现意外的结果状态\n"
 
 # common.c:930
-#: common.c:571 common.c:1146
+#: common.c:677 common.c:1327
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "时间:%.3f ms\n"
 
 # common.c:691
-#: common.c:589
+#: common.c:695
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" with payload \"%s\" received from server "
@@ -766,30 +848,30 @@ msgstr ""
 "从PID为%3$d的服务器进程接收到带有字节流量\"%2$s\"的异步通知消息\"%1$s\".\n"
 
 # common.c:691
-#: common.c:592
+#: common.c:698
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr "收到来自服务器 \"%s\" 进程 PID %d 非同步通知。\n"
 
-#: common.c:654
+#: common.c:756
 #, c-format
 msgid "no rows returned for \\gset\n"
 msgstr "\\gset没有记录行返回\n"
 
-#: common.c:659
+#: common.c:761
 #, c-format
 msgid "more than one row returned for \\gset\n"
 msgstr "\\gset返回超过1个记录行\n"
 
 # startup.c:502
-#: common.c:685
+#: common.c:787
 #, c-format
 msgid "could not set variable \"%s\"\n"
 msgstr "无法设置变量 \"%s\"\n"
 
 # common.c:879
-#: common.c:970
+#: common.c:1148
 #, c-format
 msgid ""
 "***(Single step mode: verify command)"
@@ -803,81 +885,80 @@ msgstr ""
 "***(按 Enter 键继续或键入 x 来取消)********************\n"
 
 # describe.c:117
-#: common.c:1021
+#: common.c:1201
 #, c-format
 msgid ""
 "The server (version %d.%d) does not support savepoints for "
 "ON_ERROR_ROLLBACK.\n"
 msgstr "服务器(版本 %d.%d)不支持保存点(Savepoint)ON_ERROR_ROLLBACK。\n"
 
-#: common.c:1075
+#: common.c:1256
 #, c-format
-#| msgid "STATEMENT:  "
 msgid "STATEMENT:  %s\n"
 msgstr "语句:%s\n"
 
 # large_obj.c:58
-#: common.c:1118
+#: common.c:1299
 #, c-format
 msgid "unexpected transaction status (%d)\n"
 msgstr "意外的事务状态值 (%d)\n"
 
 # copy.c:122
-#: copy.c:98
+#: copy.c:99
 #, c-format
 msgid "\\copy: arguments required\n"
 msgstr "\\copy:需要参数\n"
 
 # copy.c:408
-#: copy.c:253
+#: copy.c:254
 #, c-format
 msgid "\\copy: parse error at \"%s\"\n"
 msgstr "\\copy:在 \"%s\" 发生解读错误\n"
 
 # copy.c:410
-#: copy.c:255
+#: copy.c:256
 #, c-format
 msgid "\\copy: parse error at end of line\n"
 msgstr "\\copy:在行尾发生解读错误\n"
 
-#: copy.c:330
+#: copy.c:329
 #, c-format
 msgid "could not execute command \"%s\": %s\n"
 msgstr "无法执行命令 \"%s\": %s\n"
 
-#: copy.c:346
+#: copy.c:345
 #, c-format
 msgid "could not stat file \"%s\": %s\n"
 msgstr "无法获取文件 \"%s\":%s 的状态\n"
 
 # copy.c:541
-#: copy.c:350
+#: copy.c:349
 #, c-format
 msgid "%s: cannot copy from/to a directory\n"
 msgstr "%s:无法从目录复制或复制到目录\n"
 
-#: copy.c:387
+#: copy.c:386
 #, c-format
 msgid "could not close pipe to external command: %s\n"
 msgstr "无法为外部命令: %s关闭管道\n"
 
 # command.c:1103
-#: copy.c:455 copy.c:466
+#: copy.c:452 copy.c:463
 #, c-format
 msgid "could not write COPY data: %s\n"
 msgstr "无法写入 COPY 数据:%s\n"
 
-#: copy.c:473
+#: copy.c:470
 #, c-format
 msgid "COPY data transfer failed: %s"
 msgstr "COPY 数据转换失败:%s"
 
-#: copy.c:534
+#: copy.c:531
 msgid "canceled by user"
 msgstr "依用户取消"
 
 # copy.c:668
-#: copy.c:545
+#: copy.c:542
 msgid ""
 "Enter data to be copied followed by a newline.\n"
 "End with a backslash and a period on a line by itself."
@@ -885,11 +966,11 @@ msgstr ""
 "输入要复制的数据并且换行。\n"
 "在独立的一行上输入一个反斜线和一个句点结束。"
 
-#: copy.c:674
+#: copy.c:671
 msgid "aborted because of read failure"
 msgstr "因读取失败已被中止"
 
-#: copy.c:698
+#: copy.c:695
 msgid "trying to exit copy mode"
 msgstr "正在尝试退出"
 
@@ -903,10 +984,10 @@ msgstr "正在尝试退出"
 # describe.c:1585
 # describe.c:1633
 #: describe.c:71 describe.c:264 describe.c:496 describe.c:626 describe.c:769
-#: describe.c:886 describe.c:956 describe.c:2929 describe.c:3134
-#: describe.c:3224 describe.c:3469 describe.c:3606 describe.c:3835
-#: describe.c:3907 describe.c:3918 describe.c:3977 describe.c:4385
-#: describe.c:4464
+#: describe.c:886 describe.c:956 describe.c:2931 describe.c:3136
+#: describe.c:3226 describe.c:3471 describe.c:3608 describe.c:3837
+#: describe.c:3909 describe.c:3920 describe.c:3979 describe.c:4387
+#: describe.c:4467
 msgid "Schema"
 msgstr "架构模式"
 
@@ -923,11 +1004,11 @@ msgstr "架构模式"
 # describe.c:1634
 # describe.c:1727
 #: describe.c:72 describe.c:156 describe.c:164 describe.c:265 describe.c:497
-#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2930
-#: describe.c:3056 describe.c:3135 describe.c:3225 describe.c:3304
-#: describe.c:3470 describe.c:3534 describe.c:3607 describe.c:3836
-#: describe.c:3908 describe.c:3919 describe.c:3978 describe.c:4167
-#: describe.c:4248 describe.c:4462
+#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2932
+#: describe.c:3058 describe.c:3137 describe.c:3227 describe.c:3306
+#: describe.c:3472 describe.c:3536 describe.c:3609 describe.c:3838
+#: describe.c:3910 describe.c:3921 describe.c:3980 describe.c:4169
+#: describe.c:4250 describe.c:4465
 msgid "Name"
 msgstr "名称"
 
@@ -953,12 +1034,12 @@ msgstr "参数数据类型"
 # describe.c:1733
 # large_obj.c:256
 #: describe.c:105 describe.c:187 describe.c:370 describe.c:545 describe.c:642
-#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2730
-#: describe.c:2963 describe.c:3087 describe.c:3161 describe.c:3234
-#: describe.c:3317 describe.c:3385 describe.c:3477 describe.c:3543
-#: describe.c:3608 describe.c:3744 describe.c:3784 describe.c:3852
-#: describe.c:3911 describe.c:3920 describe.c:3979 describe.c:4193
-#: describe.c:4270 describe.c:4399 describe.c:4465 large_obj.c:289
+#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2732
+#: describe.c:2965 describe.c:3089 describe.c:3163 describe.c:3236
+#: describe.c:3319 describe.c:3387 describe.c:3479 describe.c:3545
+#: describe.c:3610 describe.c:3746 describe.c:3786 describe.c:3854
+#: describe.c:3913 describe.c:3922 describe.c:3981 describe.c:4195
+#: describe.c:4272 describe.c:4401 describe.c:4468 large_obj.c:289
 #: large_obj.c:299
 msgid "Description"
 msgstr "描述"
@@ -980,8 +1061,8 @@ msgstr "服务器(版本%d.%d) 不支持使用表空间.\n"
 # describe.c:1478
 # describe.c:1727
 #: describe.c:157 describe.c:165 describe.c:367 describe.c:535 describe.c:689
-#: describe.c:885 describe.c:2939 describe.c:3060 describe.c:3306
-#: describe.c:3535 describe.c:4168 describe.c:4249 large_obj.c:288
+#: describe.c:885 describe.c:2941 describe.c:3062 describe.c:3308
+#: describe.c:3537 describe.c:4170 describe.c:4251 large_obj.c:288
 msgid "Owner"
 msgstr "拥有者"
 
@@ -995,8 +1076,8 @@ msgid "Options"
 msgstr "选项"
 
 # describe.c:257
-#: describe.c:182 describe.c:508 describe.c:705 describe.c:2955
-#: describe.c:2959
+#: describe.c:182 describe.c:508 describe.c:705 describe.c:2957
+#: describe.c:2961
 msgid "Size"
 msgstr "大小"
 
@@ -1039,7 +1120,7 @@ msgstr "常规"
 # describe.c:1478
 # describe.c:1587
 #: describe.c:284 describe.c:329 describe.c:346 describe.c:776 describe.c:895
-#: describe.c:1541 describe.c:2938 describe.c:3136 describe.c:4267
+#: describe.c:1541 describe.c:2940 describe.c:3138 describe.c:4269
 msgid "Type"
 msgstr "类型"
 
@@ -1123,7 +1204,7 @@ msgid "Result type"
 msgstr "结果类型"
 
 # describe.c:1691
-#: describe.c:635 describe.c:3376 describe.c:3743
+#: describe.c:635 describe.c:3378 describe.c:3745
 msgid "Function"
 msgstr "函数"
 
@@ -1138,7 +1219,7 @@ msgid "Encoding"
 msgstr "字元编码"
 
 # describe.c:128
-#: describe.c:695 describe.c:3471
+#: describe.c:695 describe.c:3473
 msgid "Collate"
 msgstr "校对规则"
 
@@ -1146,7 +1227,7 @@ msgstr "校对规则"
 # describe.c:745
 # describe.c:1478
 # describe.c:1587
-#: describe.c:696 describe.c:3472
+#: describe.c:696 describe.c:3474
 msgid "Ctype"
 msgstr "Ctype"
 
@@ -1163,32 +1244,32 @@ msgstr "数据库列表"
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:771 describe.c:888 describe.c:2931
+#: describe.c:771 describe.c:888 describe.c:2933
 msgid "table"
 msgstr "数据表"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:772 describe.c:2932
+#: describe.c:772 describe.c:2934
 msgid "view"
 msgstr "视图"
 
-#: describe.c:773 describe.c:2933
+#: describe.c:773 describe.c:2935
 msgid "materialized view"
 msgstr "物化视图"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:774 describe.c:890 describe.c:2935
+#: describe.c:774 describe.c:890 describe.c:2937
 msgid "sequence"
 msgstr "序列数"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:775 describe.c:2937
+#: describe.c:775 describe.c:2939
 msgid "foreign table"
 msgstr "所引用的外表"
 
@@ -1204,7 +1285,7 @@ msgstr "ç­–ç•¥"
 # describe.c:133
 # describe.c:415
 # describe.c:1733
-#: describe.c:844 describe.c:4609 describe.c:4613
+#: describe.c:844 describe.c:4612 describe.c:4616
 msgid "Access privileges"
 msgstr "存取权限"
 
@@ -1370,8 +1451,8 @@ msgstr "值"
 msgid "Definition"
 msgstr "定义"
 
-#: describe.c:1560 describe.c:4188 describe.c:4269 describe.c:4337
-#: describe.c:4398
+#: describe.c:1560 describe.c:4190 describe.c:4271 describe.c:4339
+#: describe.c:4400
 msgid "FDW Options"
 msgstr "FDW选项"
 
@@ -1472,20 +1553,24 @@ msgid "Policies:"
 msgstr "策略:"
 
 #: describe.c:2066
-msgid "Policies (Forced Row Security Enabled):"
-msgstr "策略(强制启用行安全性):"
+#| msgid "Policies (Forced Row Security Enabled):"
+msgid "Policies (forced row security enabled):"
+msgstr "策略(强制行安全性启用):"
 
 #: describe.c:2069
-msgid "Policies (Row Security Enabled): (None)"
-msgstr "策略(行安全性被启用):(无)"
+#| msgid "Policies (Row Security Enabled): (None)"
+msgid "Policies (row security enabled): (none)"
+msgstr "策略(行安全性启用):(无)"
 
 #: describe.c:2072
-msgid "Policies (Forced Row Security Enabled): (None)"
-msgstr "策略(强制启用行安全性):(无)"
+#| msgid "Policies (Forced Row Security Enabled): (None)"
+msgid "Policies (forced row security enabled): (none)"
+msgstr "策略(强制行安全性启用):(无)"
 
 #: describe.c:2075
-msgid "Policies (Row Security Disabled):"
-msgstr "策略(行安全性被禁用):"
+#| msgid "Policies (Row Security Disabled):"
+msgid "Policies (row security disabled):"
+msgstr "策略(行安全性禁用):"
 
 # describe.c:983
 # describe.c:1204
@@ -1565,7 +1650,7 @@ msgid "Has OIDs: yes"
 msgstr "有 OIDs:yes"
 
 # describe.c:1342
-#: describe.c:2621
+#: describe.c:2620
 #, c-format
 msgid "Tablespace: \"%s\""
 msgstr "表空间:\"%s\""
@@ -1573,430 +1658,430 @@ msgstr "表空间:\"%s\""
 # describe.c:1342
 #. translator: before this string there's an index description like
 #. '"foo_pkey" PRIMARY KEY, btree (a)'
-#: describe.c:2633
+#: describe.c:2632
 #, c-format
 msgid ", tablespace \"%s\""
 msgstr ", 表空间 \"%s\""
 
 # describe.c:1431
-#: describe.c:2723
+#: describe.c:2725
 msgid "List of roles"
 msgstr "角色列表"
 
 # describe.c:1375
-#: describe.c:2725
+#: describe.c:2727
 msgid "Role name"
 msgstr "角色名称"
 
-#: describe.c:2726
+#: describe.c:2728
 msgid "Attributes"
 msgstr "属性"
 
-#: describe.c:2727
+#: describe.c:2729
 msgid "Member of"
 msgstr "成员属于"
 
 # describe.c:1377
-#: describe.c:2738
+#: describe.c:2740
 msgid "Superuser"
 msgstr "超级用户"
 
-#: describe.c:2741
+#: describe.c:2743
 msgid "No inheritance"
 msgstr "没有继承"
 
-#: describe.c:2744
+#: describe.c:2746
 msgid "Create role"
 msgstr "建立角色"
 
-#: describe.c:2747
+#: describe.c:2749
 msgid "Create DB"
 msgstr "建立 DB"
 
-#: describe.c:2750
+#: describe.c:2752
 msgid "Cannot login"
 msgstr "无法登录"
 
 # describe.c:1636
-#: describe.c:2754
+#: describe.c:2756
 msgid "Replication"
 msgstr "复制"
 
-#: describe.c:2758
+#: describe.c:2760
 msgid "Bypass RLS"
 msgstr "绕过RLS"
 
 # help.c:123
-#: describe.c:2767
+#: describe.c:2769
 msgid "No connections"
 msgstr "没有连接"
 
 # help.c:123
-#: describe.c:2769
+#: describe.c:2771
 #, c-format
 msgid "%d connection"
 msgid_plural "%d connections"
 msgstr[0] "%d个连接"
 
-#: describe.c:2779
+#: describe.c:2781
 msgid "Password valid until "
 msgstr "密码有效直至"
 
 # describe.c:1375
-#: describe.c:2835
+#: describe.c:2837
 msgid "Role"
 msgstr "角色"
 
-#: describe.c:2836
+#: describe.c:2838
 msgid "Database"
 msgstr "数据库"
 
-#: describe.c:2837
+#: describe.c:2839
 msgid "Settings"
 msgstr "设置"
 
-#: describe.c:2847
+#: describe.c:2849
 #, c-format
 msgid "No per-database role settings support in this server version.\n"
 msgstr "在这个版本的服务器中不支持对每个数据库的角色进行设定.\n"
 
 # describe.c:1542
-#: describe.c:2858
+#: describe.c:2860
 #, c-format
 msgid "No matching settings found.\n"
 msgstr "没有找到所匹配的设置.\n"
 
 # describe.c:1544
-#: describe.c:2860
+#: describe.c:2862
 #, c-format
 msgid "No settings found.\n"
 msgstr "没有找到设置.\n"
 
 # describe.c:1549
-#: describe.c:2865
+#: describe.c:2867
 msgid "List of settings"
 msgstr "设置的列表"
 
 # describe.c:543
 # describe.c:1477
-#: describe.c:2934
+#: describe.c:2936
 msgid "index"
 msgstr "索引"
 
 # describe.c:1478
-#: describe.c:2936
+#: describe.c:2938
 msgid "special"
 msgstr "特殊"
 
 # describe.c:1483
-#: describe.c:2944 describe.c:4386
+#: describe.c:2946 describe.c:4388
 msgid "Table"
 msgstr "数据表"
 
 # describe.c:1542
-#: describe.c:3020
+#: describe.c:3022
 #, c-format
 msgid "No matching relations found.\n"
 msgstr "没有找到符合的关联。\n"
 
 # describe.c:1544
-#: describe.c:3022
+#: describe.c:3024
 #, c-format
 msgid "No relations found.\n"
 msgstr "找不到关联。\n"
 
 # describe.c:1549
-#: describe.c:3027
+#: describe.c:3029
 msgid "List of relations"
 msgstr "关联列表"
 
-#: describe.c:3064
+#: describe.c:3066
 msgid "Trusted"
 msgstr "ä¿¡ä»»"
 
 # describe.c:257
-#: describe.c:3072
+#: describe.c:3074
 msgid "Internal Language"
 msgstr "内部语言"
 
-#: describe.c:3073
+#: describe.c:3075
 msgid "Call Handler"
 msgstr "调用函数"
 
-#: describe.c:3074 describe.c:4175
+#: describe.c:3076 describe.c:4177
 msgid "Validator"
 msgstr "验证"
 
-#: describe.c:3077
+#: describe.c:3079
 msgid "Inline Handler"
 msgstr "内联函数"
 
 # describe.c:1431
-#: describe.c:3105
+#: describe.c:3107
 msgid "List of languages"
 msgstr "语言列表"
 
 # describe.c:1588
-#: describe.c:3149
+#: describe.c:3151
 msgid "Modifier"
 msgstr "修饰词"
 
-#: describe.c:3150
+#: describe.c:3152
 msgid "Check"
 msgstr "检查"
 
 # describe.c:1602
-#: describe.c:3192
+#: describe.c:3194
 msgid "List of domains"
 msgstr "共同值域列表"
 
 # describe.c:1635
-#: describe.c:3226
+#: describe.c:3228
 msgid "Source"
 msgstr "来源"
 
 # describe.c:1636
-#: describe.c:3227
+#: describe.c:3229
 msgid "Destination"
 msgstr "目的地"
 
 # describe.c:1262
 # describe.c:1638
 # describe.c:1692
-#: describe.c:3228 describe.c:3377
+#: describe.c:3230 describe.c:3379
 msgid "no"
 msgstr "否"
 
 # describe.c:1262
 # describe.c:1637
 # describe.c:1694
-#: describe.c:3228 describe.c:3379
+#: describe.c:3230 describe.c:3381
 msgid "yes"
 msgstr "是"
 
 # describe.c:1639
-#: describe.c:3229
+#: describe.c:3231
 msgid "Default?"
 msgstr "预设?"
 
 # describe.c:1653
-#: describe.c:3266
+#: describe.c:3268
 msgid "List of conversions"
 msgstr "字元编码转换列表"
 
-#: describe.c:3305
+#: describe.c:3307
 msgid "Event"
 msgstr "Event"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:3307
+#: describe.c:3309
 msgid "enabled"
 msgstr "启用"
 
 # describe.c:1636
-#: describe.c:3308
+#: describe.c:3310
 msgid "replica"
 msgstr "replica"
 
-#: describe.c:3309
+#: describe.c:3311
 msgid "always"
 msgstr "经常"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:3310
+#: describe.c:3312
 msgid "disabled"
 msgstr "禁用"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: describe.c:3311
+#: describe.c:3313
 msgid "Enabled"
 msgstr "使能"
 
-#: describe.c:3312
+#: describe.c:3314
 msgid "Procedure"
 msgstr "过程"
 
-#: describe.c:3313
+#: describe.c:3315
 msgid "Tags"
 msgstr "标签"
 
 # describe.c:1549
-#: describe.c:3332
+#: describe.c:3334
 msgid "List of event triggers"
 msgstr "事件触发器列表"
 
 # describe.c:1688
-#: describe.c:3374
+#: describe.c:3376
 msgid "Source type"
 msgstr "来源类型"
 
 # describe.c:1689
-#: describe.c:3375
+#: describe.c:3377
 msgid "Target type"
 msgstr "目标类型"
 
 # describe.c:1693
-#: describe.c:3378
+#: describe.c:3380
 msgid "in assignment"
 msgstr "在指派中"
 
 # describe.c:1695
-#: describe.c:3380
+#: describe.c:3382
 msgid "Implicit?"
 msgstr "隐含的?"
 
 # describe.c:1703
-#: describe.c:3431
+#: describe.c:3433
 msgid "List of casts"
 msgstr "类型转换列表"
 
 # describe.c:117
-#: describe.c:3457
+#: describe.c:3459
 #, c-format
 msgid "The server (version %d.%d) does not support collations.\n"
 msgstr "服务器(版本%d.%d)不支持排序校对。\n"
 
 # describe.c:1549
-#: describe.c:3507
+#: describe.c:3509
 msgid "List of collations"
 msgstr "校对列表"
 
 # describe.c:1753
-#: describe.c:3566
+#: describe.c:3568
 msgid "List of schemas"
 msgstr "架构模式列表"
 
 # describe.c:117
-#: describe.c:3589 describe.c:3824 describe.c:3892 describe.c:3960
+#: describe.c:3591 describe.c:3826 describe.c:3894 describe.c:3962
 #, c-format
 msgid "The server (version %d.%d) does not support full text search.\n"
 msgstr "服务器(版本%d.%d)不支持使用全文搜索.\n"
 
 # describe.c:150
-#: describe.c:3623
+#: describe.c:3625
 msgid "List of text search parsers"
 msgstr "文本剖析器列表"
 
 # describe.c:641
-#: describe.c:3666
+#: describe.c:3668
 #, c-format
 msgid "Did not find any text search parser named \"%s\".\n"
 msgstr "没有找到任何命名为 \"%s\" 的文本剖析器。\n"
 
-#: describe.c:3741
+#: describe.c:3743
 msgid "Start parse"
 msgstr "开始剖析"
 
-#: describe.c:3742
+#: describe.c:3744
 msgid "Method"
 msgstr "方法"
 
-#: describe.c:3746
+#: describe.c:3748
 msgid "Get next token"
 msgstr "取得下一个标志符"
 
-#: describe.c:3748
+#: describe.c:3750
 msgid "End parse"
 msgstr "结束剖析"
 
-#: describe.c:3750
+#: describe.c:3752
 msgid "Get headline"
 msgstr "取得首行"
 
-#: describe.c:3752
+#: describe.c:3754
 msgid "Get token types"
 msgstr "取得标志符类型"
 
-#: describe.c:3762
+#: describe.c:3764
 #, c-format
 msgid "Text search parser \"%s.%s\""
 msgstr "文本搜索剖析器 \"%s.%s\""
 
-#: describe.c:3764
+#: describe.c:3766
 #, c-format
 msgid "Text search parser \"%s\""
 msgstr "文本搜索剖析器 \"%s\""
 
 # describe.c:1375
-#: describe.c:3783
+#: describe.c:3785
 msgid "Token name"
 msgstr "标志名称"
 
-#: describe.c:3794
+#: describe.c:3796
 #, c-format
 msgid "Token types for parser \"%s.%s\""
 msgstr "标志符别型给剖析器 \"%s.%s\""
 
-#: describe.c:3796
+#: describe.c:3798
 #, c-format
 msgid "Token types for parser \"%s\""
 msgstr "标志符类型给剖析器 \"%s\""
 
-#: describe.c:3846
+#: describe.c:3848
 msgid "Template"
 msgstr "模版"
 
 # help.c:88
-#: describe.c:3847
+#: describe.c:3849
 msgid "Init options"
 msgstr "初始选项"
 
 # describe.c:1549
-#: describe.c:3869
+#: describe.c:3871
 msgid "List of text search dictionaries"
 msgstr "文本搜索字典列表"
 
-#: describe.c:3909
+#: describe.c:3911
 msgid "Init"
 msgstr "初始化"
 
 # describe.c:257
-#: describe.c:3910
+#: describe.c:3912
 msgid "Lexize"
 msgstr "词汇"
 
 # describe.c:1753
-#: describe.c:3937
+#: describe.c:3939
 msgid "List of text search templates"
 msgstr "文本搜索样式列表"
 
 # describe.c:97
-#: describe.c:3994
+#: describe.c:3996
 msgid "List of text search configurations"
 msgstr "文本搜索组态列表"
 
 # describe.c:641
-#: describe.c:4038
+#: describe.c:4040
 #, c-format
 msgid "Did not find any text search configuration named \"%s\".\n"
 msgstr "没有找到任何命名为 \"%s\" 的文本搜索组态。\n"
 
-#: describe.c:4104
+#: describe.c:4106
 msgid "Token"
 msgstr "标志符"
 
-#: describe.c:4105
+#: describe.c:4107
 msgid "Dictionaries"
 msgstr "å­—å…¸"
 
-#: describe.c:4116
+#: describe.c:4118
 #, c-format
 msgid "Text search configuration \"%s.%s\""
 msgstr "文本搜索组态 \"%s.%s\""
 
-#: describe.c:4119
+#: describe.c:4121
 #, c-format
 msgid "Text search configuration \"%s\""
 msgstr "文本搜索组态 \"%s\""
 
 # describe.c:859
-#: describe.c:4123
+#: describe.c:4125
 #, c-format
 msgid ""
 "\n"
@@ -2006,7 +2091,7 @@ msgstr ""
 "剖析器:\"%s.%s\""
 
 # describe.c:1342
-#: describe.c:4126
+#: describe.c:4128
 #, c-format
 msgid ""
 "\n"
@@ -2016,99 +2101,99 @@ msgstr ""
 "剖析器:\"%s\""
 
 # describe.c:117
-#: describe.c:4158
+#: describe.c:4160
 #, c-format
 msgid "The server (version %d.%d) does not support foreign-data wrappers.\n"
 msgstr "服务器(版本%d.%d)不支持使用外部数据封装器。\n"
 
-#: describe.c:4172
+#: describe.c:4174
 msgid "Handler"
 msgstr "处理函数"
 
 # describe.c:289
-#: describe.c:4215
+#: describe.c:4217
 msgid "List of foreign-data wrappers"
 msgstr "外部数据封装器列表"
 
 # describe.c:117
-#: describe.c:4238
+#: describe.c:4240
 #, c-format
 msgid "The server (version %d.%d) does not support foreign servers.\n"
 msgstr "服务器(版本%d.%d)不支持使用外部服务器.\n"
 
-#: describe.c:4250
+#: describe.c:4252
 msgid "Foreign-data wrapper"
 msgstr "外部数据封装器"
 
-#: describe.c:4268 describe.c:4463
+#: describe.c:4270 describe.c:4466
 msgid "Version"
 msgstr "版本"
 
 # describe.c:1653
-#: describe.c:4294
+#: describe.c:4296
 msgid "List of foreign servers"
 msgstr "外部服务器列表"
 
 # describe.c:117
-#: describe.c:4317
+#: describe.c:4319
 #, c-format
 msgid "The server (version %d.%d) does not support user mappings.\n"
 msgstr "服务器(版本%d.%d)不支持使用用户映射。\n"
 
 # describe.c:1377
-#: describe.c:4326 describe.c:4387
+#: describe.c:4328 describe.c:4389
 msgid "Server"
 msgstr "服务器"
 
-#: describe.c:4327
+#: describe.c:4329
 msgid "User name"
 msgstr "用户名: "
 
 # describe.c:1602
-#: describe.c:4352
+#: describe.c:4354
 msgid "List of user mappings"
 msgstr "列出用户映射"
 
 # describe.c:117
-#: describe.c:4375
+#: describe.c:4377
 #, c-format
 msgid "The server (version %d.%d) does not support foreign tables.\n"
 msgstr "服务器(版本%d.%d)不支持使用引用表.\n"
 
 # describe.c:1653
-#: describe.c:4426
+#: describe.c:4429
 msgid "List of foreign tables"
 msgstr "引用表列表"
 
 # describe.c:117
-#: describe.c:4449 describe.c:4503
+#: describe.c:4452 describe.c:4506
 #, c-format
 msgid "The server (version %d.%d) does not support extensions.\n"
 msgstr "服务器(版本%d.%d) 不支持使用扩展.\n"
 
 # describe.c:1653
-#: describe.c:4480
+#: describe.c:4483
 msgid "List of installed extensions"
 msgstr "已安装扩展列表"
 
 # describe.c:641
-#: describe.c:4530
+#: describe.c:4533
 #, c-format
 msgid "Did not find any extension named \"%s\".\n"
 msgstr "没有找到任何名称为 \"%s\" 的扩展。\n"
 
 # describe.c:641
-#: describe.c:4533
+#: describe.c:4536
 #, c-format
 msgid "Did not find any extensions.\n"
 msgstr "没有找到任何扩展.\n"
 
 # describe.c:593
-#: describe.c:4577
+#: describe.c:4580
 msgid "Object Description"
 msgstr "对象描述"
 
-#: describe.c:4586
+#: describe.c:4589
 #, c-format
 msgid "Objects in extension \"%s\""
 msgstr "对象用于扩展 \"%s\""
@@ -2124,33 +2209,33 @@ msgid "%s\n"
 msgstr "%s\n"
 
 # help.c:83
-#: help.c:70
+#: help.c:74
 #, c-format
 msgid ""
 "psql is the PostgreSQL interactive terminal.\n"
 "\n"
 msgstr "psql是PostgreSQL 的交互式客户端工具。\n"
 
-#: help.c:71 help.c:314 help.c:347 help.c:374
+#: help.c:75 help.c:332 help.c:366 help.c:393
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
 # help.c:86
-#: help.c:72
+#: help.c:76
 #, c-format
 msgid ""
 "  psql [OPTION]... [DBNAME [USERNAME]]\n"
 "\n"
 msgstr "  psql [选项]... [数据库名称 [用户名称]]\n"
 
-#: help.c:74
+#: help.c:78
 #, c-format
 msgid "General options:\n"
 msgstr "通用选项:\n"
 
 # help.c:94
-#: help.c:79
+#: help.c:83
 #, c-format
 msgid ""
 "  -c, --command=COMMAND    run only single command (SQL or internal) and "
@@ -2158,26 +2243,26 @@ msgid ""
 msgstr "  -c,--command=命令        执行单一命令(SQL或内部指令)然后结束\n"
 
 # help.c:93
-#: help.c:80
+#: help.c:84
 #, c-format
 msgid ""
 "  -d, --dbname=DBNAME      database name to connect to (default: \"%s\")\n"
 msgstr " -d, --dbname=数据库名称   指定要连接的数据库 (默认:\"%s\")\n"
 
 # help.c:95
-#: help.c:81
+#: help.c:85
 #, c-format
 msgid "  -f, --file=FILENAME      execute commands from file, then exit\n"
 msgstr "  -f, --file=文件名      从文件中执行命令然后退出\n"
 
 # help.c:96
-#: help.c:82
+#: help.c:86
 #, c-format
 msgid "  -l, --list               list available databases, then exit\n"
 msgstr "  -l, --list             列出所有可用的数据库,然后退出\n"
 
 # help.c:97
-#: help.c:83
+#: help.c:87
 #, c-format
 msgid ""
 "  -v, --set=, --variable=NAME=VALUE\n"
@@ -2188,18 +2273,18 @@ msgstr ""
 "                           设置psql变量NAME为VALUE\n"
 "                           (例如,-v ON_ERROR_STOP=1)\n"
 
-#: help.c:86
+#: help.c:90
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            输出版本信息, 然后退出\n"
 
 # help.c:98
-#: help.c:87
+#: help.c:91
 #, c-format
 msgid "  -X, --no-psqlrc          do not read startup file (~/.psqlrc)\n"
 msgstr "  -X, --no-psqlrc         不读取启动文档(~/.psqlrc)\n"
 
-#: help.c:88
+#: help.c:92
 #, c-format
 msgid ""
 "  -1 (\"one\"), --single-transaction\n"
@@ -2209,25 +2294,23 @@ msgstr ""
 "  -1 (\"one\"), --single-transaction\n"
 "                          作为一个单一事务来执行命令文件(如果是非交互型的)\n"
 
-#: help.c:90
+#: help.c:94
 #, c-format
 msgid "  -?, --help[=options]     show this help, then exit\n"
 msgstr "  -?, --help[=options]     显示此帮助,然后退出\n"
 
-#: help.c:91
+#: help.c:95
 #, c-format
-#| msgid "  -?, --help       show this help, then exit\n"
 msgid "      --help=commands      list backslash commands, then exit\n"
 msgstr "      --help=commands      列出反斜线命令,然后退出\n"
 
-#: help.c:92
+#: help.c:96
 #, c-format
-#| msgid "  -?, --help       show this help, then exit\n"
 msgid "      --help=variables     list special variables, then exit\n"
 msgstr "      --help=variables     列出特殊变量,然后退出\n"
 
 # help.c:102
-#: help.c:94
+#: help.c:98
 #, c-format
 msgid ""
 "\n"
@@ -2237,64 +2320,64 @@ msgstr ""
 "输入和输出选项:\n"
 
 # help.c:103
-#: help.c:95
+#: help.c:99
 #, c-format
 msgid "  -a, --echo-all           echo all input from script\n"
 msgstr "  -a, --echo-all          显示所有来自于脚本的输入\n"
 
 # help.c:104
-#: help.c:96
+#: help.c:100
 #, c-format
 msgid "  -b, --echo-errors        echo failed commands\n"
 msgstr "  -b, --echo-errors        回显失败的命令\n"
 
 # help.c:104
-#: help.c:97
+#: help.c:101
 #, c-format
 msgid "  -e, --echo-queries       echo commands sent to server\n"
 msgstr "  -e, --echo-queries      显示发送给服务器的命令\n"
 
 # help.c:105
-#: help.c:98
+#: help.c:102
 #, c-format
 msgid ""
 "  -E, --echo-hidden        display queries that internal commands generate\n"
 msgstr " -E, --echo-hidden        显示内部命令产生的查询\n"
 
 # help.c:107
-#: help.c:99
+#: help.c:103
 #, c-format
 msgid "  -L, --log-file=FILENAME  send session log to file\n"
 msgstr "  -L, --log-file=文件名  将会话日志写入文件\n"
 
 # help.c:108
-#: help.c:100
+#: help.c:104
 #, c-format
 msgid ""
 "  -n, --no-readline        disable enhanced command line editing (readline)\n"
 msgstr "  -n, --no-readline       禁用增强命令行编辑功能(readline)\n"
 
 # help.c:107
-#: help.c:101
+#: help.c:105
 #, c-format
 msgid "  -o, --output=FILENAME    send query results to file (or |pipe)\n"
 msgstr "  -o, --output=FILENAME 将查询结果写入文件(或 |管道)\n"
 
 # help.c:106
-#: help.c:102
+#: help.c:106
 #, c-format
 msgid ""
 "  -q, --quiet              run quietly (no messages, only query output)\n"
 msgstr "  -q, --quiet             以沉默模式运行(不显示消息,只有查询结果)\n"
 
 # help.c:109
-#: help.c:103
+#: help.c:107
 #, c-format
 msgid "  -s, --single-step        single-step mode (confirm each query)\n"
 msgstr "  -s, --single-step       单步模式 (确认每个查询)\n"
 
 # help.c:110
-#: help.c:104
+#: help.c:108
 #, c-format
 msgid ""
 "  -S, --single-line        single-line mode (end of line terminates SQL "
@@ -2302,7 +2385,7 @@ msgid ""
 msgstr "  -S, --single-line        单行模式 (一行就是一条 SQL 命令)\n"
 
 # help.c:112
-#: help.c:106
+#: help.c:110
 #, c-format
 msgid ""
 "\n"
@@ -2312,13 +2395,13 @@ msgstr ""
 "输出格式选项 :\n"
 
 # help.c:113
-#: help.c:107
+#: help.c:111
 #, c-format
 msgid "  -A, --no-align           unaligned table output mode\n"
 msgstr " -A, --no-align           使用非对齐表格输出模式\n"
 
 # help.c:119
-#: help.c:108
+#: help.c:112
 #, c-format
 msgid ""
 "  -F, --field-separator=STRING\n"
@@ -2329,13 +2412,13 @@ msgstr ""
 "             为字段设置分隔符,用于不整齐的输出(默认:\"%s\")\n"
 
 # help.c:114
-#: help.c:111
+#: help.c:115
 #, c-format
 msgid "  -H, --html               HTML table output mode\n"
 msgstr "  -H, --html             HTML 表格输出模式\n"
 
 # help.c:118
-#: help.c:112
+#: help.c:116
 #, c-format
 msgid ""
 "  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \\pset "
@@ -2344,7 +2427,7 @@ msgstr ""
 "  -P, --pset=变量[=参数]    设置将变量打印到参数的选项(查阅 \\pset 命令)\n"
 
 # help.c:121
-#: help.c:113
+#: help.c:117
 #, c-format
 msgid ""
 "  -R, --record-separator=STRING\n"
@@ -2355,13 +2438,13 @@ msgstr ""
 "             为不整齐的输出设置字录的分隔符(默认:换行符号)\n"
 
 # help.c:115
-#: help.c:115
+#: help.c:119
 #, c-format
 msgid "  -t, --tuples-only        print rows only\n"
 msgstr "  -t, --tuples-only      只打印记录i\n"
 
 # help.c:116
-#: help.c:116
+#: help.c:120
 #, c-format
 msgid ""
 "  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, "
@@ -2369,13 +2452,13 @@ msgid ""
 msgstr "  -T, --table-attr=文本   设定 HTML 表格标记属性(例如,宽度,边界)\n"
 
 # help.c:117
-#: help.c:117
+#: help.c:121
 #, c-format
 msgid "  -x, --expanded           turn on expanded table output\n"
 msgstr "  -x, --expanded           打开扩展表格输出\n"
 
 # help.c:119
-#: help.c:118
+#: help.c:122
 #, c-format
 msgid ""
 "  -z, --field-separator-zero\n"
@@ -2386,7 +2469,7 @@ msgstr ""
 "                           为不整齐的输出设置字段分隔符为字节0\n"
 
 # help.c:121
-#: help.c:120
+#: help.c:124
 #, c-format
 msgid ""
 "  -0, --record-separator-zero\n"
@@ -2396,7 +2479,7 @@ msgstr ""
 "  -0, --record-separator-zero\n"
 "                           为不整齐的输出设置记录分隔符为字节0\n"
 
-#: help.c:123
+#: help.c:127
 #, c-format
 msgid ""
 "\n"
@@ -2406,7 +2489,7 @@ msgstr ""
 "联接选项:\n"
 
 # help.c:126
-#: help.c:126
+#: help.c:130
 #, c-format
 msgid ""
 "  -h, --host=HOSTNAME      database server host or socket directory "
@@ -2415,28 +2498,28 @@ msgstr ""
 "  -h, --host=主机名        数据库服务器主机或socket目录(默认:\"%s\")\n"
 
 # help.c:127
-#: help.c:127
+#: help.c:131
 msgid "local socket"
 msgstr "本地接口"
 
 # help.c:130
-#: help.c:130
+#: help.c:134
 #, c-format
 msgid "  -p, --port=PORT          database server port (default: \"%s\")\n"
 msgstr "  -p, --port=端口        数据库服务器的端口(默认:\"%s\")\n"
 
 # help.c:136
-#: help.c:136
+#: help.c:140
 #, c-format
 msgid "  -U, --username=USERNAME  database user name (default: \"%s\")\n"
 msgstr "  -U, --username=用户名    指定数据库用户名(默认:\"%s\")\n"
 
-#: help.c:137
+#: help.c:141
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password       永远不提示输入口令\n"
 
-#: help.c:138
+#: help.c:142
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -2444,7 +2527,7 @@ msgid ""
 msgstr "  -W, --password           强制口令提示 (自动)\n"
 
 # help.c:140
-#: help.c:140
+#: help.c:144
 #, c-format
 msgid ""
 "\n"
@@ -2459,74 +2542,102 @@ msgstr ""
 "或者参考PostgreSQL文档中的psql章节.\n"
 "\n"
 
-#: help.c:143
+#: help.c:147
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "臭虫报告至 <pgsql-bugs@postgresql.org>.\n"
 
 # help.c:174
-#: help.c:166
+#: help.c:173
 #, c-format
 msgid "General\n"
 msgstr "一般性\n"
 
 # help.c:179
-#: help.c:167
+#: help.c:174
 #, c-format
 msgid ""
 "  \\copyright             show PostgreSQL usage and distribution terms\n"
 msgstr "  \\copyright            显示PostgreSQL的使用和发行许可条款\n"
 
+#: help.c:175
+#, c-format
+msgid ""
+"  \\errverbose            show most recent error message at maximum "
+"verbosity\n"
+msgstr "  \\errverbose            以最冗长的形式显示最近的错误消息\n"
+
 # help.c:194
-#: help.c:168
+#: help.c:176
 #, c-format
 msgid ""
 "  \\g [FILE] or ;         execute query (and send results to file or |pipe)\n"
 msgstr "  \\g [文件] or;     执行查询 (并把结果写入文件或 |管道)\n"
 
 # help.c:194
-#: help.c:169
+#: help.c:177
+#, c-format
+#| msgid ""
+#| "  \\gset [PREFIX]         execute query and store results in psql "
+#| "variables\n"
+msgid ""
+"  \\gexec                 execute query, then execute each value in its "
+"result\n"
+msgstr "  \\gexec                 执行策略,然后执行其结果中的每个值\n"
+
+# help.c:194
+#: help.c:178
 #, c-format
 msgid ""
 "  \\gset [PREFIX]         execute query and store results in psql variables\n"
 msgstr "  \\gset [PREFIX]     执行查询并把结果存到psql变量中\n"
 
 # help.c:183
-#: help.c:170
+#: help.c:179
 #, c-format
 msgid "  \\q                     quit psql\n"
 msgstr "  \\q             退出 psql\n"
 
-#: help.c:171
+#: help.c:180
+#, c-format
+msgid ""
+"  \\crosstabview [COLUMNS] execute query and display results in crosstab\n"
+msgstr "  \\crosstabview [COLUMNS] 执行查询并且以交叉表显示结果\n"
+
+#: help.c:181
 #, c-format
 msgid "  \\watch [SEC]           execute query every SEC seconds\n"
 msgstr "  \\watch [SEC]          每隔SEC秒执行一次查询\n"
 
-#: help.c:174
+#: help.c:184
 #, c-format
 msgid "Help\n"
 msgstr "帮助\n"
 
-#: help.c:176
+#: help.c:186
 #, c-format
-msgid "  \\? [commands]          description of all psql backslash commands\n"
-msgstr "  \\? [commands]          所有psql反斜线命令的描述\n"
+#| msgid ""
+#| "  \\? [commands]          description of all psql backslash commands\n"
+msgid "  \\? [commands]          show help on backslash commands\n"
+msgstr "  \\? [commands]          显示反斜线命令的帮助\n"
 
-#: help.c:177
+#: help.c:187
 #, c-format
-msgid "  \\? options             description of all psql commandline options\n"
-msgstr "  \\? options             所有psql命令行选项的描述\n"
+#| msgid ""
+#| "  \\? options             description of all psql commandline options\n"
+msgid "  \\? options             show help on psql command-line options\n"
+msgstr "  \\? options             显示 psql 命令行选项的帮助\n"
 
-#: help.c:178
+#: help.c:188
 #, c-format
 #| msgid ""
-#| "  --sysconfdir          show location of system-wide configuration files\n"
-msgid ""
-"  \\? variables           description of all psql configuration variables\n"
-msgstr "  \\? variables           所有psql配置变量的描述\n"
+#| "  \\? variables           description of all psql configuration "
+#| "variables\n"
+msgid "  \\? variables           show help on special variables\n"
+msgstr "  \\? variables           显示特殊变量的帮助\n"
 
 # help.c:182
-#: help.c:179
+#: help.c:189
 #, c-format
 msgid ""
 "  \\h [NAME]              help on syntax of SQL commands, * for all "
@@ -2534,13 +2645,13 @@ msgid ""
 msgstr "  \\h [名称]          SQL命令语法上的说明,用*显示全部命令的语法说明\n"
 
 # help.c:192
-#: help.c:182
+#: help.c:192
 #, c-format
 msgid "Query Buffer\n"
 msgstr "查询缓存区\n"
 
 # help.c:193
-#: help.c:183
+#: help.c:193
 #, c-format
 msgid ""
 "  \\e [FILE] [LINE]       edit the query buffer (or file) with external "
@@ -2548,44 +2659,50 @@ msgid ""
 msgstr "  \\e [FILE] [LINE]        使用外部编辑器编辑查询缓存区(或文件)\n"
 
 # help.c:193
-#: help.c:184
+#: help.c:194
 #, c-format
 msgid ""
 "  \\ef [FUNCNAME [LINE]]  edit function definition with external editor\n"
 msgstr "  \\ef [FUNCNAME [LINE]]   使用外部编辑器编辑函数定义\n"
 
+# help.c:193
+#: help.c:195
+#, c-format
+msgid "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
+msgstr "  \\ev [VIEWNAME [LINE]]  用外部编辑器编辑视图定义\n"
+
 # help.c:195
-#: help.c:185
+#: help.c:196
 #, c-format
 msgid "  \\p                     show the contents of the query buffer\n"
 msgstr "  \\p                    显示查询缓存区的内容\n"
 
 # help.c:196
-#: help.c:186
+#: help.c:197
 #, c-format
 msgid "  \\r                     reset (clear) the query buffer\n"
 msgstr "  \\r                    重置(清除)查询缓存区\n"
 
 # help.c:198
-#: help.c:188
+#: help.c:199
 #, c-format
 msgid "  \\s [FILE]              display history or save it to file\n"
 msgstr "  \\s [文件]        显示历史记录或将历史记录保存在文件中\n"
 
 # help.c:200
-#: help.c:190
+#: help.c:201
 #, c-format
 msgid "  \\w FILE                write query buffer to file\n"
 msgstr "  \\w 文件          将查询缓存区的内容写入文件\n"
 
 # help.c:203
-#: help.c:193
+#: help.c:204
 #, c-format
 msgid "Input/Output\n"
 msgstr "输入/输出\n"
 
 # help.c:251
-#: help.c:194
+#: help.c:205
 #, c-format
 msgid ""
 "  \\copy ...              perform SQL COPY with data stream to the client "
@@ -2593,19 +2710,19 @@ msgid ""
 msgstr "  \\copy ...             执行 SQL COPY,将数据流发送到客户端主机\n"
 
 # help.c:204
-#: help.c:195
+#: help.c:206
 #, c-format
 msgid "  \\echo [STRING]         write string to standard output\n"
 msgstr "  \\echo [字符串]       将字符串写到标准输出\n"
 
 # help.c:205
-#: help.c:196
+#: help.c:207
 #, c-format
 msgid "  \\i FILE                execute commands from file\n"
 msgstr "  \\i 文件          从文件中执行命令\n"
 
 # help.c:206
-#: help.c:197
+#: help.c:208
 #, c-format
 msgid ""
 "  \\ir FILE               as \\i, but relative to location of current "
@@ -2613,286 +2730,295 @@ msgid ""
 msgstr "  \\ir FILE               与 \\i类似, 但是相对于当前脚本的位置\n"
 
 # help.c:206
-#: help.c:198
+#: help.c:209
 #, c-format
 msgid "  \\o [FILE]              send all query results to file or |pipe\n"
 msgstr "  \\o [文件]        将全部查询结果写入文件或 |管道\n"
 
 # help.c:207
-#: help.c:199
+#: help.c:210
 #, c-format
 msgid ""
 "  \\qecho [STRING]        write string to query output stream (see \\o)\n"
 msgstr "  \\qecho [字符串]      将字符串写到查询输出串流(参考 \\o)\n"
 
 # help.c:211
-#: help.c:202
+#: help.c:213
 #, c-format
 msgid "Informational\n"
 msgstr "资讯性\n"
 
-#: help.c:203
+#: help.c:214
 #, c-format
 msgid "  (options: S = show system objects, + = additional detail)\n"
 msgstr "  (选项: S = 显示系统对象, + = 其余的详细信息)\n"
 
 # help.c:226
-#: help.c:204
+#: help.c:215
 #, c-format
 msgid "  \\d[S+]                 list tables, views, and sequences\n"
 msgstr "  \\d[S+]          列出表,视图和序列\n"
 
 # help.c:212
-#: help.c:205
+#: help.c:216
 #, c-format
 msgid "  \\d[S+]  NAME           describe table, view, sequence, or index\n"
 msgstr "  \\d[S+]  名称      描述表,视图,序列,或索引\n"
 
 # help.c:215
-#: help.c:206
+#: help.c:217
 #, c-format
 msgid "  \\da[S]  [PATTERN]      list aggregates\n"
 msgstr "  \\da[S]  [模式]    列出聚合函数\n"
 
 # help.c:228
-#: help.c:207
+#: help.c:218
 #, c-format
 msgid "  \\db[+]  [PATTERN]      list tablespaces\n"
 msgstr "  \\db[+]  [模式]     列出表空间\n"
 
 # help.c:217
-#: help.c:208
+#: help.c:219
 #, c-format
 msgid "  \\dc[S+] [PATTERN]      list conversions\n"
 msgstr "  \\dc[S+] [PATTERN]      列表转换\n"
 
 # help.c:218
-#: help.c:209
+#: help.c:220
 #, c-format
 msgid "  \\dC[+]  [PATTERN]      list casts\n"
 msgstr "  \\dC[+]  [PATTERN]      列出类型强制转换\n"
 
 # help.c:219
-#: help.c:210
+#: help.c:221
 #, c-format
 msgid ""
 "  \\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\n"
 msgstr "  \\dd[S]  [PATTERN]      显示没有在别处显示的对象描述\n"
 
 # help.c:218
-#: help.c:211
+#: help.c:222
 #, c-format
 msgid "  \\ddp    [PATTERN]      list default privileges\n"
 msgstr "  \\ddp     [模式]    列出默认权限\n"
 
 # help.c:220
-#: help.c:212
+#: help.c:223
 #, c-format
 msgid "  \\dD[S+] [PATTERN]      list domains\n"
 msgstr "  \\dD[S+] [PATTERN]      列出共同值域\n"
 
 # help.c:228
-#: help.c:213
+#: help.c:224
 #, c-format
 msgid "  \\det[+] [PATTERN]      list foreign tables\n"
 msgstr "  \\det[+] [PATTERN]      列出引用表\n"
 
 # help.c:228
-#: help.c:214
+#: help.c:225
 #, c-format
 msgid "  \\des[+] [PATTERN]      list foreign servers\n"
 msgstr "  \\des[+] [模式]    列出外部服务器\n"
 
 # help.c:228
-#: help.c:215
+#: help.c:226
 #, c-format
 msgid "  \\deu[+] [PATTERN]      list user mappings\n"
 msgstr "  \\deu[+] [模式]     列出用户映射\n"
 
 # help.c:222
-#: help.c:216
+#: help.c:227
 #, c-format
 msgid "  \\dew[+] [PATTERN]      list foreign-data wrappers\n"
 msgstr " \\dew[+] [模式]       列出外部数据封装器\n"
 
 # help.c:215
-#: help.c:217
+#: help.c:228
 #, c-format
 msgid ""
 "  \\df[antw][S+] [PATRN]  list [only agg/normal/trigger/window] functions\n"
 msgstr "   \\df[antw][S+] [模式]    列出[只包括 聚合/常规/触发器/窗口]函数 \n"
 
 # help.c:221
-#: help.c:218
+#: help.c:229
 #, c-format
 msgid "  \\dF[+]  [PATTERN]      list text search configurations\n"
 msgstr "  \\dF[+]  [模式]   列出文本搜索配置\n"
 
 # help.c:228
-#: help.c:219
+#: help.c:230
 #, c-format
 msgid "  \\dFd[+] [PATTERN]      list text search dictionaries\n"
 msgstr "  \\dFd[+] [模式]     列出文本搜索字典\n"
 
 # help.c:228
-#: help.c:220
+#: help.c:231
 #, c-format
 msgid "  \\dFp[+] [PATTERN]      list text search parsers\n"
 msgstr " \\dFp[+] [模式]     列出文本搜索解析器\n"
 
 # help.c:228
-#: help.c:221
+#: help.c:232
 #, c-format
 msgid "  \\dFt[+] [PATTERN]      list text search templates\n"
 msgstr "  \\dFt[+] [模式]   列出文本搜索模版\n"
 
 # help.c:222
-#: help.c:222
+#: help.c:233
 #, c-format
-msgid "  \\dg[+]  [PATTERN]      list roles\n"
-msgstr "  \\dg[+]  [PATTERN]      列出角色\n"
+#| msgid "  \\dg[+]  [PATTERN]      list roles\n"
+msgid "  \\dg[S+] [PATTERN]      list roles\n"
+msgstr "  \\dg[S+] [PATTERN]      列出角色\n"
 
 # help.c:220
-#: help.c:223
+#: help.c:234
 #, c-format
 msgid "  \\di[S+] [PATTERN]      list indexes\n"
 msgstr " \\di[S+] [模式]  列出索引\n"
 
 # help.c:225
-#: help.c:224
+#: help.c:235
 #, c-format
 msgid "  \\dl                    list large objects, same as \\lo_list\n"
 msgstr "  \\dl                   列出大对象, 功能与\\lo_list相同\n"
 
 # help.c:228
-#: help.c:225
+#: help.c:236
 #, c-format
 msgid "  \\dL[S+] [PATTERN]      list procedural languages\n"
 msgstr "  \\dL[S+] [PATTERN]      列出所有过程语言\n"
 
 # help.c:228
-#: help.c:226
+#: help.c:237
 #, c-format
 msgid "  \\dm[S+] [PATTERN]      list materialized views\n"
 msgstr "  \\dm[S+] [PATTERN]      列出所有物化视图\n"
 
 # help.c:228
-#: help.c:227
+#: help.c:238
 #, c-format
 msgid "  \\dn[S+] [PATTERN]      list schemas\n"
 msgstr "  \\dn[S+] [PATTERN]     列出所有模式\n"
 
 # help.c:224
-#: help.c:228
+#: help.c:239
 #, c-format
 msgid "  \\do[S]  [PATTERN]      list operators\n"
 msgstr "  \\do[S]  [模式]   列出运算符\n"
 
 # help.c:220
-#: help.c:229
+#: help.c:240
 #, c-format
 msgid "  \\dO[S+] [PATTERN]      list collations\n"
 msgstr "  \\dO[S+] [PATTERN]      列出所有校对规则\n"
 
 # help.c:226
-#: help.c:230
+#: help.c:241
 #, c-format
 msgid ""
 "  \\dp     [PATTERN]      list table, view, and sequence access privileges\n"
 msgstr "  \\dp     [模式]     列出表,视图和序列的访问权限\n"
 
-#: help.c:231
+#: help.c:242
 #, c-format
 msgid "  \\drds [PATRN1 [PATRN2]] list per-database role settings\n"
 msgstr "  \\drds [模式1 [模式2]] 列出每个数据库的角色设置\n"
 
 # help.c:228
-#: help.c:232
+#: help.c:243
 #, c-format
 msgid "  \\ds[S+] [PATTERN]      list sequences\n"
 msgstr "  \\ds[S+] [模式]    列出序列\n"
 
 # help.c:228
-#: help.c:233
+#: help.c:244
 #, c-format
 msgid "  \\dt[S+] [PATTERN]      list tables\n"
 msgstr "  \\dt[S+] [模式]     列出表\n"
 
 # help.c:220
-#: help.c:234
+#: help.c:245
 #, c-format
 msgid "  \\dT[S+] [PATTERN]      list data types\n"
 msgstr "  \\dT[S+] [模式]  列出数据类型\n"
 
 # help.c:228
-#: help.c:235
+#: help.c:246
 #, c-format
-msgid "  \\du[+]  [PATTERN]      list roles\n"
-msgstr "  \\du[+]  [PATTERN]      列出角色\n"
+#| msgid "  \\du[+]  [PATTERN]      list roles\n"
+msgid "  \\du[S+] [PATTERN]      list roles\n"
+msgstr "  \\du[S+] [PATTERN]      列出角色\n"
 
 # help.c:228
-#: help.c:236
+#: help.c:247
 #, c-format
 msgid "  \\dv[S+] [PATTERN]      list views\n"
 msgstr "  \\dv[S+] [模式]   列出视图\n"
 
 # help.c:228
-#: help.c:237
+#: help.c:248
 #, c-format
 msgid "  \\dE[S+] [PATTERN]      list foreign tables\n"
 msgstr "  \\dE[S+] [PATTERN]      列出引用表\n"
 
 # help.c:217
-#: help.c:238
+#: help.c:249
 #, c-format
 msgid "  \\dx[+]  [PATTERN]      list extensions\n"
 msgstr "  \\dx[+]  [PATTERN]      列出扩展\n"
 
 # help.c:218
-#: help.c:239
+#: help.c:250
 #, c-format
 msgid "  \\dy     [PATTERN]      list event triggers\n"
 msgstr "  \\dy     [PATTERN]      列出所有事件触发器\n"
 
 # help.c:228
-#: help.c:240
+#: help.c:251
 #, c-format
 msgid "  \\l[+]   [PATTERN]      list databases\n"
 msgstr "  \\l[+]   [PATTERN]      列出所有数据库\n"
 
 # help.c:193
-#: help.c:241
+#: help.c:252
+#, c-format
+#| msgid "  \\sf[+] FUNCNAME        show a function's definition\n"
+msgid "  \\sf[+]  FUNCNAME       show a function's definition\n"
+msgstr "  \\sf[+]  FUNCNAME       显示一个函数的定义\n"
+
+# help.c:193
+#: help.c:253
 #, c-format
-msgid "  \\sf[+] FUNCNAME        show a function's definition\n"
-msgstr "  \\sf[+] FUNCNAME        显示一个函数的定义\n"
+msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
+msgstr "  \\sv[+]  VIEWNAME       显示一个视图的定义\n"
 
 # help.c:218
-#: help.c:242
+#: help.c:254
 #, c-format
 msgid "  \\z      [PATTERN]      same as \\dp\n"
 msgstr "  \\z      [模式]    和\\dp的功能相同\n"
 
 # help.c:233
-#: help.c:245
+#: help.c:257
 #, c-format
 msgid "Formatting\n"
 msgstr "格式化\n"
 
 # help.c:234
-#: help.c:246
+#: help.c:258
 #, c-format
 msgid ""
 "  \\a                     toggle between unaligned and aligned output mode\n"
 msgstr "  \\a                  在非对齐模式和对齐模式之间切换\n"
 
 # help.c:235
-#: help.c:247
+#: help.c:259
 #, c-format
 msgid "  \\C [STRING]            set table title, or unset if none\n"
 msgstr "  \\C [字符串]        设置表的标题,或如果没有的标题就取消\n"
 
 # help.c:236
-#: help.c:248
+#: help.c:260
 #, c-format
 msgid ""
 "  \\f [STRING]            show or set field separator for unaligned query "
@@ -2900,13 +3026,13 @@ msgid ""
 msgstr "  \\f [字符串]         显示或设定非对齐模式查询输出的字段分隔符\n"
 
 # help.c:237
-#: help.c:249
+#: help.c:261
 #, c-format
 msgid "  \\H                     toggle HTML output mode (currently %s)\n"
 msgstr "  \\H                    切换HTML输出模式 (目前是 %s)\n"
 
 # help.c:239
-#: help.c:251
+#: help.c:263
 #, c-format
 msgid ""
 "  \\pset [NAME [VALUE]]   set table output option\n"
@@ -2926,13 +3052,13 @@ msgstr ""
 "unicode_header_linestyle})\n"
 
 # help.c:243
-#: help.c:255
+#: help.c:267
 #, c-format
 msgid "  \\t [on|off]            show only rows (currently %s)\n"
 msgstr "  \\t [开|关]       只显示记录 (目前是 %s)\n"
 
 # help.c:245
-#: help.c:257
+#: help.c:269
 #, c-format
 msgid ""
 "  \\T [STRING]            set HTML <table> tag attributes, or unset if none\n"
@@ -2940,19 +3066,19 @@ msgstr ""
 "  \\T [字符串]         设置HTML <表格>标签属性, 或者如果没有的话取消设置\n"
 
 # help.c:246
-#: help.c:258
+#: help.c:270
 #, c-format
 msgid "  \\x [on|off|auto]       toggle expanded output (currently %s)\n"
 msgstr "  \\x [on|off|auto]       切换扩展输出模式(目前是 %s)\n"
 
 # help.c:123
-#: help.c:262
+#: help.c:274
 #, c-format
 msgid "Connection\n"
 msgstr "连接\n"
 
 # help.c:175
-#: help.c:264
+#: help.c:276
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2962,7 +3088,7 @@ msgstr ""
 "                         连接到新数据库(当前是\"%s\")\n"
 
 # help.c:175
-#: help.c:268
+#: help.c:280
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2972,66 +3098,66 @@ msgstr ""
 "                         连接到新数据库(当前无连接)\n"
 
 # help.c:180
-#: help.c:270
+#: help.c:282
 #, c-format
 msgid "  \\encoding [ENCODING]   show or set client encoding\n"
 msgstr "  \\encoding [编码名称] 显示或设定客户端编码\n"
 
-#: help.c:271
+#: help.c:283
 #, c-format
 msgid "  \\password [USERNAME]   securely change the password for a user\n"
 msgstr "  \\password [USERNAME]  安全地为用户更改口令\n"
 
-#: help.c:272
+#: help.c:284
 #, c-format
 msgid ""
 "  \\conninfo              display information about current connection\n"
 msgstr "  \\conninfo              显示当前连接的相关信息\n"
 
-#: help.c:275
+#: help.c:287
 #, c-format
 msgid "Operating System\n"
 msgstr "操作系统\n"
 
 # help.c:178
-#: help.c:276
+#: help.c:288
 #, c-format
 msgid "  \\cd [DIR]              change the current working directory\n"
 msgstr "  \\cd [目录]     更改目前的工作目录\n"
 
 # help.c:188
-#: help.c:277
+#: help.c:289
 #, c-format
 msgid "  \\setenv NAME [VALUE]   set or unset environment variable\n"
 msgstr "  \\setenv NAME [VALUE]   设置或清空环境变量\n"
 
 # help.c:186
-#: help.c:278
+#: help.c:290
 #, c-format
 msgid "  \\timing [on|off]       toggle timing of commands (currently %s)\n"
 msgstr " \\timing [开|关]       切换命令计时开关 (目前是 %s)\n"
 
 # help.c:189
-#: help.c:280
+#: help.c:292
 #, c-format
 msgid ""
 "  \\! [COMMAND]           execute command in shell or start interactive "
 "shell\n"
 msgstr "  \\! [命令]      在 shell中执行命令或启动一个交互式shell\n"
 
-#: help.c:283
+#: help.c:295
 #, c-format
 msgid "Variables\n"
 msgstr "变量\n"
 
 # help.c:188
-#: help.c:284
+#: help.c:296
 #, c-format
 msgid "  \\prompt [TEXT] NAME    prompt user to set internal variable\n"
 msgstr "  \\prompt [文本] 名称 提示用户设定内部变量\n"
 
 # help.c:184
-#: help.c:285
+#: help.c:297
 #, c-format
 msgid ""
 "  \\set [NAME [VALUE]]    set internal variable, or list all if no "
@@ -3039,19 +3165,19 @@ msgid ""
 msgstr "  \\set [名称 [值数]] 设定内部变量,若无参数则列出全部变量\n"
 
 # help.c:188
-#: help.c:286
+#: help.c:298
 #, c-format
 msgid "  \\unset NAME            unset (delete) internal variable\n"
 msgstr "  \\unset 名称    清空(删除)内部变量\n"
 
 # large_obj.c:264
-#: help.c:289
+#: help.c:301
 #, c-format
 msgid "Large Objects\n"
 msgstr "大对象\n"
 
 # help.c:252
-#: help.c:290
+#: help.c:302
 #, c-format
 msgid ""
 "  \\lo_export LOBOID FILE\n"
@@ -3064,76 +3190,95 @@ msgstr ""
 "  \\lo_list\n"
 "  \\lo_unlink LOBOID   大对象运算\n"
 
-#: help.c:311
+#: help.c:329
 #, c-format
-msgid "List of specially treated variables.\n"
-msgstr "特殊对待的变量的列表。\n"
+#| msgid "List of specially treated variables.\n"
+msgid ""
+"List of specially treated variables\n"
+"\n"
+msgstr ""
+"特殊对待的变量的列表\n"
+"\n"
 
-#: help.c:313
+#: help.c:331
 #, c-format
 msgid "psql variables:\n"
 msgstr "psql变量:\n"
 
-#: help.c:315
+#: help.c:333
 #, c-format
+#| msgid ""
+#| "  psql --set=NAME=VALUE\n"
+#| "  or \\set NAME VALUE in interactive mode\n"
+#| "\n"
 msgid ""
 "  psql --set=NAME=VALUE\n"
-"  or \\set NAME VALUE in interactive mode\n"
+"  or \\set NAME VALUE inside psql\n"
 "\n"
 msgstr ""
 "  psql --set=NAME=VALUE\n"
-"  或者在交互模式中用 \\set NAME VALUE\n"
+"  或者在 psql 中的 \\set NAME VALUE\n"
 "\n"
 
-#: help.c:317
+#: help.c:335
 #, c-format
 msgid ""
 "  AUTOCOMMIT         if set, successful SQL commands are automatically "
 "committed\n"
 msgstr "  AUTOCOMMIT         如果被设置,成功的SQL命令将会被自动提交\n"
 
-#: help.c:318
+#: help.c:336
 #, c-format
+#| msgid ""
+#| "  COMP_KEYWORD_CASE  determine the case used to complete SQL keywords\n"
+#| "                     [lower, upper, preserve-lower, preserve-upper]\n"
 msgid ""
-"  COMP_KEYWORD_CASE  determine the case used to complete SQL keywords\n"
+"  COMP_KEYWORD_CASE  determines the case used to complete SQL key words\n"
 "                     [lower, upper, preserve-lower, preserve-upper]\n"
 msgstr ""
-"  COMP_KEYWORD_CASE  决定用于完成SQL关键词的大小写形式\n"
-"                     [小写,大写,保留小写,保留大写]\n"
+"  COMP_KEYWORD_CASE  决定用于完成 SQL 关键词的大小写\n"
+"                     [lower, upper, preserve-lower, preserve-upper]\n"
 
 # common.c:636
 # common.c:871
-#: help.c:320
+#: help.c:338
 #, c-format
 msgid "  DBNAME             the currently connected database name\n"
 msgstr "  DBNAME             当前已连接的数据库名\n"
 
-#: help.c:321
+#: help.c:339
 #, c-format
+#| msgid ""
+#| "  ECHO               control what input is written to standard output\n"
+#| "                     [all, errors, none, queries]\n"
 msgid ""
-"  ECHO               control what input is written to standard output\n"
+"  ECHO               controls what input is written to standard output\n"
 "                     [all, errors, none, queries]\n"
 msgstr ""
-"  ECHO               控制什么样的输入会被写入到标准输出\n"
-"                     [所有, 错误, 无, 查询]\n"
+"  ECHO               控制哪些输入被写入到标准输出\n"
+"                     [all, errors, none, queries]\n"
 
-#: help.c:323
+#: help.c:341
 #, c-format
+#| msgid ""
+#| "  ECHO_HIDDEN        display internal queries executed by backslash "
+#| "commands when it is set\n"
+#| "                     or with [noexec] just show without execution\n"
 msgid ""
-"  ECHO_HIDDEN        display internal queries executed by backslash commands "
-"when it is set\n"
-"                     or with [noexec] just show without execution\n"
+"  ECHO_HIDDEN        if set, display internal queries executed by backslash "
+"commands;\n"
+"                     if set to \"noexec\", just show without execution\n"
 msgstr ""
-"  ECHO_HIDDEN        当它被设置为开启时显示由反斜线命令执行的内部查询\n"
-"                     或者设置为 [noexec] 时只显示内部查询但并不执行它们\n"
+"  ECHO_HIDDEN        如果被设置,显示反斜线命令执行的内部命令;\n"
+"                     如果被设置为 \"noexec\",只显示但不执行\n"
 
 # help.c:180
-#: help.c:325
+#: help.c:343
 #, c-format
 msgid "  ENCODING           current client character set encoding\n"
 msgstr "  ENCODING           当前的客户端字符集编码\n"
 
-#: help.c:326
+#: help.c:344
 #, c-format
 msgid ""
 "  FETCH_COUNT        the number of result rows to fetch and display at a "
@@ -3143,162 +3288,199 @@ msgstr ""
 "  FETCH_COUNT        一次取得并显示的结果行的数量\n"
 "                     (默认:0=无限)\n"
 
-#: help.c:328
+#: help.c:346
 #, c-format
+#| msgid ""
+#| "  HISTCONTROL        control history list [ignorespace, ignoredups, "
+#| "ignoreboth]\n"
 msgid ""
-"  HISTCONTROL        control history list [ignorespace, ignoredups, "
+"  HISTCONTROL        controls command history [ignorespace, ignoredups, "
 "ignoreboth]\n"
 msgstr ""
-"  HISTCONTROL        控制历史列表 [ignorespace, ignoredups, ignoreboth]\n"
+"  HISTCONTROL        控制命令历史 [ignorespace, ignoredups, ignoreboth]\n"
 
-#: help.c:329
+#: help.c:347
 #, c-format
-msgid "  HISTFILE           file name used to store the history list\n"
-msgstr "  HISTFILE           保存历史列表的文件名\n"
+#| msgid "  HISTFILE           file name used to store the history list\n"
+msgid "  HISTFILE           file name used to store the command history\n"
+msgstr "  HISTFILE           用来存储命令历史的文件名\n"
 
-#: help.c:330
+#: help.c:348
 #, c-format
 msgid ""
 "  HISTSIZE           the number of commands to store in the command history\n"
 msgstr "  HISTSIZE           保存在命令历史中的命令数量\n"
 
 # help.c:178
-#: help.c:331
+#: help.c:349
 #, c-format
-msgid "  HOST               the currently connected database server\n"
-msgstr "  HOST               当前已连接的数据库服务器\n"
+#| msgid "  HOST               the currently connected database server\n"
+msgid "  HOST               the currently connected database server host\n"
+msgstr "  HOST               当前连接的数据库服务器主机\n"
 
-#: help.c:332
+#: help.c:350
 #, c-format
 msgid ""
 "  IGNOREEOF          if unset, sending an EOF to interactive session "
 "terminates application\n"
 msgstr "  IGNOREEOF          如果取消设置,发送一个EOF给交互的会话将中断应用\n"
 
-#: help.c:333
+#: help.c:351
 #, c-format
-#| msgid "  -o OID           set next OID\n"
-msgid "  LASTOID            the value of last affected OID\n"
-msgstr "  LASTOID            上一个受影响的OID的值\n"
+#| msgid "  LASTOID            the value of last affected OID\n"
+msgid "  LASTOID            value of the last affected OID\n"
+msgstr "  LASTOID            最后一个受影响的 OID 的值\n"
 
-#: help.c:334
+#: help.c:352
 #, c-format
+#| msgid ""
+#| "  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses "
+#| "implicit SAVEPOINTs)\n"
 msgid ""
 "  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses "
-"implicit SAVEPOINTs)\n"
-msgstr "  ON_ERROR_ROLLBACK  如果设置,错误不会停止事务(使用隐式SAVEPOINT)\n"
+"implicit savepoints)\n"
+msgstr ""
+"  ON_ERROR_ROLLBACK  如果被设置,则错误不会停止一个事务(使用隐式保存点)\n"
 
-#: help.c:335
+#: help.c:353
 #, c-format
 msgid "  ON_ERROR_STOP      stop batch execution after error\n"
 msgstr "  ON_ERROR_STOP      发生错误后停止批量执行\n"
 
-#: help.c:336
+#: help.c:354
 #, c-format
 msgid "  PORT               server port of the current connection\n"
 msgstr "  PORT               当前连接的服务器端口\n"
 
-#: help.c:337
+#: help.c:355
 #, c-format
-msgid "  PROMPT1            specify the standard psql prompt\n"
-msgstr "  PROMPT1            指定标准的psql提示符\n"
+#| msgid "  PROMPT1            specify the standard psql prompt\n"
+msgid "  PROMPT1            specifies the standard psql prompt\n"
+msgstr "  PROMPT1            指定标准的 psql 提示符\n"
 
-#: help.c:338
+#: help.c:356
 #, c-format
+#| msgid ""
+#| "  PROMPT2            specify the prompt used when a statement continues "
+#| "from a previous line\n"
 msgid ""
-"  PROMPT2            specify the prompt used when a statement continues from "
-"a previous line\n"
-msgstr "  PROMPT2            指定当一个语句跨行时使用的提示符\n"
+"  PROMPT2            specifies the prompt used when a statement continues "
+"from a previous line\n"
+msgstr "  PROMPT2            指定在语句跨行时使用的提示符\n"
 
-#: help.c:339
+#: help.c:357
 #, c-format
+#| msgid ""
+#| "  PROMPT3            specify the prompt used during COPY ... FROM STDIN\n"
 msgid ""
-"  PROMPT3            specify the prompt used during COPY ... FROM STDIN\n"
-msgstr "  PROMPT3            指定COPY ... FROM STDIN期间使用的提示符\n"
+"  PROMPT3            specifies the prompt used during COPY ... FROM STDIN\n"
+msgstr "  PROMPT3            指定 COPY ... FROM STDIN 期间使用的提示符\n"
 
 # help.c:106
-#: help.c:340
+#: help.c:358
 #, c-format
 msgid "  QUIET              run quietly (same as -q option)\n"
 msgstr "  QUIET              静默地运行(和-q选项相同)\n"
 
-#: help.c:341
+#: help.c:359
+#, c-format
+msgid ""
+"  SHOW_CONTEXT       controls display of message context fields [never, "
+"errors, always]\n"
+msgstr "  SHOW_CONTEXT       控制消息上下文域的显示 [never, errors, always]\n"
+
+#: help.c:360
 #, c-format
 msgid ""
 "  SINGLELINE         end of line terminates SQL command mode (same as -S "
 "option)\n"
 msgstr "  SINGLELINE         行尾会终止SQL命令模式(与-S选项相同)\n"
 
-#: help.c:342
+#: help.c:361
 #, c-format
 msgid "  SINGLESTEP         single-step mode (same as -s option)\n"
 msgstr "  SINGLESTEP         单步模式(与-s选项相同)\n"
 
 # help.c:178
-#: help.c:343
+#: help.c:362
 #, c-format
 msgid "  USER               the currently connected database user\n"
 msgstr "  USER               当前连接上的数据库用户\n"
 
-#: help.c:344
+#: help.c:363
 #, c-format
+#| msgid ""
+#| "  VERBOSITY          control verbosity of error reports [default, "
+#| "verbose, terse]\n"
 msgid ""
-"  VERBOSITY          control verbosity of error reports [default, verbose, "
+"  VERBOSITY          controls verbosity of error reports [default, verbose, "
 "terse]\n"
 msgstr ""
-"  VERBOSITY          控制错误报告的详细程度 [default, verbose, terse]\n"
+"  VERBOSITY          控制错误报告的冗长程度 [default, verbose, terse]\n"
 
-#: help.c:346
+# describe.c:1549
+#: help.c:365
 #, c-format
+#| msgid "List of settings"
 msgid ""
 "\n"
-"Display influencing variables:\n"
+"Display settings:\n"
 msgstr ""
 "\n"
-"显示影响的变量:\n"
+"显示设置:\n"
 
-#: help.c:348
+#: help.c:367
 #, c-format
+#| msgid ""
+#| "  psql --pset=NAME[=VALUE]\n"
+#| "  or \\pset NAME [VALUE] in interactive mode\n"
+#| "\n"
 msgid ""
 "  psql --pset=NAME[=VALUE]\n"
-"  or \\pset NAME [VALUE] in interactive mode\n"
+"  or \\pset NAME [VALUE] inside psql\n"
 "\n"
 msgstr ""
 "  psql --pset=NAME[=VALUE]\n"
-"  或者交互模式中的 \\pset NAME [VALUE]\n"
+"  或者 psql 中的 \\pset NAME [VALUE]\n"
 "\n"
 
-#: help.c:350
+#: help.c:369
 #, c-format
 msgid "  border             border style (number)\n"
 msgstr "  border             边界样式(数字)\n"
 
-#: help.c:351
+#: help.c:370
 #, c-format
-msgid "  columns            set the target width for the wrapped format\n"
-msgstr "  columns            为回卷格式设置目标宽度\n"
+#| msgid "  columns            set the target width for the wrapped format\n"
+msgid "  columns            target width for the wrapped format\n"
+msgstr "  columns            用于回卷格式的目标宽度\n"
 
 # help.c:117
-#: help.c:352
+#: help.c:371
 #, c-format
-msgid "  expanded (or x)    toggle expanded output\n"
-msgstr "  expanded (or x)    扩展输出开关\n"
+#| msgid "  expanded (or x)    toggle expanded output\n"
+msgid "  expanded (or x)    expanded output [on, off, auto]\n"
+msgstr "  expanded (或者 x)    扩展输出 [on, off, auto]\n"
 
 # help.c:119
-#: help.c:353
+#: help.c:372
 #, c-format
+#| msgid ""
+#| "  fieldsep           field separator for unaligned output (default '|')\n"
 msgid ""
-"  fieldsep           field separator for unaligned output (default '|')\n"
-msgstr "  fieldsep           非对齐输出的域分隔符(默认是'|')\n"
+"  fieldsep           field separator for unaligned output (default \"%s\")\n"
+msgstr "  fieldsep           用于非对齐输出的域分隔符(默认是 \"%s\")\n"
 
 # help.c:119
-#: help.c:354
+#: help.c:373
 #, c-format
-msgid "  fieldsep_zero      set field separator in unaligned mode to zero\n"
-msgstr "  fieldsep_zero      将非对齐模式中的域分隔符设置为零\n"
+#| msgid "  fieldsep_zero      set field separator in unaligned mode to zero\n"
+msgid ""
+"  fieldsep_zero      set field separator for unaligned output to zero byte\n"
+msgstr "  fieldsep_zero      将用于非对齐模式中的域分隔符设置为零字节\n"
 
 # command.c:1340
-#: help.c:355
+#: help.c:374
 #, c-format
 msgid ""
 "  format             set output format [unaligned, aligned, wrapped, html, "
@@ -3307,27 +3489,27 @@ msgstr ""
 "  format             设置输出格式 [unaligned, aligned, wrapped, html, "
 "asciidoc, ...]\n"
 
-#: help.c:356
+#: help.c:375
 #, c-format
 msgid ""
 "  footer             enable or disable display of the table footer [on, "
 "off]\n"
 msgstr "  footer             启用或禁用表格页脚的显示 [on, off]\n"
 
-#: help.c:357
+#: help.c:376
 #, c-format
 msgid ""
 "  linestyle          set the border line drawing style [ascii, old-ascii, "
 "unicode]\n"
 msgstr "  linestyle          设置边界线绘制风格 [ascii, old-ascii, unicode]\n"
 
-#: help.c:358
+#: help.c:377
 #, c-format
 msgid ""
 "  null               set the string to be printed in place of a null value\n"
 msgstr "  null               设置代替空值被打印的字符串\n"
 
-#: help.c:359
+#: help.c:378
 #, c-format
 msgid ""
 "  numericlocale      enable or disable display of a locale-specific "
@@ -3336,7 +3518,7 @@ msgid ""
 msgstr ""
 "  numericlocale      启用或者禁用分隔数字分组的区域相关字符的显示 [on, off]\n"
 
-#: help.c:361
+#: help.c:380
 #, c-format
 msgid ""
 "  pager              control when an external pager is used [yes, no, "
@@ -3344,65 +3526,72 @@ msgid ""
 msgstr "  pager              控制何时使用一个外部分页器 [yes, no, always]\n"
 
 # help.c:121
-#: help.c:362
+#: help.c:381
 #, c-format
-msgid ""
-"  recordsep          specify the record (line) separator to use in unaligned "
-"output format\n"
-msgstr "  recordsep          指定在非对齐输出格式中使用的记录(排)分隔符\n"
+#| msgid ""
+#| "  recordsep          specify the record (line) separator to use in "
+#| "unaligned output format\n"
+msgid "  recordsep          record (line) separator for unaligned output\n"
+msgstr "  recordsep          用于非对齐输出中的记录(行)分隔符\n"
 
 # help.c:121
-#: help.c:363
+#: help.c:382
 #, c-format
+#| msgid ""
+#| "  recordsep_zero     set the record separator to use in unaligned output "
+#| "format to a zero byte.\n"
 msgid ""
-"  recordsep_zero     set the record separator to use in unaligned output "
-"format to a zero byte.\n"
-msgstr ""
-"  recordsep_zero     将非对齐输出格式中使用的记录分隔符设置为一个零字节。\n"
+"  recordsep_zero     set record separator for unaligned output to zero byte\n"
+msgstr "  recordsep_zero     将用于非对齐输出中的记录分隔符设置为零字节\n"
 
-#: help.c:364
+#: help.c:383
 #, c-format
+#| msgid ""
+#| "  tableattr (or T)   specify attributes for table tag in html format or "
+#| "proportional\n"
+#| "                     column width of left aligned data type in latex "
+#| "format\n"
 msgid ""
 "  tableattr (or T)   specify attributes for table tag in html format or "
 "proportional\n"
-"                     column width of left aligned data type in latex format\n"
+"                     column widths for left-aligned data types in latex-"
+"longtable format\n"
 msgstr ""
-"  tableattr (or T)   指定用于html格式中表标签的属性\n"
-"                            或者latex格式中左对齐数据类型的比例列宽的属性\n"
+"  tableattr (或者 T)   指定 html 格式中表标签的属性\n"
+"                            或者 latex-longtable 格式中左对齐数据类型的比例列"
+"宽\n"
 
 # help.c:235
-#: help.c:366
+#: help.c:385
 #, c-format
 msgid ""
 "  title              set the table title for any subsequently printed "
 "tables\n"
 msgstr "  title              为任何后续被打印的表设置表标题\n"
 
-#: help.c:367
+#: help.c:386
 #, c-format
 msgid "  tuples_only        if set, only actual table data is shown\n"
 msgstr "  tuples_only        如果被设置,只有真实的表数据会被显示\n"
 
-#: help.c:368
-#, c-format
-msgid "  unicode_border_linestyle\n"
-msgstr "  unicode_border_linestyle\n"
-
-#: help.c:369
-#, c-format
-msgid "  unicode_column_linestyle\n"
-msgstr "  unicode_column_linestyle\n"
-
-#: help.c:370
+#: help.c:387
 #, c-format
+#| msgid ""
+#| "  unicode_header_linestyle\n"
+#| "                     set the style of unicode line drawing [single, "
+#| "double]\n"
 msgid ""
+"  unicode_border_linestyle\n"
+"  unicode_column_linestyle\n"
 "  unicode_header_linestyle\n"
-"                     set the style of unicode line drawing [single, double]\n"
+"                     set the style of Unicode line drawing [single, double]\n"
 msgstr ""
+"  unicode_border_linestyle\n"
+"  unicode_column_linestyle\n"
 "  unicode_header_linestyle\n"
-"                     设置unicode线绘制的风格 [single, double]\n"
+"                     设置 Unicode 线绘制的风格 [single, double]\n"
 
-#: help.c:373
+#: help.c:392
 #, c-format
 msgid ""
 "\n"
@@ -3411,92 +3600,99 @@ msgstr ""
 "\n"
 "环境变量:\n"
 
-#: help.c:377
+#: help.c:396
 #, c-format
+#| msgid ""
+#| "  NAME=VALUE [NAME=VALUE] psql ...\n"
+#| "  or \\setenv NAME [VALUE] in interactive mode\n"
+#| "\n"
 msgid ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
-"  or \\setenv NAME [VALUE] in interactive mode\n"
+"  or \\setenv NAME [VALUE] inside psql\n"
 "\n"
 msgstr ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
-"  或者交互模式中的 \\setenv NAME [VALUE]\n"
+"  或者 psql 中的 \\setenv NAME [VALUE]\n"
 "\n"
 
-#: help.c:379
+#: help.c:398
 #, c-format
+#| msgid ""
+#| "  set NAME=VALUE\n"
+#| "  psql ...\n"
+#| "  or \\setenv NAME VALUE in interactive mode\n"
+#| "\n"
 msgid ""
 "  set NAME=VALUE\n"
 "  psql ...\n"
-"  or \\setenv NAME VALUE in interactive mode\n"
+"  or \\setenv NAME [VALUE] inside psql\n"
 "\n"
 msgstr ""
 "  set NAME=VALUE\n"
 "  psql ...\n"
-"  或者交互模式中的 \\setenv NAME VALUE\n"
+"  或者 psql 中的 \\setenv NAME [VALUE]\n"
 "\n"
 
-#: help.c:382
+#: help.c:401
 #, c-format
 msgid "  COLUMNS            number of columns for wrapped format\n"
 msgstr "  COLUMNS            回卷格式的列数\n"
 
-#: help.c:383
+#: help.c:402
 #, c-format
-#| msgid "  -x NUM             internal use\n"
 msgid "  PAGER              name of external pager program\n"
 msgstr "  PAGER              外部分页程序的名称\n"
 
-#: help.c:384
+#: help.c:403
 #, c-format
 msgid ""
 "  PGAPPNAME          same as the application_name connection parameter\n"
 msgstr "  PGAPPNAME          和application_name连接参数相同\n"
 
-#: help.c:385
+#: help.c:404
 #, c-format
 msgid "  PGDATABASE         same as the dbname connection parameter\n"
 msgstr "  PGDATABASE         和dbname连接参数相同\n"
 
-#: help.c:386
+#: help.c:405
 #, c-format
-#| msgid "  -l                 enable SSL connections\n"
 msgid "  PGHOST             same as the host connection parameter\n"
 msgstr "  PGHOST             与主机连接参数相同\n"
 
-#: help.c:387
+#: help.c:406
 #, c-format
-#| msgid "  -l                 enable SSL connections\n"
 msgid "  PGPORT             same as the port connection parameter\n"
 msgstr "  PGPORT             与端口连接参数相同\n"
 
 # help.c:136
-#: help.c:388
+#: help.c:407
 #, c-format
-#| msgid "  DBNAME             database name (defaults to user name)\n"
 msgid "  PGUSER             same as the user connection parameter\n"
 msgstr "  PGUSER             与用户连接参数相同\n"
 
-#: help.c:389
+#: help.c:408
 #, c-format
 msgid "  PGPASSWORD         connection password (not recommended)\n"
 msgstr "  PGPASSWORD         连接口令(不推荐)\n"
 
-#: help.c:390
+#: help.c:409
 #, c-format
-#| msgid "  -f, --file=FILENAME          output file name\n"
 msgid "  PGPASSFILE         password file name\n"
 msgstr "  PGPASSFILE         口令文件名\n"
 
-#: help.c:391
+#: help.c:410
 #, c-format
+#| msgid ""
+#| "  PSQL_EDITOR, EDITOR, VISUAL\n"
+#| "                     editor used by the \\e and \\ef commands\n"
 msgid ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     editor used by the \\e and \\ef commands\n"
+"                     editor used by the \\e, \\ef, and \\ev commands\n"
 msgstr ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     \\e以及\\ef命令使用的编辑器\n"
+"                     \\e, \\ef, 和 \\ev 命令使用的编辑器\n"
 
-#: help.c:393
+#: help.c:412
 #, c-format
 msgid ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
@@ -3505,35 +3701,35 @@ msgstr ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
 "                     调用编辑器时如何指定一个行号\n"
 
-#: help.c:395
+#: help.c:414
 #, c-format
 msgid ""
 "  PSQL_HISTORY       alternative location for the command history file\n"
 msgstr "  PSQL_HISTORY       命令历史文件的可选位置\n"
 
-#: help.c:396
+#: help.c:415
 #, c-format
 msgid "  PSQLRC             alternative location for the user's .psqlrc file\n"
 msgstr "  PSQLRC             用户的.psqlrc文件的可选位置\n"
 
-#: help.c:397
+#: help.c:416
 #, c-format
 msgid "  SHELL              shell used by the \\! command\n"
 msgstr "  SHELL              \\! 命令使用的shell\n"
 
 # help.c:200
-#: help.c:398
+#: help.c:417
 #, c-format
 msgid "  TMPDIR             directory for temporary files\n"
 msgstr "  TMPDIR             临时文件的目录\n"
 
 # help.c:285
-#: help.c:441
+#: help.c:460
 msgid "Available help:\n"
 msgstr "可用的说明:\n"
 
 # help.c:344
-#: help.c:525
+#: help.c:544
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -3549,7 +3745,7 @@ msgstr ""
 "\n"
 
 # help.c:357
-#: help.c:541
+#: help.c:560
 #, c-format
 msgid ""
 "No help available for \"%s\".\n"
@@ -3559,19 +3755,19 @@ msgstr ""
 "请尝试用不带参数的 \\h 来看一下是否有可使用的帮助信息.\n"
 
 # input.c:210
-#: input.c:194
+#: input.c:216
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "无法从输入档案读取:%s\n"
 
 # input.c:210
-#: input.c:446 input.c:485
+#: input.c:471 input.c:510
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "无法将历史记录储存到 \"%s\":%s\n"
 
 # input.c:213
-#: input.c:505
+#: input.c:530
 #, c-format
 msgid "history is not supported by this installation\n"
 msgstr "这个安装不支援命令记录\n"
@@ -3604,12 +3800,12 @@ msgid "Large objects"
 msgstr "大型对象"
 
 # mainloop.c:172
-#: mainloop.c:161
+#: mainloop.c:168
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
 msgstr "使用 \"\\q\" 离开 %s。\n"
 
-#: mainloop.c:183
+#: mainloop.c:190
 msgid ""
 "The input is a PostgreSQL custom-format dump.\n"
 "Use the pg_restore command-line client to restore this dump to a database.\n"
@@ -3617,12 +3813,12 @@ msgstr ""
 "该输入是一个PostgreSQL自定义格式的转储。\n"
 "请使用pg_restore命令行客户端来将这个转储恢复到数据库。\n"
 
-#: mainloop.c:203
+#: mainloop.c:210
 msgid "You are using psql, the command-line interface to PostgreSQL."
 msgstr "您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面"
 
 # startup.c:292
-#: mainloop.c:204
+#: mainloop.c:211
 #, c-format
 msgid ""
 "Type:  \\copyright for distribution terms\n"
@@ -3637,53 +3833,16 @@ msgstr ""
 "       \\g 或者以分号(;)结尾以执行查询\n"
 "       \\q 退出\n"
 
-# print.c:1202
-#: print.c:344
-#, c-format
-msgid "(%lu row)"
-msgid_plural "(%lu rows)"
-msgstr[0] "(%lu 行记录)"
-
-#: print.c:2801
-#, c-format
-msgid "Interrupted\n"
-msgstr "已中断\n"
-
-#: print.c:2867
-#, c-format
-msgid "Cannot add header to table content: column count of %d exceeded.\n"
-msgstr "无法对表的内容增加标题:已经超过%d列的数量.\n"
-
-#: print.c:2907
-#, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
-msgstr "无法对表的内容添加单元: 总共有%d个单元超过.\n"
-
-#: print.c:3139
-#, c-format
-msgid "invalid output format (internal error): %d"
-msgstr "无效的输出格式 (内部错误): %d"
-
-#: psqlscan.l:751
-#, c-format
-msgid "skipping recursive expansion of variable \"%s\"\n"
-msgstr "跳过变量 \"%s\"的递归扩展\n"
-
-#: psqlscan.l:1627
+#: psqlscanslash.l:584
 #, c-format
 msgid "unterminated quoted string\n"
 msgstr "未结束的引用字符串\n"
 
-#: psqlscan.l:1727
+#: psqlscanslash.l:737
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 内存溢出\n"
 
-#: psqlscan.l:1956
-#, c-format
-msgid "can't escape without active connection\n"
-msgstr "没有数据库连接时无法escape\n"
-
 # describe.c:82
 # describe.c:128
 # describe.c:177
@@ -3696,487 +3855,507 @@ msgstr "没有数据库连接时无法escape\n"
 # describe.c:1586
 # describe.c:1634
 # describe.c:1727
-#: sql_help.c:33 sql_help.c:36 sql_help.c:39 sql_help.c:61 sql_help.c:63
-#: sql_help.c:65 sql_help.c:76 sql_help.c:78 sql_help.c:80 sql_help.c:106
-#: sql_help.c:112 sql_help.c:114 sql_help.c:116 sql_help.c:118 sql_help.c:121
-#: sql_help.c:123 sql_help.c:125 sql_help.c:218 sql_help.c:220 sql_help.c:221
-#: sql_help.c:223 sql_help.c:225 sql_help.c:228 sql_help.c:230 sql_help.c:232
-#: sql_help.c:234 sql_help.c:246 sql_help.c:247 sql_help.c:248 sql_help.c:250
-#: sql_help.c:296 sql_help.c:298 sql_help.c:300 sql_help.c:302 sql_help.c:362
-#: sql_help.c:367 sql_help.c:369 sql_help.c:412 sql_help.c:414 sql_help.c:417
-#: sql_help.c:419 sql_help.c:483 sql_help.c:488 sql_help.c:493 sql_help.c:498
-#: sql_help.c:546 sql_help.c:548 sql_help.c:550 sql_help.c:553 sql_help.c:555
-#: sql_help.c:566 sql_help.c:568 sql_help.c:608 sql_help.c:610 sql_help.c:613
-#: sql_help.c:615 sql_help.c:617 sql_help.c:646 sql_help.c:650 sql_help.c:668
-#: sql_help.c:671 sql_help.c:674 sql_help.c:703 sql_help.c:715 sql_help.c:723
-#: sql_help.c:726 sql_help.c:729 sql_help.c:743 sql_help.c:789 sql_help.c:812
-#: sql_help.c:823 sql_help.c:825 sql_help.c:842 sql_help.c:851 sql_help.c:853
-#: sql_help.c:855 sql_help.c:867 sql_help.c:871 sql_help.c:873 sql_help.c:957
-#: sql_help.c:959 sql_help.c:962 sql_help.c:965 sql_help.c:967 sql_help.c:969
-#: sql_help.c:1030 sql_help.c:1032 sql_help.c:1034 sql_help.c:1037
-#: sql_help.c:1058 sql_help.c:1061 sql_help.c:1064 sql_help.c:1067
-#: sql_help.c:1071 sql_help.c:1073 sql_help.c:1075 sql_help.c:1077
-#: sql_help.c:1091 sql_help.c:1094 sql_help.c:1096 sql_help.c:1098
-#: sql_help.c:1108 sql_help.c:1110 sql_help.c:1120 sql_help.c:1122
-#: sql_help.c:1131 sql_help.c:1152 sql_help.c:1154 sql_help.c:1156
-#: sql_help.c:1159 sql_help.c:1161 sql_help.c:1163 sql_help.c:1213
-#: sql_help.c:1251 sql_help.c:1254 sql_help.c:1256 sql_help.c:1258
-#: sql_help.c:1260 sql_help.c:1262 sql_help.c:1265 sql_help.c:1305
-#: sql_help.c:1552 sql_help.c:1568 sql_help.c:1581 sql_help.c:1632
-#: sql_help.c:1636 sql_help.c:1646 sql_help.c:1666 sql_help.c:1691
-#: sql_help.c:1709 sql_help.c:1737 sql_help.c:1811 sql_help.c:1854
-#: sql_help.c:1876 sql_help.c:1896 sql_help.c:1897 sql_help.c:1932
-#: sql_help.c:1952 sql_help.c:1974 sql_help.c:1987 sql_help.c:2019
-#: sql_help.c:2044 sql_help.c:2088 sql_help.c:2274 sql_help.c:2287
-#: sql_help.c:2304 sql_help.c:2320 sql_help.c:2359 sql_help.c:2410
-#: sql_help.c:2414 sql_help.c:2416 sql_help.c:2422 sql_help.c:2440
-#: sql_help.c:2467 sql_help.c:2502 sql_help.c:2514 sql_help.c:2523
-#: sql_help.c:2573 sql_help.c:2601 sql_help.c:2609 sql_help.c:2617
-#: sql_help.c:2625 sql_help.c:2633 sql_help.c:2641 sql_help.c:2649
-#: sql_help.c:2657 sql_help.c:2666 sql_help.c:2677 sql_help.c:2685
-#: sql_help.c:2693 sql_help.c:2701 sql_help.c:2709 sql_help.c:2719
-#: sql_help.c:2728 sql_help.c:2737 sql_help.c:2745 sql_help.c:2754
-#: sql_help.c:2762 sql_help.c:2771 sql_help.c:2779 sql_help.c:2787
-#: sql_help.c:2795 sql_help.c:2803 sql_help.c:2811 sql_help.c:2819
-#: sql_help.c:2827 sql_help.c:2835 sql_help.c:2852 sql_help.c:2861
-#: sql_help.c:2869 sql_help.c:2886 sql_help.c:2901 sql_help.c:3166
-#: sql_help.c:3217 sql_help.c:3246 sql_help.c:3254 sql_help.c:3673
-#: sql_help.c:3721 sql_help.c:3862
+#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:64 sql_help.c:66
+#: sql_help.c:68 sql_help.c:79 sql_help.c:81 sql_help.c:83 sql_help.c:109
+#: sql_help.c:115 sql_help.c:117 sql_help.c:119 sql_help.c:121 sql_help.c:124
+#: sql_help.c:126 sql_help.c:128 sql_help.c:221 sql_help.c:223 sql_help.c:224
+#: sql_help.c:226 sql_help.c:228 sql_help.c:231 sql_help.c:233 sql_help.c:235
+#: sql_help.c:237 sql_help.c:249 sql_help.c:250 sql_help.c:251 sql_help.c:253
+#: sql_help.c:299 sql_help.c:301 sql_help.c:303 sql_help.c:305 sql_help.c:365
+#: sql_help.c:370 sql_help.c:372 sql_help.c:415 sql_help.c:417 sql_help.c:420
+#: sql_help.c:422 sql_help.c:489 sql_help.c:494 sql_help.c:499 sql_help.c:504
+#: sql_help.c:509 sql_help.c:558 sql_help.c:560 sql_help.c:562 sql_help.c:564
+#: sql_help.c:567 sql_help.c:569 sql_help.c:580 sql_help.c:582 sql_help.c:624
+#: sql_help.c:626 sql_help.c:628 sql_help.c:631 sql_help.c:633 sql_help.c:635
+#: sql_help.c:669 sql_help.c:673 sql_help.c:677 sql_help.c:696 sql_help.c:699
+#: sql_help.c:702 sql_help.c:731 sql_help.c:743 sql_help.c:751 sql_help.c:754
+#: sql_help.c:757 sql_help.c:772 sql_help.c:775 sql_help.c:819 sql_help.c:842
+#: sql_help.c:853 sql_help.c:855 sql_help.c:872 sql_help.c:881 sql_help.c:883
+#: sql_help.c:885 sql_help.c:897 sql_help.c:901 sql_help.c:903 sql_help.c:987
+#: sql_help.c:989 sql_help.c:992 sql_help.c:995 sql_help.c:997 sql_help.c:999
+#: sql_help.c:1060 sql_help.c:1062 sql_help.c:1064 sql_help.c:1067
+#: sql_help.c:1088 sql_help.c:1091 sql_help.c:1094 sql_help.c:1097
+#: sql_help.c:1101 sql_help.c:1103 sql_help.c:1105 sql_help.c:1107
+#: sql_help.c:1121 sql_help.c:1124 sql_help.c:1126 sql_help.c:1128
+#: sql_help.c:1138 sql_help.c:1140 sql_help.c:1150 sql_help.c:1152
+#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1186 sql_help.c:1188
+#: sql_help.c:1190 sql_help.c:1193 sql_help.c:1195 sql_help.c:1197
+#: sql_help.c:1247 sql_help.c:1285 sql_help.c:1288 sql_help.c:1290
+#: sql_help.c:1292 sql_help.c:1294 sql_help.c:1296 sql_help.c:1299
+#: sql_help.c:1339 sql_help.c:1542 sql_help.c:1613 sql_help.c:1633
+#: sql_help.c:1650 sql_help.c:1705 sql_help.c:1709 sql_help.c:1719
+#: sql_help.c:1739 sql_help.c:1764 sql_help.c:1782 sql_help.c:1811
+#: sql_help.c:1886 sql_help.c:1928 sql_help.c:1950 sql_help.c:1970
+#: sql_help.c:1971 sql_help.c:2006 sql_help.c:2026 sql_help.c:2048
+#: sql_help.c:2061 sql_help.c:2092 sql_help.c:2117 sql_help.c:2161
+#: sql_help.c:2347 sql_help.c:2360 sql_help.c:2377 sql_help.c:2393
+#: sql_help.c:2432 sql_help.c:2483 sql_help.c:2487 sql_help.c:2489
+#: sql_help.c:2495 sql_help.c:2513 sql_help.c:2540 sql_help.c:2575
+#: sql_help.c:2587 sql_help.c:2596 sql_help.c:2640 sql_help.c:2654
+#: sql_help.c:2682 sql_help.c:2690 sql_help.c:2698 sql_help.c:2706
+#: sql_help.c:2714 sql_help.c:2722 sql_help.c:2730 sql_help.c:2738
+#: sql_help.c:2747 sql_help.c:2758 sql_help.c:2766 sql_help.c:2774
+#: sql_help.c:2782 sql_help.c:2790 sql_help.c:2800 sql_help.c:2809
+#: sql_help.c:2818 sql_help.c:2826 sql_help.c:2835 sql_help.c:2843
+#: sql_help.c:2852 sql_help.c:2860 sql_help.c:2868 sql_help.c:2876
+#: sql_help.c:2884 sql_help.c:2892 sql_help.c:2900 sql_help.c:2908
+#: sql_help.c:2916 sql_help.c:2933 sql_help.c:2942 sql_help.c:2950
+#: sql_help.c:2967 sql_help.c:2982 sql_help.c:3247 sql_help.c:3298
+#: sql_help.c:3327 sql_help.c:3335 sql_help.c:3754 sql_help.c:3802
+#: sql_help.c:3943
 msgid "name"
 msgstr "名称"
 
-#: sql_help.c:34 sql_help.c:37 sql_help.c:40 sql_help.c:306 sql_help.c:1369
-#: sql_help.c:2574 sql_help.c:3469
+#: sql_help.c:37 sql_help.c:40 sql_help.c:43 sql_help.c:309 sql_help.c:1403
+#: sql_help.c:2655 sql_help.c:3550
 msgid "aggregate_signature"
 msgstr "aggregate_signature"
 
-#: sql_help.c:35 sql_help.c:62 sql_help.c:77 sql_help.c:113 sql_help.c:233
-#: sql_help.c:251 sql_help.c:370 sql_help.c:418 sql_help.c:492 sql_help.c:533
-#: sql_help.c:547 sql_help.c:567 sql_help.c:614 sql_help.c:670 sql_help.c:725
-#: sql_help.c:745 sql_help.c:790 sql_help.c:814 sql_help.c:824 sql_help.c:854
-#: sql_help.c:874 sql_help.c:966 sql_help.c:1031 sql_help.c:1074
-#: sql_help.c:1095 sql_help.c:1109 sql_help.c:1121 sql_help.c:1133
-#: sql_help.c:1160 sql_help.c:1214 sql_help.c:1259
+#: sql_help.c:38 sql_help.c:65 sql_help.c:80 sql_help.c:116 sql_help.c:236
+#: sql_help.c:254 sql_help.c:373 sql_help.c:421 sql_help.c:498 sql_help.c:544
+#: sql_help.c:559 sql_help.c:581 sql_help.c:632 sql_help.c:698 sql_help.c:753
+#: sql_help.c:774 sql_help.c:820 sql_help.c:844 sql_help.c:854 sql_help.c:884
+#: sql_help.c:904 sql_help.c:996 sql_help.c:1061 sql_help.c:1104
+#: sql_help.c:1125 sql_help.c:1139 sql_help.c:1151 sql_help.c:1164
+#: sql_help.c:1194 sql_help.c:1248 sql_help.c:1293
 msgid "new_name"
 msgstr "新的名称"
 
-#: sql_help.c:38 sql_help.c:64 sql_help.c:79 sql_help.c:115 sql_help.c:231
-#: sql_help.c:249 sql_help.c:368 sql_help.c:454 sql_help.c:497 sql_help.c:569
-#: sql_help.c:578 sql_help.c:633 sql_help.c:649 sql_help.c:673 sql_help.c:728
-#: sql_help.c:826 sql_help.c:852 sql_help.c:872 sql_help.c:1015
-#: sql_help.c:1033 sql_help.c:1076 sql_help.c:1097 sql_help.c:1155
-#: sql_help.c:1257 sql_help.c:2260
+#: sql_help.c:41 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:234
+#: sql_help.c:252 sql_help.c:371 sql_help.c:457 sql_help.c:503 sql_help.c:583
+#: sql_help.c:592 sql_help.c:651 sql_help.c:672 sql_help.c:701 sql_help.c:756
+#: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045
+#: sql_help.c:1063 sql_help.c:1106 sql_help.c:1127 sql_help.c:1189
+#: sql_help.c:1291 sql_help.c:2333
 msgid "new_owner"
 msgstr "新的属主"
 
-#: sql_help.c:41 sql_help.c:66 sql_help.c:81 sql_help.c:235 sql_help.c:299
-#: sql_help.c:420 sql_help.c:502 sql_help.c:616 sql_help.c:653 sql_help.c:676
-#: sql_help.c:731 sql_help.c:856 sql_help.c:968 sql_help.c:1078
-#: sql_help.c:1099 sql_help.c:1111 sql_help.c:1123 sql_help.c:1162
-#: sql_help.c:1261
+#: sql_help.c:44 sql_help.c:69 sql_help.c:84 sql_help.c:238 sql_help.c:302
+#: sql_help.c:423 sql_help.c:508 sql_help.c:634 sql_help.c:676 sql_help.c:704
+#: sql_help.c:759 sql_help.c:886 sql_help.c:998 sql_help.c:1108
+#: sql_help.c:1129 sql_help.c:1141 sql_help.c:1153 sql_help.c:1196
+#: sql_help.c:1295
 msgid "new_schema"
 msgstr "新的模式"
 
 # describe.c:1174
-#: sql_help.c:42 sql_help.c:1422 sql_help.c:2575 sql_help.c:3488
+#: sql_help.c:45 sql_help.c:1456 sql_help.c:2656 sql_help.c:3569
 msgid "where aggregate_signature is:"
 msgstr "其中 aggregate_signature 是:"
 
-#: sql_help.c:43 sql_help.c:46 sql_help.c:49 sql_help.c:316 sql_help.c:341
-#: sql_help.c:344 sql_help.c:347 sql_help.c:484 sql_help.c:489 sql_help.c:494
-#: sql_help.c:499 sql_help.c:1387 sql_help.c:1423 sql_help.c:1426
-#: sql_help.c:1429 sql_help.c:1553 sql_help.c:1569 sql_help.c:1572
-#: sql_help.c:1812 sql_help.c:2576 sql_help.c:2579 sql_help.c:2582
-#: sql_help.c:2667 sql_help.c:3052 sql_help.c:3384 sql_help.c:3475
-#: sql_help.c:3489 sql_help.c:3492 sql_help.c:3495
+#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:319 sql_help.c:344
+#: sql_help.c:347 sql_help.c:350 sql_help.c:490 sql_help.c:495 sql_help.c:500
+#: sql_help.c:505 sql_help.c:510 sql_help.c:1421 sql_help.c:1457
+#: sql_help.c:1460 sql_help.c:1463 sql_help.c:1614 sql_help.c:1634
+#: sql_help.c:1637 sql_help.c:1887 sql_help.c:2657 sql_help.c:2660
+#: sql_help.c:2663 sql_help.c:2748 sql_help.c:3133 sql_help.c:3465
+#: sql_help.c:3556 sql_help.c:3570 sql_help.c:3573 sql_help.c:3576
 msgid "argmode"
 msgstr "参数模式"
 
 # describe.c:480
-#: sql_help.c:44 sql_help.c:47 sql_help.c:50 sql_help.c:317 sql_help.c:342
-#: sql_help.c:345 sql_help.c:348 sql_help.c:485 sql_help.c:490 sql_help.c:495
-#: sql_help.c:500 sql_help.c:1388 sql_help.c:1424 sql_help.c:1427
-#: sql_help.c:1430 sql_help.c:1554 sql_help.c:1570 sql_help.c:1573
-#: sql_help.c:1813 sql_help.c:2577 sql_help.c:2580 sql_help.c:2583
-#: sql_help.c:2668 sql_help.c:3476 sql_help.c:3490 sql_help.c:3493
-#: sql_help.c:3496
+#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:320 sql_help.c:345
+#: sql_help.c:348 sql_help.c:351 sql_help.c:491 sql_help.c:496 sql_help.c:501
+#: sql_help.c:506 sql_help.c:511 sql_help.c:1422 sql_help.c:1458
+#: sql_help.c:1461 sql_help.c:1464 sql_help.c:1615 sql_help.c:1635
+#: sql_help.c:1638 sql_help.c:1888 sql_help.c:2658 sql_help.c:2661
+#: sql_help.c:2664 sql_help.c:2749 sql_help.c:3557 sql_help.c:3571
+#: sql_help.c:3574 sql_help.c:3577
 msgid "argname"
 msgstr "参数名称"
 
 # describe.c:1689
-#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:318 sql_help.c:343
-#: sql_help.c:346 sql_help.c:349 sql_help.c:486 sql_help.c:491 sql_help.c:496
-#: sql_help.c:501 sql_help.c:1389 sql_help.c:1425 sql_help.c:1428
-#: sql_help.c:1431 sql_help.c:1814 sql_help.c:2578 sql_help.c:2581
-#: sql_help.c:2584 sql_help.c:2669 sql_help.c:3477 sql_help.c:3491
-#: sql_help.c:3494 sql_help.c:3497
+#: sql_help.c:48 sql_help.c:51 sql_help.c:54 sql_help.c:321 sql_help.c:346
+#: sql_help.c:349 sql_help.c:352 sql_help.c:492 sql_help.c:497 sql_help.c:502
+#: sql_help.c:507 sql_help.c:512 sql_help.c:1423 sql_help.c:1459
+#: sql_help.c:1462 sql_help.c:1465 sql_help.c:1889 sql_help.c:2659
+#: sql_help.c:2662 sql_help.c:2665 sql_help.c:2750 sql_help.c:3558
+#: sql_help.c:3572 sql_help.c:3575 sql_help.c:3578
 msgid "argtype"
 msgstr "参数类型"
 
-#: sql_help.c:107 sql_help.c:365 sql_help.c:443 sql_help.c:455 sql_help.c:784
-#: sql_help.c:869 sql_help.c:1092 sql_help.c:1208 sql_help.c:1236
-#: sql_help.c:1479 sql_help.c:1485 sql_help.c:1740 sql_help.c:1772
-#: sql_help.c:1779 sql_help.c:1855 sql_help.c:2020 sql_help.c:2109
-#: sql_help.c:2289 sql_help.c:2468 sql_help.c:2490 sql_help.c:2920
-#: sql_help.c:3086
+#: sql_help.c:110 sql_help.c:368 sql_help.c:446 sql_help.c:458 sql_help.c:814
+#: sql_help.c:899 sql_help.c:1122 sql_help.c:1242 sql_help.c:1270
+#: sql_help.c:1513 sql_help.c:1519 sql_help.c:1814 sql_help.c:1846
+#: sql_help.c:1853 sql_help.c:1929 sql_help.c:2093 sql_help.c:2182
+#: sql_help.c:2362 sql_help.c:2541 sql_help.c:2563 sql_help.c:3001
+#: sql_help.c:3167
 msgid "option"
 msgstr "选项"
 
-#: sql_help.c:108 sql_help.c:785 sql_help.c:1209 sql_help.c:1856
-#: sql_help.c:2021 sql_help.c:2469
+#: sql_help.c:111 sql_help.c:815 sql_help.c:1243 sql_help.c:1930
+#: sql_help.c:2094 sql_help.c:2542
 msgid "where option can be:"
 msgstr "选项可以是"
 
-#: sql_help.c:109 sql_help.c:1673
+#: sql_help.c:112 sql_help.c:1746
 msgid "allowconn"
 msgstr "allowconn"
 
-#: sql_help.c:110 sql_help.c:786 sql_help.c:1210 sql_help.c:1674
-#: sql_help.c:2022 sql_help.c:2470
+#: sql_help.c:113 sql_help.c:816 sql_help.c:1244 sql_help.c:1747
+#: sql_help.c:2095 sql_help.c:2543
 msgid "connlimit"
 msgstr "连接限制"
 
-#: sql_help.c:111 sql_help.c:1675
+#: sql_help.c:114 sql_help.c:1748
 msgid "istemplate"
 msgstr "istemplate"
 
 # describe.c:1342
-#: sql_help.c:117 sql_help.c:557 sql_help.c:619 sql_help.c:634 sql_help.c:971
-#: sql_help.c:1008
+#: sql_help.c:120 sql_help.c:571 sql_help.c:637 sql_help.c:652 sql_help.c:1001
+#: sql_help.c:1038
 msgid "new_tablespace"
 msgstr "新的表空间"
 
 # sql_help.h:366
-#: sql_help.c:119 sql_help.c:122 sql_help.c:124 sql_help.c:506 sql_help.c:508
-#: sql_help.c:509 sql_help.c:793 sql_help.c:797 sql_help.c:800 sql_help.c:885
-#: sql_help.c:888 sql_help.c:1216 sql_help.c:1219 sql_help.c:1221
-#: sql_help.c:1823 sql_help.c:3271 sql_help.c:3662
+#: sql_help.c:122 sql_help.c:125 sql_help.c:127 sql_help.c:517 sql_help.c:519
+#: sql_help.c:520 sql_help.c:823 sql_help.c:827 sql_help.c:830 sql_help.c:915
+#: sql_help.c:918 sql_help.c:1250 sql_help.c:1253 sql_help.c:1255
+#: sql_help.c:1898 sql_help.c:3352 sql_help.c:3743
 msgid "configuration_parameter"
 msgstr "配置参数"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:120 sql_help.c:366 sql_help.c:438 sql_help.c:444 sql_help.c:456
-#: sql_help.c:507 sql_help.c:552 sql_help.c:625 sql_help.c:631 sql_help.c:794
-#: sql_help.c:870 sql_help.c:886 sql_help.c:887 sql_help.c:990 sql_help.c:1010
-#: sql_help.c:1036 sql_help.c:1093 sql_help.c:1217 sql_help.c:1237
-#: sql_help.c:1741 sql_help.c:1773 sql_help.c:1780 sql_help.c:1824
-#: sql_help.c:1825 sql_help.c:1884 sql_help.c:1916 sql_help.c:2110
-#: sql_help.c:2184 sql_help.c:2192 sql_help.c:2224 sql_help.c:2246
-#: sql_help.c:2263 sql_help.c:2290 sql_help.c:2491 sql_help.c:3087
-#: sql_help.c:3663 sql_help.c:3664
+#: sql_help.c:123 sql_help.c:369 sql_help.c:441 sql_help.c:447 sql_help.c:459
+#: sql_help.c:518 sql_help.c:566 sql_help.c:643 sql_help.c:649 sql_help.c:824
+#: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020
+#: sql_help.c:1040 sql_help.c:1066 sql_help.c:1123 sql_help.c:1251
+#: sql_help.c:1271 sql_help.c:1815 sql_help.c:1847 sql_help.c:1854
+#: sql_help.c:1899 sql_help.c:1900 sql_help.c:1958 sql_help.c:1990
+#: sql_help.c:2183 sql_help.c:2257 sql_help.c:2265 sql_help.c:2297
+#: sql_help.c:2319 sql_help.c:2336 sql_help.c:2363 sql_help.c:2564
+#: sql_help.c:3168 sql_help.c:3744 sql_help.c:3745
 msgid "value"
 msgstr "值"
 
-#: sql_help.c:182
+#: sql_help.c:185
 msgid "target_role"
 msgstr "目标角色"
 
-#: sql_help.c:183 sql_help.c:1724 sql_help.c:2068 sql_help.c:2073
-#: sql_help.c:3034 sql_help.c:3041 sql_help.c:3055 sql_help.c:3061
-#: sql_help.c:3366 sql_help.c:3373 sql_help.c:3387 sql_help.c:3393
+#: sql_help.c:186 sql_help.c:1798 sql_help.c:2141 sql_help.c:2146
+#: sql_help.c:3115 sql_help.c:3122 sql_help.c:3136 sql_help.c:3142
+#: sql_help.c:3447 sql_help.c:3454 sql_help.c:3468 sql_help.c:3474
 msgid "schema_name"
 msgstr "模式名称"
 
-#: sql_help.c:184
+#: sql_help.c:187
 msgid "abbreviated_grant_or_revoke"
 msgstr "简写形式的可授予或回收的权限"
 
-#: sql_help.c:185
+#: sql_help.c:188
 msgid "where abbreviated_grant_or_revoke is one of:"
 msgstr "简写形式的可授予或回收权限是下列内容之一"
 
 # describe.c:1375
-#: sql_help.c:186 sql_help.c:187 sql_help.c:188 sql_help.c:189 sql_help.c:190
-#: sql_help.c:191 sql_help.c:192 sql_help.c:193 sql_help.c:531 sql_help.c:556
-#: sql_help.c:618 sql_help.c:746 sql_help.c:804 sql_help.c:970 sql_help.c:1224
-#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862
-#: sql_help.c:1863 sql_help.c:1989 sql_help.c:2025 sql_help.c:2026
-#: sql_help.c:2027 sql_help.c:2028 sql_help.c:2029 sql_help.c:2473
-#: sql_help.c:2474 sql_help.c:2475 sql_help.c:2476 sql_help.c:2477
-#: sql_help.c:3068 sql_help.c:3069 sql_help.c:3070 sql_help.c:3367
-#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3376 sql_help.c:3378
-#: sql_help.c:3380 sql_help.c:3382 sql_help.c:3388 sql_help.c:3390
-#: sql_help.c:3392 sql_help.c:3394 sql_help.c:3396 sql_help.c:3398
-#: sql_help.c:3399 sql_help.c:3400 sql_help.c:3683
+#: sql_help.c:189 sql_help.c:190 sql_help.c:191 sql_help.c:192 sql_help.c:193
+#: sql_help.c:194 sql_help.c:195 sql_help.c:196 sql_help.c:542 sql_help.c:570
+#: sql_help.c:636 sql_help.c:777 sql_help.c:834 sql_help.c:1000
+#: sql_help.c:1258 sql_help.c:1933 sql_help.c:1934 sql_help.c:1935
+#: sql_help.c:1936 sql_help.c:1937 sql_help.c:2063 sql_help.c:2098
+#: sql_help.c:2099 sql_help.c:2100 sql_help.c:2101 sql_help.c:2102
+#: sql_help.c:2546 sql_help.c:2547 sql_help.c:2548 sql_help.c:2549
+#: sql_help.c:2550 sql_help.c:3149 sql_help.c:3150 sql_help.c:3151
+#: sql_help.c:3448 sql_help.c:3452 sql_help.c:3455 sql_help.c:3457
+#: sql_help.c:3459 sql_help.c:3461 sql_help.c:3463 sql_help.c:3469
+#: sql_help.c:3471 sql_help.c:3473 sql_help.c:3475 sql_help.c:3477
+#: sql_help.c:3479 sql_help.c:3480 sql_help.c:3481 sql_help.c:3764
 msgid "role_name"
 msgstr "角色名称"
 
-#: sql_help.c:219 sql_help.c:431 sql_help.c:981 sql_help.c:983 sql_help.c:1253
-#: sql_help.c:1694 sql_help.c:1698 sql_help.c:1783 sql_help.c:1787
-#: sql_help.c:1880 sql_help.c:2196 sql_help.c:2206 sql_help.c:2228
-#: sql_help.c:3117 sql_help.c:3132 sql_help.c:3134 sql_help.c:3548
-#: sql_help.c:3549 sql_help.c:3558 sql_help.c:3599 sql_help.c:3600
-#: sql_help.c:3601 sql_help.c:3602 sql_help.c:3603 sql_help.c:3604
-#: sql_help.c:3637 sql_help.c:3638 sql_help.c:3643 sql_help.c:3648
-#: sql_help.c:3787 sql_help.c:3788 sql_help.c:3797 sql_help.c:3838
-#: sql_help.c:3839 sql_help.c:3840 sql_help.c:3841 sql_help.c:3842
-#: sql_help.c:3843 sql_help.c:3890 sql_help.c:3892 sql_help.c:3925
-#: sql_help.c:3981 sql_help.c:3982 sql_help.c:3991 sql_help.c:4032
-#: sql_help.c:4033 sql_help.c:4034 sql_help.c:4035 sql_help.c:4036
-#: sql_help.c:4037
+#: sql_help.c:222 sql_help.c:434 sql_help.c:1011 sql_help.c:1013
+#: sql_help.c:1287 sql_help.c:1767 sql_help.c:1771 sql_help.c:1857
+#: sql_help.c:1861 sql_help.c:1954 sql_help.c:2269 sql_help.c:2279
+#: sql_help.c:2301 sql_help.c:3198 sql_help.c:3213 sql_help.c:3215
+#: sql_help.c:3629 sql_help.c:3630 sql_help.c:3639 sql_help.c:3680
+#: sql_help.c:3681 sql_help.c:3682 sql_help.c:3683 sql_help.c:3684
+#: sql_help.c:3685 sql_help.c:3718 sql_help.c:3719 sql_help.c:3724
+#: sql_help.c:3729 sql_help.c:3868 sql_help.c:3869 sql_help.c:3878
+#: sql_help.c:3919 sql_help.c:3920 sql_help.c:3921 sql_help.c:3922
+#: sql_help.c:3923 sql_help.c:3924 sql_help.c:3971 sql_help.c:3973
+#: sql_help.c:4006 sql_help.c:4062 sql_help.c:4063 sql_help.c:4072
+#: sql_help.c:4113 sql_help.c:4114 sql_help.c:4115 sql_help.c:4116
+#: sql_help.c:4117 sql_help.c:4118
 msgid "expression"
 msgstr "表达式"
 
-#: sql_help.c:222
+#: sql_help.c:225
 msgid "domain_constraint"
 msgstr "域_约束"
 
-#: sql_help.c:224 sql_help.c:226 sql_help.c:229 sql_help.c:446 sql_help.c:447
-#: sql_help.c:963 sql_help.c:996 sql_help.c:997 sql_help.c:998 sql_help.c:1018
-#: sql_help.c:1375 sql_help.c:1377 sql_help.c:1697 sql_help.c:1782
-#: sql_help.c:1786 sql_help.c:2195 sql_help.c:2205 sql_help.c:3129
+#: sql_help.c:227 sql_help.c:229 sql_help.c:232 sql_help.c:449 sql_help.c:450
+#: sql_help.c:993 sql_help.c:1026 sql_help.c:1027 sql_help.c:1028
+#: sql_help.c:1048 sql_help.c:1409 sql_help.c:1411 sql_help.c:1770
+#: sql_help.c:1856 sql_help.c:1860 sql_help.c:2268 sql_help.c:2278
+#: sql_help.c:3210
 msgid "constraint_name"
 msgstr "约束名称"
 
-#: sql_help.c:227 sql_help.c:964
+#: sql_help.c:230 sql_help.c:994
 msgid "new_constraint_name"
 msgstr "new_constraint_name(新约束名)"
 
-#: sql_help.c:297 sql_help.c:868
+#: sql_help.c:300 sql_help.c:898
 msgid "new_version"
 msgstr "新版本"
 
-#: sql_help.c:301 sql_help.c:303
+#: sql_help.c:304 sql_help.c:306
 msgid "member_object"
 msgstr "member_object"
 
-#: sql_help.c:304
+#: sql_help.c:307
 msgid "where member_object is:"
 msgstr "member_object的位置:"
 
-#: sql_help.c:305 sql_help.c:1368 sql_help.c:3468
+#: sql_help.c:308 sql_help.c:1402 sql_help.c:3549
 msgid "aggregate_name"
 msgstr "aggregate_name"
 
 # describe.c:1688
-#: sql_help.c:307 sql_help.c:1370 sql_help.c:1612 sql_help.c:1616
-#: sql_help.c:1618 sql_help.c:2592
+#: sql_help.c:310 sql_help.c:1404 sql_help.c:1685 sql_help.c:1689
+#: sql_help.c:1691 sql_help.c:2673
 msgid "source_type"
 msgstr "类型指派中的源数据类型"
 
 # describe.c:1689
-#: sql_help.c:308 sql_help.c:1371 sql_help.c:1613 sql_help.c:1617
-#: sql_help.c:1619 sql_help.c:2593
+#: sql_help.c:311 sql_help.c:1405 sql_help.c:1686 sql_help.c:1690
+#: sql_help.c:1692 sql_help.c:2674
 msgid "target_type"
 msgstr "类型指派中的目标数据类型"
 
 # describe.c:1375
-#: sql_help.c:309 sql_help.c:310 sql_help.c:311 sql_help.c:312 sql_help.c:313
-#: sql_help.c:314 sql_help.c:319 sql_help.c:323 sql_help.c:325 sql_help.c:327
-#: sql_help.c:328 sql_help.c:329 sql_help.c:330 sql_help.c:331 sql_help.c:332
-#: sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:338 sql_help.c:339
-#: sql_help.c:1372 sql_help.c:1379 sql_help.c:1380 sql_help.c:1381
-#: sql_help.c:1382 sql_help.c:1383 sql_help.c:1384 sql_help.c:1385
-#: sql_help.c:1390 sql_help.c:1392 sql_help.c:1396 sql_help.c:1398
-#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1406 sql_help.c:1407
-#: sql_help.c:1408 sql_help.c:1409 sql_help.c:1410 sql_help.c:1411
-#: sql_help.c:1412 sql_help.c:1413 sql_help.c:1414 sql_help.c:1419
-#: sql_help.c:1420 sql_help.c:3465 sql_help.c:3470 sql_help.c:3471
-#: sql_help.c:3472 sql_help.c:3473 sql_help.c:3479 sql_help.c:3480
-#: sql_help.c:3481 sql_help.c:3482 sql_help.c:3483 sql_help.c:3484
-#: sql_help.c:3485 sql_help.c:3486
+#: sql_help.c:312 sql_help.c:313 sql_help.c:314 sql_help.c:315 sql_help.c:316
+#: sql_help.c:317 sql_help.c:322 sql_help.c:326 sql_help.c:328 sql_help.c:330
+#: sql_help.c:331 sql_help.c:332 sql_help.c:333 sql_help.c:334 sql_help.c:335
+#: sql_help.c:336 sql_help.c:337 sql_help.c:338 sql_help.c:341 sql_help.c:342
+#: sql_help.c:1406 sql_help.c:1413 sql_help.c:1414 sql_help.c:1415
+#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:1419
+#: sql_help.c:1424 sql_help.c:1426 sql_help.c:1430 sql_help.c:1432
+#: sql_help.c:1436 sql_help.c:1437 sql_help.c:1440 sql_help.c:1441
+#: sql_help.c:1442 sql_help.c:1443 sql_help.c:1444 sql_help.c:1445
+#: sql_help.c:1446 sql_help.c:1447 sql_help.c:1448 sql_help.c:1453
+#: sql_help.c:1454 sql_help.c:3546 sql_help.c:3551 sql_help.c:3552
+#: sql_help.c:3553 sql_help.c:3554 sql_help.c:3560 sql_help.c:3561
+#: sql_help.c:3562 sql_help.c:3563 sql_help.c:3564 sql_help.c:3565
+#: sql_help.c:3566 sql_help.c:3567
 msgid "object_name"
 msgstr "对象_名称"
 
 # describe.c:498
-#: sql_help.c:315 sql_help.c:713 sql_help.c:1386 sql_help.c:1614
-#: sql_help.c:1649 sql_help.c:1712 sql_help.c:1933 sql_help.c:1964
-#: sql_help.c:2364 sql_help.c:3051 sql_help.c:3383 sql_help.c:3474
-#: sql_help.c:3577 sql_help.c:3581 sql_help.c:3585 sql_help.c:3588
-#: sql_help.c:3816 sql_help.c:3820 sql_help.c:3824 sql_help.c:3827
-#: sql_help.c:4010 sql_help.c:4014 sql_help.c:4018 sql_help.c:4021
+#: sql_help.c:318 sql_help.c:741 sql_help.c:1420 sql_help.c:1687
+#: sql_help.c:1722 sql_help.c:1785 sql_help.c:2007 sql_help.c:2038
+#: sql_help.c:2437 sql_help.c:3132 sql_help.c:3464 sql_help.c:3555
+#: sql_help.c:3658 sql_help.c:3662 sql_help.c:3666 sql_help.c:3669
+#: sql_help.c:3897 sql_help.c:3901 sql_help.c:3905 sql_help.c:3908
+#: sql_help.c:4091 sql_help.c:4095 sql_help.c:4099 sql_help.c:4102
 msgid "function_name"
 msgstr "函数名称"
 
 # describe.c:512
-#: sql_help.c:320 sql_help.c:706 sql_help.c:1393 sql_help.c:1957
+#: sql_help.c:323 sql_help.c:734 sql_help.c:1427 sql_help.c:2031
 msgid "operator_name"
 msgstr "操作符名称"
 
 # describe.c:321
-#: sql_help.c:321 sql_help.c:647 sql_help.c:651 sql_help.c:1394
-#: sql_help.c:1934 sql_help.c:2710
+#: sql_help.c:324 sql_help.c:670 sql_help.c:674 sql_help.c:678 sql_help.c:1428
+#: sql_help.c:2008 sql_help.c:2791
 msgid "left_type"
 msgstr "操作符左边操作数的类型"
 
 # describe.c:321
-#: sql_help.c:322 sql_help.c:648 sql_help.c:652 sql_help.c:1395
-#: sql_help.c:1935 sql_help.c:2711
+#: sql_help.c:325 sql_help.c:671 sql_help.c:675 sql_help.c:679 sql_help.c:1429
+#: sql_help.c:2009 sql_help.c:2792
 msgid "right_type"
 msgstr "操作符右边操作数的类型"
 
-#: sql_help.c:324 sql_help.c:326 sql_help.c:669 sql_help.c:672 sql_help.c:675
-#: sql_help.c:704 sql_help.c:716 sql_help.c:724 sql_help.c:727 sql_help.c:730
-#: sql_help.c:1397 sql_help.c:1399 sql_help.c:1954 sql_help.c:1975
-#: sql_help.c:2211 sql_help.c:2720 sql_help.c:2729
+#: sql_help.c:327 sql_help.c:329 sql_help.c:697 sql_help.c:700 sql_help.c:703
+#: sql_help.c:732 sql_help.c:744 sql_help.c:752 sql_help.c:755 sql_help.c:758
+#: sql_help.c:1431 sql_help.c:1433 sql_help.c:2028 sql_help.c:2049
+#: sql_help.c:2284 sql_help.c:2801 sql_help.c:2810
 msgid "index_method"
 msgstr "访问索引的方法"
 
-#: sql_help.c:336 sql_help.c:1014 sql_help.c:1415 sql_help.c:1820
-#: sql_help.c:2187 sql_help.c:2333 sql_help.c:2843 sql_help.c:3065
-#: sql_help.c:3397
+#: sql_help.c:339 sql_help.c:1044 sql_help.c:1449 sql_help.c:1895
+#: sql_help.c:2260 sql_help.c:2406 sql_help.c:2924 sql_help.c:3146
+#: sql_help.c:3478
 msgid "type_name"
 msgstr "类型名称"
 
-#: sql_help.c:337 sql_help.c:1416 sql_help.c:1819 sql_help.c:2334
-#: sql_help.c:2558 sql_help.c:2844 sql_help.c:3057 sql_help.c:3389
+#: sql_help.c:340 sql_help.c:1450 sql_help.c:1894 sql_help.c:2407
+#: sql_help.c:2631 sql_help.c:2925 sql_help.c:3138 sql_help.c:3470
 msgid "lang_name"
 msgstr "语言名称"
 
-#: sql_help.c:340
+#: sql_help.c:343
 msgid "and aggregate_signature is:"
 msgstr "aggregate_signature指的是:"
 
 # describe.c:498
-#: sql_help.c:363 sql_help.c:1738
+#: sql_help.c:366 sql_help.c:1544 sql_help.c:1812
 msgid "handler_function"
 msgstr "handler_function(处理_函数)"
 
 # describe.c:498
-#: sql_help.c:364 sql_help.c:1739
+#: sql_help.c:367 sql_help.c:1813
 msgid "validator_function"
 msgstr "validator_function(验证_函数)"
 
 # describe.c:128
-#: sql_help.c:413 sql_help.c:487 sql_help.c:609 sql_help.c:958 sql_help.c:1153
-#: sql_help.c:2202 sql_help.c:2203 sql_help.c:2219 sql_help.c:2220
+#: sql_help.c:416 sql_help.c:493 sql_help.c:625 sql_help.c:988 sql_help.c:1187
+#: sql_help.c:2275 sql_help.c:2276 sql_help.c:2292 sql_help.c:2293
 msgid "action"
 msgstr "操作"
 
 # describe.c:1375
-#: sql_help.c:415 sql_help.c:422 sql_help.c:426 sql_help.c:427 sql_help.c:430
-#: sql_help.c:432 sql_help.c:433 sql_help.c:434 sql_help.c:436 sql_help.c:439
-#: sql_help.c:441 sql_help.c:442 sql_help.c:611 sql_help.c:621 sql_help.c:623
-#: sql_help.c:626 sql_help.c:628 sql_help.c:850 sql_help.c:960 sql_help.c:973
-#: sql_help.c:977 sql_help.c:978 sql_help.c:982 sql_help.c:984 sql_help.c:985
-#: sql_help.c:986 sql_help.c:988 sql_help.c:991 sql_help.c:993 sql_help.c:1252
-#: sql_help.c:1255 sql_help.c:1275 sql_help.c:1374 sql_help.c:1476
-#: sql_help.c:1481 sql_help.c:1495 sql_help.c:1496 sql_help.c:1497
-#: sql_help.c:1770 sql_help.c:1817 sql_help.c:1879 sql_help.c:1914
-#: sql_help.c:2095 sql_help.c:2175 sql_help.c:2188 sql_help.c:2207
-#: sql_help.c:2209 sql_help.c:2216 sql_help.c:2227 sql_help.c:2244
-#: sql_help.c:2367 sql_help.c:2503 sql_help.c:3036 sql_help.c:3037
-#: sql_help.c:3116 sql_help.c:3131 sql_help.c:3133 sql_help.c:3135
-#: sql_help.c:3368 sql_help.c:3369 sql_help.c:3467 sql_help.c:3608
-#: sql_help.c:3847 sql_help.c:3889 sql_help.c:3891 sql_help.c:3893
-#: sql_help.c:3910 sql_help.c:3913 sql_help.c:4041
+#: sql_help.c:418 sql_help.c:425 sql_help.c:429 sql_help.c:430 sql_help.c:433
+#: sql_help.c:435 sql_help.c:436 sql_help.c:437 sql_help.c:439 sql_help.c:442
+#: sql_help.c:444 sql_help.c:445 sql_help.c:629 sql_help.c:639 sql_help.c:641
+#: sql_help.c:644 sql_help.c:646 sql_help.c:880 sql_help.c:990 sql_help.c:1003
+#: sql_help.c:1007 sql_help.c:1008 sql_help.c:1012 sql_help.c:1014
+#: sql_help.c:1015 sql_help.c:1016 sql_help.c:1018 sql_help.c:1021
+#: sql_help.c:1023 sql_help.c:1286 sql_help.c:1289 sql_help.c:1309
+#: sql_help.c:1408 sql_help.c:1510 sql_help.c:1515 sql_help.c:1529
+#: sql_help.c:1530 sql_help.c:1531 sql_help.c:1844 sql_help.c:1892
+#: sql_help.c:1953 sql_help.c:1988 sql_help.c:2168 sql_help.c:2248
+#: sql_help.c:2261 sql_help.c:2280 sql_help.c:2282 sql_help.c:2289
+#: sql_help.c:2300 sql_help.c:2317 sql_help.c:2440 sql_help.c:2576
+#: sql_help.c:3117 sql_help.c:3118 sql_help.c:3197 sql_help.c:3212
+#: sql_help.c:3214 sql_help.c:3216 sql_help.c:3449 sql_help.c:3450
+#: sql_help.c:3548 sql_help.c:3689 sql_help.c:3928 sql_help.c:3970
+#: sql_help.c:3972 sql_help.c:3974 sql_help.c:3991 sql_help.c:3994
+#: sql_help.c:4122
 msgid "column_name"
 msgstr "列名称"
 
 # describe.c:1375
-#: sql_help.c:416 sql_help.c:612 sql_help.c:961
+#: sql_help.c:419 sql_help.c:630 sql_help.c:991
 msgid "new_column_name"
 msgstr "new_column_name(新列名)"
 
-#: sql_help.c:421 sql_help.c:503 sql_help.c:620 sql_help.c:972 sql_help.c:1166
+#: sql_help.c:424 sql_help.c:514 sql_help.c:638 sql_help.c:1002
+#: sql_help.c:1200
 msgid "where action is one of:"
 msgstr "操作可以是下列选项之一"
 
 # describe.c:526
-#: sql_help.c:423 sql_help.c:428 sql_help.c:974 sql_help.c:979 sql_help.c:1168
-#: sql_help.c:1172 sql_help.c:1692 sql_help.c:1771 sql_help.c:1953
-#: sql_help.c:2176 sql_help.c:2412 sql_help.c:3218
+#: sql_help.c:426 sql_help.c:431 sql_help.c:1004 sql_help.c:1009
+#: sql_help.c:1202 sql_help.c:1206 sql_help.c:1765 sql_help.c:1845
+#: sql_help.c:2027 sql_help.c:2249 sql_help.c:2485 sql_help.c:3299
 msgid "data_type"
 msgstr "数据_类型"
 
 # describe.c:128
-#: sql_help.c:424 sql_help.c:429 sql_help.c:975 sql_help.c:980 sql_help.c:1169
-#: sql_help.c:1173 sql_help.c:1693 sql_help.c:1774 sql_help.c:1881
-#: sql_help.c:2177 sql_help.c:2413 sql_help.c:2419 sql_help.c:3126
+#: sql_help.c:427 sql_help.c:432 sql_help.c:1005 sql_help.c:1010
+#: sql_help.c:1203 sql_help.c:1207 sql_help.c:1766 sql_help.c:1848
+#: sql_help.c:1955 sql_help.c:2250 sql_help.c:2486 sql_help.c:2492
+#: sql_help.c:3207
 msgid "collation"
 msgstr "校对规则"
 
-#: sql_help.c:425 sql_help.c:976 sql_help.c:1775 sql_help.c:2178
-#: sql_help.c:2189
+#: sql_help.c:428 sql_help.c:1006 sql_help.c:1849 sql_help.c:2251
+#: sql_help.c:2262
 msgid "column_constraint"
 msgstr "列约束"
 
-#: sql_help.c:435 sql_help.c:622 sql_help.c:987
+#: sql_help.c:438 sql_help.c:640 sql_help.c:1017
 msgid "integer"
 msgstr "æ•´æ•°"
 
-#: sql_help.c:437 sql_help.c:440 sql_help.c:624 sql_help.c:627 sql_help.c:989
-#: sql_help.c:992
+#: sql_help.c:440 sql_help.c:443 sql_help.c:642 sql_help.c:645 sql_help.c:1019
+#: sql_help.c:1022
 msgid "attribute_option"
 msgstr "属性选项"
 
-#: sql_help.c:445 sql_help.c:994 sql_help.c:1776 sql_help.c:2179
-#: sql_help.c:2190
+#: sql_help.c:448 sql_help.c:1024 sql_help.c:1850 sql_help.c:2252
+#: sql_help.c:2263
 msgid "table_constraint"
 msgstr "表约束"
 
 # describe.c:575
-#: sql_help.c:448 sql_help.c:449 sql_help.c:450 sql_help.c:451 sql_help.c:999
-#: sql_help.c:1000 sql_help.c:1001 sql_help.c:1002 sql_help.c:1417
+#: sql_help.c:451 sql_help.c:452 sql_help.c:453 sql_help.c:454 sql_help.c:1029
+#: sql_help.c:1030 sql_help.c:1031 sql_help.c:1032 sql_help.c:1451
 msgid "trigger_name"
 msgstr "触发器_名称"
 
-#: sql_help.c:452 sql_help.c:453 sql_help.c:1012 sql_help.c:1013
-#: sql_help.c:1777 sql_help.c:2182
+#: sql_help.c:455 sql_help.c:456 sql_help.c:1042 sql_help.c:1043
+#: sql_help.c:1851 sql_help.c:2255
 msgid "parent_table"
 msgstr "父表"
 
-#: sql_help.c:504 sql_help.c:1821
+# describe.c:498
+#: sql_help.c:513 sql_help.c:563 sql_help.c:627 sql_help.c:1167
+#: sql_help.c:1797
+msgid "extension_name"
+msgstr "extension_name(扩展名)"
+
+#: sql_help.c:515 sql_help.c:1896
 msgid "execution_cost"
 msgstr "执行函数的开销"
 
-#: sql_help.c:505 sql_help.c:1822
+#: sql_help.c:516 sql_help.c:1897
 msgid "result_rows"
 msgstr "返回记录的数量"
 
 # describe.c:1636
-#: sql_help.c:526 sql_help.c:528 sql_help.c:783 sql_help.c:791 sql_help.c:795
-#: sql_help.c:798 sql_help.c:801 sql_help.c:1207 sql_help.c:1215
-#: sql_help.c:1218 sql_help.c:1220 sql_help.c:1222 sql_help.c:2069
-#: sql_help.c:2071 sql_help.c:2074 sql_help.c:2075 sql_help.c:3035
-#: sql_help.c:3039 sql_help.c:3042 sql_help.c:3044 sql_help.c:3046
-#: sql_help.c:3048 sql_help.c:3050 sql_help.c:3056 sql_help.c:3058
-#: sql_help.c:3060 sql_help.c:3062 sql_help.c:3064 sql_help.c:3066
+#: sql_help.c:537 sql_help.c:539 sql_help.c:813 sql_help.c:821 sql_help.c:825
+#: sql_help.c:828 sql_help.c:831 sql_help.c:1241 sql_help.c:1249
+#: sql_help.c:1252 sql_help.c:1254 sql_help.c:1256 sql_help.c:2142
+#: sql_help.c:2144 sql_help.c:2147 sql_help.c:2148 sql_help.c:3116
+#: sql_help.c:3120 sql_help.c:3123 sql_help.c:3125 sql_help.c:3127
+#: sql_help.c:3129 sql_help.c:3131 sql_help.c:3137 sql_help.c:3139
+#: sql_help.c:3141 sql_help.c:3143 sql_help.c:3145 sql_help.c:3147
 msgid "role_specification"
 msgstr "role_specification"
 
-#: sql_help.c:527 sql_help.c:529 sql_help.c:1234 sql_help.c:1667
-#: sql_help.c:2077 sql_help.c:2488 sql_help.c:2877 sql_help.c:3693
+#: sql_help.c:538 sql_help.c:540 sql_help.c:1268 sql_help.c:1740
+#: sql_help.c:2150 sql_help.c:2561 sql_help.c:2958 sql_help.c:3774
 msgid "user_name"
 msgstr "用户名"
 
-#: sql_help.c:530 sql_help.c:803 sql_help.c:1223 sql_help.c:2076
-#: sql_help.c:3067
+#: sql_help.c:541 sql_help.c:833 sql_help.c:1257 sql_help.c:2149
+#: sql_help.c:3148
 msgid "where role_specification can be:"
 msgstr "这里role_specification可以是:"
 
-#: sql_help.c:532
+#: sql_help.c:543
 msgid "group_name"
 msgstr "组名称"
 
 # describe.c:1342
-#: sql_help.c:549 sql_help.c:1672 sql_help.c:1885 sql_help.c:1917
-#: sql_help.c:2185 sql_help.c:2193 sql_help.c:2225 sql_help.c:2247
-#: sql_help.c:2259 sql_help.c:3063 sql_help.c:3395
+#: sql_help.c:561 sql_help.c:1745 sql_help.c:1959 sql_help.c:1991
+#: sql_help.c:2258 sql_help.c:2266 sql_help.c:2298 sql_help.c:2320
+#: sql_help.c:2332 sql_help.c:3144 sql_help.c:3476
 msgid "tablespace_name"
 msgstr "表空间的名称"
 
-#: sql_help.c:551 sql_help.c:554 sql_help.c:630 sql_help.c:632 sql_help.c:1009
-#: sql_help.c:1011 sql_help.c:1883 sql_help.c:1915 sql_help.c:2183
-#: sql_help.c:2191 sql_help.c:2223 sql_help.c:2245
+#: sql_help.c:565 sql_help.c:568 sql_help.c:648 sql_help.c:650 sql_help.c:1039
+#: sql_help.c:1041 sql_help.c:1957 sql_help.c:1989 sql_help.c:2256
+#: sql_help.c:2264 sql_help.c:2296 sql_help.c:2318
 msgid "storage_parameter"
 msgstr "存储参数"
 
 # large_obj.c:264
-#: sql_help.c:577 sql_help.c:1391 sql_help.c:3478
+#: sql_help.c:591 sql_help.c:1425 sql_help.c:3559
 msgid "large_object_oid"
 msgstr "大对象的OID"
 
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:629 sql_help.c:1007 sql_help.c:1016 sql_help.c:1019
-#: sql_help.c:1315
+#: sql_help.c:647 sql_help.c:1037 sql_help.c:1046 sql_help.c:1049
+#: sql_help.c:1349
 msgid "index_name"
 msgstr "索引名称"
 
-#: sql_help.c:705 sql_help.c:717 sql_help.c:1956
+#: sql_help.c:680 sql_help.c:2012
+msgid "res_proc"
+msgstr "限制选择性估算函数"
+
+#: sql_help.c:681 sql_help.c:2013
+msgid "join_proc"
+msgstr "连接选择性估算函数"
+
+#: sql_help.c:733 sql_help.c:745 sql_help.c:2030
 msgid "strategy_number"
 msgstr "访问索引所用方法的编号"
 
@@ -4184,49 +4363,49 @@ msgstr "访问索引所用方法的编号"
 # describe.c:745
 # describe.c:1478
 # describe.c:1587
-#: sql_help.c:707 sql_help.c:708 sql_help.c:711 sql_help.c:712 sql_help.c:718
-#: sql_help.c:719 sql_help.c:721 sql_help.c:722 sql_help.c:1958
-#: sql_help.c:1959 sql_help.c:1962 sql_help.c:1963
+#: sql_help.c:735 sql_help.c:736 sql_help.c:739 sql_help.c:740 sql_help.c:746
+#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2032
+#: sql_help.c:2033 sql_help.c:2036 sql_help.c:2037
 msgid "op_type"
 msgstr "操作数类型"
 
-#: sql_help.c:709 sql_help.c:1960
+#: sql_help.c:737 sql_help.c:2034
 msgid "sort_family_name"
 msgstr "sort_family_name(排序家族名)"
 
-#: sql_help.c:710 sql_help.c:720 sql_help.c:1961
+#: sql_help.c:738 sql_help.c:748 sql_help.c:2035
 msgid "support_number"
 msgstr "访问索引所使用函数的编号"
 
 # describe.c:1689
-#: sql_help.c:714 sql_help.c:1615 sql_help.c:1965 sql_help.c:2336
-#: sql_help.c:2338
+#: sql_help.c:742 sql_help.c:1688 sql_help.c:2039 sql_help.c:2409
+#: sql_help.c:2411
 msgid "argument_type"
 msgstr "参数类型"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:744 sql_help.c:813 sql_help.c:849 sql_help.c:1132
-#: sql_help.c:1274 sql_help.c:1314 sql_help.c:1376 sql_help.c:1401
-#: sql_help.c:1405 sql_help.c:1418 sql_help.c:1475 sql_help.c:1480
-#: sql_help.c:1769 sql_help.c:1877 sql_help.c:1913 sql_help.c:1988
-#: sql_help.c:2046 sql_help.c:2094 sql_help.c:2174 sql_help.c:2186
-#: sql_help.c:2243 sql_help.c:2361 sql_help.c:2537 sql_help.c:2746
-#: sql_help.c:2763 sql_help.c:2853 sql_help.c:3033 sql_help.c:3038
-#: sql_help.c:3083 sql_help.c:3114 sql_help.c:3365 sql_help.c:3370
-#: sql_help.c:3466 sql_help.c:3563 sql_help.c:3565 sql_help.c:3614
-#: sql_help.c:3653 sql_help.c:3802 sql_help.c:3804 sql_help.c:3853
-#: sql_help.c:3887 sql_help.c:3909 sql_help.c:3911 sql_help.c:3912
-#: sql_help.c:3996 sql_help.c:3998 sql_help.c:4047
+#: sql_help.c:773 sql_help.c:776 sql_help.c:843 sql_help.c:879 sql_help.c:1163
+#: sql_help.c:1166 sql_help.c:1308 sql_help.c:1348 sql_help.c:1410
+#: sql_help.c:1435 sql_help.c:1439 sql_help.c:1452 sql_help.c:1509
+#: sql_help.c:1514 sql_help.c:1843 sql_help.c:1951 sql_help.c:1987
+#: sql_help.c:2062 sql_help.c:2119 sql_help.c:2167 sql_help.c:2247
+#: sql_help.c:2259 sql_help.c:2316 sql_help.c:2434 sql_help.c:2610
+#: sql_help.c:2827 sql_help.c:2844 sql_help.c:2934 sql_help.c:3114
+#: sql_help.c:3119 sql_help.c:3164 sql_help.c:3195 sql_help.c:3446
+#: sql_help.c:3451 sql_help.c:3547 sql_help.c:3644 sql_help.c:3646
+#: sql_help.c:3695 sql_help.c:3734 sql_help.c:3883 sql_help.c:3885
+#: sql_help.c:3934 sql_help.c:3968 sql_help.c:3990 sql_help.c:3992
+#: sql_help.c:3993 sql_help.c:4077 sql_help.c:4079 sql_help.c:4128
 msgid "table_name"
 msgstr "表名"
 
-#: sql_help.c:747 sql_help.c:1990
+#: sql_help.c:778 sql_help.c:2064
 msgid "using_expression"
 msgstr "using_expression"
 
-#: sql_help.c:748 sql_help.c:1991
+#: sql_help.c:779 sql_help.c:2065
 msgid "check_expression"
 msgstr "check_expression"
 
@@ -4234,287 +4413,315 @@ msgstr "check_expression"
 # command.c:939
 # startup.c:187
 # startup.c:205
-#: sql_help.c:787 sql_help.c:1211 sql_help.c:1857 sql_help.c:2023
-#: sql_help.c:2471
+#: sql_help.c:817 sql_help.c:1245 sql_help.c:1931 sql_help.c:2096
+#: sql_help.c:2544
 msgid "password"
 msgstr "口令"
 
-#: sql_help.c:788 sql_help.c:1212 sql_help.c:1858 sql_help.c:2024
-#: sql_help.c:2472
+#: sql_help.c:818 sql_help.c:1246 sql_help.c:1932 sql_help.c:2097
+#: sql_help.c:2545
 msgid "timestamp"
 msgstr "时间戳"
 
-#: sql_help.c:792 sql_help.c:796 sql_help.c:799 sql_help.c:802 sql_help.c:3043
-#: sql_help.c:3375
+#: sql_help.c:822 sql_help.c:826 sql_help.c:829 sql_help.c:832 sql_help.c:3124
+#: sql_help.c:3456
 msgid "database_name"
 msgstr "数据库名称"
 
-#: sql_help.c:843 sql_help.c:2089
+#: sql_help.c:873 sql_help.c:2162
 msgid "increment"
 msgstr "增量"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:844 sql_help.c:2090
+#: sql_help.c:874 sql_help.c:2163
 msgid "minvalue"
 msgstr "最小值"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:845 sql_help.c:2091
+#: sql_help.c:875 sql_help.c:2164
 msgid "maxvalue"
 msgstr "最大值"
 
-#: sql_help.c:846 sql_help.c:2092 sql_help.c:3561 sql_help.c:3651
-#: sql_help.c:3800 sql_help.c:3929 sql_help.c:3994
+#: sql_help.c:876 sql_help.c:2165 sql_help.c:3642 sql_help.c:3732
+#: sql_help.c:3881 sql_help.c:4010 sql_help.c:4075
 msgid "start"
 msgstr "起始值"
 
-#: sql_help.c:847
+#: sql_help.c:877
 msgid "restart"
 msgstr "重新启动后的序列值"
 
-#: sql_help.c:848 sql_help.c:2093
+#: sql_help.c:878 sql_help.c:2166
 msgid "cache"
 msgstr "缓存"
 
-#: sql_help.c:995
+#: sql_help.c:1025
 msgid "table_constraint_using_index"
 msgstr "table_constraint_using_index(表约束使用索引)"
 
-#: sql_help.c:1003 sql_help.c:1004 sql_help.c:1005 sql_help.c:1006
+#: sql_help.c:1033 sql_help.c:1034 sql_help.c:1035 sql_help.c:1036
 msgid "rewrite_rule_name"
 msgstr "重写规则名称"
 
-#: sql_help.c:1017
+#: sql_help.c:1047
 msgid "and table_constraint_using_index is:"
 msgstr "table_constraint_using_index 是:"
 
 # describe.c:1342
-#: sql_help.c:1035 sql_help.c:1038 sql_help.c:2262
+#: sql_help.c:1065 sql_help.c:1068 sql_help.c:2335
 msgid "tablespace_option"
 msgstr "表空间_选项"
 
-#: sql_help.c:1059 sql_help.c:1062 sql_help.c:1068 sql_help.c:1072
+#: sql_help.c:1089 sql_help.c:1092 sql_help.c:1098 sql_help.c:1102
 msgid "token_type"
 msgstr "符号类型"
 
-#: sql_help.c:1060 sql_help.c:1063
+#: sql_help.c:1090 sql_help.c:1093
 msgid "dictionary_name"
 msgstr "字典名称"
 
-#: sql_help.c:1065 sql_help.c:1069
+#: sql_help.c:1095 sql_help.c:1099
 msgid "old_dictionary"
 msgstr "旧的字典"
 
-#: sql_help.c:1066 sql_help.c:1070
+#: sql_help.c:1096 sql_help.c:1100
 msgid "new_dictionary"
 msgstr "æ–°çš„å­—å…¸"
 
-#: sql_help.c:1157 sql_help.c:1167 sql_help.c:1170 sql_help.c:1171
-#: sql_help.c:2411
+#: sql_help.c:1191 sql_help.c:1201 sql_help.c:1204 sql_help.c:1205
+#: sql_help.c:2484
 msgid "attribute_name"
 msgstr "属性_名称"
 
-#: sql_help.c:1158
+#: sql_help.c:1192
 msgid "new_attribute_name"
 msgstr "new_attribute_name(新属性名)"
 
-#: sql_help.c:1164
+#: sql_help.c:1198
 msgid "new_enum_value"
 msgstr "new_enum_value(新枚举名)"
 
-#: sql_help.c:1165
+#: sql_help.c:1199
 msgid "existing_enum_value"
 msgstr "existing_enum_value"
 
-#: sql_help.c:1235 sql_help.c:1778 sql_help.c:2105 sql_help.c:2489
-#: sql_help.c:2878 sql_help.c:3049 sql_help.c:3084 sql_help.c:3381
+#: sql_help.c:1269 sql_help.c:1852 sql_help.c:2178 sql_help.c:2562
+#: sql_help.c:2959 sql_help.c:3130 sql_help.c:3165 sql_help.c:3462
 msgid "server_name"
 msgstr "服务器名称"
 
 # help.c:88
-#: sql_help.c:1263 sql_help.c:1266 sql_help.c:2504
+#: sql_help.c:1297 sql_help.c:1300 sql_help.c:2577
 msgid "view_option_name"
 msgstr "view_option_name(视图选项名)"
 
 # help.c:88
-#: sql_help.c:1264 sql_help.c:2505
+#: sql_help.c:1298 sql_help.c:2578
 msgid "view_option_value"
 msgstr "view_option_value(视图选项值)"
 
-#: sql_help.c:1289 sql_help.c:3709 sql_help.c:3711 sql_help.c:3735
+#: sql_help.c:1323 sql_help.c:3790 sql_help.c:3792 sql_help.c:3816
 msgid "transaction_mode"
 msgstr "事务模式"
 
-#: sql_help.c:1290 sql_help.c:3712 sql_help.c:3736
+#: sql_help.c:1324 sql_help.c:3793 sql_help.c:3817
 msgid "where transaction_mode is one of:"
 msgstr "事务模式可以是下列选项之一:"
 
-#: sql_help.c:1373
+#: sql_help.c:1407
 msgid "relation_name"
 msgstr "relation_name(关系名)"
 
 # describe.c:1375
-#: sql_help.c:1378 sql_help.c:3045 sql_help.c:3377
+#: sql_help.c:1412 sql_help.c:3126 sql_help.c:3458
 msgid "domain_name"
 msgstr "域_名称"
 
 # describe.c:1375
-#: sql_help.c:1400
-#| msgid "role_name"
+#: sql_help.c:1434
 msgid "policy_name"
 msgstr "policy_name"
 
 # describe.c:1375
-#: sql_help.c:1404
+#: sql_help.c:1438
 msgid "rule_name"
 msgstr "规则_名称"
 
-#: sql_help.c:1421
+#: sql_help.c:1455
 msgid "text"
 msgstr "文本"
 
-#: sql_help.c:1446 sql_help.c:3227 sql_help.c:3415
+#: sql_help.c:1480 sql_help.c:3308 sql_help.c:3496
 msgid "transaction_id"
 msgstr "事务_ID"
 
 # describe.c:1375
-#: sql_help.c:1477 sql_help.c:1483 sql_help.c:3153
+#: sql_help.c:1511 sql_help.c:1517 sql_help.c:3234
 msgid "filename"
 msgstr "文件名"
 
-#: sql_help.c:1478 sql_help.c:1484 sql_help.c:2048 sql_help.c:2049
-#: sql_help.c:2050
+#: sql_help.c:1512 sql_help.c:1518 sql_help.c:2121 sql_help.c:2122
+#: sql_help.c:2123
 msgid "command"
 msgstr "命令"
 
-#: sql_help.c:1482 sql_help.c:1918 sql_help.c:2248 sql_help.c:2506
-#: sql_help.c:2524 sql_help.c:3118
+#: sql_help.c:1516 sql_help.c:1992 sql_help.c:2321 sql_help.c:2579
+#: sql_help.c:2597 sql_help.c:3199
 msgid "query"
 msgstr "查询"
 
-#: sql_help.c:1486 sql_help.c:2923
+#: sql_help.c:1520 sql_help.c:3004
 msgid "where option can be one of:"
 msgstr "选项可以是下列内容之一:"
 
 # help.c:211
-#: sql_help.c:1487
+#: sql_help.c:1521
 msgid "format_name"
 msgstr "格式_名称"
 
-#: sql_help.c:1488 sql_help.c:1489 sql_help.c:1492 sql_help.c:2924
-#: sql_help.c:2925 sql_help.c:2926 sql_help.c:2927 sql_help.c:2928
+#: sql_help.c:1522 sql_help.c:1523 sql_help.c:1526 sql_help.c:3005
+#: sql_help.c:3006 sql_help.c:3007 sql_help.c:3008 sql_help.c:3009
 msgid "boolean"
 msgstr "布尔"
 
-#: sql_help.c:1490
+#: sql_help.c:1524
 msgid "delimiter_character"
 msgstr "分隔字符"
 
-#: sql_help.c:1491
+#: sql_help.c:1525
 msgid "null_string"
 msgstr "空字符串"
 
-#: sql_help.c:1493
+#: sql_help.c:1527
 msgid "quote_character"
 msgstr "引用字符"
 
-#: sql_help.c:1494
+#: sql_help.c:1528
 msgid "escape_character"
 msgstr "转义字符"
 
 # describe.c:365
-#: sql_help.c:1498
+#: sql_help.c:1532
 msgid "encoding_name"
 msgstr "encoding_name(编码名)"
 
+#: sql_help.c:1543
+msgid "access_method_type"
+msgstr "access_method_type"
+
 # describe.c:526
-#: sql_help.c:1555 sql_help.c:1571 sql_help.c:1574
+#: sql_help.c:1616 sql_help.c:1636 sql_help.c:1639
 msgid "arg_data_type"
 msgstr "arg_data_type"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:1556 sql_help.c:1575 sql_help.c:1583
+#: sql_help.c:1617 sql_help.c:1640 sql_help.c:1652
 msgid "sfunc"
 msgstr "状态转换函数名称"
 
 # describe.c:526
-#: sql_help.c:1557 sql_help.c:1576 sql_help.c:1584
+#: sql_help.c:1618 sql_help.c:1641 sql_help.c:1653
 msgid "state_data_type"
 msgstr "状态值的数据类型"
 
 # describe.c:526
-#: sql_help.c:1558 sql_help.c:1577 sql_help.c:1585
+#: sql_help.c:1619 sql_help.c:1642 sql_help.c:1654
 msgid "state_data_size"
 msgstr "state_data_size"
 
 # describe.c:498
-#: sql_help.c:1559 sql_help.c:1578 sql_help.c:1586
+#: sql_help.c:1620 sql_help.c:1643 sql_help.c:1655
 msgid "ffunc"
 msgstr "计算最终结果集的函数名称"
 
-#: sql_help.c:1560 sql_help.c:1579 sql_help.c:1587
+# describe.c:415
+# describe.c:543
+# describe.c:1477
+#: sql_help.c:1621 sql_help.c:1644 sql_help.c:1656
+#| msgid "minvfunc"
+msgid "combinefunc"
+msgstr "combinefunc"
+
+# describe.c:415
+# describe.c:543
+# describe.c:1477
+#: sql_help.c:1622 sql_help.c:1645 sql_help.c:1657
+#| msgid "sfunc"
+msgid "serialfunc"
+msgstr "serialfunc"
+
+#: sql_help.c:1623 sql_help.c:1646 sql_help.c:1658
+msgid "deserialfunc"
+msgstr "deserialfunc"
+
+#: sql_help.c:1624 sql_help.c:1647 sql_help.c:1659
+#| msgid "server_type"
+msgid "serialtype"
+msgstr "serialtype"
+
+#: sql_help.c:1625 sql_help.c:1648 sql_help.c:1660
 msgid "initial_condition"
 msgstr "初始条件"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:1561 sql_help.c:1588
+#: sql_help.c:1626 sql_help.c:1661
 msgid "msfunc"
 msgstr "msfunc"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:1562 sql_help.c:1589
+#: sql_help.c:1627 sql_help.c:1662
 msgid "minvfunc"
 msgstr "minvfunc"
 
 # describe.c:526
-#: sql_help.c:1563 sql_help.c:1590
+#: sql_help.c:1628 sql_help.c:1663
 msgid "mstate_data_type"
 msgstr "mstate_data_type"
 
 # describe.c:526
-#: sql_help.c:1564 sql_help.c:1591
+#: sql_help.c:1629 sql_help.c:1664
 msgid "mstate_data_size"
 msgstr "mstate_data_size"
 
 # describe.c:498
-#: sql_help.c:1565 sql_help.c:1592
+#: sql_help.c:1630 sql_help.c:1665
 msgid "mffunc"
 msgstr "mffunc"
 
-#: sql_help.c:1566 sql_help.c:1593
+#: sql_help.c:1631 sql_help.c:1666
 msgid "minitial_condition"
 msgstr "minitial_condition"
 
 # describe.c:512
-#: sql_help.c:1567 sql_help.c:1594
+#: sql_help.c:1632 sql_help.c:1667
 msgid "sort_operator"
 msgstr "排序_操作符"
 
-#: sql_help.c:1580
+#: sql_help.c:1649
 msgid "or the old syntax"
 msgstr "或者是旧的语法"
 
 # describe.c:1689
-#: sql_help.c:1582
+#: sql_help.c:1651
 msgid "base_type"
 msgstr "基础_类型"
 
 # help.c:127
-#: sql_help.c:1633
+#: sql_help.c:1706
 msgid "locale"
 msgstr "本地化语言"
 
-#: sql_help.c:1634 sql_help.c:1670
+#: sql_help.c:1707 sql_help.c:1743
 msgid "lc_collate"
 msgstr "排序规则"
 
@@ -4522,305 +4729,292 @@ msgstr "排序规则"
 # describe.c:745
 # describe.c:1478
 # describe.c:1587
-#: sql_help.c:1635 sql_help.c:1671
+#: sql_help.c:1708 sql_help.c:1744
 msgid "lc_ctype"
 msgstr "字符分类"
 
 # describe.c:1636
-#: sql_help.c:1637
+#: sql_help.c:1710
 msgid "existing_collation"
 msgstr "existing_collation(当前的本地化语言)"
 
 # describe.c:187
-#: sql_help.c:1647
+#: sql_help.c:1720
 msgid "source_encoding"
 msgstr "源_编码"
 
 # describe.c:365
-#: sql_help.c:1648
+#: sql_help.c:1721
 msgid "dest_encoding"
 msgstr "目的_编码"
 
-#: sql_help.c:1668 sql_help.c:2288
+#: sql_help.c:1741 sql_help.c:2361
 msgid "template"
 msgstr "模版"
 
 # describe.c:365
-#: sql_help.c:1669
+#: sql_help.c:1742
 msgid "encoding"
 msgstr "字符集编码"
 
-#: sql_help.c:1695
+#: sql_help.c:1768
 msgid "constraint"
 msgstr "约束"
 
 # describe.c:1174
-#: sql_help.c:1696
+#: sql_help.c:1769
 msgid "where constraint is:"
 msgstr "约束是:"
 
-#: sql_help.c:1710 sql_help.c:2045 sql_help.c:2360
+#: sql_help.c:1783 sql_help.c:2118 sql_help.c:2433
 msgid "event"
 msgstr "事件"
 
-#: sql_help.c:1711
+#: sql_help.c:1784
 msgid "filter_variable"
 msgstr "过滤器变量"
 
-# describe.c:498
-#: sql_help.c:1723
-msgid "extension_name"
-msgstr "extension_name(扩展名)"
-
-#: sql_help.c:1725
+#: sql_help.c:1799
 msgid "version"
 msgstr "version(版本)"
 
-#: sql_help.c:1726
+#: sql_help.c:1800
 msgid "old_version"
 msgstr "老版本"
 
 # describe.c:1174
-#: sql_help.c:1781 sql_help.c:2194
+#: sql_help.c:1855 sql_help.c:2267
 msgid "where column_constraint is:"
 msgstr "列的约束是:"
 
 # describe.c:1639
-#: sql_help.c:1784 sql_help.c:1815 sql_help.c:2197
+#: sql_help.c:1858 sql_help.c:1890 sql_help.c:2270
 msgid "default_expr"
 msgstr "默认_表达式"
 
-#: sql_help.c:1785 sql_help.c:2204
+#: sql_help.c:1859 sql_help.c:2277
 msgid "and table_constraint is:"
 msgstr "表约束是:"
 
 # describe.c:1689
-#: sql_help.c:1816
+#: sql_help.c:1891
 msgid "rettype"
 msgstr "返回类型"
 
-#: sql_help.c:1818
+#: sql_help.c:1893
 msgid "column_type"
 msgstr "列的类型"
 
 # describe.c:977
-#: sql_help.c:1826
+#: sql_help.c:1901
 msgid "definition"
 msgstr "定义"
 
-#: sql_help.c:1827
+#: sql_help.c:1902
 msgid "obj_file"
 msgstr "目标文件"
 
-#: sql_help.c:1828
+#: sql_help.c:1903
 msgid "link_symbol"
 msgstr "链接_符号"
 
-#: sql_help.c:1829
+#: sql_help.c:1904
 msgid "attribute"
 msgstr "属性"
 
-#: sql_help.c:1864 sql_help.c:2030 sql_help.c:2478
+#: sql_help.c:1938 sql_help.c:2103 sql_help.c:2551
 msgid "uid"
 msgstr "uid"
 
-#: sql_help.c:1878
+#: sql_help.c:1952
 msgid "method"
 msgstr "方法"
 
-#: sql_help.c:1882 sql_help.c:2229 sql_help.c:3127
+#: sql_help.c:1956 sql_help.c:2302 sql_help.c:3208
 msgid "opclass"
 msgstr "操作符类型的名称"
 
 # describe.c:937
-#: sql_help.c:1886 sql_help.c:2215
+#: sql_help.c:1960 sql_help.c:2288
 msgid "predicate"
 msgstr "述词"
 
-#: sql_help.c:1898
+#: sql_help.c:1972
 msgid "call_handler"
 msgstr "调用函数"
 
-#: sql_help.c:1899
+#: sql_help.c:1973
 msgid "inline_handler"
 msgstr "匿名代码块"
 
 # describe.c:498
-#: sql_help.c:1900
+#: sql_help.c:1974
 msgid "valfunction"
 msgstr "验证函数"
 
-#: sql_help.c:1936
+#: sql_help.c:2010
 msgid "com_op"
 msgstr "交换操作符"
 
-#: sql_help.c:1937
+#: sql_help.c:2011
 msgid "neg_op"
 msgstr "取负操作符"
 
-#: sql_help.c:1938
-msgid "res_proc"
-msgstr "限制选择性估算函数"
-
-#: sql_help.c:1939
-msgid "join_proc"
-msgstr "连接选择性估算函数"
-
-#: sql_help.c:1955
+#: sql_help.c:2029
 msgid "family_name"
 msgstr "操作符群的名称"
 
 # describe.c:1635
-#: sql_help.c:1966
+#: sql_help.c:2040
 msgid "storage_type"
 msgstr "存储类型"
 
 # help.c:123
-#: sql_help.c:2047 sql_help.c:2363 sql_help.c:2540 sql_help.c:3137
-#: sql_help.c:3552 sql_help.c:3554 sql_help.c:3642 sql_help.c:3644
-#: sql_help.c:3791 sql_help.c:3793 sql_help.c:3896 sql_help.c:3985
-#: sql_help.c:3987
+#: sql_help.c:2120 sql_help.c:2436 sql_help.c:2613 sql_help.c:3218
+#: sql_help.c:3633 sql_help.c:3635 sql_help.c:3723 sql_help.c:3725
+#: sql_help.c:3872 sql_help.c:3874 sql_help.c:3977 sql_help.c:4066
+#: sql_help.c:4068
 msgid "condition"
 msgstr "条件"
 
-#: sql_help.c:2051 sql_help.c:2366
+#: sql_help.c:2124 sql_help.c:2439
 msgid "where event can be one of:"
 msgstr "事件可以下述之一:"
 
-#: sql_help.c:2070 sql_help.c:2072
+#: sql_help.c:2143 sql_help.c:2145
 msgid "schema_element"
 msgstr "模式中对象"
 
-#: sql_help.c:2106
+#: sql_help.c:2179
 msgid "server_type"
 msgstr "服务器类型"
 
-#: sql_help.c:2107
+#: sql_help.c:2180
 msgid "server_version"
 msgstr "服务器版本"
 
-#: sql_help.c:2108 sql_help.c:3047 sql_help.c:3379
+#: sql_help.c:2181 sql_help.c:3128 sql_help.c:3460
 msgid "fdw_name"
 msgstr "外部数据封装器的名称"
 
 # describe.c:1688
-#: sql_help.c:2180
+#: sql_help.c:2253
 msgid "source_table"
 msgstr "源表"
 
 # help.c:88
-#: sql_help.c:2181
+#: sql_help.c:2254
 msgid "like_option"
 msgstr "like选项"
 
-#: sql_help.c:2198 sql_help.c:2199 sql_help.c:2208 sql_help.c:2210
-#: sql_help.c:2214
+#: sql_help.c:2271 sql_help.c:2272 sql_help.c:2281 sql_help.c:2283
+#: sql_help.c:2287
 msgid "index_parameters"
 msgstr "索引参数"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:2200 sql_help.c:2217
+#: sql_help.c:2273 sql_help.c:2290
 msgid "reftable"
 msgstr "所引用的表"
 
 # describe.c:744
-#: sql_help.c:2201 sql_help.c:2218
+#: sql_help.c:2274 sql_help.c:2291
 msgid "refcolumn"
 msgstr "所引用的列"
 
-#: sql_help.c:2212
+#: sql_help.c:2285
 msgid "exclude_element"
 msgstr "排除项"
 
 # describe.c:512
-#: sql_help.c:2213 sql_help.c:3559 sql_help.c:3649 sql_help.c:3798
-#: sql_help.c:3927 sql_help.c:3992
+#: sql_help.c:2286 sql_help.c:3640 sql_help.c:3730 sql_help.c:3879
+#: sql_help.c:4008 sql_help.c:4073
 msgid "operator"
 msgstr "运算子"
 
-#: sql_help.c:2221
+#: sql_help.c:2294
 msgid "and like_option is:"
 msgstr "like_选项是"
 
-#: sql_help.c:2222
+#: sql_help.c:2295
 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
 msgstr "在UNIQUE, PRIMARY KEY和EXCLUDE中的索引参数是:"
 
-#: sql_help.c:2226
+#: sql_help.c:2299
 msgid "exclude_element in an EXCLUDE constraint is:"
 msgstr "在EXCLUDE约束中的排除项是:"
 
-#: sql_help.c:2261
+#: sql_help.c:2334
 msgid "directory"
 msgstr "目录"
 
-#: sql_help.c:2275
+#: sql_help.c:2348
 msgid "parser_name"
 msgstr "解析器名称 "
 
-#: sql_help.c:2276
+#: sql_help.c:2349
 msgid "source_config"
 msgstr "已存在的文本搜索配置名称"
 
 # describe.c:498
-#: sql_help.c:2305
+#: sql_help.c:2378
 msgid "start_function"
 msgstr "启动_函数"
 
 # sql_help.h:249
-#: sql_help.c:2306
+#: sql_help.c:2379
 msgid "gettoken_function"
 msgstr "获取下一个符号函数的名称"
 
 # describe.c:498
-#: sql_help.c:2307
+#: sql_help.c:2380
 msgid "end_function"
 msgstr "结束_函数"
 
 # describe.c:498
-#: sql_help.c:2308
+#: sql_help.c:2381
 msgid "lextypes_function"
 msgstr "语义类型_函数"
 
 # describe.c:498
-#: sql_help.c:2309
+#: sql_help.c:2382
 msgid "headline_function"
 msgstr "标题_函数"
 
 # describe.c:498
-#: sql_help.c:2321
+#: sql_help.c:2394
 msgid "init_function"
 msgstr "初始化_函数"
 
 # describe.c:498
-#: sql_help.c:2322
+#: sql_help.c:2395
 msgid "lexize_function"
 msgstr "LEXIZE函数"
 
 # describe.c:498
-#: sql_help.c:2335
+#: sql_help.c:2408
 msgid "from_sql_function_name"
 msgstr "from_sql_function_name"
 
 # describe.c:498
-#: sql_help.c:2337
+#: sql_help.c:2410
 msgid "to_sql_function_name"
 msgstr "to_sql_function_name"
 
-#: sql_help.c:2362
+#: sql_help.c:2435
 msgid "referenced_table_name"
 msgstr "被引用表的名称"
 
-#: sql_help.c:2365
+#: sql_help.c:2438
 msgid "arguments"
 msgstr "参数"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:2415 sql_help.c:3487
+#: sql_help.c:2488 sql_help.c:3568
 msgid "label"
 msgstr "标签"
 
@@ -4828,1172 +5022,1189 @@ msgstr "标签"
 # describe.c:745
 # describe.c:1478
 # describe.c:1587
-#: sql_help.c:2417
+#: sql_help.c:2490
 msgid "subtype"
 msgstr "子类型"
 
 # describe.c:512
-#: sql_help.c:2418
+#: sql_help.c:2491
 msgid "subtype_operator_class"
 msgstr "subtype_operator_class(子类型_操作符_类)"
 
 # describe.c:498
-#: sql_help.c:2420
+#: sql_help.c:2493
 msgid "canonical_function"
 msgstr "标准_函数"
 
 # describe.c:498
-#: sql_help.c:2421
+#: sql_help.c:2494
 msgid "subtype_diff_function"
 msgstr "subtype_diff_function(子类型_区分_函数)"
 
 # describe.c:498
-#: sql_help.c:2423
+#: sql_help.c:2496
 msgid "input_function"
 msgstr "输入_函数"
 
 # describe.c:498
-#: sql_help.c:2424
+#: sql_help.c:2497
 msgid "output_function"
 msgstr "输出_函数"
 
 # sql_help.h:249
-#: sql_help.c:2425
+#: sql_help.c:2498
 msgid "receive_function"
 msgstr "接收_函数"
 
 # describe.c:498
-#: sql_help.c:2426
+#: sql_help.c:2499
 msgid "send_function"
 msgstr "发送_函数"
 
-#: sql_help.c:2427
+#: sql_help.c:2500
 msgid "type_modifier_input_function"
 msgstr "类型修改器数组输入函数名称"
 
-#: sql_help.c:2428
+#: sql_help.c:2501
 msgid "type_modifier_output_function"
 msgstr "类型修改器输出函数名称"
 
 # describe.c:498
-#: sql_help.c:2429
+#: sql_help.c:2502
 msgid "analyze_function"
 msgstr "分析_函数"
 
-#: sql_help.c:2430
+#: sql_help.c:2503
 msgid "internallength"
 msgstr "内部长度"
 
 # describe.c:1693
-#: sql_help.c:2431
+#: sql_help.c:2504
 msgid "alignment"
 msgstr "顺序排列(alignment)"
 
 # describe.c:1635
-#: sql_help.c:2432
+#: sql_help.c:2505
 msgid "storage"
 msgstr "存储"
 
-#: sql_help.c:2433
+#: sql_help.c:2506
 msgid "like_type"
 msgstr "LIKE类型(like_type)"
 
-#: sql_help.c:2434
+#: sql_help.c:2507
 msgid "category"
 msgstr "类型"
 
-#: sql_help.c:2435
+#: sql_help.c:2508
 msgid "preferred"
 msgstr "优先"
 
 # describe.c:1639
-#: sql_help.c:2436
+#: sql_help.c:2509
 msgid "default"
 msgstr "默认"
 
-#: sql_help.c:2437
+#: sql_help.c:2510
 msgid "element"
 msgstr "成员项"
 
-#: sql_help.c:2438
+#: sql_help.c:2511
 msgid "delimiter"
 msgstr "分隔符"
 
-#: sql_help.c:2439
+#: sql_help.c:2512
 msgid "collatable"
 msgstr "要校对的"
 
-#: sql_help.c:2536 sql_help.c:3113 sql_help.c:3547 sql_help.c:3636
-#: sql_help.c:3786 sql_help.c:3886 sql_help.c:3980
+#: sql_help.c:2609 sql_help.c:3194 sql_help.c:3628 sql_help.c:3717
+#: sql_help.c:3867 sql_help.c:3967 sql_help.c:4061
 msgid "with_query"
 msgstr "with查询语句(with_query)"
 
-#: sql_help.c:2538 sql_help.c:3115 sql_help.c:3566 sql_help.c:3572
-#: sql_help.c:3575 sql_help.c:3579 sql_help.c:3583 sql_help.c:3591
-#: sql_help.c:3805 sql_help.c:3811 sql_help.c:3814 sql_help.c:3818
-#: sql_help.c:3822 sql_help.c:3830 sql_help.c:3888 sql_help.c:3999
-#: sql_help.c:4005 sql_help.c:4008 sql_help.c:4012 sql_help.c:4016
-#: sql_help.c:4024
+#: sql_help.c:2611 sql_help.c:3196 sql_help.c:3647 sql_help.c:3653
+#: sql_help.c:3656 sql_help.c:3660 sql_help.c:3664 sql_help.c:3672
+#: sql_help.c:3886 sql_help.c:3892 sql_help.c:3895 sql_help.c:3899
+#: sql_help.c:3903 sql_help.c:3911 sql_help.c:3969 sql_help.c:4080
+#: sql_help.c:4086 sql_help.c:4089 sql_help.c:4093 sql_help.c:4097
+#: sql_help.c:4105
 msgid "alias"
 msgstr "别名"
 
-#: sql_help.c:2539
+#: sql_help.c:2612
 msgid "using_list"
 msgstr "USING列表(using_list)"
 
-#: sql_help.c:2541 sql_help.c:2954 sql_help.c:3194 sql_help.c:3897
+#: sql_help.c:2614 sql_help.c:3035 sql_help.c:3275 sql_help.c:3978
 msgid "cursor_name"
 msgstr "游标名称"
 
-#: sql_help.c:2542 sql_help.c:3121 sql_help.c:3898
+#: sql_help.c:2615 sql_help.c:3202 sql_help.c:3979
 msgid "output_expression"
 msgstr "输出表达式"
 
-#: sql_help.c:2543 sql_help.c:3122 sql_help.c:3550 sql_help.c:3639
-#: sql_help.c:3789 sql_help.c:3899 sql_help.c:3983
+#: sql_help.c:2616 sql_help.c:3203 sql_help.c:3631 sql_help.c:3720
+#: sql_help.c:3870 sql_help.c:3980 sql_help.c:4064
 msgid "output_name"
 msgstr "输出名称"
 
-#: sql_help.c:2559
+#: sql_help.c:2632
 msgid "code"
 msgstr "编码"
 
-#: sql_help.c:2902
+#: sql_help.c:2983
 msgid "parameter"
 msgstr "参数"
 
-#: sql_help.c:2921 sql_help.c:2922 sql_help.c:3219
+#: sql_help.c:3002 sql_help.c:3003 sql_help.c:3300
 msgid "statement"
 msgstr "语句"
 
 # help.c:123
-#: sql_help.c:2953 sql_help.c:3193
+#: sql_help.c:3034 sql_help.c:3274
 msgid "direction"
 msgstr "方向"
 
-#: sql_help.c:2955 sql_help.c:3195
+#: sql_help.c:3036 sql_help.c:3276
 msgid "where direction can be empty or one of:"
 msgstr "方向可以为空或者是下列选项之一:"
 
-#: sql_help.c:2956 sql_help.c:2957 sql_help.c:2958 sql_help.c:2959
-#: sql_help.c:2960 sql_help.c:3196 sql_help.c:3197 sql_help.c:3198
-#: sql_help.c:3199 sql_help.c:3200 sql_help.c:3560 sql_help.c:3562
-#: sql_help.c:3650 sql_help.c:3652 sql_help.c:3799 sql_help.c:3801
-#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3993 sql_help.c:3995
+#: sql_help.c:3037 sql_help.c:3038 sql_help.c:3039 sql_help.c:3040
+#: sql_help.c:3041 sql_help.c:3277 sql_help.c:3278 sql_help.c:3279
+#: sql_help.c:3280 sql_help.c:3281 sql_help.c:3641 sql_help.c:3643
+#: sql_help.c:3731 sql_help.c:3733 sql_help.c:3880 sql_help.c:3882
+#: sql_help.c:4009 sql_help.c:4011 sql_help.c:4074 sql_help.c:4076
 msgid "count"
 msgstr "查询所用返回记录的最大数量"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:3040 sql_help.c:3372
+#: sql_help.c:3121 sql_help.c:3453
 msgid "sequence_name"
 msgstr "序列名称"
 
-#: sql_help.c:3053 sql_help.c:3385
+#: sql_help.c:3134 sql_help.c:3466
 msgid "arg_name"
 msgstr "参数名称"
 
 # describe.c:1689
-#: sql_help.c:3054 sql_help.c:3386
+#: sql_help.c:3135 sql_help.c:3467
 msgid "arg_type"
 msgstr "参数类型"
 
-#: sql_help.c:3059 sql_help.c:3391
+#: sql_help.c:3140 sql_help.c:3472
 msgid "loid"
 msgstr "loid"
 
 # sql_help.h:277
-#: sql_help.c:3082
+#: sql_help.c:3163
 msgid "remote_schema"
 msgstr "remote_schema"
 
 # help.c:127
-#: sql_help.c:3085
+#: sql_help.c:3166
 msgid "local_schema"
 msgstr "local_schema"
 
-#: sql_help.c:3119
+#: sql_help.c:3200
 msgid "conflict_target"
 msgstr "conflict_target"
 
 # describe.c:498
-#: sql_help.c:3120
+#: sql_help.c:3201
 msgid "conflict_action"
 msgstr "conflict_action"
 
-#: sql_help.c:3123
+#: sql_help.c:3204
 msgid "where conflict_target can be one of:"
 msgstr "这里conflict_target可以是下列之一:"
 
 # describe.c:1375
-#: sql_help.c:3124
-msgid "column_name_index"
-msgstr "column_name_index"
+#: sql_help.c:3205
+#| msgid "new_column_name"
+msgid "index_column_name"
+msgstr "index_column_name"
 
-#: sql_help.c:3125
-msgid "expression_index"
-msgstr "expression_index"
+#: sql_help.c:3206
+#| msgid "using_expression"
+msgid "index_expression"
+msgstr "index_expression"
 
 # describe.c:937
-#: sql_help.c:3128
+#: sql_help.c:3209
 msgid "index_predicate"
 msgstr "index_predicate"
 
-#: sql_help.c:3130
+#: sql_help.c:3211
 msgid "and conflict_action is one of:"
 msgstr "并且conflict_action是下列之一:"
 
-#: sql_help.c:3136 sql_help.c:3894
+#: sql_help.c:3217 sql_help.c:3975
 msgid "sub-SELECT"
 msgstr "sub-SELECT"
 
-#: sql_help.c:3145 sql_help.c:3208 sql_help.c:3870
+#: sql_help.c:3226 sql_help.c:3289 sql_help.c:3951
 msgid "channel"
 msgstr "通道"
 
-#: sql_help.c:3167
+#: sql_help.c:3248
 msgid "lockmode"
 msgstr "锁模式"
 
-#: sql_help.c:3168
+#: sql_help.c:3249
 msgid "where lockmode is one of:"
 msgstr "锁模式可以是下列选项之一:"
 
-#: sql_help.c:3209
+#: sql_help.c:3290
 msgid "payload"
 msgstr "消息中负载流量(payload)"
 
-#: sql_help.c:3236
+#: sql_help.c:3317
 msgid "old_role"
 msgstr "旧的角色"
 
-#: sql_help.c:3237
+#: sql_help.c:3318
 msgid "new_role"
 msgstr "新的角色"
 
 # sql_help.h:382
-#: sql_help.c:3262 sql_help.c:3423 sql_help.c:3431
+#: sql_help.c:3343 sql_help.c:3504 sql_help.c:3512
 msgid "savepoint_name"
 msgstr "保存点名称"
 
-#: sql_help.c:3464
+#: sql_help.c:3545
 msgid "provider"
 msgstr "provider(提供者)"
 
-#: sql_help.c:3551 sql_help.c:3593 sql_help.c:3595 sql_help.c:3641
-#: sql_help.c:3790 sql_help.c:3832 sql_help.c:3834 sql_help.c:3984
-#: sql_help.c:4026 sql_help.c:4028
+#: sql_help.c:3632 sql_help.c:3674 sql_help.c:3676 sql_help.c:3722
+#: sql_help.c:3871 sql_help.c:3913 sql_help.c:3915 sql_help.c:4065
+#: sql_help.c:4107 sql_help.c:4109
 msgid "from_item"
 msgstr "from列表中项"
 
-#: sql_help.c:3553 sql_help.c:3605 sql_help.c:3792 sql_help.c:3844
-#: sql_help.c:3986 sql_help.c:4038
+#: sql_help.c:3634 sql_help.c:3686 sql_help.c:3873 sql_help.c:3925
+#: sql_help.c:4067 sql_help.c:4119
 msgid "grouping_element"
 msgstr "grouping_element"
 
-#: sql_help.c:3555 sql_help.c:3645 sql_help.c:3794 sql_help.c:3988
+#: sql_help.c:3636 sql_help.c:3726 sql_help.c:3875 sql_help.c:4069
 msgid "window_name"
 msgstr "窗口名称"
 
 # describe.c:977
-#: sql_help.c:3556 sql_help.c:3646 sql_help.c:3795 sql_help.c:3989
+#: sql_help.c:3637 sql_help.c:3727 sql_help.c:3876 sql_help.c:4070
 msgid "window_definition"
 msgstr "窗口定义"
 
-#: sql_help.c:3557 sql_help.c:3571 sql_help.c:3609 sql_help.c:3647
-#: sql_help.c:3796 sql_help.c:3810 sql_help.c:3848 sql_help.c:3990
-#: sql_help.c:4004 sql_help.c:4042
+#: sql_help.c:3638 sql_help.c:3652 sql_help.c:3690 sql_help.c:3728
+#: sql_help.c:3877 sql_help.c:3891 sql_help.c:3929 sql_help.c:4071
+#: sql_help.c:4085 sql_help.c:4123
 msgid "select"
 msgstr "查询"
 
-#: sql_help.c:3564 sql_help.c:3803 sql_help.c:3997
+#: sql_help.c:3645 sql_help.c:3884 sql_help.c:4078
 msgid "where from_item can be one of:"
 msgstr "from 列表中的项可以是下列内容之一"
 
-#: sql_help.c:3567 sql_help.c:3573 sql_help.c:3576 sql_help.c:3580
-#: sql_help.c:3592 sql_help.c:3806 sql_help.c:3812 sql_help.c:3815
-#: sql_help.c:3819 sql_help.c:3831 sql_help.c:4000 sql_help.c:4006
-#: sql_help.c:4009 sql_help.c:4013 sql_help.c:4025
+#: sql_help.c:3648 sql_help.c:3654 sql_help.c:3657 sql_help.c:3661
+#: sql_help.c:3673 sql_help.c:3887 sql_help.c:3893 sql_help.c:3896
+#: sql_help.c:3900 sql_help.c:3912 sql_help.c:4081 sql_help.c:4087
+#: sql_help.c:4090 sql_help.c:4094 sql_help.c:4106
 msgid "column_alias"
 msgstr "列的别名"
 
-#: sql_help.c:3568 sql_help.c:3807 sql_help.c:4001
+#: sql_help.c:3649 sql_help.c:3888 sql_help.c:4082
 msgid "sampling_method"
 msgstr "sampling_method"
 
-#: sql_help.c:3569 sql_help.c:3578 sql_help.c:3582 sql_help.c:3586
-#: sql_help.c:3589 sql_help.c:3808 sql_help.c:3817 sql_help.c:3821
-#: sql_help.c:3825 sql_help.c:3828 sql_help.c:4002 sql_help.c:4011
-#: sql_help.c:4015 sql_help.c:4019 sql_help.c:4022
+#: sql_help.c:3650 sql_help.c:3659 sql_help.c:3663 sql_help.c:3667
+#: sql_help.c:3670 sql_help.c:3889 sql_help.c:3898 sql_help.c:3902
+#: sql_help.c:3906 sql_help.c:3909 sql_help.c:4083 sql_help.c:4092
+#: sql_help.c:4096 sql_help.c:4100 sql_help.c:4103
 msgid "argument"
 msgstr "参数"
 
-#: sql_help.c:3570 sql_help.c:3809 sql_help.c:4003
+#: sql_help.c:3651 sql_help.c:3890 sql_help.c:4084
 msgid "seed"
 msgstr "种子"
 
-#: sql_help.c:3574 sql_help.c:3607 sql_help.c:3813 sql_help.c:3846
-#: sql_help.c:4007 sql_help.c:4040
+#: sql_help.c:3655 sql_help.c:3688 sql_help.c:3894 sql_help.c:3927
+#: sql_help.c:4088 sql_help.c:4121
 msgid "with_query_name"
 msgstr "WITH查询语句名称(with_query_name)"
 
 # describe.c:977
-#: sql_help.c:3584 sql_help.c:3587 sql_help.c:3590 sql_help.c:3823
-#: sql_help.c:3826 sql_help.c:3829 sql_help.c:4017 sql_help.c:4020
-#: sql_help.c:4023
+#: sql_help.c:3665 sql_help.c:3668 sql_help.c:3671 sql_help.c:3904
+#: sql_help.c:3907 sql_help.c:3910 sql_help.c:4098 sql_help.c:4101
+#: sql_help.c:4104
 msgid "column_definition"
 msgstr "列定义"
 
-#: sql_help.c:3594 sql_help.c:3833 sql_help.c:4027
+#: sql_help.c:3675 sql_help.c:3914 sql_help.c:4108
 msgid "join_type"
 msgstr "连接操作的类型"
 
-#: sql_help.c:3596 sql_help.c:3835 sql_help.c:4029
+#: sql_help.c:3677 sql_help.c:3916 sql_help.c:4110
 msgid "join_condition"
 msgstr "用连接操作的条件"
 
-#: sql_help.c:3597 sql_help.c:3836 sql_help.c:4030
+#: sql_help.c:3678 sql_help.c:3917 sql_help.c:4111
 msgid "join_column"
 msgstr "用于连接操作的列"
 
-#: sql_help.c:3598 sql_help.c:3837 sql_help.c:4031
+#: sql_help.c:3679 sql_help.c:3918 sql_help.c:4112
 msgid "and grouping_element can be one of:"
 msgstr "并且grouping_element可以是下列之一:"
 
-#: sql_help.c:3606 sql_help.c:3845 sql_help.c:4039
+#: sql_help.c:3687 sql_help.c:3926 sql_help.c:4120
 msgid "and with_query is:"
 msgstr "with查询语句是:"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:3610 sql_help.c:3849 sql_help.c:4043
+#: sql_help.c:3691 sql_help.c:3930 sql_help.c:4124
 msgid "values"
 msgstr "值"
 
-#: sql_help.c:3611 sql_help.c:3850 sql_help.c:4044
+#: sql_help.c:3692 sql_help.c:3931 sql_help.c:4125
 msgid "insert"
 msgstr "insert"
 
-#: sql_help.c:3612 sql_help.c:3851 sql_help.c:4045
+#: sql_help.c:3693 sql_help.c:3932 sql_help.c:4126
 msgid "update"
 msgstr "update"
 
-#: sql_help.c:3613 sql_help.c:3852 sql_help.c:4046
+#: sql_help.c:3694 sql_help.c:3933 sql_help.c:4127
 msgid "delete"
 msgstr "delete"
 
 # describe.c:415
 # describe.c:543
 # describe.c:1477
-#: sql_help.c:3640
+#: sql_help.c:3721
 msgid "new_table"
 msgstr "新的表"
 
-#: sql_help.c:3665
+#: sql_help.c:3746
 msgid "timezone"
 msgstr "时区"
 
-#: sql_help.c:3710
+#: sql_help.c:3791
 msgid "snapshot_id"
 msgstr "å¿«ç…§id"
 
-#: sql_help.c:3895
+#: sql_help.c:3976
 msgid "from_list"
 msgstr "from列表(from_list)"
 
-#: sql_help.c:3926
+#: sql_help.c:4007
 msgid "sort_expression"
 msgstr "排序表达式"
 
 # sql_help.h:25
 # sql_help.h:373
-#: sql_help.h:197 sql_help.h:927
+#: sql_help.c:4134 sql_help.c:4874
 msgid "abort the current transaction"
 msgstr "中止目前的事务"
 
 # sql_help.h:29
-#: sql_help.h:202
+#: sql_help.c:4139
 msgid "change the definition of an aggregate function"
 msgstr "更改聚集函数的定义"
 
 # sql_help.h:45
-#: sql_help.h:207
+#: sql_help.c:4144
 msgid "change the definition of a collation"
 msgstr "更改校对规则的定义"
 
 # sql_help.h:33
-#: sql_help.h:212
+#: sql_help.c:4149
 msgid "change the definition of a conversion"
 msgstr "更改一个字符编码转换的定义"
 
 # sql_help.h:37
-#: sql_help.h:217
+#: sql_help.c:4154
 msgid "change a database"
 msgstr "更改一个数据库"
 
 # sql_help.h:325
-#: sql_help.h:222
+#: sql_help.c:4159
 msgid "define default access privileges"
 msgstr "定义默认的访问权限"
 
 # sql_help.h:41
-#: sql_help.h:227
+#: sql_help.c:4164
 msgid "change the definition of a domain"
 msgstr "更改共同值域的定义"
 
 # sql_help.h:85
-#: sql_help.h:232
+#: sql_help.c:4169
 msgid "change the definition of an event trigger"
 msgstr "更改事件触发器的定义"
 
 # sql_help.h:33
-#: sql_help.h:237
+#: sql_help.c:4174
 msgid "change the definition of an extension"
 msgstr "更改扩展的定义"
 
 # sql_help.h:85
-#: sql_help.h:242
+#: sql_help.c:4179
 msgid "change the definition of a foreign-data wrapper"
 msgstr "更改外部数据封装器的定义"
 
 # sql_help.h:85
-#: sql_help.h:247
+#: sql_help.c:4184
 msgid "change the definition of a foreign table"
 msgstr "更改外部表的定义"
 
 # sql_help.h:45
-#: sql_help.h:252
+#: sql_help.c:4189
 msgid "change the definition of a function"
 msgstr "更改函数的定义"
 
-#: sql_help.h:257
+#: sql_help.c:4194
 msgid "change role name or membership"
 msgstr "更改角色名称或成员状态"
 
 # sql_help.h:53
-#: sql_help.h:262
+#: sql_help.c:4199
 msgid "change the definition of an index"
 msgstr "更改索引的定义"
 
 # sql_help.h:57
-#: sql_help.h:267
+#: sql_help.c:4204
 msgid "change the definition of a procedural language"
 msgstr "更改程序语言的定义"
 
 # sql_help.h:77
-#: sql_help.h:272
+#: sql_help.c:4209
 msgid "change the definition of a large object"
 msgstr "更改大对象的定义"
 
 # sql_help.h:53
-#: sql_help.h:277
+#: sql_help.c:4214
 msgid "change the definition of a materialized view"
 msgstr "更改物化视图的定义"
 
 # sql_help.h:65
-#: sql_help.h:282
+#: sql_help.c:4219
 msgid "change the definition of an operator"
 msgstr "更改运算子的定义"
 
 # sql_help.h:61
-#: sql_help.h:287
+#: sql_help.c:4224
 msgid "change the definition of an operator class"
 msgstr "更改运算子类别的定义"
 
 # sql_help.h:65
-#: sql_help.h:292
+#: sql_help.c:4229
 msgid "change the definition of an operator family"
 msgstr "更改一个运算子家族的识别"
 
 # sql_help.h:41
-#: sql_help.h:297
-msgid "change the definition of a policy"
-msgstr "改变一个策略的定义"
+#: sql_help.c:4234
+#| msgid "change the definition of a policy"
+msgid "change the definition of a row level security policy"
+msgstr "更改一条行级安全性策略的定义"
 
 # sql_help.h:37
-#: sql_help.h:302 sql_help.h:372
+#: sql_help.c:4239 sql_help.c:4309
 msgid "change a database role"
 msgstr "更改数据库角色"
 
 # sql_help.h:77
-#: sql_help.h:307
+#: sql_help.c:4244
 msgid "change the definition of a rule"
 msgstr "更改规则的定义"
 
 # sql_help.h:69
-#: sql_help.h:312
+#: sql_help.c:4249
 msgid "change the definition of a schema"
 msgstr "更改架构模式的定义"
 
 # sql_help.h:73
-#: sql_help.h:317
+#: sql_help.c:4254
 msgid "change the definition of a sequence generator"
 msgstr "更改序列数产生器的定义"
 
 # sql_help.h:85
-#: sql_help.h:322
+#: sql_help.c:4259
 msgid "change the definition of a foreign server"
 msgstr "更改外部服务器的定义"
 
 # sql_help.h:366
-#: sql_help.h:327
+#: sql_help.c:4264
 msgid "change a server configuration parameter"
 msgstr "更改服务器的配置参数"
 
 # sql_help.h:77
-#: sql_help.h:332
+#: sql_help.c:4269
 msgid "change the definition of a table"
 msgstr "更改数据表的定义"
 
 # sql_help.h:81
-#: sql_help.h:337
+#: sql_help.c:4274
 msgid "change the definition of a tablespace"
 msgstr "更改表空间的定义"
 
 # sql_help.h:33
-#: sql_help.h:342
+#: sql_help.c:4279
 msgid "change the definition of a text search configuration"
 msgstr "更改一个文本搜索组态的定义"
 
 # sql_help.h:45
-#: sql_help.h:347
+#: sql_help.c:4284
 msgid "change the definition of a text search dictionary"
 msgstr "更改一个文本搜索字典的定义"
 
 # sql_help.h:81
-#: sql_help.h:352
+#: sql_help.c:4289
 msgid "change the definition of a text search parser"
 msgstr "更改一个文本搜索剖析器的定义"
 
 # sql_help.h:69
-#: sql_help.h:357
+#: sql_help.c:4294
 msgid "change the definition of a text search template"
 msgstr "更改一个文本搜索模版的定义"
 
 # sql_help.h:85
-#: sql_help.h:362
+#: sql_help.c:4299
 msgid "change the definition of a trigger"
 msgstr "更改触发器的定义"
 
 # sql_help.h:89
-#: sql_help.h:367
+#: sql_help.c:4304
 msgid "change the definition of a type"
 msgstr "更改数据类型的定义"
 
 # sql_help.h:41
-#: sql_help.h:377
+#: sql_help.c:4314
 msgid "change the definition of a user mapping"
 msgstr "更改用户映射的定义"
 
 # sql_help.h:53
-#: sql_help.h:382
+#: sql_help.c:4319
 msgid "change the definition of a view"
 msgstr "更改视图的定义"
 
 # sql_help.h:97
-#: sql_help.h:387
+#: sql_help.c:4324
 msgid "collect statistics about a database"
 msgstr "收集数据库的统计信息"
 
 # sql_help.h:101
 # sql_help.h:413
-#: sql_help.h:392 sql_help.h:992
+#: sql_help.c:4329 sql_help.c:4939
 msgid "start a transaction block"
 msgstr "开始一个事务区块"
 
 # sql_help.h:105
-#: sql_help.h:397
+#: sql_help.c:4334
 msgid "force a transaction log checkpoint"
 msgstr "强制一个事务触发检查点"
 
 # sql_help.h:109
-#: sql_help.h:402
+#: sql_help.c:4339
 msgid "close a cursor"
 msgstr "关闭游标"
 
 # sql_help.h:113
-#: sql_help.h:407
+#: sql_help.c:4344
 msgid "cluster a table according to an index"
 msgstr "按照索引进行表的聚集"
 
 # sql_help.h:117
-#: sql_help.h:412
+#: sql_help.c:4349
 msgid "define or change the comment of an object"
 msgstr "定义或更改一个对象的注解"
 
 # sql_help.h:121
 # sql_help.h:309
-#: sql_help.h:417 sql_help.h:827
+#: sql_help.c:4354 sql_help.c:4774
 msgid "commit the current transaction"
 msgstr "确认目前的事务"
 
-#: sql_help.h:422
+#: sql_help.c:4359
 msgid "commit a transaction that was earlier prepared for two-phase commit"
 msgstr "提交一项事务这是两阶段提交的先前准备"
 
 # sql_help.h:125
-#: sql_help.h:427
+#: sql_help.c:4364
 msgid "copy data between a file and a table"
 msgstr "在档案和数据表间复制数据"
 
+# sql_help.h:133
+#: sql_help.c:4369
+#| msgid "define a new cast"
+msgid "define a new access method"
+msgstr "定义新的访问方法"
+
 # sql_help.h:129
-#: sql_help.h:432
+#: sql_help.c:4374
 msgid "define a new aggregate function"
 msgstr "定义一个新的聚集函数"
 
 # sql_help.h:133
-#: sql_help.h:437
+#: sql_help.c:4379
 msgid "define a new cast"
 msgstr "建立新的类型转换"
 
 # sql_help.h:153
-#: sql_help.h:442
+#: sql_help.c:4384
 msgid "define a new collation"
 msgstr "建立新的校对规则"
 
 # sql_help.h:141
-#: sql_help.h:447
+#: sql_help.c:4389
 msgid "define a new encoding conversion"
 msgstr "定义一个新的字元编码转换"
 
 # sql_help.h:145
-#: sql_help.h:452
+#: sql_help.c:4394
 msgid "create a new database"
 msgstr "建立新的数据库"
 
 # sql_help.h:149
-#: sql_help.h:457
+#: sql_help.c:4399
 msgid "define a new domain"
 msgstr "建立新的共同值域"
 
 # sql_help.h:201
-#: sql_help.h:462
+#: sql_help.c:4404
 msgid "define a new event trigger"
 msgstr "定义新的事件触发器"
 
-#: sql_help.h:467
+#: sql_help.c:4409
 msgid "install an extension"
 msgstr "安装一个扩展"
 
 # sql_help.h:205
-#: sql_help.h:472
+#: sql_help.c:4414
 msgid "define a new foreign-data wrapper"
 msgstr "定义一个新的外部数据封装器"
 
 # sql_help.h:201
-#: sql_help.h:477
+#: sql_help.c:4419
 msgid "define a new foreign table"
 msgstr "建立新的外部表"
 
 # sql_help.h:153
-#: sql_help.h:482
+#: sql_help.c:4424
 msgid "define a new function"
 msgstr "建立新的函数"
 
 # sql_help.h:189
-#: sql_help.h:487 sql_help.h:527 sql_help.h:602
+#: sql_help.c:4429 sql_help.c:4469 sql_help.c:4544
 msgid "define a new database role"
 msgstr "定义一个新数据库角色"
 
 # sql_help.h:161
-#: sql_help.h:492
+#: sql_help.c:4434
 msgid "define a new index"
 msgstr "建立新的索引"
 
 # sql_help.h:165
-#: sql_help.h:497
+#: sql_help.c:4439
 msgid "define a new procedural language"
 msgstr "建立新的程序语言"
 
 # sql_help.h:213
-#: sql_help.h:502
+#: sql_help.c:4444
 msgid "define a new materialized view"
 msgstr "建立新的物化视图"
 
 # sql_help.h:173
-#: sql_help.h:507
+#: sql_help.c:4449
 msgid "define a new operator"
 msgstr "建立新的运算子"
 
 # sql_help.h:169
-#: sql_help.h:512
+#: sql_help.c:4454
 msgid "define a new operator class"
 msgstr "建立新的运算子类别"
 
 # sql_help.h:173
-#: sql_help.h:517
+#: sql_help.c:4459
 msgid "define a new operator family"
 msgstr "定义一个新的运算子家族"
 
 # sql_help.h:201
-#: sql_help.h:522
-msgid "define a new policy for a table"
-msgstr "为一个表定义一个新策略"
+#: sql_help.c:4464
+#| msgid "define a new policy for a table"
+msgid "define a new row level security policy for a table"
+msgstr "为一个表定义一条新的行级安全性策略"
 
 # sql_help.h:177
-#: sql_help.h:532
+#: sql_help.c:4474
 msgid "define a new rewrite rule"
 msgstr "建立新的重写规则"
 
 # sql_help.h:181
-#: sql_help.h:537
+#: sql_help.c:4479
 msgid "define a new schema"
 msgstr "建立新的架构模式"
 
 # sql_help.h:185
-#: sql_help.h:542
+#: sql_help.c:4484
 msgid "define a new sequence generator"
 msgstr "建立新的序列数产生器"
 
 # sql_help.h:201
-#: sql_help.h:547
+#: sql_help.c:4489
 msgid "define a new foreign server"
 msgstr "建立新的触发器"
 
 # sql_help.h:189
-#: sql_help.h:552
+#: sql_help.c:4494
 msgid "define a new table"
 msgstr "建立新的数据表"
 
 # sql_help.h:193
 # sql_help.h:389
-#: sql_help.h:557 sql_help.h:957
+#: sql_help.c:4499 sql_help.c:4904
 msgid "define a new table from the results of a query"
 msgstr "以查询结果建立新的数据表"
 
 # sql_help.h:197
-#: sql_help.h:562
+#: sql_help.c:4504
 msgid "define a new tablespace"
 msgstr "建立新的表空间"
 
 # sql_help.h:129
-#: sql_help.h:567
+#: sql_help.c:4509
 msgid "define a new text search configuration"
 msgstr "定义一个新文本搜索组态"
 
 # sql_help.h:129
-#: sql_help.h:572
+#: sql_help.c:4514
 msgid "define a new text search dictionary"
 msgstr "定义一个新文本搜索字典"
 
 # sql_help.h:197
-#: sql_help.h:577
+#: sql_help.c:4519
 msgid "define a new text search parser"
 msgstr "定义一个新文本搜索剖析器"
 
 # sql_help.h:181
-#: sql_help.h:582
+#: sql_help.c:4524
 msgid "define a new text search template"
 msgstr "定义一个新文本搜索模版"
 
 # sql_help.h:173
-#: sql_help.h:587
+#: sql_help.c:4529
 msgid "define a new transform"
 msgstr "定义一个新的转换"
 
 # sql_help.h:201
-#: sql_help.h:592
+#: sql_help.c:4534
 msgid "define a new trigger"
 msgstr "建立新的触发器"
 
 # sql_help.h:205
-#: sql_help.h:597
+#: sql_help.c:4539
 msgid "define a new data type"
 msgstr "建立新的数据类型"
 
-#: sql_help.h:607
+#: sql_help.c:4549
 msgid "define a new mapping of a user to a foreign server"
 msgstr "将用户的新映射定义到一个外部服务器"
 
 # sql_help.h:213
-#: sql_help.h:612
+#: sql_help.c:4554
 msgid "define a new view"
 msgstr "建立新的视图"
 
 # sql_help.h:217
-#: sql_help.h:617
+#: sql_help.c:4559
 msgid "deallocate a prepared statement"
 msgstr "释放一个已预备好的叙述区块"
 
 # sql_help.h:221
-#: sql_help.h:622
+#: sql_help.c:4564
 msgid "define a cursor"
 msgstr "建立一个 cursor"
 
 # sql_help.h:225
-#: sql_help.h:627
+#: sql_help.c:4569
 msgid "delete rows of a table"
 msgstr "删除数据表中的数据列"
 
-#: sql_help.h:632
+#: sql_help.c:4574
 msgid "discard session state"
 msgstr "抛弃 session 状态"
 
-#: sql_help.h:637
+#: sql_help.c:4579
 msgid "execute an anonymous code block"
 msgstr "执行一个匿名代码块"
 
+# sql_help.h:233
+#: sql_help.c:4584
+#| msgid "remove a cast"
+msgid "remove an access method"
+msgstr "移除一种访问方法"
+
 # sql_help.h:229
-#: sql_help.h:642
+#: sql_help.c:4589
 msgid "remove an aggregate function"
 msgstr "移除一个聚集函数"
 
 # sql_help.h:233
-#: sql_help.h:647
+#: sql_help.c:4594
 msgid "remove a cast"
 msgstr "移除一个类型转换"
 
 # sql_help.h:249
-#: sql_help.h:652
+#: sql_help.c:4599
 msgid "remove a collation"
 msgstr "移除一个校对规则"
 
 # sql_help.h:237
-#: sql_help.h:657
+#: sql_help.c:4604
 msgid "remove a conversion"
 msgstr "移除一个字元编码转换"
 
 # sql_help.h:241
-#: sql_help.h:662
+#: sql_help.c:4609
 msgid "remove a database"
 msgstr "移除数据库"
 
 # sql_help.h:245
-#: sql_help.h:667
+#: sql_help.c:4614
 msgid "remove a domain"
 msgstr "移除一个共同值域"
 
 # sql_help.h:293
-#: sql_help.h:672
+#: sql_help.c:4619
 msgid "remove an event trigger"
 msgstr "移除事件触发器"
 
 # sql_help.h:237
-#: sql_help.h:677
+#: sql_help.c:4624
 msgid "remove an extension"
 msgstr "移除一个扩展"
 
 # sql_help.h:297
-#: sql_help.h:682
+#: sql_help.c:4629
 msgid "remove a foreign-data wrapper"
 msgstr "删除一个外部数据封装器"
 
 # sql_help.h:285
-#: sql_help.h:687
+#: sql_help.c:4634
 msgid "remove a foreign table"
 msgstr "移除外部引用表"
 
 # sql_help.h:249
-#: sql_help.h:692
+#: sql_help.c:4639
 msgid "remove a function"
 msgstr "移除函数"
 
 # sql_help.h:241
-#: sql_help.h:697 sql_help.h:742 sql_help.h:812
+#: sql_help.c:4644 sql_help.c:4689 sql_help.c:4759
 msgid "remove a database role"
 msgstr "移除一个数据库成员"
 
 # sql_help.h:257
-#: sql_help.h:702
+#: sql_help.c:4649
 msgid "remove an index"
 msgstr "移除一个索引"
 
 # sql_help.h:261
-#: sql_help.h:707
+#: sql_help.c:4654
 msgid "remove a procedural language"
 msgstr "移除一个程序语言"
 
 # sql_help.h:305
-#: sql_help.h:712
+#: sql_help.c:4659
 msgid "remove a materialized view"
 msgstr "移除一个物化视图"
 
 # sql_help.h:269
-#: sql_help.h:717
+#: sql_help.c:4664
 msgid "remove an operator"
 msgstr "移除运算子"
 
 # sql_help.h:265
-#: sql_help.h:722
+#: sql_help.c:4669
 msgid "remove an operator class"
 msgstr "移除一个运算子类别"
 
 # sql_help.h:269
-#: sql_help.h:727
+#: sql_help.c:4674
 msgid "remove an operator family"
 msgstr "移除一个运算子家族"
 
-#: sql_help.h:732
+#: sql_help.c:4679
 msgid "remove database objects owned by a database role"
 msgstr "依照一个数据库角色拥有的数据库对象来移除"
 
 # sql_help.h:285
-#: sql_help.h:737
-msgid "remove a policy from a table"
-msgstr "从一个表移除一个策略"
+#: sql_help.c:4684
+#| msgid "remove a policy from a table"
+msgid "remove a row level security policy from a table"
+msgstr "从一个表移除一条行级安全性策略"
 
 # sql_help.h:273
-#: sql_help.h:747
+#: sql_help.c:4694
 msgid "remove a rewrite rule"
 msgstr "移除一个重写规则"
 
 # sql_help.h:277
-#: sql_help.h:752
+#: sql_help.c:4699
 msgid "remove a schema"
 msgstr "移除一个模式"
 
 # sql_help.h:281
-#: sql_help.h:757
+#: sql_help.c:4704
 msgid "remove a sequence"
 msgstr "移除序列"
 
 # sql_help.h:237
-#: sql_help.h:762
+#: sql_help.c:4709
 msgid "remove a foreign server descriptor"
 msgstr "删除一个外部服务器描述符"
 
 # sql_help.h:285
-#: sql_help.h:767
+#: sql_help.c:4714
 msgid "remove a table"
 msgstr "移除数据表"
 
 # sql_help.h:289
-#: sql_help.h:772
+#: sql_help.c:4719
 msgid "remove a tablespace"
 msgstr "移除一个表空间"
 
 # sql_help.h:301
-#: sql_help.h:777
+#: sql_help.c:4724
 msgid "remove a text search configuration"
 msgstr "移除一个文本搜索配置"
 
 # sql_help.h:301
-#: sql_help.h:782
+#: sql_help.c:4729
 msgid "remove a text search dictionary"
 msgstr "移除一个文本搜索字典"
 
 # sql_help.h:289
-#: sql_help.h:787
+#: sql_help.c:4734
 msgid "remove a text search parser"
 msgstr "移除一个文本搜索剖析器"
 
 # sql_help.h:277
-#: sql_help.h:792
+#: sql_help.c:4739
 msgid "remove a text search template"
 msgstr "移除一个文本搜索模版"
 
 # sql_help.h:269
-#: sql_help.h:797
+#: sql_help.c:4744
 msgid "remove a transform"
 msgstr "移除一个转换"
 
 # sql_help.h:293
-#: sql_help.h:802
+#: sql_help.c:4749
 msgid "remove a trigger"
 msgstr "移除触发器"
 
 # sql_help.h:297
-#: sql_help.h:807
+#: sql_help.c:4754
 msgid "remove a data type"
 msgstr "移除数据类型"
 
-#: sql_help.h:817
+#: sql_help.c:4764
 msgid "remove a user mapping for a foreign server"
 msgstr "为外部服务器删除用户映射"
 
 # sql_help.h:305
-#: sql_help.h:822
+#: sql_help.c:4769
 msgid "remove a view"
 msgstr "移除一个视图"
 
 # sql_help.h:313
-#: sql_help.h:832
+#: sql_help.c:4779
 msgid "execute a prepared statement"
 msgstr "执行一个已准备好的语句块"
 
 # sql_help.h:317
-#: sql_help.h:837
+#: sql_help.c:4784
 msgid "show the execution plan of a statement"
 msgstr "显示一个语句块的执行计划"
 
 # sql_help.h:321
-#: sql_help.h:842
+#: sql_help.c:4789
 msgid "retrieve rows from a query using a cursor"
 msgstr "从使用游标的查询读取数据"
 
 # sql_help.h:325
-#: sql_help.h:847
+#: sql_help.c:4794
 msgid "define access privileges"
 msgstr "定义存取权限"
 
 # sql_help.h:85
-#: sql_help.h:852
+#: sql_help.c:4799
 msgid "import table definitions from a foreign server"
 msgstr "从一个外部服务器导入表定义"
 
 # sql_help.h:329
-#: sql_help.h:857
+#: sql_help.c:4804
 msgid "create new rows in a table"
 msgstr "在表中创建新数据行"
 
 # sql_help.h:333
-#: sql_help.h:862
+#: sql_help.c:4809
 msgid "listen for a notification"
 msgstr "等待通知"
 
 # sql_help.h:337
-#: sql_help.h:867
+#: sql_help.c:4814
 msgid "load a shared library file"
 msgstr "加载一个共享库文件"
 
 # sql_help.h:341
-#: sql_help.h:872
+#: sql_help.c:4819
 msgid "lock a table"
 msgstr "锁定数据表"
 
 # sql_help.h:345
-#: sql_help.h:877
+#: sql_help.c:4824
 msgid "position a cursor"
 msgstr "移动游标位置"
 
 # sql_help.h:349
-#: sql_help.h:882
+#: sql_help.c:4829
 msgid "generate a notification"
 msgstr "产生通知"
 
 # sql_help.h:353
-#: sql_help.h:887
+#: sql_help.c:4834
 msgid "prepare a statement for execution"
 msgstr "预先编译语句以执行"
 
 # sql_help.h:25
 # sql_help.h:373
-#: sql_help.h:892
+#: sql_help.c:4839
 msgid "prepare the current transaction for two-phase commit"
 msgstr "准备将当前事务进行二段式提交"
 
-#: sql_help.h:897
+#: sql_help.c:4844
 msgid "change the ownership of database objects owned by a database role"
 msgstr "依照一个数据库角色拥有的的数据库对象来更变所有权"
 
-#: sql_help.h:902
+#: sql_help.c:4849
 msgid "replace the contents of a materialized view"
 msgstr "替换物化视图的内容"
 
 # sql_help.h:357
-#: sql_help.h:907
+#: sql_help.c:4854
 msgid "rebuild indexes"
 msgstr "重新建构索引"
 
 # sql_help.h:361
-#: sql_help.h:912
+#: sql_help.c:4859
 msgid "destroy a previously defined savepoint"
 msgstr "删除先前建立的储存点(Savepoint)"
 
 # sql_help.h:365
-#: sql_help.h:917
+#: sql_help.c:4864
 msgid "restore the value of a run-time parameter to the default value"
 msgstr "将执行时期参数还原成预设值"
 
 # sql_help.h:369
-#: sql_help.h:922
+#: sql_help.c:4869
 msgid "remove access privileges"
 msgstr "移除存取权限"
 
-#: sql_help.h:932
+#: sql_help.c:4879
 msgid "cancel a transaction that was earlier prepared for two-phase commit"
 msgstr "取消一个可以为两阶段提交容易配置的事务"
 
 # sql_help.h:377
-#: sql_help.h:937
+#: sql_help.c:4884
 msgid "roll back to a savepoint"
 msgstr "还原至一个储存点(Savepoint)"
 
 # sql_help.h:381
-#: sql_help.h:942
+#: sql_help.c:4889
 msgid "define a new savepoint within the current transaction"
 msgstr "在当前事务中建立新的储存点(Savepoint)"
 
 # sql_help.h:117
-#: sql_help.h:947
+#: sql_help.c:4894
 msgid "define or change a security label applied to an object"
 msgstr "定义或更改一个对象的安全标签"
 
 # sql_help.h:385
-#: sql_help.h:952 sql_help.h:997 sql_help.h:1027
+#: sql_help.c:4899 sql_help.c:4944 sql_help.c:4974
 msgid "retrieve rows from a table or view"
 msgstr "从数据表或视图中读取数据"
 
 # sql_help.h:393
-#: sql_help.h:962
+#: sql_help.c:4909
 msgid "change a run-time parameter"
 msgstr "更改一个运行期参数"
 
 # sql_help.h:397
-#: sql_help.h:967
+#: sql_help.c:4914
 msgid "set constraint check timing for the current transaction"
 msgstr "为当前事务设定约束限制检查的时间模式"
 
 # sql_help.h:405
-#: sql_help.h:972
+#: sql_help.c:4919
 msgid "set the current user identifier of the current session"
 msgstr "为当前会话的当前用户的设置身份标识"
 
 # sql_help.h:401
-#: sql_help.h:977
+#: sql_help.c:4924
 msgid ""
 "set the session user identifier and the current user identifier of the "
 "current session"
 msgstr "为当前会话设置会话用户标识符和当前用户标识符"
 
 # sql_help.h:405
-#: sql_help.h:982
+#: sql_help.c:4929
 msgid "set the characteristics of the current transaction"
 msgstr "设定当前事务属性"
 
 # sql_help.h:409
-#: sql_help.h:987
+#: sql_help.c:4934
 msgid "show the value of a run-time parameter"
 msgstr "显示运行期的参数值"
 
 # sql_help.h:425
-#: sql_help.h:1002
+#: sql_help.c:4949
 msgid "empty a table or set of tables"
 msgstr "空的数据表或数据表集合"
 
 # sql_help.h:421
-#: sql_help.h:1007
+#: sql_help.c:4954
 msgid "stop listening for a notification"
 msgstr "停止监听通知"
 
 # sql_help.h:425
-#: sql_help.h:1012
+#: sql_help.c:4959
 msgid "update rows of a table"
 msgstr "更新数据表中的数据列"
 
 # sql_help.h:429
-#: sql_help.h:1017
+#: sql_help.c:4964
 msgid "garbage-collect and optionally analyze a database"
 msgstr "垃圾收集(GC)并选择地分析数据库"
 
-#: sql_help.h:1022
+#: sql_help.c:4969
 msgid "compute a set of rows"
 msgstr "计算一个数据列的集合"
 
-#: startup.c:177
+#: startup.c:189
 #, c-format
 msgid "%s: -1 can only be used in non-interactive mode\n"
 msgstr "%s: -1 只能用于非交互模式下\n"
 
 # command.c:1148
-#: startup.c:277
+#: startup.c:289
 #, c-format
 msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s:无法开启日志文件 \"%s\":%s\n"
 
-#: startup.c:339
+#: startup.c:389
 #, c-format
 msgid ""
 "Type \"help\" for help.\n"
@@ -6003,47 +6214,48 @@ msgstr ""
 "\n"
 
 # startup.c:446
-#: startup.c:486
+#: startup.c:538
 #, c-format
 msgid "%s: could not set printing parameter \"%s\"\n"
 msgstr "%s:无法设定列打印参数 \"%s\"\n"
 
 # startup.c:492
-#: startup.c:526
+#: startup.c:578
 #, c-format
 msgid "%s: could not delete variable \"%s\"\n"
 msgstr "%s:无法删除变量 \"%s\"\n"
 
 # startup.c:502
-#: startup.c:536
+#: startup.c:588
 #, c-format
 msgid "%s: could not set variable \"%s\"\n"
 msgstr "%s:无法设定变量 \"%s\"\n"
 
 # startup.c:533
 # startup.c:539
-#: startup.c:596
+#: startup.c:648
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "尝试 \"%s --help\" 以得到更多信息。\n"
 
 # startup.c:557
-#: startup.c:613
+#: startup.c:665
 #, c-format
 msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
 msgstr "%s:警告:忽略多余的命令行参数 \"%s\"\n"
 
-#: startup.c:635
+#: startup.c:714
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s: 找不到可执行文件\n"
 
-#: startup.c:757 startup.c:804 startup.c:825 startup.c:862 variables.c:121
+#: startup.c:836 startup.c:883 startup.c:904 startup.c:941 startup.c:963
+#: variables.c:121
 #, c-format
 msgid "unrecognized value \"%s\" for \"%s\"; assuming \"%s\"\n"
 msgstr "\"%2$s\"的不能识别的值\"%1$s\";假定为\"%3$s\"\n"
 
-#: tab-complete.c:4566
+#: tab-complete.c:3682
 #, c-format
 msgid ""
 "tab completion query failed: %s\n"
@@ -6054,44 +6266,5 @@ msgstr ""
 "查询是:\n"
 "%s\n"
 
-# startup.c:652
-#~ msgid "SSL connection (unknown cipher)\n"
-#~ msgstr "SSL连接 (未知加密)\n"
-
-#~ msgid "  -?, --help               show this help, then exit\n"
-#~ msgstr "  -?, --help               显示此帮助, 然后退出\n"
-
-# print.c:428
-#~ msgid "(No rows)\n"
-#~ msgstr "(无数据列)\n"
-
 #~ msgid "  \\l[+]                  list all databases\n"
 #~ msgstr "  \\l[+]                列出所有的数据库\n"
-
-# help.c:193
-#, fuzzy
-#~ msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
-#~ msgstr "  \\sf[+] FUNCNAME        显示函数定义\n"
-
-# help.c:193
-#, fuzzy
-#~ msgid ""
-#~ "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
-#~ msgstr "  \\ef [FUNCNAME [LINE]]   使用外部编辑器编辑函数定义\n"
-
-# copy.c:122
-#, fuzzy
-#~ msgid "view name is required\n"
-#~ msgstr "需要函数名\n"
-
-# describe.c:117
-#, fuzzy
-#~ msgid ""
-#~ "The server (version %d.%d) does not support showing view definitions.\n"
-#~ msgstr "服务器(版本%d.%d)不支持显示函数源码.\n"
-
-# describe.c:117
-#, fuzzy
-#~ msgid ""
-#~ "The server (version %d.%d) does not support editing view definitions.\n"
-#~ msgstr "服务器(版本%d.%d)不支持编辑函数源码.\n"
diff --git a/src/bin/scripts/po/es.po b/src/bin/scripts/po/es.po
index 34b0b5c6d3f49ee7d35be889424ad0b2c05e569b..e832fbbb5f8845178f7747450972e174e755e891 100644
--- a/src/bin/scripts/po/es.po
+++ b/src/bin/scripts/po/es.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: pgscripts (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:14+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
+"PO-Revision-Date: 2016-05-25 11:14-0500\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: Castellano <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
@@ -21,7 +21,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98
@@ -223,8 +223,8 @@ msgstr "  -h, --host=ANFITRIÓN      nombre del servidor o directorio del socket
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PUERTO         puerto del servidor\n"
 
-#: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
-#: reindexdb.c:410 vacuumdb.c:960
+#: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248 reindexdb.c:410
+#: vacuumdb.c:960
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=USUARIO    nombre de usuario para la conexión\n"
@@ -271,10 +271,9 @@ msgid "Password: "
 msgstr "Contraseña: "
 
 #: common.c:113
-#, fuzzy, c-format
-#| msgid "%s: could not connect to database %s\n"
+#, c-format
 msgid "%s: could not connect to database %s: out of memory\n"
-msgstr "%s: no se pudo conectar a la base de datos %s\n"
+msgstr "%s: no se pudo conectar a la base de datos %s: memoria agotada\n"
 
 #: common.c:141
 #, c-format
@@ -1019,8 +1018,7 @@ msgstr ""
 "Lea la descripción de la orden REINDEX de SQL para obtener mayores detalles.\n"
 
 #: vacuumdb.c:191
-#, fuzzy, c-format
-#| msgid "%s: number of parallel \"jobs\" must be at least 1\n"
+#, c-format
 msgid "%s: number of parallel jobs must be at least 1\n"
 msgstr "%s: número de trabajos en paralelo debe ser al menos 1\n"
 
@@ -1087,10 +1085,9 @@ msgstr ""
 "%s"
 
 #: vacuumdb.c:929
-#, fuzzy, c-format
-#| msgid "%s: invalid argument: %s\n"
+#, c-format
 msgid "%s: invalid socket: %s"
-msgstr "%s: el argumento no es válido: %s\n"
+msgstr "%s: el socket no es válido: %s"
 
 #: vacuumdb.c:938
 #, c-format
diff --git a/src/bin/scripts/po/pt_BR.po b/src/bin/scripts/po/pt_BR.po
index 50f201e1d5bdb2611ad120c977c6261d7da4ec7a..029a2506c57bc6b15028979973fcd5f00c6dd0ab 100644
--- a/src/bin/scripts/po/pt_BR.po
+++ b/src/bin/scripts/po/pt_BR.po
@@ -5,16 +5,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 9.5\n"
+"Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-02-13 17:22-0300\n"
-"PO-Revision-Date: 2005-10-06 00:21-0300\n"
+"POT-Creation-Date: 2016-06-06 22:14+0000\n"
+"PO-Revision-Date: 2016-06-07 06:54-0400\n"
 "Last-Translator: Euler Taveira de Oliveira <euler@timbira.com>\n"
 "Language-Team: Brazilian Portuguese <pgbr-dev@listas.postgresql.org.br>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n>1);\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98
@@ -41,19 +42,46 @@ msgstr "usuário não existe"
 msgid "user name lookup failure: error code %lu"
 msgstr "falhou ao pesquisar nome de usuário: código de erro %lu"
 
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu registro)"
+msgstr[1] "(%lu registros)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "Interrompido\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr "Não pode adicionar cabeçalho a conteúdo de tabela: quantidade de colunas %d foi excedida.\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr "Não pode adicionar célula a conteúdo de tabela: quantidade total de células %d foi excedida.\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "formato de saída inválido (erro interno): %d"
+
 #: clusterdb.c:110 clusterdb.c:129 createdb.c:119 createdb.c:138
-#: 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
+#: createlang.c:89 createlang.c:119 createlang.c:174 createuser.c:169
+#: createuser.c:184 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:130 reindexdb.c:149
-#: vacuumdb.c:208 vacuumdb.c:227
+#: pg_isready.c:93 pg_isready.c:107 reindexdb.c:131 reindexdb.c:150
+#: vacuumdb.c:209 vacuumdb.c:228
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Tente \"%s --help\" para obter informações adicionais.\n"
 
-#: 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:147
-#: vacuumdb.c:225
+#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:182
+#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:148
+#: vacuumdb.c:226
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: muitos argumentos para linha de comando (primeiro é \"%s\")\n"
@@ -92,21 +120,21 @@ msgstr ""
 "%s agrupa todas as tabelas agrupadas anteriormente no banco de dados.\n"
 "\n"
 
-#: 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:392
-#: vacuumdb.c:931
+#: clusterdb.c:262 createdb.c:252 createlang.c:236 createuser.c:349
+#: dropdb.c:155 droplang.c:237 dropuser.c:156 pg_isready.c:222 reindexdb.c:393
+#: vacuumdb.c:939
 #, c-format
 msgid "Usage:\n"
 msgstr "Uso:\n"
 
-#: clusterdb.c:263 reindexdb.c:393 vacuumdb.c:932
+#: clusterdb.c:263 reindexdb.c:394 vacuumdb.c:940
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPÇÃO]... [NOMEBD]\n"
 
-#: 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:394
-#: vacuumdb.c:933
+#: clusterdb.c:264 createdb.c:254 createlang.c:238 createuser.c:351
+#: dropdb.c:157 droplang.c:239 dropuser.c:158 pg_isready.c:225 reindexdb.c:395
+#: vacuumdb.c:941
 #, c-format
 msgid ""
 "\n"
@@ -125,13 +153,13 @@ msgstr "  -a, --all                 agrupa todos os bancos de dados\n"
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=NOMEBD       banco de dados a ser agrupado\n"
 
-#: clusterdb.c:267 createlang.c:240 createuser.c:354 dropdb.c:158
-#: droplang.c:241 dropuser.c:159 reindexdb.c:397
+#: clusterdb.c:267 createlang.c:240 createuser.c:355 dropdb.c:158
+#: droplang.c:241 dropuser.c:159 reindexdb.c:398
 #, c-format
 msgid "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                mostra os comandos enviados ao servidor\n"
 
-#: clusterdb.c:268 reindexdb.c:399
+#: clusterdb.c:268 reindexdb.c:400
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               não exibe nenhuma mensagem\n"
@@ -141,26 +169,26 @@ msgstr "  -q, --quiet               não exibe nenhuma mensagem\n"
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr "  -t, --table=TABELA        agrupa somente a(s) tabela(s) especificada(s)\n"
 
-#: clusterdb.c:270 reindexdb.c:403
+#: clusterdb.c:270 reindexdb.c:404
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             mostra muitas mensagens\n"
 
-#: clusterdb.c:271 createlang.c:242 createuser.c:368 dropdb.c:160
-#: droplang.c:243 dropuser.c:162 reindexdb.c:404
+#: clusterdb.c:271 createlang.c:242 createuser.c:369 dropdb.c:160
+#: droplang.c:243 dropuser.c:162 reindexdb.c:405
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             mostra informação sobre a versão e termina\n"
 
-#: clusterdb.c:272 createlang.c:243 createuser.c:373 dropdb.c:162
-#: droplang.c:244 dropuser.c:164 reindexdb.c:405
+#: clusterdb.c:272 createlang.c:243 createuser.c:374 dropdb.c:162
+#: droplang.c:244 dropuser.c:164 reindexdb.c:406
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                mostra essa ajuda e termina\n"
 
-#: 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:406
-#: vacuumdb.c:949
+#: clusterdb.c:273 createdb.c:265 createlang.c:244 createuser.c:375
+#: dropdb.c:163 droplang.c:245 dropuser.c:165 pg_isready.c:231 reindexdb.c:407
+#: vacuumdb.c:957
 #, c-format
 msgid ""
 "\n"
@@ -169,37 +197,37 @@ msgstr ""
 "\n"
 "Opções de conexão:\n"
 
-#: clusterdb.c:274 createlang.c:245 createuser.c:375 dropdb.c:164
-#: droplang.c:246 dropuser.c:166 reindexdb.c:407 vacuumdb.c:950
+#: clusterdb.c:274 createlang.c:245 createuser.c:376 dropdb.c:164
+#: droplang.c:246 dropuser.c:166 reindexdb.c:408 vacuumdb.c:958
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr "  -h, --host=MÁQUINA        máquina do servidor de banco de dados ou diretório do soquete\n"
 
-#: clusterdb.c:275 createlang.c:246 createuser.c:376 dropdb.c:165
-#: droplang.c:247 dropuser.c:167 reindexdb.c:408 vacuumdb.c:951
+#: clusterdb.c:275 createlang.c:246 createuser.c:377 dropdb.c:165
+#: droplang.c:247 dropuser.c:167 reindexdb.c:409 vacuumdb.c:959
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PORTA          porta do servidor de banco de dados\n"
 
 #: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
-#: reindexdb.c:409 vacuumdb.c:952
+#: reindexdb.c:410 vacuumdb.c:960
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=USUÁRIO    nome do usuário para se conectar\n"
 
-#: clusterdb.c:277 createlang.c:248 createuser.c:378 dropdb.c:167
-#: droplang.c:249 dropuser.c:169 reindexdb.c:410 vacuumdb.c:953
+#: clusterdb.c:277 createlang.c:248 createuser.c:379 dropdb.c:167
+#: droplang.c:249 dropuser.c:169 reindexdb.c:411 vacuumdb.c:961
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         nunca pergunta senha\n"
 
-#: clusterdb.c:278 createlang.c:249 createuser.c:379 dropdb.c:168
-#: droplang.c:250 dropuser.c:170 reindexdb.c:411 vacuumdb.c:954
+#: clusterdb.c:278 createlang.c:249 createuser.c:380 dropdb.c:168
+#: droplang.c:250 dropuser.c:170 reindexdb.c:412 vacuumdb.c:962
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            pergunta senha\n"
 
-#: clusterdb.c:279 dropdb.c:169 reindexdb.c:412 vacuumdb.c:955
+#: clusterdb.c:279 dropdb.c:169 reindexdb.c:413 vacuumdb.c:963
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=NOMEBD   especifica um banco de dados para manutenção\n"
@@ -213,9 +241,9 @@ msgstr ""
 "\n"
 "Leia a descrição do comando SQL CLUSTER para obter detalhes.\n"
 
-#: 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:414
-#: vacuumdb.c:957
+#: clusterdb.c:281 createdb.c:273 createlang.c:250 createuser.c:381
+#: dropdb.c:170 droplang.c:251 dropuser.c:171 pg_isready.c:236 reindexdb.c:415
+#: vacuumdb.c:965
 #, c-format
 msgid ""
 "\n"
@@ -467,46 +495,46 @@ msgstr "  -d, --dbname=NOMEBD       banco de dados para instalar linguagem\n"
 msgid "  -l, --list                show a list of currently installed languages\n"
 msgstr "  -l, --list                mostra a lista das linguagens instaladas\n"
 
-#: createuser.c:190
+#: createuser.c:191
 msgid "Enter name of role to add: "
 msgstr "Digite o nome da role a ser adicionada: "
 
-#: createuser.c:205
+#: createuser.c:206
 msgid "Enter password for new role: "
 msgstr "Digite a senha para a nova role: "
 
-#: createuser.c:206
+#: createuser.c:207
 msgid "Enter it again: "
 msgstr "Digite-a novamente: "
 
-#: createuser.c:209
+#: createuser.c:210
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Senhas não correspondem.\n"
 
-#: createuser.c:218
+#: createuser.c:219
 msgid "Shall the new role be a superuser?"
 msgstr "A nova role poderá criar um super-usuário?"
 
-#: createuser.c:233
+#: createuser.c:234
 msgid "Shall the new role be allowed to create databases?"
 msgstr "A nova role poderá criar bancos de dados?"
 
-#: createuser.c:241
+#: createuser.c:242
 msgid "Shall the new role be allowed to create more new roles?"
 msgstr "A nova role poderá criar novas roles?"
 
-#: createuser.c:275
+#: createuser.c:276
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Criptografia de senha falhou.\n"
 
-#: createuser.c:332
+#: createuser.c:333
 #, c-format
 msgid "%s: creation of new role failed: %s"
 msgstr "%s: criação de nova role falhou: %s"
 
-#: createuser.c:347
+#: createuser.c:348
 #, c-format
 msgid ""
 "%s creates a new PostgreSQL role.\n"
@@ -515,37 +543,37 @@ msgstr ""
 "%s cria uma nova role do PostgreSQL.\n"
 "\n"
 
-#: createuser.c:349 dropuser.c:157
+#: createuser.c:350 dropuser.c:157
 #, c-format
 msgid "  %s [OPTION]... [ROLENAME]\n"
 msgstr "  %s [OPÇÃO]... [NOME_ROLE]\n"
 
-#: createuser.c:351
+#: createuser.c:352
 #, c-format
 msgid "  -c, --connection-limit=N  connection limit for role (default: no limit)\n"
 msgstr "  -c, --connection-limit=N  limite de conexão por role (padrão: ilimitado)\n"
 
-#: createuser.c:352
+#: createuser.c:353
 #, c-format
 msgid "  -d, --createdb            role can create new databases\n"
 msgstr "  -d, --createdb            role pode criar novos bancos de dados\n"
 
-#: createuser.c:353
+#: createuser.c:354
 #, c-format
 msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr "  -D, --no-createdb         role não pode criar novos bancos de dados (padrão)\n"
 
-#: createuser.c:355
+#: createuser.c:356
 #, c-format
 msgid "  -E, --encrypted           encrypt stored password\n"
 msgstr "  -E, --encrypted           criptografa a senha armazenada\n"
 
-#: createuser.c:356
+#: createuser.c:357
 #, c-format
 msgid "  -g, --role=ROLE           new role will be a member of this role\n"
 msgstr "  -g, --role=ROLE           nova role será um membro desta role\n"
 
-#: createuser.c:357
+#: createuser.c:358
 #, c-format
 msgid ""
 "  -i, --inherit             role inherits privileges of roles it is a\n"
@@ -554,52 +582,52 @@ msgstr ""
 "  -i, --inherit             role herda privilégios de roles das quais ela\n"
 "                            é um membro (padrão)\n"
 
-#: createuser.c:359
+#: createuser.c:360
 #, c-format
 msgid "  -I, --no-inherit          role does not inherit privileges\n"
 msgstr "  -I, --no-inherit          role não herda privilégios\n"
 
-#: createuser.c:360
+#: createuser.c:361
 #, c-format
 msgid "  -l, --login               role can login (default)\n"
 msgstr "  -l, --login               role pode efetuar login (padrão)\n"
 
-#: createuser.c:361
+#: createuser.c:362
 #, c-format
 msgid "  -L, --no-login            role cannot login\n"
 msgstr "  -L, --no-login            role não pode efetuar login\n"
 
-#: createuser.c:362
+#: createuser.c:363
 #, c-format
 msgid "  -N, --unencrypted         do not encrypt stored password\n"
 msgstr "  -N, --unencrypted         não criptografa a senha armazenada\n"
 
-#: createuser.c:363
+#: createuser.c:364
 #, c-format
 msgid "  -P, --pwprompt            assign a password to new role\n"
 msgstr "  -P, --pwprompt            atribui uma senha a nova role\n"
 
-#: createuser.c:364
+#: createuser.c:365
 #, c-format
 msgid "  -r, --createrole          role can create new roles\n"
 msgstr "  -r, --createrole          role pode criar novas roles\n"
 
-#: createuser.c:365
+#: createuser.c:366
 #, c-format
 msgid "  -R, --no-createrole       role cannot create roles (default)\n"
 msgstr "  -R, --no-createrole       role não pode criar novas roles (padrão)\n"
 
-#: createuser.c:366
+#: createuser.c:367
 #, c-format
 msgid "  -s, --superuser           role will be superuser\n"
 msgstr "  -s, --superuser           role será super-usuário\n"
 
-#: createuser.c:367
+#: createuser.c:368
 #, c-format
 msgid "  -S, --no-superuser        role will not be superuser (default)\n"
 msgstr "  -S, --no-superuser        role não será super-usuário (padrão)\n"
 
-#: createuser.c:369
+#: createuser.c:370
 #, c-format
 msgid ""
 "  --interactive             prompt for missing role name and attributes rather\n"
@@ -608,17 +636,17 @@ msgstr ""
 "  --interactive             pergunta pelo nome e atributos não informados da role\n"
 "                            ao invés de utilizar o padrão\n"
 
-#: createuser.c:371
+#: createuser.c:372
 #, c-format
 msgid "  --replication             role can initiate replication\n"
 msgstr "  --replication             role pode iniciar replicação\n"
 
-#: createuser.c:372
+#: createuser.c:373
 #, c-format
 msgid "  --no-replication          role cannot initiate replication\n"
 msgstr "  --no-replication          role não pode iniciar replicação\n"
 
-#: createuser.c:377
+#: createuser.c:378
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
 msgstr "  -U, --username=USUÁRIO    nome do usuário para se conectar (não é o usuário a ser criado)\n"
@@ -826,77 +854,77 @@ msgstr "  -t, --timeout=SEGS       segundos a esperar ao tentar conexão, 0 desa
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr "  -U, --username=USUÁRIO   nome do usuário para se conectar\n"
 
-#: reindexdb.c:159
+#: reindexdb.c:160
 #, c-format
 msgid "%s: cannot reindex all databases and a specific one at the same time\n"
 msgstr "%s: não pode reindexar todos os bancos de dados e um específico ao mesmo tempo\n"
 
-#: reindexdb.c:164
+#: reindexdb.c:165
 #, c-format
 msgid "%s: cannot reindex all databases and system catalogs at the same time\n"
 msgstr "%s: não pode reindexar todos os bancos de dados e os catálogos do sistema ao mesmo tempo\n"
 
-#: reindexdb.c:169
+#: reindexdb.c:170
 #, c-format
 msgid "%s: cannot reindex specific schema(s) in all databases\n"
 msgstr "%s: não pode reindexar esquema(s) específico(s) em todos os bancos de dados\n"
 
-#: reindexdb.c:174
+#: reindexdb.c:175
 #, c-format
 msgid "%s: cannot reindex specific table(s) in all databases\n"
 msgstr "%s: não pode reindexar tabela(s) específica(s) em todos os bancos de dados\n"
 
-#: reindexdb.c:179
+#: reindexdb.c:180
 #, c-format
 msgid "%s: cannot reindex specific index(es) in all databases\n"
 msgstr "%s: não pode reindexar índice(s) específico(s) em todos os bancos de dados\n"
 
-#: reindexdb.c:190
+#: reindexdb.c:191
 #, c-format
 msgid "%s: cannot reindex specific schema(s) and system catalogs at the same time\n"
 msgstr "%s: não pode reindexar esquema(s) específico(s) e os catálogos do sistema ao mesmo tempo\n"
 
-#: reindexdb.c:195
+#: reindexdb.c:196
 #, c-format
 msgid "%s: cannot reindex specific table(s) and system catalogs at the same time\n"
 msgstr "%s: não pode reindexar tabela(s) específica(s) e os catálogos do sistema ao mesmo tempo\n"
 
-#: reindexdb.c:200
+#: reindexdb.c:201
 #, c-format
 msgid "%s: cannot reindex specific index(es) and system catalogs at the same time\n"
 msgstr "%s: não pode reindexar índice(s) específico(s) e os catálogos do sistema ao mesmo tempo\n"
 
-#: reindexdb.c:306
+#: reindexdb.c:307
 #, c-format
 msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: reindexação da tabela \"%s\" no banco de dados \"%s\" falhou: %s"
 
-#: reindexdb.c:309
+#: reindexdb.c:310
 #, c-format
 msgid "%s: reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: reindexação do índice \"%s\" no banco de dados \"%s\" falhou: %s"
 
-#: reindexdb.c:312
+#: reindexdb.c:313
 #, c-format
 msgid "%s: reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: reindexação do esquema \"%s\" no banco de dados \"%s\" falhou: %s"
 
-#: reindexdb.c:315
+#: reindexdb.c:316
 #, c-format
 msgid "%s: reindexing of database \"%s\" failed: %s"
 msgstr "%s: reindexação do banco de dados \"%s\" falhou: %s"
 
-#: reindexdb.c:346
+#: reindexdb.c:347
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: reindexando banco de dados \"%s\"\n"
 
-#: reindexdb.c:379
+#: reindexdb.c:380
 #, c-format
 msgid "%s: reindexing of system catalogs failed: %s"
 msgstr "%s: reindexação dos catálogos do sistema falhou: %s"
 
-#: reindexdb.c:391
+#: reindexdb.c:392
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -905,37 +933,37 @@ msgstr ""
 "%s reindexa um banco de dados PostgreSQL.\n"
 "\n"
 
-#: reindexdb.c:395
+#: reindexdb.c:396
 #, c-format
 msgid "  -a, --all                 reindex all databases\n"
 msgstr "  -a, --all                 reindexa todos os bancos de dados\n"
 
-#: reindexdb.c:396
+#: reindexdb.c:397
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to reindex\n"
 msgstr "  -d, --dbname=NOMEBD       banco de dados a ser reindexado\n"
 
-#: reindexdb.c:398
+#: reindexdb.c:399
 #, c-format
 msgid "  -i, --index=INDEX         recreate specific index(es) only\n"
 msgstr "  -i, --index=ÍNDICE        reindexa somente índice(s) especificado(s)\n"
 
-#: reindexdb.c:400
+#: reindexdb.c:401
 #, c-format
 msgid "  -s, --system              reindex system catalogs\n"
 msgstr "  -s, --system              reindexa os catálogos do sistema\n"
 
-#: reindexdb.c:401
+#: reindexdb.c:402
 #, c-format
 msgid "  -S, --schema=SCHEMA       reindex specific schema(s) only\n"
 msgstr "  -S, --schema=ESQUEMA      reindexa somente esquema(s) especificado(s)\n"
 
-#: reindexdb.c:402
+#: reindexdb.c:403
 #, c-format
 msgid "  -t, --table=TABLE         reindex specific table(s) only\n"
 msgstr "  -t, --table=TABELA        reindexa somente tabela(s) especificada(s)\n"
 
-#: reindexdb.c:413
+#: reindexdb.c:414
 #, c-format
 msgid ""
 "\n"
@@ -944,64 +972,70 @@ msgstr ""
 "\n"
 "Leia a descrição do comando SQL REINDEX para obter detalhes.\n"
 
-#: vacuumdb.c:190
+#: vacuumdb.c:191
 #, c-format
 msgid "%s: number of parallel jobs must be at least 1\n"
 msgstr "%s: número de tarefas paralelas deve ser pelo menos 1\n"
 
-#: vacuumdb.c:196
+#: vacuumdb.c:197
 #, c-format
 msgid "%s: too many parallel jobs requested (maximum: %d)\n"
 msgstr "%s: muitas tarefas paralelas solicitadas (máximo: %d)\n"
 
-#: vacuumdb.c:235 vacuumdb.c:241
+#: vacuumdb.c:236 vacuumdb.c:242
 #, c-format
 msgid "%s: cannot use the \"%s\" option when performing only analyze\n"
 msgstr "%s: não pode utilizar a opção \"%s\" ao executar somente análise\n"
 
-#: vacuumdb.c:258
+#: vacuumdb.c:259
 #, c-format
 msgid "%s: cannot vacuum all databases and a specific one at the same time\n"
 msgstr "%s: não pode limpar todos os bancos de dados e um específico ao mesmo tempo\n"
 
-#: vacuumdb.c:264
+#: vacuumdb.c:265
 #, c-format
 msgid "%s: cannot vacuum specific table(s) in all databases\n"
 msgstr "%s: não pode limpar tabela(s) específica(s) em todos os bancos de dados\n"
 
-#: vacuumdb.c:350
+#: vacuumdb.c:351
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Gerando estatísticas mínimas para otimizador (1 alvo)"
 
-#: vacuumdb.c:351
+#: vacuumdb.c:352
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Gerando estatísticas parciais para otimizador (10 alvos)"
 
-#: vacuumdb.c:352
+#: vacuumdb.c:353
 msgid "Generating default (full) optimizer statistics"
 msgstr "Gerando estatísticas padrão (completa) para otimizador"
 
-#: vacuumdb.c:361
+#: vacuumdb.c:362
 #, c-format
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s: processando banco de dados \"%s\": %s\n"
 
-#: vacuumdb.c:364
+#: vacuumdb.c:365
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: limpando banco de dados \"%s\"\n"
 
-#: vacuumdb.c:694
+#: vacuumdb.c:695
 #, c-format
 msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: limpeza na tabela \"%s\" no banco de dados \"%s\" falhou: %s"
 
-#: vacuumdb.c:697 vacuumdb.c:814
+#: vacuumdb.c:698 vacuumdb.c:815
 #, c-format
 msgid "%s: vacuuming of database \"%s\" failed: %s"
 msgstr "%s: limpeza no banco de dados \"%s\" falhou: %s"
 
-#: vacuumdb.c:930
+#: vacuumdb.c:929
+#, fuzzy, c-format
+#| msgid "%s: invalid argument: %s\n"
+msgid "%s: invalid socket: %s"
+msgstr "%s: argumento inválido: %s\n"
+
+#: vacuumdb.c:938
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1010,67 +1044,67 @@ msgstr ""
 "%s limpa e analisa um banco de dados PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:934
+#: vacuumdb.c:942
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       limpa todos bancos de dados\n"
 
-#: vacuumdb.c:935
+#: vacuumdb.c:943
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=NOMEBD             banco de dados a ser limpo\n"
 
-#: vacuumdb.c:936
+#: vacuumdb.c:944
 #, c-format
 msgid "  -e, --echo                      show the commands being sent to the server\n"
 msgstr "  -e, --echo                      mostra os comandos enviados ao servidor\n"
 
-#: vacuumdb.c:937
+#: vacuumdb.c:945
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      faz uma limpeza completa\n"
 
-#: vacuumdb.c:938
+#: vacuumdb.c:946
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr "  -F, --freeze                    congela informação sobre transação de registros\n"
 
-#: vacuumdb.c:939
+#: vacuumdb.c:947
 #, c-format
 msgid "  -j, --jobs=NUM                  use this many concurrent connections to vacuum\n"
 msgstr "  -j, --jobs=NUM                  use esse número de conexões concorrentes para limpar\n"
 
-#: vacuumdb.c:940
+#: vacuumdb.c:948
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     não exibe nenhuma mensagem\n"
 
-#: vacuumdb.c:941
+#: vacuumdb.c:949
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr "  -t, --table='TABELA[(COLUNAS)]' limpa somente tabela(s) específica(s)\n"
 
-#: vacuumdb.c:942
+#: vacuumdb.c:950
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   mostra muitas mensagens\n"
 
-#: vacuumdb.c:943
+#: vacuumdb.c:951
 #, c-format
 msgid "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   mostra informação sobre a versão e termina\n"
 
-#: vacuumdb.c:944
+#: vacuumdb.c:952
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   atualiza estatísticas do otimizador\n"
 
-#: vacuumdb.c:945
+#: vacuumdb.c:953
 #, c-format
 msgid "  -Z, --analyze-only              only update optimizer statistics; no vacuum\n"
 msgstr "  -Z, --analyze-only              atualiza somente estatísticas do otimizador; sem limpeza\n"
 
-#: vacuumdb.c:946
+#: vacuumdb.c:954
 #, c-format
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in multiple\n"
@@ -1079,12 +1113,12 @@ msgstr ""
 "      --analyze-in-stages         atualiza somente estatísticas do otimizador, em\n"
 "                                  múltiplos estágios para resultados mais rápidos; sem limpeza\n"
 
-#: vacuumdb.c:948
+#: vacuumdb.c:956
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      mostra essa ajuda e termina\n"
 
-#: vacuumdb.c:956
+#: vacuumdb.c:964
 #, c-format
 msgid ""
 "\n"
diff --git a/src/bin/scripts/po/ru.po b/src/bin/scripts/po/ru.po
index 835cb99e076027cde2c14e6943e4f80457d36db9..ff2e69619b45a43d8309ba8836b9185665407fad 100644
--- a/src/bin/scripts/po/ru.po
+++ b/src/bin/scripts/po/ru.po
@@ -23,7 +23,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-12-08 22:43+0000\n"
+"POT-Creation-Date: 2016-05-27 16:14+0000\n"
 "PO-Revision-Date: 2015-12-09 13:40+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -62,18 +62,50 @@ msgstr "пользователь не существует"
 msgid "user name lookup failure: error code %lu"
 msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
 
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu строка)"
+msgstr[1] "(%lu строки)"
+msgstr[2] "(%lu строк)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "Прерывание\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr ""
+"Добавить заголовок к содержимому таблицы нельзя: число столбцов превышает "
+"%d.\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr ""
+"Добавить ячейку к содержимому таблицы нельзя: общее число ячеек превышает "
+"%d.\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "неверный формат вывода (внутренняя ошибка): %d"
+
 #: clusterdb.c:110 clusterdb.c:129 createdb.c:119 createdb.c:138
-#: 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
+#: createlang.c:89 createlang.c:119 createlang.c:174 createuser.c:169
+#: createuser.c:184 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:130 reindexdb.c:149
+#: pg_isready.c:93 pg_isready.c:107 reindexdb.c:131 reindexdb.c:150
 #: vacuumdb.c:209 vacuumdb.c:228
 #, 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:181
-#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:147
+#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:182
+#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:148
 #: vacuumdb.c:226
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
@@ -113,21 +145,21 @@ msgstr ""
 "%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n"
 "\n"
 
-#: 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:392
-#: vacuumdb.c:975
+#: clusterdb.c:262 createdb.c:252 createlang.c:236 createuser.c:349
+#: dropdb.c:155 droplang.c:237 dropuser.c:156 pg_isready.c:222 reindexdb.c:393
+#: vacuumdb.c:939
 #, c-format
 msgid "Usage:\n"
 msgstr "Использование:\n"
 
-#: clusterdb.c:263 reindexdb.c:393 vacuumdb.c:976
+#: clusterdb.c:263 reindexdb.c:394 vacuumdb.c:940
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
 
-#: 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:394
-#: vacuumdb.c:977
+#: clusterdb.c:264 createdb.c:254 createlang.c:238 createuser.c:351
+#: dropdb.c:157 droplang.c:239 dropuser.c:158 pg_isready.c:225 reindexdb.c:395
+#: vacuumdb.c:941
 #, c-format
 msgid ""
 "\n"
@@ -146,14 +178,14 @@ msgstr "  -a, --all                 кластеризовать все базы
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=ИМЯ_БД       имя базы данных для кластеризации\n"
 
-#: clusterdb.c:267 createlang.c:240 createuser.c:354 dropdb.c:158
-#: droplang.c:241 dropuser.c:159 reindexdb.c:397
+#: clusterdb.c:267 createlang.c:240 createuser.c:355 dropdb.c:158
+#: droplang.c:241 dropuser.c:159 reindexdb.c:398
 #, c-format
 msgid ""
 "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                отображать команды, отправляемые серверу\n"
 
-#: clusterdb.c:268 reindexdb.c:399
+#: clusterdb.c:268 reindexdb.c:400
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               не выводить никакие сообщения\n"
@@ -164,26 +196,26 @@ msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr ""
 "  -t, --table=ТАБЛИЦА       кластеризовать только указанную таблицу(ы)\n"
 
-#: clusterdb.c:270 reindexdb.c:403
+#: clusterdb.c:270 reindexdb.c:404
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             выводить исчерпывающие сообщения\n"
 
-#: clusterdb.c:271 createlang.c:242 createuser.c:368 dropdb.c:160
-#: droplang.c:243 dropuser.c:162 reindexdb.c:404
+#: clusterdb.c:271 createlang.c:242 createuser.c:369 dropdb.c:160
+#: droplang.c:243 dropuser.c:162 reindexdb.c:405
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             показать версию и выйти\n"
 
-#: clusterdb.c:272 createlang.c:243 createuser.c:373 dropdb.c:162
-#: droplang.c:244 dropuser.c:164 reindexdb.c:405
+#: clusterdb.c:272 createlang.c:243 createuser.c:374 dropdb.c:162
+#: droplang.c:244 dropuser.c:164 reindexdb.c:406
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                показать эту справку и выйти\n"
 
-#: 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:406
-#: vacuumdb.c:993
+#: clusterdb.c:273 createdb.c:265 createlang.c:244 createuser.c:375
+#: dropdb.c:163 droplang.c:245 dropuser.c:165 pg_isready.c:231 reindexdb.c:407
+#: vacuumdb.c:957
 #, c-format
 msgid ""
 "\n"
@@ -192,39 +224,39 @@ msgstr ""
 "\n"
 "Параметры подключения:\n"
 
-#: clusterdb.c:274 createlang.c:245 createuser.c:375 dropdb.c:164
-#: droplang.c:246 dropuser.c:166 reindexdb.c:407 vacuumdb.c:994
+#: clusterdb.c:274 createlang.c:245 createuser.c:376 dropdb.c:164
+#: droplang.c:246 dropuser.c:166 reindexdb.c:408 vacuumdb.c:958
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ИМЯ            имя сервера баз данных или каталог сокетов\n"
 
-#: clusterdb.c:275 createlang.c:246 createuser.c:376 dropdb.c:165
-#: droplang.c:247 dropuser.c:167 reindexdb.c:408 vacuumdb.c:995
+#: clusterdb.c:275 createlang.c:246 createuser.c:377 dropdb.c:165
+#: droplang.c:247 dropuser.c:167 reindexdb.c:409 vacuumdb.c:959
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=ПОРТ           порт сервера баз данных\n"
 
-#: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
-#: reindexdb.c:409 vacuumdb.c:996
+#: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248 reindexdb.c:410
+#: vacuumdb.c:960
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ        имя пользователя для подключения к серверу\n"
 
-#: clusterdb.c:277 createlang.c:248 createuser.c:378 dropdb.c:167
-#: droplang.c:249 dropuser.c:169 reindexdb.c:410 vacuumdb.c:997
+#: clusterdb.c:277 createlang.c:248 createuser.c:379 dropdb.c:167
+#: droplang.c:249 dropuser.c:169 reindexdb.c:411 vacuumdb.c:961
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         не запрашивать пароль\n"
 
-#: clusterdb.c:278 createlang.c:249 createuser.c:379 dropdb.c:168
-#: droplang.c:250 dropuser.c:170 reindexdb.c:411 vacuumdb.c:998
+#: clusterdb.c:278 createlang.c:249 createuser.c:380 dropdb.c:168
+#: droplang.c:250 dropuser.c:170 reindexdb.c:412 vacuumdb.c:962
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            запросить пароль\n"
 
-#: clusterdb.c:279 dropdb.c:169 reindexdb.c:412 vacuumdb.c:999
+#: clusterdb.c:279 dropdb.c:169 reindexdb.c:413 vacuumdb.c:963
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=ИМЯ_БД   выбор другой обслуживаемой базы данных\n"
@@ -238,9 +270,9 @@ msgstr ""
 "\n"
 "Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n"
 
-#: 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:414
-#: vacuumdb.c:1001
+#: clusterdb.c:281 createdb.c:273 createlang.c:250 createuser.c:381
+#: dropdb.c:170 droplang.c:251 dropuser.c:171 pg_isready.c:236 reindexdb.c:415
+#: vacuumdb.c:965
 #, c-format
 msgid ""
 "\n"
@@ -249,58 +281,58 @@ msgstr ""
 "\n"
 "Об ошибках сообщайте по адресу <pgsql-bugs@postgresql.org>.\n"
 
-#: common.c:73 common.c:123
+#: common.c:82 common.c:128
 msgid "Password: "
 msgstr "Пароль: "
 
-#: common.c:105
+#: common.c:113
 #, c-format
 msgid "%s: could not connect to database %s: out of memory\n"
 msgstr "%s: не удалось подключиться к базе %s (нехватка памяти)\n"
 
-#: common.c:139
+#: common.c:141
 #, c-format
 msgid "%s: could not connect to database %s: %s"
 msgstr "%s: не удалось подключиться к базе %s: %s"
 
-#: common.c:188 common.c:216
+#: common.c:190 common.c:218
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: ошибка при выполнении запроса: %s"
 
-#: common.c:190 common.c:218
+#: common.c:192 common.c:220
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: запрос: %s\n"
 
 #. translator: abbreviation for "yes"
-#: common.c:259
+#: common.c:261
 msgid "y"
 msgstr "y"
 
 #. translator: abbreviation for "no"
-#: common.c:261
+#: common.c:263
 msgid "n"
 msgstr "n"
 
 #. translator: This is a question followed by the translated options for
 #. "yes" and "no".
-#: common.c:271
+#: common.c:273
 #, c-format
 msgid "%s (%s/%s) "
 msgstr "%s (%s - да/%s - нет) "
 
-#: common.c:292
+#: common.c:294
 #, c-format
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Пожалуйста, введите \"%s\" или \"%s\".\n"
 
-#: common.c:371 common.c:408
+#: common.c:373 common.c:410
 #, c-format
 msgid "Cancel request sent\n"
 msgstr "Сигнал отмены отправлен\n"
 
-#: common.c:374 common.c:412
+#: common.c:376 common.c:414
 #, c-format
 msgid "Could not send cancel request: %s"
 msgstr "Отправить сигнал отмены не удалось: %s"
@@ -502,46 +534,46 @@ msgid ""
 "  -l, --list                show a list of currently installed languages\n"
 msgstr "  -l, --list                показать список установленных языков\n"
 
-#: createuser.c:190
+#: createuser.c:191
 msgid "Enter name of role to add: "
 msgstr "Введите имя новой роли: "
 
-#: createuser.c:205
+#: createuser.c:206
 msgid "Enter password for new role: "
 msgstr "Введите пароль для новой роли: "
 
-#: createuser.c:206
+#: createuser.c:207
 msgid "Enter it again: "
 msgstr "Повторите его: "
 
-#: createuser.c:209
+#: createuser.c:210
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Пароли не совпадают.\n"
 
-#: createuser.c:218
+#: createuser.c:219
 msgid "Shall the new role be a superuser?"
 msgstr "Должна ли новая роль иметь полномочия суперпользователя?"
 
-#: createuser.c:233
+#: createuser.c:234
 msgid "Shall the new role be allowed to create databases?"
 msgstr "Новая роль должна иметь право создавать базы данных?"
 
-#: createuser.c:241
+#: createuser.c:242
 msgid "Shall the new role be allowed to create more new roles?"
 msgstr "Новая роль должна иметь право создавать другие роли?"
 
-#: createuser.c:275
+#: createuser.c:276
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Ошибка при шифровании пароля.\n"
 
-#: createuser.c:332
+#: createuser.c:333
 #, c-format
 msgid "%s: creation of new role failed: %s"
 msgstr "%s: создать роль не удалось: %s"
 
-#: createuser.c:347
+#: createuser.c:348
 #, c-format
 msgid ""
 "%s creates a new PostgreSQL role.\n"
@@ -550,12 +582,12 @@ msgstr ""
 "%s создаёт роль пользователя PostgreSQL.\n"
 "\n"
 
-#: createuser.c:349 dropuser.c:157
+#: createuser.c:350 dropuser.c:157
 #, c-format
 msgid "  %s [OPTION]... [ROLENAME]\n"
 msgstr "  %s [ПАРАМЕТР]... [ИМЯ_РОЛИ]\n"
 
-#: createuser.c:351
+#: createuser.c:352
 #, c-format
 msgid ""
 "  -c, --connection-limit=N  connection limit for role (default: no limit)\n"
@@ -563,29 +595,29 @@ msgstr ""
 "  -c, --connection-limit=N  предел подключений для роли\n"
 "                            (по умолчанию предела нет)\n"
 
-#: createuser.c:352
+#: createuser.c:353
 #, c-format
 msgid "  -d, --createdb            role can create new databases\n"
 msgstr "  -d, --createdb            роль с правом создания баз данных\n"
 
-#: createuser.c:353
+#: createuser.c:354
 #, c-format
 msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr ""
 "  -D, --no-createdb         роль без права создания баз данных (по "
 "умолчанию)\n"
 
-#: createuser.c:355
+#: createuser.c:356
 #, c-format
 msgid "  -E, --encrypted           encrypt stored password\n"
 msgstr "  -E, --encrypted           зашифровать сохранённый пароль\n"
 
-#: createuser.c:356
+#: createuser.c:357
 #, c-format
 msgid "  -g, --role=ROLE           new role will be a member of this role\n"
 msgstr "  -g, --role=РОЛЬ           новая роль будет включена в эту роль\n"
 
-#: createuser.c:357
+#: createuser.c:358
 #, c-format
 msgid ""
 "  -i, --inherit             role inherits privileges of roles it is a\n"
@@ -595,57 +627,57 @@ msgstr ""
 "она\n"
 "                            включена (по умолчанию)\n"
 
-#: createuser.c:359
+#: createuser.c:360
 #, c-format
 msgid "  -I, --no-inherit          role does not inherit privileges\n"
 msgstr "  -I, --no-inherit          роль не наследует права\n"
 
-#: createuser.c:360
+#: createuser.c:361
 #, c-format
 msgid "  -l, --login               role can login (default)\n"
 msgstr ""
 "  -l, --login               роль с правом подключения к серверу (по "
 "умолчанию)\n"
 
-#: createuser.c:361
+#: createuser.c:362
 #, c-format
 msgid "  -L, --no-login            role cannot login\n"
 msgstr "  -L, --no-login            роль без права подключения\n"
 
-#: createuser.c:362
+#: createuser.c:363
 #, c-format
 msgid "  -N, --unencrypted         do not encrypt stored password\n"
 msgstr "  -N, --unencrypted         не шифровать сохранённый пароль\n"
 
-#: createuser.c:363
+#: createuser.c:364
 #, c-format
 msgid "  -P, --pwprompt            assign a password to new role\n"
 msgstr "  -P, --pwprompt            назначить пароль новой роли\n"
 
-#: createuser.c:364
+#: createuser.c:365
 #, c-format
 msgid "  -r, --createrole          role can create new roles\n"
 msgstr "  -r, --createrole          роль с правом создания других ролей\n"
 
-#: createuser.c:365
+#: createuser.c:366
 #, c-format
 msgid "  -R, --no-createrole       role cannot create roles (default)\n"
 msgstr ""
 "  -R, --no-createrole       роль без права создания ролей (по умолчанию)\n"
 
-#: createuser.c:366
+#: createuser.c:367
 #, c-format
 msgid "  -s, --superuser           role will be superuser\n"
 msgstr "  -s, --superuser           роль с полномочиями суперпользователя\n"
 
-#: createuser.c:367
+#: createuser.c:368
 #, c-format
 msgid "  -S, --no-superuser        role will not be superuser (default)\n"
 msgstr ""
 "  -S, --no-superuser        роль без полномочий суперпользователя (по "
 "умолчанию)\n"
 
-#: createuser.c:369
+#: createuser.c:370
 #, c-format
 msgid ""
 "  --interactive             prompt for missing role name and attributes "
@@ -655,17 +687,17 @@ msgstr ""
 "  --interactive             запрашивать отсутствующие атрибуты и имя роли,\n"
 "                            а не использовать значения по умолчанию\n"
 
-#: createuser.c:371
+#: createuser.c:372
 #, c-format
 msgid "  --replication             role can initiate replication\n"
 msgstr "  --replication             роль может инициировать репликацию\n"
 
-#: createuser.c:372
+#: createuser.c:373
 #, c-format
 msgid "  --no-replication          role cannot initiate replication\n"
 msgstr "  --no-replication          роль не может инициировать репликацию\n"
 
-#: createuser.c:377
+#: createuser.c:378
 #, c-format
 msgid ""
 "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
@@ -890,35 +922,35 @@ msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr ""
 "  -U, --username=ИМЯ       имя пользователя для подключения к серверу\n"
 
-#: reindexdb.c:159
+#: reindexdb.c:160
 #, c-format
 msgid "%s: cannot reindex all databases and a specific one at the same time\n"
 msgstr ""
 "%s: нельзя переиндексировать все базы данных и одну конкретную одновременно\n"
 
-#: reindexdb.c:164
+#: reindexdb.c:165
 #, c-format
 msgid "%s: cannot reindex all databases and system catalogs at the same time\n"
 msgstr ""
 "%s: нельзя переиндексировать все базы данных и системные каталоги "
 "одновременно\n"
 
-#: reindexdb.c:169
+#: reindexdb.c:170
 #, c-format
 msgid "%s: cannot reindex specific schema(s) in all databases\n"
 msgstr "%s: нельзя переиндексировать указанную схему(ы) во всех базах\n"
 
-#: reindexdb.c:174
+#: reindexdb.c:175
 #, c-format
 msgid "%s: cannot reindex specific table(s) in all databases\n"
 msgstr "%s: нельзя переиндексировать указанную таблицу(ы) во всех базах\n"
 
-#: reindexdb.c:179
+#: reindexdb.c:180
 #, c-format
 msgid "%s: cannot reindex specific index(es) in all databases\n"
 msgstr "%s: нельзя переиндексировать указанный индекс(ы) во всех базах\n"
 
-#: reindexdb.c:190
+#: reindexdb.c:191
 #, c-format
 msgid ""
 "%s: cannot reindex specific schema(s) and system catalogs at the same time\n"
@@ -926,7 +958,7 @@ msgstr ""
 "%s: нельзя переиндексировать указанную схему(ы) и системные каталоги "
 "одновременно\n"
 
-#: reindexdb.c:195
+#: reindexdb.c:196
 #, c-format
 msgid ""
 "%s: cannot reindex specific table(s) and system catalogs at the same time\n"
@@ -934,7 +966,7 @@ msgstr ""
 "%s: нельзя переиндексировать указанную таблицу(ы) и системные каталоги "
 "одновременно\n"
 
-#: reindexdb.c:200
+#: reindexdb.c:201
 #, c-format
 msgid ""
 "%s: cannot reindex specific index(es) and system catalogs at the same time\n"
@@ -942,37 +974,37 @@ msgstr ""
 "%s: нельзя переиндексировать указанный индекс(ы) и системные каталоги "
 "одновременно\n"
 
-#: reindexdb.c:306
+#: reindexdb.c:307
 #, c-format
 msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: переиндексировать таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:309
+#: reindexdb.c:310
 #, c-format
 msgid "%s: reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: переиндексировать индекс \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:312
+#: reindexdb.c:313
 #, c-format
 msgid "%s: reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: переиндексировать схему \"%s\" в базе \"%s\" не удалось: %s"
 
-#: reindexdb.c:315
+#: reindexdb.c:316
 #, c-format
 msgid "%s: reindexing of database \"%s\" failed: %s"
 msgstr "%s: переиндексировать базу данных \"%s\" не удалось: %s"
 
-#: reindexdb.c:346
+#: reindexdb.c:347
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: переиндексация базы данных \"%s\"\n"
 
-#: reindexdb.c:379
+#: reindexdb.c:380
 #, c-format
 msgid "%s: reindexing of system catalogs failed: %s"
 msgstr "%s: переиндексировать системные каталоги не удалось: %s"
 
-#: reindexdb.c:391
+#: reindexdb.c:392
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -981,39 +1013,39 @@ msgstr ""
 "%s переиндексирует базу данных PostgreSQL.\n"
 "\n"
 
-#: reindexdb.c:395
+#: reindexdb.c:396
 #, c-format
 msgid "  -a, --all                 reindex all databases\n"
 msgstr "  -a, --all                 переиндексировать все базы данных\n"
 
-#: reindexdb.c:396
+#: reindexdb.c:397
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to reindex\n"
 msgstr "  -d, --dbname=БД           имя базы для переиндексации\n"
 
-#: reindexdb.c:398
+#: reindexdb.c:399
 #, c-format
 msgid "  -i, --index=INDEX         recreate specific index(es) only\n"
 msgstr "  -i, --index=ИНДЕКС        пересоздать только указанный индекс(ы)\n"
 
-#: reindexdb.c:400
+#: reindexdb.c:401
 #, c-format
 msgid "  -s, --system              reindex system catalogs\n"
 msgstr "  -s, --system              переиндексировать системные каталоги\n"
 
-#: reindexdb.c:401
+#: reindexdb.c:402
 #, c-format
 msgid "  -S, --schema=SCHEMA       reindex specific schema(s) only\n"
 msgstr ""
 "  -S, --schema=СХЕМА        переиндексировать только указанную схему(ы)\n"
 
-#: reindexdb.c:402
+#: reindexdb.c:403
 #, c-format
 msgid "  -t, --table=TABLE         reindex specific table(s) only\n"
 msgstr ""
 "  -t, --table=ТАБЛИЦА       переиндексировать только указанную таблицу(ы)\n"
 
-#: reindexdb.c:413
+#: reindexdb.c:414
 #, c-format
 msgid ""
 "\n"
@@ -1048,39 +1080,44 @@ msgstr "%s: нельзя очистить все базы данных и одн
 msgid "%s: cannot vacuum specific table(s) in all databases\n"
 msgstr "%s: нельзя очистить одну указанную таблицу(ы) во всех базах\n"
 
-#: vacuumdb.c:363
+#: vacuumdb.c:351
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Вычисление минимальной статистики для оптимизатора (1 запись)"
 
-#: vacuumdb.c:364
+#: vacuumdb.c:352
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Вычисление средней статистики для оптимизатора (10 записей)"
 
-#: vacuumdb.c:365
+#: vacuumdb.c:353
 msgid "Generating default (full) optimizer statistics"
 msgstr "Вычисление стандартной (полной) статистики для оптимизатора"
 
-#: vacuumdb.c:374
+#: vacuumdb.c:362
 #, c-format
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s: обработка базы данных \"%s\": %s\n"
 
-#: vacuumdb.c:377
+#: vacuumdb.c:365
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: очистка базы данных \"%s\"\n"
 
-#: vacuumdb.c:738
+#: vacuumdb.c:695
 #, c-format
 msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: очистить таблицу \"%s\" в базе \"%s\" не удалось: %s"
 
-#: vacuumdb.c:741 vacuumdb.c:858
+#: vacuumdb.c:698 vacuumdb.c:815
 #, c-format
 msgid "%s: vacuuming of database \"%s\" failed: %s"
 msgstr "%s: очистить базу данных \"%s\" не удалось: %s"
 
-#: vacuumdb.c:974
+#: vacuumdb.c:929
+#, c-format
+msgid "%s: invalid socket: %s"
+msgstr "%s: неверный сокет: %s"
+
+#: vacuumdb.c:938
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1089,17 +1126,17 @@ msgstr ""
 "%s очищает и анализирует базу данных PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:978
+#: vacuumdb.c:942
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       очистить все базы данных\n"
 
-#: vacuumdb.c:979
+#: vacuumdb.c:943
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=ИМЯ_БД             очистить указанную базу данных\n"
 
-#: vacuumdb.c:980
+#: vacuumdb.c:944
 #, c-format
 msgid ""
 "  -e, --echo                      show the commands being sent to the "
@@ -1107,19 +1144,19 @@ msgid ""
 msgstr ""
 "  -e, --echo                      отображать команды, отправляемые серверу\n"
 
-#: vacuumdb.c:981
+#: vacuumdb.c:945
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      произвести полную очистку\n"
 
-#: vacuumdb.c:982
+#: vacuumdb.c:946
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr ""
 "  -F, --freeze                    заморозить информацию о транзакциях в "
 "строках\n"
 
-#: vacuumdb.c:983
+#: vacuumdb.c:947
 #, c-format
 msgid ""
 "  -j, --jobs=NUM                  use this many concurrent connections to "
@@ -1128,34 +1165,34 @@ msgstr ""
 "  -j, --jobs=ЧИСЛО                запускать для очистки заданное число "
 "заданий\n"
 
-#: vacuumdb.c:984
+#: vacuumdb.c:948
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     не выводить сообщения\n"
 
-#: vacuumdb.c:985
+#: vacuumdb.c:949
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr ""
 "  -t, --table='ТАБЛ[(СТОЛБЦЫ)]'   очистить только указанную таблицу(ы)\n"
 
-#: vacuumdb.c:986
+#: vacuumdb.c:950
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   выводить исчерпывающие сообщения\n"
 
-#: vacuumdb.c:987
+#: vacuumdb.c:951
 #, c-format
 msgid ""
 "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   показать версию и выйти\n"
 
-#: vacuumdb.c:988
+#: vacuumdb.c:952
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   обновить статистику оптимизатора\n"
 
-#: vacuumdb.c:989
+#: vacuumdb.c:953
 #, c-format
 msgid ""
 "  -Z, --analyze-only              only update optimizer statistics; no "
@@ -1164,7 +1201,7 @@ msgstr ""
 "  -Z, --analyze-only              только обновить статистику оптимизатора,\n"
 "                                  не очищать БД\n"
 
-#: vacuumdb.c:990
+#: vacuumdb.c:954
 #, c-format
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in "
@@ -1176,12 +1213,12 @@ msgstr ""
 "                                  (в несколько проходов для большей "
 "скорости), без очистки\n"
 
-#: vacuumdb.c:992
+#: vacuumdb.c:956
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      показать эту справку и выйти\n"
 
-#: vacuumdb.c:1000
+#: vacuumdb.c:964
 #, c-format
 msgid ""
 "\n"
diff --git a/src/bin/scripts/po/sv.po b/src/bin/scripts/po/sv.po
index 5308219d251c5c2baabf3f6f69d6be645000276c..bfe54b91be04340660dad50957f30ff116c931b8 100644
--- a/src/bin/scripts/po/sv.po
+++ b/src/bin/scripts/po/sv.po
@@ -5,24 +5,25 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 9.4\n"
+"Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-11-28 12:42+0000\n"
-"PO-Revision-Date: 2014-11-28 16:40+0100\n"
+"POT-Creation-Date: 2016-06-06 22:14+0000\n"
+"PO-Revision-Date: 2016-06-07 06:54-0400\n"
 "Last-Translator: Mats Erik Andersson <bsd@gisladisker.se>\n"
 "Language-Team: Swedish <sv@li.org>\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../../common/fe_memutils.c:33 ../../common/fe_memutils.c:60
-#: ../../common/fe_memutils.c:83
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
 #, c-format
 msgid "out of memory\n"
 msgstr "slut på minne\n"
 
-#: ../../common/fe_memutils.c:77
+#: ../../common/fe_memutils.c:92
 #, c-format
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "kan inte duplicera null-pekare (internt fel)\n"
@@ -36,24 +37,52 @@ msgstr "kunde inte slå upp effektivt användar-id %ld: %s"
 msgid "user does not exist"
 msgstr "användaren finns inte"
 
-#: ../../common/username.c:61
-#, c-format
-msgid "user name lookup failure: %s"
+#: ../../common/username.c:62
+#, fuzzy, c-format
+#| msgid "user name lookup failure: %s"
+msgid "user name lookup failure: error code %lu"
 msgstr "misslyckad sökning efter användarnamn: %s"
 
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu rad)"
+msgstr[1] "(%lu rader)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "Avbruten\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr ""
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr ""
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "ogiltigt utdataformat (internt fel): %d"
+
 #: clusterdb.c:110 clusterdb.c:129 createdb.c:119 createdb.c:138
-#: 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
+#: createlang.c:89 createlang.c:119 createlang.c:174 createuser.c:169
+#: createuser.c:184 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
+#: pg_isready.c:93 pg_isready.c:107 reindexdb.c:131 reindexdb.c:150
+#: vacuumdb.c:209 vacuumdb.c:228
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Försök med \"%s --help\" för mer information.\n"
 
-#: 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
+#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:182
+#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:148
+#: vacuumdb.c:226
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: För många kommandoradsargument. Först kommer \"%s\".\n"
@@ -92,21 +121,21 @@ msgstr ""
 "%s klustrar alla tidigare klustrade tabeller i en databas.\n"
 "\n"
 
-#: 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:425
+#: clusterdb.c:262 createdb.c:252 createlang.c:236 createuser.c:349
+#: dropdb.c:155 droplang.c:237 dropuser.c:156 pg_isready.c:222 reindexdb.c:393
+#: vacuumdb.c:939
 #, c-format
 msgid "Usage:\n"
 msgstr "Användning:\n"
 
-#: clusterdb.c:263 reindexdb.c:343 vacuumdb.c:426
+#: clusterdb.c:263 reindexdb.c:394 vacuumdb.c:940
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [FLAGGA]... [DBNAMN]\n"
 
-#: 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:427
+#: clusterdb.c:264 createdb.c:254 createlang.c:238 createuser.c:351
+#: dropdb.c:157 droplang.c:239 dropuser.c:158 pg_isready.c:225 reindexdb.c:395
+#: vacuumdb.c:941
 #, c-format
 msgid ""
 "\n"
@@ -125,13 +154,13 @@ msgstr "  -a, --all                 klustra alla databaser\n"
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=DBNAME       databas att klustra\n"
 
-#: clusterdb.c:267 createlang.c:240 createuser.c:354 dropdb.c:158
-#: droplang.c:241 dropuser.c:159 reindexdb.c:347
+#: clusterdb.c:267 createlang.c:240 createuser.c:355 dropdb.c:158
+#: droplang.c:241 dropuser.c:159 reindexdb.c:398
 #, c-format
 msgid "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                visa kommandon som skickas till servern\n"
 
-#: clusterdb.c:268 reindexdb.c:349
+#: clusterdb.c:268 reindexdb.c:400
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               skriv inte ut några meddelanden\n"
@@ -141,26 +170,26 @@ msgstr "  -q, --quiet               skriv inte ut några meddelanden\n"
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr "  -t, --table=TABELL        klustra denna tabell (får upprepas)\n"
 
-#: clusterdb.c:270
+#: clusterdb.c:270 reindexdb.c:404
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             skriv massor med utdata\n"
 
-#: clusterdb.c:271 createlang.c:242 createuser.c:368 dropdb.c:160
-#: droplang.c:243 dropuser.c:162 reindexdb.c:352
+#: clusterdb.c:271 createlang.c:242 createuser.c:369 dropdb.c:160
+#: droplang.c:243 dropuser.c:162 reindexdb.c:405
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             visa versionsinformation, avsluta sedan\n"
 
-#: clusterdb.c:272 createlang.c:243 createuser.c:373 dropdb.c:162
-#: droplang.c:244 dropuser.c:164 reindexdb.c:353
+#: clusterdb.c:272 createlang.c:243 createuser.c:374 dropdb.c:162
+#: droplang.c:244 dropuser.c:164 reindexdb.c:406
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                visa denna hjälp, avsluta sedan\n"
 
-#: 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:442
+#: clusterdb.c:273 createdb.c:265 createlang.c:244 createuser.c:375
+#: dropdb.c:163 droplang.c:245 dropuser.c:165 pg_isready.c:231 reindexdb.c:407
+#: vacuumdb.c:957
 #, c-format
 msgid ""
 "\n"
@@ -169,37 +198,37 @@ msgstr ""
 "\n"
 "Växlar för förbindelser:\n"
 
-#: clusterdb.c:274 createlang.c:245 createuser.c:375 dropdb.c:164
-#: droplang.c:246 dropuser.c:166 reindexdb.c:355 vacuumdb.c:443
+#: clusterdb.c:274 createlang.c:245 createuser.c:376 dropdb.c:164
+#: droplang.c:246 dropuser.c:166 reindexdb.c:408 vacuumdb.c:958
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr "  -h, --host=VÄRDNAMN       databasens värdnamn eller filkatalog för uttag\n"
 
-#: clusterdb.c:275 createlang.c:246 createuser.c:376 dropdb.c:165
-#: droplang.c:247 dropuser.c:167 reindexdb.c:356 vacuumdb.c:444
+#: clusterdb.c:275 createlang.c:246 createuser.c:377 dropdb.c:165
+#: droplang.c:247 dropuser.c:167 reindexdb.c:409 vacuumdb.c:959
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PORT           databasens tjänsteport\n"
 
 #: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
-#: reindexdb.c:357 vacuumdb.c:445
+#: reindexdb.c:410 vacuumdb.c:960
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=ANVÄNDARE  användarnamn vid förbindelsen\n"
 
-#: clusterdb.c:277 createlang.c:248 createuser.c:378 dropdb.c:167
-#: droplang.c:249 dropuser.c:169 reindexdb.c:358 vacuumdb.c:446
+#: clusterdb.c:277 createlang.c:248 createuser.c:379 dropdb.c:167
+#: droplang.c:249 dropuser.c:169 reindexdb.c:411 vacuumdb.c:961
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         ingen efterfrågan av lösenord\n"
 
-#: clusterdb.c:278 createlang.c:249 createuser.c:379 dropdb.c:168
-#: droplang.c:250 dropuser.c:170 reindexdb.c:359 vacuumdb.c:447
+#: clusterdb.c:278 createlang.c:249 createuser.c:380 dropdb.c:168
+#: droplang.c:250 dropuser.c:170 reindexdb.c:412 vacuumdb.c:962
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            framtvinga fråga om lösenord\n"
 
-#: clusterdb.c:279 dropdb.c:169 reindexdb.c:360 vacuumdb.c:448
+#: clusterdb.c:279 dropdb.c:169 reindexdb.c:413 vacuumdb.c:963
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=DBNAMN   annat val av underhållsdatabas\n"
@@ -213,9 +242,9 @@ msgstr ""
 "\n"
 "Läs beskrivningen av SQL-kommandot CLUSTER för detaljer.\n"
 
-#: 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:450
+#: clusterdb.c:281 createdb.c:273 createlang.c:250 createuser.c:381
+#: dropdb.c:170 droplang.c:251 dropuser.c:171 pg_isready.c:236 reindexdb.c:415
+#: vacuumdb.c:965
 #, c-format
 msgid ""
 "\n"
@@ -224,58 +253,59 @@ msgstr ""
 "\n"
 "Rapportera fel till <pgsql-bugs@postgresql.org>.\n"
 
-#: common.c:69 common.c:115
+#: common.c:82 common.c:128
 msgid "Password: "
 msgstr "Lösenord: "
 
-#: common.c:104
-#, c-format
-msgid "%s: could not connect to database %s\n"
+#: common.c:113
+#, fuzzy, c-format
+#| msgid "%s: could not connect to database %s\n"
+msgid "%s: could not connect to database %s: out of memory\n"
 msgstr "%s: Kunde inte skapa förbindelse med databas %s.\n"
 
-#: common.c:131
+#: common.c:141
 #, c-format
 msgid "%s: could not connect to database %s: %s"
 msgstr "%s: Kunde inte skapa förbindelse med databas %s: %s"
 
-#: common.c:180 common.c:208
+#: common.c:190 common.c:218
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: Fråga misslyckades: %s"
 
-#: common.c:182 common.c:210
+#: common.c:192 common.c:220
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: Frågan var: %s\n"
 
 #. translator: abbreviation for "yes"
-#: common.c:251
+#: common.c:261
 msgid "y"
 msgstr "j"
 
 #. translator: abbreviation for "no"
-#: common.c:253
+#: common.c:263
 msgid "n"
 msgstr "n"
 
 #. translator: This is a question followed by the translated options for
 #. "yes" and "no".
-#: common.c:263
+#: common.c:273
 #, c-format
 msgid "%s (%s/%s) "
 msgstr "%s (%s/%s) "
 
-#: common.c:284
+#: common.c:294
 #, c-format
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Var vänlig att svara \"%s\" eller \"%s\".\n"
 
-#: common.c:362 common.c:395
+#: common.c:373 common.c:410
 #, c-format
 msgid "Cancel request sent\n"
 msgstr "Avbrottsbegäran skickad.\n"
 
-#: common.c:364 common.c:397
+#: common.c:376 common.c:414
 #, c-format
 msgid "Could not send cancel request: %s"
 msgstr "Kunde inte skicka avbrottsbegäran: %s"
@@ -467,46 +497,46 @@ msgstr "  -d, --dbname=DBNAMN       databas där språket installeras\n"
 msgid "  -l, --list                show a list of currently installed languages\n"
 msgstr "  -l, --list                lista alla nu installerade språk\n"
 
-#: createuser.c:190
+#: createuser.c:191
 msgid "Enter name of role to add: "
 msgstr "Giv namnet på den roll som skall läggas till: "
 
-#: createuser.c:205
+#: createuser.c:206
 msgid "Enter password for new role: "
 msgstr "Uppgiv lösenord för den nya rollen: "
 
-#: createuser.c:206
+#: createuser.c:207
 msgid "Enter it again: "
 msgstr "Uppgiv det igen: "
 
-#: createuser.c:209
+#: createuser.c:210
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Lösenorden stämmer inte överens.\n"
 
-#: createuser.c:218
+#: createuser.c:219
 msgid "Shall the new role be a superuser?"
 msgstr "Skall den nya rollen vara en superanvändare?"
 
-#: createuser.c:233
+#: createuser.c:234
 msgid "Shall the new role be allowed to create databases?"
 msgstr "Skall den nya rollen tillåtas skapa databaser?"
 
-#: createuser.c:241
+#: createuser.c:242
 msgid "Shall the new role be allowed to create more new roles?"
 msgstr "Skall den nya rollen tillåtas skapa fler nya roller?"
 
-#: createuser.c:275
+#: createuser.c:276
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Misslyckad lösenordskryptering.\n"
 
-#: createuser.c:332
+#: createuser.c:333
 #, c-format
 msgid "%s: creation of new role failed: %s"
 msgstr "%s: Misslyckades med att skapa ny roll: %s"
 
-#: createuser.c:347
+#: createuser.c:348
 #, c-format
 msgid ""
 "%s creates a new PostgreSQL role.\n"
@@ -515,37 +545,37 @@ msgstr ""
 "%s skapar en ny roll för PostgreSQL.\n"
 "\n"
 
-#: createuser.c:349 dropuser.c:157
+#: createuser.c:350 dropuser.c:157
 #, c-format
 msgid "  %s [OPTION]... [ROLENAME]\n"
 msgstr "  %s [FLAGGA]... [ROLLNAMN]\n"
 
-#: createuser.c:351
+#: createuser.c:352
 #, c-format
 msgid "  -c, --connection-limit=N  connection limit for role (default: no limit)\n"
 msgstr "  -c, --connection-limit=N  anslutningstak för rollen (standard: ingen gräns)\n"
 
-#: createuser.c:352
+#: createuser.c:353
 #, c-format
 msgid "  -d, --createdb            role can create new databases\n"
 msgstr "  -d, --createdb            rollen kan skapa nya databaser\n"
 
-#: createuser.c:353
+#: createuser.c:354
 #, c-format
 msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr "  -D, --no-createdb         rollen kan inte skapa databaser (standard)\n"
 
-#: createuser.c:355
+#: createuser.c:356
 #, c-format
 msgid "  -E, --encrypted           encrypt stored password\n"
 msgstr "  -E, --encrypted           lösenordet skall sparas krypterat\n"
 
-#: createuser.c:356
+#: createuser.c:357
 #, c-format
 msgid "  -g, --role=ROLE           new role will be a member of this role\n"
 msgstr "  -g, --role=ROLL           rollen skapas som medlem av ROLL\n"
 
-#: createuser.c:357
+#: createuser.c:358
 #, c-format
 msgid ""
 "  -i, --inherit             role inherits privileges of roles it is a\n"
@@ -554,52 +584,52 @@ msgstr ""
 "  -i, --inherit             rollen ärver rättigheter från var roll den\n"
 "                            är medlem av (standard)\n"
 
-#: createuser.c:359
+#: createuser.c:360
 #, c-format
 msgid "  -I, --no-inherit          role does not inherit privileges\n"
 msgstr "  -I, --no-inherit          rollen ärver inga rättigheter\n"
 
-#: createuser.c:360
+#: createuser.c:361
 #, c-format
 msgid "  -l, --login               role can login (default)\n"
 msgstr "  -l, --login               rollen kan logga in (standard)\n"
 
-#: createuser.c:361
+#: createuser.c:362
 #, c-format
 msgid "  -L, --no-login            role cannot login\n"
 msgstr "  -L, --no-login            rollen kan inte logga in\n"
 
-#: createuser.c:362
+#: createuser.c:363
 #, c-format
 msgid "  -N, --unencrypted         do not encrypt stored password\n"
 msgstr "  -N, --unencrypted         lösenordet sparas okrypterat\n"
 
-#: createuser.c:363
+#: createuser.c:364
 #, c-format
 msgid "  -P, --pwprompt            assign a password to new role\n"
 msgstr "  -P, --pwprompt            tilldela den nya rollen ett lösenord\n"
 
-#: createuser.c:364
+#: createuser.c:365
 #, c-format
 msgid "  -r, --createrole          role can create new roles\n"
 msgstr "  -r, --createrole          rollen kan skapa nya roller\n"
 
-#: createuser.c:365
+#: createuser.c:366
 #, c-format
 msgid "  -R, --no-createrole       role cannot create roles (default)\n"
 msgstr "  -R, --no-createrole       rollen kan inte skapa roller (standard)\n"
 
-#: createuser.c:366
+#: createuser.c:367
 #, c-format
 msgid "  -s, --superuser           role will be superuser\n"
 msgstr "  -s, --superuser           rollen är en superanvändare\n"
 
-#: createuser.c:367
+#: createuser.c:368
 #, c-format
 msgid "  -S, --no-superuser        role will not be superuser (default)\n"
 msgstr "  -S, --no-superuser        rollen är inte superanvändare (standard)\n"
 
-#: createuser.c:369
+#: createuser.c:370
 #, c-format
 msgid ""
 "  --interactive             prompt for missing role name and attributes rather\n"
@@ -608,17 +638,17 @@ msgstr ""
 "  --interactive             fråga efter rollnamn och egenskaper, snarare än\n"
 "                            att falla tillbaka på förval\n"
 
-#: createuser.c:371
+#: createuser.c:372
 #, c-format
 msgid "  --replication             role can initiate replication\n"
 msgstr "  --replication             rollen kan begära replikation\n"
 
-#: createuser.c:372
+#: createuser.c:373
 #, c-format
 msgid "  --no-replication          role cannot initiate replication\n"
 msgstr "  --no-replication          rollen får inte begära replikation\n"
 
-#: createuser.c:377
+#: createuser.c:378
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
 msgstr "  -U, --username=ANVÄNDARE  användarnamn vid förbindelsen (inte ny roll)\n"
@@ -830,62 +860,80 @@ msgstr ""
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr "  -U, --username=ANVÄNDARE användarnamn vid förbindelsen\n"
 
-#: reindexdb.c:149
+#: reindexdb.c:160
 #, c-format
 msgid "%s: cannot reindex all databases and a specific one at the same time\n"
 msgstr "%s: Kan inte nyindexera alla databaser och samtidigt en specifik databas.\n"
 
-#: reindexdb.c:154
+#: reindexdb.c:165
 #, c-format
 msgid "%s: cannot reindex all databases and system catalogs at the same time\n"
 msgstr "%s: Kan inte indexera alla databaser samtidigt med systemkatalogerna.\n"
 
-#: reindexdb.c:159
+#: reindexdb.c:170
+#, fuzzy, c-format
+#| msgid "%s: cannot reindex specific table(s) in all databases\n"
+msgid "%s: cannot reindex specific schema(s) in all databases\n"
+msgstr "%s: Kan inte indexera specifik tabell i alla databaser.\n"
+
+#: reindexdb.c:175
 #, c-format
 msgid "%s: cannot reindex specific table(s) in all databases\n"
 msgstr "%s: Kan inte indexera specifik tabell i alla databaser.\n"
 
-#: reindexdb.c:164
+#: reindexdb.c:180
 #, c-format
 msgid "%s: cannot reindex specific index(es) in all databases\n"
 msgstr "%s: Kan inte återskapa specifikt index i alla databaser.\n"
 
-#: reindexdb.c:175
+#: reindexdb.c:191
+#, fuzzy, c-format
+#| msgid "%s: cannot reindex specific table(s) and system catalogs at the same time\n"
+msgid "%s: cannot reindex specific schema(s) and system catalogs at the same time\n"
+msgstr "%s: Kan inte indexera specifik tabell och systemkatalogerna samtidigt.\n"
+
+#: reindexdb.c:196
 #, c-format
 msgid "%s: cannot reindex specific table(s) and system catalogs at the same time\n"
 msgstr "%s: Kan inte indexera specifik tabell och systemkatalogerna samtidigt.\n"
 
-#: reindexdb.c:180
+#: reindexdb.c:201
 #, c-format
 msgid "%s: cannot reindex specific index(es) and system catalogs at the same time\n"
 msgstr "%s: Kan inte återskapa specifikt index och systemkatalogerna samtidigt.\n"
 
-#: reindexdb.c:264
+#: reindexdb.c:307
 #, c-format
 msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: Misslyckad indexering av tabell \"%s\" i databasen \"%s\": %s"
 
-#: reindexdb.c:267
+#: reindexdb.c:310
 #, c-format
 msgid "%s: reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "%s: Misslyckad indexering av index \"%s\" i databasen \"%s\": %s"
 
-#: reindexdb.c:270
+#: reindexdb.c:313
+#, fuzzy, c-format
+#| msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
+msgid "%s: reindexing of schema \"%s\" in database \"%s\" failed: %s"
+msgstr "%s: Misslyckad indexering av tabell \"%s\" i databasen \"%s\": %s"
+
+#: reindexdb.c:316
 #, c-format
 msgid "%s: reindexing of database \"%s\" failed: %s"
 msgstr "%s: Misslyckad indexering av databasen \"%s\": %s"
 
-#: reindexdb.c:301
+#: reindexdb.c:347
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: Nyindexering av databasen \"%s\".\n"
 
-#: reindexdb.c:329
+#: reindexdb.c:380
 #, c-format
 msgid "%s: reindexing of system catalogs failed: %s"
 msgstr "%s: Misslyckad indexering av systemkatalogerna: %s"
 
-#: reindexdb.c:341
+#: reindexdb.c:392
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -894,32 +942,38 @@ msgstr ""
 "%s indexerar en PostgreSQL-databas på nytt.\n"
 "\n"
 
-#: reindexdb.c:345
+#: reindexdb.c:396
 #, c-format
 msgid "  -a, --all                 reindex all databases\n"
 msgstr "  -a, --all                 nyindexera alla databaser\n"
 
-#: reindexdb.c:346
+#: reindexdb.c:397
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to reindex\n"
 msgstr "  -d, --dbname=DBNAME       databas att nyindexera\n"
 
-#: reindexdb.c:348
+#: reindexdb.c:399
 #, c-format
 msgid "  -i, --index=INDEX         recreate specific index(es) only\n"
 msgstr "  -i, --index=INDEX         återskapa enbart detta index (får upprepas)\n"
 
-#: reindexdb.c:350
+#: reindexdb.c:401
 #, c-format
 msgid "  -s, --system              reindex system catalogs\n"
 msgstr "  -s, --system              nyindexera systemkatalogerna\n"
 
-#: reindexdb.c:351
+#: reindexdb.c:402
+#, fuzzy, c-format
+#| msgid "  -n, --schema=SCHEMA         dump the named schema(s) only\n"
+msgid "  -S, --schema=SCHEMA       reindex specific schema(s) only\n"
+msgstr "  -n, --schema=SCHEMA         dumpa bara de namngivna scheman\n"
+
+#: reindexdb.c:403
 #, c-format
 msgid "  -t, --table=TABLE         reindex specific table(s) only\n"
 msgstr "  -t, --table=TABELL        nyindexera endast denna tabell (får upprepas)\n"
 
-#: reindexdb.c:361
+#: reindexdb.c:414
 #, c-format
 msgid ""
 "\n"
@@ -928,54 +982,73 @@ msgstr ""
 "\n"
 "Läs beskrivningen av SQL-kommandot REINDEX för detaljer.\n"
 
-#: vacuumdb.c:167
-#, c-format
-msgid "%s: cannot use the \"full\" option when performing only analyze\n"
-msgstr "%s: Växeln \"full\" kan inte utföras med enbart analys.\n"
+#: vacuumdb.c:191
+#, fuzzy, c-format
+#| msgid "length for type %s must be at least 1"
+msgid "%s: number of parallel jobs must be at least 1\n"
+msgstr "längden för typ %s måste vara minst 1"
 
-#: vacuumdb.c:173
+#: vacuumdb.c:197
 #, c-format
-msgid "%s: cannot use the \"freeze\" option when performing only analyze\n"
-msgstr "%s: Växeln \"freeze\" kan inte utföras med enbart analys.\n"
+msgid "%s: too many parallel jobs requested (maximum: %d)\n"
+msgstr ""
 
-#: vacuumdb.c:186
+#: vacuumdb.c:236 vacuumdb.c:242
+#, fuzzy, c-format
+#| msgid "%s: cannot use the \"full\" option when performing only analyze\n"
+msgid "%s: cannot use the \"%s\" option when performing only analyze\n"
+msgstr "%s: Växeln \"full\" kan inte utföras med enbart analys.\n"
+
+#: vacuumdb.c:259
 #, c-format
 msgid "%s: cannot vacuum all databases and a specific one at the same time\n"
 msgstr "%s: Kan inte städa i alla databaser och samtidigt i ytterligare en.\n"
 
-#: vacuumdb.c:192
+#: vacuumdb.c:265
 #, c-format
 msgid "%s: cannot vacuum specific table(s) in all databases\n"
 msgstr "%s: Kan inte städa en specifik tabell i alla databaser.\n"
 
-#: vacuumdb.c:244
-#, c-format
-msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
-msgstr "%s: Misslyckad städning av tabell \"%s\" i databasen \"%s\": %s"
-
-#: vacuumdb.c:247
-#, c-format
-msgid "%s: vacuuming of database \"%s\" failed: %s"
-msgstr "%s: Misslyckad städning i databasen \"%s\": %s"
-
-#: vacuumdb.c:333
+#: vacuumdb.c:351
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Skapar minsta optimeringsstatistik, för ett mål."
 
-#: vacuumdb.c:334
+#: vacuumdb.c:352
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Skapar mellanstor optimeringsstatistik, för tio mål."
 
-#: vacuumdb.c:335
+#: vacuumdb.c:353
 msgid "Generating default (full) optimizer statistics"
 msgstr "Skapar förvald, en fullstor, optimeringsstatistik."
 
-#: vacuumdb.c:406
+#: vacuumdb.c:362
+#, fuzzy, c-format
+#| msgid "%s: clustering database \"%s\"\n"
+msgid "%s: processing database \"%s\": %s\n"
+msgstr "%s: Klustring av databasen \"%s\".\n"
+
+#: vacuumdb.c:365
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: Utför vacuum i databasen \"%s\".\n"
 
-#: vacuumdb.c:424
+#: vacuumdb.c:695
+#, c-format
+msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
+msgstr "%s: Misslyckad städning av tabell \"%s\" i databasen \"%s\": %s"
+
+#: vacuumdb.c:698 vacuumdb.c:815
+#, c-format
+msgid "%s: vacuuming of database \"%s\" failed: %s"
+msgstr "%s: Misslyckad städning i databasen \"%s\": %s"
+
+#: vacuumdb.c:929
+#, fuzzy, c-format
+#| msgid "%s: invalid argument: %s\n"
+msgid "%s: invalid socket: %s"
+msgstr "%s: Ogiltigt argument: %s\n"
+
+#: vacuumdb.c:938
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -984,76 +1057,86 @@ msgstr ""
 "%s städar och analyserar en PostgreSQL-databas.\n"
 "\n"
 
-#: vacuumdb.c:428
+#: vacuumdb.c:942
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       städar i alla databaser\n"
 
-#: vacuumdb.c:429
+#: vacuumdb.c:943
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=DBNAMN             databas att utföra vacuum i\n"
 
-#: vacuumdb.c:430
+#: vacuumdb.c:944
 #, c-format
 msgid "  -e, --echo                      show the commands being sent to the server\n"
 msgstr "  -e, --echo                      visa kommandon som skickas till servern\n"
 
-#: vacuumdb.c:431
+#: vacuumdb.c:945
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      utför full städning\n"
 
-#: vacuumdb.c:432
+#: vacuumdb.c:946
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr "  -F, --freeze                    fixera utsagor om radtransaktioner\n"
 
-#: vacuumdb.c:433
+#: vacuumdb.c:947
+#, fuzzy, c-format
+#| msgid "  -e, --echo                   show the commands being sent to the server\n"
+msgid "  -j, --jobs=NUM                  use this many concurrent connections to vacuum\n"
+msgstr "  -e, --echo                   visa kommandon som skickas till servern\n"
+
+#: vacuumdb.c:948
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     skriv inte ut några meddelanden\n"
 
-#: vacuumdb.c:434
+#: vacuumdb.c:949
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr "  -t, --table='TABELL[(SPALTER)]' städa enbart i dessa tabeller\n"
 
-#: vacuumdb.c:435
+#: vacuumdb.c:950
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   skriv massor med utdata\n"
 
-#: vacuumdb.c:436
+#: vacuumdb.c:951
 #, c-format
 msgid "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   visa versionsinformation, avsluta sedan\n"
 
-#: vacuumdb.c:437
+#: vacuumdb.c:952
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   uppdatera optimeringsstatistik\n"
 
-#: vacuumdb.c:438
-#, c-format
-msgid "  -Z, --analyze-only              only update optimizer statistics\n"
+#: vacuumdb.c:953
+#, fuzzy, c-format
+#| msgid "  -Z, --analyze-only              only update optimizer statistics\n"
+msgid "  -Z, --analyze-only              only update optimizer statistics; no vacuum\n"
 msgstr "  -Z, --analyze-only              uppdatera bara optimeringsstatistik\n"
 
-#: vacuumdb.c:439
-#, c-format
+#: vacuumdb.c:954
+#, fuzzy, c-format
+#| msgid ""
+#| "      --analyze-in-stages         only update optimizer statistics, in multiple\n"
+#| "                                  stages for faster results\n"
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in multiple\n"
-"                                  stages for faster results\n"
+"                                  stages for faster results; no vacuum\n"
 msgstr ""
 "      --analyze-in-stages         uppdatera bara optimeringsstatistik, men i\n"
 "                                  flera steg för snabbare utfall\n"
 
-#: vacuumdb.c:441
+#: vacuumdb.c:956
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      visa denna hjälp, avsluta sedan\n"
 
-#: vacuumdb.c:449
+#: vacuumdb.c:964
 #, c-format
 msgid ""
 "\n"
@@ -1061,3 +1144,6 @@ msgid ""
 msgstr ""
 "\n"
 "Läs beskrivningen av SQL-kommandot VACUUM för detaljer.\n"
+
+#~ msgid "%s: cannot use the \"freeze\" option when performing only analyze\n"
+#~ msgstr "%s: Växeln \"freeze\" kan inte utföras med enbart analys.\n"
diff --git a/src/bin/scripts/po/zh_CN.po b/src/bin/scripts/po/zh_CN.po
index 786e75e0ffac6228b40ee9163e0785c498881deb..35b06bcba9fd27400c8a5301b4df10679762b05f 100644
--- a/src/bin/scripts/po/zh_CN.po
+++ b/src/bin/scripts/po/zh_CN.po
@@ -6,15 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pgscripts (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:44+0000\n"
-"PO-Revision-Date: 2015-12-02 14:46+0800\n"
+"POT-Creation-Date: 2016-04-18 04:44+0000\n"
+"PO-Revision-Date: 2016-05-19 20:42+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.7\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98
@@ -42,18 +43,45 @@ msgstr "用户不存在"
 msgid "user name lookup failure: error code %lu"
 msgstr "用户名查找失败:错误代码%lu"
 
+# print.c:1202
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu 行记录)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "已中断\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr "无法对表的内容增加标题:已经超过%d列的数量.\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr "无法对表的内容添加单元: 总共有%d个单元超过.\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "无效的输出格式 (内部错误): %d"
+
 #: clusterdb.c:110 clusterdb.c:129 createdb.c:119 createdb.c:138
-#: 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
+#: createlang.c:89 createlang.c:119 createlang.c:174 createuser.c:169
+#: createuser.c:184 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:130 reindexdb.c:149
+#: pg_isready.c:93 pg_isready.c:107 reindexdb.c:131 reindexdb.c:150
 #: vacuumdb.c:209 vacuumdb.c:228
 #, 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:181
-#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:147
+#: clusterdb.c:127 createdb.c:136 createlang.c:117 createuser.c:182
+#: dropdb.c:109 droplang.c:116 dropuser.c:102 pg_isready.c:105 reindexdb.c:148
 #: vacuumdb.c:226
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
@@ -93,21 +121,21 @@ msgstr ""
 "%s 对一个数据库中先前已经建过簇的表进行建簇.\n"
 "\n"
 
-#: 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:392
-#: vacuumdb.c:975
+#: clusterdb.c:262 createdb.c:252 createlang.c:236 createuser.c:349
+#: dropdb.c:155 droplang.c:237 dropuser.c:156 pg_isready.c:222 reindexdb.c:393
+#: vacuumdb.c:939
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
-#: clusterdb.c:263 reindexdb.c:393 vacuumdb.c:976
+#: clusterdb.c:263 reindexdb.c:394 vacuumdb.c:940
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [选项]... [数据库名]\n"
 
-#: 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:394
-#: vacuumdb.c:977
+#: clusterdb.c:264 createdb.c:254 createlang.c:238 createuser.c:351
+#: dropdb.c:157 droplang.c:239 dropuser.c:158 pg_isready.c:225 reindexdb.c:395
+#: vacuumdb.c:941
 #, c-format
 msgid ""
 "\n"
@@ -126,14 +154,14 @@ msgstr "  -a, --all                 对所有数据库建簇\n"
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=DBNAME       对数据库 DBNAME 建簇\n"
 
-#: clusterdb.c:267 createlang.c:240 createuser.c:354 dropdb.c:158
-#: droplang.c:241 dropuser.c:159 reindexdb.c:397
+#: clusterdb.c:267 createlang.c:240 createuser.c:355 dropdb.c:158
+#: droplang.c:241 dropuser.c:159 reindexdb.c:398
 #, c-format
 msgid ""
 "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                显示发送到服务端的命令\n"
 
-#: clusterdb.c:268 reindexdb.c:399
+#: clusterdb.c:268 reindexdb.c:400
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               不写任何信息\n"
@@ -143,26 +171,26 @@ msgstr "  -q, --quiet               不写任何信息\n"
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr "  -t, --table=TABLE         只对指定的表建簇\n"
 
-#: clusterdb.c:270 reindexdb.c:403
+#: clusterdb.c:270 reindexdb.c:404
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose                   写大量的输出\n"
 
-#: clusterdb.c:271 createlang.c:242 createuser.c:368 dropdb.c:160
-#: droplang.c:243 dropuser.c:162 reindexdb.c:404
+#: clusterdb.c:271 createlang.c:242 createuser.c:369 dropdb.c:160
+#: droplang.c:243 dropuser.c:162 reindexdb.c:405
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             输出版本信息, 然后退出\n"
 
-#: clusterdb.c:272 createlang.c:243 createuser.c:373 dropdb.c:162
-#: droplang.c:244 dropuser.c:164 reindexdb.c:405
+#: clusterdb.c:272 createlang.c:243 createuser.c:374 dropdb.c:162
+#: droplang.c:244 dropuser.c:164 reindexdb.c:406
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                显示此帮助, 然后退出\n"
 
-#: 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:406
-#: vacuumdb.c:993
+#: clusterdb.c:273 createdb.c:265 createlang.c:244 createuser.c:375
+#: dropdb.c:163 droplang.c:245 dropuser.c:165 pg_isready.c:231 reindexdb.c:407
+#: vacuumdb.c:957
 #, c-format
 msgid ""
 "\n"
@@ -171,37 +199,37 @@ msgstr ""
 "\n"
 "联接选项:\n"
 
-#: clusterdb.c:274 createlang.c:245 createuser.c:375 dropdb.c:164
-#: droplang.c:246 dropuser.c:166 reindexdb.c:407 vacuumdb.c:994
+#: clusterdb.c:274 createlang.c:245 createuser.c:376 dropdb.c:164
+#: droplang.c:246 dropuser.c:166 reindexdb.c:408 vacuumdb.c:958
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr "  -h, --host=HOSTNAM        数据库服务器所在机器的主机名或套接字目录\n"
 
-#: clusterdb.c:275 createlang.c:246 createuser.c:376 dropdb.c:165
-#: droplang.c:247 dropuser.c:167 reindexdb.c:408 vacuumdb.c:995
+#: clusterdb.c:275 createlang.c:246 createuser.c:377 dropdb.c:165
+#: droplang.c:247 dropuser.c:167 reindexdb.c:409 vacuumdb.c:959
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PORT           数据库服务器端口号\n"
 
 #: clusterdb.c:276 createlang.c:247 dropdb.c:166 droplang.c:248
-#: reindexdb.c:409 vacuumdb.c:996
+#: reindexdb.c:410 vacuumdb.c:960
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=USERNAME   联接的用户名\n"
 
-#: clusterdb.c:277 createlang.c:248 createuser.c:378 dropdb.c:167
-#: droplang.c:249 dropuser.c:169 reindexdb.c:410 vacuumdb.c:997
+#: clusterdb.c:277 createlang.c:248 createuser.c:379 dropdb.c:167
+#: droplang.c:249 dropuser.c:169 reindexdb.c:411 vacuumdb.c:961
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         永远不提示输入口令\n"
 
-#: clusterdb.c:278 createlang.c:249 createuser.c:379 dropdb.c:168
-#: droplang.c:250 dropuser.c:170 reindexdb.c:411 vacuumdb.c:998
+#: clusterdb.c:278 createlang.c:249 createuser.c:380 dropdb.c:168
+#: droplang.c:250 dropuser.c:170 reindexdb.c:412 vacuumdb.c:962
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            强制提示输入口令\n"
 
-#: clusterdb.c:279 dropdb.c:169 reindexdb.c:412 vacuumdb.c:999
+#: clusterdb.c:279 dropdb.c:169 reindexdb.c:413 vacuumdb.c:963
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=DBNAME   更改维护数据库\n"
@@ -215,9 +243,9 @@ msgstr ""
 "\n"
 "阅读 SQL 命令 CLUSTER 的描述信息, 以便获得更详细的信息.\n"
 
-#: 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:414
-#: vacuumdb.c:1001
+#: clusterdb.c:281 createdb.c:273 createlang.c:250 createuser.c:381
+#: dropdb.c:170 droplang.c:251 dropuser.c:171 pg_isready.c:236 reindexdb.c:415
+#: vacuumdb.c:965
 #, c-format
 msgid ""
 "\n"
@@ -226,60 +254,59 @@ msgstr ""
 "\n"
 "臭虫报告至 <pgsql-bugs@postgresql.org>.\n"
 
-#: common.c:73 common.c:123
+#: common.c:82 common.c:128
 msgid "Password: "
 msgstr "口令: "
 
-#: common.c:105
+#: common.c:113
 #, c-format
-#| msgid "%s: could not connect to database %s\n"
 msgid "%s: could not connect to database %s: out of memory\n"
 msgstr "%s:无法连接到数据库 %s:内存不足\n"
 
-#: common.c:139
+#: common.c:141
 #, c-format
 msgid "%s: could not connect to database %s: %s"
 msgstr "%s: 无法联接到数据库 %s: %s"
 
-#: common.c:188 common.c:216
+#: common.c:190 common.c:218
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: 查询失败: %s"
 
-#: common.c:190 common.c:218
+#: common.c:192 common.c:220
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: 查询是: %s\n"
 
 #. translator: abbreviation for "yes"
-#: common.c:259
+#: common.c:261
 msgid "y"
 msgstr "y"
 
 #. translator: abbreviation for "no"
-#: common.c:261
+#: common.c:263
 msgid "n"
 msgstr "n"
 
 #. translator: This is a question followed by the translated options for
 #. "yes" and "no".
-#: common.c:271
+#: common.c:273
 #, c-format
 msgid "%s (%s/%s) "
 msgstr "%s (%s/%s) "
 
-#: common.c:292
+#: common.c:294
 #, c-format
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "请回答\"%s\"或\"%s\".\n"
 
-#: common.c:371 common.c:408
+#: common.c:373 common.c:410
 #, c-format
 msgid "Cancel request sent\n"
 msgstr "取消发送的请求\n"
 
 # fe-connect.c:1322
-#: common.c:374 common.c:412
+#: common.c:376 common.c:414
 #, c-format
 msgid "Could not send cancel request: %s"
 msgstr "无法发送取消请求: %s"
@@ -475,46 +502,46 @@ msgid ""
 "  -l, --list                show a list of currently installed languages\n"
 msgstr "  -l, --list                显示当前已经安装了的语言列表\n"
 
-#: createuser.c:190
+#: createuser.c:191
 msgid "Enter name of role to add: "
 msgstr "输入要增加的角色名称: "
 
-#: createuser.c:205
+#: createuser.c:206
 msgid "Enter password for new role: "
 msgstr "为新角色输入的口令: "
 
-#: createuser.c:206
+#: createuser.c:207
 msgid "Enter it again: "
 msgstr "再输入一遍: "
 
-#: createuser.c:209
+#: createuser.c:210
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "口令不匹配.\n"
 
-#: createuser.c:218
+#: createuser.c:219
 msgid "Shall the new role be a superuser?"
 msgstr "新的角色是否是超级用户?"
 
-#: createuser.c:233
+#: createuser.c:234
 msgid "Shall the new role be allowed to create databases?"
 msgstr "新的角色允许创建数据库吗?"
 
-#: createuser.c:241
+#: createuser.c:242
 msgid "Shall the new role be allowed to create more new roles?"
 msgstr "新角色允许创建其它新的角色吗? "
 
-#: createuser.c:275
+#: createuser.c:276
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "密码加密失败.\n"
 
-#: createuser.c:332
+#: createuser.c:333
 #, c-format
 msgid "%s: creation of new role failed: %s"
 msgstr "%s: 创建新用户失败: %s"
 
-#: createuser.c:347
+#: createuser.c:348
 #, c-format
 msgid ""
 "%s creates a new PostgreSQL role.\n"
@@ -523,38 +550,38 @@ msgstr ""
 "%s 创建一个新的 PostgreSQL 用户.\n"
 "\n"
 
-#: createuser.c:349 dropuser.c:157
+#: createuser.c:350 dropuser.c:157
 #, c-format
 msgid "  %s [OPTION]... [ROLENAME]\n"
 msgstr "  %s [选项]... [用户名]\n"
 
-#: createuser.c:351
+#: createuser.c:352
 #, c-format
 msgid ""
 "  -c, --connection-limit=N  connection limit for role (default: no limit)\n"
 msgstr "  -c, --connection-limit=N  角色的连接限制(缺省: 没有限制)\n"
 
-#: createuser.c:352
+#: createuser.c:353
 #, c-format
 msgid "  -d, --createdb            role can create new databases\n"
 msgstr "  -d, --createdb            此角色可以创建新数据库\n"
 
-#: createuser.c:353
+#: createuser.c:354
 #, c-format
 msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr "  -D, --no-createdb         此角色不可以创建新数据库(默认)\n"
 
-#: createuser.c:355
+#: createuser.c:356
 #, c-format
 msgid "  -E, --encrypted           encrypt stored password\n"
 msgstr "  -E, --encrypted           口令加密存储\n"
 
-#: createuser.c:356
+#: createuser.c:357
 #, c-format
 msgid "  -g, --role=ROLE           new role will be a member of this role\n"
 msgstr "  -g, --role=ROLE           新的角色必须是这个角色的成员\n"
 
-#: createuser.c:357
+#: createuser.c:358
 #, c-format
 msgid ""
 "  -i, --inherit             role inherits privileges of roles it is a\n"
@@ -563,52 +590,52 @@ msgstr ""
 "  -i, --inherit            角色能够继承它所属角色的权限\n"
 "                   (这是缺省情况)\n"
 
-#: createuser.c:359
+#: createuser.c:360
 #, c-format
 msgid "  -I, --no-inherit          role does not inherit privileges\n"
 msgstr "  -I, --no-inherit          角色不继承权限\n"
 
-#: createuser.c:360
+#: createuser.c:361
 #, c-format
 msgid "  -l, --login               role can login (default)\n"
 msgstr "  -l, --login              角色能够登录(这是缺省情况)\n"
 
-#: createuser.c:361
+#: createuser.c:362
 #, c-format
 msgid "  -L, --no-login            role cannot login\n"
 msgstr "  -L, --no-login            角色不能登录\n"
 
-#: createuser.c:362
+#: createuser.c:363
 #, c-format
 msgid "  -N, --unencrypted         do not encrypt stored password\n"
 msgstr "  -N, --unencrypted         口令不加密存储\n"
 
-#: createuser.c:363
+#: createuser.c:364
 #, c-format
 msgid "  -P, --pwprompt            assign a password to new role\n"
 msgstr "  -P, --pwprompt            给新角色指定口令\n"
 
-#: createuser.c:364
+#: createuser.c:365
 #, c-format
 msgid "  -r, --createrole          role can create new roles\n"
 msgstr "  -r, --createrole        这个角色可以创建新的角色\n"
 
-#: createuser.c:365
+#: createuser.c:366
 #, c-format
 msgid "  -R, --no-createrole       role cannot create roles (default)\n"
 msgstr "  -R, --no-createrole       这个角色没有创建其它角色的权限(默认)\n"
 
-#: createuser.c:366
+#: createuser.c:367
 #, c-format
 msgid "  -s, --superuser           role will be superuser\n"
 msgstr "  -s, --superuser          角色将是超级用户\n"
 
-#: createuser.c:367
+#: createuser.c:368
 #, c-format
 msgid "  -S, --no-superuser        role will not be superuser (default)\n"
 msgstr "  -S, --no-superuser       角色不能是超级用户(默认)\n"
 
-#: createuser.c:369
+#: createuser.c:370
 #, c-format
 msgid ""
 "  --interactive             prompt for missing role name and attributes "
@@ -618,17 +645,17 @@ msgstr ""
 "  --interactive             提示缺少角色名及其属性\n"
 "                            而不是使用默认值\n"
 
-#: createuser.c:371
+#: createuser.c:372
 #, c-format
 msgid "  --replication             role can initiate replication\n"
 msgstr "  --replication             角色能启动复制\n"
 
-#: createuser.c:372
+#: createuser.c:373
 #, c-format
 msgid "  --no-replication          role cannot initiate replication\n"
 msgstr "  --no-replication          角色不能启动复制\n"
 
-#: createuser.c:377
+#: createuser.c:378
 #, c-format
 msgid ""
 "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
@@ -777,13 +804,11 @@ msgstr "%s: 无法取得缺省选项\n"
 
 #: pg_isready.c:199
 #, c-format
-#| msgid "Server started and accepting connections\n"
 msgid "accepting connections\n"
 msgstr "接受连接\n"
 
 #: pg_isready.c:202
 #, c-format
-#| msgid "Server started and accepting connections\n"
 msgid "rejecting connections\n"
 msgstr "拒绝连接\n"
 
@@ -799,7 +824,6 @@ msgstr "没有尝试\n"
 
 #: pg_isready.c:211
 #, c-format
-#| msgid "[unknown]"
 msgid "unknown\n"
 msgstr "未知\n"
 
@@ -860,85 +884,80 @@ msgstr ""
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr "  -U, --username=USERNAME   连接的用户名\n"
 
-#: reindexdb.c:159
+#: reindexdb.c:160
 #, c-format
 msgid "%s: cannot reindex all databases and a specific one at the same time\n"
 msgstr "%s: 无法对所有数据库和一个指定的索引同时进行索引重建操作\n"
 
-#: reindexdb.c:164
+#: reindexdb.c:165
 #, c-format
 msgid "%s: cannot reindex all databases and system catalogs at the same time\n"
 msgstr "%s: 无法对所有数据库和系统目录同时进行索引重建操作\n"
 
-#: reindexdb.c:169
+#: reindexdb.c:170
 #, c-format
-#| msgid "%s: cannot reindex specific table(s) in all databases\n"
 msgid "%s: cannot reindex specific schema(s) in all databases\n"
 msgstr "%s: 无法在所有数据库中对指定模式上的索引进行重建\n"
 
-#: reindexdb.c:174
+#: reindexdb.c:175
 #, c-format
 msgid "%s: cannot reindex specific table(s) in all databases\n"
 msgstr "%s: 无法在所有数据库中对指定表上的索引进行重建\n"
 
-#: reindexdb.c:179
+#: reindexdb.c:180
 #, c-format
 msgid "%s: cannot reindex specific index(es) in all databases\n"
 msgstr "%s: 无法在所有数据库中对指定的索引进行重建\n"
 
-#: reindexdb.c:190
+#: reindexdb.c:191
 #, c-format
-#| msgid ""
-#| "%s: cannot reindex specific table(s) and system catalogs at the same "
-#| "time\n"
 msgid ""
 "%s: cannot reindex specific schema(s) and system catalogs at the same time\n"
 msgstr "%s:无法对指定的模式和系统目录同时进行索引重建\n"
 
-#: reindexdb.c:195
+#: reindexdb.c:196
 #, c-format
 msgid ""
 "%s: cannot reindex specific table(s) and system catalogs at the same time\n"
 msgstr "%s: 无法对指定的表和系统视图同时进行索引重建操作\n"
 
-#: reindexdb.c:200
+#: reindexdb.c:201
 #, c-format
 msgid ""
 "%s: cannot reindex specific index(es) and system catalogs at the same time\n"
 msgstr "%s: 无法对指定索引和系统视图同时进行索引重建操作\n"
 
-#: reindexdb.c:306
+#: reindexdb.c:307
 #, c-format
 msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%1$s: 在数据库\"%3$s\"中对表\"%2$s\"上的索引重新创建失败: %4$s"
 
-#: reindexdb.c:309
+#: reindexdb.c:310
 #, c-format
 msgid "%s: reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "%1$s: 在数据库\"%3$s\"中对索引\"%2$s\"重新创建失败: %4$s"
 
-#: reindexdb.c:312
+#: reindexdb.c:313
 #, c-format
-#| msgid "%s: reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgid "%s: reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "%1$s: 在数据库\"%3$s\"中对模式\"%2$s\"的索引重建失败:%4$s"
 
-#: reindexdb.c:315
+#: reindexdb.c:316
 #, c-format
 msgid "%s: reindexing of database \"%s\" failed: %s"
 msgstr "%s: 在数据库\"%s\"上重新创建索引失败: %s"
 
-#: reindexdb.c:346
+#: reindexdb.c:347
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: 对数据库 \"%s\" 重新创建索引\n"
 
-#: reindexdb.c:379
+#: reindexdb.c:380
 #, c-format
 msgid "%s: reindexing of system catalogs failed: %s"
 msgstr "%s: 对目录视图重新创建索引失败: %s"
 
-#: reindexdb.c:391
+#: reindexdb.c:392
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -947,38 +966,37 @@ msgstr ""
 "%s  对一个PostgreSQL 数据库重新创建索引.\n"
 "\n"
 
-#: reindexdb.c:395
+#: reindexdb.c:396
 #, c-format
 msgid "  -a, --all                 reindex all databases\n"
 msgstr "  -a, --all                 对所有数据库进行重建索引操作\n"
 
-#: reindexdb.c:396
+#: reindexdb.c:397
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to reindex\n"
 msgstr "  -d, --dbname=数据库名称       对数据库中的索引进行重建\n"
 
-#: reindexdb.c:398
+#: reindexdb.c:399
 #, c-format
 msgid "  -i, --index=INDEX         recreate specific index(es) only\n"
 msgstr "  -i, --index=INDEX       仅重新创建指定的索引\n"
 
-#: reindexdb.c:400
+#: reindexdb.c:401
 #, c-format
 msgid "  -s, --system              reindex system catalogs\n"
 msgstr "  -s, --system              对系统视图重新创建索引\n"
 
-#: reindexdb.c:401
+#: reindexdb.c:402
 #, c-format
-#| msgid "  -n, --schema=SCHEMA          dump the named schema(s) only\n"
 msgid "  -S, --schema=SCHEMA       reindex specific schema(s) only\n"
 msgstr "  -S, --schema=SCHEMA       只对指定模式重建索引\n"
 
-#: reindexdb.c:402
+#: reindexdb.c:403
 #, c-format
 msgid "  -t, --table=TABLE         reindex specific table(s) only\n"
 msgstr "  -t, --table=表名        只对指定的表重新创建索引\n"
 
-#: reindexdb.c:413
+#: reindexdb.c:414
 #, c-format
 msgid ""
 "\n"
@@ -989,7 +1007,6 @@ msgstr ""
 
 #: vacuumdb.c:191
 #, c-format
-#| msgid "%s: maximum number of parallel jobs is %d\n"
 msgid "%s: number of parallel jobs must be at least 1\n"
 msgstr "%s:并行工作的数量必须至少为1\n"
 
@@ -1000,7 +1017,6 @@ msgstr "%s:请求了太多并行任务(最大:%d)\n"
 
 #: vacuumdb.c:236 vacuumdb.c:242
 #, c-format
-#| msgid "%s: cannot use the \"full\" option when performing only analyze\n"
 msgid "%s: cannot use the \"%s\" option when performing only analyze\n"
 msgstr "%s:在只执行分析的时候,无法使用\"%s\"选项\n"
 
@@ -1014,40 +1030,45 @@ msgstr "%s: 无法对所有数据库和一个指定的数据库同时清理\n"
 msgid "%s: cannot vacuum specific table(s) in all databases\n"
 msgstr "%s: 无法在所有数据库中对指定的表进行清理\n"
 
-#: vacuumdb.c:363
+#: vacuumdb.c:351
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "产生最小优化器统计(一个目标)"
 
-#: vacuumdb.c:364
+#: vacuumdb.c:352
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "产生中等优化器统计(10个目标)"
 
-#: vacuumdb.c:365
+#: vacuumdb.c:353
 msgid "Generating default (full) optimizer statistics"
 msgstr "产生缺省(完全)优化器统计"
 
-#: vacuumdb.c:374
+#: vacuumdb.c:362
 #, c-format
-#| msgid "%s: clustering database \"%s\"\n"
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s:处理数据库\"%s\":%s\n"
 
-#: vacuumdb.c:377
+#: vacuumdb.c:365
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: 清理数据库 \"%s\"\n"
 
-#: vacuumdb.c:738
+#: vacuumdb.c:695
 #, c-format
 msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "%1$s: 在数据库 \"%3$s\" 中的表 \"%2$s\" 清理失败: %4$s"
 
-#: vacuumdb.c:741 vacuumdb.c:858
+#: vacuumdb.c:698 vacuumdb.c:815
 #, c-format
 msgid "%s: vacuuming of database \"%s\" failed: %s"
 msgstr "%s: 数据库 \"%s\" 清理失败: %s"
 
-#: vacuumdb.c:974
+#: vacuumdb.c:929
+#, c-format
+#| msgid "%s: invalid option %s\n"
+msgid "%s: invalid socket: %s"
+msgstr "%s: 无效套接字: %s"
+
+#: vacuumdb.c:938
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1056,81 +1077,75 @@ msgstr ""
 "%s 清理并且优化一个 PostgreSQL 数据库.\n"
 "\n"
 
-#: vacuumdb.c:978
+#: vacuumdb.c:942
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       清理所有的数据库\n"
 
-#: vacuumdb.c:979
+#: vacuumdb.c:943
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=DBNAME             清理数据库 DBNAME\n"
 
-#: vacuumdb.c:980
+#: vacuumdb.c:944
 #, c-format
 msgid ""
 "  -e, --echo                      show the commands being sent to the "
 "server\n"
 msgstr "  -e, --echo                      显示发送到服务端的命令\n"
 
-#: vacuumdb.c:981
+#: vacuumdb.c:945
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      完全清理\n"
 
-#: vacuumdb.c:982
+#: vacuumdb.c:946
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr "  -F, --freeze                    冻结记录的事务信息\n"
 
-#: vacuumdb.c:983
+#: vacuumdb.c:947
 #, c-format
-#| msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgid ""
 "  -j, --jobs=NUM                  use this many concurrent connections to "
 "vacuum\n"
 msgstr "  -j, --jobs=NUM               使用这么多个并发连接进行清理\n"
 
-#: vacuumdb.c:984
+#: vacuumdb.c:948
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     不写任何信息\n"
 
-#: vacuumdb.c:985
+#: vacuumdb.c:949
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr "  -t, --table='TABLE[(COLUMNS)]'  只清理指定的表\n"
 
-#: vacuumdb.c:986
+#: vacuumdb.c:950
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   写大量的输出\n"
 
-#: vacuumdb.c:987
+#: vacuumdb.c:951
 #, c-format
 msgid ""
 "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   输出版本信息, 然后退出\n"
 
-#: vacuumdb.c:988
+#: vacuumdb.c:952
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   更新优化器统计\n"
 
-#: vacuumdb.c:989
+#: vacuumdb.c:953
 #, c-format
-#| msgid "  -Z, --analyze-only              only update optimizer statistics\n"
 msgid ""
 "  -Z, --analyze-only              only update optimizer statistics; no "
 "vacuum\n"
 msgstr "  -Z, --analyze-only               只更新优化器统计信息,但不做清理\n"
 
-#: vacuumdb.c:990
+#: vacuumdb.c:954
 #, c-format
-#| msgid ""
-#| "      --analyze-in-stages         only update optimizer statistics, in "
-#| "multiple\n"
-#| "                                  stages for faster results\n"
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in "
 "multiple\n"
@@ -1140,12 +1155,12 @@ msgstr ""
 "段;\n"
 "                                            不做清理\n"
 
-#: vacuumdb.c:992
+#: vacuumdb.c:956
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      显示此帮助信息, 然后退出\n"
 
-#: vacuumdb.c:1000
+#: vacuumdb.c:964
 #, c-format
 msgid ""
 "\n"
@@ -1154,80 +1169,80 @@ msgstr ""
 "\n"
 "阅读 SQL 命令 VACUUM 的描述信息, 以便获得更详细的信息.\n"
 
-#~ msgid "%s: could not obtain information about current user: %s\n"
-#~ msgstr "%s: 无法获得当前用户的信息: %s\n"
+#~ msgid "user name lookup failure: %s"
+#~ msgstr "用户名查找失败: %s"
 
-#~ msgid "%s: could not get current user name: %s\n"
-#~ msgstr "%s: 无法获取当前用户名称: %s\n"
+#~ msgid "%s: cannot use the \"freeze\" option when performing only analyze\n"
+#~ msgstr "%s: 当只执行分析的时候,无法使用选项\"freeze\"\n"
 
-#~ msgid "  --help                       show this help, then exit\n"
-#~ msgstr "  --help                       显示此帮助信息, 然后退出\n"
+#~ msgid "%s: out of memory\n"
+#~ msgstr "%s: 内存溢出\n"
 
 #~ msgid ""
-#~ "  --version                    output version information, then exit\n"
-#~ msgstr "  --versoin                    输出版本信息, 然后退出\n"
+#~ "  -D, --location=PATH       alternative place to store the database\n"
+#~ msgstr "  -D, --location=PATH       选择一个地方存放数据库\n"
 
-#~ msgid "  --help                    show this help, then exit\n"
-#~ msgstr "  --help                    显示此帮助信息, 然后退出\n"
+#~ msgid "  -W, --password            prompt for password to connect\n"
+#~ msgstr "  -W, --password            联接提示口令输入\n"
 
-#~ msgid "  --version                 output version information, then exit\n"
-#~ msgstr "  --version                 输出版本信息, 然后退出\n"
+#~ msgid "  -i, --sysid=SYSID         select sysid for new user\n"
+#~ msgstr "  -i, --sysid=SYSID         选择一个 sysid 给新用户\n"
+
+#~ msgid "%s: user ID must be a positive number\n"
+#~ msgstr "%s: 用户 ID 必需为一个正数\n"
 
 #~ msgid ""
-#~ "\n"
-#~ "If one of -d, -D, -r, -R, -s, -S, and ROLENAME is not specified, you "
-#~ "will\n"
-#~ "be prompted interactively.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "如果 -d, -D, -r, -R, -s, -S 和 ROLENAME 一个都没有指定,将使用交互式提示\n"
-#~ "ä½ .\n"
+#~ "  -L, --pglib=DIRECTORY     find language interpreter file in DIRECTORY\n"
+#~ msgstr "  -L, --pglib=DIRECTORY     在 DIRECTORY 目录中查找语言翻译文件\n"
 
 #~ msgid ""
-#~ "%s: still %s functions declared in language \"%s\"; language not removed\n"
-#~ msgstr "%s: 函数 %s 是用语言 \"%s\" 声明的; 语言未被删除\n"
+#~ "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and "
+#~ "plpythonu.\n"
+#~ msgstr ""
+#~ "已支持的语言有 plpgsql, pltcl, pltclu, plperl, plperlu, 和 plpythonu.\n"
 
-#~ msgid "  --help                          show this help, then exit\n"
-#~ msgstr "  --help                          显示此帮助信息, 然后退出\n"
+#~ msgid "%s: unsupported language \"%s\"\n"
+#~ msgstr "%s: 不支持语言 \"%s\"\n"
+
+#~ msgid "  -q, --quiet                  don't write any messages\n"
+#~ msgstr "  -q, --quiet                  不写任何信息\n"
 
 #~ msgid ""
 #~ "  --version                       output version information, then exit\n"
 #~ msgstr "  --versoin                       输出版本信息, 然后退出\n"
 
-#~ msgid "  -q, --quiet                  don't write any messages\n"
-#~ msgstr "  -q, --quiet                  不写任何信息\n"
-
-#~ msgid "%s: unsupported language \"%s\"\n"
-#~ msgstr "%s: 不支持语言 \"%s\"\n"
+#~ msgid "  --help                          show this help, then exit\n"
+#~ msgstr "  --help                          显示此帮助信息, 然后退出\n"
 
 #~ msgid ""
-#~ "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and "
-#~ "plpythonu.\n"
-#~ msgstr ""
-#~ "已支持的语言有 plpgsql, pltcl, pltclu, plperl, plperlu, 和 plpythonu.\n"
+#~ "%s: still %s functions declared in language \"%s\"; language not removed\n"
+#~ msgstr "%s: 函数 %s 是用语言 \"%s\" 声明的; 语言未被删除\n"
 
 #~ msgid ""
-#~ "  -L, --pglib=DIRECTORY     find language interpreter file in DIRECTORY\n"
-#~ msgstr "  -L, --pglib=DIRECTORY     在 DIRECTORY 目录中查找语言翻译文件\n"
-
-#~ msgid "%s: user ID must be a positive number\n"
-#~ msgstr "%s: 用户 ID 必需为一个正数\n"
+#~ "\n"
+#~ "If one of -d, -D, -r, -R, -s, -S, and ROLENAME is not specified, you "
+#~ "will\n"
+#~ "be prompted interactively.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "如果 -d, -D, -r, -R, -s, -S 和 ROLENAME 一个都没有指定,将使用交互式提示\n"
+#~ "ä½ .\n"
 
-#~ msgid "  -i, --sysid=SYSID         select sysid for new user\n"
-#~ msgstr "  -i, --sysid=SYSID         选择一个 sysid 给新用户\n"
+#~ msgid "  --version                 output version information, then exit\n"
+#~ msgstr "  --version                 输出版本信息, 然后退出\n"
 
-#~ msgid "  -W, --password            prompt for password to connect\n"
-#~ msgstr "  -W, --password            联接提示口令输入\n"
+#~ msgid "  --help                    show this help, then exit\n"
+#~ msgstr "  --help                    显示此帮助信息, 然后退出\n"
 
 #~ msgid ""
-#~ "  -D, --location=PATH       alternative place to store the database\n"
-#~ msgstr "  -D, --location=PATH       选择一个地方存放数据库\n"
+#~ "  --version                    output version information, then exit\n"
+#~ msgstr "  --versoin                    输出版本信息, 然后退出\n"
 
-#~ msgid "%s: out of memory\n"
-#~ msgstr "%s: 内存溢出\n"
+#~ msgid "  --help                       show this help, then exit\n"
+#~ msgstr "  --help                       显示此帮助信息, 然后退出\n"
 
-#~ msgid "%s: cannot use the \"freeze\" option when performing only analyze\n"
-#~ msgstr "%s: 当只执行分析的时候,无法使用选项\"freeze\"\n"
+#~ msgid "%s: could not get current user name: %s\n"
+#~ msgstr "%s: 无法获取当前用户名称: %s\n"
 
-#~ msgid "user name lookup failure: %s"
-#~ msgstr "用户名查找失败: %s"
+#~ msgid "%s: could not obtain information about current user: %s\n"
+#~ msgstr "%s: 无法获得当前用户的信息: %s\n"
diff --git a/src/interfaces/libpq/po/ru.po b/src/interfaces/libpq/po/ru.po
index 3661d90073c9e4216f4ded5812e3ecb73eef52e8..a80bfdba52ab94fbe9a222267acf001b146e9cff 100644
--- a/src/interfaces/libpq/po/ru.po
+++ b/src/interfaces/libpq/po/ru.po
@@ -25,7 +25,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-07-22 00:08+0000\n"
+"POT-Creation-Date: 2016-05-27 16:08+0000\n"
 "PO-Revision-Date: 2015-07-22 16:24+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgtranslation-translators@pgfoundry.org>\n"
@@ -42,7 +42,7 @@ msgstr ""
 msgid "GSSAPI continuation error"
 msgstr "ошибка продолжения в GSSAPI"
 
-#: fe-auth.c:177 fe-auth.c:410
+#: fe-auth.c:177 fe-auth.c:412
 msgid "host name must be specified\n"
 msgstr "требуется указать имя сервера\n"
 
@@ -50,14 +50,14 @@ msgstr "требуется указать имя сервера\n"
 msgid "duplicate GSS authentication request\n"
 msgstr "повторный запрос аутентификации GSS\n"
 
-#: fe-auth.c:197 fe-auth.c:307 fe-auth.c:381 fe-auth.c:416 fe-auth.c:512
-#: fe-auth.c:778 fe-connect.c:701 fe-connect.c:898 fe-connect.c:1074
-#: fe-connect.c:2085 fe-connect.c:3477 fe-connect.c:3729 fe-connect.c:3848
-#: fe-connect.c:4088 fe-connect.c:4168 fe-connect.c:4267 fe-connect.c:4519
-#: fe-connect.c:4548 fe-connect.c:4620 fe-connect.c:4638 fe-connect.c:4734
-#: fe-connect.c:5068 fe-connect.c:5218 fe-exec.c:3339 fe-exec.c:3504
-#: fe-lobj.c:896 fe-protocol2.c:1206 fe-protocol3.c:1571
-#: fe-secure-openssl.c:527 fe-secure-openssl.c:1069
+#: fe-auth.c:197 fe-auth.c:309 fe-auth.c:383 fe-auth.c:418 fe-auth.c:514
+#: fe-auth.c:780 fe-connect.c:707 fe-connect.c:904 fe-connect.c:1080
+#: fe-connect.c:2091 fe-connect.c:3484 fe-connect.c:3736 fe-connect.c:3855
+#: fe-connect.c:4095 fe-connect.c:4175 fe-connect.c:4274 fe-connect.c:4526
+#: fe-connect.c:4555 fe-connect.c:4627 fe-connect.c:4645 fe-connect.c:4741
+#: fe-connect.c:5075 fe-connect.c:5225 fe-exec.c:2634 fe-exec.c:3381
+#: fe-exec.c:3546 fe-lobj.c:896 fe-protocol2.c:1206 fe-protocol3.c:992
+#: fe-protocol3.c:1678 fe-secure-openssl.c:551 fe-secure-openssl.c:1093
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
 
@@ -65,74 +65,74 @@ msgstr "нехватка памяти\n"
 msgid "GSSAPI name import error"
 msgstr "ошибка импорта имени в GSSAPI"
 
-#: fe-auth.c:296
+#: fe-auth.c:298
 msgid "SSPI continuation error"
 msgstr "ошибка продолжения в SSPI"
 
-#: fe-auth.c:396
+#: fe-auth.c:398
 msgid "could not acquire SSPI credentials"
 msgstr "не удалось получить удостоверение SSPI"
 
-#: fe-auth.c:487
+#: fe-auth.c:489
 msgid "SCM_CRED authentication method not supported\n"
 msgstr "аутентификация SCM_CRED не поддерживается\n"
 
-#: fe-auth.c:563
+#: fe-auth.c:565
 msgid "Kerberos 4 authentication not supported\n"
 msgstr "аутентификация Kerberos 4 не поддерживается\n"
 
-#: fe-auth.c:568
+#: fe-auth.c:570
 msgid "Kerberos 5 authentication not supported\n"
 msgstr "аутентификация Kerberos 5 не поддерживается\n"
 
-#: fe-auth.c:639
+#: fe-auth.c:641
 msgid "GSSAPI authentication not supported\n"
 msgstr "аутентификация через GSSAPI не поддерживается\n"
 
-#: fe-auth.c:671
+#: fe-auth.c:673
 msgid "SSPI authentication not supported\n"
 msgstr "аутентификация через SSPI не поддерживается\n"
 
-#: fe-auth.c:679
+#: fe-auth.c:681
 msgid "Crypt authentication not supported\n"
 msgstr "аутентификация Crypt не поддерживается\n"
 
-#: fe-auth.c:706
+#: fe-auth.c:708
 #, c-format
 msgid "authentication method %u not supported\n"
 msgstr "метод аутентификации %u не поддерживается\n"
 
-#: fe-auth.c:753
+#: fe-auth.c:755
 #, c-format
 msgid "user name lookup failure: error code %lu\n"
 msgstr "распознать имя пользователя не удалось (код ошибки: %lu)\n"
 
-#: fe-auth.c:763 fe-connect.c:2012
+#: fe-auth.c:765 fe-connect.c:2018
 #, c-format
 msgid "could not look up local user ID %d: %s\n"
 msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s\n"
 
-#: fe-auth.c:768 fe-connect.c:2017
+#: fe-auth.c:770 fe-connect.c:2023
 #, c-format
 msgid "local user with ID %d does not exist\n"
 msgstr "локальный пользователь с ID %d не существует\n"
 
-#: fe-connect.c:840
+#: fe-connect.c:846
 #, c-format
 msgid "invalid sslmode value: \"%s\"\n"
 msgstr "неверное значение sslmode: \"%s\"\n"
 
-#: fe-connect.c:861
+#: fe-connect.c:867
 #, c-format
 msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n"
 msgstr "значение sslmode \"%s\" недопустимо для сборки без поддержки SSL\n"
 
-#: fe-connect.c:1098
+#: fe-connect.c:1104
 #, c-format
 msgid "could not set socket to TCP no delay mode: %s\n"
 msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s\n"
 
-#: fe-connect.c:1128
+#: fe-connect.c:1134
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -143,7 +143,7 @@ msgstr ""
 "\tОн действительно работает локально и принимает\n"
 "\tсоединения через доменный сокет \"%s\"?\n"
 
-#: fe-connect.c:1183
+#: fe-connect.c:1189
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -154,7 +154,7 @@ msgstr ""
 "\tОн действительно работает по адресу \"%s\" (%s)\n"
 "\t и принимает TCP-соединения (порт %s)?\n"
 
-#: fe-connect.c:1192
+#: fe-connect.c:1198
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -165,243 +165,243 @@ msgstr ""
 "\tОн действительно работает по адресу \"%s\"\n"
 "\t и принимает TCP-соединения (порт %s)?\n"
 
-#: fe-connect.c:1243
+#: fe-connect.c:1249
 #, c-format
 msgid "setsockopt(TCP_KEEPIDLE) failed: %s\n"
 msgstr "ошибка в setsockopt(TCP_KEEPIDLE): %s\n"
 
-#: fe-connect.c:1256
+#: fe-connect.c:1262
 #, c-format
 msgid "setsockopt(TCP_KEEPALIVE) failed: %s\n"
 msgstr "ошибка в setsockopt(TCP_KEEPALIVE): %s\n"
 
-#: fe-connect.c:1288
+#: fe-connect.c:1294
 #, c-format
 msgid "setsockopt(TCP_KEEPINTVL) failed: %s\n"
 msgstr "ошибка в setsockopt(TCP_KEEPINTVL): %s\n"
 
-#: fe-connect.c:1320
+#: fe-connect.c:1326
 #, c-format
 msgid "setsockopt(TCP_KEEPCNT) failed: %s\n"
 msgstr "ошибка в setsockopt(TCP_KEEPCNT): %s\n"
 
-#: fe-connect.c:1368
+#: fe-connect.c:1374
 #, c-format
 msgid "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui\n"
 msgstr "ошибка в WSAIoctl(SIO_KEEPALIVE_VALS): %ui\n"
 
-#: fe-connect.c:1420
+#: fe-connect.c:1426
 #, c-format
 msgid "invalid port number: \"%s\"\n"
 msgstr "неверный номер порта: \"%s\"\n"
 
-#: fe-connect.c:1453
+#: fe-connect.c:1459
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n"
 msgstr "длина пути доменного сокета \"%s\" превышает предел (%d байт)\n"
 
-#: fe-connect.c:1472
+#: fe-connect.c:1478
 #, c-format
 msgid "could not translate host name \"%s\" to address: %s\n"
 msgstr "преобразовать имя \"%s\" в адрес не удалось: %s\n"
 
-#: fe-connect.c:1476
+#: fe-connect.c:1482
 #, c-format
 msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n"
 msgstr ""
 "преобразовать путь к доменному сокету UNIX \"%s\" в адрес не удалось: %s\n"
 
-#: fe-connect.c:1681
+#: fe-connect.c:1687
 msgid "invalid connection state, probably indicative of memory corruption\n"
 msgstr "неверное состояние соединения - возможно разрушение памяти\n"
 
-#: fe-connect.c:1721
+#: fe-connect.c:1727
 #, c-format
 msgid "could not create socket: %s\n"
 msgstr "не удалось создать сокет: %s\n"
 
-#: fe-connect.c:1743
+#: fe-connect.c:1749
 #, c-format
 msgid "could not set socket to nonblocking mode: %s\n"
 msgstr "не удалось перевести сокет в неблокирующий режим: %s\n"
 
-#: fe-connect.c:1754
+#: fe-connect.c:1760
 #, c-format
 msgid "could not set socket to close-on-exec mode: %s\n"
 msgstr ""
 "не удалось перевести сокет в режим закрытия при выполнении (close-on-exec): "
 "%s\n"
 
-#: fe-connect.c:1773
+#: fe-connect.c:1779
 msgid "keepalives parameter must be an integer\n"
 msgstr "параметр keepalives должен быть целым числом\n"
 
-#: fe-connect.c:1786
+#: fe-connect.c:1792
 #, c-format
 msgid "setsockopt(SO_KEEPALIVE) failed: %s\n"
 msgstr "ошибка в setsockopt(SO_KEEPALIVE): %s\n"
 
-#: fe-connect.c:1923
+#: fe-connect.c:1929
 #, c-format
 msgid "could not get socket error status: %s\n"
 msgstr "не удалось получить статус ошибки сокета: %s\n"
 
-#: fe-connect.c:1957
+#: fe-connect.c:1963
 #, c-format
 msgid "could not get client address from socket: %s\n"
 msgstr "не удалось получить адрес клиента из сокета: %s\n"
 
-#: fe-connect.c:1999
+#: fe-connect.c:2005
 msgid "requirepeer parameter is not supported on this platform\n"
 msgstr "параметр requirepeer не поддерживается в этой ОС\n"
 
-#: fe-connect.c:2002
+#: fe-connect.c:2008
 #, c-format
 msgid "could not get peer credentials: %s\n"
 msgstr "не удалось получить учётные данные сервера: %s\n"
 
-#: fe-connect.c:2025
+#: fe-connect.c:2031
 #, c-format
 msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n"
 msgstr ""
 "requirepeer допускает подключение только к \"%s\", но сервер работает под "
 "именем \"%s\"\n"
 
-#: fe-connect.c:2059
+#: fe-connect.c:2065
 #, c-format
 msgid "could not send SSL negotiation packet: %s\n"
 msgstr "не удалось отправить пакет согласования SSL: %s\n"
 
-#: fe-connect.c:2098
+#: fe-connect.c:2104
 #, c-format
 msgid "could not send startup packet: %s\n"
 msgstr "не удалось отправить стартовый пакет: %s\n"
 
-#: fe-connect.c:2168
+#: fe-connect.c:2174
 msgid "server does not support SSL, but SSL was required\n"
 msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL\n"
 
-#: fe-connect.c:2194
+#: fe-connect.c:2200
 #, c-format
 msgid "received invalid response to SSL negotiation: %c\n"
 msgstr "получен неверный ответ на согласование SSL: %c\n"
 
-#: fe-connect.c:2269 fe-connect.c:2302
+#: fe-connect.c:2275 fe-connect.c:2308
 #, c-format
 msgid "expected authentication request from server, but received %c\n"
 msgstr "ожидался запрос аутентификации от сервера, но получено: %c\n"
 
-#: fe-connect.c:2469
+#: fe-connect.c:2475
 #, c-format
 msgid "out of memory allocating GSSAPI buffer (%d)"
 msgstr "недостаточно памяти для буфера GSSAPI (%d)"
 
-#: fe-connect.c:2554
+#: fe-connect.c:2560
 msgid "unexpected message from server during startup\n"
 msgstr "неожиданное сообщение от сервера в начале работы\n"
 
-#: fe-connect.c:2648
+#: fe-connect.c:2654
 #, c-format
 msgid "invalid connection state %d, probably indicative of memory corruption\n"
 msgstr "неверное состояние соединения %d - возможно разрушение памяти\n"
 
-#: fe-connect.c:3083 fe-connect.c:3143
+#: fe-connect.c:3090 fe-connect.c:3150
 #, c-format
 msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n"
 msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_CONNRESET\n"
 
-#: fe-connect.c:3490
+#: fe-connect.c:3497
 #, c-format
 msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n"
 msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://\n"
 
-#: fe-connect.c:3505
+#: fe-connect.c:3512
 #, c-format
 msgid "invalid LDAP URL \"%s\": missing distinguished name\n"
 msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя\n"
 
-#: fe-connect.c:3516 fe-connect.c:3569
+#: fe-connect.c:3523 fe-connect.c:3576
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n"
 msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут\n"
 
-#: fe-connect.c:3526 fe-connect.c:3583
+#: fe-connect.c:3533 fe-connect.c:3590
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n"
 msgstr ""
 "некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)\n"
 
-#: fe-connect.c:3537
+#: fe-connect.c:3544
 #, c-format
 msgid "invalid LDAP URL \"%s\": no filter\n"
 msgstr "некорректный адрес LDAP \"%s\": нет фильтра\n"
 
-#: fe-connect.c:3558
+#: fe-connect.c:3565
 #, c-format
 msgid "invalid LDAP URL \"%s\": invalid port number\n"
 msgstr "некорректный адрес LDAP \"%s\": неверный номер порта\n"
 
-#: fe-connect.c:3592
+#: fe-connect.c:3599
 msgid "could not create LDAP structure\n"
 msgstr "не удалось создать структуру LDAP\n"
 
-#: fe-connect.c:3668
+#: fe-connect.c:3675
 #, c-format
 msgid "lookup on LDAP server failed: %s\n"
 msgstr "ошибка поиска на сервере LDAP: %s\n"
 
-#: fe-connect.c:3679
+#: fe-connect.c:3686
 msgid "more than one entry found on LDAP lookup\n"
 msgstr "при поиске LDAP найдено более одного вхождения\n"
 
-#: fe-connect.c:3680 fe-connect.c:3692
+#: fe-connect.c:3687 fe-connect.c:3699
 msgid "no entry found on LDAP lookup\n"
 msgstr "при поиске LDAP ничего не найдено\n"
 
-#: fe-connect.c:3703 fe-connect.c:3716
+#: fe-connect.c:3710 fe-connect.c:3723
 msgid "attribute has no values on LDAP lookup\n"
 msgstr "атрибут не содержит значений при поиске LDAP\n"
 
-#: fe-connect.c:3768 fe-connect.c:3787 fe-connect.c:4306
+#: fe-connect.c:3775 fe-connect.c:3794 fe-connect.c:4313
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string\n"
 msgstr "в строке соединения нет \"=\" после \"%s\"\n"
 
-#: fe-connect.c:3860 fe-connect.c:4487 fe-connect.c:5201
+#: fe-connect.c:3867 fe-connect.c:4494 fe-connect.c:5208
 #, c-format
 msgid "invalid connection option \"%s\"\n"
 msgstr "неверный параметр соединения \"%s\"\n"
 
-#: fe-connect.c:3876 fe-connect.c:4355
+#: fe-connect.c:3883 fe-connect.c:4362
 msgid "unterminated quoted string in connection info string\n"
 msgstr "в строке соединения не хватает закрывающей кавычки\n"
 
-#: fe-connect.c:3916
+#: fe-connect.c:3923
 msgid "could not get home directory to locate service definition file"
 msgstr ""
 "не удалось получить домашний каталог для загрузки файла определений служб"
 
-#: fe-connect.c:3949
+#: fe-connect.c:3956
 #, c-format
 msgid "definition of service \"%s\" not found\n"
 msgstr "определение службы \"%s\" не найдено\n"
 
-#: fe-connect.c:3972
+#: fe-connect.c:3979
 #, c-format
 msgid "service file \"%s\" not found\n"
 msgstr "файл определений служб \"%s\" не найден\n"
 
-#: fe-connect.c:3985
+#: fe-connect.c:3992
 #, c-format
 msgid "line %d too long in service file \"%s\"\n"
 msgstr "слишком длинная строка (%d) в файле определений служб \"%s\"\n"
 
-#: fe-connect.c:4056 fe-connect.c:4100
+#: fe-connect.c:4063 fe-connect.c:4107
 #, c-format
 msgid "syntax error in service file \"%s\", line %d\n"
 msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)\n"
 
-#: fe-connect.c:4067
+#: fe-connect.c:4074
 #, c-format
 msgid ""
 "nested service specifications not supported in service file \"%s\", line %d\n"
@@ -409,24 +409,24 @@ msgstr ""
 "рекурсивные определения служб не поддерживаются (файл определения служб \"%s"
 "\", строка %d)\n"
 
-#: fe-connect.c:4745
+#: fe-connect.c:4752
 #, c-format
 msgid "invalid URI propagated to internal parser routine: \"%s\"\n"
 msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\"\n"
 
-#: fe-connect.c:4815
+#: fe-connect.c:4822
 #, c-format
 msgid ""
 "end of string reached when looking for matching \"]\" in IPv6 host address "
 "in URI: \"%s\"\n"
 msgstr "URI не содержит символ \"]\" после адреса IPv6: \"%s\"\n"
 
-#: fe-connect.c:4822
+#: fe-connect.c:4829
 #, c-format
 msgid "IPv6 host address may not be empty in URI: \"%s\"\n"
 msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\"\n"
 
-#: fe-connect.c:4837
+#: fe-connect.c:4844
 #, c-format
 msgid ""
 "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): "
@@ -435,41 +435,41 @@ msgstr ""
 "неожиданный символ \"%c\" в позиции %d в URI (ожидалось \":\" или \"/\"): "
 "\"%s\"\n"
 
-#: fe-connect.c:4951
+#: fe-connect.c:4958
 #, c-format
 msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n"
 msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\"\n"
 
-#: fe-connect.c:4971
+#: fe-connect.c:4978
 #, c-format
 msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n"
 msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\"\n"
 
-#: fe-connect.c:5022
+#: fe-connect.c:5029
 #, c-format
 msgid "invalid URI query parameter: \"%s\"\n"
 msgstr "неверный параметр в URI: \"%s\"\n"
 
-#: fe-connect.c:5096
+#: fe-connect.c:5103
 #, c-format
 msgid "invalid percent-encoded token: \"%s\"\n"
 msgstr "неверный символ, закодированный с %%: \"%s\"\n"
 
-#: fe-connect.c:5106
+#: fe-connect.c:5113
 #, c-format
 msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n"
 msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\"\n"
 
-#: fe-connect.c:5437
+#: fe-connect.c:5447
 msgid "connection pointer is NULL\n"
 msgstr "нулевой указатель соединения\n"
 
-#: fe-connect.c:5723
+#: fe-connect.c:5745
 #, c-format
 msgid "WARNING: password file \"%s\" is not a plain file\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: файл паролей \"%s\" - не обычный файл\n"
 
-#: fe-connect.c:5732
+#: fe-connect.c:5754
 #, c-format
 msgid ""
 "WARNING: password file \"%s\" has group or world access; permissions should "
@@ -478,103 +478,107 @@ msgstr ""
 "ПРЕДУПРЕЖДЕНИЕ: к файлу паролей \"%s\" имеют доступ все или группа; права "
 "должны быть u=rw (0600) или более ограниченные\n"
 
-#: fe-connect.c:5838
+#: fe-connect.c:5860
 #, c-format
 msgid "password retrieved from file \"%s\"\n"
 msgstr "пароль получен из файла \"%s\"\n"
 
-#: fe-exec.c:825
+#: fe-exec.c:826
 msgid "NOTICE"
 msgstr "ЗАМЕЧАНИЕ"
 
-#: fe-exec.c:1122 fe-exec.c:1180 fe-exec.c:1226
+#: fe-exec.c:1123 fe-exec.c:1181 fe-exec.c:1227
 msgid "command string is a null pointer\n"
 msgstr "указатель на командную строку нулевой\n"
 
-#: fe-exec.c:1186 fe-exec.c:1232 fe-exec.c:1327
+#: fe-exec.c:1187 fe-exec.c:1233 fe-exec.c:1328
 msgid "number of parameters must be between 0 and 65535\n"
 msgstr "число параметров должно быть от 0 до 65535\n"
 
-#: fe-exec.c:1220 fe-exec.c:1321
+#: fe-exec.c:1221 fe-exec.c:1322
 msgid "statement name is a null pointer\n"
 msgstr "указатель на имя оператора нулевой\n"
 
-#: fe-exec.c:1240 fe-exec.c:1404 fe-exec.c:2119 fe-exec.c:2318
+#: fe-exec.c:1241 fe-exec.c:1405 fe-exec.c:2123 fe-exec.c:2322
 msgid "function requires at least protocol version 3.0\n"
 msgstr "функция требует протокол минимум версии 3.0\n"
 
-#: fe-exec.c:1358
+#: fe-exec.c:1359
 msgid "no connection to the server\n"
 msgstr "нет соединения с сервером\n"
 
-#: fe-exec.c:1365
+#: fe-exec.c:1366
 msgid "another command is already in progress\n"
 msgstr "уже выполняется другая команда\n"
 
-#: fe-exec.c:1480
+#: fe-exec.c:1481
 msgid "length must be given for binary parameter\n"
 msgstr "для двоичного параметра должна быть указана длина\n"
 
-#: fe-exec.c:1749
+#: fe-exec.c:1753
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "неожиданный asyncStatus: %d\n"
 
-#: fe-exec.c:1769
+#: fe-exec.c:1773
 #, c-format
 msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n"
 msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_RESULTCREATE\n"
 
-#: fe-exec.c:1929
+#: fe-exec.c:1933
 msgid "COPY terminated by new PQexec"
 msgstr "операция COPY прервана вызовом PQexec"
 
-#: fe-exec.c:1937
+#: fe-exec.c:1941
 msgid "COPY IN state must be terminated first\n"
 msgstr "сначала должно завершиться состояние COPY IN\n"
 
-#: fe-exec.c:1957
+#: fe-exec.c:1961
 msgid "COPY OUT state must be terminated first\n"
 msgstr "сначала должно завершиться состояние COPY OUT\n"
 
-#: fe-exec.c:1965
+#: fe-exec.c:1969
 msgid "PQexec not allowed during COPY BOTH\n"
 msgstr "вызов PQexec не допускается в процессе COPY BOTH\n"
 
-#: fe-exec.c:2208 fe-exec.c:2275 fe-exec.c:2365 fe-protocol2.c:1352
-#: fe-protocol3.c:1710
+#: fe-exec.c:2212 fe-exec.c:2279 fe-exec.c:2369 fe-protocol2.c:1352
+#: fe-protocol3.c:1817
 msgid "no COPY in progress\n"
 msgstr "операция COPY не выполняется\n"
 
-#: fe-exec.c:2555
+#: fe-exec.c:2559
 msgid "connection in wrong state\n"
 msgstr "соединение в неправильном состоянии\n"
 
-#: fe-exec.c:2586
+#: fe-exec.c:2590
 msgid "invalid ExecStatusType code"
 msgstr "неверный код ExecStatusType"
 
-#: fe-exec.c:2650 fe-exec.c:2673
+#: fe-exec.c:2617
+msgid "PGresult is not an error result\n"
+msgstr "В PGresult не передан результат ошибки\n"
+
+#: fe-exec.c:2692 fe-exec.c:2715
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "номер столбца %d вне диапазона 0..%d"
 
-#: fe-exec.c:2666
+#: fe-exec.c:2708
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "номер записи %d вне диапазона 0..%d"
 
-#: fe-exec.c:2688
+#: fe-exec.c:2730
 #, c-format
 msgid "parameter number %d is out of range 0..%d"
 msgstr "номер параметра %d вне диапазона 0..%d"
 
-#: fe-exec.c:2998
+#: fe-exec.c:3040
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "не удалось интерпретировать ответ сервера: %s"
 
-#: fe-exec.c:3237 fe-exec.c:3321
+#: fe-exec.c:3279 fe-exec.c:3363
 msgid "incomplete multibyte character\n"
 msgstr "неполный многобайтный символ\n"
 
@@ -671,11 +675,11 @@ msgstr "функция pqGetInt не поддерживает integer разме
 msgid "integer of size %lu not supported by pqPutInt"
 msgstr "функция pqPutInt не поддерживает integer размером %lu байт"
 
-#: fe-misc.c:642 fe-misc.c:842
+#: fe-misc.c:642 fe-misc.c:843
 msgid "connection not open\n"
 msgstr "соединение не открыто\n"
 
-#: fe-misc.c:812 fe-secure-openssl.c:249 fe-secure-openssl.c:355
+#: fe-misc.c:812 fe-secure-openssl.c:270 fe-secure-openssl.c:379
 #: fe-secure.c:253 fe-secure.c:362
 msgid ""
 "server closed the connection unexpectedly\n"
@@ -686,15 +690,15 @@ msgstr ""
 "\tСкорее всего сервер прекратил работу из-за сбоя\n"
 "\tдо или в процессе выполнения запроса.\n"
 
-#: fe-misc.c:1015
+#: fe-misc.c:1016
 msgid "timeout expired\n"
 msgstr "таймаут\n"
 
-#: fe-misc.c:1060
-msgid "socket not open\n"
-msgstr "сокет не открыт\n"
+#: fe-misc.c:1061
+msgid "invalid socket\n"
+msgstr "неверный сокет\n"
 
-#: fe-misc.c:1083
+#: fe-misc.c:1084
 #, c-format
 msgid "select() failed: %s\n"
 msgstr "ошибка в select(): %s\n"
@@ -714,9 +718,9 @@ msgstr "неверное состояние %c - возможно разруше
 msgid "message type 0x%02x arrived from server while idle"
 msgstr "от сервера во время простоя получено сообщение типа 0x%02x"
 
-#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049
-#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:324
-#: fe-protocol3.c:995
+#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 fe-protocol3.c:209
+#: fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 fe-protocol3.c:728
+#: fe-protocol3.c:951
 msgid "out of memory"
 msgstr "нехватка памяти"
 
@@ -743,16 +747,16 @@ msgstr ""
 "сервер отправил двоичные данные (сообщение \"B\") без предварительного "
 "описания строки (сообщение \"T\")"
 
-#: fe-protocol2.c:633 fe-protocol3.c:402
+#: fe-protocol2.c:633 fe-protocol3.c:412
 #, c-format
 msgid "unexpected response from server; first received character was \"%c\"\n"
 msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\"\n"
 
-#: fe-protocol2.c:762 fe-protocol2.c:937 fe-protocol3.c:617 fe-protocol3.c:799
+#: fe-protocol2.c:762 fe-protocol2.c:937 fe-protocol3.c:627 fe-protocol3.c:854
 msgid "out of memory for query result"
 msgstr "недостаточно памяти для результата запроса"
 
-#: fe-protocol2.c:1395 fe-protocol3.c:1779
+#: fe-protocol2.c:1395 fe-protocol3.c:1886
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -762,12 +766,12 @@ msgstr "%s"
 msgid "lost synchronization with server, resetting connection"
 msgstr "потеряна синхронизация с сервером; попытка восстановить соединение"
 
-#: fe-protocol2.c:1541 fe-protocol2.c:1573 fe-protocol3.c:1982
+#: fe-protocol2.c:1541 fe-protocol2.c:1573 fe-protocol3.c:2089
 #, c-format
 msgid "protocol error: id=0x%x\n"
 msgstr "ошибка протокола: id=0x%x\n"
 
-#: fe-protocol3.c:358
+#: fe-protocol3.c:368
 msgid ""
 "server sent data (\"D\" message) without prior row description (\"T\" "
 "message)\n"
@@ -775,112 +779,120 @@ msgstr ""
 "сервер отправил данные (сообщение \"D\") без предварительного описания "
 "строки (сообщение \"T\")\n"
 
-#: fe-protocol3.c:423
+#: fe-protocol3.c:433
 #, c-format
 msgid "message contents do not agree with length in message type \"%c\"\n"
 msgstr "содержимое не соответствует длине в сообщении типа \"%c\"\n"
 
-#: fe-protocol3.c:444
+#: fe-protocol3.c:454
 #, c-format
 msgid "lost synchronization with server: got message type \"%c\", length %d\n"
 msgstr ""
 "потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d\n"
 
-#: fe-protocol3.c:495 fe-protocol3.c:535
+#: fe-protocol3.c:505 fe-protocol3.c:545
 msgid "insufficient data in \"T\" message"
 msgstr "недостаточно данных в сообщении \"T\""
 
-#: fe-protocol3.c:568
+#: fe-protocol3.c:578
 msgid "extraneous data in \"T\" message"
 msgstr "лишние данные в сообщении \"T\""
 
-#: fe-protocol3.c:707 fe-protocol3.c:739 fe-protocol3.c:757
+#: fe-protocol3.c:691
+msgid "extraneous data in \"t\" message"
+msgstr "лишние данные в сообщении \"t\""
+
+#: fe-protocol3.c:762 fe-protocol3.c:794 fe-protocol3.c:812
 msgid "insufficient data in \"D\" message"
 msgstr "недостаточно данных в сообщении \"D\""
 
-#: fe-protocol3.c:713
+#: fe-protocol3.c:768
 msgid "unexpected field count in \"D\" message"
 msgstr "неверное число полей в сообщении \"D\""
 
-#: fe-protocol3.c:766
+#: fe-protocol3.c:821
 msgid "extraneous data in \"D\" message"
 msgstr "лишние данные в сообщении \"D\""
 
+#: fe-protocol3.c:1005
+msgid "no error message available\n"
+msgstr "нет сообщения об ошибке\n"
+
 #. translator: %s represents a digit string
-#: fe-protocol3.c:898 fe-protocol3.c:917
+#: fe-protocol3.c:1035 fe-protocol3.c:1054
 #, c-format
 msgid " at character %s"
 msgstr " символ %s"
 
-#: fe-protocol3.c:930
+#: fe-protocol3.c:1067
 #, c-format
 msgid "DETAIL:  %s\n"
 msgstr "ПОДРОБНОСТИ:  %s\n"
 
-#: fe-protocol3.c:933
+#: fe-protocol3.c:1070
 #, c-format
 msgid "HINT:  %s\n"
 msgstr "ПОДСКАЗКА:  %s\n"
 
-#: fe-protocol3.c:936
+#: fe-protocol3.c:1073
 #, c-format
 msgid "QUERY:  %s\n"
 msgstr "ЗАПРОС:  %s\n"
 
-#: fe-protocol3.c:939
+#: fe-protocol3.c:1080
 #, c-format
 msgid "CONTEXT:  %s\n"
 msgstr "КОНТЕКСТ:  %s\n"
 
-#: fe-protocol3.c:946
+#: fe-protocol3.c:1089
 #, c-format
 msgid "SCHEMA NAME:  %s\n"
 msgstr "СХЕМА:  %s\n"
 
-#: fe-protocol3.c:950
+#: fe-protocol3.c:1093
 #, c-format
 msgid "TABLE NAME:  %s\n"
 msgstr "ТАБЛИЦА:  %s\n"
 
-#: fe-protocol3.c:954
+#: fe-protocol3.c:1097
 #, c-format
 msgid "COLUMN NAME:  %s\n"
 msgstr "СТОЛБЕЦ:  %s\n"
 
-#: fe-protocol3.c:958
+#: fe-protocol3.c:1101
 #, c-format
 msgid "DATATYPE NAME:  %s\n"
 msgstr "ТИП ДАННЫХ:  %s\n"
 
-#: fe-protocol3.c:962
+#: fe-protocol3.c:1105
 #, c-format
 msgid "CONSTRAINT NAME:  %s\n"
 msgstr "ОГРАНИЧЕНИЕ:  %s\n"
 
-#: fe-protocol3.c:974
+#: fe-protocol3.c:1117
 msgid "LOCATION:  "
 msgstr "ПОЛОЖЕНИЕ:  "
 
-#: fe-protocol3.c:976
+#: fe-protocol3.c:1119
 #, c-format
 msgid "%s, "
 msgstr "%s, "
 
-#: fe-protocol3.c:978
+#: fe-protocol3.c:1121
 #, c-format
 msgid "%s:%s"
 msgstr "%s:%s"
 
-#: fe-protocol3.c:1209
+#: fe-protocol3.c:1316
 #, c-format
 msgid "LINE %d: "
 msgstr "СТРОКА %d: "
 
-#: fe-protocol3.c:1604
+#: fe-protocol3.c:1711
 msgid "PQgetline: not doing text COPY OUT\n"
 msgstr "PQgetline можно вызывать только во время COPY OUT с текстом\n"
 
-#: fe-secure-openssl.c:146 fe-secure-openssl.c:1006 fe-secure-openssl.c:1226
+#: fe-secure-openssl.c:146 fe-secure-openssl.c:1030 fe-secure-openssl.c:1250
 #, c-format
 msgid "could not acquire mutex: %s\n"
 msgstr "не удалось заблокировать семафор: %s\n"
@@ -890,92 +902,92 @@ msgstr "не удалось заблокировать семафор: %s\n"
 msgid "could not establish SSL connection: %s\n"
 msgstr "не удалось установить SSL-соединение: %s\n"
 
-#: fe-secure-openssl.c:254 fe-secure-openssl.c:360 fe-secure-openssl.c:1349
+#: fe-secure-openssl.c:275 fe-secure-openssl.c:384 fe-secure-openssl.c:1376
 #, c-format
 msgid "SSL SYSCALL error: %s\n"
 msgstr "ошибка SSL SYSCALL: %s\n"
 
-#: fe-secure-openssl.c:261 fe-secure-openssl.c:367 fe-secure-openssl.c:1353
+#: fe-secure-openssl.c:282 fe-secure-openssl.c:391 fe-secure-openssl.c:1380
 msgid "SSL SYSCALL error: EOF detected\n"
 msgstr "ошибка SSL SYSCALL: конец файла (EOF)\n"
 
-#: fe-secure-openssl.c:272 fe-secure-openssl.c:378 fe-secure-openssl.c:1362
+#: fe-secure-openssl.c:293 fe-secure-openssl.c:402 fe-secure-openssl.c:1389
 #, c-format
 msgid "SSL error: %s\n"
 msgstr "ошибка SSL: %s\n"
 
-#: fe-secure-openssl.c:287 fe-secure-openssl.c:393
+#: fe-secure-openssl.c:308 fe-secure-openssl.c:417
 msgid "SSL connection has been closed unexpectedly\n"
 msgstr "SSL-соединение было неожиданно закрыто\n"
 
-#: fe-secure-openssl.c:293 fe-secure-openssl.c:399 fe-secure-openssl.c:1371
+#: fe-secure-openssl.c:314 fe-secure-openssl.c:423 fe-secure-openssl.c:1398
 #, c-format
 msgid "unrecognized SSL error code: %d\n"
 msgstr "нераспознанный код ошибки SSL: %d\n"
 
-#: fe-secure-openssl.c:511
+#: fe-secure-openssl.c:535
 msgid "SSL certificate's name entry is missing\n"
 msgstr "запись имени в SSL-сертификате отсутствует\n"
 
-#: fe-secure-openssl.c:541
+#: fe-secure-openssl.c:565
 msgid "SSL certificate's name contains embedded null\n"
 msgstr "имя в SSL-сертификате включает нулевой байт\n"
 
-#: fe-secure-openssl.c:592
+#: fe-secure-openssl.c:616
 msgid "host name must be specified for a verified SSL connection\n"
 msgstr "для проверенного SSL-соединения требуется указать имя узла\n"
 
-#: fe-secure-openssl.c:692
+#: fe-secure-openssl.c:716
 #, c-format
 msgid "server certificate for \"%s\" does not match host name \"%s\"\n"
 msgstr ""
 "серверный сертификат для \"%s\" не соответствует имени сервера \"%s\"\n"
 
-#: fe-secure-openssl.c:698
+#: fe-secure-openssl.c:722
 msgid "could not get server's host name from server certificate\n"
 msgstr "не удалось получить имя сервера из сертификата\n"
 
-#: fe-secure-openssl.c:845
+#: fe-secure-openssl.c:869
 #, c-format
 msgid "could not create SSL context: %s\n"
 msgstr "не удалось создать контекст SSL: %s\n"
 
-#: fe-secure-openssl.c:976
+#: fe-secure-openssl.c:1000
 #, c-format
 msgid "could not open certificate file \"%s\": %s\n"
 msgstr "не удалось открыть файл сертификата \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1015 fe-secure-openssl.c:1030
+#: fe-secure-openssl.c:1039 fe-secure-openssl.c:1054
 #, c-format
 msgid "could not read certificate file \"%s\": %s\n"
 msgstr "не удалось прочитать файл сертификата \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1085
+#: fe-secure-openssl.c:1109
 #, c-format
 msgid "could not load SSL engine \"%s\": %s\n"
 msgstr "не удалось загрузить модуль SSL ENGINE \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1097
+#: fe-secure-openssl.c:1121
 #, c-format
 msgid "could not initialize SSL engine \"%s\": %s\n"
 msgstr "не удалось инициализировать модуль SSL ENGINE \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1113
+#: fe-secure-openssl.c:1137
 #, c-format
 msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n"
 msgstr "не удалось прочитать закрытый ключ SSL \"%s\" из модуля \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1127
+#: fe-secure-openssl.c:1151
 #, c-format
 msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n"
 msgstr "не удалось загрузить закрытый ключ SSL \"%s\" из модуля \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1164
+#: fe-secure-openssl.c:1188
 #, c-format
 msgid "certificate present, but not private key file \"%s\"\n"
 msgstr "сертификат присутствует, но файла закрытого ключа \"%s\" нет\n"
 
-#: fe-secure-openssl.c:1172
+#: fe-secure-openssl.c:1196
 #, c-format
 msgid ""
 "private key file \"%s\" has group or world access; permissions should be "
@@ -984,27 +996,27 @@ msgstr ""
 "к файлу закрытого ключа \"%s\" имеют доступ все или группа; права должны "
 "быть u=rw (0600) или более ограниченные\n"
 
-#: fe-secure-openssl.c:1183
+#: fe-secure-openssl.c:1207
 #, c-format
 msgid "could not load private key file \"%s\": %s\n"
 msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1197
+#: fe-secure-openssl.c:1221
 #, c-format
 msgid "certificate does not match private key file \"%s\": %s\n"
 msgstr "сертификат не соответствует файлу закрытого ключа \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1235
+#: fe-secure-openssl.c:1259
 #, c-format
 msgid "could not read root certificate file \"%s\": %s\n"
 msgstr "не удалось прочитать файл корневых сертификатов \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1265
+#: fe-secure-openssl.c:1289
 #, c-format
 msgid "SSL library does not support CRL certificates (file \"%s\")\n"
 msgstr "Библиотека SSL не поддерживает проверку CRL (файл \"%s\")\n"
 
-#: fe-secure-openssl.c:1298
+#: fe-secure-openssl.c:1322
 msgid ""
 "could not get home directory to locate root certificate file\n"
 "Either provide the file or change sslmode to disable server certificate "
@@ -1014,7 +1026,7 @@ msgstr ""
 "Укажите полный путь к файлу или отключите проверку сертификата сервера, "
 "изменив sslmode.\n"
 
-#: fe-secure-openssl.c:1302
+#: fe-secure-openssl.c:1326
 #, c-format
 msgid ""
 "root certificate file \"%s\" does not exist\n"
@@ -1025,17 +1037,17 @@ msgstr ""
 "Укажите полный путь к файлу или отключите проверку сертификата сервера, "
 "изменив sslmode.\n"
 
-#: fe-secure-openssl.c:1390
+#: fe-secure-openssl.c:1419
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "не удалось получить сертификат: %s\n"
 
-#: fe-secure-openssl.c:1482
+#: fe-secure-openssl.c:1511
 #, c-format
 msgid "no SSL error reported"
 msgstr "нет сообщения об ошибке SSL"
 
-#: fe-secure-openssl.c:1491
+#: fe-secure-openssl.c:1520
 #, c-format
 msgid "SSL error code %lu"
 msgstr "код ошибки SSL: %lu"
@@ -1055,6 +1067,9 @@ msgstr "не удалось передать данные серверу: %s\n"
 msgid "unrecognized socket error: 0x%08X/%d"
 msgstr "нераспознанная ошибка сокета: 0x%08X/%d"
 
+#~ msgid "socket not open\n"
+#~ msgstr "сокет не открыт\n"
+
 #~ msgid "unrecognized return value from row processor"
 #~ msgstr "процессор строк вернул нераспознанное значение"
 
diff --git a/src/interfaces/libpq/po/zh_CN.po b/src/interfaces/libpq/po/zh_CN.po
index e8b22e6ec5406edfc953c8ad9c1fce25936b18b1..ec2268ba247d619fa6db0a01a6a7c095f34251ef 100644
--- a/src/interfaces/libpq/po/zh_CN.po
+++ b/src/interfaces/libpq/po/zh_CN.po
@@ -5,10 +5,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libpq (PostgreSQL 9.0)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:38+0000\n"
-"PO-Revision-Date: 2015-12-01 19:33+0800\n"
+"POT-Creation-Date: 2016-04-18 04:38+0000\n"
+"PO-Revision-Date: 2016-05-19 20:39+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
-"Language-Team: Chinese (Simplified)\n"
+"Language-Team: Chinese (Simplified) <ywpeng@whu.edu.cn>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +19,7 @@ msgstr ""
 msgid "GSSAPI continuation error"
 msgstr "GSSAPI连续出现错误"
 
-#: fe-auth.c:177 fe-auth.c:410
+#: fe-auth.c:177 fe-auth.c:412
 msgid "host name must be specified\n"
 msgstr "必须指定主机名\n"
 
@@ -29,14 +29,14 @@ msgstr "重复的GSS认证请求\n"
 
 # fe-connect.c:2427 fe-connect.c:2436 fe-connect.c:2933 fe-exec.c:1284
 # fe-lobj.c:536
-#: fe-auth.c:197 fe-auth.c:307 fe-auth.c:381 fe-auth.c:416 fe-auth.c:512
-#: fe-auth.c:778 fe-connect.c:707 fe-connect.c:904 fe-connect.c:1080
-#: fe-connect.c:2091 fe-connect.c:3483 fe-connect.c:3735 fe-connect.c:3854
-#: fe-connect.c:4094 fe-connect.c:4174 fe-connect.c:4273 fe-connect.c:4525
-#: fe-connect.c:4554 fe-connect.c:4626 fe-connect.c:4644 fe-connect.c:4740
-#: fe-connect.c:5074 fe-connect.c:5224 fe-exec.c:3339 fe-exec.c:3504
-#: fe-lobj.c:896 fe-protocol2.c:1206 fe-protocol3.c:1571
-#: fe-secure-openssl.c:527 fe-secure-openssl.c:1069
+#: fe-auth.c:197 fe-auth.c:309 fe-auth.c:383 fe-auth.c:418 fe-auth.c:514
+#: fe-auth.c:780 fe-connect.c:707 fe-connect.c:904 fe-connect.c:1080
+#: fe-connect.c:2091 fe-connect.c:3484 fe-connect.c:3736 fe-connect.c:3855
+#: fe-connect.c:4095 fe-connect.c:4175 fe-connect.c:4274 fe-connect.c:4526
+#: fe-connect.c:4555 fe-connect.c:4627 fe-connect.c:4645 fe-connect.c:4741
+#: fe-connect.c:5075 fe-connect.c:5225 fe-exec.c:2634 fe-exec.c:3381
+#: fe-exec.c:3546 fe-lobj.c:896 fe-protocol2.c:1206 fe-protocol3.c:992
+#: fe-protocol3.c:1678 fe-secure-openssl.c:551 fe-secure-openssl.c:1093
 msgid "out of memory\n"
 msgstr "内存用尽\n"
 
@@ -44,62 +44,61 @@ msgstr "内存用尽\n"
 msgid "GSSAPI name import error"
 msgstr "GSSAPI名称导入错误"
 
-#: fe-auth.c:296
+#: fe-auth.c:298
 msgid "SSPI continuation error"
 msgstr "SSPI连续出现错误"
 
-#: fe-auth.c:396
+#: fe-auth.c:398
 msgid "could not acquire SSPI credentials"
 msgstr "无法获得SSPI证书"
 
 # fe-auth.c:503
-#: fe-auth.c:487
+#: fe-auth.c:489
 msgid "SCM_CRED authentication method not supported\n"
 msgstr "不支持 SCM_CRED 认证方式\n"
 
 # fe-auth.c:595
-#: fe-auth.c:563
+#: fe-auth.c:565
 msgid "Kerberos 4 authentication not supported\n"
 msgstr "不支持 Kerberos 4 认证\n"
 
 # fe-auth.c:612
-#: fe-auth.c:568
+#: fe-auth.c:570
 msgid "Kerberos 5 authentication not supported\n"
 msgstr "不支持 Kerberos 5 认证\n"
 
 # fe-auth.c:595
-#: fe-auth.c:639
+#: fe-auth.c:641
 msgid "GSSAPI authentication not supported\n"
 msgstr "不支持GSSAPI认证\n"
 
 # fe-auth.c:595
-#: fe-auth.c:671
+#: fe-auth.c:673
 msgid "SSPI authentication not supported\n"
 msgstr "不支持SSPI认证\n"
 
 # fe-auth.c:595
-#: fe-auth.c:679
+#: fe-auth.c:681
 msgid "Crypt authentication not supported\n"
 msgstr "不支持Crypt认证\n"
 
 # fe-auth.c:640
-#: fe-auth.c:706
+#: fe-auth.c:708
 #, c-format
 msgid "authentication method %u not supported\n"
 msgstr "不支持 %u 认证方式\n"
 
-#: fe-auth.c:753
+#: fe-auth.c:755
 #, c-format
 msgid "user name lookup failure: error code %lu\n"
 msgstr "用户名查找失败:错误代码%lu\n"
 
-#: fe-auth.c:763 fe-connect.c:2018
+#: fe-auth.c:765 fe-connect.c:2018
 #, c-format
-#| msgid "could not to look up local user ID %ld: %s"
 msgid "could not look up local user ID %d: %s\n"
 msgstr "无法查找本地用户ID %d: %s\n"
 
-#: fe-auth.c:768 fe-connect.c:2023
+#: fe-auth.c:770 fe-connect.c:2023
 #, c-format
 msgid "local user with ID %d does not exist\n"
 msgstr "ID 为 %d 的本地用户不存在\n"
@@ -306,128 +305,127 @@ msgstr "启动过程中收到来自服务器的非预期信息\n"
 msgid "invalid connection state %d, probably indicative of memory corruption\n"
 msgstr "无效的连接状态 %d, 这可能表示内存出现问题\n"
 
-#: fe-connect.c:3089 fe-connect.c:3149
+#: fe-connect.c:3090 fe-connect.c:3150
 #, c-format
 msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n"
 msgstr "在PGEVT_CONNRESET事件触发期间执行PGEventProc \"%s\"错误\n"
 
-#: fe-connect.c:3496
+#: fe-connect.c:3497
 #, c-format
 msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n"
 msgstr "无效LDAP URL\"%s\": 模式必须是ldap://\n"
 
-#: fe-connect.c:3511
+#: fe-connect.c:3512
 #, c-format
 msgid "invalid LDAP URL \"%s\": missing distinguished name\n"
 msgstr "无效LDAP URL \"%s\": 丢失可区分的名称\n"
 
-#: fe-connect.c:3522 fe-connect.c:3575
+#: fe-connect.c:3523 fe-connect.c:3576
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n"
 msgstr "无效LDAP URL \"%s\": 只能有一个属性\n"
 
-#: fe-connect.c:3532 fe-connect.c:3589
+#: fe-connect.c:3533 fe-connect.c:3590
 #, c-format
 msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n"
 msgstr "无效LDAP URL \"%s\": 必须有搜索范围(base/one/sub)\n"
 
-#: fe-connect.c:3543
+#: fe-connect.c:3544
 #, c-format
 msgid "invalid LDAP URL \"%s\": no filter\n"
 msgstr "无效的 LDAP URL \"%s\": 没有过滤器\n"
 
-#: fe-connect.c:3564
+#: fe-connect.c:3565
 #, c-format
 msgid "invalid LDAP URL \"%s\": invalid port number\n"
 msgstr "无效LDAP URL \"%s\": 无效端口号\n"
 
-#: fe-connect.c:3598
+#: fe-connect.c:3599
 msgid "could not create LDAP structure\n"
 msgstr "无法创建LDAP结构\n"
 
-#: fe-connect.c:3674
+#: fe-connect.c:3675
 #, c-format
 msgid "lookup on LDAP server failed: %s\n"
 msgstr "在LDAP服务器上的查找失败: %s\n"
 
-#: fe-connect.c:3685
+#: fe-connect.c:3686
 msgid "more than one entry found on LDAP lookup\n"
 msgstr "在LDAP搜索上找到多个入口\n"
 
-#: fe-connect.c:3686 fe-connect.c:3698
+#: fe-connect.c:3687 fe-connect.c:3699
 msgid "no entry found on LDAP lookup\n"
 msgstr "在LDAP查找上没有发现入口\n"
 
-#: fe-connect.c:3709 fe-connect.c:3722
+#: fe-connect.c:3710 fe-connect.c:3723
 msgid "attribute has no values on LDAP lookup\n"
 msgstr "在LDAP查找上的属性没有值\n"
 
 # fe-connect.c:2475
-#: fe-connect.c:3774 fe-connect.c:3793 fe-connect.c:4312
+#: fe-connect.c:3775 fe-connect.c:3794 fe-connect.c:4313
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string\n"
 msgstr "在联接信息字串里的 \"%s\" 后面缺少 \"=\"\n"
 
 # fe-connect.c:2558
-#: fe-connect.c:3866 fe-connect.c:4493 fe-connect.c:5207
+#: fe-connect.c:3867 fe-connect.c:4494 fe-connect.c:5208
 #, c-format
 msgid "invalid connection option \"%s\"\n"
 msgstr "非法联接选项 \"%s\"\n"
 
 # fe-connect.c:2524
-#: fe-connect.c:3882 fe-connect.c:4361
+#: fe-connect.c:3883 fe-connect.c:4362
 msgid "unterminated quoted string in connection info string\n"
 msgstr "联接信息字串中未结束的引号字串\n"
 
-#: fe-connect.c:3922
+#: fe-connect.c:3923
 msgid "could not get home directory to locate service definition file"
 msgstr "无法进入home目录来定位服务定义文件"
 
-#: fe-connect.c:3955
+#: fe-connect.c:3956
 #, c-format
 msgid "definition of service \"%s\" not found\n"
 msgstr "错误:没有找到服务\"%s\"的定义\n"
 
-#: fe-connect.c:3978
+#: fe-connect.c:3979
 #, c-format
 msgid "service file \"%s\" not found\n"
 msgstr "错误:没有找到服务文件\"%s\"\n"
 
-#: fe-connect.c:3991
+#: fe-connect.c:3992
 #, c-format
 msgid "line %d too long in service file \"%s\"\n"
 msgstr "在服务文件\"%2$s\"中的第%1$d行的长度太长\n"
 
-#: fe-connect.c:4062 fe-connect.c:4106
+#: fe-connect.c:4063 fe-connect.c:4107
 #, c-format
 msgid "syntax error in service file \"%s\", line %d\n"
 msgstr "在服务文件\"%s\"的第%d行出现语法错误\n"
 
-#: fe-connect.c:4073
+#: fe-connect.c:4074
 #, c-format
-#| msgid "syntax error in service file \"%s\", line %d\n"
 msgid ""
 "nested service specifications not supported in service file \"%s\", line %d\n"
 msgstr "在服务文件\"%s\"的第%d行出现不支持的嵌套服务说明\n"
 
-#: fe-connect.c:4751
+#: fe-connect.c:4752
 #, c-format
 msgid "invalid URI propagated to internal parser routine: \"%s\"\n"
 msgstr "无效的URI传入内部解析器处理程序: \"%s\"\n"
 
-#: fe-connect.c:4821
+#: fe-connect.c:4822
 #, c-format
 msgid ""
 "end of string reached when looking for matching \"]\" in IPv6 host address "
 "in URI: \"%s\"\n"
 msgstr "在 URI: \"%s\"中的IPv6主机地址里查找匹配符\"]\"时遇到了字符串结束符\n"
 
-#: fe-connect.c:4828
+#: fe-connect.c:4829
 #, c-format
 msgid "IPv6 host address may not be empty in URI: \"%s\"\n"
 msgstr "URI:\"%s\"中的IPv6主机地址可能不为空\n"
 
-#: fe-connect.c:4843
+#: fe-connect.c:4844
 #, c-format
 msgid ""
 "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): "
@@ -435,161 +433,166 @@ msgid ""
 msgstr ""
 "非预期的字符\"%c\"出现在在位置%d, URI (expected \":\" or \"/\"):\"%s\"\n"
 
-#: fe-connect.c:4957
+#: fe-connect.c:4958
 #, c-format
 msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n"
 msgstr "遇到多余的键/值分隔符\"=\"在URI查询参数里: \"%s\"\n"
 
-#: fe-connect.c:4977
+#: fe-connect.c:4978
 #, c-format
 msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n"
 msgstr "缺少相应的键/值分隔符\"=\"在URI查询参数里: \"%s\"\n"
 
-#: fe-connect.c:5028
+#: fe-connect.c:5029
 #, c-format
 msgid "invalid URI query parameter: \"%s\"\n"
 msgstr "无效的URI查询参数: \"%s\"\n"
 
 # fe-connect.c:2558
-#: fe-connect.c:5102
+#: fe-connect.c:5103
 #, c-format
 msgid "invalid percent-encoded token: \"%s\"\n"
 msgstr "无效的百分号编码令牌: \"%s\"\n"
 
-#: fe-connect.c:5112
+#: fe-connect.c:5113
 #, c-format
 msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n"
 msgstr "在百分值编码的值: \"%s\"里禁止使用 %%00\n"
 
 # fe-connect.c:2744
-#: fe-connect.c:5443
+#: fe-connect.c:5447
 msgid "connection pointer is NULL\n"
 msgstr "联接指针是 NULL\n"
 
-#: fe-connect.c:5729
+#: fe-connect.c:5745
 #, c-format
 msgid "WARNING: password file \"%s\" is not a plain file\n"
 msgstr "警告: 口令文件\"%s\"不是普通文本文件\n"
 
 # fe-connect.c:2953
-#: fe-connect.c:5738
+#: fe-connect.c:5754
 #, c-format
 msgid ""
 "WARNING: password file \"%s\" has group or world access; permissions should "
 "be u=rw (0600) or less\n"
 msgstr "警告: 口令文件\"%s\"的访问权限过大; 权限应设置 为 u=rw (0600)或更少\n"
 
-#: fe-connect.c:5844
+#: fe-connect.c:5860
 #, c-format
 msgid "password retrieved from file \"%s\"\n"
 msgstr "从文件\"%s\"中获取口令\n"
 
-#: fe-exec.c:825
+#: fe-exec.c:826
 msgid "NOTICE"
 msgstr "注意"
 
 # fe-exec.c:737
-#: fe-exec.c:1122 fe-exec.c:1180 fe-exec.c:1226
+#: fe-exec.c:1123 fe-exec.c:1181 fe-exec.c:1227
 msgid "command string is a null pointer\n"
 msgstr "命令字串是一个空指针\n"
 
-#: fe-exec.c:1186 fe-exec.c:1232 fe-exec.c:1327
+#: fe-exec.c:1187 fe-exec.c:1233 fe-exec.c:1328
 msgid "number of parameters must be between 0 and 65535\n"
 msgstr "参数的个数必须介于0到65535之间\n"
 
 # fe-exec.c:737
-#: fe-exec.c:1220 fe-exec.c:1321
+#: fe-exec.c:1221 fe-exec.c:1322
 msgid "statement name is a null pointer\n"
 msgstr "声明名字是一个空指针\n"
 
-#: fe-exec.c:1240 fe-exec.c:1404 fe-exec.c:2119 fe-exec.c:2318
+#: fe-exec.c:1241 fe-exec.c:1405 fe-exec.c:2123 fe-exec.c:2322
 msgid "function requires at least protocol version 3.0\n"
 msgstr "函数至少需要 3.0 版本的协议\n"
 
 # fe-exec.c:745
-#: fe-exec.c:1358
+#: fe-exec.c:1359
 msgid "no connection to the server\n"
 msgstr "没有到服务器的联接\n"
 
 # fe-exec.c:752
-#: fe-exec.c:1365
+#: fe-exec.c:1366
 msgid "another command is already in progress\n"
 msgstr "已经有另外一条命令在处理\n"
 
-#: fe-exec.c:1480
+#: fe-exec.c:1481
 msgid "length must be given for binary parameter\n"
 msgstr "对于2进制参数必须指定长度\n"
 
 # fe-exec.c:1371
-#: fe-exec.c:1749
+#: fe-exec.c:1753
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "意外的 asyncStatus(异步状态): %d\n"
 
-#: fe-exec.c:1769
+#: fe-exec.c:1773
 #, c-format
 msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n"
 msgstr "在PGEVT_CONNRESET事件触发期间执行PGEventProc \"%s\"错误\n"
 
-#: fe-exec.c:1929
+#: fe-exec.c:1933
 msgid "COPY terminated by new PQexec"
 msgstr "COPY 被一个新的 PQexec 终止"
 
 # fe-exec.c:1421
-#: fe-exec.c:1937
+#: fe-exec.c:1941
 msgid "COPY IN state must be terminated first\n"
 msgstr "COPY IN 状态必须先结束\n"
 
 # fe-exec.c:1421
-#: fe-exec.c:1957
+#: fe-exec.c:1961
 msgid "COPY OUT state must be terminated first\n"
 msgstr "COPY OUT 状态必须先结束\n"
 
-#: fe-exec.c:1965
+#: fe-exec.c:1969
 msgid "PQexec not allowed during COPY BOTH\n"
 msgstr "在 COPY BOTH时不允许调用PQexec\n"
 
 # fe-exec.c:1780
-#: fe-exec.c:2208 fe-exec.c:2275 fe-exec.c:2365 fe-protocol2.c:1352
-#: fe-protocol3.c:1710
+#: fe-exec.c:2212 fe-exec.c:2279 fe-exec.c:2369 fe-protocol2.c:1352
+#: fe-protocol3.c:1817
 msgid "no COPY in progress\n"
 msgstr "没有正在处理的 COPY\n"
 
 # fe-exec.c:1884
-#: fe-exec.c:2555
+#: fe-exec.c:2559
 msgid "connection in wrong state\n"
 msgstr "联接处于错误状态\n"
 
 # fe-exec.c:2055
-#: fe-exec.c:2586
+#: fe-exec.c:2590
 msgid "invalid ExecStatusType code"
 msgstr "非法 ExecStatusType 代码"
 
+#: fe-exec.c:2617
+#| msgid "result is out of range"
+msgid "PGresult is not an error result\n"
+msgstr "PGresult不是错误的结果\n"
+
 # fe-exec.c:2108 fe-exec.c:2141
-#: fe-exec.c:2650 fe-exec.c:2673
+#: fe-exec.c:2692 fe-exec.c:2715
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "列号码 %d 超出了范围 0..%d"
 
 # fe-exec.c:2130
-#: fe-exec.c:2666
+#: fe-exec.c:2708
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "行号码 %d 超出了范围 0..%d"
 
 # fe-exec.c:2130
-#: fe-exec.c:2688
+#: fe-exec.c:2730
 #, c-format
 msgid "parameter number %d is out of range 0..%d"
 msgstr "参数号%d超出了范围 0..%d"
 
 # fe-exec.c:2325
-#: fe-exec.c:2998
+#: fe-exec.c:3040
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "无法解释来自服务器的结果: %s"
 
-#: fe-exec.c:3237 fe-exec.c:3321
+#: fe-exec.c:3279 fe-exec.c:3363
 msgid "incomplete multibyte character\n"
 msgstr "无效的多字节字符\n"
 
@@ -709,7 +712,7 @@ msgid "connection not open\n"
 msgstr "联接未打开\n"
 
 # fe-misc.c:612 fe-misc.c:686
-#: fe-misc.c:812 fe-secure-openssl.c:249 fe-secure-openssl.c:355
+#: fe-misc.c:812 fe-secure-openssl.c:270 fe-secure-openssl.c:379
 #: fe-secure.c:253 fe-secure.c:362
 msgid ""
 "server closed the connection unexpectedly\n"
@@ -724,10 +727,10 @@ msgstr ""
 msgid "timeout expired\n"
 msgstr "超时满\n"
 
-# fe-misc.c:450 fe-misc.c:642 fe-misc.c:798
 #: fe-misc.c:1061
-msgid "socket not open\n"
-msgstr "套接字未打开\n"
+#| msgid "invalid symbol"
+msgid "invalid socket\n"
+msgstr "无效套接字\n"
 
 # fe-misc.c:389 fe-misc.c:423 fe-misc.c:838
 #: fe-misc.c:1084
@@ -753,8 +756,8 @@ msgid "message type 0x%02x arrived from server while idle"
 msgstr "当空闲时收到服务起发送过来的消息类型 0x%02x"
 
 #: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049
-#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:324
-#: fe-protocol3.c:995
+#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333
+#: fe-protocol3.c:728 fe-protocol3.c:951
 msgid "out of memory"
 msgstr "内存用尽"
 
@@ -782,18 +785,18 @@ msgstr ""
 "message)"
 
 # fe-connect.c:1378
-#: fe-protocol2.c:633 fe-protocol3.c:402
+#: fe-protocol2.c:633 fe-protocol3.c:412
 #, c-format
 msgid "unexpected response from server; first received character was \"%c\"\n"
 msgstr "来自服务器意外的回执, 第一个收到的字符是 \"%c\"\n"
 
 # fe-connect.c:2427 fe-connect.c:2436 fe-connect.c:2933 fe-exec.c:1284
 # fe-lobj.c:536
-#: fe-protocol2.c:762 fe-protocol2.c:937 fe-protocol3.c:617 fe-protocol3.c:799
+#: fe-protocol2.c:762 fe-protocol2.c:937 fe-protocol3.c:627 fe-protocol3.c:854
 msgid "out of memory for query result"
 msgstr "查询结果时内存耗尽"
 
-#: fe-protocol2.c:1395 fe-protocol3.c:1779
+#: fe-protocol2.c:1395 fe-protocol3.c:1886
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -803,12 +806,12 @@ msgstr "%s"
 msgid "lost synchronization with server, resetting connection"
 msgstr "失去与服务器同步, 重置连接"
 
-#: fe-protocol2.c:1541 fe-protocol2.c:1573 fe-protocol3.c:1982
+#: fe-protocol2.c:1541 fe-protocol2.c:1573 fe-protocol3.c:2089
 #, c-format
 msgid "protocol error: id=0x%x\n"
 msgstr "协议错误: id=0x%x\n"
 
-#: fe-protocol3.c:358
+#: fe-protocol3.c:368
 msgid ""
 "server sent data (\"D\" message) without prior row description (\"T\" "
 "message)\n"
@@ -816,111 +819,122 @@ msgstr ""
 "server sent data (\"D\" message) without prior row description (\"T\" "
 "message)\n"
 
-#: fe-protocol3.c:423
+#: fe-protocol3.c:433
 #, c-format
 msgid "message contents do not agree with length in message type \"%c\"\n"
 msgstr "在消息类型 \"%c\" 中, 消息内容与长度不匹配\n"
 
-#: fe-protocol3.c:444
+#: fe-protocol3.c:454
 #, c-format
 msgid "lost synchronization with server: got message type \"%c\", length %d\n"
 msgstr "失去与服务器同步: 获取到消息类型 \"%c\", 长度 %d\n"
 
-#: fe-protocol3.c:495 fe-protocol3.c:535
+#: fe-protocol3.c:505 fe-protocol3.c:545
 msgid "insufficient data in \"T\" message"
 msgstr "\"T\"消息中剩下的数据不够"
 
-#: fe-protocol3.c:568
+#: fe-protocol3.c:578
 msgid "extraneous data in \"T\" message"
-msgstr "\"T\"消息中已经没有数据了"
+msgstr "\"T\"消息中有无关的数据"
 
-#: fe-protocol3.c:707 fe-protocol3.c:739 fe-protocol3.c:757
+#: fe-protocol3.c:691
+#| msgid "extraneous data in \"T\" message"
+msgid "extraneous data in \"t\" message"
+msgstr "\"t\"消息中有无关的数据"
+
+#: fe-protocol3.c:762 fe-protocol3.c:794 fe-protocol3.c:812
 msgid "insufficient data in \"D\" message"
 msgstr "\"D\"消息中剩下的数据不够"
 
-#: fe-protocol3.c:713
+#: fe-protocol3.c:768
 msgid "unexpected field count in \"D\" message"
 msgstr "在 \"D\" 消息中, 意外的字段个数"
 
-#: fe-protocol3.c:766
+#: fe-protocol3.c:821
 msgid "extraneous data in \"D\" message"
 msgstr "\"D\"消息中已经没有数据了"
 
+# startup.c:502
+#: fe-protocol3.c:1005
+#| msgid "\\%s: error while setting variable\n"
+msgid "no error message available\n"
+msgstr "没有可用的错误消息\n"
+
 #. translator: %s represents a digit string
-#: fe-protocol3.c:898 fe-protocol3.c:917
+#: fe-protocol3.c:1035 fe-protocol3.c:1054
 #, c-format
 msgid " at character %s"
 msgstr " 在字符 %s"
 
-#: fe-protocol3.c:930
+#: fe-protocol3.c:1067
 #, c-format
 msgid "DETAIL:  %s\n"
 msgstr "描述:  %s\n"
 
-#: fe-protocol3.c:933
+#: fe-protocol3.c:1070
 #, c-format
 msgid "HINT:  %s\n"
 msgstr "提示:  %s\n"
 
-#: fe-protocol3.c:936
+#: fe-protocol3.c:1073
 #, c-format
 msgid "QUERY:  %s\n"
 msgstr "查询:  %s\n"
 
-#: fe-protocol3.c:939
+#: fe-protocol3.c:1080
 #, c-format
 msgid "CONTEXT:  %s\n"
 msgstr "背景:  %s\n"
 
-#: fe-protocol3.c:946
+#: fe-protocol3.c:1089
 #, c-format
 msgid "SCHEMA NAME:  %s\n"
 msgstr "方案名:  %s\n"
 
-#: fe-protocol3.c:950
+#: fe-protocol3.c:1093
 #, c-format
 msgid "TABLE NAME:  %s\n"
 msgstr "表名: %s\n"
 
-#: fe-protocol3.c:954
+#: fe-protocol3.c:1097
 #, c-format
 msgid "COLUMN NAME:  %s\n"
 msgstr "列名: %s\n"
 
-#: fe-protocol3.c:958
+#: fe-protocol3.c:1101
 #, c-format
 msgid "DATATYPE NAME:  %s\n"
 msgstr "数据类型名: %s\n"
 
-#: fe-protocol3.c:962
+#: fe-protocol3.c:1105
 #, c-format
 msgid "CONSTRAINT NAME:  %s\n"
 msgstr "约束名: %s\n"
 
-#: fe-protocol3.c:974
+#: fe-protocol3.c:1117
 msgid "LOCATION:  "
 msgstr "位置:  "
 
-#: fe-protocol3.c:976
+#: fe-protocol3.c:1119
 #, c-format
 msgid "%s, "
 msgstr "%s, "
 
-#: fe-protocol3.c:978
+#: fe-protocol3.c:1121
 #, c-format
 msgid "%s:%s"
 msgstr "%s:%s"
 
-#: fe-protocol3.c:1209
+#: fe-protocol3.c:1316
 #, c-format
 msgid "LINE %d: "
 msgstr "第%d行"
 
-#: fe-protocol3.c:1604
+#: fe-protocol3.c:1711
 msgid "PQgetline: not doing text COPY OUT\n"
 msgstr "PQgetline: not doing text COPY OUT\n"
 
-#: fe-secure-openssl.c:146 fe-secure-openssl.c:1006 fe-secure-openssl.c:1226
+#: fe-secure-openssl.c:146 fe-secure-openssl.c:1030 fe-secure-openssl.c:1250
 #, c-format
 msgid "could not acquire mutex: %s\n"
 msgstr "无法获取互斥锁(mutex): %s\n"
@@ -930,131 +944,127 @@ msgstr "无法获取互斥锁(mutex): %s\n"
 msgid "could not establish SSL connection: %s\n"
 msgstr "无法建立 SSL 联接: %s\n"
 
-#: fe-secure-openssl.c:254 fe-secure-openssl.c:360 fe-secure-openssl.c:1349
+#: fe-secure-openssl.c:275 fe-secure-openssl.c:384 fe-secure-openssl.c:1376
 #, c-format
 msgid "SSL SYSCALL error: %s\n"
 msgstr "SSL SYSCALL 错误: %s\n"
 
-#: fe-secure-openssl.c:261 fe-secure-openssl.c:367 fe-secure-openssl.c:1353
+#: fe-secure-openssl.c:282 fe-secure-openssl.c:391 fe-secure-openssl.c:1380
 msgid "SSL SYSCALL error: EOF detected\n"
 msgstr "SSL SYSCALL 错误: 发现结束符\n"
 
 # fe-auth.c:232
-#: fe-secure-openssl.c:272 fe-secure-openssl.c:378 fe-secure-openssl.c:1362
+#: fe-secure-openssl.c:293 fe-secure-openssl.c:402 fe-secure-openssl.c:1389
 #, c-format
 msgid "SSL error: %s\n"
 msgstr "SSL 错误: %s\n"
 
-#: fe-secure-openssl.c:287 fe-secure-openssl.c:393
+#: fe-secure-openssl.c:308 fe-secure-openssl.c:417
 msgid "SSL connection has been closed unexpectedly\n"
 msgstr "SSL连接异常关闭\n"
 
-#: fe-secure-openssl.c:293 fe-secure-openssl.c:399 fe-secure-openssl.c:1371
+#: fe-secure-openssl.c:314 fe-secure-openssl.c:423 fe-secure-openssl.c:1398
 #, c-format
 msgid "unrecognized SSL error code: %d\n"
 msgstr "未知的 SSL 错误码: %d\n"
 
-#: fe-secure-openssl.c:511
-#| msgid "SSL certificate's common name contains embedded null\n"
+#: fe-secure-openssl.c:535
 msgid "SSL certificate's name entry is missing\n"
 msgstr "SSL证书的名称项缺失\n"
 
-#: fe-secure-openssl.c:541
-#| msgid "SSL certificate's common name contains embedded null\n"
+#: fe-secure-openssl.c:565
 msgid "SSL certificate's name contains embedded null\n"
 msgstr "SSL证书的名称包含嵌入的空值\n"
 
-#: fe-secure-openssl.c:592
+#: fe-secure-openssl.c:616
 msgid "host name must be specified for a verified SSL connection\n"
 msgstr "必须为一个已验证的SSL连接指定主机名\n"
 
-#: fe-secure-openssl.c:692
+#: fe-secure-openssl.c:716
 #, c-format
-#| msgid "server common name \"%s\" does not match host name \"%s\"\n"
 msgid "server certificate for \"%s\" does not match host name \"%s\"\n"
 msgstr "\"%s\"的服务器证书与主机名不匹配\"%s\"\n"
 
-#: fe-secure-openssl.c:698
-#| msgid "could not get server common name from server certificate\n"
+#: fe-secure-openssl.c:722
 msgid "could not get server's host name from server certificate\n"
 msgstr "无法从服务器证书得到服务器的主机名\n"
 
-#: fe-secure-openssl.c:845
+#: fe-secure-openssl.c:869
 #, c-format
 msgid "could not create SSL context: %s\n"
 msgstr "无法创建 SSL 环境: %s\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure-openssl.c:976
+#: fe-secure-openssl.c:1000
 #, c-format
 msgid "could not open certificate file \"%s\": %s\n"
 msgstr "无法打开证书文件 \"%s\": %s\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure-openssl.c:1015 fe-secure-openssl.c:1030
+#: fe-secure-openssl.c:1039 fe-secure-openssl.c:1054
 #, c-format
 msgid "could not read certificate file \"%s\": %s\n"
 msgstr "无法读取证书文件 \"%s\": %s\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure-openssl.c:1085
+#: fe-secure-openssl.c:1109
 #, c-format
 msgid "could not load SSL engine \"%s\": %s\n"
 msgstr "无法加载SSL引擎 \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1097
+#: fe-secure-openssl.c:1121
 #, c-format
 msgid "could not initialize SSL engine \"%s\": %s\n"
 msgstr "无法初始化SSL引擎\"%s\": %s\n"
 
 # fe-connect.c:891
-#: fe-secure-openssl.c:1113
+#: fe-secure-openssl.c:1137
 #, c-format
 msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n"
 msgstr "无法从引擎\"%2$s\"读取私有SSL钥\"%1$s\": %3$s\n"
 
 # fe-connect.c:891
-#: fe-secure-openssl.c:1127
+#: fe-secure-openssl.c:1151
 #, c-format
 msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n"
 msgstr "无法从引擎\"%2$s\"读取私有SSL钥\"%1$s\": %3$s\n"
 
-#: fe-secure-openssl.c:1164
+#: fe-secure-openssl.c:1188
 #, c-format
 msgid "certificate present, but not private key file \"%s\"\n"
 msgstr "有证书, 但不是私钥文件 \"%s\"\n"
 
 # fe-connect.c:2953
-#: fe-secure-openssl.c:1172
+#: fe-secure-openssl.c:1196
 #, c-format
 msgid ""
 "private key file \"%s\" has group or world access; permissions should be "
 "u=rw (0600) or less\n"
 msgstr "警告: 私钥文件 \"%s\"的访问权限过大; 权限应设置 为 u=rw (0600)或更小\n"
 
-#: fe-secure-openssl.c:1183
+#: fe-secure-openssl.c:1207
 #, c-format
 msgid "could not load private key file \"%s\": %s\n"
 msgstr "无法装载私钥文件 \"%s\": %s\n"
 
-#: fe-secure-openssl.c:1197
+#: fe-secure-openssl.c:1221
 #, c-format
 msgid "certificate does not match private key file \"%s\": %s\n"
 msgstr "证书不匹配私钥文件 \"%s\": %s\n"
 
 # fe-connect.c:891
-#: fe-secure-openssl.c:1235
+#: fe-secure-openssl.c:1259
 #, c-format
 msgid "could not read root certificate file \"%s\": %s\n"
 msgstr "无法读取根证书文件 \"%s\": %s\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure-openssl.c:1265
+#: fe-secure-openssl.c:1289
 #, c-format
 msgid "SSL library does not support CRL certificates (file \"%s\")\n"
 msgstr "SSL库不支持CRL认证(文件 \"%s\")\n"
 
-#: fe-secure-openssl.c:1298
+#: fe-secure-openssl.c:1322
 msgid ""
 "could not get home directory to locate root certificate file\n"
 "Either provide the file or change sslmode to disable server certificate "
@@ -1063,7 +1073,7 @@ msgstr ""
 "无法获取home目录以定位根认证文件\n"
 "可以提供该文件或者将sslmode改为禁用服务器证书认证.\n"
 
-#: fe-secure-openssl.c:1302
+#: fe-secure-openssl.c:1326
 #, c-format
 msgid ""
 "root certificate file \"%s\" does not exist\n"
@@ -1073,17 +1083,17 @@ msgstr ""
 "根认证文件\"%s\"不存在\n"
 "可以提供这个文件或者将sslmode改为禁用服务器认证检验.\n"
 
-#: fe-secure-openssl.c:1390
+#: fe-secure-openssl.c:1419
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "无法获得证书: %s\n"
 
-#: fe-secure-openssl.c:1482
+#: fe-secure-openssl.c:1511
 #, c-format
 msgid "no SSL error reported"
 msgstr "没有报告SSL错误"
 
-#: fe-secure-openssl.c:1491
+#: fe-secure-openssl.c:1520
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL 错误代码 %lu"
diff --git a/src/pl/plperl/po/es.po b/src/pl/plperl/po/es.po
index eb0fd8fb538f59e4dce171d9b90cec0fbaf86b0e..3cf4f374519845ac2733e09d0964f5b6c599942c 100644
--- a/src/pl/plperl/po/es.po
+++ b/src/pl/plperl/po/es.po
@@ -11,13 +11,14 @@ msgstr ""
 "Project-Id-Version: plperl (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:07+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Álvaro Herrera <alvherre@alvh.no-ip.org>\n"
+"PO-Revision-Date: 2016-05-25 11:29-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: plperl.c:405
 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode."
@@ -195,7 +196,7 @@ msgstr "las funciones disparadoras sólo pueden ser llamadas como disparadores"
 #: plperl.c:3121
 #, c-format
 msgid "query result has too many rows to fit in a Perl array"
-msgstr ""
+msgstr "el resultado de la consulta tiene demasiados registros y no entran en un array de Perl"
 
 #: plperl.c:3166
 #, c-format
diff --git a/src/pl/plperl/po/ru.po b/src/pl/plperl/po/ru.po
index 92a888df3836457ecf2de57818837936899c5902..8120e9fe7f1cc35e43c11151bbc7c23681e3816f 100644
--- a/src/pl/plperl/po/ru.po
+++ b/src/pl/plperl/po/ru.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.2\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-09-19 03:07+0000\n"
+"POT-Creation-Date: 2016-05-27 16:07+0000\n"
 "PO-Revision-Date: 2015-10-16 21:10+0400\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -22,90 +22,90 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: plperl.c:404
+#: plperl.c:405
 msgid ""
 "If true, trusted and untrusted Perl code will be compiled in strict mode."
 msgstr ""
 "Если этот параметр равен true, доверенный и недоверенный код Perl будет "
 "компилироваться в строгом режиме."
 
-#: plperl.c:418
+#: plperl.c:419
 msgid ""
 "Perl initialization code to execute when a Perl interpreter is initialized."
 msgstr ""
 "Код инициализации Perl, который выполняется при инициализации интерпретатора "
 "Perl."
 
-#: plperl.c:440
+#: plperl.c:441
 msgid "Perl initialization code to execute once when plperl is first used."
 msgstr ""
 "Код инициализации Perl, который выполняется один раз, при первом "
 "использовании plperl."
 
-#: plperl.c:448
+#: plperl.c:449
 msgid "Perl initialization code to execute once when plperlu is first used."
 msgstr ""
 "Код инициализации Perl, который выполняется один раз, при первом "
 "использовании plperlu."
 
-#: plperl.c:645
+#: plperl.c:646
 #, c-format
 msgid "cannot allocate multiple Perl interpreters on this platform"
 msgstr "на этой платформе нельзя запустить множество интерпретаторов Perl"
 
-#: plperl.c:665 plperl.c:840 plperl.c:846 plperl.c:960 plperl.c:972
-#: plperl.c:1015 plperl.c:1036 plperl.c:2068 plperl.c:2175 plperl.c:2242
-#: plperl.c:2304
+#: plperl.c:666 plperl.c:841 plperl.c:847 plperl.c:961 plperl.c:973
+#: plperl.c:1016 plperl.c:1037 plperl.c:2080 plperl.c:2189 plperl.c:2256
+#: plperl.c:2318
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: plperl.c:666
+#: plperl.c:667
 #, c-format
 msgid "while executing PostgreSQL::InServer::SPI::bootstrap"
 msgstr "при выполнении PostgreSQL::InServer::SPI::bootstrap"
 
-#: plperl.c:841
+#: plperl.c:842
 #, c-format
 msgid "while parsing Perl initialization"
 msgstr "при разборе параметров инициализации Perl"
 
-#: plperl.c:847
+#: plperl.c:848
 #, c-format
 msgid "while running Perl initialization"
 msgstr "при выполнении инициализации Perl"
 
-#: plperl.c:961
+#: plperl.c:962
 #, c-format
 msgid "while executing PLC_TRUSTED"
 msgstr "при выполнении PLC_TRUSTED"
 
-#: plperl.c:973
+#: plperl.c:974
 #, c-format
 msgid "while executing utf8fix"
 msgstr "при выполнении utf8fix"
 
-#: plperl.c:1016
+#: plperl.c:1017
 #, c-format
 msgid "while executing plperl.on_plperl_init"
 msgstr "при выполнении plperl.on_plperl_init"
 
-#: plperl.c:1037
+#: plperl.c:1038
 #, c-format
 msgid "while executing plperl.on_plperlu_init"
 msgstr "при выполнении plperl.on_plperlu_init"
 
-#: plperl.c:1081 plperl.c:1710
+#: plperl.c:1082 plperl.c:1722
 #, c-format
 msgid "Perl hash contains nonexistent column \"%s\""
 msgstr "Perl-хеш содержит несуществующий столбец \"%s\""
 
-#: plperl.c:1166
+#: plperl.c:1167
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "число размерностей массива (%d) превышает предел (%d)"
 
-#: plperl.c:1178 plperl.c:1195
+#: plperl.c:1179 plperl.c:1196
 #, c-format
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
@@ -113,80 +113,80 @@ msgstr ""
 "для многомерных массивов должны задаваться выражения с соответствующими "
 "размерностями"
 
-#: plperl.c:1230
+#: plperl.c:1231
 #, c-format
 msgid "cannot convert Perl array to non-array type %s"
 msgstr "Perl-массив нельзя преобразовать в тип не массива %s"
 
-#: plperl.c:1332
+#: plperl.c:1333
 #, c-format
 msgid "cannot convert Perl hash to non-composite type %s"
 msgstr "Perl-хеш нельзя преобразовать в не составной тип %s"
 
-#: plperl.c:1343
+#: plperl.c:1344
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr ""
 "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
 
-#: plperl.c:1358
+#: plperl.c:1359
 #, c-format
 msgid "PL/Perl function must return reference to hash or array"
 msgstr "функция PL/Perl должна возвращать ссылку на хеш или массив"
 
-#: plperl.c:1395
+#: plperl.c:1396
 #, c-format
 msgid "lookup failed for type %s"
 msgstr "найти тип %s не удалось"
 
-#: plperl.c:1687
+#: plperl.c:1699
 #, c-format
 msgid "$_TD->{new} does not exist"
 msgstr "$_TD->{new} не существует"
 
-#: plperl.c:1691
+#: plperl.c:1703
 #, c-format
 msgid "$_TD->{new} is not a hash reference"
 msgstr "$_TD->{new} - не ссылка на хеш"
 
-#: plperl.c:1944 plperl.c:2776
+#: plperl.c:1956 plperl.c:2790
 #, c-format
 msgid "PL/Perl functions cannot return type %s"
 msgstr "функции PL/Perl не могут возвращать тип %s"
 
-#: plperl.c:1957 plperl.c:2821
+#: plperl.c:1969 plperl.c:2835
 #, c-format
 msgid "PL/Perl functions cannot accept type %s"
 msgstr "функции PL/Perl не могут принимать тип %s"
 
-#: plperl.c:2073
+#: plperl.c:2085
 #, c-format
 msgid "didn't get a CODE reference from compiling function \"%s\""
 msgstr "не удалось получить ссылку на код после компиляции функции \"%s\""
 
-#: plperl.c:2163
+#: plperl.c:2177
 #, c-format
 msgid "didn't get a return item from function"
 msgstr "не удалось получить возвращаемый элемент от функции"
 
-#: plperl.c:2206 plperl.c:2272
+#: plperl.c:2220 plperl.c:2286
 #, c-format
 msgid "couldn't fetch $_TD"
 msgstr "не удалось получить $_TD"
 
-#: plperl.c:2230 plperl.c:2292
+#: plperl.c:2244 plperl.c:2306
 #, c-format
 msgid "didn't get a return item from trigger function"
 msgstr "не удалось получить возвращаемый элемент от триггерной функции"
 
-#: plperl.c:2349
+#: plperl.c:2363
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: plperl.c:2393
+#: plperl.c:2407
 #, c-format
 msgid ""
 "set-returning PL/Perl function must return reference to array or use "
@@ -195,12 +195,12 @@ msgstr ""
 "функция PL/Perl, возвращающая множество, должна возвращать ссылку на массив "
 "или вызывать return_next"
 
-#: plperl.c:2507
+#: plperl.c:2521
 #, c-format
 msgid "ignoring modified row in DELETE trigger"
 msgstr "в триггере DELETE изменённая строка игнорируется"
 
-#: plperl.c:2515
+#: plperl.c:2529
 #, c-format
 msgid ""
 "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\""
@@ -208,23 +208,29 @@ msgstr ""
 "результатом триггерной функции PL/Perl должен быть undef, \"SKIP\" или "
 "\"MODIFY\""
 
-#: plperl.c:2694 plperl.c:2704
+#: plperl.c:2708 plperl.c:2718
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
 
-#: plperl.c:2768
+#: plperl.c:2782
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "триггерные функции могут вызываться только в триггерах"
 
-#: plperl.c:3144
+#: plperl.c:3121
+#, c-format
+msgid "query result has too many rows to fit in a Perl array"
+msgstr ""
+"результат запроса содержит слишком много строк для передачи в массиве Perl"
+
+#: plperl.c:3166
 #, c-format
 msgid "cannot use return_next in a non-SETOF function"
 msgstr ""
 "return_next можно использовать только в функциях, возвращающих множества"
 
-#: plperl.c:3200
+#: plperl.c:3222
 #, c-format
 msgid ""
 "SETOF-composite-returning PL/Perl function must call return_next with "
@@ -233,17 +239,17 @@ msgstr ""
 "функция PL/Perl, возвращающая составное множество, должна вызывать "
 "return_next со ссылкой на хеш"
 
-#: plperl.c:3934
+#: plperl.c:3954
 #, c-format
 msgid "PL/Perl function \"%s\""
 msgstr "функция PL/Perl \"%s\""
 
-#: plperl.c:3946
+#: plperl.c:3966
 #, c-format
 msgid "compilation of PL/Perl function \"%s\""
 msgstr "компиляция функции PL/Perl \"%s\""
 
-#: plperl.c:3955
+#: plperl.c:3975
 #, c-format
 msgid "PL/Perl anonymous code block"
 msgstr "анонимный блок кода PL/Perl"
diff --git a/src/pl/plperl/po/zh_CN.po b/src/pl/plperl/po/zh_CN.po
index 3a63244104cccc23490810a9e27e7dd5a9b3e020..56886dd5c1ee366f6a47cd15b7126035ab61dca8 100644
--- a/src/pl/plperl/po/zh_CN.po
+++ b/src/pl/plperl/po/zh_CN.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.0\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:37+0000\n"
-"PO-Revision-Date: 2015-12-02 14:47+0800\n"
+"POT-Creation-Date: 2016-04-18 04:37+0000\n"
+"PO-Revision-Date: 2016-05-19 20:43+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
 "Language-Team: Weibin <ssmei_2000@yahoo.com>\n"
 "Language: zh_CN\n"
@@ -17,213 +17,214 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.7\n"
 
-#: plperl.c:404
+#: plperl.c:405
 msgid ""
 "If true, trusted and untrusted Perl code will be compiled in strict mode."
 msgstr "如果为真的话,那么信任和非信任的Perl代码将以限制模式编译."
 
-#: plperl.c:418
+#: plperl.c:419
 msgid ""
 "Perl initialization code to execute when a Perl interpreter is initialized."
 msgstr "当初始化一个Perl解释器时候执行Perl初始化代码"
 
-#: plperl.c:440
+#: plperl.c:441
 msgid "Perl initialization code to execute once when plperl is first used."
 msgstr "在第一次使用plperl的时候执行一次Perl初始化代码"
 
-#: plperl.c:448
+#: plperl.c:449
 msgid "Perl initialization code to execute once when plperlu is first used."
 msgstr "在plperlu第一次使用的时候执行一次Perl初始化代码"
 
-#: plperl.c:645
+#: plperl.c:646
 #, c-format
-#| msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
 msgid "cannot allocate multiple Perl interpreters on this platform"
 msgstr "在这个平台上无法分配多个Perl解释器"
 
-#: plperl.c:665 plperl.c:840 plperl.c:846 plperl.c:960 plperl.c:972
-#: plperl.c:1015 plperl.c:1036 plperl.c:2068 plperl.c:2175 plperl.c:2242
-#: plperl.c:2304
+#: plperl.c:666 plperl.c:841 plperl.c:847 plperl.c:961 plperl.c:973
+#: plperl.c:1016 plperl.c:1037 plperl.c:2080 plperl.c:2189 plperl.c:2256
+#: plperl.c:2318
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: plperl.c:666
+#: plperl.c:667
 #, c-format
 msgid "while executing PostgreSQL::InServer::SPI::bootstrap"
 msgstr "同时在执行PostgreSQL::InServer::SPI::bootstrap"
 
-#: plperl.c:841
+#: plperl.c:842
 #, c-format
 msgid "while parsing Perl initialization"
 msgstr "同时在解析Perl初始化"
 
-#: plperl.c:847
+#: plperl.c:848
 #, c-format
 msgid "while running Perl initialization"
 msgstr "同时在运行Perl初始化"
 
-#: plperl.c:961
+#: plperl.c:962
 #, c-format
 msgid "while executing PLC_TRUSTED"
 msgstr "同时在执行PLC_TRUSTED"
 
-#: plperl.c:973
+#: plperl.c:974
 #, c-format
 msgid "while executing utf8fix"
 msgstr "同时在执行utf8fix"
 
-#: plperl.c:1016
+#: plperl.c:1017
 #, c-format
 msgid "while executing plperl.on_plperl_init"
 msgstr "同时在执行plperl.on_plperl_init"
 
-#: plperl.c:1037
+#: plperl.c:1038
 #, c-format
 msgid "while executing plperl.on_plperlu_init"
 msgstr "同时在执行plperl.on_plperlu_init"
 
-#: plperl.c:1081 plperl.c:1710
+#: plperl.c:1082 plperl.c:1722
 #, c-format
 msgid "Perl hash contains nonexistent column \"%s\""
 msgstr "Perl的哈希功能包含不存在的列\"%s\""
 
-#: plperl.c:1166
+#: plperl.c:1167
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "数组的维数(%d)超过最大允许值(%d)"
 
-#: plperl.c:1178 plperl.c:1195
+#: plperl.c:1179 plperl.c:1196
 #, c-format
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "多维数组必须有符合维度的数组表达式"
 
-#: plperl.c:1230
+#: plperl.c:1231
 #, c-format
 msgid "cannot convert Perl array to non-array type %s"
 msgstr "无法将Perl数组转换成非数组类型 %s"
 
-#: plperl.c:1332
+#: plperl.c:1333
 #, c-format
 msgid "cannot convert Perl hash to non-composite type %s"
 msgstr "无法将Perl哈希类型转换成非组合类型 %s"
 
-#: plperl.c:1343
+#: plperl.c:1344
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用"
 
-#: plperl.c:1358
+#: plperl.c:1359
 #, c-format
 msgid "PL/Perl function must return reference to hash or array"
 msgstr "PL/Perl 函数必须返回对哈希或数组的引用"
 
-#: plperl.c:1395
+#: plperl.c:1396
 #, c-format
-#| msgid "no output function available for type %s"
 msgid "lookup failed for type %s"
 msgstr "类型%s查找失败"
 
-#: plperl.c:1687
+#: plperl.c:1699
 #, c-format
 msgid "$_TD->{new} does not exist"
 msgstr "$_TD->{new}不存在"
 
-#: plperl.c:1691
+#: plperl.c:1703
 #, c-format
 msgid "$_TD->{new} is not a hash reference"
 msgstr "$_TD->{new}不是一个哈希引用"
 
-#: plperl.c:1944 plperl.c:2776
+#: plperl.c:1956 plperl.c:2790
 #, c-format
 msgid "PL/Perl functions cannot return type %s"
 msgstr "PL/Perl函数无法返回类型%s"
 
-#: plperl.c:1957 plperl.c:2821
+#: plperl.c:1969 plperl.c:2835
 #, c-format
 msgid "PL/Perl functions cannot accept type %s"
 msgstr "PL/Perl functions无法使用类型%s"
 
-#: plperl.c:2073
+#: plperl.c:2085
 #, c-format
 msgid "didn't get a CODE reference from compiling function \"%s\""
 msgstr "没有从正在编译的函数 \"%s\"得到CODE参考"
 
-#: plperl.c:2163
+#: plperl.c:2177
 #, c-format
-#| msgid "didn't get a CODE reference from compiling function \"%s\""
 msgid "didn't get a return item from function"
 msgstr "没有从函数得到一个返回项"
 
-#: plperl.c:2206 plperl.c:2272
+#: plperl.c:2220 plperl.c:2286
 #, c-format
 msgid "couldn't fetch $_TD"
 msgstr "无法取得 $_TD"
 
-#: plperl.c:2230 plperl.c:2292
+#: plperl.c:2244 plperl.c:2306
 #, c-format
-#| msgid "didn't get a CODE reference from compiling function \"%s\""
 msgid "didn't get a return item from trigger function"
 msgstr "没有从触发器函数得到一个返回项"
 
-#: plperl.c:2349
+#: plperl.c:2363
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "集值函数在不能使用集合的环境中调用"
 
-#: plperl.c:2393
+#: plperl.c:2407
 #, c-format
 msgid ""
 "set-returning PL/Perl function must return reference to array or use "
 "return_next"
 msgstr "返回集合的PL/Perl函数必须返回对数组的引用或者使用return_next"
 
-#: plperl.c:2507
+#: plperl.c:2521
 #, c-format
 msgid "ignoring modified row in DELETE trigger"
 msgstr "在DELETE触发器中忽略已修改的记录"
 
-#: plperl.c:2515
+#: plperl.c:2529
 #, c-format
 msgid ""
 "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\""
 msgstr "PL/Perl 触发器函数的结果必须是undef, \"SKIP\", 或 \"MODIFY\""
 
-#: plperl.c:2694 plperl.c:2704
+#: plperl.c:2708 plperl.c:2718
 #, c-format
 msgid "out of memory"
 msgstr "内存用尽"
 
-#: plperl.c:2768
+#: plperl.c:2782
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "触发器函数只能以触发器的形式调用"
 
-#: plperl.c:3144
+#: plperl.c:3121
+#, c-format
+msgid "query result has too many rows to fit in a Perl array"
+msgstr "查询结果中的行太多,无法放在一个Perl数组中"
+
+#: plperl.c:3166
 #, c-format
 msgid "cannot use return_next in a non-SETOF function"
 msgstr "不能在非SETOF函数中使用return_next"
 
-#: plperl.c:3200
+#: plperl.c:3222
 #, c-format
 msgid ""
 "SETOF-composite-returning PL/Perl function must call return_next with "
 "reference to hash"
 msgstr "返回SETOF-组合类型值的PL/Perl函数必须调用带有对哈希引用的return_next"
 
-#: plperl.c:3934
+#: plperl.c:3954
 #, c-format
 msgid "PL/Perl function \"%s\""
 msgstr "PL/Perl函数\"%s\""
 
-#: plperl.c:3946
+#: plperl.c:3966
 #, c-format
 msgid "compilation of PL/Perl function \"%s\""
 msgstr "编译PL/Perl函数\"%s\""
 
-#: plperl.c:3955
+#: plperl.c:3975
 #, c-format
 msgid "PL/Perl anonymous code block"
 msgstr "PL/Perl匿名代码块"
diff --git a/src/pl/plpgsql/src/po/es.po b/src/pl/plpgsql/src/po/es.po
index 457f70dc2f274fb4ea7872844b366649621ad882..cc584f69b02e4da077a67f6f4f703ebc79d47fb9 100644
--- a/src/pl/plpgsql/src/po/es.po
+++ b/src/pl/plpgsql/src/po/es.po
@@ -13,14 +13,15 @@ msgstr ""
 "Project-Id-Version: plpgsql (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:07+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
-"Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
+"PO-Revision-Date: 2016-05-25 11:54-0500\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: pl_comp.c:432 pl_handler.c:448
 #, c-format
@@ -600,19 +601,17 @@ msgstr "la variable de bucle de FOREACH debe ser una variable conocida o una lis
 #: pl_gram.y:1679
 #, c-format
 msgid "there is no label \"%s\" attached to any block or loop enclosing this statement"
-msgstr ""
+msgstr "ningún bloque o bucle que contenga esta sentencia tiene una etiqueta «%s»"
 
 #: pl_gram.y:1687
-#, fuzzy, c-format
-#| msgid "portal \"%s\" cannot be run"
+#, c-format
 msgid "block label \"%s\" cannot be used in CONTINUE"
-msgstr "el portal «%s» no puede ser ejecutado"
+msgstr "la etiqueta de bloque «%s» no puede usarse en CONTINUE"
 
 #: pl_gram.y:1702
-#, fuzzy, c-format
-#| msgid "CONTINUE cannot be used outside a loop"
+#, c-format
 msgid "EXIT cannot be used outside a loop, unless it has a label"
-msgstr "CONTINUE no puede usarse fuera de un bucle"
+msgstr "EXIT no puede usarse fuera de un bucle, a menos que tenga una etiqueta"
 
 #: pl_gram.y:1703
 #, c-format
diff --git a/src/pl/plpgsql/src/po/zh_CN.po b/src/pl/plpgsql/src/po/zh_CN.po
index bb8a6ceedb148bd2e8681f5aa9779030c28e5e88..9858e4e66743d33c8272ffed65b28cc0fff3ba1d 100644
--- a/src/pl/plpgsql/src/po/zh_CN.po
+++ b/src/pl/plpgsql/src/po/zh_CN.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.0\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:38+0000\n"
-"PO-Revision-Date: 2015-12-02 14:48+0800\n"
+"POT-Creation-Date: 2016-04-18 04:37+0000\n"
+"PO-Revision-Date: 2016-05-19 20:45+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
 "Language-Team: Weibin <ssmei_2000@yahoo.com>\n"
 "Language: zh_CN\n"
@@ -18,150 +18,145 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 1.5.7\n"
 
-#: pl_comp.c:436 pl_handler.c:448
+#: pl_comp.c:432 pl_handler.c:448
 #, c-format
 msgid "PL/pgSQL functions cannot accept type %s"
 msgstr "PL/pgSQL函数不使用类型%s"
 
-#: pl_comp.c:517
+#: pl_comp.c:513
 #, c-format
 msgid "could not determine actual return type for polymorphic function \"%s\""
 msgstr "无法确定多态函数\"%s\"的实际返回类型"
 
-#: pl_comp.c:547
+#: pl_comp.c:543
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "触发器函数只能以触发器的形式调用"
 
-#: pl_comp.c:551 pl_handler.c:433
+#: pl_comp.c:547 pl_handler.c:433
 #, c-format
 msgid "PL/pgSQL functions cannot return type %s"
 msgstr "PL/pgSQL函数不能返回类型%s"
 
-#: pl_comp.c:592
+#: pl_comp.c:588
 #, c-format
 msgid "trigger functions cannot have declared arguments"
 msgstr "触发器函数不能有已声明的参数"
 
-#: pl_comp.c:593
+#: pl_comp.c:589
 #, c-format
 msgid ""
 "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV "
 "instead."
 msgstr "触发器的参数可以通过TG_NARGS和TG_ARGV进行访问."
 
-#: pl_comp.c:695
+#: pl_comp.c:691
 #, c-format
 msgid "event trigger functions cannot have declared arguments"
 msgstr "事件触发器函数不能有已声明的参数"
 
-#: pl_comp.c:957
+#: pl_comp.c:944
 #, c-format
 msgid "compilation of PL/pgSQL function \"%s\" near line %d"
 msgstr "在第%2$d行附件编译PL/pgSQL函数\"%1$s\""
 
-#: pl_comp.c:980
+#: pl_comp.c:967
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "多次使用参数名称 \"%s\""
 
-#: pl_comp.c:1090
+#: pl_comp.c:1077
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "字段关联 \"%s\" 是不明确的"
 
-#: pl_comp.c:1092
+#: pl_comp.c:1079
 #, c-format
 msgid "It could refer to either a PL/pgSQL variable or a table column."
 msgstr "可以指向一个PL/pgSQL变量或表中的列"
 
-#: pl_comp.c:1272 pl_comp.c:1300 pl_exec.c:4447 pl_exec.c:4795 pl_exec.c:4880
-#: pl_exec.c:4971
+#: pl_comp.c:1259 pl_comp.c:1287 pl_exec.c:4395 pl_exec.c:4744 pl_exec.c:4829
+#: pl_exec.c:4920
 #, c-format
 msgid "record \"%s\" has no field \"%s\""
 msgstr "记录\"%s\"没有字段\"%s\""
 
-#: pl_comp.c:1831
+#: pl_comp.c:1818
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "关系 \"%s\" 不存在"
 
-#: pl_comp.c:1940
+#: pl_comp.c:1927
 #, c-format
 msgid "variable \"%s\" has pseudo-type %s"
 msgstr "变量\"%s\"具有伪类型%s"
 
-#: pl_comp.c:2006
+#: pl_comp.c:1994
 #, c-format
 msgid "relation \"%s\" is not a table"
 msgstr "关系 \"%s\"不是一张表"
 
-#: pl_comp.c:2166
+#: pl_comp.c:2154
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "类型 \"%s\" 只是一个 shell"
 
-#: pl_comp.c:2255 pl_comp.c:2308
+#: pl_comp.c:2243 pl_comp.c:2296
 #, c-format
 msgid "unrecognized exception condition \"%s\""
 msgstr "不可识别的异常条件\"%s\""
 
-#: pl_comp.c:2466
+#: pl_comp.c:2503
 #, c-format
 msgid ""
 "could not determine actual argument type for polymorphic function \"%s\""
 msgstr "无法确定多态函数\"%s\"的实际参数类型"
 
-#: pl_exec.c:321 pl_exec.c:614 pl_exec.c:893
+#: pl_exec.c:324 pl_exec.c:612 pl_exec.c:872
 msgid "during initialization of execution state"
 msgstr "在执行状态的初始化期间"
 
-#: pl_exec.c:328
+#: pl_exec.c:331
 msgid "while storing call arguments into local variables"
 msgstr "在将调用的参数存储到本地变量时"
 
-#: pl_exec.c:408 pl_exec.c:771
+#: pl_exec.c:416 pl_exec.c:760
 msgid "during function entry"
 msgstr "在进入函数期间"
 
-#: pl_exec.c:439 pl_exec.c:802 pl_exec.c:934
-#, c-format
-msgid "CONTINUE cannot be used outside a loop"
-msgstr "在循环的外部不能使用CONTINUE"
-
-#: pl_exec.c:443
+#: pl_exec.c:441
 #, c-format
 msgid "control reached end of function without RETURN"
 msgstr "控制流程到达函数的结束部分,但是没有看到RETURN"
 
-#: pl_exec.c:450
+#: pl_exec.c:448
 msgid "while casting return value to function's return type"
 msgstr "正在将返回值强行指派为函数的返回类型"
 
-#: pl_exec.c:463 pl_exec.c:2987
+#: pl_exec.c:461 pl_exec.c:2938
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "集值函数在不接受使用集合的环境中调用"
 
-#: pl_exec.c:501 pl_exec.c:2829
+#: pl_exec.c:499 pl_exec.c:2779
 msgid "returned record type does not match expected record type"
 msgstr "所返回的记录类型与所期待的记录类型不匹配"
 
-#: pl_exec.c:556 pl_exec.c:810 pl_exec.c:942
+#: pl_exec.c:554 pl_exec.c:789 pl_exec.c:907
 msgid "during function exit"
 msgstr "在函数退出期间"
 
-#: pl_exec.c:806 pl_exec.c:938
+#: pl_exec.c:785 pl_exec.c:903
 #, c-format
 msgid "control reached end of trigger procedure without RETURN"
 msgstr "控制流程到达触发器/存储过程的结束部分,但是没有看到RETURN"
 
-#: pl_exec.c:815
+#: pl_exec.c:794
 #, c-format
 msgid "trigger procedure cannot return a set"
 msgstr "触发器存储过程无法返回集合"
 
-#: pl_exec.c:837
+#: pl_exec.c:816
 msgid ""
 "returned row structure does not match the structure of the triggering table"
 msgstr "所返回的记录结构与触发表的结构不匹配"
@@ -169,7 +164,7 @@ msgstr "所返回的记录结构与触发表的结构不匹配"
 #. translator: last %s is a phrase such as "during statement block
 #. local variable initialization"
 #.
-#: pl_exec.c:993
+#: pl_exec.c:954
 #, c-format
 msgid "PL/pgSQL function %s line %d %s"
 msgstr "PL/pgSQL 函数%s在第%d行%s"
@@ -177,611 +172,630 @@ msgstr "PL/pgSQL 函数%s在第%d行%s"
 #. translator: last %s is a phrase such as "while storing call
 #. arguments into local variables"
 #.
-#: pl_exec.c:1004
+#: pl_exec.c:965
 #, 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:1012
+#: pl_exec.c:973
 #, c-format
 msgid "PL/pgSQL function %s line %d at %s"
 msgstr "在%3$s的第%2$d行的PL/pgSQL函数%1$s"
 
-#: pl_exec.c:1018
+#: pl_exec.c:979
 #, c-format
 msgid "PL/pgSQL function %s"
 msgstr "PL/pgSQL函数 %s"
 
-#: pl_exec.c:1129
+#: pl_exec.c:1089
 msgid "during statement block local variable initialization"
 msgstr "在初始化语句块的局部变量期间"
 
-#: pl_exec.c:1169
+#: pl_exec.c:1128
 #, c-format
 msgid "variable \"%s\" declared NOT NULL cannot default to NULL"
 msgstr "声明为NOT NULL的变量\"%s\"无法将缺省值设为NULL"
 
-#: pl_exec.c:1219
+#: pl_exec.c:1178
 msgid "during statement block entry"
 msgstr "在进入语句块期间"
 
-#: pl_exec.c:1240
+#: pl_exec.c:1199
 msgid "during statement block exit"
 msgstr "在退出语句块期间"
 
-#: pl_exec.c:1283
+#: pl_exec.c:1242
 msgid "during exception cleanup"
 msgstr "在清理异常期间"
 
-#: pl_exec.c:1634
+#: pl_exec.c:1593
 #, c-format
 msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
 msgstr "GET STACKED DIAGNOSTICS不能用于异常处理之外"
 
-#: pl_exec.c:1838
+#: pl_exec.c:1789
 #, c-format
 msgid "case not found"
 msgstr "没有找到CASE"
 
-#: pl_exec.c:1839
+#: pl_exec.c:1790
 #, c-format
 msgid "CASE statement is missing ELSE part."
 msgstr "在CASE语句结构中丢失ELSE部分"
 
-#: pl_exec.c:1993
+#: pl_exec.c:1944
 #, c-format
 msgid "lower bound of FOR loop cannot be null"
 msgstr "FOR循环的低位边界不能为空"
 
-#: pl_exec.c:2009
+#: pl_exec.c:1960
 #, c-format
 msgid "upper bound of FOR loop cannot be null"
 msgstr "FOR循环的高位边界不能为空"
 
-#: pl_exec.c:2027
+#: pl_exec.c:1978
 #, c-format
 msgid "BY value of FOR loop cannot be null"
 msgstr "FOR循环的BY值不能为空"
 
-#: pl_exec.c:2033
+#: pl_exec.c:1984
 #, c-format
 msgid "BY value of FOR loop must be greater than zero"
 msgstr "FOR循环的BY值必须大于0"
 
-#: pl_exec.c:2203 pl_exec.c:3963
+#: pl_exec.c:2153 pl_exec.c:3912
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr "游标\"%s\"已经在使用"
 
-#: pl_exec.c:2226 pl_exec.c:4025
+#: pl_exec.c:2176 pl_exec.c:3974
 #, c-format
 msgid "arguments given for cursor without arguments"
 msgstr "给不带有参数的游标指定参数"
 
-#: pl_exec.c:2245 pl_exec.c:4044
+#: pl_exec.c:2195 pl_exec.c:3993
 #, c-format
 msgid "arguments required for cursor"
 msgstr "游标需要参数"
 
-#: pl_exec.c:2330
+#: pl_exec.c:2280
 #, c-format
 msgid "FOREACH expression must not be null"
 msgstr "FOREACH表达式不能为空"
 
-#: pl_exec.c:2336
+#: pl_exec.c:2286
 #, c-format
 msgid "FOREACH expression must yield an array, not type %s"
 msgstr "FOREACH表达式的结果必须是数组, 而不是类型 %s"
 
-#: pl_exec.c:2353
+#: pl_exec.c:2303
 #, c-format
 msgid "slice dimension (%d) is out of the valid range 0..%d"
 msgstr "索引维数(%d)超出有效范围: 0..%d"
 
-#: pl_exec.c:2380
+#: pl_exec.c:2330
 #, c-format
 msgid "FOREACH ... SLICE loop variable must be of an array type"
 msgstr "FOREACH ... SLICE循环变量必须属于数组类型"
 
-#: pl_exec.c:2384
+#: pl_exec.c:2334
 #, c-format
 msgid "FOREACH loop variable must not be of an array type"
 msgstr "FOREACH循环变量不能为数组类型"
 
-#: pl_exec.c:2572 pl_exec.c:2654 pl_exec.c:2821
+#: pl_exec.c:2522 pl_exec.c:2604 pl_exec.c:2771
 #, c-format
 msgid ""
 "cannot return non-composite value from function returning composite type"
 msgstr "返回值为组合类型的函数不能返回非组合型的值"
 
-#: pl_exec.c:2698 pl_gram.y:3112
+#: pl_exec.c:2648 pl_gram.y:3161
 #, c-format
 msgid "cannot use RETURN NEXT in a non-SETOF function"
 msgstr "无法在非SETOF函数中使用RETURN NEXT"
 
-#: pl_exec.c:2732 pl_exec.c:2863
+#: pl_exec.c:2682 pl_exec.c:2813
 #, c-format
 msgid "wrong result type supplied in RETURN NEXT"
 msgstr "在RETURN NEXT中提供了错误的结果类型"
 
-#: pl_exec.c:2761 pl_exec.c:4434 pl_exec.c:4762 pl_exec.c:4788 pl_exec.c:4854
-#: pl_exec.c:4873 pl_exec.c:4941 pl_exec.c:4964
+#: pl_exec.c:2711 pl_exec.c:4382 pl_exec.c:4711 pl_exec.c:4737 pl_exec.c:4803
+#: pl_exec.c:4822 pl_exec.c:4890 pl_exec.c:4913
 #, c-format
 msgid "record \"%s\" is not assigned yet"
 msgstr "记录 \"%s\"还没有分配"
 
-#: pl_exec.c:2763 pl_exec.c:4436 pl_exec.c:4764 pl_exec.c:4790 pl_exec.c:4856
-#: pl_exec.c:4875 pl_exec.c:4943 pl_exec.c:4966
+#: pl_exec.c:2713 pl_exec.c:4384 pl_exec.c:4713 pl_exec.c:4739 pl_exec.c:4805
+#: pl_exec.c:4824 pl_exec.c:4892 pl_exec.c:4915
 #, c-format
 msgid "The tuple structure of a not-yet-assigned record is indeterminate."
 msgstr "未分配记录的元组结构未确定."
 
-#: pl_exec.c:2767 pl_exec.c:2787
+#: pl_exec.c:2717 pl_exec.c:2737
 #, c-format
 msgid "wrong record type supplied in RETURN NEXT"
 msgstr "在RETURN NEXT中提供了错误的记录类型"
 
-#: pl_exec.c:2882
+#: pl_exec.c:2832
 #, c-format
 msgid "RETURN NEXT must have a parameter"
 msgstr "RETURN NEXT必须有一个参数"
 
-#: pl_exec.c:2915 pl_gram.y:3174
+#: pl_exec.c:2865 pl_gram.y:3223
 #, c-format
 msgid "cannot use RETURN QUERY in a non-SETOF function"
 msgstr "无法在非SETOF函数中使用RETURN QUERY"
 
-#: pl_exec.c:2935
+#: pl_exec.c:2886
 msgid "structure of query does not match function result type"
 msgstr "查询的结构与函数的返回类型不匹配"
 
-#: pl_exec.c:3015 pl_exec.c:3145
+#: pl_exec.c:2966 pl_exec.c:3096
 #, c-format
 msgid "RAISE option already specified: %s"
 msgstr "已经指定了RAISE选项:%s"
 
-#: pl_exec.c:3048
+#: pl_exec.c:2999
 #, c-format
 msgid "RAISE without parameters cannot be used outside an exception handler"
 msgstr "不带有参数的RAISE不能在异常处理的外部使用"
 
-#: pl_exec.c:3135
+#: pl_exec.c:3086
 #, c-format
 msgid "RAISE statement option cannot be null"
 msgstr "RAISE语句选项不能为空"
 
-#: pl_exec.c:3206
+#: pl_exec.c:3155
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pl_exec.c:3279
+#: pl_exec.c:3226
 #, c-format
-#| msgid "Password encryption failed.\n"
 msgid "assertion failed"
 msgstr "断言失败"
 
-#: pl_exec.c:3469 pl_exec.c:3613 pl_exec.c:3802
+#: pl_exec.c:3418 pl_exec.c:3562 pl_exec.c:3751
 #, c-format
 msgid "cannot COPY to/from client in PL/pgSQL"
 msgstr "无法在PL/pgSQL中从客户端或向客户端使用COPY命令"
 
-#: pl_exec.c:3473 pl_exec.c:3617 pl_exec.c:3806
+#: pl_exec.c:3422 pl_exec.c:3566 pl_exec.c:3755
 #, c-format
 msgid "cannot begin/end transactions in PL/pgSQL"
 msgstr "无法在PL/pgSQL中无法使用begin/end事务"
 
-#: pl_exec.c:3474 pl_exec.c:3618 pl_exec.c:3807
+#: pl_exec.c:3423 pl_exec.c:3567 pl_exec.c:3756
 #, c-format
 msgid "Use a BEGIN block with an EXCEPTION clause instead."
 msgstr "使用带有一个EXCEPTION子句的BEGIN代码块."
 
-#: pl_exec.c:3641 pl_exec.c:3831
+#: pl_exec.c:3590 pl_exec.c:3780
 #, c-format
 msgid "INTO used with a command that cannot return data"
 msgstr "使用了带有无法返回数据的命令的INTO"
 
-#: pl_exec.c:3669 pl_exec.c:3859
+#: pl_exec.c:3618 pl_exec.c:3808
 #, c-format
 msgid "query returned no rows"
 msgstr "查询没有返回记录"
 
-#: pl_exec.c:3688 pl_exec.c:3878
+#: pl_exec.c:3637 pl_exec.c:3827
 #, c-format
 msgid "query returned more than one row"
 msgstr "查询返回多条记录"
 
-#: pl_exec.c:3705
+#: pl_exec.c:3654
 #, c-format
 msgid "query has no destination for result data"
 msgstr "对于结果数据,查询没有目标"
 
-#: pl_exec.c:3706
+#: pl_exec.c:3655
 #, c-format
 msgid "If you want to discard the results of a SELECT, use PERFORM instead."
 msgstr "如果您想要放弃SELECT语句的结果,请使用PERFORM."
 
-#: pl_exec.c:3738 pl_exec.c:7026
+#: pl_exec.c:3687 pl_exec.c:7128
 #, c-format
 msgid "query string argument of EXECUTE is null"
 msgstr "EXECUTE的查询字符串参数是空值"
 
-#: pl_exec.c:3794
+#: pl_exec.c:3743
 #, c-format
 msgid "EXECUTE of SELECT ... INTO is not implemented"
 msgstr "没有执行EXECUTE of SELECT ... INTO "
 
-#: pl_exec.c:3795
+#: pl_exec.c:3744
 #, c-format
 msgid ""
 "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS "
 "instead."
 msgstr "您可以使用EXECUTE ... INTO或者EXECUTE CREATE TABLE ... AS语句来替代"
 
-#: pl_exec.c:4105 pl_exec.c:4197
+#: pl_exec.c:4056 pl_exec.c:4148
 #, c-format
 msgid "cursor variable \"%s\" is null"
 msgstr "游标变量\"%s\"是空的"
 
-#: pl_exec.c:4112 pl_exec.c:4204
+#: pl_exec.c:4063 pl_exec.c:4155
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "游标 \"%s\" 不存在"
 
-#: pl_exec.c:4126
+#: pl_exec.c:4077
 #, c-format
 msgid "relative or absolute cursor position is null"
 msgstr "游标的相对或绝对位置是空的"
 
-#: pl_exec.c:4306
+#: pl_exec.c:4257
 #, c-format
 msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
 msgstr "不能将声明为NOT NULL的变量\"%s\" 分配空值"
 
-#: pl_exec.c:4378
+#: pl_exec.c:4326
 #, c-format
 msgid "cannot assign non-composite value to a row variable"
 msgstr "无法将非组合值分配给记录变量"
 
-#: pl_exec.c:4402
+#: pl_exec.c:4350
 #, c-format
 msgid "cannot assign non-composite value to a record variable"
 msgstr "无法将非组合值分配给记录类型变量"
 
-#: pl_exec.c:4545
+#: pl_exec.c:4493
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "数组维数(%d)超过了最大允许值(%d)"
 
-#: pl_exec.c:4577
+#: pl_exec.c:4525
 #, c-format
 msgid "subscripted object is not an array"
 msgstr "下标对象不是一个数组"
 
-#: pl_exec.c:4614
+#: pl_exec.c:4562
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "在赋值中数组下标不能为空"
 
-#: pl_exec.c:5080
+#: pl_exec.c:5029
 #, c-format
 msgid "query \"%s\" did not return data"
 msgstr "查询\"%s\"没有返回数据"
 
-#: pl_exec.c:5088
+#: pl_exec.c:5037
 #, c-format
 msgid "query \"%s\" returned %d column"
 msgid_plural "query \"%s\" returned %d columns"
 msgstr[0] "查询\"%s\"返回%d列"
 
-#: pl_exec.c:5115
+#: pl_exec.c:5064
 #, c-format
 msgid "query \"%s\" returned more than one row"
 msgstr "查询\"%s\"返回多条数据"
 
-#: pl_exec.c:5170
+#: pl_exec.c:5128
 #, c-format
 msgid "query \"%s\" is not a SELECT"
 msgstr "查询 \"%s\"不是SELECT语句"
 
-#: pl_funcs.c:218
+#: pl_funcs.c:237
 msgid "statement block"
 msgstr "语句块"
 
-#: pl_funcs.c:220
+#: pl_funcs.c:239
 msgid "assignment"
 msgstr "赋值"
 
-#: pl_funcs.c:230
+#: pl_funcs.c:249
 msgid "FOR with integer loop variable"
 msgstr "带有整型循环变量的FOR语句"
 
-#: pl_funcs.c:232
+#: pl_funcs.c:251
 msgid "FOR over SELECT rows"
 msgstr "在SELECT记录上的FOR语句"
 
-#: pl_funcs.c:234
+#: pl_funcs.c:253
 msgid "FOR over cursor"
 msgstr "在游标上运行的FOR语句"
 
-#: pl_funcs.c:236
+#: pl_funcs.c:255
 msgid "FOREACH over array"
 msgstr "在数组上运行的FOREACH语句"
 
-#: pl_funcs.c:250
+#: pl_funcs.c:269
 msgid "SQL statement"
 msgstr "SQL语句"
 
-#: pl_funcs.c:254
+#: pl_funcs.c:273
 msgid "FOR over EXECUTE statement"
 msgstr "在EXECUTE语句上的FOR语句"
 
-#: pl_gram.y:472
+#: pl_gram.y:473
 #, c-format
 msgid "block label must be placed before DECLARE, not after"
 msgstr "代码块标签必须放在DECLARE的前面,而不是后面"
 
-#: pl_gram.y:492
+#: pl_gram.y:493
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "类型 %s不支持校对函数"
 
-#: pl_gram.y:507
+#: pl_gram.y:508
 #, c-format
 msgid "row or record variable cannot be CONSTANT"
 msgstr "记录或者记录类型变量不能是CONSTANT类型"
 
-#: pl_gram.y:517
+#: pl_gram.y:518
 #, c-format
 msgid "row or record variable cannot be NOT NULL"
 msgstr "记录或者记录类型变量不能是NOT NULL"
 
-#: pl_gram.y:528
+#: pl_gram.y:529
 #, c-format
 msgid "default value for row or record variable is not supported"
 msgstr "不支持为记录或记录类型变量设置缺省值"
 
-#: pl_gram.y:673 pl_gram.y:688 pl_gram.y:714
+#: pl_gram.y:674 pl_gram.y:689 pl_gram.y:715
 #, c-format
 msgid "variable \"%s\" does not exist"
 msgstr "变量 \"%s\" 不存在"
 
-#: pl_gram.y:732 pl_gram.y:760
+#: pl_gram.y:733 pl_gram.y:761
 msgid "duplicate declaration"
 msgstr "重复声明"
 
-#: pl_gram.y:743 pl_gram.y:771
+#: pl_gram.y:744 pl_gram.y:772
 #, c-format
 msgid "variable \"%s\" shadows a previously defined variable"
 msgstr "变量\"%s\"隐藏了前一个已定义的变量"
 
-#: pl_gram.y:950
+#: pl_gram.y:951
 #, c-format
 msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
 msgstr "诊断项 %s 不允许出现在GET STACKED DIAGNOSTICS的结果中"
 
-#: pl_gram.y:968
+#: pl_gram.y:969
 #, c-format
 msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
 msgstr "诊断项 %s 不允许出现在GET CURRENT DIAGNOSTICS的结果中"
 
-#: pl_gram.y:1066
+#: pl_gram.y:1067
 msgid "unrecognized GET DIAGNOSTICS item"
 msgstr "无法识别的项GET DIAGNOSTICS"
 
-#: pl_gram.y:1077 pl_gram.y:3361
+#: pl_gram.y:1078 pl_gram.y:3410
 #, c-format
 msgid "\"%s\" is not a scalar variable"
 msgstr "\"%s\" 不是一个标量变量"
 
-#: pl_gram.y:1329 pl_gram.y:1523
+#: pl_gram.y:1330 pl_gram.y:1524
 #, c-format
 msgid ""
 "loop variable of loop over rows must be a record or row variable or list of "
 "scalar variables"
 msgstr "在记录集上进行循环的循环变量必须是记录或记录类型变量或标量变量的列表"
 
-#: pl_gram.y:1363
+#: pl_gram.y:1364
 #, c-format
 msgid "cursor FOR loop must have only one target variable"
 msgstr "游标的FOR循环只能有一个目标变量"
 
-#: pl_gram.y:1370
+#: pl_gram.y:1371
 #, c-format
 msgid "cursor FOR loop must use a bound cursor variable"
 msgstr "游标的FOR循环必须使用有界游标变量"
 
-#: pl_gram.y:1454
+#: pl_gram.y:1455
 #, c-format
 msgid "integer FOR loop must have only one target variable"
 msgstr "整数FOR循环必须只能有一个目标变量"
 
-#: pl_gram.y:1490
+#: pl_gram.y:1491
 #, c-format
 msgid "cannot specify REVERSE in query FOR loop"
 msgstr "无法在查询FOR循环中指定REVERSE "
 
-#: pl_gram.y:1637
+#: pl_gram.y:1638
 #, c-format
 msgid "loop variable of FOREACH must be a known variable or list of variables"
 msgstr "FOREACH的循环变量必须是已知类型或者是变量列表"
 
-#: pl_gram.y:1689 pl_gram.y:1726 pl_gram.y:1774 pl_gram.y:2814 pl_gram.y:2896
-#: pl_gram.y:3007 pl_gram.y:3763
+#: pl_gram.y:1679
+#, c-format
+msgid ""
+"there is no label \"%s\" attached to any block or loop enclosing this "
+"statement"
+msgstr "在任何包围这个语句的块或者循环上都没有附着标签\"%s\""
+
+#: pl_gram.y:1687
+#, c-format
+#| msgid "portal \"%s\" cannot be run"
+msgid "block label \"%s\" cannot be used in CONTINUE"
+msgstr "块标签 \"%s\" 不能被用在 CONTINUE 中"
+
+#: pl_gram.y:1702
+#, c-format
+#| msgid "CONTINUE cannot be used outside a loop"
+msgid "EXIT cannot be used outside a loop, unless it has a label"
+msgstr "不能在循环外部使用EXIT,除非该循环有一个标签"
+
+#: pl_gram.y:1703
+#, c-format
+msgid "CONTINUE cannot be used outside a loop"
+msgstr "在循环的外部不能使用CONTINUE"
+
+#: pl_gram.y:1727 pl_gram.y:1764 pl_gram.y:1812 pl_gram.y:2863 pl_gram.y:2945
+#: pl_gram.y:3056 pl_gram.y:3812
 msgid "unexpected end of function definition"
 msgstr "在函数定义中意外出现的结束标志"
 
-#: pl_gram.y:1794 pl_gram.y:1818 pl_gram.y:1834 pl_gram.y:1840 pl_gram.y:1954
-#: pl_gram.y:1962 pl_gram.y:1976 pl_gram.y:2071 pl_gram.y:2252 pl_gram.y:2335
-#: pl_gram.y:2486 pl_gram.y:3604 pl_gram.y:3665 pl_gram.y:3744
+#: pl_gram.y:1832 pl_gram.y:1856 pl_gram.y:1872 pl_gram.y:1878 pl_gram.y:1992
+#: pl_gram.y:2000 pl_gram.y:2014 pl_gram.y:2109 pl_gram.y:2290 pl_gram.y:2384
+#: pl_gram.y:2535 pl_gram.y:3653 pl_gram.y:3714 pl_gram.y:3793
 msgid "syntax error"
 msgstr "语法错误"
 
-#: pl_gram.y:1822 pl_gram.y:1824 pl_gram.y:2256 pl_gram.y:2258
+#: pl_gram.y:1860 pl_gram.y:1862 pl_gram.y:2294 pl_gram.y:2296
 msgid "invalid SQLSTATE code"
 msgstr "无效的SQLSTATE代码"
 
-#: pl_gram.y:2018
+#: pl_gram.y:2056
 msgid "syntax error, expected \"FOR\""
 msgstr "语法错误,期望\"FOR\""
 
-#: pl_gram.y:2080
+#: pl_gram.y:2118
 #, c-format
 msgid "FETCH statement cannot return multiple rows"
 msgstr "FETCH语句无法返回多条记录"
 
-#: pl_gram.y:2136
+#: pl_gram.y:2174
 #, c-format
 msgid "cursor variable must be a simple variable"
 msgstr "游标变量必须是一个简单变量"
 
-#: pl_gram.y:2142
+#: pl_gram.y:2180
 #, c-format
 msgid "variable \"%s\" must be of type cursor or refcursor"
 msgstr "变量\"%s\" 必须属于游标类型或refcursor类型"
 
-#: pl_gram.y:2310
-msgid "label does not exist"
-msgstr "标签不存在"
-
-#: pl_gram.y:2457 pl_gram.y:2468
+#: pl_gram.y:2506 pl_gram.y:2517
 #, c-format
 msgid "\"%s\" is not a known variable"
 msgstr "\"%s\" 不是一个已知变量"
 
-#: pl_gram.y:2572 pl_gram.y:2582 pl_gram.y:2738
+#: pl_gram.y:2621 pl_gram.y:2631 pl_gram.y:2787
 msgid "mismatched parentheses"
 msgstr "括号不匹配"
 
-#: pl_gram.y:2586
+#: pl_gram.y:2635
 #, c-format
 msgid "missing \"%s\" at end of SQL expression"
 msgstr "在SQL表达式的结尾处丢失\"%s\""
 
-#: pl_gram.y:2592
+#: pl_gram.y:2641
 #, c-format
 msgid "missing \"%s\" at end of SQL statement"
 msgstr "在SQL语句的结尾处丢失\"%s\""
 
-#: pl_gram.y:2609
+#: pl_gram.y:2658
 msgid "missing expression"
 msgstr "缺少表达式"
 
-#: pl_gram.y:2611
+#: pl_gram.y:2660
 msgid "missing SQL statement"
 msgstr "缺少SQL语句"
 
-#: pl_gram.y:2740
+#: pl_gram.y:2789
 msgid "incomplete data type declaration"
 msgstr "未完成的数据类型声明"
 
-#: pl_gram.y:2763
+#: pl_gram.y:2812
 msgid "missing data type declaration"
 msgstr "丢失数据类型声明"
 
-#: pl_gram.y:2819
+#: pl_gram.y:2868
 msgid "INTO specified more than once"
 msgstr "多次指定INTO"
 
-#: pl_gram.y:2988
+#: pl_gram.y:3037
 msgid "expected FROM or IN"
 msgstr "期望关键字FROM或IN"
 
-#: pl_gram.y:3048
+#: pl_gram.y:3097
 #, c-format
 msgid "RETURN cannot have a parameter in function returning set"
 msgstr "在返回为集合的函数中RETURN不能带有参数"
 
-#: pl_gram.y:3049
+#: pl_gram.y:3098
 #, c-format
 msgid "Use RETURN NEXT or RETURN QUERY."
 msgstr "使用RETURN NEXT或RETURN QUERY."
 
-#: pl_gram.y:3057
+#: pl_gram.y:3106
 #, c-format
 msgid "RETURN cannot have a parameter in function with OUT parameters"
 msgstr "在带有输出参数的函数中RETURN不能有参数"
 
-#: pl_gram.y:3066
+#: pl_gram.y:3115
 #, c-format
 msgid "RETURN cannot have a parameter in function returning void"
 msgstr "在返回为空的函数中RETURN不能有参数"
 
-#: pl_gram.y:3126
+#: pl_gram.y:3175
 #, c-format
 msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
 msgstr "在带有输出参数的函数中RETURN NEXT不能有参数"
 
-#: pl_gram.y:3230
+#: pl_gram.y:3279
 #, c-format
 msgid "\"%s\" is declared CONSTANT"
 msgstr "\"%s\"被声明为常量"
 
-#: pl_gram.y:3292 pl_gram.y:3304
+#: pl_gram.y:3341 pl_gram.y:3353
 #, c-format
 msgid "record or row variable cannot be part of multiple-item INTO list"
 msgstr "记录或行类型变量不能作为带有多个项的INTO列表中的一部分"
 
-#: pl_gram.y:3349
+#: pl_gram.y:3398
 #, c-format
 msgid "too many INTO variables specified"
 msgstr "在INTO后面指定了太多的变量"
 
-#: pl_gram.y:3557
+#: pl_gram.y:3606
 #, c-format
 msgid "end label \"%s\" specified for unlabelled block"
 msgstr "为没有标签的代码块指定结束标签\"%s\" "
 
-#: pl_gram.y:3564
+#: pl_gram.y:3613
 #, c-format
 msgid "end label \"%s\" differs from block's label \"%s\""
 msgstr "结束标签\"%s\" 与代码块标签\"%s\"不同"
 
-#: pl_gram.y:3599
+#: pl_gram.y:3648
 #, c-format
 msgid "cursor \"%s\" has no arguments"
 msgstr "游标\"%s\" 没有参数"
 
-#: pl_gram.y:3613
+#: pl_gram.y:3662
 #, c-format
 msgid "cursor \"%s\" has arguments"
 msgstr "游标\"%s\"有参数"
 
-#: pl_gram.y:3655
+#: pl_gram.y:3704
 #, c-format
 msgid "cursor \"%s\" has no argument named \"%s\""
 msgstr "游标\"%s\" 没有名为 \"%s\"的参数"
 
-#: pl_gram.y:3675
+#: pl_gram.y:3724
 #, c-format
 msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
 msgstr "游标\"%2$s\"中的参数值\"%1$s\"指定了多次"
 
-#: pl_gram.y:3700
+#: pl_gram.y:3749
 #, c-format
 msgid "not enough arguments for cursor \"%s\""
 msgstr "游标 \"%s\"没有足够的参数"
 
-#: pl_gram.y:3707
+#: pl_gram.y:3756
 #, c-format
 msgid "too many arguments for cursor \"%s\""
 msgstr "游标 \"%s\"给定的参数太多"
 
-#: pl_gram.y:3795
+#: pl_gram.y:3844
 msgid "unrecognized RAISE statement option"
 msgstr "无法识别的RAISE语句选项"
 
-#: pl_gram.y:3799
+#: pl_gram.y:3848
 msgid "syntax error, expected \"=\""
 msgstr "语法错误,期望\"=\""
 
-#: pl_gram.y:3840
+#: pl_gram.y:3889
 #, c-format
 msgid "too many parameters specified for RAISE"
 msgstr "为RAISE子句指定参数过多"
 
-#: pl_gram.y:3844
+#: pl_gram.y:3893
 #, c-format
 msgid "too few parameters specified for RAISE"
 msgstr "为RAISE子句指定参数过少"
@@ -822,109 +836,112 @@ msgstr "%s 在输入的末尾"
 msgid "%s at or near \"%s\""
 msgstr "%s 在 \"%s\" 或附近的"
 
-#~ msgid "relation \"%s.%s\" does not exist"
-#~ msgstr "关系 \"%s.%s\" 不存在"
-
-#~ msgid "expected \"[\""
-#~ msgstr "期望 \"[\""
-
-#~ msgid "row \"%s\" has no field \"%s\""
-#~ msgstr "记录\"%s\"没有字段\"%s\""
+#~ msgid "EXECUTE statement"
+#~ msgstr "EXECUTE 语句"
 
-#~ msgid "row \"%s.%s\" has no field \"%s\""
-#~ msgstr "记录\"%s.%s\"没有字段\"%s\""
+#~ msgid ""
+#~ "RETURN must specify a record or row variable in function returning row"
+#~ msgstr "在返回记录的函数中RETURN必须制定一个记录或记录类型变量"
 
-#~ msgid "type of \"%s\" does not match that when preparing the plan"
-#~ msgstr " \"%s\"类型与正在准备计划时的类型不匹配"
+#~ msgid ""
+#~ "RETURN NEXT must specify a record or row variable in function returning "
+#~ "row"
+#~ msgstr "在返回记录的函数中RETURN NEXT必须指定记录或记录类型变量"
 
-#~ msgid "type of \"%s.%s\" does not match that when preparing the plan"
-#~ msgstr " \"%s.%s\"类型与正在准备计划时的类型不匹配"
+#~ msgid "unterminated dollar-quoted string"
+#~ msgstr "未结束的$引用字符串"
 
-#~ msgid "type of tg_argv[%d] does not match that when preparing the plan"
-#~ msgstr "tg_argv[%d]的类型与正在准备计划时的类型不匹配"
+#~ msgid "unterminated quoted string"
+#~ msgstr "未结束的引用字符串"
 
-#~ msgid "N/A (dropped column)"
-#~ msgstr "N/A (已删除的列)"
+#~ msgid "unterminated /* comment"
+#~ msgstr "/* 注释没有结束"
 
-#~ msgid ""
-#~ "Number of returned columns (%d) does not match expected column count (%d)."
-#~ msgstr "所返回列的数量(%d列)与所期望列的数量(%d)不匹配."
+#~ msgid "unterminated quoted identifier"
+#~ msgstr "未结束的引用标识符"
 
-#~ msgid "Returned type %s does not match expected type %s in column \"%s\"."
-#~ msgstr "所返回的类型%1$s与列\"%3$s\"中期待的类型%2$s不匹配."
+#~ msgid "qualified identifier cannot be used here: %s"
+#~ msgstr "在这里不能使用限定标识符:%s"
 
-#~ msgid "only positional parameters can be aliased"
-#~ msgstr "只有已定位的参数能使用化名"
+#~ msgid "unterminated \" in identifier: %s"
+#~ msgstr "在标识符中未结束的\":%s"
 
-#~ msgid "function has no parameter \"%s\""
-#~ msgstr "函数中没有参数\"%s\""
+#~ msgid "variable \"%s\" does not exist in the current block"
+#~ msgstr "在当前代码块中不存在变量 \"%s\""
 
-#~ msgid "expected an integer variable"
-#~ msgstr "期望一个整型变量"
+#~ msgid "expected \")\""
+#~ msgstr "期望\")\""
 
-#~ msgid "syntax error at \"%s\""
-#~ msgstr "在\"%s\"上出现语法错误"
+#~ msgid "string literal in PL/PgSQL function \"%s\" near line %d"
+#~ msgstr "在PL/PgSQL函数 \"%s\" 第%d行附近的字符串常量"
 
-#~ msgid "Expected \"FOR\", to open a cursor for an unbound cursor variable."
-#~ msgstr "期望\"FOR\"来为无界游标变量打开游标"
+#~ msgid "SQL statement in PL/PgSQL function \"%s\" near line %d"
+#~ msgstr "在PL/PgSQL函数 \"%s\" 第%d行附近的SQL语句"
 
-#~ msgid "expected a cursor or refcursor variable"
-#~ msgstr "期望游标或refcursor类型变量"
+#~ msgid ""
+#~ "Expected record variable, row variable, or list of scalar variables "
+#~ "following INTO."
+#~ msgstr "在INTO后期望记录类型变量,记录变量或标量变量的列表."
 
-#~ msgid "too many variables specified in SQL statement"
-#~ msgstr "在SQL语句中指定了太多的变量"
+#~ msgid "cannot assign to tg_argv"
+#~ msgstr "无法分配到tg_argv"
 
 #~ msgid ""
 #~ "RETURN cannot have a parameter in function returning set; use RETURN NEXT "
 #~ "or RETURN QUERY"
 #~ msgstr "在返回集合的函数中RETURN不能有参数;使用RETURN NEXT或RETURN QUERY"
 
-#~ msgid "cannot assign to tg_argv"
-#~ msgstr "无法分配到tg_argv"
+#~ msgid "too many variables specified in SQL statement"
+#~ msgstr "在SQL语句中指定了太多的变量"
 
-#~ msgid ""
-#~ "Expected record variable, row variable, or list of scalar variables "
-#~ "following INTO."
-#~ msgstr "在INTO后期望记录类型变量,记录变量或标量变量的列表."
+#~ msgid "expected a cursor or refcursor variable"
+#~ msgstr "期望游标或refcursor类型变量"
 
-#~ msgid "SQL statement in PL/PgSQL function \"%s\" near line %d"
-#~ msgstr "在PL/PgSQL函数 \"%s\" 第%d行附近的SQL语句"
+#~ msgid "Expected \"FOR\", to open a cursor for an unbound cursor variable."
+#~ msgstr "期望\"FOR\"来为无界游标变量打开游标"
 
-#~ msgid "string literal in PL/PgSQL function \"%s\" near line %d"
-#~ msgstr "在PL/PgSQL函数 \"%s\" 第%d行附近的字符串常量"
+#~ msgid "syntax error at \"%s\""
+#~ msgstr "在\"%s\"上出现语法错误"
 
-#~ msgid "expected \")\""
-#~ msgstr "期望\")\""
+#~ msgid "expected an integer variable"
+#~ msgstr "期望一个整型变量"
 
-#~ msgid "variable \"%s\" does not exist in the current block"
-#~ msgstr "在当前代码块中不存在变量 \"%s\""
+#~ msgid "function has no parameter \"%s\""
+#~ msgstr "函数中没有参数\"%s\""
 
-#~ msgid "unterminated \" in identifier: %s"
-#~ msgstr "在标识符中未结束的\":%s"
+#~ msgid "only positional parameters can be aliased"
+#~ msgstr "只有已定位的参数能使用化名"
 
-#~ msgid "qualified identifier cannot be used here: %s"
-#~ msgstr "在这里不能使用限定标识符:%s"
+#~ msgid "Returned type %s does not match expected type %s in column \"%s\"."
+#~ msgstr "所返回的类型%1$s与列\"%3$s\"中期待的类型%2$s不匹配."
 
-#~ msgid "unterminated quoted identifier"
-#~ msgstr "未结束的引用标识符"
+#~ msgid ""
+#~ "Number of returned columns (%d) does not match expected column count (%d)."
+#~ msgstr "所返回列的数量(%d列)与所期望列的数量(%d)不匹配."
 
-#~ msgid "unterminated /* comment"
-#~ msgstr "/* 注释没有结束"
+#~ msgid "N/A (dropped column)"
+#~ msgstr "N/A (已删除的列)"
 
-#~ msgid "unterminated quoted string"
-#~ msgstr "未结束的引用字符串"
+#~ msgid "type of tg_argv[%d] does not match that when preparing the plan"
+#~ msgstr "tg_argv[%d]的类型与正在准备计划时的类型不匹配"
 
-#~ msgid "unterminated dollar-quoted string"
-#~ msgstr "未结束的$引用字符串"
+#~ msgid "type of \"%s.%s\" does not match that when preparing the plan"
+#~ msgstr " \"%s.%s\"类型与正在准备计划时的类型不匹配"
 
-#~ msgid ""
-#~ "RETURN NEXT must specify a record or row variable in function returning "
-#~ "row"
-#~ msgstr "在返回记录的函数中RETURN NEXT必须指定记录或记录类型变量"
+#~ msgid "type of \"%s\" does not match that when preparing the plan"
+#~ msgstr " \"%s\"类型与正在准备计划时的类型不匹配"
 
-#~ msgid ""
-#~ "RETURN must specify a record or row variable in function returning row"
-#~ msgstr "在返回记录的函数中RETURN必须制定一个记录或记录类型变量"
+#~ msgid "row \"%s.%s\" has no field \"%s\""
+#~ msgstr "记录\"%s.%s\"没有字段\"%s\""
 
-#~ msgid "EXECUTE statement"
-#~ msgstr "EXECUTE 语句"
+#~ msgid "row \"%s\" has no field \"%s\""
+#~ msgstr "记录\"%s\"没有字段\"%s\""
+
+#~ msgid "expected \"[\""
+#~ msgstr "期望 \"[\""
+
+#~ msgid "relation \"%s.%s\" does not exist"
+#~ msgstr "关系 \"%s.%s\" 不存在"
+
+#~ msgid "label does not exist"
+#~ msgstr "标签不存在"
diff --git a/src/pl/plpython/po/es.po b/src/pl/plpython/po/es.po
index 003b4caafb063e392e58eaf9c26e92105bcbb1ae..33ec199bbbffc235ae1670e7835eccf74f14787f 100644
--- a/src/pl/plpython/po/es.po
+++ b/src/pl/plpython/po/es.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: plpython (PostgreSQL 9.6)\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
 "POT-Creation-Date: 2016-05-02 20:07+0000\n"
-"PO-Revision-Date: 2016-05-03 12:17-0300\n"
+"PO-Revision-Date: 2016-05-25 12:29-0500\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 
 #: plpy_cursorobject.c:101
 #, c-format
@@ -61,7 +61,7 @@ msgstr "haciendo «fetch» en un cursor cerrado"
 #: plpy_cursorobject.c:467 plpy_spi.c:438
 #, c-format
 msgid "query result has too many rows to fit in a Python list"
-msgstr ""
+msgstr "el resultado de la consulta tiene demasiados registros y no entran en una lista de Python"
 
 #: plpy_cursorobject.c:508
 #, c-format
@@ -182,13 +182,12 @@ msgstr "abortando una subtransacción que no se ha cerrado"
 #: plpy_main.c:125
 #, c-format
 msgid "multiple Python libraries are present in session"
-msgstr ""
+msgstr "hay múltiples librerías de Python presentes en esta sesión"
 
 #: plpy_main.c:126
-#, fuzzy, c-format
-#| msgid "Python major version mismatch in session"
+#, c-format
 msgid "Only one Python major version can be used in one session."
-msgstr "las versiones mayores de Python no coinciden en esta sesión"
+msgstr "Sólo se puede usar una versión mayor de Python en cada sesión."
 
 #: plpy_main.c:142
 #, c-format
@@ -255,16 +254,14 @@ msgid "could not parse error message in plpy.elog"
 msgstr "no se pudo analizar el mensaje de error de plpy.elog"
 
 #: plpy_plpymodule.c:446
-#, fuzzy, c-format
-#| msgid "type \"%s\" is already defined"
+#, c-format
 msgid "the message is already specified"
-msgstr "el tipo «%s» ya está definido"
+msgstr "el mensaje ya está definido"
 
 #: plpy_plpymodule.c:469
-#, fuzzy, c-format
-#| msgid "%s: invalid argument for option %s\n"
+#, c-format
 msgid "'%s' is an invalid keyword argument for this function"
-msgstr "%s: argumento no válido para la opción %s\n"
+msgstr "«%s» no es un argumento válido para esta función"
 
 #: plpy_plpymodule.c:477 plpy_plpymodule.c:480
 #, c-format
diff --git a/src/pl/plpython/po/ru.po b/src/pl/plpython/po/ru.po
index 49375ec669bf045b90d4653b094f036ecc42f6cf..e377e1b723d0d8cb6a237331021710246851941e 100644
--- a/src/pl/plpython/po/ru.po
+++ b/src/pl/plpython/po/ru.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.2\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-01-15 04:37+0000\n"
+"POT-Creation-Date: 2016-05-27 16:07+0000\n"
 "PO-Revision-Date: 2016-01-17 08:04+0300\n"
 "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
 "Language-Team: Russian <pgsql-translators@postgresql.org>\n"
@@ -24,22 +24,22 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: plpy_cursorobject.c:98
+#: plpy_cursorobject.c:101
 #, c-format
 msgid "plpy.cursor expected a query or a plan"
 msgstr "plpy.cursor ожидает запрос или план"
 
-#: plpy_cursorobject.c:171
+#: plpy_cursorobject.c:179
 #, c-format
 msgid "plpy.cursor takes a sequence as its second argument"
 msgstr "plpy.cursor принимает в качестве второго аргумента последовательность"
 
-#: plpy_cursorobject.c:187 plpy_spi.c:217
+#: plpy_cursorobject.c:195 plpy_spi.c:229
 #, c-format
 msgid "could not execute plan"
 msgstr "нельзя выполнить план"
 
-#: plpy_cursorobject.c:190 plpy_spi.c:220
+#: plpy_cursorobject.c:198 plpy_spi.c:232
 #, c-format
 msgid "Expected sequence of %d argument, got %d: %s"
 msgid_plural "Expected sequence of %d arguments, got %d: %s"
@@ -47,37 +47,43 @@ msgstr[0] "Ожидалась последовательность из %d ар
 msgstr[1] "Ожидалась последовательность из %d аргументов, получено %d: %s"
 msgstr[2] "Ожидалась последовательность из %d аргументов, получено %d: %s"
 
-#: plpy_cursorobject.c:340
+#: plpy_cursorobject.c:354
 #, c-format
 msgid "iterating a closed cursor"
 msgstr "перемещение закрытого курсора"
 
-#: plpy_cursorobject.c:348 plpy_cursorobject.c:413
+#: plpy_cursorobject.c:362 plpy_cursorobject.c:427
 #, c-format
 msgid "iterating a cursor in an aborted subtransaction"
 msgstr "перемещение курсора в прерванной подтранзакции"
 
-#: plpy_cursorobject.c:405
+#: plpy_cursorobject.c:419
 #, c-format
 msgid "fetch from a closed cursor"
 msgstr "выборка из закрытого курсора"
 
-#: plpy_cursorobject.c:482
+#: plpy_cursorobject.c:467 plpy_spi.c:438
+#, c-format
+msgid "query result has too many rows to fit in a Python list"
+msgstr ""
+"результат запроса содержит слишком много строк для передачи в списке Python"
+
+#: plpy_cursorobject.c:508
 #, c-format
 msgid "closing a cursor in an aborted subtransaction"
 msgstr "закрытие курсора в прерванной подтранзакции"
 
-#: plpy_elog.c:103 plpy_elog.c:104 plpy_plpymodule.c:419
+#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:513
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: plpy_exec.c:91
+#: plpy_exec.c:140
 #, c-format
 msgid "unsupported set function return mode"
 msgstr "неподдерживаемый режим возврата для функции с результатом-множеством"
 
-#: plpy_exec.c:92
+#: plpy_exec.c:141
 #, c-format
 msgid ""
 "PL/Python set-returning functions only support returning one value per call."
@@ -85,39 +91,39 @@ msgstr ""
 "Функции PL/Python с результатом-множеством могут возвращать только одно "
 "значение за вызов."
 
-#: plpy_exec.c:104
+#: plpy_exec.c:154
 #, c-format
 msgid "returned object cannot be iterated"
 msgstr "возвращаемый объект не поддерживает итерации"
 
-#: plpy_exec.c:105
+#: plpy_exec.c:155
 #, c-format
 msgid "PL/Python set-returning functions must return an iterable object."
 msgstr ""
 "Функции PL/Python с результатом-множеством должны возвращать объекты с "
 "возможностью итерации."
 
-#: plpy_exec.c:130
+#: plpy_exec.c:169
 #, c-format
 msgid "error fetching next item from iterator"
 msgstr "ошибка получения следующего элемента из итератора"
 
-#: plpy_exec.c:165
+#: plpy_exec.c:210
 #, c-format
 msgid "PL/Python function with return type \"void\" did not return None"
 msgstr "функция PL/Python с типом результата \"void\" вернула не None"
 
-#: plpy_exec.c:291 plpy_exec.c:317
+#: plpy_exec.c:374 plpy_exec.c:400
 #, c-format
 msgid "unexpected return value from trigger procedure"
 msgstr "триггерная процедура вернула недопустимое значение"
 
-#: plpy_exec.c:292
+#: plpy_exec.c:375
 #, c-format
 msgid "Expected None or a string."
 msgstr "Ожидалось None или строка."
 
-#: plpy_exec.c:307
+#: plpy_exec.c:390
 #, c-format
 msgid ""
 "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
@@ -125,54 +131,54 @@ msgstr ""
 "триггерная функция PL/Python вернула \"MODIFY\" в триггере DELETE -- "
 "игнорируется"
 
-#: plpy_exec.c:318
+#: plpy_exec.c:401
 #, c-format
 msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
 msgstr "Ожидалось None, \"OK\", \"SKIP\" или \"MODIFY\"."
 
-#: plpy_exec.c:399
+#: plpy_exec.c:482
 #, c-format
 msgid "PyList_SetItem() failed, while setting up arguments"
 msgstr "ошибка в PyList_SetItem() при настройке аргументов"
 
-#: plpy_exec.c:403
+#: plpy_exec.c:486
 #, c-format
 msgid "PyDict_SetItemString() failed, while setting up arguments"
 msgstr "ошибка в PyDict_SetItemString() при настройке аргументов"
 
-#: plpy_exec.c:415
+#: plpy_exec.c:498
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr ""
 "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
 
-#: plpy_exec.c:453
+#: plpy_exec.c:714
 #, c-format
 msgid "while creating return value"
 msgstr "при создании возвращаемого значения"
 
-#: plpy_exec.c:477
+#: plpy_exec.c:738
 #, c-format
 msgid "could not create new dictionary while building trigger arguments"
 msgstr "не удалось создать словарь для передачи аргументов триггера"
 
-#: plpy_exec.c:666
+#: plpy_exec.c:927
 #, c-format
 msgid "TD[\"new\"] deleted, cannot modify row"
 msgstr "элемент TD[\"new\"] удалён -- изменить строку нельзя"
 
-#: plpy_exec.c:671
+#: plpy_exec.c:932
 #, c-format
 msgid "TD[\"new\"] is not a dictionary"
 msgstr "TD[\"new\"] - не словарь"
 
-#: plpy_exec.c:696
+#: plpy_exec.c:957
 #, c-format
 msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
 msgstr "ключ словаря TD[\"new\"] с порядковым номером %d не является строкой"
 
-#: plpy_exec.c:703
+#: plpy_exec.c:964
 #, c-format
 msgid ""
 "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
@@ -181,77 +187,57 @@ msgstr ""
 "ключу \"%s\", найденному в TD[\"new\"], не соответствует столбец в строке, "
 "обрабатываемой триггером"
 
-#: plpy_exec.c:783
+#: plpy_exec.c:1044
 #, c-format
 msgid "while modifying trigger row"
 msgstr "при изменении строки в триггере"
 
-#: plpy_exec.c:844
+#: plpy_exec.c:1105
 #, c-format
 msgid "forcibly aborting a subtransaction that has not been exited"
 msgstr "принудительное прерывание незавершённой подтранзакции"
 
-#: plpy_main.c:124
-#, c-format
-msgid "Python major version mismatch in session"
-msgstr "несовпадение базовой версии Python в сеансе"
-
 #: plpy_main.c:125
 #, c-format
-msgid ""
-"This session has previously used Python major version %d, and it is now "
-"attempting to use Python major version %d."
-msgstr ""
-"В данном сеансе до этого использовался Python базовой версии %d, а сейчас "
-"планируется использовать Python версии %d."
-
-#: plpy_main.c:127
-#, c-format
-msgid "Start a new session to use a different Python major version."
-msgstr ""
-"Чтобы переключиться на другую базовую версию Python, начните новый сеанс."
-
-#: plpy_main.c:150
-#, c-format
 msgid "multiple Python libraries are present in session"
 msgstr "в сеансе представлено несколько библиотек Python"
 
-#: plpy_main.c:151
+#: plpy_main.c:126
 #, c-format
 msgid "Only one Python major version can be used in one session."
 msgstr "В одном сеансе нельзя использовать Python разных старших версий."
 
-#: plpy_main.c:167
+#: plpy_main.c:142
 #, c-format
 msgid "untrapped error in initialization"
 msgstr "необработанная ошибка при инициализации"
 
-#: plpy_main.c:190
+#: plpy_main.c:165
 #, c-format
 msgid "could not import \"__main__\" module"
 msgstr "не удалось импортировать модуль \"__main__\""
 
-#: plpy_main.c:195
+#: plpy_main.c:170
 #, c-format
 msgid "could not create globals"
 msgstr "не удалось создать глобальные данные"
 
-#: plpy_main.c:199
+#: plpy_main.c:174
 #, c-format
 msgid "could not initialize globals"
 msgstr "не удалось инициализировать глобальные данные"
 
-#: plpy_main.c:409
+#: plpy_main.c:389
 #, c-format
 msgid "PL/Python function \"%s\""
 msgstr "функция PL/Python \"%s\""
 
-#: plpy_main.c:416
+#: plpy_main.c:396
 #, c-format
 msgid "PL/Python anonymous code block"
 msgstr "анонимный блок кода PL/Python"
 
-#: plpy_planobject.c:126
+#: plpy_planobject.c:123
 #, c-format
 msgid "plan.status takes no arguments"
 msgstr "plan.status не принимает аргументы"
@@ -276,36 +262,51 @@ msgstr "не удалось создать базовые объекты иск
 msgid "could not generate SPI exceptions"
 msgstr "не удалось сгенерировать исключения SPI"
 
-#: plpy_plpymodule.c:387
+#: plpy_plpymodule.c:421
 #, c-format
 msgid "could not unpack arguments in plpy.elog"
 msgstr "не удалось распаковать аргументы в plpy.elog"
 
-#: plpy_plpymodule.c:395
+#: plpy_plpymodule.c:430
 msgid "could not parse error message in plpy.elog"
 msgstr "не удалось разобрать сообщение об ошибке в plpy.elog"
 
-#: plpy_procedure.c:213
+#: plpy_plpymodule.c:446
+#, c-format
+msgid "the message is already specified"
+msgstr "сообщение уже указано"
+
+#: plpy_plpymodule.c:469
+#, c-format
+msgid "'%s' is an invalid keyword argument for this function"
+msgstr "'%s' - недопустимое ключевое слово (аргумент) для этой функции"
+
+#: plpy_plpymodule.c:477 plpy_plpymodule.c:480
+#, c-format
+msgid "invalid SQLSTATE code"
+msgstr "неверный код SQLSTATE"
+
+#: plpy_procedure.c:232
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "триггерные функции могут вызываться только в триггерах"
 
-#: plpy_procedure.c:218
+#: plpy_procedure.c:237
 #, c-format
 msgid "PL/Python functions cannot return type %s"
 msgstr "функции PL/Python не могут возвращать тип %s"
 
-#: plpy_procedure.c:300
+#: plpy_procedure.c:318
 #, c-format
 msgid "PL/Python functions cannot accept type %s"
 msgstr "функции PL/Python не могут принимать тип %s"
 
-#: plpy_procedure.c:398
+#: plpy_procedure.c:414
 #, c-format
 msgid "could not compile PL/Python function \"%s\""
 msgstr "не удалось скомпилировать функцию PL/Python \"%s\""
 
-#: plpy_procedure.c:401
+#: plpy_procedure.c:417
 #, c-format
 msgid "could not compile anonymous PL/Python code block"
 msgstr "не удалось скомпилировать анонимный блок кода PL/Python"
@@ -315,102 +316,102 @@ msgstr "не удалось скомпилировать анонимный бл
 msgid "command did not produce a result set"
 msgstr "команда не выдала результирующий набор"
 
-#: plpy_spi.c:57
+#: plpy_spi.c:60
 #, c-format
 msgid "second argument of plpy.prepare must be a sequence"
 msgstr "вторым аргументом plpy.prepare должна быть последовательность"
 
-#: plpy_spi.c:106
+#: plpy_spi.c:118
 #, c-format
 msgid "plpy.prepare: type name at ordinal position %d is not a string"
 msgstr "plpy.prepare: имя типа с порядковым номером %d не является строкой"
 
-#: plpy_spi.c:182
+#: plpy_spi.c:194
 #, c-format
 msgid "plpy.execute expected a query or a plan"
 msgstr "plpy.execute ожидает запрос или план"
 
-#: plpy_spi.c:201
+#: plpy_spi.c:213
 #, c-format
 msgid "plpy.execute takes a sequence as its second argument"
 msgstr "plpy.execute принимает в качестве второго аргумента последовательность"
 
-#: plpy_spi.c:325
+#: plpy_spi.c:337
 #, c-format
 msgid "SPI_execute_plan failed: %s"
 msgstr "ошибка в SPI_execute_plan: %s"
 
-#: plpy_spi.c:367
+#: plpy_spi.c:379
 #, c-format
 msgid "SPI_execute failed: %s"
 msgstr "ошибка в SPI_execute: %s"
 
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:123
 #, c-format
 msgid "this subtransaction has already been entered"
 msgstr "эта подтранзакция уже начата"
 
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:180
+#: plpy_subxactobject.c:129 plpy_subxactobject.c:187
 #, c-format
 msgid "this subtransaction has already been exited"
 msgstr "эта подтранзакция уже закончена"
 
-#: plpy_subxactobject.c:174
+#: plpy_subxactobject.c:181
 #, c-format
 msgid "this subtransaction has not been entered"
 msgstr "эта подтранзакция ещё не начата"
 
-#: plpy_subxactobject.c:186
+#: plpy_subxactobject.c:193
 #, c-format
 msgid "there is no subtransaction to exit from"
 msgstr "нет подтранзакции, которую нужно закончить"
 
-#: plpy_typeio.c:302
+#: plpy_typeio.c:286
 #, c-format
 msgid "could not create new dictionary"
 msgstr "не удалось создать словарь"
 
-#: plpy_typeio.c:564
+#: plpy_typeio.c:560
 #, c-format
 msgid "could not import a module for Decimal constructor"
 msgstr "не удалось импортировать модуль для конструктора Decimal"
 
-#: plpy_typeio.c:568
+#: plpy_typeio.c:564
 #, c-format
 msgid "no Decimal attribute in module"
 msgstr "в модуле нет атрибута Decimal"
 
-#: plpy_typeio.c:574
+#: plpy_typeio.c:570
 #, c-format
 msgid "conversion from numeric to Decimal failed"
 msgstr "не удалось преобразовать numeric в Decimal"
 
-#: plpy_typeio.c:649
+#: plpy_typeio.c:645
 #, c-format
 msgid "cannot convert multidimensional array to Python list"
 msgstr "преобразовать многомерный массив в список Python нельзя"
 
-#: plpy_typeio.c:650
+#: plpy_typeio.c:646
 #, c-format
 msgid "PL/Python only supports one-dimensional arrays."
 msgstr "PL/Python поддерживает только одномерные массивы."
 
-#: plpy_typeio.c:656
+#: plpy_typeio.c:652
 #, c-format
 msgid "could not create new Python list"
 msgstr "не удалось создать список Python"
 
-#: plpy_typeio.c:715
+#: plpy_typeio.c:711
 #, c-format
 msgid "could not create bytes representation of Python object"
 msgstr "не удалось создать байтовое представление объекта Python"
 
-#: plpy_typeio.c:820
+#: plpy_typeio.c:822
 #, c-format
 msgid "could not create string representation of Python object"
 msgstr "не удалось создать строковое представление объекта Python"
 
-#: plpy_typeio.c:831
+#: plpy_typeio.c:833
 #, c-format
 msgid ""
 "could not convert Python object into cstring: Python string representation "
@@ -419,7 +420,7 @@ msgstr ""
 "не удалось преобразовать объект Python в cstring: похоже, представление "
 "строки Python содержит нулевые байты"
 
-#: plpy_typeio.c:877
+#: plpy_typeio.c:879
 #, c-format
 msgid ""
 "return value of function with array return type is not a Python sequence"
@@ -427,12 +428,12 @@ msgstr ""
 "возвращаемое значение функции с результатом-массивом не является "
 "последовательностью"
 
-#: plpy_typeio.c:992
+#: plpy_typeio.c:1000
 #, c-format
 msgid "key \"%s\" not found in mapping"
 msgstr "ключ \"%s\" не найден в сопоставлении"
 
-#: plpy_typeio.c:993
+#: plpy_typeio.c:1001
 #, c-format
 msgid ""
 "To return null in a column, add the value None to the mapping with the key "
@@ -441,17 +442,17 @@ msgstr ""
 "Чтобы присвоить столбцу NULL, добавьте в сопоставление значение None с "
 "ключом-именем столбца."
 
-#: plpy_typeio.c:1044
+#: plpy_typeio.c:1052
 #, c-format
 msgid "length of returned sequence did not match number of columns in row"
 msgstr "длина возвращённой последовательности не равна числу столбцов в строке"
 
-#: plpy_typeio.c:1155
+#: plpy_typeio.c:1163
 #, c-format
 msgid "attribute \"%s\" does not exist in Python object"
 msgstr "в объекте Python не существует атрибут \"%s\""
 
-#: plpy_typeio.c:1156
+#: plpy_typeio.c:1164
 #, c-format
 msgid ""
 "To return null in a column, let the returned object have an attribute named "
@@ -460,16 +461,30 @@ msgstr ""
 "Чтобы присвоить столбцу NULL, присвойте возвращаемому значению атрибут с "
 "именем столбца и значением None."
 
-#: plpy_util.c:72
+#: plpy_util.c:36
 #, c-format
 msgid "could not convert Python Unicode object to bytes"
 msgstr "не удалось преобразовать объект Python Unicode в байты"
 
-#: plpy_util.c:78
+#: plpy_util.c:42
 #, c-format
 msgid "could not extract bytes from encoded string"
 msgstr "не удалось извлечь байты из кодированной строки"
 
+#~ msgid "Python major version mismatch in session"
+#~ msgstr "несовпадение базовой версии Python в сеансе"
+
+#~ msgid ""
+#~ "This session has previously used Python major version %d, and it is now "
+#~ "attempting to use Python major version %d."
+#~ msgstr ""
+#~ "В данном сеансе до этого использовался Python базовой версии %d, а сейчас "
+#~ "планируется использовать Python версии %d."
+
+#~ msgid "Start a new session to use a different Python major version."
+#~ msgstr ""
+#~ "Чтобы переключиться на другую базовую версию Python, начните новый сеанс."
+
 #~ msgid "plpy.prepare does not support composite types"
 #~ msgstr "plpy.prepare не поддерживает составные типы"
 
diff --git a/src/pl/plpython/po/zh_CN.po b/src/pl/plpython/po/zh_CN.po
index df265067f1dee8de1ff2d863a9566a46d1d7d942..d44eb9dd5e11945be11a2beadb45e54d186fa2cb 100644
--- a/src/pl/plpython/po/zh_CN.po
+++ b/src/pl/plpython/po/zh_CN.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.0\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2015-11-26 18:37+0000\n"
-"PO-Revision-Date: 2015-12-02 14:49+0800\n"
+"POT-Creation-Date: 2016-04-18 04:37+0000\n"
+"PO-Revision-Date: 2016-05-19 20:47+0800\n"
 "Last-Translator: Yuwei Peng <ywpeng@whu.edu.cn>\n"
 "Language-Team: Weibin <ssmei_2000@yahoo.com>\n"
 "Language: zh_CN\n"
@@ -18,216 +18,211 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 1.5.7\n"
 
-#: plpy_cursorobject.c:98
+#: plpy_cursorobject.c:101
 #, c-format
 msgid "plpy.cursor expected a query or a plan"
 msgstr "plpy.cursor期望一个查询或一个计划"
 
-#: plpy_cursorobject.c:171
+#: plpy_cursorobject.c:179
 #, c-format
 msgid "plpy.cursor takes a sequence as its second argument"
 msgstr "plpy.cursor将一个序列作为它的第二个参数"
 
-#: plpy_cursorobject.c:187 plpy_spi.c:217
+#: plpy_cursorobject.c:195 plpy_spi.c:229
 #, c-format
 msgid "could not execute plan"
 msgstr "无法执行计划"
 
-#: plpy_cursorobject.c:190 plpy_spi.c:220
+#: plpy_cursorobject.c:198 plpy_spi.c:232
 #, c-format
 msgid "Expected sequence of %d argument, got %d: %s"
 msgid_plural "Expected sequence of %d arguments, got %d: %s"
 msgstr[0] "期望%d序列参数,但是得到%d: %s"
 
 # sql_help.h:345
-#: plpy_cursorobject.c:340
+#: plpy_cursorobject.c:354
 #, c-format
 msgid "iterating a closed cursor"
 msgstr "遍历一个关闭的游标"
 
-#: plpy_cursorobject.c:348 plpy_cursorobject.c:413
+#: plpy_cursorobject.c:362 plpy_cursorobject.c:427
 #, c-format
 msgid "iterating a cursor in an aborted subtransaction"
 msgstr "在终止的子事务里遍历一个游标"
 
 # sql_help.h:109
-#: plpy_cursorobject.c:405
+#: plpy_cursorobject.c:419
 #, c-format
 msgid "fetch from a closed cursor"
 msgstr "从关闭的游标里获取结果"
 
-#: plpy_cursorobject.c:482
+#: plpy_cursorobject.c:467 plpy_spi.c:438
+#, c-format
+msgid "query result has too many rows to fit in a Python list"
+msgstr "查询结果中的行太多,无法放在一个Python列表中"
+
+#: plpy_cursorobject.c:508
 #, c-format
 msgid "closing a cursor in an aborted subtransaction"
 msgstr "在终止的子事务里关闭一个游标"
 
-#: plpy_elog.c:103 plpy_elog.c:104 plpy_plpymodule.c:419
+#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:513
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: plpy_exec.c:91
+#: plpy_exec.c:140
 #, c-format
 msgid "unsupported set function return mode"
 msgstr "不支持集合函数返回模式"
 
-#: plpy_exec.c:92
+#: plpy_exec.c:141
 #, c-format
-#| msgid ""
-#| "PL/Python set-returning functions only support returning only value per "
-#| "call."
 msgid ""
 "PL/Python set-returning functions only support returning one value per call."
 msgstr "PL/Python集合返回函数只支持在每次调用时返回一个值。"
 
-#: plpy_exec.c:104
+#: plpy_exec.c:154
 #, c-format
 msgid "returned object cannot be iterated"
 msgstr "所返回的对象无法迭代"
 
-#: plpy_exec.c:105
+#: plpy_exec.c:155
 #, c-format
 msgid "PL/Python set-returning functions must return an iterable object."
 msgstr "PL/Python集合返回函数必须返回一个可迭代的对象."
 
-#: plpy_exec.c:130
+#: plpy_exec.c:169
 #, c-format
 msgid "error fetching next item from iterator"
 msgstr "当从迭代器中取回下一个成员时出现错误"
 
-#: plpy_exec.c:165
+#: plpy_exec.c:210
 #, c-format
 msgid "PL/Python function with return type \"void\" did not return None"
 msgstr "返回类型为\"void\"的PL/Python函数不返回None"
 
-#: plpy_exec.c:291 plpy_exec.c:317
+#: plpy_exec.c:374 plpy_exec.c:400
 #, c-format
 msgid "unexpected return value from trigger procedure"
 msgstr "在触发器存储过程出现非期望的返回值"
 
-#: plpy_exec.c:292
+#: plpy_exec.c:375
 #, c-format
 msgid "Expected None or a string."
 msgstr "期望空值或一个字符串"
 
-#: plpy_exec.c:307
+#: plpy_exec.c:390
 #, c-format
 msgid ""
 "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
 msgstr "在DELETE触发器中的PL/Python 触发器函数返回 \"MODIFY\"  -- 忽略"
 
-#: plpy_exec.c:318
+#: plpy_exec.c:401
 #, c-format
 msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
 msgstr "期望None, \"OK\", \"SKIP\", 或\"MODIFY\""
 
-#: plpy_exec.c:399
+#: plpy_exec.c:482
 #, c-format
 msgid "PyList_SetItem() failed, while setting up arguments"
 msgstr "当设置参数的同时, 执行PyList_SetItem()失败"
 
-#: plpy_exec.c:403
+#: plpy_exec.c:486
 #, c-format
 msgid "PyDict_SetItemString() failed, while setting up arguments"
 msgstr "当设置参数的同时, 执行PyDict_SetItemString()失败"
 
-#: plpy_exec.c:415
+#: plpy_exec.c:498
 #, c-format
 msgid ""
 "function returning record called in context that cannot accept type record"
 msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用"
 
-#: plpy_exec.c:453
+#: plpy_exec.c:714
 #, c-format
 msgid "while creating return value"
 msgstr "同时在创建返回值"
 
-#: plpy_exec.c:477
+#: plpy_exec.c:738
 #, c-format
 msgid "could not create new dictionary while building trigger arguments"
 msgstr "在构建触发器参数的同时无法创建新的字典."
 
-#: plpy_exec.c:666
+#: plpy_exec.c:927
 #, c-format
 msgid "TD[\"new\"] deleted, cannot modify row"
 msgstr "TD[\"new\"] 已删除,无法修改记录"
 
-#: plpy_exec.c:671
+#: plpy_exec.c:932
 #, c-format
 msgid "TD[\"new\"] is not a dictionary"
 msgstr "TD[\"new\"]不是一个字典"
 
-#: plpy_exec.c:696
+#: plpy_exec.c:957
 #, c-format
 msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
 msgstr "在顺序位置%d的TD[\"new\"]字典键值不是字符串"
 
-#: plpy_exec.c:703
+#: plpy_exec.c:964
 #, c-format
 msgid ""
 "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
 "row"
 msgstr "在 TD[\"new\"]中找到的键 \"%s\"在正在触发的记录中不是作为列而存在."
 
-#: plpy_exec.c:783
+#: plpy_exec.c:1044
 #, c-format
 msgid "while modifying trigger row"
 msgstr "同时正在修改触发器记录"
 
-#: plpy_exec.c:844
+#: plpy_exec.c:1105
 #, c-format
 msgid "forcibly aborting a subtransaction that has not been exited"
 msgstr "强行终止一个还未退出的子事务"
 
-#: plpy_main.c:93
-#, c-format
-msgid "Python major version mismatch in session"
-msgstr "在会话中Python的主版本不匹配"
-
-#: plpy_main.c:94
+#: plpy_main.c:125
 #, c-format
-msgid ""
-"This session has previously used Python major version %d, and it is now "
-"attempting to use Python major version %d."
-msgstr ""
-"这个会话先前已经使用的Python主版本是%d,现在它试图使用的Python主版本是%d "
+msgid "multiple Python libraries are present in session"
+msgstr "会话中存在多个Python库"
 
-#: plpy_main.c:96
+#: plpy_main.c:126
 #, c-format
-msgid "Start a new session to use a different Python major version."
-msgstr "启动一个新的会话来使用一个不同的Python的主要版本"
+#| msgid "Python major version mismatch in session"
+msgid "Only one Python major version can be used in one session."
+msgstr "一个会话中只能使用一个Python主版本."
 
-#: plpy_main.c:111
+#: plpy_main.c:142
 #, c-format
 msgid "untrapped error in initialization"
 msgstr "在初始化过程中出现无法捕获的错误"
 
-#: plpy_main.c:134
+#: plpy_main.c:165
 #, c-format
 msgid "could not import \"__main__\" module"
 msgstr "无法导入模块\"__main__\" "
 
-#: plpy_main.c:139
+#: plpy_main.c:170
 #, c-format
 msgid "could not create globals"
 msgstr "无法创建全局变量"
 
-#: plpy_main.c:143
+#: plpy_main.c:174
 #, c-format
 msgid "could not initialize globals"
 msgstr "无法初始化全局变量"
 
-#: plpy_main.c:348
+#: plpy_main.c:389
 #, c-format
 msgid "PL/Python function \"%s\""
 msgstr "PL/Python函数\"%s\""
 
-#: plpy_main.c:355
+#: plpy_main.c:396
 #, c-format
 msgid "PL/Python anonymous code block"
 msgstr "PL/Python匿名代码块"
 
-#: plpy_planobject.c:126
+#: plpy_planobject.c:123
 #, c-format
 msgid "plan.status takes no arguments"
 msgstr "plan.status不带有参数"
@@ -253,36 +248,53 @@ msgstr "无法创建基本的SPI异常"
 msgid "could not generate SPI exceptions"
 msgstr "无法产生SPI异常"
 
-#: plpy_plpymodule.c:387
+#: plpy_plpymodule.c:421
 #, c-format
 msgid "could not unpack arguments in plpy.elog"
 msgstr "无法解析plpy.elog中的参数"
 
-#: plpy_plpymodule.c:395
+#: plpy_plpymodule.c:430
 msgid "could not parse error message in plpy.elog"
 msgstr "无法解析在plpy.elog中的错误消息"
 
-#: plpy_procedure.c:213
+#: plpy_plpymodule.c:446
+#, c-format
+#| msgid "type \"%s\" is already defined"
+msgid "the message is already specified"
+msgstr "该消息已经被指定"
+
+#: plpy_plpymodule.c:469
+#, c-format
+#| msgid "%s: invalid argument for -x option\n"
+msgid "'%s' is an invalid keyword argument for this function"
+msgstr "对于这个函数,'%s'是一个无效的关键词参数"
+
+#: plpy_plpymodule.c:477 plpy_plpymodule.c:480
+#, c-format
+msgid "invalid SQLSTATE code"
+msgstr "无效的SQLSTATE代码"
+
+#: plpy_procedure.c:232
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "触发器函数只能以触发器的形式调用"
 
-#: plpy_procedure.c:218
+#: plpy_procedure.c:237
 #, c-format
 msgid "PL/Python functions cannot return type %s"
 msgstr "PL/Python函数不能返回类型%s"
 
-#: plpy_procedure.c:300
+#: plpy_procedure.c:318
 #, c-format
 msgid "PL/Python functions cannot accept type %s"
 msgstr "PL/Python函数不能接受类型%s"
 
-#: plpy_procedure.c:398
+#: plpy_procedure.c:414
 #, c-format
 msgid "could not compile PL/Python function \"%s\""
 msgstr "无法编译PL/Python函数\"%s\""
 
-#: plpy_procedure.c:401
+#: plpy_procedure.c:417
 #, c-format
 msgid "could not compile anonymous PL/Python code block"
 msgstr "无法编译PL/Python中的匿名代码块"
@@ -292,137 +304,137 @@ msgstr "无法编译PL/Python中的匿名代码块"
 msgid "command did not produce a result set"
 msgstr "命令没有产生结果集"
 
-#: plpy_spi.c:57
+#: plpy_spi.c:60
 #, c-format
 msgid "second argument of plpy.prepare must be a sequence"
 msgstr "plpy.prepare的第二个参数必须是一个序列"
 
-#: plpy_spi.c:106
+#: plpy_spi.c:118
 #, c-format
 msgid "plpy.prepare: type name at ordinal position %d is not a string"
 msgstr "plpy.prepare: 在顺序位置%d的类型名称不是string"
 
-#: plpy_spi.c:182
+#: plpy_spi.c:194
 #, c-format
 msgid "plpy.execute expected a query or a plan"
 msgstr "plpy.execute期望一个查询或一个计划"
 
-#: plpy_spi.c:201
+#: plpy_spi.c:213
 #, c-format
 msgid "plpy.execute takes a sequence as its second argument"
 msgstr "plpy.execute将一个序列作为它的第二个参数"
 
-#: plpy_spi.c:325
+#: plpy_spi.c:337
 #, c-format
 msgid "SPI_execute_plan failed: %s"
 msgstr "执行SPI_execute_plan失败: %s"
 
-#: plpy_spi.c:367
+#: plpy_spi.c:379
 #, c-format
 msgid "SPI_execute failed: %s"
 msgstr "SPI_execute执行失败: %s"
 
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:123
 #, c-format
 msgid "this subtransaction has already been entered"
 msgstr "已经进入该子事务"
 
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:180
+#: plpy_subxactobject.c:129 plpy_subxactobject.c:187
 #, c-format
 msgid "this subtransaction has already been exited"
 msgstr "已经退出该子事务"
 
-#: plpy_subxactobject.c:174
+#: plpy_subxactobject.c:181
 #, c-format
 msgid "this subtransaction has not been entered"
 msgstr "该子事务仍没有进入"
 
-#: plpy_subxactobject.c:186
+#: plpy_subxactobject.c:193
 #, c-format
 msgid "there is no subtransaction to exit from"
 msgstr "没有子事务可以退出"
 
-#: plpy_typeio.c:302
+#: plpy_typeio.c:286
 #, c-format
 msgid "could not create new dictionary"
 msgstr "无法创建新的字典"
 
-#: plpy_typeio.c:564
+#: plpy_typeio.c:560
 #, c-format
 msgid "could not import a module for Decimal constructor"
 msgstr "无法为十进制构造函数导入模块"
 
-#: plpy_typeio.c:568
+#: plpy_typeio.c:564
 #, c-format
 msgid "no Decimal attribute in module"
 msgstr "模块中没有小数位属性"
 
-#: plpy_typeio.c:574
+#: plpy_typeio.c:570
 #, c-format
 msgid "conversion from numeric to Decimal failed"
 msgstr "由numeric数值到Decimal小数转换失败"
 
-#: plpy_typeio.c:649
+#: plpy_typeio.c:645
 #, c-format
 msgid "cannot convert multidimensional array to Python list"
 msgstr "无法将多维数组转换为Python列表"
 
-#: plpy_typeio.c:650
+#: plpy_typeio.c:646
 #, c-format
 msgid "PL/Python only supports one-dimensional arrays."
 msgstr "PL/Python只支持使用一维数组"
 
-#: plpy_typeio.c:656
+#: plpy_typeio.c:652
 #, c-format
 msgid "could not create new Python list"
 msgstr "无法创建新的Python列表"
 
-#: plpy_typeio.c:715
+#: plpy_typeio.c:711
 #, c-format
 msgid "could not create bytes representation of Python object"
 msgstr "无法创建Python对象的字节表达式"
 
-#: plpy_typeio.c:820
+#: plpy_typeio.c:822
 #, c-format
 msgid "could not create string representation of Python object"
 msgstr "无法创建Python对象的字符串表达式"
 
-#: plpy_typeio.c:831
+#: plpy_typeio.c:833
 #, c-format
 msgid ""
 "could not convert Python object into cstring: Python string representation "
 "appears to contain null bytes"
 msgstr "无法将Python对象转换为cstring: Python字符串表达式可能包含空字节"
 
-#: plpy_typeio.c:877
+#: plpy_typeio.c:879
 #, c-format
 msgid ""
 "return value of function with array return type is not a Python sequence"
 msgstr "带有数组返回类型的函数返回值不是一个Python序列"
 
-#: plpy_typeio.c:992
+#: plpy_typeio.c:1000
 #, c-format
 msgid "key \"%s\" not found in mapping"
 msgstr "在映射中没有找到键\"%s\""
 
-#: plpy_typeio.c:993
+#: plpy_typeio.c:1001
 #, c-format
 msgid ""
 "To return null in a column, add the value None to the mapping with the key "
 "named after the column."
 msgstr "为了在一列中返回空值, 需要在列的后面对带有已命名键的映射添加值None"
 
-#: plpy_typeio.c:1044
+#: plpy_typeio.c:1052
 #, c-format
 msgid "length of returned sequence did not match number of columns in row"
 msgstr "所返回序列的长度与在记录中列的数量不匹配"
 
-#: plpy_typeio.c:1155
+#: plpy_typeio.c:1163
 #, c-format
 msgid "attribute \"%s\" does not exist in Python object"
 msgstr "在Python对象中不存在属性\"%s\""
 
-#: plpy_typeio.c:1156
+#: plpy_typeio.c:1164
 #, c-format
 msgid ""
 "To return null in a column, let the returned object have an attribute named "
@@ -430,67 +442,76 @@ msgid ""
 msgstr ""
 "为了在一列中返回空值, 需要让返回的对象在带有值None的列后面的带有已命名属性"
 
-#: plpy_util.c:72
+#: plpy_util.c:36
 #, c-format
 msgid "could not convert Python Unicode object to bytes"
 msgstr "无法将Python中以Unicode编码的对象转换为PostgreSQL服务器字节码"
 
-#: plpy_util.c:78
+#: plpy_util.c:42
 #, c-format
 msgid "could not extract bytes from encoded string"
 msgstr "无法从已编码字符串里提取相应字节码值"
 
-#~ msgid "unrecognized error in PLy_spi_execute_fetch_result"
-#~ msgstr "在PLy_spi_execute_fetch_result中出现无法识别的错误"
+#~ msgid "plpy.prepare does not support composite types"
+#~ msgstr "plpy.prepare不支持使用组合类型"
 
-#~ msgid "PL/Python function \"%s\" failed"
-#~ msgstr "PL/Python函数 \"%s\" 执行失败"
+#~ msgid "PL/Python does not support conversion to arrays of row types."
+#~ msgstr "PL/Python不支持对行类型数组的转换。"
 
-#~ msgid ""
-#~ "could not create string representation of Python object in PL/Python "
-#~ "function \"%s\" while creating return value"
-#~ msgstr ""
-#~ "在创建返回值时, 无法计算在PL/Python函数\"%s\"中Python对象的字符串表达式"
+#~ msgid "PyCObject_AsVoidPtr() failed"
+#~ msgstr "执行PyCObject_AsVoidPtr()失败"
 
-#~ msgid ""
-#~ "could not compute string representation of Python object in PL/Python "
-#~ "function \"%s\" while modifying trigger row"
-#~ msgstr ""
-#~ "在修改触发器记录的同时无法计算在PL/Python函数\"%s\"中Python对象的字符串表"
-#~ "达式"
+#~ msgid "PyCObject_FromVoidPtr() failed"
+#~ msgstr "执行PyCObject_FromVoidPtr()失败"
 
-#~ msgid "out of memory"
-#~ msgstr "内存用尽"
+#~ msgid "transaction aborted"
+#~ msgstr "事务终止"
 
-#~ msgid "PL/Python: %s"
-#~ msgstr "PL/Python: %s"
+#~ msgid "invalid arguments for plpy.prepare"
+#~ msgstr " plpy.prepare的无效参数"
 
-#~ msgid "could not create procedure cache"
-#~ msgstr "无法创建存储过程缓存"
+#~ msgid "unrecognized error in PLy_spi_prepare"
+#~ msgstr "在PLy_spi_prepare中无法识别的错误"
+
+#~ msgid "unrecognized error in PLy_spi_execute_plan"
+#~ msgstr "在PLy_spi_execute_plan中出现无法识别的错误"
 
 #~ msgid "unrecognized error in PLy_spi_execute_query"
 #~ msgstr "在PLy_spi_execute_query中出现无法识别的错误"
 
-#~ msgid "unrecognized error in PLy_spi_execute_plan"
-#~ msgstr "在PLy_spi_execute_plan中出现无法识别的错误"
+#~ msgid "could not create procedure cache"
+#~ msgstr "无法创建存储过程缓存"
 
-#~ msgid "unrecognized error in PLy_spi_prepare"
-#~ msgstr "在PLy_spi_prepare中无法识别的错误"
+#~ msgid "PL/Python: %s"
+#~ msgstr "PL/Python: %s"
 
-#~ msgid "invalid arguments for plpy.prepare"
-#~ msgstr " plpy.prepare的无效参数"
+#~ msgid "out of memory"
+#~ msgstr "内存用尽"
 
-#~ msgid "transaction aborted"
-#~ msgstr "事务终止"
+#~ msgid ""
+#~ "could not compute string representation of Python object in PL/Python "
+#~ "function \"%s\" while modifying trigger row"
+#~ msgstr ""
+#~ "在修改触发器记录的同时无法计算在PL/Python函数\"%s\"中Python对象的字符串表"
+#~ "达式"
 
-#~ msgid "PyCObject_FromVoidPtr() failed"
-#~ msgstr "执行PyCObject_FromVoidPtr()失败"
+#~ msgid ""
+#~ "could not create string representation of Python object in PL/Python "
+#~ "function \"%s\" while creating return value"
+#~ msgstr ""
+#~ "在创建返回值时, 无法计算在PL/Python函数\"%s\"中Python对象的字符串表达式"
 
-#~ msgid "PyCObject_AsVoidPtr() failed"
-#~ msgstr "执行PyCObject_AsVoidPtr()失败"
+#~ msgid "PL/Python function \"%s\" failed"
+#~ msgstr "PL/Python函数 \"%s\" 执行失败"
 
-#~ msgid "PL/Python does not support conversion to arrays of row types."
-#~ msgstr "PL/Python不支持对行类型数组的转换。"
+#~ msgid "unrecognized error in PLy_spi_execute_fetch_result"
+#~ msgstr "在PLy_spi_execute_fetch_result中出现无法识别的错误"
 
-#~ msgid "plpy.prepare does not support composite types"
-#~ msgstr "plpy.prepare不支持使用组合类型"
+#~ msgid "Start a new session to use a different Python major version."
+#~ msgstr "启动一个新的会话来使用一个不同的Python的主要版本"
+
+#~ msgid ""
+#~ "This session has previously used Python major version %d, and it is now "
+#~ "attempting to use Python major version %d."
+#~ msgstr ""
+#~ "这个会话先前已经使用的Python主版本是%d,现在它试图使用的Python主版本是%d "