Translation updates
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 2 Feb 2015 04:23:40 +0000 (23:23 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 2 Feb 2015 04:23:40 +0000 (23:23 -0500)
Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 19c72ea8d856d7b1d4f5d759a766c8206bf9ce53

42 files changed:
src/backend/nls.mk
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/fr.po
src/backend/po/id.po [new file with mode: 0644]
src/backend/po/pt_BR.po
src/backend/po/ru.po
src/bin/initdb/po/de.po
src/bin/initdb/po/es.po
src/bin/initdb/po/pt_BR.po
src/bin/initdb/po/ru.po
src/bin/initdb/po/sv.po
src/bin/pg_basebackup/po/de.po
src/bin/pg_basebackup/po/es.po
src/bin/pg_basebackup/po/fr.po
src/bin/pg_basebackup/po/pt_BR.po
src/bin/pg_basebackup/po/ru.po
src/bin/pg_config/po/es.po
src/bin/pg_controldata/po/es.po
src/bin/pg_ctl/po/es.po
src/bin/pg_dump/po/es.po
src/bin/pg_resetxlog/po/es.po
src/bin/psql/po/de.po
src/bin/psql/po/es.po
src/bin/psql/po/fr.po
src/bin/psql/po/pt_BR.po
src/bin/psql/po/ru.po
src/bin/scripts/po/de.po
src/bin/scripts/po/es.po
src/bin/scripts/po/pt_BR.po
src/bin/scripts/po/ru.po
src/interfaces/ecpg/ecpglib/po/es.po
src/interfaces/ecpg/preproc/po/es.po
src/interfaces/libpq/po/de.po
src/interfaces/libpq/po/es.po
src/interfaces/libpq/po/ru.po
src/pl/plperl/po/es.po
src/pl/plpgsql/src/po/es.po
src/pl/plpython/po/de.po
src/pl/plpython/po/es.po
src/pl/plpython/po/ru.po
src/pl/tcl/po/es.po

index b3814909ba86da8920370d4bc7e5830fe558332f..fa4ff1a4e98a68f4363f7ece2f7f5a22dcd6d425 100644 (file)
@@ -1,6 +1,6 @@
 # src/backend/nls.mk
 CATALOG_NAME     = postgres
-AVAIL_LANGUAGES  = de es fr it ja pl pt_BR ru zh_CN
+AVAIL_LANGUAGES  = de es fr id it ja pl pt_BR ru zh_CN
 GETTEXT_FILES    = + gettext-files
 GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) \
     GUC_check_errmsg GUC_check_errdetail GUC_check_errhint \
index 9cad1fec59dd32be5654c7b5d85a36aaf3ea24f5..84325c39ea8b3c8a02ea426ad8461c7de70fc6e1 100644 (file)
@@ -1,5 +1,5 @@
 # German message translation file for PostgreSQL server
-# Peter Eisentraut <peter_e@gmx.net>, 2001 - 2014.
+# Peter Eisentraut <peter_e@gmx.net>, 2001 - 2015.
 #
 # Use these quotes: „%s“
 #
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.4\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-12-04 22:38+0000\n"
-"PO-Revision-Date: 2014-12-08 20:14-0500\n"
+"POT-Creation-Date: 2015-01-31 23:38+0000\n"
+"PO-Revision-Date: 2015-01-31 21:10-0500\n"
 "Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
 "Language-Team: German <peter_e@gmx.net>\n"
 "Language: de\n"
@@ -81,23 +81,25 @@ msgstr "konnte Verzeichnis „%s“ nicht schließen: %s\n"
 
 #: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
 #: ../port/path.c:651 access/transam/xlog.c:6123 lib/stringinfo.c:258
-#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1647
+#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1648
 #: postmaster/bgworker.c:267 postmaster/bgworker.c:783
-#: postmaster/postmaster.c:2173 postmaster/postmaster.c:2204
-#: postmaster/postmaster.c:3740 postmaster/postmaster.c:4441
-#: postmaster/postmaster.c:4526 postmaster/postmaster.c:5218
-#: postmaster/postmaster.c:5450 storage/buffer/buf_init.c:154
-#: storage/buffer/localbuf.c:396 storage/file/fd.c:458 storage/file/fd.c:855
-#: storage/file/fd.c:973 storage/file/fd.c:1586 storage/ipc/procarray.c:909
+#: postmaster/postmaster.c:2203 postmaster/postmaster.c:2234
+#: postmaster/postmaster.c:3770 postmaster/postmaster.c:4471
+#: postmaster/postmaster.c:4556 postmaster/postmaster.c:5260
+#: postmaster/postmaster.c:5492 replication/logical/logical.c:168
+#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:396
+#: storage/file/fd.c:458 storage/file/fd.c:855 storage/file/fd.c:973
+#: storage/file/fd.c:1586 storage/ipc/procarray.c:909
 #: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
 #: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
-#: utils/adt/formatting.c:1519 utils/adt/formatting.c:1639
-#: utils/adt/formatting.c:1760 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
+#: utils/adt/formatting.c:1520 utils/adt/formatting.c:1640
+#: utils/adt/formatting.c:1761 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
 #: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
 #: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3571 utils/misc/guc.c:3587
-#: utils/misc/guc.c:3600 utils/misc/tzparser.c:470 utils/mmgr/aset.c:499
-#: utils/mmgr/aset.c:678 utils/mmgr/aset.c:872 utils/mmgr/aset.c:1114
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3563 utils/misc/guc.c:3579
+#: utils/misc/guc.c:3592 utils/misc/guc.c:6544 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:499 utils/mmgr/aset.c:678 utils/mmgr/aset.c:872
+#: utils/mmgr/aset.c:1114
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
@@ -127,14 +129,14 @@ msgstr "konnte Datei oder Verzeichnis „%s“ nicht entfernen: %s\n"
 msgid "could not look up effective user ID %ld: %s"
 msgstr "konnte effektive Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: ../common/username.c:47 libpq/auth.c:1594
+#: ../common/username.c:47 libpq/auth.c:1595
 msgid "user does not exist"
 msgstr "Benutzer existiert nicht"
 
-#: ../common/username.c:61
+#: ../common/username.c:62
 #, c-format
-msgid "user name lookup failure: %s"
-msgstr "Fehler beim Nachschlagen des Benutzernamens: %s"
+msgid "user name lookup failure: error code %lu"
+msgstr "Fehler beim Nachschlagen des Benutzernamens: Fehlercode %lu"
 
 #: ../common/wait_error.c:47
 #, c-format
@@ -351,18 +353,18 @@ msgid "column \"%s\" cannot be declared SETOF"
 msgstr "Spalte „%s“ kann nicht als SETOF deklariert werden"
 
 #: access/gin/ginentrypage.c:108 access/gist/gist.c:1281
-#: access/nbtree/nbtinsert.c:545 access/nbtree/nbtsort.c:485
+#: access/nbtree/nbtinsert.c:549 access/nbtree/nbtsort.c:485
 #: access/spgist/spgdoinsert.c:1880
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet Maximum %zu für Index „%s“"
 
-#: access/gin/ginscan.c:402
+#: access/gin/ginscan.c:410
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr "alte GIN-Indexe unterstützen keine Scans des ganzen Index oder Suchen nach NULL-Werten"
 
-#: access/gin/ginscan.c:403
+#: access/gin/ginscan.c:411
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus."
@@ -454,21 +456,21 @@ msgstr "Index „%s“ ist kein Hash-Index"
 msgid "index \"%s\" has wrong hash version"
 msgstr "Index „%s“ hat falsche Hash-Version"
 
-#: access/heap/heapam.c:1199 access/heap/heapam.c:1227
-#: access/heap/heapam.c:1259 catalog/aclchk.c:1742
+#: access/heap/heapam.c:1203 access/heap/heapam.c:1231
+#: access/heap/heapam.c:1263 catalog/aclchk.c:1742
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "„%s“ ist ein Index"
 
-#: access/heap/heapam.c:1204 access/heap/heapam.c:1232
-#: access/heap/heapam.c:1264 catalog/aclchk.c:1749 commands/tablecmds.c:8495
+#: access/heap/heapam.c:1208 access/heap/heapam.c:1236
+#: access/heap/heapam.c:1268 catalog/aclchk.c:1749 commands/tablecmds.c:8495
 #: commands/tablecmds.c:11279
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "„%s“ ist ein zusammengesetzter Typ"
 
-#: access/heap/heapam.c:4223 access/heap/heapam.c:4436
-#: access/heap/heapam.c:4493 executor/execMain.c:1992
+#: access/heap/heapam.c:4394 access/heap/heapam.c:4451
+#: access/heap/heapam.c:4696 executor/execMain.c:2102
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation „%s“ nicht setzen"
@@ -487,9 +489,9 @@ msgstr "konnte nicht in Datei „%s“ schreiben, %d von %d geschrieben: %m"
 #: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
 #: access/transam/timeline.c:497 access/transam/xlog.c:3185
 #: access/transam/xlog.c:3315 replication/logical/snapbuild.c:1592
-#: replication/slot.c:1042 replication/slot.c:1131 storage/file/fd.c:436
+#: replication/slot.c:1025 replication/slot.c:1114 storage/file/fd.c:436
 #: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
-#: utils/misc/guc.c:6599
+#: utils/misc/guc.c:6566
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht fsyncen: %m"
@@ -497,19 +499,19 @@ msgstr "konnte Datei „%s“ nicht fsyncen: %m"
 #: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
 #: access/transam/timeline.c:315 access/transam/timeline.c:475
 #: access/transam/xlog.c:3141 access/transam/xlog.c:3276
-#: access/transam/xlog.c:9915 access/transam/xlog.c:10230
-#: postmaster/postmaster.c:4216 replication/slot.c:999
+#: access/transam/xlog.c:9922 access/transam/xlog.c:10237
+#: postmaster/postmaster.c:4246 replication/slot.c:982
 #: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
 #, c-format
 msgid "could not create file \"%s\": %m"
-msgstr "kann Datei „%s“ nicht erstellen: %m"
+msgstr "konnte Datei „%s“ nicht erstellen: %m"
 
 #: access/heap/rewriteheap.c:1157
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "konnte Datei „%s“ nicht auf %u kürzen: %m"
 
-#: access/heap/rewriteheap.c:1164 replication/walsender.c:465
+#: access/heap/rewriteheap.c:1164 replication/walsender.c:464
 #: storage/smgr/md.c:1782
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
@@ -518,22 +520,22 @@ msgstr "konnte Positionszeiger nicht ans Ende der Datei „%s“ setzen: %m"
 #: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
 #: access/transam/timeline.c:401 access/transam/timeline.c:491
 #: access/transam/xlog.c:3176 access/transam/xlog.c:3308
-#: postmaster/postmaster.c:4226 postmaster/postmaster.c:4236
-#: replication/logical/snapbuild.c:1576 replication/slot.c:1028
+#: postmaster/postmaster.c:4256 postmaster/postmaster.c:4266
+#: replication/logical/snapbuild.c:1576 replication/slot.c:1011
 #: storage/file/copydir.c:187 utils/init/miscinit.c:1057
-#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6567
-#: utils/misc/guc.c:6592 utils/misc/guc.c:8290 utils/misc/guc.c:8304
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6527
+#: utils/misc/guc.c:6558 utils/misc/guc.c:8268 utils/misc/guc.c:8282
 #: utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "konnte nicht in Datei „%s“ schreiben: %m"
 
-#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10099
+#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10106
 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
-#: replication/logical/reorderbuffer.c:2352
-#: replication/logical/reorderbuffer.c:2409
+#: replication/logical/reorderbuffer.c:2353
+#: replication/logical/reorderbuffer.c:2410
 #: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
-#: replication/slot.c:1105 storage/ipc/dsm.c:326 storage/smgr/md.c:404
+#: replication/slot.c:1088 storage/ipc/dsm.c:326 storage/smgr/md.c:404
 #: storage/smgr/md.c:453 storage/smgr/md.c:1317
 #, c-format
 msgid "could not remove file \"%s\": %m"
@@ -544,16 +546,16 @@ msgstr "konnte Datei „%s“ nicht löschen: %m"
 #: access/transam/xlog.c:3117 access/transam/xlog.c:3224
 #: access/transam/xlog.c:3261 access/transam/xlog.c:3536
 #: access/transam/xlog.c:3614 replication/basebackup.c:458
-#: replication/basebackup.c:1167 replication/logical/logicalfuncs.c:152
-#: replication/logical/reorderbuffer.c:1965
-#: replication/logical/reorderbuffer.c:2172
-#: replication/logical/reorderbuffer.c:2801
+#: replication/basebackup.c:1191 replication/logical/logicalfuncs.c:152
+#: replication/logical/reorderbuffer.c:1966
+#: replication/logical/reorderbuffer.c:2173
+#: replication/logical/reorderbuffer.c:2802
 #: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
-#: replication/slot.c:1120 replication/walsender.c:458
-#: replication/walsender.c:2094 storage/file/copydir.c:155
+#: replication/slot.c:1103 replication/walsender.c:457
+#: replication/walsender.c:2093 storage/file/copydir.c:155
 #: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
-#: utils/error/elog.c:1797 utils/init/miscinit.c:992
-#: utils/init/miscinit.c:1121 utils/misc/guc.c:6795 utils/misc/guc.c:6813
+#: utils/error/elog.c:1810 utils/init/miscinit.c:992
+#: utils/init/miscinit.c:1121 utils/misc/guc.c:6766 utils/misc/guc.c:6795
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht öffnen: %m"
@@ -565,27 +567,27 @@ msgstr "konnte Datei „%s“ nicht öffnen: %m"
 msgid "\"%s\" is not an index"
 msgstr "„%s“ ist kein Index"
 
-#: access/nbtree/nbtinsert.c:396
+#: access/nbtree/nbtinsert.c:401
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "doppelter Schlüsselwert verletzt Unique-Constraint „%s“"
 
-#: access/nbtree/nbtinsert.c:398
+#: access/nbtree/nbtinsert.c:403
 #, c-format
 msgid "Key %s already exists."
 msgstr "Schlüssel „%s“ existiert bereits."
 
-#: access/nbtree/nbtinsert.c:466
+#: access/nbtree/nbtinsert.c:470
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "konnte Tupel mit Index „%s“ nicht erneut finden"
 
-#: access/nbtree/nbtinsert.c:468
+#: access/nbtree/nbtinsert.c:472
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Das kann daran liegen, dass der Indexausdruck nicht „immutable“ ist."
 
-#: access/nbtree/nbtinsert.c:548 access/nbtree/nbtsort.c:488
+#: access/nbtree/nbtinsert.c:552 access/nbtree/nbtsort.c:488
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -774,10 +776,10 @@ msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 
 #: access/transam/timeline.c:346 access/transam/xlog.c:3289
-#: access/transam/xlog.c:10081 access/transam/xlog.c:10094
-#: access/transam/xlog.c:10462 access/transam/xlog.c:10505
+#: access/transam/xlog.c:10088 access/transam/xlog.c:10101
+#: access/transam/xlog.c:10469 access/transam/xlog.c:10512
 #: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
-#: replication/logical/reorderbuffer.c:2819 replication/walsender.c:483
+#: replication/logical/reorderbuffer.c:2820 replication/walsender.c:482
 #: storage/file/copydir.c:176 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
@@ -785,7 +787,7 @@ msgstr "konnte Datei „%s“ nicht lesen: %m"
 
 #: access/transam/timeline.c:412 access/transam/timeline.c:502
 #: access/transam/xlog.c:3191 access/transam/xlog.c:3320
-#: access/transam/xlogfuncs.c:493 commands/copy.c:1518
+#: access/transam/xlogfuncs.c:493 commands/copy.c:1522
 #: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
@@ -797,11 +799,11 @@ msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht nach „%s“ linken: %m"
 
 #: access/transam/timeline.c:436 access/transam/timeline.c:526
-#: access/transam/xlog.c:5403 access/transam/xlog.c:6496
+#: access/transam/xlog.c:5403 access/transam/xlog.c:6503
 #: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
 #: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
-#: replication/logical/snapbuild.c:1606 replication/slot.c:468
-#: replication/slot.c:942 replication/slot.c:1054 utils/misc/guc.c:6843
+#: replication/logical/snapbuild.c:1606 replication/slot.c:469
+#: replication/slot.c:925 replication/slot.c:1037 utils/misc/guc.c:6819
 #: utils/time/snapmgr.c:999
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
@@ -1107,7 +1109,7 @@ msgid "could not close log file %s: %m"
 msgstr "konnte Logdatei %s nicht schließen: %m"
 
 #: access/transam/xlog.c:3699 replication/logical/logicalfuncs.c:147
-#: replication/walsender.c:2089
+#: replication/walsender.c:2088
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
@@ -1365,7 +1367,7 @@ msgstr "konnte Recovery-Kommandodatei „%s“ nicht öffnen: %m"
 
 #: access/transam/xlog.c:5126 access/transam/xlog.c:5217
 #: access/transam/xlog.c:5228 commands/extension.c:527
-#: commands/extension.c:535 utils/misc/guc.c:5369
+#: commands/extension.c:535 utils/misc/guc.c:5355
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "Parameter „%s“ erfordert einen Boole’schen Wert"
@@ -1406,9 +1408,9 @@ msgstr "Parameter „%s“ erfordert einen Zeitwert"
 #: catalog/objectaddress.c:764 commands/tablecmds.c:763
 #: commands/tablecmds.c:8949 commands/user.c:988 commands/view.c:475
 #: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5401 utils/misc/guc.c:5526
-#: utils/misc/guc.c:8867 utils/misc/guc.c:8901 utils/misc/guc.c:8935
-#: utils/misc/guc.c:8969 utils/misc/guc.c:9004
+#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5377 utils/misc/guc.c:5470
+#: utils/misc/guc.c:8845 utils/misc/guc.c:8879 utils/misc/guc.c:8913
+#: utils/misc/guc.c:8947 utils/misc/guc.c:8982
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -1683,233 +1685,233 @@ msgstr "Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiede
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "Wiederherstellung nach Absturz beginnt in Zeitleiste %u und hat Zielzeitleiste %u"
 
-#: access/transam/xlog.c:6463
+#: access/transam/xlog.c:6470
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
 
-#: access/transam/xlog.c:6464
+#: access/transam/xlog.c:6471
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Das bedeutet, dass die Datensicherung verfälscht ist und Sie eine andere Datensicherung zur Wiederherstellung verwenden werden müssen."
 
-#: access/transam/xlog.c:6529
+#: access/transam/xlog.c:6536
 #, c-format
 msgid "initializing for hot standby"
 msgstr "initialisiere für Hot Standby"
 
-#: access/transam/xlog.c:6661
+#: access/transam/xlog.c:6668
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "Redo beginnt bei %X/%X"
 
-#: access/transam/xlog.c:6876
+#: access/transam/xlog.c:6883
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "Redo fertig bei %X/%X"
 
-#: access/transam/xlog.c:6881 access/transam/xlog.c:8735
+#: access/transam/xlog.c:6888 access/transam/xlog.c:8742
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "letzte vollständige Transaktion war bei Logzeit %s"
 
-#: access/transam/xlog.c:6889
+#: access/transam/xlog.c:6896
 #, c-format
 msgid "redo is not required"
 msgstr "Redo nicht nötig"
 
-#: access/transam/xlog.c:6947
+#: access/transam/xlog.c:6954
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
 
-#: access/transam/xlog.c:6963 access/transam/xlog.c:6967
+#: access/transam/xlog.c:6970 access/transam/xlog.c:6974
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:6964
+#: access/transam/xlog.c:6971
 #, c-format
 msgid "All WAL generated while online backup was taken must be available at recovery."
 msgstr "Der komplette WAL, der während der Online-Sicherung erzeugt wurde, muss bei der Wiederherstellung verfügbar sein."
 
-#: access/transam/xlog.c:6968
+#: access/transam/xlog.c:6975
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Die mit pg_start_backup() begonnene Online-Sicherung muss mit pg_stop_backup() beendet werden und der ganze WAL bis zu diesem Punkt muss bei der Wiederherstellung verfügbar sein."
 
-#: access/transam/xlog.c:6971
+#: access/transam/xlog.c:6978
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:6998
+#: access/transam/xlog.c:7005
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:7339
+#: access/transam/xlog.c:7346
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
 
-#: access/transam/xlog.c:7536
+#: access/transam/xlog.c:7543
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlog.c:7540
+#: access/transam/xlog.c:7547
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "ungültige sekundäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlog.c:7544
+#: access/transam/xlog.c:7551
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
 
-#: access/transam/xlog.c:7561
+#: access/transam/xlog.c:7568
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "ungültiger primärer Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7565
+#: access/transam/xlog.c:7572
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "ungültiger sekundärer Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7569
+#: access/transam/xlog.c:7576
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7580
+#: access/transam/xlog.c:7587
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7584
+#: access/transam/xlog.c:7591
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "ungültige Resource-Manager-ID im sekundären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7588
+#: access/transam/xlog.c:7595
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7600
+#: access/transam/xlog.c:7607
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7604
+#: access/transam/xlog.c:7611
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "ungültige xl_info im sekundären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7608
+#: access/transam/xlog.c:7615
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:7620
+#: access/transam/xlog.c:7627
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:7624
+#: access/transam/xlog.c:7631
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "ungültige Länge des sekundären Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:7628
+#: access/transam/xlog.c:7635
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:7788
+#: access/transam/xlog.c:7795
 #, c-format
 msgid "shutting down"
 msgstr "fahre herunter"
 
-#: access/transam/xlog.c:7811
+#: access/transam/xlog.c:7818
 #, c-format
 msgid "database system is shut down"
 msgstr "Datenbanksystem ist heruntergefahren"
 
-#: access/transam/xlog.c:8277
+#: access/transam/xlog.c:8284
 #, c-format
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr "gleichzeitige Transaktionslog-Aktivität während das Datenbanksystem herunterfährt"
 
-#: access/transam/xlog.c:8546
+#: access/transam/xlog.c:8553
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "Restart-Punkt übersprungen, Wiederherstellung ist bereits beendet"
 
-#: access/transam/xlog.c:8569
+#: access/transam/xlog.c:8576
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "Restart-Punkt wird übersprungen, schon bei %X/%X erledigt"
 
-#: access/transam/xlog.c:8733
+#: access/transam/xlog.c:8740
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:8878
+#: access/transam/xlog.c:8885
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "Restore-Punkt „%s“ erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:9102
+#: access/transam/xlog.c:9109
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "unerwartete vorherige Zeitleisten-ID %u (aktuelle Zeitleisten-ID %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9111
+#: access/transam/xlog.c:9118
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9127
+#: access/transam/xlog.c:9134
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde"
 
-#: access/transam/xlog.c:9195
+#: access/transam/xlog.c:9202
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:9256 access/transam/xlog.c:9305
-#: access/transam/xlog.c:9328
+#: access/transam/xlog.c:9263 access/transam/xlog.c:9312
+#: access/transam/xlog.c:9335
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9563
+#: access/transam/xlog.c:9570
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "konnte Logsegment %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:9587
+#: access/transam/xlog.c:9594
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "konnte Logdatei %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:9595
+#: access/transam/xlog.c:9602
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "konnte Write-Through-Logdatei %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:9604
+#: access/transam/xlog.c:9611
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "konnte Logdatei %s nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:9682 access/transam/xlog.c:10018
+#: access/transam/xlog.c:9689 access/transam/xlog.c:10025
 #: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
 #: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
 #: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
@@ -1917,52 +1919,52 @@ msgstr "konnte Logdatei %s nicht fdatasyncen: %m"
 msgid "recovery is in progress"
 msgstr "Wiederherstellung läuft"
 
-#: access/transam/xlog.c:9683 access/transam/xlog.c:10019
+#: access/transam/xlog.c:9690 access/transam/xlog.c:10026
 #: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
 #: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Während der Wiederherstellung können keine WAL-Kontrollfunktionen ausgeführt werden."
 
-#: access/transam/xlog.c:9692 access/transam/xlog.c:10028
+#: access/transam/xlog.c:9699 access/transam/xlog.c:10035
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "WAL-Level nicht ausreichend, um Online-Sicherung durchzuführen"
 
-#: access/transam/xlog.c:9693 access/transam/xlog.c:10029
+#: access/transam/xlog.c:9700 access/transam/xlog.c:10036
 #: access/transam/xlogfuncs.c:147
 #, c-format
 msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
 msgstr "wal_level muss beim Serverstart auf „archive“, „hot_standby“ oder „logical“ gesetzt werden."
 
-#: access/transam/xlog.c:9698
+#: access/transam/xlog.c:9705
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:9729 access/transam/xlog.c:9906
+#: access/transam/xlog.c:9736 access/transam/xlog.c:9913
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ein Backup läuft bereits"
 
-#: access/transam/xlog.c:9730
+#: access/transam/xlog.c:9737
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Führen Sie pg_stop_backup() aus und versuchen Sie es nochmal."
 
-#: access/transam/xlog.c:9824
+#: access/transam/xlog.c:9831
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "mit full_page_writes=off erzeugtes WAL wurde seit dem letzten Restart-Punkt zurückgespielt"
 
-#: access/transam/xlog.c:9826 access/transam/xlog.c:10179
+#: access/transam/xlog.c:9833 access/transam/xlog.c:10186
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie full_page_writes ein, führen Sie CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:9900 access/transam/xlog.c:10069
+#: access/transam/xlog.c:9907 access/transam/xlog.c:10076
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: guc-file.l:885 replication/basebackup.c:464 replication/basebackup.c:521
+#: guc-file.l:852 replication/basebackup.c:464 replication/basebackup.c:532
 #: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
 #: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
 #: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
@@ -1970,115 +1972,115 @@ msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server ve
 msgid "could not stat file \"%s\": %m"
 msgstr "konnte „stat“ für Datei „%s“ nicht ausführen: %m"
 
-#: access/transam/xlog.c:9907
+#: access/transam/xlog.c:9914
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Wenn Sie sicher sind, dass noch kein Backup läuft, entfernen Sie die Datei „%s“ und versuchen Sie es noch einmal."
 
-#: access/transam/xlog.c:9924 access/transam/xlog.c:10242
+#: access/transam/xlog.c:9931 access/transam/xlog.c:10249
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei „%s“ nicht schreiben: %m"
 
-#: access/transam/xlog.c:10073
+#: access/transam/xlog.c:10080
 #, c-format
 msgid "a backup is not in progress"
 msgstr "es läuft kein Backup"
 
-#: access/transam/xlog.c:10112 access/transam/xlog.c:10125
-#: access/transam/xlog.c:10476 access/transam/xlog.c:10482
+#: access/transam/xlog.c:10119 access/transam/xlog.c:10132
+#: access/transam/xlog.c:10483 access/transam/xlog.c:10489
 #: access/transam/xlogfuncs.c:498
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "ungültige Daten in Datei „%s“"
 
-#: access/transam/xlog.c:10129 replication/basebackup.c:951
+#: access/transam/xlog.c:10136 replication/basebackup.c:966
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert"
 
-#: access/transam/xlog.c:10130 replication/basebackup.c:952
+#: access/transam/xlog.c:10137 replication/basebackup.c:967
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen."
 
-#: access/transam/xlog.c:10177
+#: access/transam/xlog.c:10184
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "mit full_page_writes=off erzeugtes WAL wurde während der Online-Sicherung zurückgespielt"
 
-#: access/transam/xlog.c:10291
+#: access/transam/xlog.c:10298
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "Aufräumen nach pg_stop_backup beendet, warte bis die benötigten WAL-Segmente archiviert sind"
 
-#: access/transam/xlog.c:10301
+#: access/transam/xlog.c:10308
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "pg_stop_backup wartet immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
 
-#: access/transam/xlog.c:10303
+#: access/transam/xlog.c:10310
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments."
 msgstr "Prüfen Sie, ob das archive_command korrekt ausgeführt wird. pg_stop_backup kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
 
-#: access/transam/xlog.c:10310
+#: access/transam/xlog.c:10317
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup abgeschlossen, alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:10314
+#: access/transam/xlog.c:10321
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr "WAL-Archivierung ist nicht eingeschaltet; Sie müssen dafür sorgen, dass alle benötigten WAL-Segmente auf andere Art kopiert werden, um die Sicherung abzuschließen"
 
-#: access/transam/xlog.c:10527
+#: access/transam/xlog.c:10534
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:10567
+#: access/transam/xlog.c:10574
 #, c-format
 msgid "online backup mode canceled"
 msgstr "Online-Sicherungsmodus storniert"
 
-#: access/transam/xlog.c:10568
+#: access/transam/xlog.c:10575
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "„%s“ wurde in „%s“ umbenannt."
 
-#: access/transam/xlog.c:10575
+#: access/transam/xlog.c:10582
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "Online-Sicherungsmodus wurde nicht storniert"
 
-#: access/transam/xlog.c:10576
+#: access/transam/xlog.c:10583
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "Konnte „%s“ nicht in „%s“ umbenennen: %m."
 
-#: access/transam/xlog.c:10696 replication/logical/logicalfuncs.c:169
-#: replication/walreceiver.c:937 replication/walsender.c:2106
+#: access/transam/xlog.c:10703 replication/logical/logicalfuncs.c:169
+#: replication/walreceiver.c:937 replication/walsender.c:2105
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "konnte Positionszeiger von Logsegment %s nicht auf %u setzen: %m"
 
-#: access/transam/xlog.c:10708
+#: access/transam/xlog.c:10715
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 
-#: access/transam/xlog.c:11171
+#: access/transam/xlog.c:11178
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlog.c:11184
+#: access/transam/xlog.c:11191
 #, c-format
 msgid "trigger file found: %s"
 msgstr "Triggerdatei gefunden: %s"
 
-#: access/transam/xlog.c:11193
+#: access/transam/xlog.c:11200
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "konnte „stat“ für Trigger-Datei „%s“ nicht ausführen: %m"
@@ -2168,18 +2170,124 @@ 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."
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:759 tcop/postgres.c:3462
+#: access/transam/xlogreader.c:249
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "ungültiger Datensatz-Offset bei %X/%X"
+
+#: access/transam/xlogreader.c:257
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "Contrecord angefordert von %X/%X"
+
+#: access/transam/xlogreader.c:297 access/transam/xlogreader.c:608
+#: access/transam/xlogreader.c:682
+#, c-format
+msgid "invalid record length at %X/%X"
+msgstr "ungültige Datensatzlänge bei %X/%X"
+
+#: access/transam/xlogreader.c:311
+#, 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:352
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "keine Contrecord-Flag bei %X/%X"
+
+#: access/transam/xlogreader.c:365
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "ungültige Contrecord-Länge %u bei %X/%X"
+
+#: access/transam/xlogreader.c:591
+#, c-format
+msgid "invalid xlog switch record at %X/%X"
+msgstr "ungültiger XLog-Switch-Eintrag bei %X/%X"
+
+#: access/transam/xlogreader.c:599
+#, c-format
+msgid "record with zero length at %X/%X"
+msgstr "Datensatz mit Länge Null bei %X/%X"
+
+#: access/transam/xlogreader.c:615
+#, 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:629 access/transam/xlogreader.c:646
+#, 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:702 access/transam/xlogreader.c:720
+#, c-format
+msgid "invalid backup block size in record at %X/%X"
+msgstr "ungültige Backup-Block-Größe in Datensatz bei %X/%X"
+
+#: access/transam/xlogreader.c:711
+#, c-format
+msgid "incorrect hole size in record at %X/%X"
+msgstr "falsche Lochgröße in Datensatz bei %X/%X"
+
+#: access/transam/xlogreader.c:733
+#, c-format
+msgid "incorrect total length in record at %X/%X"
+msgstr "falsche Gesamtlänge in Datensatz bei %X/%X"
+
+#: access/transam/xlogreader.c:745
+#, 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:778
+#, 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:792 access/transam/xlogreader.c:843
+#, 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:818
+#, 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:825
+#, 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:831
+#, 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:857
+#, 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:882
+#, 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"
+
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:763 tcop/postgres.c:3462
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:764 tcop/postgres.c:3467
+#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:768 tcop/postgres.c:3467
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:776
-#: postmaster/postmaster.c:789
+#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:780
+#: postmaster/postmaster.c:793
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie „%s --help“ für weitere Informationen.\n"
@@ -2307,11 +2415,11 @@ msgid "large object %u does not exist"
 msgstr "Large Object %u existiert nicht"
 
 #: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
-#: commands/copy.c:925 commands/copy.c:943 commands/copy.c:951
-#: commands/copy.c:959 commands/copy.c:967 commands/copy.c:975
-#: commands/copy.c:983 commands/copy.c:991 commands/copy.c:999
-#: commands/copy.c:1015 commands/copy.c:1029 commands/copy.c:1048
-#: commands/copy.c:1063 commands/dbcommands.c:148 commands/dbcommands.c:156
+#: commands/copy.c:929 commands/copy.c:947 commands/copy.c:955
+#: commands/copy.c:963 commands/copy.c:971 commands/copy.c:979
+#: commands/copy.c:987 commands/copy.c:995 commands/copy.c:1003
+#: commands/copy.c:1019 commands/copy.c:1033 commands/copy.c:1052
+#: commands/copy.c:1067 commands/dbcommands.c:148 commands/dbcommands.c:156
 #: commands/dbcommands.c:164 commands/dbcommands.c:172
 #: commands/dbcommands.c:180 commands/dbcommands.c:188
 #: commands/dbcommands.c:196 commands/dbcommands.c:1372
@@ -2344,12 +2452,12 @@ msgid "default privileges cannot be set for columns"
 msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 
 #: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
-#: commands/copy.c:4247 commands/sequence.c:1448 commands/tablecmds.c:4939
+#: commands/copy.c:4252 commands/sequence.c:1448 commands/tablecmds.c:4939
 #: commands/tablecmds.c:5034 commands/tablecmds.c:5084
 #: commands/tablecmds.c:5188 commands/tablecmds.c:5235
 #: commands/tablecmds.c:5319 commands/tablecmds.c:5407
 #: commands/tablecmds.c:7494 commands/tablecmds.c:7698
-#: commands/tablecmds.c:8090 commands/trigger.c:635 parser/analyze.c:1994
+#: commands/tablecmds.c:8090 commands/trigger.c:641 parser/analyze.c:1994
 #: parser/parse_relation.c:2358 parser/parse_relation.c:2420
 #: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
 #: utils/adt/ruleutils.c:1820
@@ -2846,10 +2954,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:582 commands/createas.c:345 commands/indexcmds.c:1072
-#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1510
-#: utils/adt/formatting.c:1562 utils/adt/formatting.c:1630
-#: utils/adt/formatting.c:1682 utils/adt/formatting.c:1751
-#: utils/adt/formatting.c:1815 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1511
+#: utils/adt/formatting.c:1563 utils/adt/formatting.c:1631
+#: utils/adt/formatting.c:1683 utils/adt/formatting.c:1752
+#: utils/adt/formatting.c:1816 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
 #: utils/adt/varlena.c:1381
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
@@ -2985,7 +3093,7 @@ msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
 #: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4486
+#: commands/trigger.c:4492
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: „%s.%s.%s“"
@@ -3116,7 +3224,7 @@ msgid "cannot create temporary tables during recovery"
 msgstr "während der Wiederherstellung können keine temporäre Tabellen erzeugt werden"
 
 #: catalog/namespace.c:3865 commands/tablespace.c:1113 commands/variable.c:61
-#: replication/syncrep.c:677 utils/misc/guc.c:9034
+#: replication/syncrep.c:677 utils/misc/guc.c:9012
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
@@ -4241,12 +4349,12 @@ msgstr "Datenbank „%s“ existiert nicht"
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "„%s“ ist weder Tabelle, Sicht, materialisierte Sicht, zusammengesetzter Typ noch Fremdtabelle"
 
-#: commands/constraint.c:60 utils/adt/ri_triggers.c:2699
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2700
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "Funktion „%s“ wurde nicht von Triggermanager aufgerufen"
 
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:2708
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2709
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "Funktion „%s“ muss AFTER ROW ausgelöst werden"
@@ -4271,477 +4379,477 @@ msgstr "Zielkodierung „%s“ existiert nicht"
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "Kodierungskonversionsfunktion %s muss Typ „void“ zurückgeben"
 
-#: commands/copy.c:360 commands/copy.c:372 commands/copy.c:406
-#: commands/copy.c:416
+#: commands/copy.c:361 commands/copy.c:373 commands/copy.c:407
+#: commands/copy.c:417
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY mit STDOUT oder STDIN wird nicht unterstützt"
 
-#: commands/copy.c:514
+#: commands/copy.c:515
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "konnte nicht zum COPY-Programm schreiben: %m"
 
-#: commands/copy.c:519
+#: commands/copy.c:520
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "konnte nicht in COPY-Datei schreiben: %m"
 
-#: commands/copy.c:532
+#: commands/copy.c:533
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "Verbindung während COPY nach STDOUT verloren"
 
-#: commands/copy.c:573
+#: commands/copy.c:574
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "konnte nicht aus COPY-Datei lesen: %m"
 
-#: commands/copy.c:589 commands/copy.c:608 commands/copy.c:612
+#: commands/copy.c:590 commands/copy.c:609 commands/copy.c:613
 #: tcop/fastpath.c:293 tcop/postgres.c:342 tcop/postgres.c:378
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion"
 
-#: commands/copy.c:624
+#: commands/copy.c:625
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "COPY FROM STDIN fehlgeschlagen: %s"
 
-#: commands/copy.c:640
+#: commands/copy.c:641
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "unerwarteter Messagetyp 0x%02X während COPY FROM STDIN"
 
-#: commands/copy.c:794
+#: commands/copy.c:796
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr "nur Superuser können COPY mit externen Programmen verwenden"
 
-#: commands/copy.c:795 commands/copy.c:801
+#: commands/copy.c:797 commands/copy.c:803
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Jeder kann COPY mit STDOUT oder STDIN verwenden. Der Befehl \\copy in psql funktioniert auch für jeden."
 
-#: commands/copy.c:800
+#: commands/copy.c:802
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "nur Superuser können COPY mit Dateien verwenden"
 
-#: commands/copy.c:936
+#: commands/copy.c:940
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "COPY-Format „%s“ nicht erkannt"
 
-#: commands/copy.c:1007 commands/copy.c:1021 commands/copy.c:1035
-#: commands/copy.c:1055
+#: commands/copy.c:1011 commands/copy.c:1025 commands/copy.c:1039
+#: commands/copy.c:1059
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "Argument von Option „%s“ muss eine Liste aus Spaltennamen sein"
 
-#: commands/copy.c:1068
+#: commands/copy.c:1072
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "Argument von Option „%s“ muss ein gültiger Kodierungsname sein"
 
-#: commands/copy.c:1074
+#: commands/copy.c:1078
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "Option „%s“ nicht erkannt"
 
-#: commands/copy.c:1085
+#: commands/copy.c:1089
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "DELIMITER kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:1090
+#: commands/copy.c:1094
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "NULL kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:1112
+#: commands/copy.c:1116
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "DELIMITER für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:1119
+#: commands/copy.c:1123
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein"
 
-#: commands/copy.c:1125
+#: commands/copy.c:1129
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "COPY NULL-Darstellung kann nicht Newline oder Carriage Return enthalten"
 
-#: commands/copy.c:1142
+#: commands/copy.c:1146
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "DELIMITER für COPY darf nicht „%s“ sein"
 
-#: commands/copy.c:1148
+#: commands/copy.c:1152
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1154
+#: commands/copy.c:1158
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "Quote-Zeichen für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1159
+#: commands/copy.c:1163
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "Quote-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:1164
+#: commands/copy.c:1168
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein"
 
-#: commands/copy.c:1170
+#: commands/copy.c:1174
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "Escape-Zeichen für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1179
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "Escape-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:1181
+#: commands/copy.c:1185
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "FORCE_QUOTE für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1185
+#: commands/copy.c:1189
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "FORCE_QUOTE ist nur bei COPY TO verfügbar"
 
-#: commands/copy.c:1191
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "FORCE_NOT_NULL für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1195
+#: commands/copy.c:1199
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "FORCE_NOT_NULL ist nur bei COPY FROM verfügbar"
 
-#: commands/copy.c:1201
+#: commands/copy.c:1205
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "FORCE_NULL für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1206
+#: commands/copy.c:1210
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "FORCE_NULL ist nur bei COPY FROM verfügbar"
 
-#: commands/copy.c:1212
+#: commands/copy.c:1216
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "Trennzeichen für COPY darf nicht in der NULL-Darstellung erscheinen"
 
-#: commands/copy.c:1219
+#: commands/copy.c:1223
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "CSV-Quote-Zeichen darf nicht in der NULL-Darstellung erscheinen"
 
-#: commands/copy.c:1281
+#: commands/copy.c:1285
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "Tabelle „%s“ hat keine OIDs"
 
-#: commands/copy.c:1298
+#: commands/copy.c:1302
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS wird nicht unterstützt"
 
-#: commands/copy.c:1324
+#: commands/copy.c:1328
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) wird nicht unterstützt"
 
-#: commands/copy.c:1387
+#: commands/copy.c:1391
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
 msgstr "FORCE-QUOTE-Spalte „%s“ wird von COPY nicht verwendet"
 
-#: commands/copy.c:1409
+#: commands/copy.c:1413
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
 msgstr "Spalte „%s“ mit FORCE NOT NULL wird von COPY nicht verwendet"
 
-#: commands/copy.c:1431
+#: commands/copy.c:1435
 #, c-format
 msgid "FORCE NULL column \"%s\" not referenced by COPY"
 msgstr "Spalte „%s“ mit FORCE NULL wird von COPY nicht verwendet"
 
-#: commands/copy.c:1495
+#: commands/copy.c:1499
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "konnte Pipe zu externem Programm nicht schließen: %m"
 
-#: commands/copy.c:1498
+#: commands/copy.c:1502
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "Programm „%s“ fehlgeschlagen"
 
-#: commands/copy.c:1547
+#: commands/copy.c:1551
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "kann nicht aus Sicht „%s“ kopieren"
 
-#: commands/copy.c:1549 commands/copy.c:1555 commands/copy.c:1561
+#: commands/copy.c:1553 commands/copy.c:1559 commands/copy.c:1565
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Versuchen Sie die Variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1553
+#: commands/copy.c:1557
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "kann nicht aus materialisierter Sicht „%s“ kopieren"
 
-#: commands/copy.c:1559
+#: commands/copy.c:1563
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle „%s“ kopieren"
 
-#: commands/copy.c:1565
+#: commands/copy.c:1569
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "kann nicht aus Sequenz „%s“ kopieren"
 
-#: commands/copy.c:1570
+#: commands/copy.c:1574
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "kann nicht aus Relation „%s“, die keine Tabelle ist, kopieren"
 
-#: commands/copy.c:1593 commands/copy.c:2616
+#: commands/copy.c:1597 commands/copy.c:2621
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "konnte Befehl „%s“ nicht ausführen: %m"
 
-#: commands/copy.c:1608
+#: commands/copy.c:1612
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "relativer Pfad bei COPY in Datei nicht erlaubt"
 
-#: commands/copy.c:1616
+#: commands/copy.c:1620
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "konnte Datei „%s“ nicht zum Schreiben öffnen: %m"
 
-#: commands/copy.c:1623 commands/copy.c:2634
+#: commands/copy.c:1627 commands/copy.c:2639
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "„%s“ ist ein Verzeichnis"
 
-#: commands/copy.c:1948
+#: commands/copy.c:1952
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, Zeile %d, Spalte %s"
 
-#: commands/copy.c:1952 commands/copy.c:1999
+#: commands/copy.c:1956 commands/copy.c:2003
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, Zeile %d"
 
-#: commands/copy.c:1963
+#: commands/copy.c:1967
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, Zeile %d, Spalte %s: „%s“"
 
-#: commands/copy.c:1971
+#: commands/copy.c:1975
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, Zeile %d, Spalte %s: NULL Eingabe"
 
-#: commands/copy.c:1993
+#: commands/copy.c:1997
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, Zeile %d: „%s“"
 
-#: commands/copy.c:2077
+#: commands/copy.c:2081
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "kann nicht in Sicht „%s“ kopieren"
 
-#: commands/copy.c:2082
+#: commands/copy.c:2086
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "kann nicht in materialisierte Sicht „%s“ kopieren"
 
-#: commands/copy.c:2087
+#: commands/copy.c:2091
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "kann nicht in Fremdtabelle „%s“ kopieren"
 
-#: commands/copy.c:2092
+#: commands/copy.c:2096
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "kann nicht in Sequenz „%s“ kopieren"
 
-#: commands/copy.c:2097
+#: commands/copy.c:2101
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "kann nicht in Relation „%s“ kopieren, die keine Tabelle ist"
 
-#: commands/copy.c:2160
+#: commands/copy.c:2164
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "FREEZE kann nicht durchgeführt werden wegen vorheriger Aktivität in dieser Transaktion"
 
-#: commands/copy.c:2166
+#: commands/copy.c:2170
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in der aktuellen Transaktion erzeugt oder geleert wurde"
 
-#: commands/copy.c:2627 utils/adt/genfile.c:123
+#: commands/copy.c:2632 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "konnte Datei „%s“ nicht zum Lesen öffnen: %m"
 
-#: commands/copy.c:2654
+#: commands/copy.c:2659
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "COPY-Datei-Signatur nicht erkannt"
 
-#: commands/copy.c:2659
+#: commands/copy.c:2664
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "ungültiger COPY-Dateikopf (Flags fehlen)"
 
-#: commands/copy.c:2665
+#: commands/copy.c:2670
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "unbekannte kritische Flags im COPY-Dateikopf"
 
-#: commands/copy.c:2671
+#: commands/copy.c:2676
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "ungültiger COPY-Dateikopf (Länge fehlt)"
 
-#: commands/copy.c:2678
+#: commands/copy.c:2683
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "ungültiger COPY-Dateikopf (falsche Länge)"
 
-#: commands/copy.c:2811 commands/copy.c:3518 commands/copy.c:3748
+#: commands/copy.c:2816 commands/copy.c:3523 commands/copy.c:3753
 #, c-format
 msgid "extra data after last expected column"
 msgstr "zusätzliche Daten nach letzter erwarteter Spalte"
 
-#: commands/copy.c:2821
+#: commands/copy.c:2826
 #, c-format
 msgid "missing data for OID column"
 msgstr "fehlende Daten für OID-Spalte"
 
-#: commands/copy.c:2827
+#: commands/copy.c:2832
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID ist NULL in COPY-Daten"
 
-#: commands/copy.c:2837 commands/copy.c:2960
+#: commands/copy.c:2842 commands/copy.c:2965
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "ungültige OID in COPY-Daten"
 
-#: commands/copy.c:2852
+#: commands/copy.c:2857
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "fehlende Daten für Spalte „%s“"
 
-#: commands/copy.c:2935
+#: commands/copy.c:2940
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "COPY-Daten nach EOF-Markierung empfangen"
 
-#: commands/copy.c:2942
+#: commands/copy.c:2947
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "Feldanzahl in Zeile ist %d, erwartet wurden %d"
 
-#: commands/copy.c:3282 commands/copy.c:3299
+#: commands/copy.c:3287 commands/copy.c:3304
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3283 commands/copy.c:3300
+#: commands/copy.c:3288 commands/copy.c:3305
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "ungequotetes Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3285 commands/copy.c:3302
+#: commands/copy.c:3290 commands/copy.c:3307
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Verwenden Sie „\\r“, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copy.c:3286 commands/copy.c:3303
+#: commands/copy.c:3291 commands/copy.c:3308
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copy.c:3315
+#: commands/copy.c:3320
 #, c-format
 msgid "literal newline found in data"
 msgstr "Newline-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3316
+#: commands/copy.c:3321
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "ungequotetes Newline-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3318
+#: commands/copy.c:3323
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Verwenden Sie „\\n“, um ein Newline-Zeichen darzustellen."
 
-#: commands/copy.c:3319
+#: commands/copy.c:3324
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Newline-Zeichen darzustellen."
 
-#: commands/copy.c:3365 commands/copy.c:3401
+#: commands/copy.c:3370 commands/copy.c:3406
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "COPY-Ende-Markierung stimmt nicht mit vorherigem Newline-Stil überein"
 
-#: commands/copy.c:3374 commands/copy.c:3390
+#: commands/copy.c:3379 commands/copy.c:3395
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "COPY-Ende-Markierung verfälscht"
 
-#: commands/copy.c:3832
+#: commands/copy.c:3837
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "Quotes in CSV-Feld nicht abgeschlossen"
 
-#: commands/copy.c:3909 commands/copy.c:3928
+#: commands/copy.c:3914 commands/copy.c:3933
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "unerwartetes EOF in COPY-Daten"
 
-#: commands/copy.c:3918
+#: commands/copy.c:3923
 #, c-format
 msgid "invalid field size"
 msgstr "ungültige Feldgröße"
 
-#: commands/copy.c:3941
+#: commands/copy.c:3946
 #, c-format
 msgid "incorrect binary data format"
 msgstr "falsches Binärdatenformat"
 
-#: commands/copy.c:4252 commands/indexcmds.c:993 commands/tablecmds.c:1427
+#: commands/copy.c:4257 commands/indexcmds.c:993 commands/tablecmds.c:1427
 #: commands/tablecmds.c:2237 parser/parse_relation.c:2889
 #: utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte „%s“ existiert nicht"
 
-#: commands/copy.c:4259 commands/tablecmds.c:1453 commands/trigger.c:644
+#: commands/copy.c:4264 commands/tablecmds.c:1453 commands/trigger.c:650
 #: parser/parse_target.c:936 parser/parse_target.c:947
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -5188,7 +5296,7 @@ msgstr "%s kann nur in einer sql_drop-Ereignistriggerfunktion aufgerufen werden"
 #: executor/execQual.c:1739 executor/execQual.c:1764 executor/execQual.c:2139
 #: executor/execQual.c:5315 executor/functions.c:1018 foreign/foreign.c:421
 #: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
-#: replication/walsender.c:2746 utils/adt/jsonfuncs.c:1386
+#: replication/walsender.c:2745 utils/adt/jsonfuncs.c:1386
 #: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
 #: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2601
 #: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
@@ -5199,28 +5307,28 @@ msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine
 #: commands/event_trigger.c:1230 commands/extension.c:1650
 #: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
 #: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
-#: replication/slotfuncs.c:177 replication/walsender.c:2750
+#: replication/slotfuncs.c:177 replication/walsender.c:2749
 #: utils/mmgr/portalmem.c:990
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
 
-#: commands/explain.c:169
+#: commands/explain.c:173
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "unbekannter Wert für EXPLAIN-Option „%s“: „%s“"
 
-#: commands/explain.c:175
+#: commands/explain.c:179
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "unbekannte EXPLAIN-Option „%s“"
 
-#: commands/explain.c:182
+#: commands/explain.c:186
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "EXPLAIN-Option BUFFERS erfordert ANALYZE"
 
-#: commands/explain.c:191
+#: commands/explain.c:195
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "EXPLAIN-Option TIMING erfordert ANALYZE"
@@ -5958,22 +6066,22 @@ msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "Optionen CONCURRENTLY und WITH NO DATA können nicht zusammen verwendet werden"
 
-#: commands/matview.c:591
+#: commands/matview.c:598
 #, c-format
 msgid "new data for \"%s\" contains duplicate rows without any null columns"
 msgstr "neue Daten für „%s“ enthalten doppelte Zeilen ohne Spalten mit NULL-Werten"
 
-#: commands/matview.c:593
+#: commands/matview.c:600
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
 
-#: commands/matview.c:681
+#: commands/matview.c:688
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "kann materialisierte Sicht „%s“ nicht nebenläufig auffrischen"
 
-#: commands/matview.c:683
+#: commands/matview.c:690
 #, c-format
 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."
@@ -6192,7 +6300,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "ungültiger Cursorname: darf nicht leer sein"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2386 utils/adt/xml.c:2553
+#: executor/execCurrent.c:67 utils/adt/xml.c:2387 utils/adt/xml.c:2554
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor „%s“ existiert nicht"
@@ -6531,8 +6639,8 @@ msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE"
 #: commands/tablecmds.c:938 commands/tablecmds.c:1276
 #: commands/tablecmds.c:2133 commands/tablecmds.c:4112
 #: commands/tablecmds.c:5942 commands/tablecmds.c:11170
-#: commands/tablecmds.c:11205 commands/trigger.c:232 commands/trigger.c:1118
-#: commands/trigger.c:1226 rewrite/rewriteDefine.c:271
+#: commands/tablecmds.c:11205 commands/trigger.c:238 commands/trigger.c:1124
+#: commands/trigger.c:1232 rewrite/rewriteDefine.c:271
 #: rewrite/rewriteDefine.c:887
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
@@ -6731,7 +6839,7 @@ msgstr "Spalte „%s“ enthält NULL-Werte"
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "Check-Constraint „%s“ wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:4133 commands/trigger.c:226
+#: commands/tablecmds.c:4133 commands/trigger.c:232
 #: rewrite/rewriteDefine.c:265 rewrite/rewriteDefine.c:882
 #, c-format
 msgid "\"%s\" is not a table or view"
@@ -7283,7 +7391,7 @@ msgstr "„%s“ ist weder Tabelle, Sicht, materialisierte Sicht, Sequenz noch F
 
 #: commands/tablespace.c:160 commands/tablespace.c:177
 #: commands/tablespace.c:188 commands/tablespace.c:196
-#: commands/tablespace.c:623 replication/slot.c:930 storage/file/copydir.c:47
+#: commands/tablespace.c:623 replication/slot.c:913 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "konnte Verzeichnis „%s“ nicht erzeugen: %m"
@@ -7339,7 +7447,7 @@ msgid "tablespace \"%s\" already exists"
 msgstr "Tablespace „%s“ existiert bereits"
 
 #: commands/tablespace.c:386 commands/tablespace.c:551
-#: replication/basebackup.c:222 replication/basebackup.c:1064
+#: replication/basebackup.c:222 replication/basebackup.c:1088
 #: utils/adt/misc.c:365
 #, c-format
 msgid "tablespaces are not supported on this platform"
@@ -7399,8 +7507,8 @@ msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht erstellen: %m"
 
 #: commands/tablespace.c:725 commands/tablespace.c:735
-#: postmaster/postmaster.c:1284 replication/basebackup.c:349
-#: replication/basebackup.c:667 storage/file/copydir.c:53
+#: postmaster/postmaster.c:1305 replication/basebackup.c:349
+#: replication/basebackup.c:682 storage/file/copydir.c:53
 #: storage/file/copydir.c:96 storage/file/fd.c:1951 storage/ipc/dsm.c:300
 #: utils/adt/genfile.c:354 utils/adt/misc.c:267 utils/misc/tzparser.c:339
 #, c-format
@@ -7422,179 +7530,179 @@ msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 msgid "You can remove the directories manually if necessary."
 msgstr "Sie können die Verzeichnisse falls nötig manuell entfernen."
 
-#: commands/trigger.c:175
+#: commands/trigger.c:181
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "„%s“ ist eine Tabelle"
 
-#: commands/trigger.c:177
+#: commands/trigger.c:183
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Tabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:188 commands/trigger.c:195
+#: commands/trigger.c:194 commands/trigger.c:201
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "„%s“ ist eine Sicht"
 
-#: commands/trigger.c:190
+#: commands/trigger.c:196
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Sichten können keine BEFORE- oder AFTER-Trigger auf Zeilenebene haben."
 
-#: commands/trigger.c:197
+#: commands/trigger.c:203
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Sichten können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:205 commands/trigger.c:212 commands/trigger.c:219
+#: commands/trigger.c:211 commands/trigger.c:218 commands/trigger.c:225
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "„%s“ ist eine Fremdtabelle"
 
-#: commands/trigger.c:207
+#: commands/trigger.c:213
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Fremdtabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:214
+#: commands/trigger.c:220
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Fremdtabellen können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:221
+#: commands/trigger.c:227
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Fremdtabellen können keine Constraint-Trigger haben."
 
-#: commands/trigger.c:284
+#: commands/trigger.c:290
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "TRUNCATE FOR EACH ROW-Trigger werden nicht unterstützt"
 
-#: commands/trigger.c:292
+#: commands/trigger.c:298
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF-Trigger müssen FOR EACH ROW sein"
 
-#: commands/trigger.c:296
+#: commands/trigger.c:302
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF-Trigger können keine WHEN-Bedingungen haben"
 
-#: commands/trigger.c:300
+#: commands/trigger.c:306
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF-Trigger können keine Spaltenlisten haben"
 
-#: commands/trigger.c:359 commands/trigger.c:372
+#: commands/trigger.c:365 commands/trigger.c:378
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "WHEN-Bedingung eines Statement-Triggers kann keine Verweise auf Spaltenwerte enthalten"
 
-#: commands/trigger.c:364
+#: commands/trigger.c:370
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "WHEN-Bedingung eines INSERT-Triggers kann keine Verweise auf OLD-Werte enthalten"
 
-#: commands/trigger.c:377
+#: commands/trigger.c:383
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "WHEN-Bedingung eines DELETE-Triggers kann keine Verweise auf NEW-Werte enthalten"
 
-#: commands/trigger.c:382
+#: commands/trigger.c:388
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf Systemspalten in NEW enthalten"
 
-#: commands/trigger.c:427
+#: commands/trigger.c:433
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "ändere Rückgabetyp von Funktion %s von „opaque“ in „trigger“"
 
-#: commands/trigger.c:434
+#: commands/trigger.c:440
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "Funktion %s muss Typ „trigger“ zurückgeben"
 
-#: commands/trigger.c:546 commands/trigger.c:1295
+#: commands/trigger.c:552 commands/trigger.c:1301
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "Trigger „%s“ für Relation „%s“ existiert bereits"
 
-#: commands/trigger.c:831
+#: commands/trigger.c:837
 msgid "Found referenced table's UPDATE trigger."
 msgstr "UPDATE-Trigger der Zieltabelle wurde gefunden."
 
-#: commands/trigger.c:832
+#: commands/trigger.c:838
 msgid "Found referenced table's DELETE trigger."
 msgstr "DELETE-Trigger der Zieltabelle wurde gefunden."
 
-#: commands/trigger.c:833
+#: commands/trigger.c:839
 msgid "Found referencing table's trigger."
 msgstr "Trigger der Quelltabelle wurde gefunden."
 
-#: commands/trigger.c:942 commands/trigger.c:958
+#: commands/trigger.c:948 commands/trigger.c:964
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "unvollständige Triggergruppe für Constraint \"%s\" %s ignoriert"
 
-#: commands/trigger.c:970
+#: commands/trigger.c:976
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "Triggergruppe wird in Constraint \"%s\" %s umgewandelt"
 
-#: commands/trigger.c:1112 commands/trigger.c:1217
+#: commands/trigger.c:1118 commands/trigger.c:1223
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "„%s“ ist keine Tabelle, Sicht oder Fremdtabelle"
 
-#: commands/trigger.c:1183 commands/trigger.c:1343 commands/trigger.c:1459
+#: commands/trigger.c:1189 commands/trigger.c:1349 commands/trigger.c:1465
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Trigger „%s“ für Tabelle „%s“ existiert nicht"
 
-#: commands/trigger.c:1424
+#: commands/trigger.c:1430
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "keine Berechtigung: „%s“ ist ein Systemtrigger"
 
-#: commands/trigger.c:1920
+#: commands/trigger.c:1926
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "Triggerfunktion %u gab NULL-Wert zurück"
 
-#: commands/trigger.c:1979 commands/trigger.c:2178 commands/trigger.c:2382
-#: commands/trigger.c:2664
+#: commands/trigger.c:1985 commands/trigger.c:2184 commands/trigger.c:2388
+#: commands/trigger.c:2670
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "Trigger für BEFORE STATEMENT kann keinen Wert zurückgeben"
 
-#: commands/trigger.c:2726 executor/nodeModifyTable.c:434
+#: commands/trigger.c:2732 executor/nodeModifyTable.c:434
 #: executor/nodeModifyTable.c:712
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:435
+#: commands/trigger.c:2733 executor/nodeModifyTable.c:435
 #: executor/nodeModifyTable.c:713
 #, c-format
 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:2059
+#: commands/trigger.c:2747 executor/execMain.c:2169
 #: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:447
 #: executor/nodeModifyTable.c:725
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "kann Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:4538
+#: commands/trigger.c:4544
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "Constraint „%s“ ist nicht aufschiebbar"
 
-#: commands/trigger.c:4561
+#: commands/trigger.c:4567
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "Constraint „%s“ existiert nicht"
@@ -8102,57 +8210,57 @@ msgstr "Rolle „%s“ ist schon Mitglied der Rolle „%s“"
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "Rolle „%s“ ist kein Mitglied der Rolle „%s“"
 
-#: commands/vacuum.c:468
+#: commands/vacuum.c:478
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "älteste xmin ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:469
+#: commands/vacuum.c:479
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "Schließen Sie bald alle offenen Transaktionen, um Überlaufprobleme zu vermeiden."
 
-#: commands/vacuum.c:501
+#: commands/vacuum.c:511
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "älteste Multixact ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:502
+#: commands/vacuum.c:512
 #, c-format
 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:1064
+#: commands/vacuum.c:1074
 #, 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:1065
+#: commands/vacuum.c:1075
 #, 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:1182
+#: commands/vacuum.c:1192
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "überspringe Vacuum von „%s“ --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:1208
+#: commands/vacuum.c:1218
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "überspringe „%s“ --- nur Superuser kann sie vacuumen"
 
-#: commands/vacuum.c:1212
+#: commands/vacuum.c:1222
 #, 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:1216
+#: commands/vacuum.c:1226
 #, 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:1234
+#: commands/vacuum.c:1244
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "überspringe „%s“ --- kann Nicht-Tabellen oder besondere Systemtabellen nicht vacuumen"
@@ -8249,7 +8357,7 @@ msgstr "„%s“: von %u auf %u Seiten verkürzt"
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "„%s“: Truncate wird ausgesetzt wegen Sperrkonflikt"
 
-#: commands/variable.c:162 utils/misc/guc.c:9058
+#: commands/variable.c:162 utils/misc/guc.c:9036
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: „%s“."
@@ -8444,132 +8552,132 @@ msgstr "Typ von Parameter %d (%s) stimmt nicht mit dem überein, als der Plan vo
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
-#: executor/execMain.c:955
+#: executor/execMain.c:966
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "kann Sequenz „%s“ nicht ändern"
 
-#: executor/execMain.c:961
+#: executor/execMain.c:972
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation „%s“ nicht ändern"
 
-#: executor/execMain.c:979 rewrite/rewriteHandler.c:2512
+#: executor/execMain.c:990 rewrite/rewriteHandler.c:2512
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht „%s“ einfügen"
 
-#: executor/execMain.c:981 rewrite/rewriteHandler.c:2515
+#: executor/execMain.c:992 rewrite/rewriteHandler.c:2515
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:987 rewrite/rewriteHandler.c:2520
+#: executor/execMain.c:998 rewrite/rewriteHandler.c:2520
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht „%s“ nicht aktualisieren"
 
-#: executor/execMain.c:989 rewrite/rewriteHandler.c:2523
+#: executor/execMain.c:1000 rewrite/rewriteHandler.c:2523
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Um Aktualisieren der Sicht zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger oder eine ON UPDATE DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:995 rewrite/rewriteHandler.c:2528
+#: executor/execMain.c:1006 rewrite/rewriteHandler.c:2528
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht „%s“ löschen"
 
-#: executor/execMain.c:997 rewrite/rewriteHandler.c:2531
+#: executor/execMain.c:1008 rewrite/rewriteHandler.c:2531
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger oder eine ON DELETE DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:1008
+#: executor/execMain.c:1019
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "kann materialisierte Sicht „%s“ nicht ändern"
 
-#: executor/execMain.c:1020
+#: executor/execMain.c:1031
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "kann nicht in Fremdtabelle „%s“ einfügen"
 
-#: executor/execMain.c:1026
+#: executor/execMain.c:1037
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "Fremdtabelle „%s“ erlaubt kein Einfügen"
 
-#: executor/execMain.c:1033
+#: executor/execMain.c:1044
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "kann Fremdtabelle „%s“ nicht aktualisieren"
 
-#: executor/execMain.c:1039
+#: executor/execMain.c:1050
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "Fremdtabelle „%s“ erlaubt kein Aktualisieren"
 
-#: executor/execMain.c:1046
+#: executor/execMain.c:1057
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle „%s“ löschen"
 
-#: executor/execMain.c:1052
+#: executor/execMain.c:1063
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "Fremdtabelle „%s“ erlaubt kein Löschen"
 
-#: executor/execMain.c:1063
+#: executor/execMain.c:1074
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "kann Relation „%s“ nicht ändern"
 
-#: executor/execMain.c:1087
+#: executor/execMain.c:1098
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "kann Zeilen in Sequenz „%s“ nicht sperren"
 
-#: executor/execMain.c:1094
+#: executor/execMain.c:1105
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "kann Zeilen in TOAST-Relation „%s“ nicht sperren"
 
-#: executor/execMain.c:1101
+#: executor/execMain.c:1112
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "kann Zeilen in Sicht „%s“ nicht sperren"
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1120
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "kann Zeilen in materialisierter Sicht „%s“ nicht sperren"
 
-#: executor/execMain.c:1116
+#: executor/execMain.c:1127
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "kann Zeilen in Fremdtabelle „%s“ nicht sperren"
 
-#: executor/execMain.c:1122
+#: executor/execMain.c:1133
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "kann Zeilen in Relation „%s“ nicht sperren"
 
-#: executor/execMain.c:1607
+#: executor/execMain.c:1629
 #, 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:1609 executor/execMain.c:1626 executor/execMain.c:1673
+#: executor/execMain.c:1631 executor/execMain.c:1656 executor/execMain.c:1714
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Fehlgeschlagene Zeile enthält %s."
 
-#: executor/execMain.c:1624
+#: executor/execMain.c:1654
 #, 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:1671
+#: executor/execMain.c:1712
 #, c-format
 msgid "new row violates WITH CHECK OPTION for view \"%s\""
 msgstr "neue Zeile verletzt WITH CHECK OPTION für Sicht „%s“"
@@ -8762,21 +8870,31 @@ msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW."
 msgid "could not create exclusion constraint \"%s\""
 msgstr "konnte Exclusion-Constraint „%s“ nicht erzeugen"
 
-#: executor/execUtils.c:1326
+#: executor/execUtils.c:1327
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Schlüssel %s kollidiert mit Schlüssel %s."
 
-#: executor/execUtils.c:1333
+#: executor/execUtils.c:1329
+#, c-format
+msgid "Key conflicts exist."
+msgstr "Es bestehen Schlüsselkonflikte."
+
+#: executor/execUtils.c:1335
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "kollidierender Schlüsselwert verletzt Exclusion-Constraint „%s“"
 
-#: executor/execUtils.c:1335
+#: executor/execUtils.c:1338
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Schlüssel %s kollidiert mit vorhandenem Schlüssel %s."
 
+#: executor/execUtils.c:1340
+#, c-format
+msgid "Key conflicts with existing key."
+msgstr "Der Schlüssel kollidiert mit einem vorhandenen Schlüssel."
+
 #: executor/functions.c:225
 #, c-format
 msgid "could not determine actual type of argument declared %s"
@@ -9033,13 +9151,13 @@ msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet"
 
-#: gram.y:3248 utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:367
-#: utils/adt/ri_triggers.c:786 utils/adt/ri_triggers.c:1009
-#: utils/adt/ri_triggers.c:1165 utils/adt/ri_triggers.c:1346
-#: utils/adt/ri_triggers.c:1511 utils/adt/ri_triggers.c:1687
-#: utils/adt/ri_triggers.c:1867 utils/adt/ri_triggers.c:2058
-#: utils/adt/ri_triggers.c:2116 utils/adt/ri_triggers.c:2221
-#: utils/adt/ri_triggers.c:2386
+#: gram.y:3248 utils/adt/ri_triggers.c:311 utils/adt/ri_triggers.c:368
+#: utils/adt/ri_triggers.c:787 utils/adt/ri_triggers.c:1010
+#: utils/adt/ri_triggers.c:1166 utils/adt/ri_triggers.c:1347
+#: utils/adt/ri_triggers.c:1512 utils/adt/ri_triggers.c:1688
+#: utils/adt/ri_triggers.c:1868 utils/adt/ri_triggers.c:2059
+#: utils/adt/ri_triggers.c:2117 utils/adt/ri_triggers.c:2222
+#: utils/adt/ri_triggers.c:2387
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
@@ -9281,74 +9399,74 @@ msgstr "%s-Constraints können nicht als NOT VALID markiert werden"
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 
-#: guc-file.l:263
+#: guc-file.l:256
 #, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "unbekannter Konfigurationsparameter „%s“ in Datei „%s“ Zeile %u"
 
-#: guc-file.l:299 utils/misc/guc.c:5650 utils/misc/guc.c:5833
-#: utils/misc/guc.c:5919 utils/misc/guc.c:6005 utils/misc/guc.c:6109
-#: utils/misc/guc.c:6200
+#: guc-file.l:292 utils/misc/guc.c:5596 utils/misc/guc.c:5779
+#: utils/misc/guc.c:5867 utils/misc/guc.c:5955 utils/misc/guc.c:6061
+#: utils/misc/guc.c:6154
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "Parameter „%s“ kann nicht geändert werden, ohne den Server neu zu starten"
 
-#: guc-file.l:327
+#: guc-file.l:320
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr "Parameter „%s“ wurde aus Konfigurationsdatei entfernt, wird auf Standardwert zurückgesetzt"
 
-#: guc-file.l:389
+#: guc-file.l:382
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "Parameter „%s“ auf „%s“ gesetzt"
 
-#: guc-file.l:424
+#: guc-file.l:417
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "Konfigurationsdatei „%s“ enthält Fehler"
 
-#: guc-file.l:429
+#: guc-file.l:422
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "Konfigurationsdatei „%s“ enthält Fehler; nicht betroffene Änderungen wurden durchgeführt"
 
-#: guc-file.l:434
+#: guc-file.l:427
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "Konfigurationsdatei „%s“ enthält Fehler; keine Änderungen wurden durchgeführt"
 
-#: guc-file.l:504
+#: guc-file.l:500
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "konnte Konfigurationsdatei „%s“ nicht öffnen: maximale Verschachtelungstiefe überschritten"
 
-#: guc-file.l:517 libpq/hba.c:1789
+#: guc-file.l:513 libpq/hba.c:1789
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "konnte Konfigurationsdatei „%s“ nicht öffnen: %m"
 
-#: guc-file.l:524
+#: guc-file.l:520
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "fehlende Konfigurationsdatei „%s“ wird übersprungen"
 
-#: guc-file.l:763
+#: guc-file.l:730
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "Syntaxfehler in Datei „%s“, Zeile %u, am Ende der Zeile"
 
-#: guc-file.l:768
+#: guc-file.l:735
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "Syntaxfehler in Datei „%s“, Zeile %u, bei „%s“"
 
-#: guc-file.l:784
+#: guc-file.l:751
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "zu viele Syntaxfehler gefunden, Datei „%s“ wird aufgegeben"
 
-#: guc-file.l:829
+#: guc-file.l:796
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "konnte Konfigurationsverzeichnis „%s“ nicht öffnen: %m"
@@ -9603,237 +9721,237 @@ msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %m"
 
 #: libpq/auth.c:1593
 #, c-format
-msgid "could not to look up local user ID %ld: %s"
+msgid "could not look up local user ID %ld: %s"
 msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: libpq/auth.c:1676 libpq/auth.c:1947 libpq/auth.c:2304
+#: libpq/auth.c:1677 libpq/auth.c:1948 libpq/auth.c:2305
 #, c-format
 msgid "empty password returned by client"
 msgstr "Client gab leeres Passwort zurück"
 
-#: libpq/auth.c:1686
+#: libpq/auth.c:1687
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Fehler von der unteren PAM-Ebene: %s"
 
-#: libpq/auth.c:1755
+#: libpq/auth.c:1756
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht erzeugen: %s"
 
-#: libpq/auth.c:1766
+#: libpq/auth.c:1767
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fehlgeschlagen: %s"
 
-#: libpq/auth.c:1777
+#: libpq/auth.c:1778
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) fehlgeschlagen: %s"
 
-#: libpq/auth.c:1788
+#: libpq/auth.c:1789
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fehlgeschlagen: %s"
 
-#: libpq/auth.c:1799
+#: libpq/auth.c:1800
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fehlgeschlagen: %s"
 
-#: libpq/auth.c:1810
+#: libpq/auth.c:1811
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht freigeben: %s"
 
-#: libpq/auth.c:1843
+#: libpq/auth.c:1844
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "konnte LDAP nicht initialisieren: %m"
 
-#: libpq/auth.c:1846
+#: libpq/auth.c:1847
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "konnte LDAP nicht initialisieren: Fehlercode %d"
 
-#: libpq/auth.c:1856
+#: libpq/auth.c:1857
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "konnte LDAP-Protokollversion nicht setzen: %s"
 
-#: libpq/auth.c:1885
+#: libpq/auth.c:1886
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "konnte wldap32.dll nicht laden"
 
-#: libpq/auth.c:1893
+#: libpq/auth.c:1894
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "konnte Funktion _ldap_start_tls_sA in wldap32.dll nicht laden"
 
-#: libpq/auth.c:1894
+#: libpq/auth.c:1895
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP über SSL wird auf dieser Plattform nicht unterstützt."
 
-#: libpq/auth.c:1909
+#: libpq/auth.c:1910
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "konnte LDAP-TLS-Sitzung nicht starten: %s"
 
-#: libpq/auth.c:1931
+#: libpq/auth.c:1932
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-Server nicht angegeben"
 
-#: libpq/auth.c:1984
+#: libpq/auth.c:1985
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "ungültiges Zeichen im Benutzernamen für LDAP-Authentifizierung"
 
-#: libpq/auth.c:1999
+#: libpq/auth.c:2000
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "erstes LDAP-Binden für ldapbinddn „%s“ auf Server „%s“ fehlgeschlagen: %s"
 
-#: libpq/auth.c:2023
+#: libpq/auth.c:2024
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "konnte LDAP nicht mit Filter „%s“ auf Server „%s“ durchsuchen: %s"
 
-#: libpq/auth.c:2034
+#: libpq/auth.c:2035
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP-Benutzer „%s“ existiert nicht"
 
-#: libpq/auth.c:2035
+#: libpq/auth.c:2036
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-Suche nach Filter „%s“ auf Server „%s“ gab keine Einträge zurück."
 
-#: libpq/auth.c:2039
+#: libpq/auth.c:2040
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP-Benutzer „%s“ ist nicht eindeutig"
 
-#: libpq/auth.c:2040
+#: libpq/auth.c:2041
 #, 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] "LDAP-Suche nach Filter „%s“ auf Server „%s“ gab %d Eintrag zurück."
 msgstr[1] "LDAP-Suche nach Filter „%s“ auf Server „%s“ gab %d Einträge zurück."
 
-#: libpq/auth.c:2058
+#: libpq/auth.c:2059
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "konnte DN fũr den ersten Treffer für „%s“ auf Server „%s“ nicht lesen: %s"
 
-#: libpq/auth.c:2078
+#: libpq/auth.c:2079
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr "Losbinden fehlgeschlagen nach Suche nach Benutzer „%s“ auf Server „%s“: %s"
 
-#: libpq/auth.c:2108
+#: libpq/auth.c:2109
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "LDAP-Login fehlgeschlagen für Benutzer „%s“ auf Server „%s“: %s"
 
-#: libpq/auth.c:2136
+#: libpq/auth.c:2137
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "Zertifikatauthentifizierung für Benutzer „%s“ fehlgeschlagen: Client-Zertifikat enthält keinen Benutzernamen"
 
-#: libpq/auth.c:2260
+#: libpq/auth.c:2261
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-Server nicht angegeben"
 
-#: libpq/auth.c:2267
+#: libpq/auth.c:2268
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "RADIUS-Geheimnis nicht angegeben"
 
-#: libpq/auth.c:2283 libpq/hba.c:1609
+#: libpq/auth.c:2284 libpq/hba.c:1609
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "konnte RADIUS-Servername „%s“ nicht in Adresse übersetzen: %s"
 
-#: libpq/auth.c:2311
+#: libpq/auth.c:2312
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than 16 characters"
 msgstr "RADIUS-Authentifizierung unterstützt keine Passwörter länger als 16 Zeichen"
 
-#: libpq/auth.c:2322
+#: libpq/auth.c:2323
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
 
-#: libpq/auth.c:2345
+#: libpq/auth.c:2346
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen"
 
-#: libpq/auth.c:2367
+#: libpq/auth.c:2368
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "konnte RADIUS-Socket nicht erstellen: %m"
 
-#: libpq/auth.c:2388
+#: libpq/auth.c:2389
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "konnte lokales RADIUS-Socket nicht binden: %m"
 
-#: libpq/auth.c:2398
+#: libpq/auth.c:2399
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "konnte RADIUS-Paket nicht senden: %m"
 
-#: libpq/auth.c:2427 libpq/auth.c:2452
+#: libpq/auth.c:2428 libpq/auth.c:2453
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort"
 
-#: libpq/auth.c:2445
+#: libpq/auth.c:2446
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "konnte Status des RADIUS-Sockets nicht prüfen: %m"
 
-#: libpq/auth.c:2474
+#: libpq/auth.c:2475
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "konnte RADIUS-Antwort nicht lesen: %m"
 
-#: libpq/auth.c:2486 libpq/auth.c:2490
+#: libpq/auth.c:2487 libpq/auth.c:2491
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "RADIUS-Antwort wurde von falschem Port gesendet: %d"
 
-#: libpq/auth.c:2499
+#: libpq/auth.c:2500
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "RADIUS-Antwort zu kurz: %d"
 
-#: libpq/auth.c:2506
+#: libpq/auth.c:2507
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "RADIUS-Antwort hat verfälschte Länge: %d (tatsächliche Länge %d)"
 
-#: libpq/auth.c:2514
+#: libpq/auth.c:2515
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "RADIUS-Antwort unterscheidet sich von Anfrage: %d (sollte %d sein)"
 
-#: libpq/auth.c:2539
+#: libpq/auth.c:2540
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen"
 
-#: libpq/auth.c:2548
+#: libpq/auth.c:2549
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "RADIUS-Antwort hat falsche MD5-Signatur"
 
-#: libpq/auth.c:2565
+#: libpq/auth.c:2566
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "RADIUS-Antwort hat ungültigen Code (%d) für Benutzer „%s“"
@@ -10524,17 +10642,17 @@ msgstr "ungültige Zeichenkette in Message"
 msgid "invalid message format"
 msgstr "ungültiges Message-Format"
 
-#: main/main.c:262
+#: main/main.c:263
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: setsysinfo fehlgeschlagen: %s\n"
 
-#: main/main.c:284
+#: main/main.c:285
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup fehlgeschlagen: %d\n"
 
-#: main/main.c:313
+#: main/main.c:331
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -10543,7 +10661,7 @@ msgstr ""
 "%s ist der PostgreSQL-Server.\n"
 "\n"
 
-#: main/main.c:314
+#: main/main.c:332
 #, c-format
 msgid ""
 "Usage:\n"
@@ -10554,117 +10672,117 @@ msgstr ""
 "  %s [OPTION]...\n"
 "\n"
 
-#: main/main.c:315
+#: main/main.c:333
 #, c-format
 msgid "Options:\n"
 msgstr "Optionen:\n"
 
-#: main/main.c:317
+#: main/main.c:335
 #, c-format
 msgid "  -A 1|0             enable/disable run-time assert checking\n"
 msgstr "  -A 1|0             Assert-Prüfungen ein-/ausschalten\n"
 
-#: main/main.c:319
+#: main/main.c:337
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ZAHL            Anzahl der geteilten Puffer\n"
 
-#: main/main.c:320
+#: main/main.c:338
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NAME=WERT       setze Konfigurationsparameter\n"
 
-#: main/main.c:321
+#: main/main.c:339
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NAME            Wert des Konfigurationsparameters ausgeben, dann beenden\n"
 
-#: main/main.c:322
+#: main/main.c:340
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             Debug-Level\n"
 
-#: main/main.c:323
+#: main/main.c:341
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D VERZEICHNIS     Datenbankverzeichnis\n"
 
-#: main/main.c:324
+#: main/main.c:342
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 verwende europäisches Datumseingabeformat (DMY)\n"
 
-#: main/main.c:325
+#: main/main.c:343
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 „fsync“ ausschalten\n"
 
-#: main/main.c:326
+#: main/main.c:344
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h HOSTNAME        horche auf Hostname oder IP-Adresse\n"
 
-#: main/main.c:327
+#: main/main.c:345
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 ermögliche TCP/IP-Verbindungen\n"
 
-#: main/main.c:328
+#: main/main.c:346
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k VERZEICHNIS     Ort der Unix-Domain-Socket\n"
 
-#: main/main.c:330
+#: main/main.c:348
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 ermögliche SSL-Verbindungen\n"
 
-#: main/main.c:332
+#: main/main.c:350
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N ZAHL            Anzahl der erlaubten Verbindungen\n"
 
-#: main/main.c:333
+#: main/main.c:351
 #, c-format
 msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr "  -o OPTIONEN        „OPTIONEN“ an jeden Serverprozess weiterreichen (obsolet)\n"
 
-#: main/main.c:334
+#: main/main.c:352
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            auf dieser Portnummer horchen\n"
 
-#: main/main.c:335
+#: main/main.c:353
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 zeige Statistiken nach jeder Anfrage\n"
 
-#: main/main.c:336
+#: main/main.c:354
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S ZAHL            setze Speicher für Sortiervorgänge (in kB)\n"
 
-#: main/main.c:337
+#: main/main.c:355
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      Versionsinformationen anzeigen, dann beenden\n"
 
-#: main/main.c:338
+#: main/main.c:356
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NAME=WERT        setze Konfigurationsparameter\n"
 
-#: main/main.c:339
+#: main/main.c:357
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  zeige Konfigurationsparameter und beende\n"
 
-#: main/main.c:340
+#: main/main.c:358
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         diese Hilfe anzeigen, dann beenden\n"
 
-#: main/main.c:342
+#: main/main.c:360
 #, c-format
 msgid ""
 "\n"
@@ -10673,42 +10791,42 @@ msgstr ""
 "\n"
 "Entwickleroptionen:\n"
 
-#: main/main.c:343
+#: main/main.c:361
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       verbiete Verwendung einiger Plantypen\n"
 
-#: main/main.c:344
+#: main/main.c:362
 #, c-format
 msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n                 Shared Memory nach abnormalem Ende nicht neu initialisieren\n"
 
-#: main/main.c:345
+#: main/main.c:363
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 erlaube Änderungen an Systemtabellenstruktur\n"
 
-#: main/main.c:346
+#: main/main.c:364
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 schalte Systemindexe aus\n"
 
-#: main/main.c:347
+#: main/main.c:365
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        zeige Zeitmessung nach jeder Anfrage\n"
 
-#: main/main.c:348
+#: main/main.c:366
 #, c-format
 msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr "  -T                 SIGSTOP an alle Backend-Prozesse senden wenn einer stirbt\n"
 
-#: main/main.c:349
+#: main/main.c:367
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W ZAHL            warte ZAHL Sekunden, um Debugger starten zu können\n"
 
-#: main/main.c:351
+#: main/main.c:369
 #, c-format
 msgid ""
 "\n"
@@ -10717,39 +10835,39 @@ msgstr ""
 "\n"
 "Optionen für Einzelbenutzermodus:\n"
 
-#: main/main.c:352
+#: main/main.c:370
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr "  --single           wählt den Einzelbenutzermodus (muss erstes Argument sein)\n"
 
-#: main/main.c:353
+#: main/main.c:371
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME             Datenbankname (Vorgabe: Benutzername)\n"
 
-#: main/main.c:354
+#: main/main.c:372
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             Debug-Level setzen\n"
 
-#: main/main.c:355
+#: main/main.c:373
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 gebe Befehl vor der Ausführung aus\n"
 
-#: main/main.c:356
+#: main/main.c:374
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -j                 verwende Zeilenende nicht als Anfrageende im interaktiven\n"
 "                     Modus\n"
 
-#: main/main.c:357 main/main.c:362
+#: main/main.c:375 main/main.c:380
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r DATEINAME       sende stdout und stderr in genannte Datei\n"
 
-#: main/main.c:359
+#: main/main.c:377
 #, c-format
 msgid ""
 "\n"
@@ -10758,22 +10876,22 @@ msgstr ""
 "\n"
 "Optionen für Bootstrap-Modus:\n"
 
-#: main/main.c:360
+#: main/main.c:378
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr "  --boot             wählt den Bootstrap-Modus (muss erstes Argument sein)\n"
 
-#: main/main.c:361
+#: main/main.c:379
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr "  DBNAME             Datenbankname (Pflichtangabe im Bootstrap-Modus)\n"
 
-#: main/main.c:363
+#: main/main.c:381
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x NUM             interne Verwendung\n"
 
-#: main/main.c:365
+#: main/main.c:383
 #, c-format
 msgid ""
 "\n"
@@ -10790,7 +10908,7 @@ msgstr ""
 "\n"
 "Berichten Sie Fehler an <pgsql-bugs@postgresql.org>.\n"
 
-#: main/main.c:379
+#: main/main.c:397
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -10804,12 +10922,12 @@ msgstr ""
 "Dokumentation finden Sie weitere Informationen darüber, wie der\n"
 "Server richtig gestartet wird.\n"
 
-#: main/main.c:396
+#: main/main.c:414
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: reelle und effektive Benutzer-IDs müssen übereinstimmen\n"
 
-#: main/main.c:403
+#: main/main.c:421
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -12796,7 +12914,7 @@ msgstr "Der fehlgeschlagene Archivbefehl war: %s"
 msgid "archive command was terminated by exception 0x%X"
 msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
 
-#: postmaster/pgarch.c:623 postmaster/postmaster.c:3303
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3333
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei „ntstatus.h“ nach."
@@ -12951,158 +13069,173 @@ msgstr "konnte Statistikdatei „%s“ nicht öffnen: %m"
 msgid "corrupted statistics file \"%s\""
 msgstr "verfälschte Statistikdatei „%s“"
 
-#: postmaster/pgstat.c:4785
+#: postmaster/pgstat.c:4475
+#, 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:4787
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
 
-#: postmaster/postmaster.c:650
+#: postmaster/postmaster.c:654
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -f: „%s“\n"
 
-#: postmaster/postmaster.c:736
+#: postmaster/postmaster.c:740
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -t: „%s“\n"
 
-#: postmaster/postmaster.c:787
+#: postmaster/postmaster.c:791
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: ungültiges Argument: „%s“\n"
 
-#: postmaster/postmaster.c:822
+#: postmaster/postmaster.c:826
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: superuser_reserved_connections muss kleiner als max_connections sein\n"
 
-#: postmaster/postmaster.c:827
+#: postmaster/postmaster.c:831
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders muss kleiner als max_connections sein\n"
 
-#: postmaster/postmaster.c:832
+#: postmaster/postmaster.c:836
 #, c-format
 msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
 msgstr "WAL-Archivierung (archive_mode=on) benötigt wal_level „archive“, „hot_standby“ oder „logical“"
 
-#: postmaster/postmaster.c:835
+#: postmaster/postmaster.c:839
 #, c-format
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
 msgstr "WAL-Streaming (max_wal_senders > 0) benötigt wal_level „archive“, „hot_standby“ oder „logical“"
 
-#: postmaster/postmaster.c:843
+#: postmaster/postmaster.c:847
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:925 postmaster/postmaster.c:1023
+#: postmaster/postmaster.c:929 postmaster/postmaster.c:1027
 #: utils/init/miscinit.c:1188
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "ungültige Listensyntax für Parameter „%s“"
 
-#: postmaster/postmaster.c:956
+#: postmaster/postmaster.c:960
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für „%s“ nicht erzeugen"
 
-#: postmaster/postmaster.c:962
+#: postmaster/postmaster.c:966
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1045
+#: postmaster/postmaster.c:1049
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "konnte Unix-Domain-Socket in Verzeichnis „%s“ nicht erzeugen"
 
-#: postmaster/postmaster.c:1051
+#: postmaster/postmaster.c:1055
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1063
+#: postmaster/postmaster.c:1067
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1103
+#: postmaster/postmaster.c:1107
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "konnte Ein-/Ausgabe-Completion-Port für Child-Queue nicht erzeugen"
 
-#: postmaster/postmaster.c:1132
+#: postmaster/postmaster.c:1136
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: konnte Rechte der externen PID-Datei „%s“ nicht ändern: %s\n"
 
-#: postmaster/postmaster.c:1136
+#: postmaster/postmaster.c:1140
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: konnte externe PID-Datei „%s“ nicht schreiben: %s\n"
 
-#: postmaster/postmaster.c:1160
+#: postmaster/postmaster.c:1170
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1161
+#: postmaster/postmaster.c:1171
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel „%s“."
 
-#: postmaster/postmaster.c:1187 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1197 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "konnte pg_hba.conf nicht laden"
 
-#: postmaster/postmaster.c:1263
+#: postmaster/postmaster.c:1223
+#, c-format
+msgid "postmaster became multithreaded during startup"
+msgstr "Postmaster ist während des Starts multithreaded geworden"
+
+#: postmaster/postmaster.c:1224
+#, c-format
+msgid "Set the LC_ALL environment variable to a valid locale."
+msgstr "Setzen Sie die Umgebungsvariable LC_ALL auf eine gültige Locale."
+
+#: postmaster/postmaster.c:1284
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm „postgres“ finden"
 
-#: postmaster/postmaster.c:1286 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1307 utils/misc/tzparser.c:341
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Dies kann auf eine unvollständige PostgreSQL-Installation hindeuten, oder darauf, dass die Datei „%s“ von ihrer richtigen Stelle verschoben worden ist."
 
-#: postmaster/postmaster.c:1314
+#: postmaster/postmaster.c:1335
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "Datenverzeichnis „%s“ existiert nicht"
 
-#: postmaster/postmaster.c:1319
+#: postmaster/postmaster.c:1340
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Verzeichnis „%s“ nicht lesen: %m"
 
-#: postmaster/postmaster.c:1327
+#: postmaster/postmaster.c:1348
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "angegebenes Datenverzeichnis „%s“ ist kein Verzeichnis"
 
-#: postmaster/postmaster.c:1343
+#: postmaster/postmaster.c:1364
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "Datenverzeichnis „%s“ hat falschen Eigentümer"
 
-#: postmaster/postmaster.c:1345
+#: postmaster/postmaster.c:1366
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "Der Server muss von dem Benutzer gestartet werden, dem das Datenverzeichnis gehört."
 
-#: postmaster/postmaster.c:1365
+#: postmaster/postmaster.c:1386
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "Datenverzeichnis „%s“ erlaubt Zugriff von Gruppe oder Welt"
 
-#: postmaster/postmaster.c:1367
+#: postmaster/postmaster.c:1388
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Rechte sollten u=rwx (0700) sein."
 
-#: postmaster/postmaster.c:1378
+#: postmaster/postmaster.c:1399
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -13113,349 +13246,359 @@ msgstr ""
 "Es wurde im Verzeichnis „%s“ erwartet,\n"
 "aber die Datei „%s“ konnte nicht geöffnet werden: %s\n"
 
-#: postmaster/postmaster.c:1552
+#: postmaster/postmaster.c:1573
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fehlgeschlagen im Postmaster: %m"
 
-#: postmaster/postmaster.c:1747 postmaster/postmaster.c:1778
+#: postmaster/postmaster.c:1777 postmaster/postmaster.c:1808
 #, c-format
 msgid "incomplete startup packet"
 msgstr "unvollständiges Startpaket"
 
-#: postmaster/postmaster.c:1759
+#: postmaster/postmaster.c:1789
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "ungültige Länge des Startpakets"
 
-#: postmaster/postmaster.c:1816
+#: postmaster/postmaster.c:1846
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:1845
+#: postmaster/postmaster.c:1875
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "nicht unterstütztes Frontend-Protokoll %u.%u: Server unterstützt %u.0 bis %u.%u"
 
-#: postmaster/postmaster.c:1908
+#: postmaster/postmaster.c:1938
 #, c-format
 msgid "invalid value for parameter \"replication\""
 msgstr "ungültiger Wert für Parameter „replication“"
 
-#: postmaster/postmaster.c:1909
+#: postmaster/postmaster.c:1939
 #, c-format
 msgid "Valid values are: false, 0, true, 1, database."
 msgstr "Gültige Werte sind: false, 0, true, 1, database."
 
-#: postmaster/postmaster.c:1929
+#: postmaster/postmaster.c:1959
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "ungültiges Layout des Startpakets: Abschluss als letztes Byte erwartet"
 
-#: postmaster/postmaster.c:1957
+#: postmaster/postmaster.c:1987
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben"
 
-#: postmaster/postmaster.c:2016
+#: postmaster/postmaster.c:2046
 #, c-format
 msgid "the database system is starting up"
 msgstr "das Datenbanksystem startet"
 
-#: postmaster/postmaster.c:2021
+#: postmaster/postmaster.c:2051
 #, c-format
 msgid "the database system is shutting down"
 msgstr "das Datenbanksystem fährt herunter"
 
-#: postmaster/postmaster.c:2026
+#: postmaster/postmaster.c:2056
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "das Datenbanksystem ist im Wiederherstellungsmodus"
 
-#: postmaster/postmaster.c:2031 storage/ipc/procarray.c:286
+#: postmaster/postmaster.c:2061 storage/ipc/procarray.c:286
 #: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: postmaster/postmaster.c:2093
+#: postmaster/postmaster.c:2123
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
 
-#: postmaster/postmaster.c:2101
+#: postmaster/postmaster.c:2131
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "PID %d in Stornierungsanfrage stimmte mit keinem Prozess überein"
 
-#: postmaster/postmaster.c:2321
+#: postmaster/postmaster.c:2351
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
-#: postmaster/postmaster.c:2347
+#: postmaster/postmaster.c:2377
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2351
+#: postmaster/postmaster.c:2381
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2392
+#: postmaster/postmaster.c:2422
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2445
+#: postmaster/postmaster.c:2475
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2471
+#: postmaster/postmaster.c:2501
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2505
+#: postmaster/postmaster.c:2535
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2569 postmaster/postmaster.c:2590
+#: postmaster/postmaster.c:2599 postmaster/postmaster.c:2620
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2572
+#: postmaster/postmaster.c:2602
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:2630
+#: postmaster/postmaster.c:2660
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:2645
+#: postmaster/postmaster.c:2675
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:2699
+#: postmaster/postmaster.c:2729
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:2715
+#: postmaster/postmaster.c:2745
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:2729
+#: postmaster/postmaster.c:2759
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:2744
+#: postmaster/postmaster.c:2774
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:2759
+#: postmaster/postmaster.c:2789
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:2775
+#: postmaster/postmaster.c:2805
 msgid "statistics collector process"
 msgstr "Statistiksammelprozess"
 
-#: postmaster/postmaster.c:2789
+#: postmaster/postmaster.c:2819
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:2851
+#: postmaster/postmaster.c:2881
 msgid "worker process"
 msgstr "Worker-Prozess"
 
-#: postmaster/postmaster.c:2937 postmaster/postmaster.c:2957
-#: postmaster/postmaster.c:2964 postmaster/postmaster.c:2982
+#: postmaster/postmaster.c:2967 postmaster/postmaster.c:2987
+#: postmaster/postmaster.c:2994 postmaster/postmaster.c:3012
 msgid "server process"
 msgstr "Serverprozess"
 
-#: postmaster/postmaster.c:3036
+#: postmaster/postmaster.c:3066
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "aktive Serverprozesse werden abgebrochen"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3291
+#: postmaster/postmaster.c:3321
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3293 postmaster/postmaster.c:3304
-#: postmaster/postmaster.c:3315 postmaster/postmaster.c:3324
-#: postmaster/postmaster.c:3334
+#: postmaster/postmaster.c:3323 postmaster/postmaster.c:3334
+#: postmaster/postmaster.c:3345 postmaster/postmaster.c:3354
+#: postmaster/postmaster.c:3364
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Der fehlgeschlagene Prozess führte aus: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3301
+#: postmaster/postmaster.c:3331
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) wurde durch Ausnahme 0x%X beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3311
+#: postmaster/postmaster.c:3341
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) wurde von Signal %d beendet: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3322
+#: postmaster/postmaster.c:3352
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) wurde von Signal %d beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3332
+#: postmaster/postmaster.c:3362
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3520
+#: postmaster/postmaster.c:3550
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3559
+#: postmaster/postmaster.c:3589
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:3811
+#: postmaster/postmaster.c:3841
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:3853
+#: postmaster/postmaster.c:3883
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:3960
+#: postmaster/postmaster.c:3990
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "Verbindung empfangen: Host=%s Port=%s"
 
-#: postmaster/postmaster.c:3965
+#: postmaster/postmaster.c:3995
 #, c-format
 msgid "connection received: host=%s"
 msgstr "Verbindung empfangen: Host=%s"
 
-#: postmaster/postmaster.c:4255
+#: postmaster/postmaster.c:4285
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess „%s“ nicht ausführen: %m"
 
-#: postmaster/postmaster.c:4804
+#: postmaster/postmaster.c:4780
+#, c-format
+msgid "postmaster became multithreaded"
+msgstr "Postmaster ist multithreaded geworden"
+
+#: postmaster/postmaster.c:4846
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:5117
+#: postmaster/postmaster.c:5159
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "konnte Startprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5121
+#: postmaster/postmaster.c:5163
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5125
+#: postmaster/postmaster.c:5167
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5129
+#: postmaster/postmaster.c:5171
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5133
+#: postmaster/postmaster.c:5175
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5137
+#: postmaster/postmaster.c:5179
 #, c-format
 msgid "could not fork process: %m"
 msgstr "konnte Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5299
+#: postmaster/postmaster.c:5341
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt"
 
-#: postmaster/postmaster.c:5306
+#: postmaster/postmaster.c:5348
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
 
-#: postmaster/postmaster.c:5358
+#: postmaster/postmaster.c:5400
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "starte Background-Worker-Prozess „%s“"
 
-#: postmaster/postmaster.c:5369
+#: postmaster/postmaster.c:5411
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5758
+#: postmaster/postmaster.c:5800
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d"
 
-#: postmaster/postmaster.c:5790
+#: postmaster/postmaster.c:5832
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/postmaster.c:5819 postmaster/postmaster.c:5826
+#: postmaster/postmaster.c:5861
+#, c-format
+msgid "could not open backend variables file \"%s\": %s\n"
+msgstr "konnte Servervariablendatei „%s“ nicht öffnen: %s\n"
+
+#: postmaster/postmaster.c:5868
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "konnte nicht aus Servervariablendatei „%s“ lesen: %s\n"
 
-#: postmaster/postmaster.c:5835
+#: postmaster/postmaster.c:5877
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "konnte Datei „%s“ nicht löschen: %s\n"
 
-#: postmaster/postmaster.c:5852
+#: postmaster/postmaster.c:5894
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:5861
+#: postmaster/postmaster.c:5903
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:5868
+#: postmaster/postmaster.c:5910
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6027
+#: postmaster/postmaster.c:6069
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:6032
+#: postmaster/postmaster.c:6074
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
@@ -13538,13 +13681,13 @@ msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen"
 msgid "syntax error: unexpected character \"%s\""
 msgstr "Syntaxfehler: unerwartetes Zeichen „%s“"
 
-#: replication/basebackup.c:184 replication/basebackup.c:1044
+#: replication/basebackup.c:184 replication/basebackup.c:1068
 #: utils/adt/misc.c:353
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht lesen: %m"
 
-#: replication/basebackup.c:191 replication/basebackup.c:1048
+#: replication/basebackup.c:191 replication/basebackup.c:1072
 #: utils/adt/misc.c:357
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
@@ -13566,39 +13709,39 @@ msgstr "konnte keine WAL-Dateien finden"
 msgid "could not find WAL file \"%s\""
 msgstr "konnte WAL-Datei „%s“ nicht finden"
 
-#: replication/basebackup.c:471 replication/basebackup.c:496
+#: replication/basebackup.c:471 replication/basebackup.c:497
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "unerwartete WAL-Dateigröße „%s“"
 
-#: replication/basebackup.c:482 replication/basebackup.c:1186
+#: replication/basebackup.c:483 replication/basebackup.c:1210
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
 
-#: replication/basebackup.c:569 replication/basebackup.c:578
-#: replication/basebackup.c:587 replication/basebackup.c:596
-#: replication/basebackup.c:605 replication/basebackup.c:616
+#: replication/basebackup.c:584 replication/basebackup.c:593
+#: replication/basebackup.c:602 replication/basebackup.c:611
+#: replication/basebackup.c:620 replication/basebackup.c:631
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option „%s“"
 
-#: replication/basebackup.c:622 utils/misc/guc.c:5409
+#: replication/basebackup.c:637 utils/misc/guc.c:5385
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d ist außerhalb des gültigen Bereichs für Parameter „%s“ (%d ... %d)"
 
-#: replication/basebackup.c:879 replication/basebackup.c:972
+#: replication/basebackup.c:894 replication/basebackup.c:987
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "konnte „stat“ für Datei oder Verzeichnis „%s“ nicht ausführen: %m"
 
-#: replication/basebackup.c:1122
+#: replication/basebackup.c:1146
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "überspringe besondere Datei „%s“"
 
-#: replication/basebackup.c:1176
+#: replication/basebackup.c:1200
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "Archivmitglied „%s“ zu groß für Tar-Format"
@@ -13701,42 +13844,42 @@ msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
 msgid "logical decoding cannot be used while in recovery"
 msgstr "logische Dekodierung kann nicht während der Wiederherstellung verwendet werden"
 
-#: replication/logical/logical.c:230 replication/logical/logical.c:381
+#: replication/logical/logical.c:235 replication/logical/logical.c:386
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "physischer Replikations-Slot kann nicht für logisches Dekodieren verwendet werden"
 
-#: replication/logical/logical.c:235 replication/logical/logical.c:386
+#: replication/logical/logical.c:240 replication/logical/logical.c:391
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "Replikations-Slot „%s“ wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/logical/logical.c:242
+#: replication/logical/logical.c:247
 #, c-format
 msgid "cannot create logical replication slot in transaction that has performed writes"
 msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werden, die Schreibvorgänge ausgeführt hat"
 
-#: replication/logical/logical.c:422
+#: replication/logical/logical.c:427
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "starte logisches Dekodieren für Slot „%s“"
 
-#: replication/logical/logical.c:424
+#: replication/logical/logical.c:429
 #, c-format
 msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
 msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X"
 
-#: replication/logical/logical.c:559
+#: replication/logical/logical.c:564
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
 msgstr "Slot „%s“, Ausgabe-Plugin „%s“, im Callback %s, zugehörige LSN %X/%X"
 
-#: replication/logical/logical.c:566
+#: replication/logical/logical.c:571
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "Slot „%s“, Ausgabe-Plugin „%s“, im Callback %s"
 
-#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2123
+#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2122
 #, 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"
@@ -13756,7 +13899,7 @@ msgstr "Array muss eindimensional sein"
 msgid "array must not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2198
+#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2201
 #, c-format
 msgid "array must have even number of elements"
 msgstr "Array muss eine gerade Anzahl Elemente haben"
@@ -13766,24 +13909,24 @@ msgstr "Array muss eine gerade Anzahl Elemente haben"
 msgid "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
 msgstr "Ausgabe-Plugin „%s“ erzeugt binäre Ausgabe, aber „%s“ erwartet Textdaten"
 
-#: replication/logical/reorderbuffer.c:2100
+#: replication/logical/reorderbuffer.c:2101
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "konnte nicht in Datendatei für XID %u schreiben: %m"
 
-#: replication/logical/reorderbuffer.c:2196
-#: replication/logical/reorderbuffer.c:2216
+#: replication/logical/reorderbuffer.c:2197
+#: replication/logical/reorderbuffer.c:2217
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m"
 
-#: replication/logical/reorderbuffer.c:2200
-#: replication/logical/reorderbuffer.c:2220
+#: replication/logical/reorderbuffer.c:2201
+#: replication/logical/reorderbuffer.c:2221
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen"
 
-#: replication/logical/reorderbuffer.c:2826
+#: replication/logical/reorderbuffer.c:2827
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "konnte nicht aus Datei „%s“ lesen: %d statt %d Bytes gelesen"
@@ -13854,97 +13997,97 @@ msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot."
 msgid "could not parse file name \"%s\""
 msgstr "konnte Dateinamen „%s“ nicht parsen"
 
-#: replication/slot.c:173
+#: replication/slot.c:174
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "Replikations-Slot-Name „%s“ ist zu kurz"
 
-#: replication/slot.c:182
+#: replication/slot.c:183
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "Replikations-Slot-Name „%s“ ist zu lang"
 
-#: replication/slot.c:195
+#: replication/slot.c:196
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "Replikations-Slot-Name „%s“ enthält ungültiges Zeichen"
 
-#: replication/slot.c:197
+#: replication/slot.c:198
 #, c-format
 msgid "Replication slot names may only contain letters, numbers, and the underscore character."
 msgstr "Replikations-Slot-Namen dürfen nur Buchstaben, Zahlen und Unterstriche enthalten."
 
-#: replication/slot.c:244
+#: replication/slot.c:245
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "Replikations-Slot „%s“ existiert bereits"
 
-#: replication/slot.c:254
+#: replication/slot.c:255
 #, c-format
 msgid "all replication slots are in use"
 msgstr "alle Replikations-Slots sind in Benutzung"
 
-#: replication/slot.c:255
+#: replication/slot.c:256
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Geben Sie einen frei oder erhöhen Sie max_replication_slots."
 
-#: replication/slot.c:347
+#: replication/slot.c:348
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "Replikations-Slot „%s“ existiert nicht"
 
-#: replication/slot.c:351
+#: replication/slot.c:352
 #, c-format
 msgid "replication slot \"%s\" is already active"
 msgstr "Replikations-Slot „%s“ ist bereits aktiv"
 
-#: replication/slot.c:499 replication/slot.c:873 replication/slot.c:1218
+#: replication/slot.c:500 replication/slot.c:856 replication/slot.c:1201
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "konnte Verzeichnis „%s“ nicht löschen"
 
-#: replication/slot.c:774
+#: replication/slot.c:775
 #, c-format
 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:779
+#: replication/slot.c:780
 #, c-format
 msgid "replication slots can only be used if wal_level >= archive"
 msgstr "Replikations-Slots können nur verwendet werden, wenn wal_level >= archive"
 
-#: replication/slot.c:1150 replication/slot.c:1188
+#: replication/slot.c:1133 replication/slot.c:1171
 #, c-format
 msgid "could not read file \"%s\", read %d of %u: %m"
 msgstr "konnte Datei „%s“ nicht lesen, %d von %u gelesen: %m"
 
-#: replication/slot.c:1159
+#: replication/slot.c:1142
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgstr "Replikations-Slot-Datei „%s“ hat falsche magische Zahl %u statt %u"
 
-#: replication/slot.c:1166
+#: replication/slot.c:1149
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "Replikations-Slot-Datei „%s“ hat nicht unterstützte Version %u"
 
-#: replication/slot.c:1173
+#: replication/slot.c:1156
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "Replikations-Slot-Datei „%s“ hat falsche Länge %u"
 
-#: replication/slot.c:1203
+#: replication/slot.c:1186
 #, c-format
 msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
 msgstr "Replikations-Slot-Datei „%s“: Prüfsummenfehler, ist %u, sollte %u sein"
 
-#: replication/slot.c:1256
+#: replication/slot.c:1239
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren"
 
-#: replication/slot.c:1257
+#: replication/slot.c:1240
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut."
@@ -14034,68 +14177,68 @@ msgstr "hole Zeitleisten-History-Datei für Zeitleiste %u vom Primärserver"
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "konnte nicht in Logsegment %s bei Position %u, Länge %lu schreiben: %m"
 
-#: replication/walsender.c:469
+#: replication/walsender.c:468
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht den Anfang der Datei „%s“ setzen: %m"
 
-#: replication/walsender.c:520
+#: replication/walsender.c:519
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwendet werden"
 
-#: replication/walsender.c:583
+#: replication/walsender.c:582
 #, c-format
 msgid "requested starting point %X/%X on timeline %u is not in this server's history"
 msgstr "angeforderter Startpunkt %X/%X auf Zeitleiste %u ist nicht in der History dieses Servers"
 
-#: replication/walsender.c:587
+#: replication/walsender.c:586
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "Die History dieses Servers zweigte von Zeitleiste %u bei %X/%X ab."
 
-#: replication/walsender.c:632
+#: replication/walsender.c:631
 #, c-format
 msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
 msgstr "angeforderter Startpunkt %X/%X ist vor der WAL-Flush-Position dieses Servers %X/%X"
 
-#: replication/walsender.c:947
+#: replication/walsender.c:946
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "beende WAL-Sender-Prozess nach Beförderung"
 
-#: replication/walsender.c:1362 replication/walsender.c:1412
-#: replication/walsender.c:1461
+#: replication/walsender.c:1361 replication/walsender.c:1411
+#: replication/walsender.c:1460
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "unerwartetes EOF auf Standby-Verbindung"
 
-#: replication/walsender.c:1381
+#: replication/walsender.c:1380
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr "unerwarteter Standby-Message-Typ „%c“, nach Empfang von CopyDone"
 
-#: replication/walsender.c:1429
+#: replication/walsender.c:1428
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "ungültiger Standby-Message-Typ „%c“"
 
-#: replication/walsender.c:1483
+#: replication/walsender.c:1482
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "unerwarteter Message-Typ „%c“"
 
-#: replication/walsender.c:1770
+#: replication/walsender.c:1769
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "breche WAL-Sender-Prozess ab wegen Zeitüberschreitung bei der Replikation"
 
-#: replication/walsender.c:1863
+#: replication/walsender.c:1862
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "Standby-Server „%s“ hat jetzt den Primärserver eingeholt"
 
-#: replication/walsender.c:1967
+#: replication/walsender.c:1966
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr "Anzahl angeforderter Standby-Verbindungen überschreitet max_wal_senders (aktuell %d)"
@@ -14765,7 +14908,7 @@ msgstr "konnte Handle für „%s“ nicht duplizieren: %m"
 
 #: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
 #: storage/lmgr/lock.c:872 storage/lmgr/lock.c:906 storage/lmgr/lock.c:2601
-#: storage/lmgr/lock.c:3713 storage/lmgr/lock.c:3778 storage/lmgr/lock.c:4068
+#: storage/lmgr/lock.c:3717 storage/lmgr/lock.c:3782 storage/lmgr/lock.c:4072
 #: storage/lmgr/predicate.c:2323 storage/lmgr/predicate.c:2338
 #: storage/lmgr/predicate.c:3731 storage/lmgr/predicate.c:4874
 #: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
@@ -14944,12 +15087,12 @@ msgid "Only RowExclusiveLock or less can be acquired on database objects during
 msgstr "Nur Sperren gleich oder unter RowExclusiveLock können während der Wiederherstellung auf Datenbankobjekte gesetzt werden."
 
 #: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2602
-#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
+#: storage/lmgr/lock.c:3718 storage/lmgr/lock.c:3783 storage/lmgr/lock.c:4073
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Sie müssen möglicherweise max_locks_per_transaction erhöhen."
 
-#: storage/lmgr/lock.c:3039 storage/lmgr/lock.c:3151
+#: storage/lmgr/lock.c:3043 storage/lmgr/lock.c:3155
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
 msgstr "PREPARE kann nicht ausgeführt werden, wenn für das selbe Objekt Sperren auf Sitzungsebene und auf Transaktionsebene gehalten werden"
@@ -15870,8 +16013,8 @@ msgstr "keiner der Eingabedatentypen ist ein Array"
 #: 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:2304
-#: utils/adt/numeric.c:2313 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2305
+#: utils/adt/numeric.c:2314 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
 #: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
 #, c-format
 msgid "integer out of range"
@@ -15915,8 +16058,8 @@ msgstr "Arrays mit unterschiedlichen Dimensionen sind nicht kompatibel für Anei
 msgid "invalid number of dimensions: %d"
 msgstr "ungültige Anzahl Dimensionen: %d"
 
-#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1694 utils/adt/json.c:1789
-#: utils/adt/json.c:1820
+#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1697 utils/adt/json.c:1792
+#: utils/adt/json.c:1823
 #, c-format
 msgid "could not determine input data type"
 msgstr "konnte Eingabedatentypen nicht bestimmen"
@@ -16050,7 +16193,7 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement
 #: utils/adt/arrayfuncs.c:2122 utils/adt/arrayfuncs.c:2144
 #: utils/adt/arrayfuncs.c:2178 utils/adt/arrayfuncs.c:2464
 #: utils/adt/arrayfuncs.c:4962 utils/adt/arrayfuncs.c:4994
-#: utils/adt/arrayfuncs.c:5011 utils/adt/json.c:2211 utils/adt/json.c:2286
+#: utils/adt/arrayfuncs.c:5011 utils/adt/json.c:2214 utils/adt/json.c:2289
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "falsche Anzahl Arrayindizes"
@@ -16164,8 +16307,8 @@ msgstr "ungültige Eingabesyntax für Typ money: „%s“"
 #: 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:4961
-#: utils/adt/numeric.c:5244 utils/adt/timestamp.c:3357
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4962
+#: utils/adt/numeric.c:5245 utils/adt/timestamp.c:3357
 #, c-format
 msgid "division by zero"
 msgstr "Division durch Null"
@@ -16196,12 +16339,12 @@ 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/formatting.c:3411
+#: utils/adt/date.c:167 utils/adt/formatting.c:3412
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: „%s“"
 
-#: utils/adt/date.c:217 utils/adt/json.c:1431 utils/adt/xml.c:2024
+#: utils/adt/date.c:217 utils/adt/json.c:1434 utils/adt/xml.c:2025
 #, c-format
 msgid "date out of range"
 msgstr "date ist außerhalb des gültigen Bereichs"
@@ -16227,10 +16370,10 @@ msgid "date out of range for timestamp"
 msgstr "Datum ist außerhalb des gültigen Bereichs für Typ „timestamp“"
 
 #: utils/adt/date.c:971 utils/adt/date.c:1017 utils/adt/date.c:1617
-#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3287
-#: utils/adt/formatting.c:3319 utils/adt/formatting.c:3387
-#: utils/adt/json.c:1456 utils/adt/json.c:1463 utils/adt/json.c:1483
-#: utils/adt/json.c:1490 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
+#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3288
+#: utils/adt/formatting.c:3320 utils/adt/formatting.c:3388
+#: utils/adt/json.c:1459 utils/adt/json.c:1466 utils/adt/json.c:1486
+#: utils/adt/json.c:1493 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
 #: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:232
 #: utils/adt/timestamp.c:275 utils/adt/timestamp.c:724
 #: utils/adt/timestamp.c:753 utils/adt/timestamp.c:792
@@ -16247,8 +16390,8 @@ msgstr "Datum ist außerhalb des gültigen Bereichs für Typ „timestamp“"
 #: utils/adt/timestamp.c:4932 utils/adt/timestamp.c:4946
 #: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5032
 #: utils/adt/timestamp.c:5058 utils/adt/timestamp.c:5062
-#: utils/adt/timestamp.c:5131 utils/adt/xml.c:2046 utils/adt/xml.c:2053
-#: utils/adt/xml.c:2073 utils/adt/xml.c:2080
+#: utils/adt/timestamp.c:5131 utils/adt/xml.c:2047 utils/adt/xml.c:2054
+#: utils/adt/xml.c:2074 utils/adt/xml.c:2081
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp ist außerhalb des gültigen Bereichs"
@@ -16427,7 +16570,7 @@ msgid "\"%s\" is out of range for type real"
 msgstr "„%s“ ist außerhalb des gültigen Bereichs für Typ real"
 
 #: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
-#: utils/adt/numeric.c:4423 utils/adt/numeric.c:4449
+#: utils/adt/numeric.c:4424 utils/adt/numeric.c:4450
 #, c-format
 msgid "invalid input syntax for type double precision: \"%s\""
 msgstr "ungültige Eingabesyntax für Typ double precision: „%s“"
@@ -16440,32 +16583,32 @@ msgstr "„%s“ ist außerhalb des gültigen Bereichs für Typ double precision
 #: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
 #: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
 #: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
-#: utils/adt/int8.c:1323 utils/adt/numeric.c:2401 utils/adt/numeric.c:2410
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:2402 utils/adt/numeric.c:2411
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:1363 utils/adt/numeric.c:5637
+#: utils/adt/float.c:1363 utils/adt/numeric.c:5638
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1405 utils/adt/numeric.c:2221
+#: utils/adt/float.c:1405 utils/adt/numeric.c:2222
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "null hoch eine negative Zahl ist undefiniert"
 
-#: utils/adt/float.c:1409 utils/adt/numeric.c:2227
+#: utils/adt/float.c:1409 utils/adt/numeric.c:2228
 #, c-format
 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:1475 utils/adt/float.c:1505 utils/adt/numeric.c:5855
+#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:5856
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "Logarithmus von null kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:5859
+#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:5860
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
@@ -16477,12 +16620,12 @@ msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
 msgid "input is out of range"
 msgstr "Eingabe ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:2747 utils/adt/numeric.c:1274
+#: utils/adt/float.c:2747 utils/adt/numeric.c:1275
 #, c-format
 msgid "count must be greater than zero"
 msgstr "Anzahl muss größer als null sein"
 
-#: utils/adt/float.c:2752 utils/adt/numeric.c:1281
+#: utils/adt/float.c:2752 utils/adt/numeric.c:1282
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
@@ -16492,7 +16635,7 @@ msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
 msgid "lower and upper bounds must be finite"
 msgstr "Untergrenze und Obergrenze müssen endlich sein"
 
-#: utils/adt/float.c:2796 utils/adt/numeric.c:1294
+#: utils/adt/float.c:2796 utils/adt/numeric.c:1295
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "Untergrenze kann nicht gleich der Obergrenze sein"
@@ -16507,193 +16650,193 @@ 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:1055
+#: utils/adt/formatting.c:1056
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "„EEEE“ muss das letzte Muster sein"
 
-#: utils/adt/formatting.c:1063
+#: utils/adt/formatting.c:1064
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "„9“ muss vor „PR“ stehen"
 
-#: utils/adt/formatting.c:1079
+#: utils/adt/formatting.c:1080
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "„0“ muss vor „PR“ stehen"
 
-#: utils/adt/formatting.c:1106
+#: utils/adt/formatting.c:1107
 #, c-format
 msgid "multiple decimal points"
 msgstr "mehrere Dezimalpunkte"
 
-#: utils/adt/formatting.c:1110 utils/adt/formatting.c:1193
+#: utils/adt/formatting.c:1111 utils/adt/formatting.c:1194
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "„V“ und Dezimalpunkt können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1122
+#: utils/adt/formatting.c:1123
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "„S“ kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1126
+#: utils/adt/formatting.c:1127
 #, 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:1146
+#: utils/adt/formatting.c:1147
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "„S“ und „MI“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1156
+#: utils/adt/formatting.c:1157
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "„S“ und „PL“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1166
+#: utils/adt/formatting.c:1167
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "„S“ und „SG“ können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1175
+#: utils/adt/formatting.c:1176
 #, 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:1201
+#: utils/adt/formatting.c:1202
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "„EEEE“ kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1207
+#: utils/adt/formatting.c:1208
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "„EEEE“ ist mit anderen Formaten inkompatibel"
 
-#: utils/adt/formatting.c:1208
+#: utils/adt/formatting.c:1209
 #, 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:1408
+#: utils/adt/formatting.c:1409
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "„%s“ ist keine Zahl"
 
-#: utils/adt/formatting.c:1509 utils/adt/formatting.c:1561
+#: utils/adt/formatting.c:1510 utils/adt/formatting.c:1562
 #, 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:1629 utils/adt/formatting.c:1681
+#: utils/adt/formatting.c:1630 utils/adt/formatting.c:1682
 #, 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:1750 utils/adt/formatting.c:1814
+#: utils/adt/formatting.c:1751 utils/adt/formatting.c:1815
 #, 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:2118
+#: utils/adt/formatting.c:2119
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "ungültige Kombination von Datumskonventionen"
 
-#: utils/adt/formatting.c:2119
+#: utils/adt/formatting.c:2120
 #, 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:2136
+#: utils/adt/formatting.c:2137
 #, 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:2138
+#: utils/adt/formatting.c:2139
 #, 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:2199
+#: utils/adt/formatting.c:2200
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "Quellzeichenkette zu kurz für Formatfeld „%s„"
 
-#: utils/adt/formatting.c:2201
+#: utils/adt/formatting.c:2202
 #, 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:2204 utils/adt/formatting.c:2218
+#: utils/adt/formatting.c:2205 utils/adt/formatting.c:2219
 #, 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:2214 utils/adt/formatting.c:2227
-#: utils/adt/formatting.c:2357
+#: utils/adt/formatting.c:2215 utils/adt/formatting.c:2228
+#: utils/adt/formatting.c:2358
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "ungültiger Wert „%s“ für „%s“"
 
-#: utils/adt/formatting.c:2216
+#: utils/adt/formatting.c:2217
 #, 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:2229
+#: utils/adt/formatting.c:2230
 #, c-format
 msgid "Value must be an integer."
 msgstr "Der Wert muss eine ganze Zahl sein."
 
-#: utils/adt/formatting.c:2234
+#: utils/adt/formatting.c:2235
 #, 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:2236
+#: utils/adt/formatting.c:2237
 #, 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:2359
+#: utils/adt/formatting.c:2360
 #, 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:2932
+#: utils/adt/formatting.c:2933
 #, 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:3040
+#: utils/adt/formatting.c:3041
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ungültige Eingabe für „Y,YYY“"
 
-#: utils/adt/formatting.c:3543
+#: utils/adt/formatting.c:3544
 #, 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:3545
+#: utils/adt/formatting.c:3546
 #, 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:3640
+#: utils/adt/formatting.c:3641
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "kann Tag des Jahres nicht berechnen ohne Jahrinformationen"
 
-#: utils/adt/formatting.c:4490
+#: utils/adt/formatting.c:4488
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "„E“ wird nicht bei der Eingabe unterstützt"
 
-#: utils/adt/formatting.c:4502
+#: utils/adt/formatting.c:4500
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "„RN“ wird nicht bei der Eingabe unterstützt"
@@ -16908,7 +17051,7 @@ msgstr "Wert „%s“ ist außerhalb des gültigen Bereichs für Typ 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:2356
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2357
 #: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
@@ -16920,13 +17063,12 @@ msgid "OID out of range"
 msgstr "OID ist außerhalb des gültigen Bereichs"
 
 #: utils/adt/json.c:726 utils/adt/json.c:766 utils/adt/json.c:781
-#: utils/adt/json.c:792 utils/adt/json.c:802 utils/adt/json.c:838
-#: utils/adt/json.c:850 utils/adt/json.c:881 utils/adt/json.c:899
-#: utils/adt/json.c:911 utils/adt/json.c:923 utils/adt/json.c:1062
-#: utils/adt/json.c:1076 utils/adt/json.c:1087 utils/adt/json.c:1095
-#: utils/adt/json.c:1103 utils/adt/json.c:1111 utils/adt/json.c:1119
-#: utils/adt/json.c:1127 utils/adt/json.c:1135 utils/adt/json.c:1143
-#: utils/adt/json.c:1173
+#: utils/adt/json.c:792 utils/adt/json.c:802 utils/adt/json.c:853
+#: utils/adt/json.c:884 utils/adt/json.c:902 utils/adt/json.c:914
+#: utils/adt/json.c:926 utils/adt/json.c:1065 utils/adt/json.c:1079
+#: utils/adt/json.c:1090 utils/adt/json.c:1098 utils/adt/json.c:1106
+#: utils/adt/json.c:1114 utils/adt/json.c:1122 utils/adt/json.c:1130
+#: utils/adt/json.c:1138 utils/adt/json.c:1146 utils/adt/json.c:1176
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "ungültige Eingabesyntax für Typ json"
@@ -16946,134 +17088,144 @@ msgstr "Nach „\\u“ müssen vier Hexadezimalziffern folgen."
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Unicode-High-Surrogate darf nicht auf ein High-Surrogate folgen."
 
-#: utils/adt/json.c:793 utils/adt/json.c:803 utils/adt/json.c:851
-#: utils/adt/json.c:912 utils/adt/json.c:924
+#: utils/adt/json.c:793 utils/adt/json.c:803 utils/adt/json.c:854
+#: utils/adt/json.c:915 utils/adt/json.c:927
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Unicode-Low-Surrogate muss auf ein High-Surrogate folgen."
 
-#: utils/adt/json.c:839
+#: utils/adt/json.c:818 utils/adt/json.c:841
+#, c-format
+msgid "unsupported Unicode escape sequence"
+msgstr "nicht unterstützte Unicode-Escape-Sequenz"
+
+#: utils/adt/json.c:819
+#, c-format
+msgid "\\u0000 cannot be converted to text."
+msgstr "\\u0000 kann nicht in „text“ umgewandelt werden."
+
+#: utils/adt/json.c:842
 #, c-format
 msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8."
 msgstr "Unicode-Escape-Werte können nicht für Code-Punkt-Werte über 007F verwendet werden, wenn die Serverkodierung nicht UTF8 ist."
 
-#: utils/adt/json.c:882 utils/adt/json.c:900
+#: utils/adt/json.c:885 utils/adt/json.c:903
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "Escape-Sequenz „\\%s“ ist nicht gültig."
 
-#: utils/adt/json.c:1063
+#: utils/adt/json.c:1066
 #, c-format
 msgid "The input string ended unexpectedly."
 msgstr "Die Eingabezeichenkette endete unerwartet."
 
-#: utils/adt/json.c:1077
+#: utils/adt/json.c:1080
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
 msgstr "Ende der Eingabe erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1088
+#: utils/adt/json.c:1091
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "JSON-Wert erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1096 utils/adt/json.c:1144
+#: utils/adt/json.c:1099 utils/adt/json.c:1147
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "Zeichenkette erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1104
+#: utils/adt/json.c:1107
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "Array-Element oder „]“ erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1112
+#: utils/adt/json.c:1115
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "„,“ oder „]“ erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1120
+#: utils/adt/json.c:1123
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "Zeichenkette oder „}“ erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1128
+#: utils/adt/json.c:1131
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "„:“ erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1136
+#: utils/adt/json.c:1139
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "„,“ oder „}“ erwartet, aber „%s“ gefunden."
 
-#: utils/adt/json.c:1174
+#: utils/adt/json.c:1177
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "Token „%s“ ist ungültig."
 
-#: utils/adt/json.c:1246
+#: utils/adt/json.c:1249
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "JSON-Daten, Zeile %d: %s%s%s"
 
-#: utils/adt/json.c:1389
+#: utils/adt/json.c:1392
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json"
 
-#: utils/adt/json.c:1432
+#: utils/adt/json.c:1435
 #, c-format
 msgid "JSON does not support infinite date values."
 msgstr "JSON unterstützt keine unendlichen Datumswerte."
 
-#: utils/adt/json.c:1457 utils/adt/json.c:1484
+#: utils/adt/json.c:1460 utils/adt/json.c:1487
 #, c-format
 msgid "JSON does not support infinite timestamp values."
 msgstr "JSON unterstützt keine unendlichen timestamp-Werte."
 
-#: utils/adt/json.c:1951 utils/adt/json.c:1969 utils/adt/json.c:2063
-#: utils/adt/json.c:2084 utils/adt/json.c:2143
+#: utils/adt/json.c:1954 utils/adt/json.c:1972 utils/adt/json.c:2066
+#: utils/adt/json.c:2087 utils/adt/json.c:2146
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "konnte Datentyp von Argument %d nicht ermitteln"
 
-#: utils/adt/json.c:1956
+#: utils/adt/json.c:1959
 #, c-format
 msgid "field name must not be null"
 msgstr "Feldname darf nicht NULL sein"
 
-#: utils/adt/json.c:2038
+#: utils/adt/json.c:2041
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "Argumentliste muss gerade Anzahl Elemente haben"
 
-#: utils/adt/json.c:2039
+#: utils/adt/json.c:2042
 #, c-format
 msgid "The arguments of json_build_object() must consist of alternating keys and values."
 msgstr "Die Argumente von json_build_object() müssen abwechselnd Schlüssel und Werte sein."
 
-#: utils/adt/json.c:2069
+#: utils/adt/json.c:2072
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "Argument %d darf nicht NULL sein"
 
-#: utils/adt/json.c:2070
+#: utils/adt/json.c:2073
 #, c-format
 msgid "Object keys should be text."
 msgstr "Objektschlüssel sollten Text sein."
 
-#: utils/adt/json.c:2205
+#: utils/adt/json.c:2208
 #, c-format
 msgid "array must have two columns"
 msgstr "Array muss zwei Spalten haben"
 
-#: utils/adt/json.c:2229 utils/adt/json.c:2313
+#: utils/adt/json.c:2232 utils/adt/json.c:2316
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt"
 
-#: utils/adt/json.c:2302
+#: utils/adt/json.c:2305
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "Array-Dimensionen passen nicht"
@@ -17373,78 +17525,78 @@ msgstr "Ergebnis ist außerhalb des gültigen Bereichs"
 msgid "cannot subtract inet values of different sizes"
 msgstr "Subtraktion von „inet“-Werten unterschiedlicher Größe nicht möglich"
 
-#: utils/adt/numeric.c:485 utils/adt/numeric.c:512 utils/adt/numeric.c:3704
-#: utils/adt/numeric.c:3727 utils/adt/numeric.c:3751 utils/adt/numeric.c:3758
+#: utils/adt/numeric.c:486 utils/adt/numeric.c:513 utils/adt/numeric.c:3705
+#: utils/adt/numeric.c:3728 utils/adt/numeric.c:3752 utils/adt/numeric.c:3759
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "ungültige Eingabesyntax für Typ numeric: „%s“"
 
-#: utils/adt/numeric.c:702
+#: utils/adt/numeric.c:703
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "ungültige Länge in externem „numeric“-Wert"
 
-#: utils/adt/numeric.c:715
+#: utils/adt/numeric.c:716
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "ungültiges Vorzeichen in externem „numeric“-Wert"
 
-#: utils/adt/numeric.c:721
+#: utils/adt/numeric.c:722
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "ungültige Skala in externem „numeric“-Wert"
 
-#: utils/adt/numeric.c:730
+#: utils/adt/numeric.c:731
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "ungültige Ziffer in externem „numeric“-Wert"
 
-#: utils/adt/numeric.c:921 utils/adt/numeric.c:935
+#: utils/adt/numeric.c:922 utils/adt/numeric.c:936
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "Präzision von NUMERIC (%d) muss zwischen 1 und %d liegen"
 
-#: utils/adt/numeric.c:926
+#: utils/adt/numeric.c:927
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "Skala von NUMERIC (%d) muss zwischen 0 und %d liegen"
 
-#: utils/adt/numeric.c:944
+#: utils/adt/numeric.c:945
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "ungültiker Modifikator für Typ NUMERIC"
 
-#: utils/adt/numeric.c:1951 utils/adt/numeric.c:4201 utils/adt/numeric.c:6170
+#: utils/adt/numeric.c:1952 utils/adt/numeric.c:4202 utils/adt/numeric.c:6171
 #, c-format
 msgid "value overflows numeric format"
 msgstr "Wert verursacht Überlauf im „numeric“-Format"
 
-#: utils/adt/numeric.c:2282
+#: utils/adt/numeric.c:2283
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "kann NaN nicht in integer umwandeln"
 
-#: utils/adt/numeric.c:2348
+#: utils/adt/numeric.c:2349
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "kann NaN nicht in bigint umwandeln"
 
-#: utils/adt/numeric.c:2393
+#: utils/adt/numeric.c:2394
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "kann NaN nicht in smallint umwandeln"
 
-#: utils/adt/numeric.c:4271
+#: utils/adt/numeric.c:4272
 #, c-format
 msgid "numeric field overflow"
 msgstr "Feldüberlauf bei Typ „numeric“"
 
-#: utils/adt/numeric.c:4272
+#: utils/adt/numeric.c:4273
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr "Ein Feld mit Präzision %d, Skala %d muss beim Runden einen Betrag von weniger als %s%d ergeben."
 
-#: utils/adt/numeric.c:5727
+#: utils/adt/numeric.c:5728
 #, c-format
 msgid "argument for function \"exp\" too big"
 msgstr "Argument für Funktion „exp“ zu groß"
@@ -17751,7 +17903,7 @@ msgid "more than one operator named %s"
 msgstr "es gibt mehrere Operatoren namens %s"
 
 #: utils/adt/regproc.c:743 utils/adt/regproc.c:784 utils/adt/regproc.c:1702
-#: utils/adt/ruleutils.c:7626 utils/adt/ruleutils.c:7749
+#: utils/adt/ruleutils.c:7653 utils/adt/ruleutils.c:7776
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
@@ -17787,67 +17939,77 @@ msgstr "Typname erwartet"
 msgid "improper type name"
 msgstr "falscher Typname"
 
-#: utils/adt/ri_triggers.c:339 utils/adt/ri_triggers.c:2474
-#: utils/adt/ri_triggers.c:3227
+#: utils/adt/ri_triggers.c:340 utils/adt/ri_triggers.c:2475
+#: utils/adt/ri_triggers.c:3262
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr "Einfügen oder Aktualisieren in Tabelle „%s“ verletzt Fremdschlüssel-Constraint „%s“"
 
-#: utils/adt/ri_triggers.c:342 utils/adt/ri_triggers.c:2477
+#: utils/adt/ri_triggers.c:343 utils/adt/ri_triggers.c:2478
 #, c-format
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL erlaubt das Mischen von Schlüsseln, die NULL und nicht NULL sind, nicht."
 
-#: utils/adt/ri_triggers.c:2716
+#: utils/adt/ri_triggers.c:2717
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr "Funktion „%s“ muss von INSERT ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:2722
+#: utils/adt/ri_triggers.c:2723
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr "Funktion „%s“ muss von UPDATE ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:2728
+#: utils/adt/ri_triggers.c:2729
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr "Funktion „%s“ muss von DELETE ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:2751
+#: utils/adt/ri_triggers.c:2752
 #, c-format
 msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgstr "kein „pg_constraint“-Eintrag für Trigger „%s“ für Tabelle „%s“"
 
-#: utils/adt/ri_triggers.c:2753
+#: utils/adt/ri_triggers.c:2754
 #, c-format
 msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
 msgstr "Entfernen Sie diesen Referentielle-Integritäts-Trigger und seine Partner und führen Sie dann ALTER TABLE ADD CONSTRAINT aus."
 
-#: utils/adt/ri_triggers.c:3177
+#: utils/adt/ri_triggers.c:3181
 #, c-format
 msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
 msgstr "RI-Anfrage in Tabelle „%s“ für Constraint „%s“ von Tabelle „%s“ ergab unerwartetes Ergebnis"
 
-#: utils/adt/ri_triggers.c:3181
+#: utils/adt/ri_triggers.c:3185
 #, c-format
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr "Das liegt höchstwahrscheinlich daran, dass eine Regel die Anfrage umgeschrieben hat."
 
-#: utils/adt/ri_triggers.c:3230
+#: utils/adt/ri_triggers.c:3266
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr "Schlüssel (%s)=(%s) ist nicht in Tabelle „%s“ vorhanden."
 
-#: utils/adt/ri_triggers.c:3237
+#: utils/adt/ri_triggers.c:3269
+#, c-format
+msgid "Key is not present in table \"%s\"."
+msgstr "Der Schlüssel ist nicht in Tabelle „%s“ vorhanden."
+
+#: utils/adt/ri_triggers.c:3275
 #, c-format
 msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
 msgstr "Aktualisieren oder Löschen in Tabelle „%s“ verletzt Fremdschlüssel-Constraint „%s“ von Tabelle „%s“"
 
-#: utils/adt/ri_triggers.c:3241
+#: utils/adt/ri_triggers.c:3280
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr "Auf Schlüssel (%s)=(%s) wird noch aus Tabelle „%s“ verwiesen."
 
+#: utils/adt/ri_triggers.c:3283
+#, c-format
+msgid "Key is still referenced from table \"%s\"."
+msgstr "Auf den Schlüssel wird noch aus Tabelle „%s“ verwiesen."
+
 #: utils/adt/rowtypes.c:102 utils/adt/rowtypes.c:477
 #, c-format
 msgid "input of anonymous composite types is not implemented"
@@ -17906,7 +18068,7 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver
 msgid "cannot compare record types with different numbers of columns"
 msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen"
 
-#: utils/adt/ruleutils.c:3999
+#: utils/adt/ruleutils.c:4026
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "Regel „%s“ hat nicht unterstützten Ereignistyp %d"
@@ -18371,141 +18533,141 @@ msgstr "Argument von ntile muss größer als null sein"
 msgid "argument of nth_value must be greater than zero"
 msgstr "Argument von nth_value muss größer als null sein"
 
-#: utils/adt/xml.c:170
+#: utils/adt/xml.c:171
 #, c-format
 msgid "unsupported XML feature"
 msgstr "nicht unterstützte XML-Funktionalität"
 
-#: utils/adt/xml.c:171
+#: utils/adt/xml.c:172
 #, c-format
 msgid "This functionality requires the server to be built with libxml support."
 msgstr "Diese Funktionalität verlangt, dass der Server mit Libxml-Unterstützung gebaut wird."
 
-#: utils/adt/xml.c:172
+#: utils/adt/xml.c:173
 #, c-format
 msgid "You need to rebuild PostgreSQL using --with-libxml."
 msgstr "Sie müssen PostgreSQL mit --with-libxml neu bauen."
 
-#: utils/adt/xml.c:191 utils/mb/mbutils.c:523
+#: utils/adt/xml.c:192 utils/mb/mbutils.c:523
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "ungültiger Kodierungsname „%s“"
 
-#: utils/adt/xml.c:434 utils/adt/xml.c:439
+#: utils/adt/xml.c:435 utils/adt/xml.c:440
 #, c-format
 msgid "invalid XML comment"
 msgstr "ungültiger XML-Kommentar"
 
-#: utils/adt/xml.c:568
+#: utils/adt/xml.c:569
 #, c-format
 msgid "not an XML document"
 msgstr "kein XML-Dokument"
 
-#: utils/adt/xml.c:727 utils/adt/xml.c:750
+#: utils/adt/xml.c:728 utils/adt/xml.c:751
 #, c-format
 msgid "invalid XML processing instruction"
 msgstr "ungültige XML-Verarbeitungsanweisung"
 
-#: utils/adt/xml.c:728
+#: utils/adt/xml.c:729
 #, c-format
 msgid "XML processing instruction target name cannot be \"%s\"."
 msgstr "Die Zielangabe der XML-Verarbeitungsanweisung darf nicht „%s“ sein."
 
-#: utils/adt/xml.c:751
+#: utils/adt/xml.c:752
 #, c-format
 msgid "XML processing instruction cannot contain \"?>\"."
 msgstr "XML-Verarbeitungsanweisung darf nicht „?>“ enthalten."
 
-#: utils/adt/xml.c:830
+#: utils/adt/xml.c:831
 #, c-format
 msgid "xmlvalidate is not implemented"
 msgstr "xmlvalidate ist nicht implementiert"
 
-#: utils/adt/xml.c:909
+#: utils/adt/xml.c:910
 #, c-format
 msgid "could not initialize XML library"
 msgstr "konnte XML-Bibliothek nicht initialisieren"
 
-#: utils/adt/xml.c:910
+#: utils/adt/xml.c:911
 #, c-format
 msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
 msgstr "libxml2 hat inkompatiblen char-Typ: sizeof(char)=%u, sizeof(xmlChar)=%u."
 
-#: utils/adt/xml.c:996
+#: utils/adt/xml.c:997
 #, c-format
 msgid "could not set up XML error handler"
 msgstr "konnte XML-Fehlerbehandlung nicht einrichten"
 
-#: utils/adt/xml.c:997
+#: utils/adt/xml.c:998
 #, c-format
 msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with."
 msgstr "Das deutet wahrscheinlich darauf hin, dass die verwendete Version von libxml2 nicht mit den Header-Dateien der Version, mit der PostgreSQL gebaut wurde, kompatibel ist."
 
-#: utils/adt/xml.c:1732
+#: utils/adt/xml.c:1733
 msgid "Invalid character value."
 msgstr "Ungültiger Zeichenwert."
 
-#: utils/adt/xml.c:1735
+#: utils/adt/xml.c:1736
 msgid "Space required."
 msgstr "Leerzeichen benötigt."
 
-#: utils/adt/xml.c:1738
+#: utils/adt/xml.c:1739
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "standalone akzeptiert nur „yes“ oder „no“."
 
-#: utils/adt/xml.c:1741
+#: utils/adt/xml.c:1742
 msgid "Malformed declaration: missing version."
 msgstr "Fehlerhafte Deklaration: Version fehlt."
 
-#: utils/adt/xml.c:1744
+#: utils/adt/xml.c:1745
 msgid "Missing encoding in text declaration."
 msgstr "Fehlende Kodierung in Textdeklaration."
 
-#: utils/adt/xml.c:1747
+#: utils/adt/xml.c:1748
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Beim Parsen der XML-Deklaration: „?>“ erwartet."
 
-#: utils/adt/xml.c:1750
+#: utils/adt/xml.c:1751
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Unbekannter Libxml-Fehlercode: %d."
 
-#: utils/adt/xml.c:2025
+#: utils/adt/xml.c:2026
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML unterstützt keine unendlichen Datumswerte."
 
-#: utils/adt/xml.c:2047 utils/adt/xml.c:2074
+#: utils/adt/xml.c:2048 utils/adt/xml.c:2075
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML unterstützt keine unendlichen timestamp-Werte."
 
-#: utils/adt/xml.c:2465
+#: utils/adt/xml.c:2466
 #, c-format
 msgid "invalid query"
 msgstr "ungültige Anfrage"
 
-#: utils/adt/xml.c:3778
+#: utils/adt/xml.c:3796
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "ungültiges Array for XML-Namensraumabbildung"
 
-#: utils/adt/xml.c:3779
+#: utils/adt/xml.c:3797
 #, c-format
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr "Das Array muss zweidimensional sein und die Länge der zweiten Achse muss gleich 2 sein."
 
-#: utils/adt/xml.c:3803
+#: utils/adt/xml.c:3821
 #, c-format
 msgid "empty XPath expression"
 msgstr "leerer XPath-Ausdruck"
 
-#: utils/adt/xml.c:3852
+#: utils/adt/xml.c:3870
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "weder Namensraumname noch URI dürfen NULL sein"
 
-#: utils/adt/xml.c:3859
+#: utils/adt/xml.c:3877
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "konnte XML-Namensraum mit Namen „%s“ und URI „%s“ nicht registrieren"
@@ -18531,17 +18693,17 @@ msgstr "keine Ausgabefunktion verfügbar für Typ %s"
 msgid "cached plan must not change result type"
 msgstr "gecachter Plan darf den Ergebnistyp nicht ändern"
 
-#: utils/cache/relcache.c:4828
+#: utils/cache/relcache.c:4844
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "konnte Initialisierungsdatei für Relationscache „%s“ nicht erzeugen: %m"
 
-#: utils/cache/relcache.c:4830
+#: utils/cache/relcache.c:4846
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht."
 
-#: utils/cache/relcache.c:5044
+#: utils/cache/relcache.c:5060
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "konnte Cache-Datei „%s“ nicht löschen: %m"
@@ -18606,101 +18768,101 @@ msgstr "TRAP: ExceptionalCondition: fehlerhafte Argumente\n"
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
 msgstr "TRAP: %s(„%s“, Datei: „%s“, Zeile: %d)\n"
 
-#: utils/error/elog.c:320 utils/error/elog.c:1291
+#: utils/error/elog.c:320 utils/error/elog.c:1304
 #, c-format
 msgid "error occurred at %s:%d before error message processing is available\n"
 msgstr "Fehler geschah bei %s:%d bevor Fehlermeldungsverarbeitung bereit war\n"
 
-#: utils/error/elog.c:1807
+#: utils/error/elog.c:1820
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "konnte Datei „%s“ nicht als stderr neu öffnen: %m"
 
-#: utils/error/elog.c:1820
+#: utils/error/elog.c:1833
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "konnte Datei „%s“ nicht als stdou neu öffnen: %m"
 
-#: utils/error/elog.c:2295 utils/error/elog.c:2312 utils/error/elog.c:2328
+#: utils/error/elog.c:2308 utils/error/elog.c:2325 utils/error/elog.c:2341
 msgid "[unknown]"
 msgstr "[unbekannt]"
 
-#: utils/error/elog.c:2766 utils/error/elog.c:3065 utils/error/elog.c:3173
+#: utils/error/elog.c:2779 utils/error/elog.c:3078 utils/error/elog.c:3186
 msgid "missing error text"
 msgstr "fehlender Fehlertext"
 
-#: utils/error/elog.c:2769 utils/error/elog.c:2772 utils/error/elog.c:3176
-#: utils/error/elog.c:3179
+#: utils/error/elog.c:2782 utils/error/elog.c:2785 utils/error/elog.c:3189
+#: utils/error/elog.c:3192
 #, c-format
 msgid " at character %d"
 msgstr " bei Zeichen %d"
 
-#: utils/error/elog.c:2782 utils/error/elog.c:2789
+#: utils/error/elog.c:2795 utils/error/elog.c:2802
 msgid "DETAIL:  "
 msgstr "DETAIL:  "
 
-#: utils/error/elog.c:2796
+#: utils/error/elog.c:2809
 msgid "HINT:  "
 msgstr "TIPP:  "
 
-#: utils/error/elog.c:2803
+#: utils/error/elog.c:2816
 msgid "QUERY:  "
 msgstr "ANFRAGE:  "
 
-#: utils/error/elog.c:2810
+#: utils/error/elog.c:2823
 msgid "CONTEXT:  "
 msgstr "ZUSAMMENHANG:  "
 
-#: utils/error/elog.c:2820
+#: utils/error/elog.c:2833
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "ORT:  %s, %s:%d\n"
 
-#: utils/error/elog.c:2827
+#: utils/error/elog.c:2840
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "ORT:  %s:%d\n"
 
-#: utils/error/elog.c:2841
+#: utils/error/elog.c:2854
 msgid "STATEMENT:  "
 msgstr "ANWEISUNG:  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3294
+#: utils/error/elog.c:3307
 #, c-format
 msgid "operating system error %d"
 msgstr "Betriebssystemfehler %d"
 
-#: utils/error/elog.c:3489
+#: utils/error/elog.c:3502
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3493
+#: utils/error/elog.c:3506
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3496
+#: utils/error/elog.c:3509
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3499
+#: utils/error/elog.c:3512
 msgid "NOTICE"
 msgstr "HINWEIS"
 
-#: utils/error/elog.c:3502
+#: utils/error/elog.c:3515
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: utils/error/elog.c:3505
+#: utils/error/elog.c:3518
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: utils/error/elog.c:3508
+#: utils/error/elog.c:3521
 msgid "FATAL"
 msgstr "FATAL"
 
-#: utils/error/elog.c:3511
+#: utils/error/elog.c:3524
 msgid "PANIC"
 msgstr "PANIK"
 
@@ -18838,7 +19000,7 @@ msgstr "konnte Zeilenbeschreibung für Funktion, die „record“ zurückgibt, n
 msgid "could not change directory to \"%s\": %m"
 msgstr "konnte nicht in Verzeichnis „%s“ wechseln: %m"
 
-#: utils/init/miscinit.c:311 utils/misc/guc.c:5761
+#: utils/init/miscinit.c:311 utils/misc/guc.c:5707
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "kann Parameter „%s“ nicht in einer sicherheitsbeschränkten Operation setzen"
@@ -18939,7 +19101,7 @@ msgstr "Die Datei ist anscheinend aus Versehen übrig geblieben, konnte aber nic
 msgid "could not write lock file \"%s\": %m"
 msgstr "konnte Sperrdatei „%s“ nicht schreiben: %m"
 
-#: utils/init/miscinit.c:1001 utils/misc/guc.c:8381
+#: utils/init/miscinit.c:1001 utils/misc/guc.c:8359
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "konnte nicht aus Datei „%s“ lesen: %m"
@@ -19174,1396 +19336,1396 @@ msgstr "ungültige Byte-Sequenz für Kodierung „%s“: %s"
 msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\""
 msgstr "Zeichen mit Byte-Folge %s in Kodierung „%s“ hat keine Entsprechung in Kodierung „%s“"
 
-#: utils/misc/guc.c:552
+#: utils/misc/guc.c:544
 msgid "Ungrouped"
 msgstr "Ungruppiert"
 
-#: utils/misc/guc.c:554
+#: utils/misc/guc.c:546
 msgid "File Locations"
 msgstr "Dateipfade"
 
-#: utils/misc/guc.c:556
+#: utils/misc/guc.c:548
 msgid "Connections and Authentication"
 msgstr "Verbindungen und Authentifizierung"
 
-#: utils/misc/guc.c:558
+#: utils/misc/guc.c:550
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen"
 
-#: utils/misc/guc.c:560
+#: utils/misc/guc.c:552
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "Verbindungen und Authentifizierung / Sicherheit und Authentifizierung"
 
-#: utils/misc/guc.c:562
+#: utils/misc/guc.c:554
 msgid "Resource Usage"
 msgstr "Resourcenbenutzung"
 
-#: utils/misc/guc.c:564
+#: utils/misc/guc.c:556
 msgid "Resource Usage / Memory"
 msgstr "Resourcenbenutzung / Speicher"
 
-#: utils/misc/guc.c:566
+#: utils/misc/guc.c:558
 msgid "Resource Usage / Disk"
 msgstr "Resourcenbenutzung / Festplatte"
 
-#: utils/misc/guc.c:568
+#: utils/misc/guc.c:560
 msgid "Resource Usage / Kernel Resources"
 msgstr "Resourcenbenutzung / Kernelresourcen"
 
-#: utils/misc/guc.c:570
+#: utils/misc/guc.c:562
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Resourcenbenutzung / Kostenbasierte Vacuum-Verzögerung"
 
-#: utils/misc/guc.c:572
+#: utils/misc/guc.c:564
 msgid "Resource Usage / Background Writer"
 msgstr "Resourcenbenutzung / Background-Writer"
 
-#: utils/misc/guc.c:574
+#: utils/misc/guc.c:566
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Resourcenbenutzung / Asynchrones Verhalten"
 
-#: utils/misc/guc.c:576
+#: utils/misc/guc.c:568
 msgid "Write-Ahead Log"
 msgstr "Write-Ahead-Log"
 
-#: utils/misc/guc.c:578
+#: utils/misc/guc.c:570
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead-Log / Einstellungen"
 
-#: utils/misc/guc.c:580
+#: utils/misc/guc.c:572
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead-Log / Checkpoints"
 
-#: utils/misc/guc.c:582
+#: utils/misc/guc.c:574
 msgid "Write-Ahead Log / Archiving"
 msgstr "Write-Ahead-Log / Archivierung"
 
-#: utils/misc/guc.c:584
+#: utils/misc/guc.c:576
 msgid "Replication"
 msgstr "Replikation"
 
-#: utils/misc/guc.c:586
+#: utils/misc/guc.c:578
 msgid "Replication / Sending Servers"
 msgstr "Replikation / sendende Server"
 
-#: utils/misc/guc.c:588
+#: utils/misc/guc.c:580
 msgid "Replication / Master Server"
 msgstr "Replikation / Master-Server"
 
-#: utils/misc/guc.c:590
+#: utils/misc/guc.c:582
 msgid "Replication / Standby Servers"
 msgstr "Replikation / Standby-Server"
 
-#: utils/misc/guc.c:592
+#: utils/misc/guc.c:584
 msgid "Query Tuning"
 msgstr "Anfragetuning"
 
-#: utils/misc/guc.c:594
+#: utils/misc/guc.c:586
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Anfragetuning / Planermethoden"
 
-#: utils/misc/guc.c:596
+#: utils/misc/guc.c:588
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Anfragetuning / Planerkosten"
 
-#: utils/misc/guc.c:598
+#: utils/misc/guc.c:590
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Anfragetuning / Genetischer Anfrageoptimierer"
 
-#: utils/misc/guc.c:600
+#: utils/misc/guc.c:592
 msgid "Query Tuning / Other Planner Options"
 msgstr "Anfragetuning / Andere Planeroptionen"
 
-#: utils/misc/guc.c:602
+#: utils/misc/guc.c:594
 msgid "Reporting and Logging"
 msgstr "Berichte und Logging"
 
-#: utils/misc/guc.c:604
+#: utils/misc/guc.c:596
 msgid "Reporting and Logging / Where to Log"
 msgstr "Berichte und Logging / Wohin geloggt wird"
 
-#: utils/misc/guc.c:606
+#: utils/misc/guc.c:598
 msgid "Reporting and Logging / When to Log"
 msgstr "Berichte und Logging / Wann geloggt wird"
 
-#: utils/misc/guc.c:608
+#: utils/misc/guc.c:600
 msgid "Reporting and Logging / What to Log"
 msgstr "Berichte und Logging / Was geloggt wird"
 
-#: utils/misc/guc.c:610
+#: utils/misc/guc.c:602
 msgid "Statistics"
 msgstr "Statistiken"
 
-#: utils/misc/guc.c:612
+#: utils/misc/guc.c:604
 msgid "Statistics / Monitoring"
 msgstr "Statistiken / Überwachung"
 
-#: utils/misc/guc.c:614
+#: utils/misc/guc.c:606
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "Statistiken / Statistiksammler für Anfragen und Indexe"
 
-#: utils/misc/guc.c:616
+#: utils/misc/guc.c:608
 msgid "Autovacuum"
 msgstr "Autovacuum"
 
-#: utils/misc/guc.c:618
+#: utils/misc/guc.c:610
 msgid "Client Connection Defaults"
 msgstr "Standardeinstellungen für Clientverbindungen"
 
-#: utils/misc/guc.c:620
+#: utils/misc/guc.c:612
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Standardeinstellungen für Clientverbindungen / Anweisungsverhalten"
 
-#: utils/misc/guc.c:622
+#: utils/misc/guc.c:614
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "Standardeinstellungen für Clientverbindungen / Locale und Formatierung"
 
-#: utils/misc/guc.c:624
+#: utils/misc/guc.c:616
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr "Standardeinstellungen für Clientverbindungen / Shared Library Preloading"
 
-#: utils/misc/guc.c:626
+#: utils/misc/guc.c:618
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Standardeinstellungen für Clientverbindungen / Andere"
 
-#: utils/misc/guc.c:628
+#: utils/misc/guc.c:620
 msgid "Lock Management"
 msgstr "Sperrenverwaltung"
 
-#: utils/misc/guc.c:630
+#: utils/misc/guc.c:622
 msgid "Version and Platform Compatibility"
 msgstr "Versions- und Plattformkompatibilität"
 
-#: utils/misc/guc.c:632
+#: utils/misc/guc.c:624
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Versions- und Plattformkompatibilität / Frühere PostgreSQL-Versionen"
 
-#: utils/misc/guc.c:634
+#: utils/misc/guc.c:626
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Versions- und Plattformkompatibilität / Andere Plattformen und Clients"
 
-#: utils/misc/guc.c:636
+#: utils/misc/guc.c:628
 msgid "Error Handling"
 msgstr "Fehlerbehandlung"
 
-#: utils/misc/guc.c:638
+#: utils/misc/guc.c:630
 msgid "Preset Options"
 msgstr "Voreingestellte Optionen"
 
-#: utils/misc/guc.c:640
+#: utils/misc/guc.c:632
 msgid "Customized Options"
 msgstr "Angepasste Optionen"
 
-#: utils/misc/guc.c:642
+#: utils/misc/guc.c:634
 msgid "Developer Options"
 msgstr "Entwickleroptionen"
 
-#: utils/misc/guc.c:696
+#: utils/misc/guc.c:688
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr "Ermöglicht sequenzielle Scans in Planer."
 
-#: utils/misc/guc.c:705
+#: utils/misc/guc.c:697
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Ermöglicht Index-Scans im Planer."
 
-#: utils/misc/guc.c:714
+#: utils/misc/guc.c:706
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Ermöglicht Index-Only-Scans im Planer."
 
-#: utils/misc/guc.c:723
+#: utils/misc/guc.c:715
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr "Ermöglicht Bitmap-Scans im Planer."
 
-#: utils/misc/guc.c:732
+#: utils/misc/guc.c:724
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Ermöglicht TID-Scans im Planer."
 
-#: utils/misc/guc.c:741
+#: utils/misc/guc.c:733
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Ermöglicht Sortierschritte im Planer."
 
-#: utils/misc/guc.c:750
+#: utils/misc/guc.c:742
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Ermöglicht Hash-Aggregierung im Planer."
 
-#: utils/misc/guc.c:759
+#: utils/misc/guc.c:751
 msgid "Enables the planner's use of materialization."
 msgstr "Ermöglicht Materialisierung im Planer."
 
-#: utils/misc/guc.c:768
+#: utils/misc/guc.c:760
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr "Ermöglicht Nested-Loop-Verbunde im Planer."
 
-#: utils/misc/guc.c:777
+#: utils/misc/guc.c:769
 msgid "Enables the planner's use of merge join plans."
 msgstr "Ermöglicht Merge-Verbunde im Planer."
 
-#: utils/misc/guc.c:786
+#: utils/misc/guc.c:778
 msgid "Enables the planner's use of hash join plans."
 msgstr "Ermöglicht Hash-Verbunde im Planer."
 
-#: utils/misc/guc.c:795
+#: utils/misc/guc.c:787
 msgid "Enables genetic query optimization."
 msgstr "Ermöglicht genetische Anfrageoptimierung."
 
-#: utils/misc/guc.c:796
+#: utils/misc/guc.c:788
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Dieser Algorithmus versucht das Planen ohne erschöpfende Suche durchzuführen."
 
-#: utils/misc/guc.c:806
+#: utils/misc/guc.c:798
 msgid "Shows whether the current user is a superuser."
 msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist."
 
-#: utils/misc/guc.c:816
+#: utils/misc/guc.c:808
 msgid "Enables advertising the server via Bonjour."
 msgstr "Ermöglicht die Bekanntgabe des Servers mit Bonjour."
 
-#: utils/misc/guc.c:825
+#: utils/misc/guc.c:817
 msgid "Enables SSL connections."
 msgstr "Ermöglicht SSL-Verbindungen."
 
-#: utils/misc/guc.c:834
+#: utils/misc/guc.c:826
 msgid "Give priority to server ciphersuite order."
 msgstr "Der Ciphersuite-Reihenfolge des Servers Vorrang geben."
 
-#: utils/misc/guc.c:843
+#: utils/misc/guc.c:835
 msgid "Forces synchronization of updates to disk."
 msgstr "Erzwingt die Synchronisierung von Aktualisierungen auf Festplatte."
 
-#: utils/misc/guc.c:844
+#: utils/misc/guc.c:836
 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 cluster will recover to a consistent state after an operating system or hardware crash."
 msgstr "Der Server verwendet den Systemaufruf fsync() an mehreren Stellen, um sicherzustellen, dass Datenänderungen physikalisch auf die Festplatte geschrieben werden. Das stellt sicher, dass der Datenbankcluster nach einem Betriebssystemabsturz oder Hardwarefehler in einem korrekten Zustand wiederhergestellt werden kann."
 
-#: utils/misc/guc.c:855
+#: utils/misc/guc.c:847
 msgid "Continues processing after a checksum failure."
 msgstr "Setzt die Verarbeitung trotz Prüfsummenfehler fort."
 
-#: utils/misc/guc.c:856
+#: utils/misc/guc.c:848
 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
 msgstr "Wenn eine fehlerhafte Prüfsumme entdeckt wird, gibt PostgreSQL normalerweise ein Fehler aus und bricht die aktuelle Transaktion ab. Wenn „ignore_checksum_failure“ an ist, dann wird der Fehler ignoriert (aber trotzdem eine Warnung ausgegeben) und die Verarbeitung geht weiter. Dieses Verhalten kann Abstürze und andere ernsthafte Probleme verursachen. Es hat keine Auswirkungen, wenn Prüfsummen nicht eingeschaltet sind."
 
-#: utils/misc/guc.c:870
+#: utils/misc/guc.c:862
 msgid "Continues processing past damaged page headers."
 msgstr "Setzt die Verarbeitung trotz kaputter Seitenköpfe fort."
 
-#: utils/misc/guc.c:871
+#: utils/misc/guc.c:863
 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
 msgstr "Wenn ein kaputter Seitenkopf entdeckt wird, gibt PostgreSQL normalerweise einen Fehler aus und bricht die aktuelle Transaktion ab. Wenn „zero_damaged_pages“ an ist, dann wird eine Warnung ausgegeben, die kaputte Seite mit Nullen gefüllt und die Verarbeitung geht weiter. Dieses Verhalten zerstört Daten, nämlich alle Zeilen in der kaputten Seite."
 
-#: utils/misc/guc.c:884
+#: utils/misc/guc.c:876
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden."
 
-#: utils/misc/guc.c:885
+#: utils/misc/guc.c:877
 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 are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
 msgstr "Ein Seitenschreibvorgang während eines Betriebssystemabsturzes könnte eventuell nur teilweise geschrieben worden sein. Bei der Wiederherstellung sind die im WAL gespeicherten Zeilenänderungen nicht ausreichend. Diese Option schreibt Seiten, sobald sie nach einem Checkpoint geändert worden sind, damit eine volle Wiederherstellung möglich ist."
 
-#: utils/misc/guc.c:898
+#: utils/misc/guc.c:890
 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications."
 msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden, auch für nicht kritische Änderungen."
 
-#: utils/misc/guc.c:908
+#: utils/misc/guc.c:900
 msgid "Logs each checkpoint."
 msgstr "Schreibt jeden Checkpoint in den Log."
 
-#: utils/misc/guc.c:917
+#: utils/misc/guc.c:909
 msgid "Logs each successful connection."
 msgstr "Schreibt jede erfolgreiche Verbindung in den Log."
 
-#: utils/misc/guc.c:926
+#: utils/misc/guc.c:918
 msgid "Logs end of a session, including duration."
 msgstr "Schreibt jedes Verbindungsende mit Sitzungszeit in den Log."
 
-#: utils/misc/guc.c:935
+#: utils/misc/guc.c:927
 msgid "Turns on various assertion checks."
 msgstr "Schaltet diverse Assertion-Prüfungen ein."
 
-#: utils/misc/guc.c:936
+#: utils/misc/guc.c:928
 msgid "This is a debugging aid."
 msgstr "Das ist eine Debug-Hilfe."
 
-#: utils/misc/guc.c:950
+#: utils/misc/guc.c:942
 msgid "Terminate session on any error."
 msgstr "Sitzung bei jedem Fehler abbrechen."
 
-#: utils/misc/guc.c:959
+#: utils/misc/guc.c:951
 msgid "Reinitialize server after backend crash."
 msgstr "Server nach Absturz eines Serverprozesses reinitialisieren."
 
-#: utils/misc/guc.c:969
+#: utils/misc/guc.c:961
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Loggt die Dauer jeder abgeschlossenen SQL-Anweisung."
 
-#: utils/misc/guc.c:978
+#: utils/misc/guc.c:970
 msgid "Logs each query's parse tree."
 msgstr "Scheibt den Parsebaum jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:987
+#: utils/misc/guc.c:979
 msgid "Logs each query's rewritten parse tree."
 msgstr "Schreibt den umgeschriebenen Parsebaum jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:996
+#: utils/misc/guc.c:988
 msgid "Logs each query's execution plan."
 msgstr "Schreibt der Ausführungsplan jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:1005
+#: utils/misc/guc.c:997
 msgid "Indents parse and plan tree displays."
 msgstr "Rückt die Anzeige von Parse- und Planbäumen ein."
 
-#: utils/misc/guc.c:1014
+#: utils/misc/guc.c:1006
 msgid "Writes parser performance statistics to the server log."
 msgstr "Schreibt Parser-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1023
+#: utils/misc/guc.c:1015
 msgid "Writes planner performance statistics to the server log."
 msgstr "Schreibt Planer-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1032
+#: utils/misc/guc.c:1024
 msgid "Writes executor performance statistics to the server log."
 msgstr "Schreibt Executor-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1041
+#: utils/misc/guc.c:1033
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Schreibt Gesamtleistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1051
+#: utils/misc/guc.c:1043
 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
 msgstr "Loggt Statistiken über Systemressourcen (Speicher und CPU) während diverser B-Baum-Operationen."
 
-#: utils/misc/guc.c:1063
+#: utils/misc/guc.c:1055
 msgid "Collects information about executing commands."
 msgstr "Sammelt Informationen über ausgeführte Befehle."
 
-#: utils/misc/guc.c:1064
+#: utils/misc/guc.c:1056
 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 "Schaltet die Sammlung von Informationen über den aktuell ausgeführten Befehl jeder Sitzung ein, einschließlich der Zeit, and dem die Befehlsausführung begann."
 
-#: utils/misc/guc.c:1074
+#: utils/misc/guc.c:1066
 msgid "Collects statistics on database activity."
 msgstr "Sammelt Statistiken über Datenbankaktivität."
 
-#: utils/misc/guc.c:1083
+#: utils/misc/guc.c:1075
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität."
 
-#: utils/misc/guc.c:1093
+#: utils/misc/guc.c:1085
 msgid "Updates the process title to show the active SQL command."
 msgstr "Der Prozesstitel wird aktualisiert, um den aktuellen SQL-Befehl anzuzeigen."
 
-#: utils/misc/guc.c:1094
+#: utils/misc/guc.c:1086
 msgid "Enables updating of the process title every time a new SQL command is received by the server."
 msgstr "Ermöglicht das Aktualisieren des Prozesstitels bei jedem von Server empfangenen neuen SQL-Befehl."
 
-#: utils/misc/guc.c:1103
+#: utils/misc/guc.c:1095
 msgid "Starts the autovacuum subprocess."
 msgstr "Startet den Autovacuum-Prozess."
 
-#: utils/misc/guc.c:1113
+#: utils/misc/guc.c:1105
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Erzeugt Debug-Ausgabe für LISTEN und NOTIFY."
 
-#: utils/misc/guc.c:1125
+#: utils/misc/guc.c:1117
 msgid "Emits information about lock usage."
 msgstr "Gibt Informationen über Sperrenverwendung aus."
 
-#: utils/misc/guc.c:1135
+#: utils/misc/guc.c:1127
 msgid "Emits information about user lock usage."
 msgstr "Gibt Informationen über Benutzersperrenverwendung aus."
 
-#: utils/misc/guc.c:1145
+#: utils/misc/guc.c:1137
 msgid "Emits information about lightweight lock usage."
 msgstr "Gibt Informationen über die Verwendung von Lightweight Locks aus."
 
-#: utils/misc/guc.c:1155
+#: utils/misc/guc.c:1147
 msgid "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "Gibt Informationen über alle aktuellen Sperren aus, wenn eine Verklemmung auftritt."
 
-#: utils/misc/guc.c:1167
+#: utils/misc/guc.c:1159
 msgid "Logs long lock waits."
 msgstr "Schreibt Meldungen über langes Warten auf Sperren in den Log."
 
-#: utils/misc/guc.c:1177
+#: utils/misc/guc.c:1169
 msgid "Logs the host name in the connection logs."
 msgstr "Schreibt den Hostnamen jeder Verbindung in den Log."
 
-#: utils/misc/guc.c:1178
+#: utils/misc/guc.c:1170
 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 on your host name resolution setup it might impose a non-negligible performance penalty."
 msgstr "In der Standardeinstellung zeigen die Verbindungslogs nur die IP-Adresse der Clienthosts. Wenn Sie den Hostnamen auch anzeigen wollen, dann können Sie diese Option anschalten, aber je nachdem, wie Ihr DNS eingerichtet ist, kann das die Leistung nicht unerheblich beeinträchtigen."
 
-#: utils/misc/guc.c:1189
+#: utils/misc/guc.c:1181
 msgid "Causes subtables to be included by default in various commands."
 msgstr "Schließt abgeleitete Tabellen in diverse Befehle automatisch ein."
 
-#: utils/misc/guc.c:1198
+#: utils/misc/guc.c:1190
 msgid "Encrypt passwords."
 msgstr "Verschlüsselt Passwörter."
 
-#: utils/misc/guc.c:1199
+#: utils/misc/guc.c:1191
 msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted."
 msgstr "Wenn in CREATE USER oder ALTER USER ein Passwort ohne ENCRYPTED oder UNENCRYPTED angegeben ist, bestimmt dieser Parameter, ob das Passwort verschlüsselt wird."
 
-#: utils/misc/guc.c:1209
+#: utils/misc/guc.c:1201
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Behandelt „ausdruck=NULL“ als „ausdruck IS NULL“."
 
-#: utils/misc/guc.c:1210
+#: utils/misc/guc.c:1202
 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 null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
 msgstr "Wenn an, dann werden Ausdrücke der Form ausdruck = NULL (oder NULL = ausdruck) wie ausdruck IS NULL behandelt, das heißt, sie ergeben wahr, wenn das Ergebnis von ausdruck der NULL-Wert ist, und ansonsten falsch. Das korrekte Verhalten von ausdruck = NULL ist immer den NULL-Wert (für unbekannt) zurückzugeben."
 
-#: utils/misc/guc.c:1222
+#: utils/misc/guc.c:1214
 msgid "Enables per-database user names."
 msgstr "Ermöglicht Datenbank-lokale Benutzernamen."
 
-#: utils/misc/guc.c:1232
+#: utils/misc/guc.c:1224
 msgid "This parameter doesn't do anything."
 msgstr "Dieser Parameter macht nichts."
 
-#: utils/misc/guc.c:1233
+#: utils/misc/guc.c:1225
 msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
 msgstr "Er ist nur hier, damit es keine Probleme mit 7.3-Clients gibt, die SET AUTOCOMMIT TO ON ausführen."
 
-#: utils/misc/guc.c:1242
+#: utils/misc/guc.c:1234
 msgid "Sets the default read-only status of new transactions."
 msgstr "Setzt den Standardwert für die Read-Only-Einstellung einer neuen Transaktion."
 
-#: utils/misc/guc.c:1251
+#: utils/misc/guc.c:1243
 msgid "Sets the current transaction's read-only status."
 msgstr "Setzt die Read-Only-Einstellung der aktuellen Transaktion."
 
-#: utils/misc/guc.c:1261
+#: utils/misc/guc.c:1253
 msgid "Sets the default deferrable status of new transactions."
 msgstr "Setzt den Standardwert für die Deferrable-Einstellung einer neuen Transaktion."
 
-#: utils/misc/guc.c:1270
+#: utils/misc/guc.c:1262
 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr "Ob eine serialisierbare Read-Only-Transaktion aufgeschoben werden soll, bis sie ohne mögliche Serialisierungsfehler ausgeführt werden kann."
 
-#: utils/misc/guc.c:1280
+#: utils/misc/guc.c:1272
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "Prüft Funktionskörper bei der Ausführung von CREATE FUNCTION."
 
-#: utils/misc/guc.c:1289
+#: utils/misc/guc.c:1281
 msgid "Enable input of NULL elements in arrays."
 msgstr "Ermöglicht die Eingabe von NULL-Elementen in Arrays."
 
-#: utils/misc/guc.c:1290
+#: utils/misc/guc.c:1282
 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr "Wenn dies eingeschaltet ist, wird ein nicht gequotetes NULL in einem Array-Eingabewert als NULL-Wert interpretiert, ansonsten als Zeichenkette."
 
-#: utils/misc/guc.c:1300
+#: utils/misc/guc.c:1292
 msgid "Create new tables with OIDs by default."
 msgstr "Erzeugt neue Tabellen standardmäßig mit OIDs."
 
-#: utils/misc/guc.c:1309
+#: utils/misc/guc.c:1301
 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr "Startet einen Subprozess, um die Stderr-Ausgabe und/oder CSV-Logs in Logdateien auszugeben."
 
-#: utils/misc/guc.c:1318
+#: utils/misc/guc.c:1310
 msgid "Truncate existing log files of same name during log rotation."
 msgstr "Kürzt existierende Logdateien mit dem selben Namen beim Rotieren."
 
-#: utils/misc/guc.c:1329
+#: utils/misc/guc.c:1321
 msgid "Emit information about resource usage in sorting."
 msgstr "Gibt Informationen über die Ressourcenverwendung beim Sortieren aus."
 
-#: utils/misc/guc.c:1343
+#: utils/misc/guc.c:1335
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Erzeugt Debug-Ausgabe für synchronisiertes Scannen."
 
-#: utils/misc/guc.c:1358
+#: utils/misc/guc.c:1350
 msgid "Enable bounded sorting using heap sort."
 msgstr "Ermöglicht Bounded Sorting mittels Heap-Sort."
 
-#: utils/misc/guc.c:1371
+#: utils/misc/guc.c:1363
 msgid "Emit WAL-related debugging output."
 msgstr "Gibt diverse Debug-Meldungen über WAL aus."
 
-#: utils/misc/guc.c:1383
+#: utils/misc/guc.c:1375
 msgid "Datetimes are integer based."
 msgstr "Datum/Zeit verwendet intern ganze Zahlen."
 
-#: utils/misc/guc.c:1398
+#: utils/misc/guc.c:1390
 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr "Bestimmt, ob Groß-/Kleinschreibung bei Kerberos- und GSSAPI-Benutzernamen ignoriert werden soll."
 
-#: utils/misc/guc.c:1408
+#: utils/misc/guc.c:1400
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Warnt bei Backslash-Escapes in normalen Zeichenkettenkonstanten."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1410
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Bewirkt, dass Zeichenketten der Art '...' Backslashes als normales Zeichen behandeln."
 
-#: utils/misc/guc.c:1429
+#: utils/misc/guc.c:1421
 msgid "Enable synchronized sequential scans."
 msgstr "Ermöglicht synchronisierte sequenzielle Scans."
 
-#: utils/misc/guc.c:1439
+#: utils/misc/guc.c:1431
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "Erlaubt die Archivierung von WAL-Dateien mittels archive_command."
 
-#: utils/misc/guc.c:1449
+#: utils/misc/guc.c:1441
 msgid "Allows connections and queries during recovery."
 msgstr "Erlaubt Verbindungen und Anfragen während der Wiederherstellung."
 
-#: utils/misc/guc.c:1459
+#: utils/misc/guc.c:1451
 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
 msgstr "Erlaubt Rückmeldungen von einem Hot Standby an den Primärserver, um Anfragekonflikte zu vermeiden."
 
-#: utils/misc/guc.c:1469
+#: utils/misc/guc.c:1461
 msgid "Allows modifications of the structure of system tables."
 msgstr "Erlaubt Änderungen an der Struktur von Systemtabellen."
 
-#: utils/misc/guc.c:1480
+#: utils/misc/guc.c:1472
 msgid "Disables reading from system indexes."
 msgstr "Schaltet das Lesen aus Systemindexen ab."
 
-#: utils/misc/guc.c:1481
+#: utils/misc/guc.c:1473
 msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
 msgstr "Das Aktualisieren der Indexe wird nicht verhindert, also ist die Verwendung unbedenklich. Schlimmstenfalls wird alles langsamer."
 
-#: utils/misc/guc.c:1492
+#: utils/misc/guc.c:1484
 msgid "Enables backward compatibility mode for privilege checks on large objects."
 msgstr "Schaltet den rückwärtskompatiblen Modus für Privilegienprüfungen bei Large Objects ein."
 
-#: utils/misc/guc.c:1493
+#: utils/misc/guc.c:1485
 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
 msgstr "Überspringt Privilegienprüfungen beim Lesen oder Ändern von Large Objects, zur Kompatibilität mit PostgreSQL-Versionen vor 9.0."
 
-#: utils/misc/guc.c:1503
+#: utils/misc/guc.c:1495
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "Wenn SQL-Fragmente erzeugt werden, alle Bezeichner quoten."
 
-#: utils/misc/guc.c:1513
+#: utils/misc/guc.c:1505
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Zeigt, ob Datenprüfsummen in diesem Cluster angeschaltet sind."
 
-#: utils/misc/guc.c:1533
+#: utils/misc/guc.c:1525
 msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
 msgstr "Erzwingt das Umschalten zur nächsten Transaktionslogdatei, wenn seit N Sekunden keine neue Datei begonnen worden ist."
 
-#: utils/misc/guc.c:1544
+#: utils/misc/guc.c:1536
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "Wartet beim Starten einer Verbindung N Sekunden nach der Authentifizierung."
 
-#: utils/misc/guc.c:1545 utils/misc/guc.c:2047
+#: utils/misc/guc.c:1537 utils/misc/guc.c:2039
 msgid "This allows attaching a debugger to the process."
 msgstr "Das ermöglicht es, einen Debugger in den Prozess einzuhängen."
 
-#: utils/misc/guc.c:1554
+#: utils/misc/guc.c:1546
 msgid "Sets the default statistics target."
 msgstr "Setzt das voreingestellte Statistikziel."
 
-#: utils/misc/guc.c:1555
+#: utils/misc/guc.c:1547
 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr "Diese Einstellung gilt für Tabellenspalten, für die kein spaltenspezifisches Ziel mit ALTER TABLE SET STATISTICS gesetzt worden ist."
 
-#: utils/misc/guc.c:1564
+#: utils/misc/guc.c:1556
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr "Setzt die Größe der FROM-Liste, ab der Unteranfragen nicht kollabiert werden."
 
-#: utils/misc/guc.c:1566
+#: utils/misc/guc.c:1558
 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
 msgstr "Der Planer bindet Unteranfragen in die übergeordneten Anfragen ein, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde."
 
-#: utils/misc/guc.c:1576
+#: utils/misc/guc.c:1568
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr "Setzt die Größe der FROM-Liste, ab der JOIN-Konstrukte nicht aufgelöst werden."
 
-#: utils/misc/guc.c:1578
+#: utils/misc/guc.c:1570
 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."
 msgstr "Der Planer löst ausdrückliche JOIN-Konstrukte in FROM-Listen auf, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde."
 
-#: utils/misc/guc.c:1588
+#: utils/misc/guc.c:1580
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "Setzt die Anzahl der Elemente in der FROM-Liste, ab der GEQO verwendet wird."
 
-#: utils/misc/guc.c:1597
+#: utils/misc/guc.c:1589
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr "GEQO: wird für die Berechnung der Vorgabewerte anderer GEQO-Parameter verwendet."
 
-#: utils/misc/guc.c:1606
+#: utils/misc/guc.c:1598
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: Anzahl der Individien in der Bevölkerung."
 
-#: utils/misc/guc.c:1607 utils/misc/guc.c:1616
+#: utils/misc/guc.c:1599 utils/misc/guc.c:1608
 msgid "Zero selects a suitable default value."
 msgstr "Null wählt einen passenden Vorgabewert."
 
-#: utils/misc/guc.c:1615
+#: utils/misc/guc.c:1607
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: Anzahl der Iterationen im Algorithmus."
 
-#: utils/misc/guc.c:1626
+#: utils/misc/guc.c:1618
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Setzt die Zeit, die gewartet wird, bis auf Verklemmung geprüft wird."
 
-#: utils/misc/guc.c:1637
+#: utils/misc/guc.c:1629
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
 msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server archivierte WAL-Daten verarbeitet."
 
-#: utils/misc/guc.c:1648
+#: utils/misc/guc.c:1640
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server gestreamte WAL-Daten verarbeitet."
 
-#: utils/misc/guc.c:1659
+#: utils/misc/guc.c:1651
 msgid "Sets the maximum interval between WAL receiver status reports to the primary."
 msgstr "Setzt das maximale Intervall zwischen Statusberichten des WAL-Receivers an den Primärserver."
 
-#: utils/misc/guc.c:1670
+#: utils/misc/guc.c:1662
 msgid "Sets the maximum wait time to receive data from the primary."
 msgstr "Setzt die maximale Zeit, um auf den Empfang von Daten vom Primärserver zu warten."
 
-#: utils/misc/guc.c:1681
+#: utils/misc/guc.c:1673
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Setzt die maximale Anzahl gleichzeitiger Verbindungen."
 
-#: utils/misc/guc.c:1691
+#: utils/misc/guc.c:1683
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "Setzt die Anzahl der für Superuser reservierten Verbindungen."
 
-#: utils/misc/guc.c:1705
+#: utils/misc/guc.c:1697
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Setzt die Anzahl der vom Server verwendeten Shared-Memory-Puffer."
 
-#: utils/misc/guc.c:1716
+#: utils/misc/guc.c:1708
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Setzt die maximale Anzahl der von jeder Sitzung verwendeten temporären Puffer."
 
-#: utils/misc/guc.c:1727
+#: utils/misc/guc.c:1719
 msgid "Sets the TCP port the server listens on."
 msgstr "Setzt den TCP-Port, auf dem der Server auf Verbindungen wartet."
 
-#: utils/misc/guc.c:1737
+#: utils/misc/guc.c:1729
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Setzt die Zugriffsrechte für die Unix-Domain-Socket."
 
-#: utils/misc/guc.c:1738
+#: utils/misc/guc.c:1730
 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 accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Unix-Domain-Sockets verwenden die üblichen Zugriffsrechte für Unix-Dateisysteme. Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)"
 
-#: utils/misc/guc.c:1752
+#: utils/misc/guc.c:1744
 msgid "Sets the file permissions for log files."
 msgstr "Setzt die Dateizugriffsrechte für Logdateien."
 
-#: utils/misc/guc.c:1753
+#: utils/misc/guc.c:1745
 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 octal format the number must start with a 0 (zero).)"
 msgstr "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)"
 
-#: utils/misc/guc.c:1766
+#: utils/misc/guc.c:1758
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Setzt die maximale Speichergröße für Anfrage-Arbeitsbereiche."
 
-#: utils/misc/guc.c:1767
+#: utils/misc/guc.c:1759
 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
 msgstr "Gibt die Speichermenge an, die für interne Sortiervorgänge und Hashtabellen verwendet werden kann, bevor auf temporäre Dateien umgeschaltet wird."
 
-#: utils/misc/guc.c:1779
+#: utils/misc/guc.c:1771
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Setzt die maximale Speichergröße für Wartungsoperationen."
 
-#: utils/misc/guc.c:1780
+#: utils/misc/guc.c:1772
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Das schließt Operationen wie VACUUM und CREATE INDEX ein."
 
-#: utils/misc/guc.c:1795
+#: utils/misc/guc.c:1787
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Setzt die maximale Stackgröße, in Kilobytes."
 
-#: utils/misc/guc.c:1806
+#: utils/misc/guc.c:1798
 msgid "Limits the total size of all temporary files used by each session."
 msgstr "Beschränkt die Gesamtgröße aller temporären Dateien, die von einer Sitzung verwendet werden."
 
-#: utils/misc/guc.c:1807
+#: utils/misc/guc.c:1799
 msgid "-1 means no limit."
 msgstr "-1 bedeutet keine Grenze."
 
-#: utils/misc/guc.c:1817
+#: utils/misc/guc.c:1809
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Vacuum-Kosten für eine im Puffer-Cache gefundene Seite."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1819
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Vacuum-Kosten für eine nicht im Puffer-Cache gefundene Seite."
 
-#: utils/misc/guc.c:1837
+#: utils/misc/guc.c:1829
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Vacuum-Kosten für eine durch Vacuum schmutzig gemachte Seite."
 
-#: utils/misc/guc.c:1847
+#: utils/misc/guc.c:1839
 msgid "Vacuum cost amount available before napping."
 msgstr "Verfügbare Vacuum-Kosten vor Nickerchen."
 
-#: utils/misc/guc.c:1857
+#: utils/misc/guc.c:1849
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Vacuum-Kosten-Verzögerung in Millisekunden."
 
-#: utils/misc/guc.c:1868
+#: utils/misc/guc.c:1860
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Vacuum-Kosten-Verzögerung in Millisekunden, für Autovacuum."
 
-#: utils/misc/guc.c:1879
+#: utils/misc/guc.c:1871
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "Verfügbare Vacuum-Kosten vor Nickerchen, für Autovacuum."
 
-#: utils/misc/guc.c:1889
+#: utils/misc/guc.c:1881
 msgid "Sets the maximum number of simultaneously open files for each server process."
 msgstr "Setzt die maximale Zahl gleichzeitig geöffneter Dateien für jeden Serverprozess."
 
-#: utils/misc/guc.c:1902
+#: utils/misc/guc.c:1894
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Setzt die maximale Anzahl von gleichzeitig vorbereiteten Transaktionen."
 
-#: utils/misc/guc.c:1913
+#: utils/misc/guc.c:1905
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Setzt die minimale Tabellen-OID für das Verfolgen von Sperren."
 
-#: utils/misc/guc.c:1914
+#: utils/misc/guc.c:1906
 msgid "Is used to avoid output on system tables."
 msgstr "Wird verwendet, um Ausgabe für Systemtabellen zu vermeiden."
 
-#: utils/misc/guc.c:1923
+#: utils/misc/guc.c:1915
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Setzt die OID der Tabelle mit bedingungsloser Sperrenverfolgung."
 
-#: utils/misc/guc.c:1935
+#: utils/misc/guc.c:1927
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung."
 
-#: utils/misc/guc.c:1936 utils/misc/guc.c:1947
+#: utils/misc/guc.c:1928 utils/misc/guc.c:1939
 msgid "A value of 0 turns off the timeout."
 msgstr "Der Wert 0 schaltet die Zeitprüfung aus."
 
-#: utils/misc/guc.c:1946
+#: utils/misc/guc.c:1938
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Setzt die maximal erlaubte Dauer, um auf eine Sperre zu warten."
 
-#: utils/misc/guc.c:1957
+#: utils/misc/guc.c:1949
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "Mindestalter, bei dem VACUUM eine Tabellenzeile einfrieren soll."
 
-#: utils/misc/guc.c:1967
+#: utils/misc/guc.c:1959
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
 
-#: utils/misc/guc.c:1977
+#: utils/misc/guc.c:1969
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "Mindestalter, bei dem VACUUM eine MultiXactId in einer Tabellenzeile einfrieren soll."
 
-#: utils/misc/guc.c:1987
+#: utils/misc/guc.c:1979
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Multixact-Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
 
-#: utils/misc/guc.c:1997
+#: utils/misc/guc.c:1989
 msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
 msgstr "Anzahl Transaktionen, um die VACUUM- und HOT-Aufräumen aufgeschoben werden soll."
 
-#: utils/misc/guc.c:2010
+#: utils/misc/guc.c:2002
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Setzt die maximale Anzahl Sperren pro Transaktion."
 
-#: utils/misc/guc.c:2011
+#: utils/misc/guc.c:2003
 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 locked at any one time."
 msgstr "Die globale Sperrentabelle wird mit der Annahme angelegt, das höchstens max_locks_per_transaction * max_connections verschiedene Objekte gleichzeitig gesperrt werden müssen."
 
-#: utils/misc/guc.c:2022
+#: utils/misc/guc.c:2014
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Setzt die maximale Anzahl Prädikatsperren pro Transaktion."
 
-#: utils/misc/guc.c:2023
+#: utils/misc/guc.c:2015
 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 to be locked at any one time."
 msgstr "Die globale Prädikatsperrentabelle wird mit der Annahme angelegt, das höchstens max_pred_locks_per_transaction * max_connections verschiedene Objekte gleichzeitig gesperrt werden müssen."
 
-#: utils/misc/guc.c:2034
+#: utils/misc/guc.c:2026
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Setzt die maximale Zeit, um die Client-Authentifizierung zu beenden."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2038
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "Wartet beim Starten einer Verbindung N Sekunden vor der Authentifizierung."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2049
 msgid "Sets the number of WAL files held for standby servers."
 msgstr "Setzt die maximale Anzahl der für Standby-Server vorgehaltenen WAL-Dateien."
 
-#: utils/misc/guc.c:2067
+#: utils/misc/guc.c:2059
 msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
 msgstr "Setzt die maximale Anzahl Logsegmente zwischen automatischen WAL-Checkpoints."
 
-#: utils/misc/guc.c:2077
+#: utils/misc/guc.c:2069
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr "Setzt die maximale Zeit zwischen automatischen WAL-Checkpoints."
 
-#: utils/misc/guc.c:2088
+#: utils/misc/guc.c:2080
 msgid "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr "Schreibt eine Logmeldung, wenn Checkpoint-Segmente häufiger als dieser Wert gefüllt werden."
 
-#: utils/misc/guc.c:2090
+#: utils/misc/guc.c:2082
 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 seconds. Zero turns off the warning."
 msgstr "Schreibe Meldung in den Serverlog, wenn Checkpoints, die durch Füllen der Checkpoint-Segmente ausgelöst werden, häufiger als dieser Wert in Sekunden passieren. Null schaltet die Warnung ab."
 
-#: utils/misc/guc.c:2102
+#: utils/misc/guc.c:2094
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory."
 
-#: utils/misc/guc.c:2113
+#: utils/misc/guc.c:2105
 msgid "WAL writer sleep time between WAL flushes."
 msgstr "Schlafzeit zwischen WAL-Flush-Operationen des WAL-Writers."
 
-#: utils/misc/guc.c:2125
+#: utils/misc/guc.c:2117
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr "Setzt die maximale Anzahl gleichzeitig laufender WAL-Sender-Prozesse."
 
-#: utils/misc/guc.c:2136
+#: utils/misc/guc.c:2128
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Setzt die maximale Anzahl von gleichzeitig definierten Replikations-Slots."
 
-#: utils/misc/guc.c:2146
+#: utils/misc/guc.c:2138
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
 
-#: utils/misc/guc.c:2157
+#: utils/misc/guc.c:2149
 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr "Setzt die Verzögerung in Millisekunden zwischen Transaktionsabschluss und dem Schreiben von WAL auf die Festplatte."
 
-#: utils/misc/guc.c:2169
+#: utils/misc/guc.c:2161
 msgid "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr "Setzt die minimale Anzahl gleichzeitig offener Transaktionen bevor „commit_delay“ angewendet wird."
 
-#: utils/misc/guc.c:2180
+#: utils/misc/guc.c:2172
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Setzt die Anzahl ausgegebener Ziffern für Fließkommawerte."
 
-#: utils/misc/guc.c:2181
+#: utils/misc/guc.c:2173
 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 appropriate)."
 msgstr "Diese Einstellung betrifft real, double precision und geometrische Datentypen. Der Parameterwert wird zur Standardziffernanzahl (FLT_DIG bzw. DBL_DIG) hinzuaddiert."
 
-#: utils/misc/guc.c:2192
+#: utils/misc/guc.c:2184
 msgid "Sets the minimum execution time above which statements will be logged."
 msgstr "Setzt die minimale Ausführungszeit, über der Anweisungen geloggt werden."
 
-#: utils/misc/guc.c:2194
+#: utils/misc/guc.c:2186
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "Null zeigt alle Anfragen. -1 schaltet dieses Feature aus."
 
-#: utils/misc/guc.c:2204
+#: utils/misc/guc.c:2196
 msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr "Setzt die minimale Ausführungszeit, über der Autovacuum-Aktionen geloggt werden."
 
-#: utils/misc/guc.c:2206
+#: utils/misc/guc.c:2198
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "Null gibt alls Aktionen aus. -1 schaltet die Log-Aufzeichnung über Autovacuum aus."
 
-#: utils/misc/guc.c:2216
+#: utils/misc/guc.c:2208
 msgid "Background writer sleep time between rounds."
 msgstr "Schlafzeit zwischen Durchläufen des Background-Writers."
 
-#: utils/misc/guc.c:2227
+#: utils/misc/guc.c:2219
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr "Maximale Anzahl der vom Background-Writer pro Durchlauf zu flushenden LRU-Seiten."
 
-#: utils/misc/guc.c:2243
+#: utils/misc/guc.c:2235
 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
 msgstr "Anzahl simultaner Anfragen, die das Festplattensubsystem effizient bearbeiten kann."
 
-#: utils/misc/guc.c:2244
+#: utils/misc/guc.c:2236
 msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
 msgstr "Für RAID-Arrays sollte dies ungefähr die Anzahl Spindeln im Array sein."
 
-#: utils/misc/guc.c:2259
+#: utils/misc/guc.c:2251
 msgid "Maximum number of concurrent worker processes."
 msgstr "Maximale Anzahl gleichzeitiger Worker-Prozesse."
 
-#: utils/misc/guc.c:2269
+#: utils/misc/guc.c:2261
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr "Automatische Rotation der Logdateien geschieht nach N Minuten."
 
-#: utils/misc/guc.c:2280
+#: utils/misc/guc.c:2272
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr "Automatische Rotation der Logdateien geschieht nach N Kilobytes."
 
-#: utils/misc/guc.c:2291
+#: utils/misc/guc.c:2283
 msgid "Shows the maximum number of function arguments."
 msgstr "Setzt die maximale Anzahl von Funktionsargumenten."
 
-#: utils/misc/guc.c:2302
+#: utils/misc/guc.c:2294
 msgid "Shows the maximum number of index keys."
 msgstr "Zeigt die maximale Anzahl von Indexschlüsseln."
 
-#: utils/misc/guc.c:2313
+#: utils/misc/guc.c:2305
 msgid "Shows the maximum identifier length."
 msgstr "Zeigt die maximale Länge von Bezeichnern."
 
-#: utils/misc/guc.c:2324
+#: utils/misc/guc.c:2316
 msgid "Shows the size of a disk block."
 msgstr "Zeigt die Größe eines Diskblocks."
 
-#: utils/misc/guc.c:2335
+#: utils/misc/guc.c:2327
 msgid "Shows the number of pages per disk file."
 msgstr "Zeigt die Anzahl Seiten pro Diskdatei."
 
-#: utils/misc/guc.c:2346
+#: utils/misc/guc.c:2338
 msgid "Shows the block size in the write ahead log."
 msgstr "Zeigt die Blockgröße im Write-Ahead-Log."
 
-#: utils/misc/guc.c:2357
+#: utils/misc/guc.c:2349
 msgid "Shows the number of pages per write ahead log segment."
 msgstr "Zeit die Anzahl Seiten pro Write-Ahead-Log-Segment."
 
-#: utils/misc/guc.c:2370
+#: utils/misc/guc.c:2362
 msgid "Time to sleep between autovacuum runs."
 msgstr "Wartezeit zwischen Autovacuum-Durchläufen."
 
-#: utils/misc/guc.c:2380
+#: utils/misc/guc.c:2372
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Mindestanzahl an geänderten oder gelöschten Tupeln vor einem Vacuum."
 
-#: utils/misc/guc.c:2389
+#: utils/misc/guc.c:2381
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "Mindestanzahl an Einfüge-, Änderungs- oder Löschoperationen von einem Analyze."
 
-#: utils/misc/guc.c:2399
+#: utils/misc/guc.c:2391
 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr "Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:2410
+#: utils/misc/guc.c:2402
 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr "Multixact-Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:2420
+#: utils/misc/guc.c:2412
 msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
 msgstr "Setzt die maximale Anzahl gleichzeitig laufender Autovacuum-Worker-Prozesse."
 
-#: utils/misc/guc.c:2430
+#: utils/misc/guc.c:2422
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "Setzt die maximale Speichergröße für jeden Autovacuum-Worker-Prozess."
 
-#: utils/misc/guc.c:2441
+#: utils/misc/guc.c:2433
 msgid "Time between issuing TCP keepalives."
 msgstr "Zeit zwischen TCP-Keepalive-Sendungen."
 
-#: utils/misc/guc.c:2442 utils/misc/guc.c:2453
+#: utils/misc/guc.c:2434 utils/misc/guc.c:2445
 msgid "A value of 0 uses the system default."
 msgstr "Der Wert 0 verwendet die Systemvoreinstellung."
 
-#: utils/misc/guc.c:2452
+#: utils/misc/guc.c:2444
 msgid "Time between TCP keepalive retransmits."
 msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen."
 
-#: utils/misc/guc.c:2463
+#: utils/misc/guc.c:2455
 msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
 msgstr "Setzt die Traffic-Menge, die gesendet oder empfangen wird, bevor der Verschlüsselungsschlüssel neu ausgehandelt wird."
 
-#: utils/misc/guc.c:2474
+#: utils/misc/guc.c:2466
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Maximale Anzahl an TCP-Keepalive-Neuübertragungen."
 
-#: utils/misc/guc.c:2475
+#: utils/misc/guc.c:2467
 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 default."
 msgstr "Dies bestimmt die Anzahl von aufeinanderfolgenden Keepalive-Neuübertragungen, die verloren gehen dürfen, bis die Verbindung als tot betrachtet wird. Der Wert 0 verwendet die Betriebssystemvoreinstellung."
 
-#: utils/misc/guc.c:2486
+#: utils/misc/guc.c:2478
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Setzt die maximal erlaubte Anzahl Ergebnisse für eine genaue Suche mit GIN."
 
-#: utils/misc/guc.c:2497
+#: utils/misc/guc.c:2489
 msgid "Sets the planner's assumption about the size of the disk cache."
 msgstr "Setzt die Annahme des Planers über die Größe des Festplatten-Caches."
 
-#: utils/misc/guc.c:2498
+#: utils/misc/guc.c:2490
 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 "Setzt die Annahme des Planers über die effektive Größe des Diskcaches (das heißt des Teils des Diskcaches vom Kernel, der für die Datendateien von PostgreSQL verwendet wird). Das wird in Diskseiten gemessen, welche normalerweise 8 kB groß sind."
 
-#: utils/misc/guc.c:2511
+#: utils/misc/guc.c:2503
 msgid "Shows the server version as an integer."
 msgstr "Zeigt die Serverversion als Zahl."
 
-#: utils/misc/guc.c:2522
+#: utils/misc/guc.c:2514
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr "Schreibt Meldungen über die Verwendung von temporären Dateien in den Log, wenn sie größer als diese Anzahl an Kilobytes sind."
 
-#: utils/misc/guc.c:2523
+#: utils/misc/guc.c:2515
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr "Null loggt alle Dateien. Die Standardeinstellung ist -1 (wodurch dieses Feature ausgeschaltet wird)."
 
-#: utils/misc/guc.c:2533
+#: utils/misc/guc.c:2525
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Setzt die für pg_stat_activity.query reservierte Größe, in Bytes."
 
-#: utils/misc/guc.c:2557
+#: utils/misc/guc.c:2549
 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr "Setzt den vom Planer geschätzten Aufwand, um eine sequenzielle Diskseite zu lesen."
 
-#: utils/misc/guc.c:2567
+#: utils/misc/guc.c:2559
 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
 msgstr "Setzt den vom Planer geschätzten Aufwand, um eine nichtsequenzielle Diskseite zu lesen."
 
-#: utils/misc/guc.c:2577
+#: utils/misc/guc.c:2569
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung einer Zeile."
 
-#: utils/misc/guc.c:2587
+#: utils/misc/guc.c:2579
 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Indexeintrags während eines Index-Scans."
 
-#: utils/misc/guc.c:2597
+#: utils/misc/guc.c:2589
 msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Operators oder Funktionsaufrufs."
 
-#: utils/misc/guc.c:2608
+#: utils/misc/guc.c:2600
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgstr "Setzt den vom Planer geschätzten Anteil der Cursor-Zeilen, die ausgelesen werden werden."
 
-#: utils/misc/guc.c:2619
+#: utils/misc/guc.c:2611
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: selektiver Auswahldruck in der Bevölkerung."
 
-#: utils/misc/guc.c:2629
+#: utils/misc/guc.c:2621
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: Ausgangswert für die zufällige Pfadauswahl."
 
-#: utils/misc/guc.c:2639
+#: utils/misc/guc.c:2631
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "Vielfaches der durchschnittlichen freizugebenden Pufferverwendung pro Runde."
 
-#: utils/misc/guc.c:2649
+#: utils/misc/guc.c:2641
 msgid "Sets the seed for random-number generation."
 msgstr "Setzt den Ausgangswert für die Zufallszahlenerzeugung."
 
-#: utils/misc/guc.c:2660
+#: utils/misc/guc.c:2652
 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
 msgstr "Anzahl geänderter oder gelöschter Tupel vor einem Vacuum, relativ zu reltuples."
 
-#: utils/misc/guc.c:2669
+#: utils/misc/guc.c:2661
 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."
 msgstr "Anzahl eingefügter, geänderter oder gelöschter Tupel vor einem Analyze, relativ zu reltuples."
 
-#: utils/misc/guc.c:2679
+#: utils/misc/guc.c:2671
 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
 msgstr "Zeit, die damit verbracht wird, modifizierte Puffer während eines Checkpoints zurückzuschreiben, als Bruchteil des Checkpoint-Intervalls."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2690
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine WAL-Datei zu archivieren."
 
-#: utils/misc/guc.c:2708
+#: utils/misc/guc.c:2700
 msgid "Sets the client's character set encoding."
 msgstr "Setzt die Zeichensatzkodierung des Clients."
 
-#: utils/misc/guc.c:2719
+#: utils/misc/guc.c:2711
 msgid "Controls information prefixed to each log line."
 msgstr "Bestimmt die Informationen, die vor jede Logzeile geschrieben werden."
 
-#: utils/misc/guc.c:2720
+#: utils/misc/guc.c:2712
 msgid "If blank, no prefix is used."
 msgstr "Wenn leer, dann wird kein Präfix verwendet."
 
-#: utils/misc/guc.c:2729
+#: utils/misc/guc.c:2721
 msgid "Sets the time zone to use in log messages."
 msgstr "Setzt die in Logmeldungen verwendete Zeitzone."
 
-#: utils/misc/guc.c:2739
+#: utils/misc/guc.c:2731
 msgid "Sets the display format for date and time values."
 msgstr "Setzt das Ausgabeformat für Datums- und Zeitwerte."
 
-#: utils/misc/guc.c:2740
+#: utils/misc/guc.c:2732
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Kontrolliert auch die Interpretation von zweideutigen Datumseingaben."
 
-#: utils/misc/guc.c:2751
+#: utils/misc/guc.c:2743
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "Setzt den Standard-Tablespace für Tabellen und Indexe."
 
-#: utils/misc/guc.c:2752
+#: utils/misc/guc.c:2744
 msgid "An empty string selects the database's default tablespace."
 msgstr "Eine leere Zeichenkette wählt den Standard-Tablespace der Datenbank."
 
-#: utils/misc/guc.c:2762
+#: utils/misc/guc.c:2754
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr "Setzt den oder die Tablespaces für temporäre Tabellen und Sortierdateien."
 
-#: utils/misc/guc.c:2773
+#: utils/misc/guc.c:2765
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Setzt den Pfad für ladbare dynamische Bibliotheken."
 
-#: utils/misc/guc.c:2774
+#: utils/misc/guc.c:2766
 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 slash), the system will search this path for the specified file."
 msgstr "Wenn ein dynamisch ladbares Modul geöffnet werden muss und der angegebene Name keine Verzeichniskomponente hat (das heißt er enthält keinen Schrägstrich), dann sucht das System in diesem Pfad nach der angegebenen Datei."
 
-#: utils/misc/guc.c:2787
+#: utils/misc/guc.c:2779
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Setzt den Ort der Kerberos-Server-Schlüsseldatei."
 
-#: utils/misc/guc.c:2798
+#: utils/misc/guc.c:2790
 msgid "Sets the Bonjour service name."
 msgstr "Setzt den Bonjour-Servicenamen."
 
-#: utils/misc/guc.c:2810
+#: utils/misc/guc.c:2802
 msgid "Shows the collation order locale."
 msgstr "Zeigt die Locale für die Sortierreihenfolge."
 
-#: utils/misc/guc.c:2821
+#: utils/misc/guc.c:2813
 msgid "Shows the character classification and case conversion locale."
 msgstr "Zeigt die Locale für Zeichenklassifizierung und Groß-/Kleinschreibung."
 
-#: utils/misc/guc.c:2832
+#: utils/misc/guc.c:2824
 msgid "Sets the language in which messages are displayed."
 msgstr "Setzt die Sprache, in der Mitteilungen ausgegeben werden."
 
-#: utils/misc/guc.c:2842
+#: utils/misc/guc.c:2834
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Setzt die Locale für die Formatierung von Geldbeträgen."
 
-#: utils/misc/guc.c:2852
+#: utils/misc/guc.c:2844
 msgid "Sets the locale for formatting numbers."
 msgstr "Setzt die Locale für die Formatierung von Zahlen."
 
-#: utils/misc/guc.c:2862
+#: utils/misc/guc.c:2854
 msgid "Sets the locale for formatting date and time values."
 msgstr "Setzt die Locale für die Formatierung von Datums- und Zeitwerten."
 
-#: utils/misc/guc.c:2872
+#: utils/misc/guc.c:2864
 msgid "Lists shared libraries to preload into each backend."
 msgstr "Listet dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden."
 
-#: utils/misc/guc.c:2883
+#: utils/misc/guc.c:2875
 msgid "Lists shared libraries to preload into server."
 msgstr "Listet dynamische Bibliotheken, die vorab in den Server geladen werden."
 
-#: utils/misc/guc.c:2894
+#: utils/misc/guc.c:2886
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "Listet unprivilegierte dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden."
 
-#: utils/misc/guc.c:2905
+#: utils/misc/guc.c:2897
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Setzt die Schemasuchreihenfolge für Namen ohne Schemaqualifikation."
 
-#: utils/misc/guc.c:2917
+#: utils/misc/guc.c:2909
 msgid "Sets the server (database) character set encoding."
 msgstr "Setzt die Zeichensatzkodierung des Servers (der Datenbank)."
 
-#: utils/misc/guc.c:2929
+#: utils/misc/guc.c:2921
 msgid "Shows the server version."
 msgstr "Zeigt die Serverversion."
 
-#: utils/misc/guc.c:2941
+#: utils/misc/guc.c:2933
 msgid "Sets the current role."
 msgstr "Setzt die aktuelle Rolle."
 
-#: utils/misc/guc.c:2953
+#: utils/misc/guc.c:2945
 msgid "Sets the session user name."
 msgstr "Setzt den Sitzungsbenutzernamen."
 
-#: utils/misc/guc.c:2964
+#: utils/misc/guc.c:2956
 msgid "Sets the destination for server log output."
 msgstr "Setzt das Ziel für die Serverlogausgabe."
 
-#: utils/misc/guc.c:2965
+#: utils/misc/guc.c:2957
 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
 msgstr "Gültige Werte sind Kombinationen von „stderr“, „syslog“, „csvlog“ und „eventlog“, je nach Plattform."
 
-#: utils/misc/guc.c:2976
+#: utils/misc/guc.c:2968
 msgid "Sets the destination directory for log files."
 msgstr "Bestimmt das Zielverzeichnis für Logdateien."
 
-#: utils/misc/guc.c:2977
+#: utils/misc/guc.c:2969
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "Kann relativ zum Datenverzeichnis oder als absoluter Pfad angegeben werden."
 
-#: utils/misc/guc.c:2987
+#: utils/misc/guc.c:2979
 msgid "Sets the file name pattern for log files."
 msgstr "Bestimmt das Dateinamenmuster für Logdateien."
 
-#: utils/misc/guc.c:2998
+#: utils/misc/guc.c:2990
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Syslog identifiziert werden."
 
-#: utils/misc/guc.c:3009
+#: utils/misc/guc.c:3001
 msgid "Sets the application name used to identify PostgreSQL messages in the event log."
 msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Ereignisprotokoll identifiziert werden."
 
-#: utils/misc/guc.c:3020
+#: utils/misc/guc.c:3012
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "Setzt die Zeitzone, in der Zeitangaben interpretiert und ausgegeben werden."
 
-#: utils/misc/guc.c:3030
+#: utils/misc/guc.c:3022
 msgid "Selects a file of time zone abbreviations."
 msgstr "Wählt eine Datei mit Zeitzonenabkürzungen."
 
-#: utils/misc/guc.c:3040
+#: utils/misc/guc.c:3032
 msgid "Sets the current transaction's isolation level."
 msgstr "Zeigt den Isolationsgrad der aktuellen Transaktion."
 
-#: utils/misc/guc.c:3051
+#: utils/misc/guc.c:3043
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Setzt die Eigentümergruppe der Unix-Domain-Socket."
 
-#: utils/misc/guc.c:3052
+#: utils/misc/guc.c:3044
 msgid "The owning user of the socket is always the user that starts the server."
 msgstr "Der Eigentümer ist immer der Benutzer, der den Server startet."
 
-#: utils/misc/guc.c:3062
+#: utils/misc/guc.c:3054
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Setzt die Verzeichnisse, in denen Unix-Domain-Sockets erzeugt werden sollen."
 
-#: utils/misc/guc.c:3077
+#: utils/misc/guc.c:3069
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Setzt den Hostnamen oder die IP-Adresse(n), auf der auf Verbindungen gewartet wird."
 
-#: utils/misc/guc.c:3092
+#: utils/misc/guc.c:3084
 msgid "Sets the server's data directory."
 msgstr "Setzt das Datenverzeichnis des Servers."
 
-#: utils/misc/guc.c:3103
+#: utils/misc/guc.c:3095
 msgid "Sets the server's main configuration file."
 msgstr "Setzt die Hauptkonfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:3114
+#: utils/misc/guc.c:3106
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Setzt die „hba“-Konfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:3125
+#: utils/misc/guc.c:3117
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Setzt die „ident“-Konfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:3136
+#: utils/misc/guc.c:3128
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Schreibt die Postmaster-PID in die angegebene Datei."
 
-#: utils/misc/guc.c:3147
+#: utils/misc/guc.c:3139
 msgid "Location of the SSL server certificate file."
 msgstr "Ort der SSL-Serverzertifikatsdatei."
 
-#: utils/misc/guc.c:3157
+#: utils/misc/guc.c:3149
 msgid "Location of the SSL server private key file."
 msgstr "Setzt den Ort der Datei mit dem privaten SSL-Server-Schlüssel."
 
-#: utils/misc/guc.c:3167
+#: utils/misc/guc.c:3159
 msgid "Location of the SSL certificate authority file."
 msgstr "Ort der SSL-Certificate-Authority-Datei."
 
-#: utils/misc/guc.c:3177
+#: utils/misc/guc.c:3169
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Ort der SSL-Certificate-Revocation-List-Datei."
 
-#: utils/misc/guc.c:3187
+#: utils/misc/guc.c:3179
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "Schreibt temporäre Statistikdateien in das angegebene Verzeichnis."
 
-#: utils/misc/guc.c:3198
+#: utils/misc/guc.c:3190
 msgid "List of names of potential synchronous standbys."
 msgstr "Liste der Namen der möglichen synchronen Standbys."
 
-#: utils/misc/guc.c:3209
+#: utils/misc/guc.c:3201
 msgid "Sets default text search configuration."
 msgstr "Setzt die vorgegebene Textsuchekonfiguration."
 
-#: utils/misc/guc.c:3219
+#: utils/misc/guc.c:3211
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Setzt die Liste der erlaubten SSL-Verschlüsselungsalgorithmen."
 
-#: utils/misc/guc.c:3234
+#: utils/misc/guc.c:3226
 msgid "Sets the curve to use for ECDH."
 msgstr "Setzt die für ECDH zu verwendende Kurve."
 
-#: utils/misc/guc.c:3249
+#: utils/misc/guc.c:3241
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "Setzt den Anwendungsnamen, der in Statistiken und Logs verzeichnet wird."
 
-#: utils/misc/guc.c:3269
+#: utils/misc/guc.c:3261
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Bestimmt, ob „\\'“ in Zeichenkettenkonstanten erlaubt ist."
 
-#: utils/misc/guc.c:3279
+#: utils/misc/guc.c:3271
 msgid "Sets the output format for bytea."
 msgstr "Setzt das Ausgabeformat für bytea."
 
-#: utils/misc/guc.c:3289
+#: utils/misc/guc.c:3281
 msgid "Sets the message levels that are sent to the client."
 msgstr "Setzt die Meldungstypen, die an den Client gesendet werden."
 
-#: utils/misc/guc.c:3290 utils/misc/guc.c:3343 utils/misc/guc.c:3354
-#: utils/misc/guc.c:3410
+#: utils/misc/guc.c:3282 utils/misc/guc.c:3335 utils/misc/guc.c:3346
+#: utils/misc/guc.c:3402
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr "Jeder Wert schließt alle ihm folgenden Werte mit ein. Je weiter hinten der Wert steht, desto weniger Meldungen werden gesendet werden."
 
-#: utils/misc/guc.c:3300
+#: utils/misc/guc.c:3292
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "Ermöglicht dem Planer die Verwendung von Constraints, um Anfragen zu optimieren."
 
-#: utils/misc/guc.c:3301
+#: utils/misc/guc.c:3293
 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr "Tabellen-Scans werden übersprungen, wenn deren Constraints garantieren, dass keine Zeile mit der Abfrage übereinstimmt."
 
-#: utils/misc/guc.c:3311
+#: utils/misc/guc.c:3303
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Setzt den Transaktionsisolationsgrad neuer Transaktionen."
 
-#: utils/misc/guc.c:3321
+#: utils/misc/guc.c:3313
 msgid "Sets the display format for interval values."
 msgstr "Setzt das Ausgabeformat für Intervallwerte."
 
-#: utils/misc/guc.c:3332
+#: utils/misc/guc.c:3324
 msgid "Sets the verbosity of logged messages."
 msgstr "Setzt den Detailgrad von geloggten Meldungen."
 
-#: utils/misc/guc.c:3342
+#: utils/misc/guc.c:3334
 msgid "Sets the message levels that are logged."
 msgstr "Setzt die Meldungstypen, die geloggt werden."
 
-#: utils/misc/guc.c:3353
+#: utils/misc/guc.c:3345
 msgid "Causes all statements generating error at or above this level to be logged."
 msgstr "Schreibt alle Anweisungen, die einen Fehler auf dieser Stufe oder höher verursachen, in den Log."
 
-#: utils/misc/guc.c:3364
+#: utils/misc/guc.c:3356
 msgid "Sets the type of statements logged."
 msgstr "Setzt die Anweisungsarten, die geloggt werden."
 
-#: utils/misc/guc.c:3374
+#: utils/misc/guc.c:3366
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "Setzt die zu verwendende Syslog-„Facility“, wenn Syslog angeschaltet ist."
 
-#: utils/misc/guc.c:3389
+#: utils/misc/guc.c:3381
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr "Setzt das Sitzungsverhalten für Trigger und Regeln."
 
-#: utils/misc/guc.c:3399
+#: utils/misc/guc.c:3391
 msgid "Sets the current transaction's synchronization level."
 msgstr "Setzt den Synchronisationsgrad der aktuellen Transaktion."
 
-#: utils/misc/guc.c:3409
+#: utils/misc/guc.c:3401
 msgid "Enables logging of recovery-related debugging information."
 msgstr "Ermöglicht das Loggen von Debug-Informationen über die Wiederherstellung."
 
-#: utils/misc/guc.c:3425
+#: utils/misc/guc.c:3417
 msgid "Collects function-level statistics on database activity."
 msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität."
 
-#: utils/misc/guc.c:3435
+#: utils/misc/guc.c:3427
 msgid "Set the level of information written to the WAL."
 msgstr "Setzt den Umfang der in den WAL geschriebenen Informationen."
 
-#: utils/misc/guc.c:3445
+#: utils/misc/guc.c:3437
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Wählt die zu verwendende Implementierung von dynamischem Shared Memory."
 
-#: utils/misc/guc.c:3455
+#: utils/misc/guc.c:3447
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Wählt die Methode, um das Schreiben von WAL-Änderungen auf die Festplatte zu erzwingen."
 
-#: utils/misc/guc.c:3465
+#: utils/misc/guc.c:3457
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Setzt, wie binäre Werte in XML kodiert werden."
 
-#: utils/misc/guc.c:3475
+#: utils/misc/guc.c:3467
 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
 msgstr "Setzt, ob XML-Daten in impliziten Parse- und Serialisierungsoperationen als Dokument oder Fragment betrachtet werden sollen."
 
-#: utils/misc/guc.c:3486
+#: utils/misc/guc.c:3478
 msgid "Use of huge pages on Linux."
 msgstr "Huge Pages auf Linux verwenden."
 
-#: utils/misc/guc.c:4301
+#: utils/misc/guc.c:4293
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -20573,12 +20735,12 @@ msgstr ""
 "Sie müssen die Kommandozeilenoption --config-file oder -D angegeben oder\n"
 "die Umgebungsvariable PGDATA setzen.\n"
 
-#: utils/misc/guc.c:4320
+#: utils/misc/guc.c:4312
 #, c-format
 msgid "%s cannot access the server configuration file \"%s\": %s\n"
 msgstr "%s kann nicht auf die Serverkonfigurationsdatei „%s“ zugreifen: %s\n"
 
-#: utils/misc/guc.c:4348
+#: utils/misc/guc.c:4338
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -20588,7 +20750,7 @@ msgstr ""
 "zu finden sind.  Sie können dies mit „data_directory“ in „%s“, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:4396
+#: utils/misc/guc.c:4386
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -20598,7 +20760,7 @@ msgstr ""
 "Sie können dies mit „hba_file“ in „%s“, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:4419
+#: utils/misc/guc.c:4409
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -20608,142 +20770,142 @@ msgstr ""
 "Sie können dies mit „ident_file“ in „%s“, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:5011 utils/misc/guc.c:5191
+#: utils/misc/guc.c:5001 utils/misc/guc.c:5181
 msgid "Value exceeds integer range."
 msgstr "Wert überschreitet Bereich für ganze Zahlen."
 
-#: utils/misc/guc.c:5030
+#: utils/misc/guc.c:5020
 msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "Gültige Einheiten für diesen Parameter sind „kB“, „MB“, „GB“ und „TB“."
 
-#: utils/misc/guc.c:5105
+#: utils/misc/guc.c:5095
 msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr "Gültige Einheiten für diesen Parameter sind „ms“, „s“, „min“, „h“ und „d“."
 
-#: utils/misc/guc.c:5399 utils/misc/guc.c:5524 utils/misc/guc.c:6767
-#: utils/misc/guc.c:8964 utils/misc/guc.c:8998
+#: utils/misc/guc.c:5375 utils/misc/guc.c:5468 utils/misc/guc.c:6723
+#: utils/misc/guc.c:8942 utils/misc/guc.c:8976
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Parameter „%s“: „%s“"
 
-#: utils/misc/guc.c:5437
+#: utils/misc/guc.c:5404
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "Parameter „%s“ erfordert einen numerischen Wert"
 
-#: utils/misc/guc.c:5446
+#: utils/misc/guc.c:5413
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g ist außerhalb des gültigen Bereichs für Parameter „%s“ (%g ... %g)"
 
-#: utils/misc/guc.c:5612 utils/misc/guc.c:6334 utils/misc/guc.c:6386
-#: utils/misc/guc.c:6749 utils/misc/guc.c:7446 utils/misc/guc.c:7605
-#: utils/misc/guc.c:8784
+#: utils/misc/guc.c:5558 utils/misc/guc.c:6290 utils/misc/guc.c:6342
+#: utils/misc/guc.c:6700 utils/misc/guc.c:7424 utils/misc/guc.c:7583
+#: utils/misc/guc.c:8762
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "unbekannter Konfigurationsparameter „%s“"
 
-#: utils/misc/guc.c:5627 utils/misc/guc.c:6760
+#: utils/misc/guc.c:5573 utils/misc/guc.c:6711
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "Parameter „%s“ kann nicht geändert werden"
 
-#: utils/misc/guc.c:5660
+#: utils/misc/guc.c:5606
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "Parameter „%s“ kann jetzt nicht geändert werden"
 
-#: utils/misc/guc.c:5705
+#: utils/misc/guc.c:5651
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "Parameter „%s“ kann nach Start der Verbindung nicht geändert werden"
 
-#: utils/misc/guc.c:5715 utils/misc/guc.c:8800
+#: utils/misc/guc.c:5661 utils/misc/guc.c:8778
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "keine Berechtigung, um Parameter „%s“ zu setzen"
 
-#: utils/misc/guc.c:5753
+#: utils/misc/guc.c:5699
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "Parameter „%s“ kann nicht in einer Security-Definer-Funktion gesetzt werden"
 
-#: utils/misc/guc.c:6342 utils/misc/guc.c:6390 utils/misc/guc.c:7609
+#: utils/misc/guc.c:6298 utils/misc/guc.c:6346 utils/misc/guc.c:7587
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "nur Superuser können „%s“ ansehen"
 
-#: utils/misc/guc.c:6456
+#: utils/misc/guc.c:6412
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s darf nur ein Argument haben"
 
-#: utils/misc/guc.c:6713
+#: utils/misc/guc.c:6660
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "nur Superuser können den Befehl ALTER SYSTEM ausführen"
 
-#: utils/misc/guc.c:6946
+#: utils/misc/guc.c:6924
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT ist nicht implementiert"
 
-#: utils/misc/guc.c:7034
+#: utils/misc/guc.c:7012
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET benötigt Parameternamen"
 
-#: utils/misc/guc.c:7148
+#: utils/misc/guc.c:7126
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "Versuch, den Parameter „%s“ zu redefinieren"
 
-#: utils/misc/guc.c:8504
+#: utils/misc/guc.c:8482
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "konnte Wert von Parameter „%s“ nicht lesen"
 
-#: utils/misc/guc.c:8862 utils/misc/guc.c:8896
+#: utils/misc/guc.c:8840 utils/misc/guc.c:8874
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "ungültiger Wert für Parameter „%s“: %d"
 
-#: utils/misc/guc.c:8930
+#: utils/misc/guc.c:8908
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "ungültiger Wert für Parameter „%s“: %g"
 
-#: utils/misc/guc.c:9120
+#: utils/misc/guc.c:9098
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "„temp_buffers“ kann nicht geändert werden, nachdem in der Sitzung auf temporäre Tabellen zugriffen wurde."
 
-#: utils/misc/guc.c:9132
+#: utils/misc/guc.c:9110
 #, c-format
 msgid "SET AUTOCOMMIT TO OFF is no longer supported"
 msgstr "SET AUTOCOMMIT TO OFF wird nicht mehr unterstützt"
 
-#: utils/misc/guc.c:9144
+#: utils/misc/guc.c:9122
 #, c-format
 msgid "assertion checking is not supported by this build"
 msgstr "Assert-Prüfungen werden von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9157
+#: utils/misc/guc.c:9135
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9170
+#: utils/misc/guc.c:9148
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9182
+#: utils/misc/guc.c:9160
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Kann Parameter nicht einschalten, wenn „log_statement_stats“ an ist."
 
-#: utils/misc/guc.c:9194
+#: utils/misc/guc.c:9172
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr "Kann „log_statement_stats“ nicht einschalten, wenn „log_parser_stats“, „log_planner_stats“ oder „log_executor_stats“ an ist."
@@ -20858,16 +21020,21 @@ msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die einen Cu
 msgid "could not read block %ld of temporary file: %m"
 msgstr "konnte Block %ld von temporärer Datei nicht lesen: %m"
 
-#: utils/sort/tuplesort.c:3255
+#: utils/sort/tuplesort.c:3259
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "konnte Unique Index „%s“ nicht erstellen"
 
-#: utils/sort/tuplesort.c:3257
+#: utils/sort/tuplesort.c:3261
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "Schlüssel %s ist doppelt vorhanden."
 
+#: utils/sort/tuplesort.c:3262
+#, c-format
+msgid "Duplicate keys exist."
+msgstr "Es existieren doppelte Schlüssel."
+
 #: utils/sort/tuplestore.c:506 utils/sort/tuplestore.c:516
 #: utils/sort/tuplestore.c:843 utils/sort/tuplestore.c:947
 #: utils/sort/tuplestore.c:1011 utils/sort/tuplestore.c:1028
index a948c8fe56e3075b5252cc66157efc0c430ad80c..6cc7deb2ce8dab19b0cc904995aeb41ca08db2d3 100644 (file)
@@ -4,8 +4,8 @@
 # This file is distributed under the same license as the PostgreSQL package.
 #
 # Karim Mribti  <karim@mribti.com> 2002.
-# Alvaro Herrera <alvherre@alvh.no-ip.org> 2003-2012
-# Jaime Casanova <systemguards@gmail.com> 2005, 2006
+# Alvaro Herrera <alvherre@alvh.no-ip.org> 2003-2014
+# Jaime Casanova <systemguards@gmail.com> 2005, 2006, 2014
 # Emanuel Calvo Franco <postgres-arg@gmail.com> 2008
 #
 # Glosario:
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL server 9.3\n"
+"Project-Id-Version: PostgreSQL server 9.4\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2013-08-29 23:13+0000\n"
-"PO-Revision-Date: 2013-09-20 10:14-0300\n"
+"POT-Creation-Date: 2014-12-15 05:38+0000\n"
+"PO-Revision-Date: 2014-12-18 18:58-0300\n"
 "Last-Translator: Álvaro Herrera <alvherre@alvh.no-ip.org>\n"
 "Language-Team: PgSQL Español <pgsql-es-ayuda@postgresql.org>\n"
 "Language: es\n"
@@ -68,90 +68,194 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../port/chklocale.c:351 ../port/chklocale.c:357
+#: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
 #, c-format
-msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
-msgstr "no se pudo determinar la codificación para la configuración regional «%s»: el codeset es «%s»"
+msgid "could not identify current directory: %s"
+msgstr "no se pudo identificar el directorio actual: %s"
 
-#: ../port/chklocale.c:359
+#: ../common/exec.c:146
 #, c-format
-msgid "Please report this to <pgsql-bugs@postgresql.org>."
-msgstr "Por favor reporte esto a <pgsql-bugs@postgresql.org>."
+msgid "invalid binary \"%s\""
+msgstr "el binario «%s» no es válido"
 
-#: ../port/dirmod.c:217
+#: ../common/exec.c:195
 #, c-format
-msgid "could not set junction for \"%s\": %s"
-msgstr "no se pudo definir un junction para «%s»: %s"
+msgid "could not read binary \"%s\""
+msgstr "no se pudo leer el binario «%s»"
 
-#: ../port/dirmod.c:220
+#: ../common/exec.c:202
 #, c-format
-msgid "could not set junction for \"%s\": %s\n"
-msgstr "no se pudo definir un junction para «%s»: %s\n"
+msgid "could not find a \"%s\" to execute"
+msgstr "no se pudo encontrar un «%s» para ejecutar"
 
-#: ../port/dirmod.c:292
+#: ../common/exec.c:257 ../common/exec.c:293
 #, c-format
-msgid "could not get junction for \"%s\": %s"
-msgstr "no se pudo obtener junction para «%s»: %s"
+msgid "could not change directory to \"%s\": %s"
+msgstr "no se pudo cambiar el directorio a «%s»: %s"
 
-#: ../port/dirmod.c:295
+#: ../common/exec.c:272
 #, c-format
-msgid "could not get junction for \"%s\": %s\n"
-msgstr "no se pudo obtener junction para «%s»: %s\n"
+msgid "could not read symbolic link \"%s\""
+msgstr "no se pudo leer el enlace simbólico «%s»"
+
+#: ../common/exec.c:523
+#, c-format
+msgid "pclose failed: %s"
+msgstr "pclose falló: %s"
+
+#: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
+#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:598
+#: ../port/path.c:636 ../port/path.c:653
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../common/fe_memutils.c:77
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
 
-#: ../port/dirmod.c:377
+#: ../common/pgfnames.c:45
 #, c-format
 msgid "could not open directory \"%s\": %s\n"
 msgstr "no se pudo abrir el directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:414
+#: ../common/pgfnames.c:72
 #, c-format
 msgid "could not read directory \"%s\": %s\n"
 msgstr "no se pudo leer el directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:497
+#: ../common/pgfnames.c:84
+#, c-format
+msgid "could not close directory \"%s\": %s\n"
+msgstr "no se pudo cerrar el directorio «%s»: %s\n"
+
+#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
+#: ../port/path.c:651 access/transam/xlog.c:6123 lib/stringinfo.c:258
+#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1647
+#: postmaster/bgworker.c:267 postmaster/bgworker.c:783
+#: postmaster/postmaster.c:2173 postmaster/postmaster.c:2204
+#: postmaster/postmaster.c:3740 postmaster/postmaster.c:4441
+#: postmaster/postmaster.c:4526 postmaster/postmaster.c:5218
+#: postmaster/postmaster.c:5450 storage/buffer/buf_init.c:154
+#: storage/buffer/localbuf.c:396 storage/file/fd.c:458 storage/file/fd.c:855
+#: storage/file/fd.c:973 storage/file/fd.c:1586 storage/ipc/procarray.c:909
+#: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
+#: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
+#: utils/adt/formatting.c:1519 utils/adt/formatting.c:1639
+#: utils/adt/formatting.c:1760 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
+#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
+#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3571 utils/misc/guc.c:3587
+#: utils/misc/guc.c:3600 utils/misc/tzparser.c:470 utils/mmgr/aset.c:499
+#: utils/mmgr/aset.c:678 utils/mmgr/aset.c:872 utils/mmgr/aset.c:1114
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: ../common/relpath.c:59
+#, c-format
+msgid "invalid fork name"
+msgstr "nombre de «fork» no válido"
+
+#: ../common/relpath.c:60
+#, c-format
+msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
+msgstr "Los nombres de «fork» válidos son «main», «fsm», «vm» e «init»."
+
+#: ../common/rmtree.c:77
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:524 ../port/dirmod.c:541
+#: ../common/rmtree.c:104 ../common/rmtree.c:121
 #, c-format
 msgid "could not remove file or directory \"%s\": %s\n"
 msgstr "no se pudo eliminar el directorio «%s»: %s\n"
 
-#: ../port/exec.c:127 ../port/exec.c:241 ../port/exec.c:284
+#: ../common/username.c:45
 #, c-format
-msgid "could not identify current directory: %s"
-msgstr "no se pudo identificar el directorio actual: %s"
+msgid "could not look up effective user ID %ld: %s"
+msgstr "no se pudo encontrar el ID de usuario efectivo %ld: %s"
 
-#: ../port/exec.c:146
+#: ../common/username.c:47 libpq/auth.c:1594
+msgid "user does not exist"
+msgstr "usuario no existe"
+
+#: ../common/username.c:61
 #, c-format
-msgid "invalid binary \"%s\""
-msgstr "el binario «%s» no es válido"
+msgid "user name lookup failure: %s"
+msgstr "fallo en la búsqueda de usuario: %s"
 
-#: ../port/exec.c:195
+#: ../common/wait_error.c:47
 #, c-format
-msgid "could not read binary \"%s\""
-msgstr "no se pudo leer el binario «%s»"
+msgid "command not executable"
+msgstr "la orden no es ejecutable"
 
-#: ../port/exec.c:202
+#: ../common/wait_error.c:51
 #, c-format
-msgid "could not find a \"%s\" to execute"
-msgstr "no se pudo encontrar un «%s» para ejecutar"
+msgid "command not found"
+msgstr "orden no encontrada"
 
-#: ../port/exec.c:257 ../port/exec.c:293
+#: ../common/wait_error.c:56
 #, c-format
-msgid "could not change directory to \"%s\": %s"
-msgstr "no se pudo cambiar el directorio a «%s»: %s"
+msgid "child process exited with exit code %d"
+msgstr "el proceso hijo terminó con código de salida %d"
 
-#: ../port/exec.c:272
+#: ../common/wait_error.c:63
 #, c-format
-msgid "could not read symbolic link \"%s\""
-msgstr "no se pudo leer el enlace simbólico «%s»"
+msgid "child process was terminated by exception 0x%X"
+msgstr "el proceso hijo fue terminado por una excepción 0x%X"
 
-#: ../port/exec.c:523
+#: ../common/wait_error.c:73
 #, c-format
-msgid "pclose failed: %s"
-msgstr "pclose falló: %s"
+msgid "child process was terminated by signal %s"
+msgstr "el proceso hijo fue terminado por una señal %s"
+
+#: ../common/wait_error.c:77
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "el proceso hijo fue terminado por una señal %d"
+
+#: ../common/wait_error.c:82
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "el proceso hijo terminó con código no reconocido %d"
+
+#: ../port/chklocale.c:259
+#, c-format
+msgid "could not determine encoding for codeset \"%s\""
+msgstr "no se pudo determinar la codificación para el codeset «%s»"
+
+#: ../port/chklocale.c:260 ../port/chklocale.c:389
+#, c-format
+msgid "Please report this to <pgsql-bugs@postgresql.org>."
+msgstr "Por favor reporte esto a <pgsql-bugs@postgresql.org>."
+
+#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#, c-format
+msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
+msgstr "no se pudo determinar la codificación para la configuración regional «%s»: el codeset es «%s»"
+
+#: ../port/dirmod.c:216
+#, c-format
+msgid "could not set junction for \"%s\": %s"
+msgstr "no se pudo definir un junction para «%s»: %s"
+
+#: ../port/dirmod.c:219
+#, c-format
+msgid "could not set junction for \"%s\": %s\n"
+msgstr "no se pudo definir un junction para «%s»: %s\n"
+
+#: ../port/dirmod.c:291
+#, c-format
+msgid "could not get junction for \"%s\": %s"
+msgstr "no se pudo obtener junction para «%s»: %s"
+
+#: ../port/dirmod.c:294
+#, c-format
+msgid "could not get junction for \"%s\": %s\n"
+msgstr "no se pudo obtener junction para «%s»: %s\n"
 
 #: ../port/open.c:112
 #, c-format
@@ -176,57 +280,27 @@ msgstr "Reintentando durante 30 segundos."
 msgid "You might have antivirus, backup, or similar software interfering with the database system."
 msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar interfiriendo con el sistema de bases de datos."
 
+#: ../port/path.c:620
+#, c-format
+msgid "could not get current working directory: %s\n"
+msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
+
 #: ../port/strerror.c:25
 #, c-format
 msgid "unrecognized error %d"
 msgstr "código de error no reconocido: %d"
 
-#: ../port/wait_error.c:47
-#, c-format
-msgid "command not executable"
-msgstr "la orden no es ejecutable"
-
-#: ../port/wait_error.c:51
-#, c-format
-msgid "command not found"
-msgstr "orden no encontrada"
-
-#: ../port/wait_error.c:56
-#, c-format
-msgid "child process exited with exit code %d"
-msgstr "el proceso hijo terminó con código de salida %d"
-
-#: ../port/wait_error.c:63
-#, c-format
-msgid "child process was terminated by exception 0x%X"
-msgstr "el proceso hijo fue terminado por una excepción 0x%X"
-
-#: ../port/wait_error.c:73
-#, c-format
-msgid "child process was terminated by signal %s"
-msgstr "el proceso hijo fue terminado por una señal %s"
-
-#: ../port/wait_error.c:77
-#, c-format
-msgid "child process was terminated by signal %d"
-msgstr "el proceso hijo fue terminado por una señal %d"
-
-#: ../port/wait_error.c:82
-#, c-format
-msgid "child process exited with unrecognized status %d"
-msgstr "el proceso hijo terminó con código no reconocido %d"
-
-#: ../port/win32error.c:188
+#: ../port/win32error.c:189
 #, c-format
 msgid "mapped win32 error code %lu to %d"
 msgstr "código de error win32 %lu mapeado a %d"
 
-#: ../port/win32error.c:199
+#: ../port/win32error.c:201
 #, c-format
 msgid "unrecognized win32 error code: %lu"
 msgstr "código de error win32 no reconocido: %lu"
 
-#: access/common/heaptuple.c:645 access/common/heaptuple.c:1399
+#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas (%d) excede el límite (%d)"
@@ -236,68 +310,68 @@ msgstr "el número de columnas (%d) excede el límite (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas del índice (%d) excede el límite (%d)"
 
-#: access/common/indextuple.c:168 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:173 access/spgist/spgutils.c:605
 #, c-format
-msgid "index row requires %lu bytes, maximum size is %lu"
-msgstr "fila de índice requiere %lu bytes, tamaño máximo es %lu"
+msgid "index row requires %zu bytes, maximum size is %zu"
+msgstr "fila de índice requiere %zu bytes, tamaño máximo es %zu"
 
-#: access/common/printtup.c:278 tcop/fastpath.c:182 tcop/fastpath.c:571
-#: tcop/postgres.c:1673
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:571
+#: tcop/postgres.c:1672
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "código de formato no soportado: %d"
 
-#: access/common/reloptions.c:352
+#: access/common/reloptions.c:396
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "el límite de tipos de parámetros de relación definidos por el usuario ha sido excedido"
 
-#: access/common/reloptions.c:636
+#: access/common/reloptions.c:680
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET no debe incluir valores de parámetros"
 
-#: access/common/reloptions.c:669
+#: access/common/reloptions.c:713
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:913 parser/parse_clause.c:267
+#: access/common/reloptions.c:959 parser/parse_clause.c:268
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parámetro no reconocido «%s»"
 
-#: access/common/reloptions.c:938
+#: access/common/reloptions.c:984
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "el parámetro «%s» fue especificado más de una vez"
 
-#: access/common/reloptions.c:953
+#: access/common/reloptions.c:999
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valor no válido para la opción booleana «%s»: «%s»"
 
-#: access/common/reloptions.c:964
+#: access/common/reloptions.c:1010
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valor no válido para la opción entera «%s»: «%s»"
 
-#: access/common/reloptions.c:969 access/common/reloptions.c:987
+#: access/common/reloptions.c:1015 access/common/reloptions.c:1033
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "el valor %s está fuera del rango de la opción «%s»"
 
-#: access/common/reloptions.c:971
+#: access/common/reloptions.c:1017
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Los valores aceptables están entre «%d» y «%d»."
 
-#: access/common/reloptions.c:982
+#: access/common/reloptions.c:1028
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valor no válido para la opción de coma flotante «%s»: «%s»"
 
-#: access/common/reloptions.c:989
+#: access/common/reloptions.c:1035
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Valores aceptables están entre «%f» y «%f»."
@@ -322,42 +396,43 @@ msgstr "El atributo «%s» de tipo %s no coincide el atributo correspondiente de
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "El atributo «%s» de tipo %s no existe en el tipo %s."
 
-#: access/common/tupdesc.c:585 parser/parse_relation.c:1266
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1339
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la columna «%s» no puede ser declarada SETOF"
 
-#: access/gin/ginentrypage.c:100 access/nbtree/nbtinsert.c:540
-#: access/nbtree/nbtsort.c:485 access/spgist/spgdoinsert.c:1888
+#: access/gin/ginentrypage.c:108 access/gist/gist.c:1281
+#: access/nbtree/nbtinsert.c:545 access/nbtree/nbtsort.c:485
+#: access/spgist/spgdoinsert.c:1880
 #, c-format
-msgid "index row size %lu exceeds maximum %lu for index \"%s\""
-msgstr "el tamaño de fila de índice %lu excede el máximo %lu para el índice «%s»"
+msgid "index row size %zu exceeds maximum %zu for index \"%s\""
+msgstr "el tamaño de fila de índice %zu excede el máximo %zu para el índice «%s»"
 
-#: access/gin/ginscan.c:400
+#: access/gin/ginscan.c:402
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr "los índices GIN antiguos no soportan recorridos del índice completo ni búsquedas de nulos"
 
-#: access/gin/ginscan.c:401
+#: access/gin/ginscan.c:403
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Para corregir esto, ejecute REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:610 access/gist/gistvacuum.c:266
+#: access/gist/gist.c:624 access/gist/gistvacuum.c:266
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "el índice «%s» contiene una tupla interna marcada como no válida"
 
-#: access/gist/gist.c:612 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:626 access/gist/gistvacuum.c:268
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr "Esto es causado por una división de página incompleta durante una recuperación antes de actualizar a PostgreSQL 9.1."
 
-#: access/gist/gist.c:613 access/gist/gistutil.c:693
+#: access/gist/gist.c:627 access/gist/gistutil.c:693
 #: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:508 access/nbtree/nbtpage.c:519
+#: access/nbtree/nbtpage.c:509 access/nbtree/nbtpage.c:520
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
@@ -370,9 +445,9 @@ msgstr "valor no válido para la opción «buffering»"
 #: access/gist/gistbuild.c:255
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
-msgstr "Valores aceptables son «on», «off» y «auto»."
+msgstr "Los valores aceptables son «on», «off» y «auto»."
 
-#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:213
+#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:212
 #, c-format
 msgid "could not write block %ld of temporary file: %m"
 msgstr "no se pudo escribir el bloque %ld del archivo temporal: %m"
@@ -388,24 +463,24 @@ msgid "The index is not optimal. To optimize it, contact a developer, or try to
 msgstr "El índice no es óptimo.  Para optimizarlo, contacte un desarrollador o trate de usar la columna en segunda posición en la orden CREATE INDEX."
 
 #: access/gist/gistutil.c:690 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:505
+#: access/nbtree/nbtpage.c:506
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u"
 
 #: access/gist/gistutil.c:701 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:516
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:517
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "el índice «%s» contiene una página corrupta en el bloque %u"
 
 #: access/hash/hashinsert.c:68
 #, c-format
-msgid "index row size %lu exceeds hash maximum %lu"
-msgstr "el tamaño de fila de índice %lu excede el máximo para hash %lu"
+msgid "index row size %zu exceeds hash maximum %zu"
+msgstr "el tamaño de fila de índice %zu excede el máximo para hash %zu"
 
-#: access/hash/hashinsert.c:71 access/spgist/spgdoinsert.c:1892
-#: access/spgist/spgutils.c:667
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1884
+#: access/spgist/spgutils.c:666
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Valores mayores a una página del buffer no pueden ser indexados."
@@ -430,58 +505,138 @@ msgstr "el índice «%s» no es un índice hash"
 msgid "index \"%s\" has wrong hash version"
 msgstr "el índice «%s» tiene una versión de hash incorrecta"
 
-#: access/heap/heapam.c:1197 access/heap/heapam.c:1225
-#: access/heap/heapam.c:1257 catalog/aclchk.c:1742
+#: access/heap/heapam.c:1199 access/heap/heapam.c:1227
+#: access/heap/heapam.c:1259 catalog/aclchk.c:1742
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
-#: access/heap/heapam.c:1202 access/heap/heapam.c:1230
-#: access/heap/heapam.c:1262 catalog/aclchk.c:1749 commands/tablecmds.c:8208
-#: commands/tablecmds.c:10524
+#: access/heap/heapam.c:1204 access/heap/heapam.c:1232
+#: access/heap/heapam.c:1264 catalog/aclchk.c:1749 commands/tablecmds.c:8495
+#: commands/tablecmds.c:11279
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
 
-#: access/heap/heapam.c:4011 access/heap/heapam.c:4223
-#: access/heap/heapam.c:4278
+#: access/heap/heapam.c:4223 access/heap/heapam.c:4436
+#: access/heap/heapam.c:4493 executor/execMain.c:1992
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
 
-#: access/heap/hio.c:240 access/heap/rewriteheap.c:603
+#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#, c-format
+msgid "row is too big: size %zu, maximum size %zu"
+msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu"
+
+#: access/heap/rewriteheap.c:932
+#, c-format
+msgid "could not write to file \"%s\", wrote %d of %d: %m"
+msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m"
+
+#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
+#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
+#: access/transam/timeline.c:497 access/transam/xlog.c:3185
+#: access/transam/xlog.c:3315 replication/logical/snapbuild.c:1592
+#: replication/slot.c:1042 replication/slot.c:1131 storage/file/fd.c:436
+#: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
+#: utils/misc/guc.c:6599
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/transam/timeline.c:315 access/transam/timeline.c:475
+#: access/transam/xlog.c:3141 access/transam/xlog.c:3276
+#: access/transam/xlog.c:9915 access/transam/xlog.c:10230
+#: postmaster/postmaster.c:4216 replication/slot.c:999
+#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "no se pudo crear archivo «%s»: %m"
+
+#: access/heap/rewriteheap.c:1157
+#, c-format
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "no se pudo truncar el archivo «%s» a %u: %m"
+
+#: access/heap/rewriteheap.c:1164 replication/walsender.c:465
+#: storage/smgr/md.c:1782
+#, c-format
+msgid "could not seek to end of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
+
+#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
+#: access/transam/timeline.c:401 access/transam/timeline.c:491
+#: access/transam/xlog.c:3176 access/transam/xlog.c:3308
+#: postmaster/postmaster.c:4226 postmaster/postmaster.c:4236
+#: replication/logical/snapbuild.c:1576 replication/slot.c:1028
+#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6567
+#: utils/misc/guc.c:6592 utils/misc/guc.c:8290 utils/misc/guc.c:8304
+#: utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "no se pudo escribir a archivo «%s»: %m"
+
+#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10099
+#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
+#: replication/logical/reorderbuffer.c:2352
+#: replication/logical/reorderbuffer.c:2409
+#: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
+#: replication/slot.c:1105 storage/ipc/dsm.c:326 storage/smgr/md.c:404
+#: storage/smgr/md.c:453 storage/smgr/md.c:1317
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "no se pudo eliminar el archivo «%s»: %m"
+
+#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:111
+#: access/transam/timeline.c:236 access/transam/timeline.c:334
+#: access/transam/xlog.c:3117 access/transam/xlog.c:3224
+#: access/transam/xlog.c:3261 access/transam/xlog.c:3536
+#: access/transam/xlog.c:3614 replication/basebackup.c:458
+#: replication/basebackup.c:1167 replication/logical/logicalfuncs.c:152
+#: replication/logical/reorderbuffer.c:1965
+#: replication/logical/reorderbuffer.c:2172
+#: replication/logical/reorderbuffer.c:2801
+#: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
+#: replication/slot.c:1120 replication/walsender.c:458
+#: replication/walsender.c:2094 storage/file/copydir.c:155
+#: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
+#: utils/error/elog.c:1797 utils/init/miscinit.c:992
+#: utils/init/miscinit.c:1121 utils/misc/guc.c:6795 utils/misc/guc.c:6813
 #, c-format
-msgid "row is too big: size %lu, maximum size %lu"
-msgstr "fila es demasiado grande: tamaño %lu, tamaño máximo %lu"
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
 
-#: access/index/indexam.c:169 catalog/objectaddress.c:842
-#: commands/indexcmds.c:1738 commands/tablecmds.c:231
-#: commands/tablecmds.c:10515
+#: access/index/indexam.c:172 catalog/objectaddress.c:855
+#: commands/indexcmds.c:1725 commands/tablecmds.c:232
+#: commands/tablecmds.c:11270
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
 
-#: access/nbtree/nbtinsert.c:392
+#: access/nbtree/nbtinsert.c:396
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "llave duplicada viola restricción de unicidad «%s»"
 
-#: access/nbtree/nbtinsert.c:394
+#: access/nbtree/nbtinsert.c:398
 #, c-format
 msgid "Key %s already exists."
 msgstr "Ya existe la llave %s."
 
-#: access/nbtree/nbtinsert.c:462
+#: access/nbtree/nbtinsert.c:466
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "no se pudo volver a encontrar la tupla dentro del índice «%s»"
 
-#: access/nbtree/nbtinsert.c:464
+#: access/nbtree/nbtinsert.c:468
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Esto puede deberse a una expresión de índice no inmutable."
 
-#: access/nbtree/nbtinsert.c:544 access/nbtree/nbtsort.c:489
+#: access/nbtree/nbtinsert.c:548 access/nbtree/nbtsort.c:488
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -490,30 +645,40 @@ msgstr ""
 "Valores mayores a 1/3 de la página del buffer no pueden ser indexados.\n"
 "Considere un índice sobre una función que genere un hash MD5 del valor, o utilice un esquema de indexación de texto completo."
 
-#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:361
-#: access/nbtree/nbtpage.c:448 parser/parse_utilcmd.c:1625
+#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:362
+#: access/nbtree/nbtpage.c:449 parser/parse_utilcmd.c:1620
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "el índice «%s» no es un btree"
 
-#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:367
-#: access/nbtree/nbtpage.c:454
+#: access/nbtree/nbtpage.c:172 access/nbtree/nbtpage.c:368
+#: access/nbtree/nbtpage.c:455
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d"
 
-#: access/spgist/spgutils.c:664
+#: access/nbtree/nbtpage.c:1187
+#, c-format
+msgid "index \"%s\" contains a half-dead internal page"
+msgstr "el índice «%s» contiene una página interna parcialmente muerta"
+
+#: access/nbtree/nbtpage.c:1189
+#, c-format
+msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
+msgstr "Esto puede ser causado por la interrupción de un VACUUM en la versión 9.3 o anteriores, antes de actualizar. Ejecute REINDEX por favor."
+
+#: access/spgist/spgutils.c:663
 #, c-format
-msgid "SP-GiST inner tuple size %lu exceeds maximum %lu"
-msgstr "el tamaño de tupla interna SP-GiST %lu excede el máximo %lu"
+msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
+msgstr "el tamaño de tupla interna SP-GiST %zu excede el máximo %zu"
 
-#: access/transam/multixact.c:924
+#: access/transam/multixact.c:990
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
 msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones en la base de datos «%s»"
 
-#: access/transam/multixact.c:926 access/transam/multixact.c:933
-#: access/transam/multixact.c:948 access/transam/multixact.c:957
+#: access/transam/multixact.c:992 access/transam/multixact.c:999
+#: access/transam/multixact.c:1014 access/transam/multixact.c:1023
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -522,43 +687,43 @@ msgstr ""
 "Ejecute VACUUM en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
 
-#: access/transam/multixact.c:931
+#: access/transam/multixact.c:997
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/multixact.c:943 access/transam/multixact.c:2036
+#: access/transam/multixact.c:1009 access/transam/multixact.c:2201
 #, 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] "base de datos «%s» debe ser limpiada antes de que %u más MultiXactId sea usado"
 msgstr[1] "base de datos «%s» debe ser limpiada dentro de que %u más MultiXactIds sean usados"
 
-#: access/transam/multixact.c:952 access/transam/multixact.c:2045
+#: access/transam/multixact.c:1018 access/transam/multixact.c:2210
 #, 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"
 msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactId sea usado"
 msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactIds sean usados"
 
-#: access/transam/multixact.c:1102
+#: access/transam/multixact.c:1169
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
 
-#: access/transam/multixact.c:1110
+#: access/transam/multixact.c:1177
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "el MultiXactId %u no se ha creado aún -- aparente problema por reciclaje"
 
-#: access/transam/multixact.c:2001
+#: access/transam/multixact.c:2166
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "el límite para el reciclaje de MultiXactId es %u, limitado por base de datos con OID %u"
 
-#: access/transam/multixact.c:2041 access/transam/multixact.c:2050
+#: access/transam/multixact.c:2206 access/transam/multixact.c:2215
 #: access/transam/varsup.c:137 access/transam/varsup.c:144
-#: access/transam/varsup.c:373 access/transam/varsup.c:380
+#: access/transam/varsup.c:374 access/transam/varsup.c:381
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
@@ -567,7 +732,7 @@ msgstr ""
 "Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
 
-#: access/transam/multixact.c:2498
+#: access/transam/multixact.c:2799
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "el MultiXactId no es válido: %u"
@@ -619,274 +784,235 @@ msgstr "No se pudo cerrar el archivo «%s»: %m."
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones"
 
-#: access/transam/slru.c:1245 access/transam/slru.c:1263
+#: access/transam/slru.c:1220
 #, c-format
 msgid "removing file \"%s\""
 msgstr "eliminando el archivo «%s»"
 
-#: access/transam/timeline.c:110 access/transam/timeline.c:235
-#: access/transam/timeline.c:333 access/transam/xlog.c:2271
-#: access/transam/xlog.c:2384 access/transam/xlog.c:2421
-#: access/transam/xlog.c:2696 access/transam/xlog.c:2774
-#: replication/basebackup.c:374 replication/basebackup.c:1000
-#: replication/walsender.c:368 replication/walsender.c:1326
-#: storage/file/copydir.c:158 storage/file/copydir.c:248 storage/smgr/md.c:587
-#: storage/smgr/md.c:845 utils/error/elog.c:1650 utils/init/miscinit.c:1063
-#: utils/init/miscinit.c:1192
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: access/transam/timeline.c:147 access/transam/timeline.c:152
+#: access/transam/timeline.c:148 access/transam/timeline.c:153
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "error de sintaxis en archivo de historia: %s"
 
-#: access/transam/timeline.c:148
+#: access/transam/timeline.c:149
 #, c-format
 msgid "Expected a numeric timeline ID."
 msgstr "Se esperaba un ID numérico de timeline."
 
-#: access/transam/timeline.c:153
+#: access/transam/timeline.c:154
 #, c-format
 msgid "Expected a transaction log switchpoint location."
 msgstr "Se esperaba una ubicación de punto de cambio del registro de transacciones."
 
-#: access/transam/timeline.c:157
+#: access/transam/timeline.c:158
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "datos no válidos en archivo de historia: %s"
 
-#: access/transam/timeline.c:158
+#: access/transam/timeline.c:159
 #, c-format
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "IDs de timeline deben ser una secuencia creciente."
 
-#: access/transam/timeline.c:178
+#: access/transam/timeline.c:179
 #, c-format
 msgid "invalid data in history file \"%s\""
 msgstr "datos no válidos en archivo de historia «%s»"
 
-#: access/transam/timeline.c:179
+#: access/transam/timeline.c:180
 #, c-format
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 
-#: access/transam/timeline.c:314 access/transam/timeline.c:471
-#: access/transam/xlog.c:2305 access/transam/xlog.c:2436
-#: access/transam/xlog.c:8687 access/transam/xlog.c:9004
-#: postmaster/postmaster.c:4092 storage/file/copydir.c:165
-#: storage/smgr/md.c:305 utils/time/snapmgr.c:861
-#, c-format
-msgid "could not create file \"%s\": %m"
-msgstr "no se pudo crear archivo «%s»: %m"
-
-#: access/transam/timeline.c:345 access/transam/xlog.c:2449
-#: access/transam/xlog.c:8855 access/transam/xlog.c:8868
-#: access/transam/xlog.c:9236 access/transam/xlog.c:9279
-#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:605
-#: replication/walsender.c:393 storage/file/copydir.c:179
-#: utils/adt/genfile.c:139
+#: access/transam/timeline.c:346 access/transam/xlog.c:3289
+#: access/transam/xlog.c:10081 access/transam/xlog.c:10094
+#: access/transam/xlog.c:10462 access/transam/xlog.c:10505
+#: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
+#: replication/logical/reorderbuffer.c:2819 replication/walsender.c:483
+#: storage/file/copydir.c:176 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: access/transam/timeline.c:366 access/transam/timeline.c:400
-#: access/transam/timeline.c:487 access/transam/xlog.c:2335
-#: access/transam/xlog.c:2468 postmaster/postmaster.c:4102
-#: postmaster/postmaster.c:4112 storage/file/copydir.c:190
-#: utils/init/miscinit.c:1128 utils/init/miscinit.c:1137
-#: utils/init/miscinit.c:1144 utils/misc/guc.c:7596 utils/misc/guc.c:7610
-#: utils/time/snapmgr.c:866 utils/time/snapmgr.c:873
-#, c-format
-msgid "could not write to file \"%s\": %m"
-msgstr "no se pudo escribir a archivo «%s»: %m"
-
-#: access/transam/timeline.c:406 access/transam/timeline.c:493
-#: access/transam/xlog.c:2345 access/transam/xlog.c:2475
-#: storage/file/copydir.c:262 storage/smgr/md.c:967 storage/smgr/md.c:1198
-#: storage/smgr/md.c:1371
-#, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
-
-#: access/transam/timeline.c:411 access/transam/timeline.c:498
-#: access/transam/xlog.c:2351 access/transam/xlog.c:2480
-#: access/transam/xlogfuncs.c:611 commands/copy.c:1469
-#: storage/file/copydir.c:204
+#: access/transam/timeline.c:412 access/transam/timeline.c:502
+#: access/transam/xlog.c:3191 access/transam/xlog.c:3320
+#: access/transam/xlogfuncs.c:493 commands/copy.c:1518
+#: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
 
-#: access/transam/timeline.c:428 access/transam/timeline.c:515
+#: access/transam/timeline.c:429 access/transam/timeline.c:519
 #, c-format
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
 
-#: access/transam/timeline.c:435 access/transam/timeline.c:522
-#: access/transam/xlog.c:4474 access/transam/xlog.c:5351
-#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:474
-#: access/transam/xlogarchive.c:581 postmaster/pgarch.c:756
-#: utils/time/snapmgr.c:884
+#: access/transam/timeline.c:436 access/transam/timeline.c:526
+#: access/transam/xlog.c:5403 access/transam/xlog.c:6496
+#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
+#: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
+#: replication/logical/snapbuild.c:1606 replication/slot.c:468
+#: replication/slot.c:942 replication/slot.c:1054 utils/misc/guc.c:6843
+#: utils/time/snapmgr.c:999
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 
-#: access/transam/timeline.c:594
+#: access/transam/timeline.c:598
 #, c-format
 msgid "requested timeline %u is not in this server's history"
 msgstr "el timeline %u solicitado no está en la historia de este servidor"
 
-#: access/transam/twophase.c:253
+#: access/transam/twophase.c:330
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "identificador de transacción «%s» es demasiado largo"
 
-#: access/transam/twophase.c:260
+#: access/transam/twophase.c:337
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "las transacciones preparadas están deshabilitadas"
 
-#: access/transam/twophase.c:261
+#: access/transam/twophase.c:338
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Defina max_prepared_transactions a un valor distinto de cero."
 
-#: access/transam/twophase.c:294
+#: access/transam/twophase.c:357
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:303
+#: access/transam/twophase.c:366
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:304
+#: access/transam/twophase.c:367
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Incremente max_prepared_transactions (actualmente es %d)."
 
-#: access/transam/twophase.c:431
+#: access/transam/twophase.c:505
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "transacción preparada con identificador «%s» está ocupada"
 
-#: access/transam/twophase.c:439
+#: access/transam/twophase.c:511
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "permiso denegado para finalizar la transacción preparada"
 
-#: access/transam/twophase.c:440
+#: access/transam/twophase.c:512
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Debe ser superusuario o el usuario que preparó la transacción."
 
-#: access/transam/twophase.c:451
+#: access/transam/twophase.c:523
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transacción preparada pertenece a otra base de datos"
 
-#: access/transam/twophase.c:452
+#: access/transam/twophase.c:524
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr "Conéctese a la base de datos donde la transacción fue preparada para terminarla."
 
-#: access/transam/twophase.c:466
+#: access/transam/twophase.c:539
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "transacción preparada con identificador «%s» no existe"
 
-#: access/transam/twophase.c:969
+#: access/transam/twophase.c:1042
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "el largo máximo del archivo de estado de COMMIT en dos fases fue excedido"
 
-#: access/transam/twophase.c:982
+#: access/transam/twophase.c:1055
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr "no se pudo crear el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:996 access/transam/twophase.c:1013
-#: access/transam/twophase.c:1062 access/transam/twophase.c:1482
-#: access/transam/twophase.c:1489
+#: access/transam/twophase.c:1069 access/transam/twophase.c:1086
+#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
+#: access/transam/twophase.c:1571
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "no se pudo escribir el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1022
+#: access/transam/twophase.c:1095
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr "no se pudo posicionar (seek) en el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1068 access/transam/twophase.c:1507
+#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "no se pudo cerrar el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1148 access/transam/twophase.c:1588
+#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1165
+#: access/transam/twophase.c:1245
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
-msgstr "no se pudo verificar (stat) el archivo de estado de COMMIT en dos fases «%s»: %m"
+msgstr "no se pudo hacer stat al archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1197
+#: access/transam/twophase.c:1277
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "no se pudo leer el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1293
+#: access/transam/twophase.c:1373
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr "el archivo de estado de COMMIT en dos fases para la transacción %u está dañado"
 
-#: access/transam/twophase.c:1444
+#: access/transam/twophase.c:1526
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1473
+#: access/transam/twophase.c:1555
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "no se pudo recrear el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1501
+#: access/transam/twophase.c:1583
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1597
+#: access/transam/twophase.c:1679
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1604
+#: access/transam/twophase.c:1686
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1669
+#: access/transam/twophase.c:1751
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "eliminando archivo futuro de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1685 access/transam/twophase.c:1696
-#: access/transam/twophase.c:1815 access/transam/twophase.c:1826
-#: access/transam/twophase.c:1899
+#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
+#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
+#: access/transam/twophase.c:1981
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "eliminando archivo dañado de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1804 access/transam/twophase.c:1888
+#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "eliminando archivo obsoleto de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1906
+#: access/transam/twophase.c:1988
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "recuperando transacción preparada %u"
@@ -899,7 +1025,7 @@ msgstr "la base de datos no está aceptando órdenes para evitar pérdida de dat
 #: access/transam/varsup.c:117 access/transam/varsup.c:124
 #, c-format
 msgid ""
-"Stop the postmaster and use a standalone backend to vacuum that database.\n"
+"Stop the postmaster and vacuum that database in single-user mode.\n"
 "You might also need to commit or roll back old prepared transactions."
 msgstr ""
 "Detenga el proceso postmaster y utilice una conexión aislada (standalone) para limpiar (vacuum) esa base de datos.\n"
@@ -910,1093 +1036,1107 @@ msgstr ""
 msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u"
 msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/varsup.c:134 access/transam/varsup.c:370
+#: access/transam/varsup.c:134 access/transam/varsup.c:371
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr "base de datos «%s» debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/varsup.c:141 access/transam/varsup.c:377
+#: access/transam/varsup.c:141 access/transam/varsup.c:378
 #, c-format
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr "base de datos con OID %u debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/varsup.c:335
+#: access/transam/varsup.c:336
 #, c-format
 msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 msgstr "el límite para el reciclaje de ID de transacciones es %u, limitado por base de datos con OID %u"
 
-#: access/transam/xact.c:774
+#: access/transam/xact.c:814
 #, c-format
-msgid "cannot have more than 2^32-1 commands in a transaction"
-msgstr "no se pueden tener más de 2^32-1 órdenes en una transacción"
+msgid "cannot have more than 2^32-2 commands in a transaction"
+msgstr "no se pueden tener más de 2^32-2 órdenes en una transacción"
 
-#: access/transam/xact.c:1322
+#: access/transam/xact.c:1370
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "se superó el número máximo de subtransacciones comprometidas (%d)"
 
-#: access/transam/xact.c:2102
+#: access/transam/xact.c:2151
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr "no se puede hacer PREPARE de una transacción que ha operado en tablas temporales"
 
-#: access/transam/xact.c:2112
+#: access/transam/xact.c:2161
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "no se puede hacer PREPARE de una transacción que ha exportado snapshots"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2921
+#: access/transam/xact.c:3000
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s no puede ser ejecutado dentro de un bloque de transacción"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2931
+#: access/transam/xact.c:3010
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s no puede ser ejecutado dentro de una subtransacción"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2941
+#: access/transam/xact.c:3020
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr "la orden %s no puede ser ejecutada desde una función o una línea con múltiples órdenes"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2992
+#: access/transam/xact.c:3091
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "la orden %s sólo puede ser usada en bloques de transacción"
 
-#: access/transam/xact.c:3174
+#: access/transam/xact.c:3274
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3342 access/transam/xact.c:3435
+#: access/transam/xact.c:3442 access/transam/xact.c:3535
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:3531 access/transam/xact.c:3582
-#: access/transam/xact.c:3588 access/transam/xact.c:3632
-#: access/transam/xact.c:3681 access/transam/xact.c:3687
+#: access/transam/xact.c:3631 access/transam/xact.c:3682
+#: access/transam/xact.c:3688 access/transam/xact.c:3732
+#: access/transam/xact.c:3781 access/transam/xact.c:3787
 #, c-format
 msgid "no such savepoint"
 msgstr "no hay un savepoint con ese nombre"
 
-#: access/transam/xact.c:4344
+#: access/transam/xact.c:4464
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "no se pueden tener más de 2^32-1 subtransacciones en una transacción"
 
-#: access/transam/xlog.c:1616
+#: access/transam/xlog.c:2416
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "no se pudo posicionar (seek) en el archivo «%s» a la posición %u: %m"
 
-#: access/transam/xlog.c:1633
+#: access/transam/xlog.c:2436
 #, c-format
-msgid "could not write to log file %s at offset %u, length %lu: %m"
-msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %lu: %m"
+msgid "could not write to log file %s at offset %u, length %zu: %m"
+msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m"
 
-#: access/transam/xlog.c:1877
+#: access/transam/xlog.c:2712
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "el punto mínimo de recuperación fue actualizado a %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:2452
+#: access/transam/xlog.c:3292
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "los datos del archivo «%s» son insuficientes"
 
-#: access/transam/xlog.c:2571
+#: access/transam/xlog.c:3411
 #, c-format
 msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr "no se pudo enlazar (link) el archivo «%s» a «%s» (inicialización de archivo de registro): %m"
 
-#: access/transam/xlog.c:2583
+#: access/transam/xlog.c:3423
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr "no se pudo renombrar archivo de «%s» a «%s» (inicialización de archivo de registro): %m"
 
-#: access/transam/xlog.c:2611
+#: access/transam/xlog.c:3451
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:2800
+#: access/transam/xlog.c:3640
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "no se pudo cerrar el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:2859 replication/walsender.c:1321
+#: access/transam/xlog.c:3699 replication/logical/logicalfuncs.c:147
+#: replication/walsender.c:2089
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "el segmento de WAL solicitado %s ya ha sido eliminado"
 
-#: access/transam/xlog.c:2916 access/transam/xlog.c:3093
+#: access/transam/xlog.c:3777 access/transam/xlog.c:3954
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "no se pudo abrir directorio de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:2964
+#: access/transam/xlog.c:3825
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "el archivo de registro de transacciones «%s» ha sido reciclado"
 
-#: access/transam/xlog.c:2980
+#: access/transam/xlog.c:3841
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "eliminando archivo de registro de transacciones «%s»"
 
-#: access/transam/xlog.c:3003
+#: access/transam/xlog.c:3864
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "no se pudo cambiar el nombre del archivo antiguo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3015
+#: access/transam/xlog.c:3876
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo antiguo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3053 access/transam/xlog.c:3063
+#: access/transam/xlog.c:3914 access/transam/xlog.c:3924
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:3069
+#: access/transam/xlog.c:3930
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:3072
+#: access/transam/xlog.c:3933
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:3106
+#: access/transam/xlog.c:3967
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "eliminando el archivo de historia del respaldo de registro de transacciones «%s»"
 
-#: access/transam/xlog.c:3302
+#: access/transam/xlog.c:4159
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "ID de timeline %u inesperado en archivo %s, posición %u"
 
-#: access/transam/xlog.c:3424
+#: access/transam/xlog.c:4281
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u"
 
-#: access/transam/xlog.c:3438
+#: access/transam/xlog.c:4295
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X"
 
-#: access/transam/xlog.c:3457
+#: access/transam/xlog.c:4314
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlog.c:3536
+#: access/transam/xlog.c:4394
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "no se pudo crear archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:3547 access/transam/xlog.c:3772
+#: access/transam/xlog.c:4405 access/transam/xlog.c:4641
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "no se pudo escribir en el archivo de control: %m"
 
-#: access/transam/xlog.c:3553 access/transam/xlog.c:3778
+#: access/transam/xlog.c:4411 access/transam/xlog.c:4647
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de control: %m"
 
-#: access/transam/xlog.c:3558 access/transam/xlog.c:3783
+#: access/transam/xlog.c:4416 access/transam/xlog.c:4652
 #, c-format
 msgid "could not close control file: %m"
 msgstr "no se pudo cerrar el archivo de control: %m"
 
-#: access/transam/xlog.c:3576 access/transam/xlog.c:3761
+#: access/transam/xlog.c:4434 access/transam/xlog.c:4630
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:3582
+#: access/transam/xlog.c:4440
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "no se pudo leer desde el archivo de control: %m"
 
-#: access/transam/xlog.c:3595 access/transam/xlog.c:3604
-#: access/transam/xlog.c:3628 access/transam/xlog.c:3635
-#: access/transam/xlog.c:3642 access/transam/xlog.c:3647
-#: access/transam/xlog.c:3654 access/transam/xlog.c:3661
-#: access/transam/xlog.c:3668 access/transam/xlog.c:3675
-#: access/transam/xlog.c:3682 access/transam/xlog.c:3689
-#: access/transam/xlog.c:3698 access/transam/xlog.c:3705
-#: access/transam/xlog.c:3714 access/transam/xlog.c:3721
-#: access/transam/xlog.c:3730 access/transam/xlog.c:3737
-#: utils/init/miscinit.c:1210
+#: access/transam/xlog.c:4453 access/transam/xlog.c:4462
+#: access/transam/xlog.c:4486 access/transam/xlog.c:4493
+#: access/transam/xlog.c:4500 access/transam/xlog.c:4505
+#: access/transam/xlog.c:4512 access/transam/xlog.c:4519
+#: access/transam/xlog.c:4526 access/transam/xlog.c:4533
+#: access/transam/xlog.c:4540 access/transam/xlog.c:4547
+#: access/transam/xlog.c:4554 access/transam/xlog.c:4563
+#: access/transam/xlog.c:4570 access/transam/xlog.c:4579
+#: access/transam/xlog.c:4586 access/transam/xlog.c:4595
+#: access/transam/xlog.c:4602 utils/init/miscinit.c:1139
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "los archivos de base de datos son incompatibles con el servidor"
 
-#: access/transam/xlog.c:3596
+#: access/transam/xlog.c:4454
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d (0x%08x), pero el servidor fue compilado con PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:3600
+#: access/transam/xlog.c:4458
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Este puede ser un problema de discordancia en el orden de bytes. Parece que necesitará ejecutar initdb."
 
-#: access/transam/xlog.c:3605
+#: access/transam/xlog.c:4463
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d, pero el servidor fue compilado con PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:3608 access/transam/xlog.c:3632
-#: access/transam/xlog.c:3639 access/transam/xlog.c:3644
+#: access/transam/xlog.c:4466 access/transam/xlog.c:4490
+#: access/transam/xlog.c:4497 access/transam/xlog.c:4502
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:3619
+#: access/transam/xlog.c:4477
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "la suma de verificación es incorrecta en el archivo de control"
 
-#: access/transam/xlog.c:3629
+#: access/transam/xlog.c:4487
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Los archivos de base de datos fueron inicializados con CATALOG_VERSION_NO %d, pero el servidor fue compilado con CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:3636
+#: access/transam/xlog.c:4494
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con MAXALIGN %d, pero el servidor fue compilado con MAXALIGN %d."
 
-#: access/transam/xlog.c:3643
+#: access/transam/xlog.c:4501
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Los archivos de la base de datos parecen usar un formato de número de coma flotante distinto al del ejecutable del servidor."
 
-#: access/transam/xlog.c:3648
+#: access/transam/xlog.c:4506
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con BLCKSZ %d, pero el servidor fue compilado con BLCKSZ %d."
 
-#: access/transam/xlog.c:3651 access/transam/xlog.c:3658
-#: access/transam/xlog.c:3665 access/transam/xlog.c:3672
-#: access/transam/xlog.c:3679 access/transam/xlog.c:3686
-#: access/transam/xlog.c:3693 access/transam/xlog.c:3701
-#: access/transam/xlog.c:3708 access/transam/xlog.c:3717
-#: access/transam/xlog.c:3724 access/transam/xlog.c:3733
-#: access/transam/xlog.c:3740
+#: access/transam/xlog.c:4509 access/transam/xlog.c:4516
+#: access/transam/xlog.c:4523 access/transam/xlog.c:4530
+#: access/transam/xlog.c:4537 access/transam/xlog.c:4544
+#: access/transam/xlog.c:4551 access/transam/xlog.c:4558
+#: access/transam/xlog.c:4566 access/transam/xlog.c:4573
+#: access/transam/xlog.c:4582 access/transam/xlog.c:4589
+#: access/transam/xlog.c:4598 access/transam/xlog.c:4605
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:3655
+#: access/transam/xlog.c:4513
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con RELSEG_SIZE %d, pero el servidor fue compilado con RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:3662
+#: access/transam/xlog.c:4520
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con XLOG_BLCKSZ %d, pero el servidor fue compilado con XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:3669
+#: access/transam/xlog.c:4527
 #, c-format
 msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con XLOG_SEG_SIZE %d, pero el servidor fue compilado con XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:3676
+#: access/transam/xlog.c:4534
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con NAMEDATALEN %d, pero el servidor fue compilado con NAMEDATALEN %d."
 
-#: access/transam/xlog.c:3683
+#: access/transam/xlog.c:4541
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Los archivos de la base de datos fueron inicializados con INDEX_MAX_KEYS %d, pero el servidor fue compilado con INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:3690
+#: access/transam/xlog.c:4548
 #, c-format
 msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con TOAST_MAX_CHUNK_SIZE %d, pero el servidor fue compilado con TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:3699
+#: access/transam/xlog.c:4555
+#, c-format
+msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
+msgstr "Los archivos de base de datos fueron inicializados con LOBLKSIZE %d, pero el servidor fue compilado con LOBLKSIZE %d."
+
+#: access/transam/xlog.c:4564
 #, c-format
 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Los archivos de la base de datos fueron inicializados sin HAVE_INT64_TIMESTAMP, pero el servidor fue compilado con HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3706
+#: access/transam/xlog.c:4571
 #, c-format
 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr "Los archivos de la base de datos fueron inicializados con HAVE_INT64_TIMESTAMP, pero el servidor fue compilado sin HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3715
+#: access/transam/xlog.c:4580
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT4_BYVAL, pero el servidor fue compilado con USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:3722
+#: access/transam/xlog.c:4587
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT4_BYVAL, pero el servidor fue compilado sin USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:3731
+#: access/transam/xlog.c:4596
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT8_BYVAL, pero el servidor fue compilado con USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:3738
+#: access/transam/xlog.c:4603
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT8_BYVAL, pero el servidor fue compilado sin USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4101
+#: access/transam/xlog.c:5004
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "no se pudo escribir al archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:4107
+#: access/transam/xlog.c:5010
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:4112
+#: access/transam/xlog.c:5015
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "no se pudo cerrar el archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:4181
+#: access/transam/xlog.c:5086
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de recuperación «%s»: %m"
 
-#: access/transam/xlog.c:4221 access/transam/xlog.c:4312
-#: access/transam/xlog.c:4323 commands/extension.c:527
-#: commands/extension.c:535 utils/misc/guc.c:5375
+#: access/transam/xlog.c:5126 access/transam/xlog.c:5217
+#: access/transam/xlog.c:5228 commands/extension.c:527
+#: commands/extension.c:535 utils/misc/guc.c:5369
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
-msgstr "opción «%s» requiere un valor lógico (booleano)"
+msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
 
-#: access/transam/xlog.c:4237
+#: access/transam/xlog.c:5142
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline no es un número válido: «%s»"
 
-#: access/transam/xlog.c:4253
+#: access/transam/xlog.c:5158
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid no es un número válido: «%s»"
 
-#: access/transam/xlog.c:4297
+#: access/transam/xlog.c:5189
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "recovery_target_name es demasiado largo (máximo %d caracteres)"
 
-#: access/transam/xlog.c:4344
+#: access/transam/xlog.c:5203
+#, c-format
+msgid "invalid value for recovery parameter \"recovery_target\""
+msgstr "valor no válido para el parámetro de recuperación «recovery_target»"
+
+#: access/transam/xlog.c:5204
+#, c-format
+msgid "The only allowed value is \"immediate\"."
+msgstr "El único valor permitido es «immediate»"
+
+#: access/transam/xlog.c:5263
+#, c-format
+msgid "parameter \"%s\" requires a temporal value"
+msgstr "el parámetro «%s» requiere un valor de tiempo"
+
+#: access/transam/xlog.c:5265 catalog/dependency.c:970
+#: catalog/dependency.c:971 catalog/dependency.c:977 catalog/dependency.c:978
+#: catalog/dependency.c:989 catalog/dependency.c:990
+#: catalog/objectaddress.c:764 commands/tablecmds.c:763
+#: commands/tablecmds.c:8949 commands/user.c:988 commands/view.c:475
+#: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
+#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5401 utils/misc/guc.c:5526
+#: utils/misc/guc.c:8867 utils/misc/guc.c:8901 utils/misc/guc.c:8935
+#: utils/misc/guc.c:8969 utils/misc/guc.c:9004
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: access/transam/xlog.c:5271
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "parámetro de recuperación no reconocido: «%s»"
 
-#: access/transam/xlog.c:4355
+#: access/transam/xlog.c:5282
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "el archivo de recuperación «%s» no especifica primary_conninfo ni restore_command"
 
-#: access/transam/xlog.c:4357
+#: access/transam/xlog.c:5284
 #, c-format
 msgid "The database server will regularly poll the pg_xlog subdirectory to check for files placed there."
 msgstr "El servidor de bases de datos monitoreará el subdirectorio pg_xlog con regularidad en búsqueda de archivos almacenados ahí."
 
-#: access/transam/xlog.c:4363
+#: access/transam/xlog.c:5290
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr "el archivo de recuperación «%s» debe especificar restore_command cuando el modo standby no está activo"
 
-#: access/transam/xlog.c:4383
+#: access/transam/xlog.c:5310
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "no existe el timeline %u especificado como destino de recuperación"
 
-#: access/transam/xlog.c:4478
+#: access/transam/xlog.c:5407
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:4603
+#: access/transam/xlog.c:5477 access/transam/xlog.c:5671
 #, c-format
-msgid "recovery stopping after commit of transaction %u, time %s"
-msgstr "recuperación detenida después de comprometer la transacción %u, hora %s"
+msgid "recovery stopping after reaching consistency"
+msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
-#: access/transam/xlog.c:4608
+#: access/transam/xlog.c:5552
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
-msgstr "recuperación detenida antes de comprometer la transacción %u, hora %s"
-
-#: access/transam/xlog.c:4616
-#, c-format
-msgid "recovery stopping after abort of transaction %u, time %s"
-msgstr "recuperación detenida después de abortar la transacción %u, hora %s"
+msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:4621
+#: access/transam/xlog.c:5559
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
-msgstr "recuperación detenida antes de abortar la transacción %u, hora %s"
+msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:4630
+#: access/transam/xlog.c:5601
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
-msgstr "recuperación detenida en el punto de recuperación «%s», hora %s"
+msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
+
+#: access/transam/xlog.c:5651
+#, c-format
+msgid "recovery stopping after commit of transaction %u, time %s"
+msgstr "deteniendo recuperación de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:4664
+#: access/transam/xlog.c:5659
+#, c-format
+msgid "recovery stopping after abort of transaction %u, time %s"
+msgstr "deteniendo recuperación después de abortar la transacción %u, hora %s"
+
+#: access/transam/xlog.c:5698
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlog.c:4665
+#: access/transam/xlog.c:5699
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Ejecute pg_xlog_replay_resume() para continuar."
 
-#: access/transam/xlog.c:4795
+#: access/transam/xlog.c:5914
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr "hot standby no es posible puesto que %s = %d es una configuración menor que en el servidor maestro (su valor era %d)"
 
-#: access/transam/xlog.c:4817
+#: access/transam/xlog.c:5936
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL fue generado con wal_level=minimal, puede haber datos faltantes"
 
-#: access/transam/xlog.c:4818
+#: access/transam/xlog.c:5937
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr "Esto sucede si temporalmente define wal_level=minimal sin tomar un nuevo respaldo base."
 
-#: access/transam/xlog.c:4829
+#: access/transam/xlog.c:5948
 #, c-format
-msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" on the master server"
-msgstr "hot standby no es posible porque wal_level no estaba configurado como «hot_standby» en el servidor maestro"
+msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" or higher on the master server"
+msgstr "hot standby no es posible porque wal_level no estaba configurado como «hot_standby» o superior en el servidor maestro"
 
-#: access/transam/xlog.c:4830
+#: access/transam/xlog.c:5949
 #, c-format
 msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
 msgstr "Defina wal_level a «hot_standby» en el maestro, o bien desactive hot_standby en este servidor."
 
-#: access/transam/xlog.c:4883
+#: access/transam/xlog.c:6004
 #, c-format
 msgid "control file contains invalid data"
 msgstr "el archivo de control contiene datos no válidos"
 
-#: access/transam/xlog.c:4889
+#: access/transam/xlog.c:6010
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "el sistema de bases de datos fue apagado en %s"
 
-#: access/transam/xlog.c:4894
+#: access/transam/xlog.c:6015
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "el sistema de bases de datos fue apagado durante la recuperación en %s"
 
-#: access/transam/xlog.c:4898
+#: access/transam/xlog.c:6019
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "el apagado del sistema de datos fue interrumpido; última vez registrada en funcionamiento en %s"
 
-#: access/transam/xlog.c:4902
+#: access/transam/xlog.c:6023
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en %s"
 
-#: access/transam/xlog.c:4904
+#: access/transam/xlog.c:6025
 #, c-format
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr "Esto probablemente significa que algunos datos están corruptos y tendrá que usar el respaldo más reciente para la recuperación."
 
-#: access/transam/xlog.c:4908
+#: access/transam/xlog.c:6029
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en el instante de registro %s"
 
-#: access/transam/xlog.c:4910
+#: access/transam/xlog.c:6031
 #, c-format
 msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
 msgstr "Si esto ha ocurrido más de una vez, algunos datos podrían estar corruptos y podría ser necesario escoger un punto de recuperación anterior."
 
-#: access/transam/xlog.c:4914
+#: access/transam/xlog.c:6035
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "el sistema de bases de datos fue interrumpido; última vez en funcionamiento en %s"
 
-#: access/transam/xlog.c:4968
+#: access/transam/xlog.c:6089
 #, c-format
 msgid "entering standby mode"
 msgstr "entrando al modo standby"
 
-#: access/transam/xlog.c:4971
+#: access/transam/xlog.c:6092
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "comenzando el proceso de recuperación hasta el XID %u"
 
-#: access/transam/xlog.c:4975
+#: access/transam/xlog.c:6096
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "comenzando el proceso de recuperación hasta %s"
 
-#: access/transam/xlog.c:4979
+#: access/transam/xlog.c:6100
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "comenzando el proceso de recuperación hasta «%s»"
 
-#: access/transam/xlog.c:4983
+#: access/transam/xlog.c:6104
 #, c-format
-msgid "starting archive recovery"
-msgstr "comenzando proceso de recuperación"
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estado consistente"
 
-#: access/transam/xlog.c:4999 commands/sequence.c:1035 lib/stringinfo.c:266
-#: libpq/auth.c:1025 libpq/auth.c:1381 libpq/auth.c:1449 libpq/auth.c:1851
-#: postmaster/postmaster.c:2146 postmaster/postmaster.c:2177
-#: postmaster/postmaster.c:3634 postmaster/postmaster.c:4317
-#: postmaster/postmaster.c:4403 postmaster/postmaster.c:5081
-#: postmaster/postmaster.c:5257 postmaster/postmaster.c:5674
-#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:397
-#: storage/file/fd.c:403 storage/file/fd.c:800 storage/file/fd.c:918
-#: storage/file/fd.c:1531 storage/ipc/procarray.c:894
-#: storage/ipc/procarray.c:1334 storage/ipc/procarray.c:1341
-#: storage/ipc/procarray.c:1658 storage/ipc/procarray.c:2148
-#: utils/adt/formatting.c:1524 utils/adt/formatting.c:1644
-#: utils/adt/formatting.c:1765 utils/adt/regexp.c:209 utils/adt/varlena.c:3652
-#: utils/adt/varlena.c:3673 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
-#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970
-#: utils/init/miscinit.c:151 utils/init/miscinit.c:172
-#: utils/init/miscinit.c:182 utils/mb/mbutils.c:374 utils/mb/mbutils.c:675
-#: utils/misc/guc.c:3394 utils/misc/guc.c:3410 utils/misc/guc.c:3423
-#: utils/misc/tzparser.c:455 utils/mmgr/aset.c:416 utils/mmgr/aset.c:587
-#: utils/mmgr/aset.c:765 utils/mmgr/aset.c:966
+#: access/transam/xlog.c:6107
 #, c-format
-msgid "out of memory"
-msgstr "memoria agotada"
+msgid "starting archive recovery"
+msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlog.c:5000
+#: access/transam/xlog.c:6124
 #, c-format
 msgid "Failed while allocating an XLog reading processor."
 msgstr "Falló mientras se emplazaba un procesador de lectura de XLog."
 
-#: access/transam/xlog.c:5025 access/transam/xlog.c:5092
+#: access/transam/xlog.c:6149 access/transam/xlog.c:6216
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "el registro del punto de control está en %X/%X"
 
-#: access/transam/xlog.c:5039
+#: access/transam/xlog.c:6163
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "no se pudo localizar la ubicación de redo referida por el registro de checkpoint"
 
-#: access/transam/xlog.c:5040 access/transam/xlog.c:5047
+#: access/transam/xlog.c:6164 access/transam/xlog.c:6171
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr "Si no está restaurando un respaldo, intente eliminando «%s/backup_label»."
 
-#: access/transam/xlog.c:5046
+#: access/transam/xlog.c:6170
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "no se pudo localizar el registro del punto de control requerido"
 
-#: access/transam/xlog.c:5102 access/transam/xlog.c:5117
+#: access/transam/xlog.c:6226 access/transam/xlog.c:6241
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "no se pudo localizar un registro de punto de control válido"
 
-#: access/transam/xlog.c:5111
+#: access/transam/xlog.c:6235
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "usando el registro del punto de control anterior en %X/%X"
 
-#: access/transam/xlog.c:5141
+#: access/transam/xlog.c:6265
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
 
-#: access/transam/xlog.c:5143
+#: access/transam/xlog.c:6267
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "El punto de control más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
 
-#: access/transam/xlog.c:5159
+#: access/transam/xlog.c:6283
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:5168
+#: access/transam/xlog.c:6292
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "registro de redo en %X/%X; apagado %s"
 
-#: access/transam/xlog.c:5172
+#: access/transam/xlog.c:6296
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "siguiente ID de transacción: %u/%u; siguiente OID: %u"
 
-#: access/transam/xlog.c:5176
+#: access/transam/xlog.c:6300
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "siguiente MultiXactId: %u; siguiente MultiXactOffset: %u"
 
-#: access/transam/xlog.c:5179
+#: access/transam/xlog.c:6303
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr "ID de transacción más antigua sin congelar: %u, en base de datos %u"
 
-#: access/transam/xlog.c:5182
+#: access/transam/xlog.c:6306
 #, c-format
 msgid "oldest MultiXactId: %u, in database %u"
 msgstr "MultiXactId más antiguo: %u, en base de datos %u"
 
-#: access/transam/xlog.c:5186
+#: access/transam/xlog.c:6310
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlog.c:5235
+#: access/transam/xlog.c:6380
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "redo no es válido en el registro de punto de control"
 
-#: access/transam/xlog.c:5246
+#: access/transam/xlog.c:6391
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "registro redo no es válido en el punto de control de apagado"
 
-#: access/transam/xlog.c:5277
+#: access/transam/xlog.c:6422
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "el sistema de bases de datos no fue apagado apropiadamente; se está efectuando la recuperación automática"
 
-#: access/transam/xlog.c:5281
+#: access/transam/xlog.c:6426
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u"
 
-#: access/transam/xlog.c:5318
+#: access/transam/xlog.c:6463
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene datos inconsistentes con el archivo de control"
 
-#: access/transam/xlog.c:5319
+#: access/transam/xlog.c:6464
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Esto significa que el respaldo está corrupto y deberá usar otro respaldo para la recuperación."
 
-#: access/transam/xlog.c:5384
+#: access/transam/xlog.c:6529
 #, c-format
 msgid "initializing for hot standby"
 msgstr "inicializando para hot standby"
 
-#: access/transam/xlog.c:5521
+#: access/transam/xlog.c:6661
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlog.c:5712
+#: access/transam/xlog.c:6876
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo listo en %X/%X"
 
-#: access/transam/xlog.c:5717 access/transam/xlog.c:7537
+#: access/transam/xlog.c:6881 access/transam/xlog.c:8735
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "última transacción completada al tiempo de registro %s"
 
-#: access/transam/xlog.c:5725
+#: access/transam/xlog.c:6889
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlog.c:5773
+#: access/transam/xlog.c:6947
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "el punto de detención de recuperación pedido es antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:5789 access/transam/xlog.c:5793
+#: access/transam/xlog.c:6963 access/transam/xlog.c:6967
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL termina antes del fin del respaldo en línea"
 
-#: access/transam/xlog.c:5790
+#: access/transam/xlog.c:6964
 #, c-format
 msgid "All WAL generated while online backup was taken must be available at recovery."
 msgstr "Todo el WAL generado durante el respaldo en línea debe estar disponible durante la recuperación."
 
-#: access/transam/xlog.c:5794
+#: access/transam/xlog.c:6968
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Un respaldo en línea iniciado con pg_start_backup() debe ser terminado con pg_stop_backup(), y todos los archivos WAL hasta ese punto deben estar disponibles durante la recuperación."
 
-#: access/transam/xlog.c:5797
+#: access/transam/xlog.c:6971
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:5824
+#: access/transam/xlog.c:6998
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:6185
+#: access/transam/xlog.c:7339
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
 
-#: access/transam/xlog.c:6356
+#: access/transam/xlog.c:7536
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "el enlace de punto de control primario en archivo de control no es válido"
 
-#: access/transam/xlog.c:6360
+#: access/transam/xlog.c:7540
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "el enlace del punto de control secundario en archivo de control no es válido"
 
-#: access/transam/xlog.c:6364
+#: access/transam/xlog.c:7544
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "el enlace del punto de control en backup_label no es válido"
 
-#: access/transam/xlog.c:6381
+#: access/transam/xlog.c:7561
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:6385
+#: access/transam/xlog.c:7565
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:6389
+#: access/transam/xlog.c:7569
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:6400
+#: access/transam/xlog.c:7580
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:6404
+#: access/transam/xlog.c:7584
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:6408
+#: access/transam/xlog.c:7588
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:6420
+#: access/transam/xlog.c:7600
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "xl_info en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:6424
+#: access/transam/xlog.c:7604
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "xl_info en el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:6428
+#: access/transam/xlog.c:7608
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:6440
+#: access/transam/xlog.c:7620
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "la longitud del registro del punto de control primario no es válida"
 
-#: access/transam/xlog.c:6444
+#: access/transam/xlog.c:7624
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "la longitud del registro del punto de control secundario no es válida"
 
-#: access/transam/xlog.c:6448
+#: access/transam/xlog.c:7628
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "la longitud del registro de punto de control no es válida"
 
-#: access/transam/xlog.c:6601
+#: access/transam/xlog.c:7788
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
-#: access/transam/xlog.c:6624
+#: access/transam/xlog.c:7811
 #, c-format
 msgid "database system is shut down"
 msgstr "el sistema de bases de datos está apagado"
 
-#: access/transam/xlog.c:7089
+#: access/transam/xlog.c:8277
 #, c-format
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr "hay actividad en el registro de transacción mientras el sistema se está apagando"
 
-#: access/transam/xlog.c:7366
+#: access/transam/xlog.c:8546
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "saltando el punto-de-reinicio; la recuperación ya ha terminado"
 
-#: access/transam/xlog.c:7389
+#: access/transam/xlog.c:8569
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "saltando el punto-de-reinicio; ya fue llevado a cabo en %X/%X"
 
-#: access/transam/xlog.c:7535
+#: access/transam/xlog.c:8733
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "punto-de-reinicio de recuperación en %X/%X"
 
-#: access/transam/xlog.c:7661
+#: access/transam/xlog.c:8878
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:7876
+#: access/transam/xlog.c:9102
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:7885
+#: access/transam/xlog.c:9111
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (después de %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:7901
+#: access/transam/xlog.c:9127
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:7968
+#: access/transam/xlog.c:9195
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "el respaldo en línea fue cancelado, la recuperación no puede continuar"
 
-#: access/transam/xlog.c:8029 access/transam/xlog.c:8077
-#: access/transam/xlog.c:8100
+#: access/transam/xlog.c:9256 access/transam/xlog.c:9305
+#: access/transam/xlog.c:9328
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:8333
+#: access/transam/xlog.c:9563
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:8357
+#: access/transam/xlog.c:9587
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "no se pudo sincronizar (fsync) archivo de registro «%s»: %m"
 
-#: access/transam/xlog.c:8365
+#: access/transam/xlog.c:9595
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "no se pudo sincronizar (fsync write-through) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:8374
+#: access/transam/xlog.c:9604
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "no se pudo sincronizar (fdatasync) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:8446 access/transam/xlog.c:8784
-#, c-format
-msgid "must be superuser or replication role to run a backup"
-msgstr "debe ser superusuario o el rol de replicación para ejecutar un respaldo"
-
-#: access/transam/xlog.c:8454 access/transam/xlog.c:8792
-#: access/transam/xlogfuncs.c:109 access/transam/xlogfuncs.c:141
-#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:207
-#: access/transam/xlogfuncs.c:289 access/transam/xlogfuncs.c:363
+#: access/transam/xlog.c:9682 access/transam/xlog.c:10018
+#: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
+#: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
+#: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
 #, c-format
 msgid "recovery is in progress"
 msgstr "la recuperación está en proceso"
 
-#: access/transam/xlog.c:8455 access/transam/xlog.c:8793
-#: access/transam/xlogfuncs.c:110 access/transam/xlogfuncs.c:142
-#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:208
+#: access/transam/xlog.c:9683 access/transam/xlog.c:10019
+#: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
+#: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlog.c:8464 access/transam/xlog.c:8802
+#: access/transam/xlog.c:9692 access/transam/xlog.c:10028
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "el nivel de WAL no es suficiente para hacer un respaldo en línea"
 
-#: access/transam/xlog.c:8465 access/transam/xlog.c:8803
-#: access/transam/xlogfuncs.c:148
+#: access/transam/xlog.c:9693 access/transam/xlog.c:10029
+#: access/transam/xlogfuncs.c:147
 #, c-format
-msgid "wal_level must be set to \"archive\" or \"hot_standby\" at server start."
-msgstr "wal_level debe ser definido a «archive» o «hot_standby» al inicio del servidor."
+msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
+msgstr "wal_level debe ser definido a «archive», «hot_standby» o «logical» al inicio del servidor."
 
-#: access/transam/xlog.c:8470
+#: access/transam/xlog.c:9698
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "la etiqueta de respaldo es demasiado larga (máximo %d bytes)"
 
-#: access/transam/xlog.c:8501 access/transam/xlog.c:8678
+#: access/transam/xlog.c:9729 access/transam/xlog.c:9906
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ya hay un respaldo en curso"
 
-#: access/transam/xlog.c:8502
+#: access/transam/xlog.c:9730
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Ejecute pg_stop_backup() e intente nuevamente."
 
-#: access/transam/xlog.c:8596
+#: access/transam/xlog.c:9824
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "el WAL generado con full_page_writes=off fue restaurado desde el último punto-de-reinicio"
 
-#: access/transam/xlog.c:8598 access/transam/xlog.c:8953
+#: access/transam/xlog.c:9826 access/transam/xlog.c:10179
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active full_page_writes y ejecute CHECKPOINT en el maestro, luego trate de ejecutar un respaldo en línea nuevamente."
 
-#: access/transam/xlog.c:8672 access/transam/xlog.c:8843
+#: access/transam/xlog.c:9900 access/transam/xlog.c:10069
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: guc-file.l:771 replication/basebackup.c:380 replication/basebackup.c:435
-#: storage/file/copydir.c:75 storage/file/copydir.c:118 utils/adt/dbsize.c:68
-#: utils/adt/dbsize.c:218 utils/adt/dbsize.c:298 utils/adt/genfile.c:108
-#: utils/adt/genfile.c:280
+#: replication/basebackup.c:464 replication/basebackup.c:521
+#: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
+#: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
+#: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
+#: guc-file.l:885
 #, c-format
 msgid "could not stat file \"%s\": %m"
-msgstr "no se pudo verificar archivo «%s»: %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: access/transam/xlog.c:8679
+#: access/transam/xlog.c:9907
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Si está seguro que no hay un respaldo en curso, elimine el archivo «%s» e intente nuevamente."
 
-#: access/transam/xlog.c:8696 access/transam/xlog.c:9016
+#: access/transam/xlog.c:9924 access/transam/xlog.c:10242
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: access/transam/xlog.c:8847
+#: access/transam/xlog.c:10073
 #, c-format
 msgid "a backup is not in progress"
 msgstr "no hay un respaldo en curso"
 
-#: access/transam/xlog.c:8873 access/transam/xlogarchive.c:114
-#: access/transam/xlogarchive.c:466 storage/smgr/md.c:405
-#: storage/smgr/md.c:454 storage/smgr/md.c:1318
-#, c-format
-msgid "could not remove file \"%s\": %m"
-msgstr "no se pudo eliminar el archivo «%s»: %m"
-
-#: access/transam/xlog.c:8886 access/transam/xlog.c:8899
-#: access/transam/xlog.c:9250 access/transam/xlog.c:9256
-#: access/transam/xlogfuncs.c:616
+#: access/transam/xlog.c:10112 access/transam/xlog.c:10125
+#: access/transam/xlog.c:10476 access/transam/xlog.c:10482
+#: access/transam/xlogfuncs.c:498
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlog.c:8903 replication/basebackup.c:834
+#: access/transam/xlog.c:10129 replication/basebackup.c:951
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "el standby fue promovido durante el respaldo en línea"
 
-#: access/transam/xlog.c:8904 replication/basebackup.c:835
+#: access/transam/xlog.c:10130 replication/basebackup.c:952
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr "Esto significa que el respaldo que se estaba tomando está corrupto y no debería ser usado. Trate de ejecutar un nuevo respaldo en línea."
 
-#: access/transam/xlog.c:8951
+#: access/transam/xlog.c:10177
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "el WAL generado con full_page_writes=off fue restaurado durante el respaldo en línea"
 
-#: access/transam/xlog.c:9065
+#: access/transam/xlog.c:10291
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "finalización de pg_stop_backup completa, esperando que se archiven los segmentos WAL requeridos"
 
-#: access/transam/xlog.c:9075
+#: access/transam/xlog.c:10301
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "pg_stop_backup todavía espera que todos los segmentos WAL requeridos sean archivados (han pasado %d segundos)"
 
-#: access/transam/xlog.c:9077
+#: access/transam/xlog.c:10303
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments."
 msgstr "Verifique que su archive_command se esté ejecutando con normalidad.  pg_stop_backup puede ser abortado confiablemente, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
 
-#: access/transam/xlog.c:9084
+#: access/transam/xlog.c:10310
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup completado, todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:9088
+#: access/transam/xlog.c:10314
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr "el archivado de WAL no está activo; debe asegurarse que todos los segmentos WAL requeridos se copian por algún otro mecanism para completar el respaldo"
 
-#: access/transam/xlog.c:9301
+#: access/transam/xlog.c:10527
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:9341
+#: access/transam/xlog.c:10567
 #, c-format
 msgid "online backup mode canceled"
 msgstr "el modo de respaldo en línea fue cancelado"
 
-#: access/transam/xlog.c:9342
+#: access/transam/xlog.c:10568
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "«%s» fue renombrado a «%s»."
 
-#: access/transam/xlog.c:9349
+#: access/transam/xlog.c:10575
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "el modo de respaldo en línea no fue cancelado"
 
-#: access/transam/xlog.c:9350
+#: access/transam/xlog.c:10576
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "No se pudo renombrar «%s» a «%s»: %m."
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:9470 replication/walreceiver.c:930
-#: replication/walsender.c:1338
+#: access/transam/xlog.c:10696 replication/logical/logicalfuncs.c:169
+#: replication/walreceiver.c:937 replication/walsender.c:2106
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "no se pudo posicionar (seek) en segmento %s a la posición %u: %m"
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:9482
+#: access/transam/xlog.c:10708
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m"
 
-#: access/transam/xlog.c:9947
+#: access/transam/xlog.c:11171
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlog.c:9960
+#: access/transam/xlog.c:11184
 #, c-format
 msgid "trigger file found: %s"
 msgstr "se encontró el archivo disparador: %s"
 
+#: access/transam/xlog.c:11193
+#, c-format
+msgid "could not stat trigger file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo disparador «%s»: %m"
+
 #: access/transam/xlogarchive.c:244
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
@@ -2009,102 +2149,96 @@ msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
 
 #: access/transam/xlogarchive.c:303
 #, c-format
-msgid "could not restore file \"%s\" from archive: return code %d"
-msgstr "no se pudo recuperar el archivo «%s»: código de retorno %d"
+msgid "could not restore file \"%s\" from archive: %s"
+msgstr "no se pudo recuperar el archivo «%s»: %s"
 
 #. translator: First %s represents a recovery.conf parameter name like
-#. "recovery_end_command", and the 2nd is the value of that parameter.
-#: access/transam/xlogarchive.c:414
+#. "recovery_end_command", the 2nd is the value of that parameter, the
+#. third an already translated error message.
+#: access/transam/xlogarchive.c:415
 #, c-format
-msgid "%s \"%s\": return code %d"
-msgstr "%s «%s»: código de retorno %d"
+msgid "%s \"%s\": %s"
+msgstr "%s «%s»: %s"
 
-#: access/transam/xlogarchive.c:524 access/transam/xlogarchive.c:593
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:594
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "no se pudo crear el archivo de estado «%s»: %m"
 
-#: access/transam/xlogarchive.c:532 access/transam/xlogarchive.c:601
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:602
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "no se pudo escribir el archivo de estado «%s»: %m"
 
-#: access/transam/xlogfuncs.c:104
+#: access/transam/xlogfuncs.c:60 access/transam/xlogfuncs.c:88
+#, c-format
+msgid "must be superuser or replication role to run a backup"
+msgstr "debe ser superusuario o el rol de replicación para ejecutar un respaldo"
+
+#: access/transam/xlogfuncs.c:106
 #, c-format
 msgid "must be superuser to switch transaction log files"
 msgstr "debe ser superusuario para cambiar a un nuevo archivo de registro"
 
-#: access/transam/xlogfuncs.c:136
+#: access/transam/xlogfuncs.c:135
 #, c-format
 msgid "must be superuser to create a restore point"
 msgstr "debe ser superusuario para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlogfuncs.c:146
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:155
+#: access/transam/xlogfuncs.c:154
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "el valor es demasiado largo para un punto de recuperación (máximo %d caracteres)"
 
-#: access/transam/xlogfuncs.c:290
+#: access/transam/xlogfuncs.c:271
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "pg_xlogfile_name_offset() no puede ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:302 access/transam/xlogfuncs.c:373
-#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:536
-#, c-format
-msgid "could not parse transaction log location \"%s\""
-msgstr "no se pudo interpretar la ubicación del registro de transacciones «%s»"
-
-#: access/transam/xlogfuncs.c:364
+#: access/transam/xlogfuncs.c:327
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() no puede ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:392 access/transam/xlogfuncs.c:414
-#: access/transam/xlogfuncs.c:436
+#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:366
 #, c-format
 msgid "must be superuser to control recovery"
 msgstr "debe ser superusuario para controlar la recuperación"
 
-#: access/transam/xlogfuncs.c:397 access/transam/xlogfuncs.c:419
-#: access/transam/xlogfuncs.c:441
+#: access/transam/xlogfuncs.c:349 access/transam/xlogfuncs.c:371
+#: access/transam/xlogfuncs.c:388
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la recuperación no está en proceso"
 
-#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:420
-#: access/transam/xlogfuncs.c:442
+#: access/transam/xlogfuncs.c:350 access/transam/xlogfuncs.c:372
+#: access/transam/xlogfuncs.c:389
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:491 access/transam/xlogfuncs.c:497
-#, c-format
-msgid "invalid input syntax for transaction log location: \"%s\""
-msgstr "sintaxis no válida para la ubicación del registro de transacciones: «%s»"
-
-#: bootstrap/bootstrap.c:286 postmaster/postmaster.c:764 tcop/postgres.c:3446
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:759 tcop/postgres.c:3462
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:291 postmaster/postmaster.c:769 tcop/postgres.c:3451
+#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:764 tcop/postgres.c:3467
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: bootstrap/bootstrap.c:302 postmaster/postmaster.c:781
-#: postmaster/postmaster.c:794
+#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:776
+#: postmaster/postmaster.c:789
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: bootstrap/bootstrap.c:311
+#: bootstrap/bootstrap.c:298
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: argumentos de línea de órdenes no válidos\n"
@@ -2219,34 +2353,34 @@ msgstr "el tipo de privilegio %s no es válido para un servidor foráneo"
 msgid "column privileges are only valid for relations"
 msgstr "los privilegios de columna son sólo válidos para relaciones"
 
-#: catalog/aclchk.c:688 catalog/aclchk.c:3901 catalog/aclchk.c:4678
-#: catalog/objectaddress.c:575 catalog/pg_largeobject.c:113
-#: storage/large_object/inv_api.c:277
+#: catalog/aclchk.c:688 catalog/aclchk.c:3904 catalog/aclchk.c:4681
+#: catalog/objectaddress.c:586 catalog/pg_largeobject.c:113
+#: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "no existe el objeto grande %u"
 
 #: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
-#: commands/copy.c:923 commands/copy.c:941 commands/copy.c:949
-#: commands/copy.c:957 commands/copy.c:965 commands/copy.c:973
-#: commands/copy.c:981 commands/copy.c:989 commands/copy.c:997
-#: commands/copy.c:1013 commands/copy.c:1032 commands/copy.c:1047
-#: commands/dbcommands.c:148 commands/dbcommands.c:156
+#: commands/copy.c:925 commands/copy.c:943 commands/copy.c:951
+#: commands/copy.c:959 commands/copy.c:967 commands/copy.c:975
+#: commands/copy.c:983 commands/copy.c:991 commands/copy.c:999
+#: commands/copy.c:1015 commands/copy.c:1029 commands/copy.c:1048
+#: commands/copy.c:1063 commands/dbcommands.c:148 commands/dbcommands.c:156
 #: commands/dbcommands.c:164 commands/dbcommands.c:172
 #: commands/dbcommands.c:180 commands/dbcommands.c:188
-#: commands/dbcommands.c:196 commands/dbcommands.c:1360
-#: commands/dbcommands.c:1368 commands/extension.c:1250
-#: commands/extension.c:1258 commands/extension.c:1266
-#: commands/extension.c:2674 commands/foreigncmds.c:483
-#: commands/foreigncmds.c:492 commands/functioncmds.c:496
-#: commands/functioncmds.c:588 commands/functioncmds.c:596
-#: commands/functioncmds.c:604 commands/functioncmds.c:1670
-#: commands/functioncmds.c:1678 commands/sequence.c:1164
-#: commands/sequence.c:1172 commands/sequence.c:1180 commands/sequence.c:1188
-#: commands/sequence.c:1196 commands/sequence.c:1204 commands/sequence.c:1212
-#: commands/sequence.c:1220 commands/typecmds.c:295 commands/typecmds.c:1330
-#: commands/typecmds.c:1339 commands/typecmds.c:1347 commands/typecmds.c:1355
-#: commands/typecmds.c:1363 commands/user.c:135 commands/user.c:152
+#: commands/dbcommands.c:196 commands/dbcommands.c:1372
+#: commands/dbcommands.c:1380 commands/extension.c:1246
+#: commands/extension.c:1254 commands/extension.c:1262
+#: commands/extension.c:2670 commands/foreigncmds.c:486
+#: commands/foreigncmds.c:495 commands/functioncmds.c:522
+#: commands/functioncmds.c:614 commands/functioncmds.c:622
+#: commands/functioncmds.c:630 commands/functioncmds.c:1700
+#: commands/functioncmds.c:1708 commands/sequence.c:1146
+#: commands/sequence.c:1154 commands/sequence.c:1162 commands/sequence.c:1170
+#: commands/sequence.c:1178 commands/sequence.c:1186 commands/sequence.c:1194
+#: commands/sequence.c:1202 commands/typecmds.c:297 commands/typecmds.c:1332
+#: commands/typecmds.c:1341 commands/typecmds.c:1349 commands/typecmds.c:1357
+#: commands/typecmds.c:1365 commands/user.c:135 commands/user.c:152
 #: commands/user.c:160 commands/user.c:168 commands/user.c:176
 #: commands/user.c:184 commands/user.c:192 commands/user.c:200
 #: commands/user.c:208 commands/user.c:216 commands/user.c:224
@@ -2263,22 +2397,22 @@ msgstr "opciones contradictorias o redundantes"
 msgid "default privileges cannot be set for columns"
 msgstr "los privilegios por omisión no pueden definirse para columnas"
 
-#: catalog/aclchk.c:1492 catalog/objectaddress.c:1021 commands/analyze.c:386
-#: commands/copy.c:4159 commands/sequence.c:1466 commands/tablecmds.c:4823
-#: commands/tablecmds.c:4918 commands/tablecmds.c:4968
-#: commands/tablecmds.c:5072 commands/tablecmds.c:5119
-#: commands/tablecmds.c:5203 commands/tablecmds.c:5291
-#: commands/tablecmds.c:7231 commands/tablecmds.c:7435
-#: commands/tablecmds.c:7827 commands/trigger.c:592 parser/analyze.c:1973
-#: parser/parse_relation.c:2146 parser/parse_relation.c:2203
-#: parser/parse_target.c:918 parser/parse_type.c:124 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1780
+#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
+#: commands/copy.c:4247 commands/sequence.c:1448 commands/tablecmds.c:4939
+#: commands/tablecmds.c:5034 commands/tablecmds.c:5084
+#: commands/tablecmds.c:5188 commands/tablecmds.c:5235
+#: commands/tablecmds.c:5319 commands/tablecmds.c:5407
+#: commands/tablecmds.c:7494 commands/tablecmds.c:7698
+#: commands/tablecmds.c:8090 commands/trigger.c:635 parser/analyze.c:1994
+#: parser/parse_relation.c:2358 parser/parse_relation.c:2420
+#: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1820
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe la columna «%s» en la relación «%s»"
 
-#: catalog/aclchk.c:1757 catalog/objectaddress.c:849 commands/sequence.c:1053
-#: commands/tablecmds.c:213 commands/tablecmds.c:10489 utils/adt/acl.c:2076
+#: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1035
+#: commands/tablecmds.c:214 commands/tablecmds.c:11244 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
@@ -2325,7 +2459,7 @@ msgstr "no se puede definir privilegios para tipos de array"
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:3100 catalog/objectaddress.c:1072 commands/typecmds.c:3179
+#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3187
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
@@ -2345,8 +2479,8 @@ msgstr "permiso denegado a la columna %s"
 msgid "permission denied for relation %s"
 msgstr "permiso denegado a la relación %s"
 
-#: catalog/aclchk.c:3273 commands/sequence.c:560 commands/sequence.c:773
-#: commands/sequence.c:815 commands/sequence.c:852 commands/sequence.c:1518
+#: catalog/aclchk.c:3273 commands/sequence.c:535 commands/sequence.c:748
+#: commands/sequence.c:790 commands/sequence.c:827 commands/sequence.c:1500
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
@@ -2556,106 +2690,96 @@ msgstr "no existe el rol con OID %u"
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "no existe el atributo %d de la relación con OID %u"
 
-#: catalog/aclchk.c:3617 catalog/aclchk.c:4529
+#: catalog/aclchk.c:3617 catalog/aclchk.c:4532
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "no existe la relación con OID %u"
 
-#: catalog/aclchk.c:3717 catalog/aclchk.c:4947
+#: catalog/aclchk.c:3717 catalog/aclchk.c:4950
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: catalog/aclchk.c:3771 catalog/aclchk.c:4607 tcop/fastpath.c:223
+#: catalog/aclchk.c:3771 catalog/aclchk.c:4610 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "no existe la función con OID %u"
 
-#: catalog/aclchk.c:3825 catalog/aclchk.c:4633
+#: catalog/aclchk.c:3825 catalog/aclchk.c:4636
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "no existe el lenguaje con OID %u"
 
-#: catalog/aclchk.c:3986 catalog/aclchk.c:4705
+#: catalog/aclchk.c:3989 catalog/aclchk.c:4708
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:4040 catalog/aclchk.c:4732
+#: catalog/aclchk.c:4043 catalog/aclchk.c:4735
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "no existe el tablespace con OID %u"
 
-#: catalog/aclchk.c:4098 catalog/aclchk.c:4866 commands/foreigncmds.c:299
+#: catalog/aclchk.c:4101 catalog/aclchk.c:4869 commands/foreigncmds.c:302
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "no existe el conector de datos externos con OID %u"
 
-#: catalog/aclchk.c:4159 catalog/aclchk.c:4893 commands/foreigncmds.c:406
+#: catalog/aclchk.c:4162 catalog/aclchk.c:4896 commands/foreigncmds.c:409
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "no existe el servidor foráneo con OID %u"
 
-#: catalog/aclchk.c:4218 catalog/aclchk.c:4232 catalog/aclchk.c:4555
+#: catalog/aclchk.c:4221 catalog/aclchk.c:4235 catalog/aclchk.c:4558
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "no existe el tipo con OID %u"
 
-#: catalog/aclchk.c:4581
+#: catalog/aclchk.c:4584
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "no existe el operador con OID %u"
 
-#: catalog/aclchk.c:4758
+#: catalog/aclchk.c:4761
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "no existe la clase de operadores con OID %u"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4788
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "no existe la familia de operadores con OID %u"
 
-#: catalog/aclchk.c:4812
+#: catalog/aclchk.c:4815
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "no existe el diccionario de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:4839
+#: catalog/aclchk.c:4842
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "no existe la configuración de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:4920 commands/event_trigger.c:506
+#: catalog/aclchk.c:4923 commands/event_trigger.c:509
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "no existe el disparador por eventos con OID %u"
 
-#: catalog/aclchk.c:4973
+#: catalog/aclchk.c:4976
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: catalog/aclchk.c:4999
+#: catalog/aclchk.c:5002
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "no existe la conversión con OID %u"
 
-#: catalog/aclchk.c:5040
+#: catalog/aclchk.c:5043
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "no existe la extensión con OID %u"
 
-#: catalog/catalog.c:63
-#, c-format
-msgid "invalid fork name"
-msgstr "nombre de «fork» no válido"
-
-#: catalog/catalog.c:64
-#, c-format
-msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
-msgstr "Los nombres válidos son «man», «fsm» y «vm»."
-
 #: catalog/dependency.c:626
 #, c-format
 msgid "cannot drop %s because %s requires it"
@@ -2666,7 +2790,7 @@ msgstr "no se puede eliminar %s porque %s lo requiere"
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:790 catalog/pg_shdepend.c:571
+#: catalog/dependency.c:790 catalog/pg_shdepend.c:573
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "no se puede eliminar %s porque es requerido por el sistema"
@@ -2686,7 +2810,7 @@ msgstr "%s depende de %s"
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:956 catalog/pg_shdepend.c:682
+#: catalog/dependency.c:956 catalog/pg_shdepend.c:684
 #, c-format
 msgid ""
 "\n"
@@ -2706,17 +2830,6 @@ msgstr[1] ""
 msgid "cannot drop %s because other objects depend on it"
 msgstr "no se puede eliminar %s porque otros objetos dependen de él"
 
-#: catalog/dependency.c:970 catalog/dependency.c:971 catalog/dependency.c:977
-#: catalog/dependency.c:978 catalog/dependency.c:989 catalog/dependency.c:990
-#: catalog/objectaddress.c:751 commands/tablecmds.c:737 commands/user.c:988
-#: port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1174 utils/misc/guc.c:5472 utils/misc/guc.c:5807
-#: utils/misc/guc.c:8168 utils/misc/guc.c:8202 utils/misc/guc.c:8236
-#: utils/misc/guc.c:8270 utils/misc/guc.c:8305
-#, c-format
-msgid "%s"
-msgstr "%s"
-
 #: catalog/dependency.c:972 catalog/dependency.c:979
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
@@ -2735,198 +2848,198 @@ msgid_plural "drop cascades to %d other objects"
 msgstr[0] "eliminando además %d objeto más"
 msgstr[1] "eliminando además %d objetos más"
 
-#: catalog/heap.c:266
+#: catalog/heap.c:274
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "se ha denegado el permiso para crear «%s.%s»"
 
-#: catalog/heap.c:268
+#: catalog/heap.c:276
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/heap.c:403 commands/tablecmds.c:1376 commands/tablecmds.c:1817
-#: commands/tablecmds.c:4468
+#: catalog/heap.c:411 commands/tablecmds.c:1402 commands/tablecmds.c:1844
+#: commands/tablecmds.c:4583
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:420 commands/tablecmds.c:4724
+#: catalog/heap.c:428 commands/tablecmds.c:4839
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "el nombre de columna «%s» colisiona con nombre de una columna de sistema"
 
-#: catalog/heap.c:436
+#: catalog/heap.c:444
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "el nombre de columna «%s» fue especificado más de una vez"
 
-#: catalog/heap.c:486
+#: catalog/heap.c:494
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "la columna «%s» tiene tipo «unknown» (desconocido)"
 
-#: catalog/heap.c:487
+#: catalog/heap.c:495
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Continuando con la creación de la relación de todas maneras."
 
-#: catalog/heap.c:500
+#: catalog/heap.c:508
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la columna «%s» tiene pseudotipo %s"
 
-#: catalog/heap.c:530
+#: catalog/heap.c:538
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "un tipo compuesto %s no puede ser hecho miembro de sí mismo"
 
-#: catalog/heap.c:572 commands/createas.c:342
+#: catalog/heap.c:580 commands/createas.c:343
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna «%s» con tipo ordenable %s"
 
-#: catalog/heap.c:574 commands/createas.c:344 commands/indexcmds.c:1085
-#: commands/view.c:96 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1515
-#: utils/adt/formatting.c:1567 utils/adt/formatting.c:1635
-#: utils/adt/formatting.c:1687 utils/adt/formatting.c:1756
-#: utils/adt/formatting.c:1820 utils/adt/like.c:212 utils/adt/selfuncs.c:5194
+#: catalog/heap.c:582 commands/createas.c:345 commands/indexcmds.c:1072
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1510
+#: utils/adt/formatting.c:1562 utils/adt/formatting.c:1630
+#: utils/adt/formatting.c:1682 utils/adt/formatting.c:1751
+#: utils/adt/formatting.c:1815 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
 #: utils/adt/varlena.c:1381
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
 
-#: catalog/heap.c:1047 catalog/index.c:776 commands/tablecmds.c:2519
+#: catalog/heap.c:1055 catalog/index.c:778 commands/tablecmds.c:2549
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1063 catalog/pg_type.c:402 catalog/pg_type.c:705
-#: commands/typecmds.c:237 commands/typecmds.c:737 commands/typecmds.c:1088
-#: commands/typecmds.c:1306 commands/typecmds.c:2058
+#: catalog/heap.c:1071 catalog/pg_type.c:403 catalog/pg_type.c:706
+#: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
+#: commands/typecmds.c:1308 commands/typecmds.c:2060
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1064
+#: catalog/heap.c:1072
 #, c-format
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr "Una relación tiene un tipo asociado del mismo nombre, de modo que debe usar un nombre que no entre en conflicto con un tipo existente."
 
-#: catalog/heap.c:2249
+#: catalog/heap.c:2257
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2402 catalog/pg_constraint.c:650 commands/tablecmds.c:5617
+#: catalog/heap.c:2410 catalog/pg_constraint.c:650 commands/tablecmds.c:5734
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la restricción «%s» para la relación «%s» ya existe"
 
-#: catalog/heap.c:2412
+#: catalog/heap.c:2420
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción no heredada de la relación «%s»"
 
-#: catalog/heap.c:2426
+#: catalog/heap.c:2434
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2519
+#: catalog/heap.c:2527
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "no se pueden usar referencias a columnas en una cláusula default"
 
-#: catalog/heap.c:2530
+#: catalog/heap.c:2538
 #, c-format
 msgid "default expression must not return a set"
 msgstr "expresiones default no pueden retornar conjuntos"
 
-#: catalog/heap.c:2549 rewrite/rewriteHandler.c:1033
+#: catalog/heap.c:2557 rewrite/rewriteHandler.c:1066
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "la columna «%s» es de tipo %s pero la expresión default es de tipo %s"
 
-#: catalog/heap.c:2554 commands/prepare.c:374 parser/parse_node.c:398
+#: catalog/heap.c:2562 commands/prepare.c:374 parser/parse_node.c:411
 #: parser/parse_target.c:509 parser/parse_target.c:758
-#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1038
+#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1071
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Necesitará reescribir la expresión o aplicarle una conversión de tipo."
 
-#: catalog/heap.c:2601
+#: catalog/heap.c:2609
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "sólo la tabla «%s» puede ser referenciada en una restricción «check»"
 
-#: catalog/heap.c:2841
+#: catalog/heap.c:2849
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "combinación de ON COMMIT y llaves foráneas no soportada"
 
-#: catalog/heap.c:2842
+#: catalog/heap.c:2850
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr "La tabla «%s» se refiere a «%s», pero no tienen la misma expresión para ON COMMIT."
 
-#: catalog/heap.c:2847
+#: catalog/heap.c:2855
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "no se puede truncar una tabla referida en una llave foránea"
 
-#: catalog/heap.c:2848
+#: catalog/heap.c:2856
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:2850
+#: catalog/heap.c:2858
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Trunque la tabla «%s» al mismo tiempo, o utilice TRUNCATE ... CASCADE."
 
-#: catalog/index.c:203 parser/parse_utilcmd.c:1398 parser/parse_utilcmd.c:1484
+#: catalog/index.c:204 parser/parse_utilcmd.c:1393 parser/parse_utilcmd.c:1479
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "no se permiten múltiples llaves primarias para la tabla «%s»"
 
-#: catalog/index.c:221
+#: catalog/index.c:222
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:737 catalog/index.c:1142
+#: catalog/index.c:739 catalog/index.c:1143
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "los usuarios no pueden crear índices en tablas del sistema"
 
-#: catalog/index.c:747
+#: catalog/index.c:749
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "no se pueden crear índices de forma concurrente en tablas del sistema"
 
-#: catalog/index.c:765
+#: catalog/index.c:767
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:1410
+#: catalog/index.c:1403
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY debe ser la primera acción en una transacción"
 
-#: catalog/index.c:1978
+#: catalog/index.c:1936
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "construyendo índice «%s» en la tabla «%s»"
 
-#: catalog/index.c:3154
+#: catalog/index.c:3121
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "no se puede hacer reindex de tablas temporales de otras sesiones"
 
 #: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4233
+#: commands/trigger.c:4486
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "no están implementadas las referencias entre bases de datos: «%s.%s.%s»"
@@ -2946,19 +3059,19 @@ msgstr "no se pudo bloquear un candado en la relación «%s.%s»"
 msgid "could not obtain lock on relation \"%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s»"
 
-#: catalog/namespace.c:412 parser/parse_relation.c:939
+#: catalog/namespace.c:412 parser/parse_relation.c:964
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "no existe la relación «%s.%s»"
 
-#: catalog/namespace.c:417 parser/parse_relation.c:952
-#: parser/parse_relation.c:960 utils/adt/regproc.c:853
+#: catalog/namespace.c:417 parser/parse_relation.c:977
+#: parser/parse_relation.c:985 utils/adt/regproc.c:974
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: catalog/namespace.c:485 catalog/namespace.c:2834 commands/extension.c:1400
-#: commands/extension.c:1406
+#: catalog/namespace.c:485 catalog/namespace.c:2849 commands/extension.c:1396
+#: commands/extension.c:1402
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
@@ -2978,245 +3091,246 @@ msgstr "no se pueden crear tablas temporales en esquemas no temporales"
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "sólo relaciones temporales pueden ser creadas en los esquemas temporales"
 
-#: catalog/namespace.c:2136
+#: catalog/namespace.c:2151
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "no existe el analizador de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2262
+#: catalog/namespace.c:2277
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "no existe el diccionario de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2389
+#: catalog/namespace.c:2404
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "no existe la plantilla de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2515 commands/tsearchcmds.c:1168
-#: utils/cache/ts_cache.c:619
+#: catalog/namespace.c:2530 commands/tsearchcmds.c:1168
+#: utils/cache/ts_cache.c:616
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "no existe la configuración de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2628 parser/parse_expr.c:787 parser/parse_target.c:1108
+#: catalog/namespace.c:2643 parser/parse_expr.c:788 parser/parse_target.c:1110
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: catalog/namespace.c:2634 gram.y:12433 gram.y:13637 parser/parse_expr.c:794
-#: parser/parse_target.c:1115
+#: catalog/namespace.c:2649 parser/parse_expr.c:795 parser/parse_target.c:1117
+#: gram.y:12556 gram.y:13788
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:2768
+#: catalog/namespace.c:2783
 #, c-format
 msgid "%s is already in schema \"%s\""
 msgstr "%s ya está en el esquema «%s»"
 
-#: catalog/namespace.c:2776
+#: catalog/namespace.c:2791
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "no se puede mover objetos hacia o desde esquemas temporales"
 
-#: catalog/namespace.c:2782
+#: catalog/namespace.c:2797
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "no se puede mover objetos hacia o desde el esquema TOAST"
 
-#: catalog/namespace.c:2855 commands/schemacmds.c:212
-#: commands/schemacmds.c:288
+#: catalog/namespace.c:2870 commands/schemacmds.c:212
+#: commands/schemacmds.c:288 commands/tablecmds.c:708
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
 
-#: catalog/namespace.c:2886
+#: catalog/namespace.c:2901
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3327
+#: catalog/namespace.c:3342
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»"
 
-#: catalog/namespace.c:3382
+#: catalog/namespace.c:3397
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "no existe la conversión «%s»"
 
-#: catalog/namespace.c:3590
+#: catalog/namespace.c:3605
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "se ha denegado el permiso para crear tablas temporales en la base de datos «%s»"
 
-#: catalog/namespace.c:3606
+#: catalog/namespace.c:3621
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:3850 commands/tablespace.c:1079 commands/variable.c:61
-#: replication/syncrep.c:676 utils/misc/guc.c:8335
+#: catalog/namespace.c:3865 commands/tablespace.c:1113 commands/variable.c:61
+#: replication/syncrep.c:677 utils/misc/guc.c:9034
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
-#: catalog/objectaddress.c:719
+#: catalog/objectaddress.c:732
 msgid "database name cannot be qualified"
 msgstr "un nombre de base de datos no puede ser calificado"
 
-#: catalog/objectaddress.c:722 commands/extension.c:2427
+#: catalog/objectaddress.c:735 commands/extension.c:2423
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "un nombre de extensión no puede ser calificado"
 
-#: catalog/objectaddress.c:725
+#: catalog/objectaddress.c:738
 msgid "tablespace name cannot be qualified"
 msgstr "un nombre de tablespace no puede ser calificado"
 
-#: catalog/objectaddress.c:728
+#: catalog/objectaddress.c:741
 msgid "role name cannot be qualified"
 msgstr "un nombre de rol no puede ser calificado"
 
-#: catalog/objectaddress.c:731
+#: catalog/objectaddress.c:744
 msgid "schema name cannot be qualified"
 msgstr "un nombre de esquema no puede ser calificado"
 
-#: catalog/objectaddress.c:734
+#: catalog/objectaddress.c:747
 msgid "language name cannot be qualified"
 msgstr "un nombre de lenguaje no puede ser calificado"
 
-#: catalog/objectaddress.c:737
+#: catalog/objectaddress.c:750
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "un nombre de conector de datos externos no puede ser calificado"
 
-#: catalog/objectaddress.c:740
+#: catalog/objectaddress.c:753
 msgid "server name cannot be qualified"
 msgstr "un nombre de servidor no puede ser calificado"
 
-#: catalog/objectaddress.c:743
+#: catalog/objectaddress.c:756
 msgid "event trigger name cannot be qualified"
 msgstr "un nombre de disparador por eventos no puede ser calificado"
 
-#: catalog/objectaddress.c:856 commands/lockcmds.c:94 commands/tablecmds.c:207
-#: commands/tablecmds.c:1237 commands/tablecmds.c:4015
-#: commands/tablecmds.c:7338
+#: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:208
+#: commands/tablecmds.c:1263 commands/tablecmds.c:4130
+#: commands/tablecmds.c:7601
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
-#: catalog/objectaddress.c:863 commands/tablecmds.c:219
-#: commands/tablecmds.c:4039 commands/tablecmds.c:10494 commands/view.c:134
+#: catalog/objectaddress.c:876 commands/tablecmds.c:220
+#: commands/tablecmds.c:4154 commands/tablecmds.c:11249 commands/view.c:154
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:870 commands/matview.c:144 commands/tablecmds.c:225
-#: commands/tablecmds.c:10499
+#: catalog/objectaddress.c:883 commands/matview.c:171 commands/tablecmds.c:226
+#: commands/tablecmds.c:11254
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
-#: catalog/objectaddress.c:877 commands/tablecmds.c:243
-#: commands/tablecmds.c:4042 commands/tablecmds.c:10504
+#: catalog/objectaddress.c:890 commands/tablecmds.c:244
+#: commands/tablecmds.c:4157 commands/tablecmds.c:11259
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
 
-#: catalog/objectaddress.c:1008
+#: catalog/objectaddress.c:1028
 #, c-format
 msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
-#: catalog/objectaddress.c:1061 commands/functioncmds.c:127
-#: commands/tablecmds.c:235 commands/typecmds.c:3245 parser/parse_func.c:1586
-#: parser/parse_type.c:203 utils/adt/acl.c:4374 utils/adt/regproc.c:1017
+#: catalog/objectaddress.c:1083 commands/functioncmds.c:126
+#: commands/tablecmds.c:236 commands/typecmds.c:3253 parser/parse_type.c:222
+#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: utils/adt/regproc.c:1165
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
 
-#: catalog/objectaddress.c:1217 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:1240 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:1232 commands/functioncmds.c:1298
+#: catalog/objectaddress.c:1255 commands/functioncmds.c:1328
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
 
-#: catalog/objectaddress.c:1263 catalog/objectaddress.c:1279
+#: catalog/objectaddress.c:1286 catalog/objectaddress.c:1302
 #, c-format
 msgid "must be superuser"
 msgstr "debe ser superusuario"
 
-#: catalog/objectaddress.c:1270
+#: catalog/objectaddress.c:1293
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "debe tener privilegio CREATEROLE"
 
-#: catalog/objectaddress.c:1516
+#: catalog/objectaddress.c:1539
 #, c-format
 msgid " column %s"
 msgstr " columna %s"
 
-#: catalog/objectaddress.c:1522
+#: catalog/objectaddress.c:1545
 #, c-format
 msgid "function %s"
 msgstr "función %s"
 
-#: catalog/objectaddress.c:1527
+#: catalog/objectaddress.c:1550
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:1557
+#: catalog/objectaddress.c:1580
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:1577
+#: catalog/objectaddress.c:1600
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
-#: catalog/objectaddress.c:1601
+#: catalog/objectaddress.c:1624
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:1607
+#: catalog/objectaddress.c:1630
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:1624
+#: catalog/objectaddress.c:1647
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
-#: catalog/objectaddress.c:1661
+#: catalog/objectaddress.c:1684
 #, c-format
 msgid "default for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:1678
+#: catalog/objectaddress.c:1701
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:1684
+#: catalog/objectaddress.c:1707
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:1689
+#: catalog/objectaddress.c:1712
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:1721
+#: catalog/objectaddress.c:1744
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "clase de operadores «%s» para el método de acceso «%s»"
@@ -3225,7 +3339,7 @@ msgstr "clase de operadores «%s» para el método de acceso «%s»"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:1771
+#: catalog/objectaddress.c:1794
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -3234,226 +3348,269 @@ msgstr "operador %d (%s, %s) de %s: %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:1821
+#: catalog/objectaddress.c:1844
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "función %d (%s, %s) de %s: %s"
 
-#: catalog/objectaddress.c:1861
+#: catalog/objectaddress.c:1884
 #, c-format
 msgid "rule %s on "
 msgstr "regla «%s» en "
 
-#: catalog/objectaddress.c:1896
+#: catalog/objectaddress.c:1919
 #, c-format
 msgid "trigger %s on "
 msgstr "disparador %s en "
 
-#: catalog/objectaddress.c:1913
+#: catalog/objectaddress.c:1936
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:1926
+#: catalog/objectaddress.c:1949
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1941
+#: catalog/objectaddress.c:1964
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1956
+#: catalog/objectaddress.c:1979
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1971
+#: catalog/objectaddress.c:1994
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1979
+#: catalog/objectaddress.c:2002
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:1992
+#: catalog/objectaddress.c:2015
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:2004
+#: catalog/objectaddress.c:2027
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:2013
+#: catalog/objectaddress.c:2036
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:2022
+#: catalog/objectaddress.c:2045
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:2047
+#: catalog/objectaddress.c:2070
 #, c-format
 msgid "user mapping for %s"
 msgstr "mapeo para el usuario %s"
 
-#: catalog/objectaddress.c:2081
+#: catalog/objectaddress.c:2104
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2086
+#: catalog/objectaddress.c:2109
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2091
+#: catalog/objectaddress.c:2114
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2119
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2102
+#: catalog/objectaddress.c:2125
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2110
+#: catalog/objectaddress.c:2133
 #, c-format
 msgid " in schema %s"
 msgstr " en esquema %s"
 
-#: catalog/objectaddress.c:2127
+#: catalog/objectaddress.c:2150
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:2140
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "event trigger %s"
 msgstr "disparador por eventos %s"
 
-#: catalog/objectaddress.c:2200
+#: catalog/objectaddress.c:2223
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:2204
+#: catalog/objectaddress.c:2227
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:2208
+#: catalog/objectaddress.c:2231
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:2212
+#: catalog/objectaddress.c:2235
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:2216
+#: catalog/objectaddress.c:2239
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:2220
+#: catalog/objectaddress.c:2243
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:2224
+#: catalog/objectaddress.c:2247
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:2228
+#: catalog/objectaddress.c:2251
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:2233
+#: catalog/objectaddress.c:2256
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:2270
+#: catalog/objectaddress.c:2293
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
 
-#: catalog/pg_aggregate.c:102
+#: catalog/pg_aggregate.c:118
+#, c-format
+msgid "aggregates cannot have more than %d argument"
+msgid_plural "aggregates cannot have more than %d arguments"
+msgstr[0] "las funciones de agregación no pueden tener más de %d argumento"
+msgstr[1] "las funciones de agregación no pueden tener más de %d argumentos"
+
+#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "no se pudo determinar el tipo de dato de transición"
 
-#: catalog/pg_aggregate.c:103
+#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
 #, c-format
 msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument."
 msgstr "Una función de agregación que use un tipo de dato de transición polimórfico debe tener al menos un argumento de tipo polimórfico."
 
-#: catalog/pg_aggregate.c:126
+#: catalog/pg_aggregate.c:165
 #, c-format
-msgid "return type of transition function %s is not %s"
-msgstr "el tipo de retorno de la función de transición %s no es %s"
+msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
+msgstr "una función de agregación variádica de conjuntos ordenados debe ser de tipo VARIADIC ANY"
 
-#: catalog/pg_aggregate.c:146
+#: catalog/pg_aggregate.c:191
 #, c-format
-msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
-msgstr "no se puede omitir el valor inicial cuando la función de transición es strict y el tipo de transición no es compatible con el tipo de entrada"
+msgid "a hypothetical-set aggregate must have direct arguments matching its aggregated arguments"
+msgstr "la función de agregación de conjunto hipotético debe tener argumentos directos que coincidan con los argumentos agregados"
 
-#: catalog/pg_aggregate.c:177 catalog/pg_proc.c:241 catalog/pg_proc.c:248
+#: catalog/pg_aggregate.c:238 catalog/pg_aggregate.c:282
+#, c-format
+msgid "return type of transition function %s is not %s"
+msgstr "el tipo de retorno de la función de transición %s no es %s"
+
+#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
+#, c-format
+msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
+msgstr "no se puede omitir el valor inicial cuando la función de transición es «strict» y el tipo de transición no es compatible con el tipo de entrada"
+
+#: catalog/pg_aggregate.c:327
+#, c-format
+msgid "return type of inverse transition function %s is not %s"
+msgstr "el tipo de retorno de la función inversa de transición %s no es %s"
+
+#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2301
+#, c-format
+msgid "strictness of aggregate's forward and inverse transition functions must match"
+msgstr "la opción «strict» de las funciones de transición directa e inversa deben coincidir exactamente en la función de agregación"
+
+#: catalog/pg_aggregate.c:388 catalog/pg_aggregate.c:464
+#, c-format
+msgid "final function with extra arguments must not be declared STRICT"
+msgstr "la función final con argumentos extra no debe declararse STRICT"
+
+#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:241 catalog/pg_proc.c:248
 #, c-format
 msgid "cannot determine result data type"
 msgstr "no se puede determinar el tipo de dato del resultado"
 
-#: catalog/pg_aggregate.c:178
+#: catalog/pg_aggregate.c:411
 #, c-format
 msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Una función de agregación que retorne un tipo de datos polimórfico debe tener al menos un argumento de tipo polimórfico."
 
-#: catalog/pg_aggregate.c:190 catalog/pg_proc.c:254
+#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:254
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso inseguro de pseudotipo «internal»"
 
-#: catalog/pg_aggregate.c:191 catalog/pg_proc.c:255
+#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:255
 #, c-format
 msgid "A function returning \"internal\" must have at least one \"internal\" argument."
 msgstr "Una función que retorne «internal» debe tener al menos un argumento de tipo «internal»."
 
-#: catalog/pg_aggregate.c:199
+#: catalog/pg_aggregate.c:477
+#, c-format
+msgid "moving-aggregate implementation returns type %s, but plain implementation returns type %s"
+msgstr "la implementación de la función de agregación en modo «moving» devuelve tipo de dato %s, pero la implementación normal devuelve tipo de dato %s"
+
+#: catalog/pg_aggregate.c:488
 #, c-format
 msgid "sort operator can only be specified for single-argument aggregates"
-msgstr "el operador de ordenamiento sólo pueden ser especificado para funciones de agregación de un solo argumento"
+msgstr "el operador de ordenamiento sólo puede ser especificado para funciones de agregación de un solo argumento"
 
-#: catalog/pg_aggregate.c:356 commands/typecmds.c:1655
-#: commands/typecmds.c:1706 commands/typecmds.c:1737 commands/typecmds.c:1760
-#: commands/typecmds.c:1781 commands/typecmds.c:1808 commands/typecmds.c:1835
-#: commands/typecmds.c:1912 commands/typecmds.c:1954 parser/parse_func.c:290
-#: parser/parse_func.c:301 parser/parse_func.c:1565
+#: catalog/pg_aggregate.c:701 commands/typecmds.c:1657
+#: commands/typecmds.c:1708 commands/typecmds.c:1739 commands/typecmds.c:1762
+#: commands/typecmds.c:1783 commands/typecmds.c:1810 commands/typecmds.c:1837
+#: commands/typecmds.c:1914 commands/typecmds.c:1956 parser/parse_func.c:357
+#: parser/parse_func.c:386 parser/parse_func.c:411 parser/parse_func.c:425
+#: parser/parse_func.c:500 parser/parse_func.c:511 parser/parse_func.c:1907
 #, c-format
 msgid "function %s does not exist"
 msgstr "no existe la función %s"
 
-#: catalog/pg_aggregate.c:362
+#: catalog/pg_aggregate.c:707
 #, c-format
 msgid "function %s returns a set"
 msgstr "la función %s retorna un conjunto"
 
-#: catalog/pg_aggregate.c:387
+#: catalog/pg_aggregate.c:722
+#, c-format
+msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
+msgstr "la función %s debe aceptar VARIADIC ANY para usarse en esta agregación"
+
+#: catalog/pg_aggregate.c:746
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "la función %s requiere conversión de tipos en tiempo de ejecución"
@@ -3473,22 +3630,22 @@ msgstr "el ordenamiento «%s» ya existe"
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "el dominio %2$s ya contiene una restricción llamada «%1$s»"
 
-#: catalog/pg_constraint.c:792
+#: catalog/pg_constraint.c:811
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "hay múltiples restricciones llamadas «%2$s» en la tabla «%1$s»"
 
-#: catalog/pg_constraint.c:804
+#: catalog/pg_constraint.c:823
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para la tabla «%s»"
 
-#: catalog/pg_constraint.c:850
+#: catalog/pg_constraint.c:869
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "hay múltiples restricciones llamadas «%2$s» en el dominio «%1$s»"
 
-#: catalog/pg_constraint.c:862
+#: catalog/pg_constraint.c:881
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para el dominio «%s»"
@@ -3503,7 +3660,7 @@ msgstr "ya existe la conversión «%s»"
 msgid "default conversion for %s to %s already exists"
 msgstr "ya existe una conversión por omisión desde %s a %s"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2930
+#: catalog/pg_depend.c:165 commands/extension.c:2926
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "«%s» ya es un miembro de la extensión «%s»"
@@ -3513,32 +3670,32 @@ msgstr "«%s» ya es un miembro de la extensión «%s»"
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema"
 
-#: catalog/pg_enum.c:114 catalog/pg_enum.c:201
+#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
-#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
+#: catalog/pg_enum.c:116 catalog/pg_enum.c:203
 #, c-format
 msgid "Labels must be %d characters or less."
 msgstr "Las etiquetas deben ser de %d caracteres o menos."
 
-#: catalog/pg_enum.c:230
+#: catalog/pg_enum.c:231
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "la etiqueta de enum «%s» ya existe, ignorando"
 
-#: catalog/pg_enum.c:237
+#: catalog/pg_enum.c:238
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "la etiqueta de enum «%s» ya existe"
 
-#: catalog/pg_enum.c:292
+#: catalog/pg_enum.c:293
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "«%s» no es una etiqueta de enum existente"
 
-#: catalog/pg_enum.c:353
+#: catalog/pg_enum.c:354
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria"
@@ -3608,7 +3765,7 @@ msgstr "ya existe un operador %s"
 msgid "operator cannot be its own negator or sort operator"
 msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
 
-#: catalog/pg_proc.c:129 parser/parse_func.c:1610 parser/parse_func.c:1650
+#: catalog/pg_proc.c:129 parser/parse_func.c:1931 parser/parse_func.c:1971
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
@@ -3686,27 +3843,27 @@ msgstr "la función %s es de tipo window"
 msgid "function \"%s\" is not a window function"
 msgstr "la función «%s» no es de tipo window"
 
-#: catalog/pg_proc.c:733
+#: catalog/pg_proc.c:746
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:825
+#: catalog/pg_proc.c:844
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:840
+#: catalog/pg_proc.c:859
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "las funciones SQL no pueden tener argumentos de tipo %s"
 
-#: catalog/pg_proc.c:926 executor/functions.c:1411
+#: catalog/pg_proc.c:945 executor/functions.c:1418
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_shdepend.c:689
+#: catalog/pg_shdepend.c:691
 #, c-format
 msgid ""
 "\n"
@@ -3721,117 +3878,157 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1001
+#: catalog/pg_shdepend.c:1003
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1020
+#: catalog/pg_shdepend.c:1022
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1035
+#: catalog/pg_shdepend.c:1037
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "la base de datos %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1079
+#: catalog/pg_shdepend.c:1081
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1081
+#: catalog/pg_shdepend.c:1083
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1089
+#: catalog/pg_shdepend.c:1091
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objeto en %s"
 msgstr[1] "%d objetos en %s"
 
-#: catalog/pg_shdepend.c:1200
+#: catalog/pg_shdepend.c:1202
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema"
 
-#: catalog/pg_shdepend.c:1303
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
 
-#: catalog/pg_type.c:243
+#: catalog/pg_type.c:244
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:259 catalog/pg_type.c:267 catalog/pg_type.c:275
-#: catalog/pg_type.c:284
+#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
+#: catalog/pg_type.c:285
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d"
 
-#: catalog/pg_type.c:291
+#: catalog/pg_type.c:292
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "el tamaño interno %d no es válido para un tipo pasado por valor"
 
-#: catalog/pg_type.c:300 catalog/pg_type.c:306
+#: catalog/pg_type.c:301 catalog/pg_type.c:307
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 
-#: catalog/pg_type.c:314
+#: catalog/pg_type.c:315
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 
-#: catalog/pg_type.c:772
+#: catalog/pg_type.c:773
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "no se pudo formar un nombre de tipo de array para el tipo «%s»"
 
-#: catalog/toasting.c:91 commands/indexcmds.c:375 commands/tablecmds.c:4024
-#: commands/tablecmds.c:10414
+#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4139
+#: commands/tablecmds.c:11137
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
 
-#: catalog/toasting.c:142
+#: catalog/toasting.c:157
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr "no se puede crear tablas TOAST a relaciones compartidas después de initdb"
 
-#: commands/aggregatecmds.c:106
+#: commands/aggregatecmds.c:148
+#, c-format
+msgid "only ordered-set aggregates can be hypothetical"
+msgstr "sólo las funciones de agregación de conjuntos ordenados pueden ser hipotéticas"
+
+#: commands/aggregatecmds.c:171
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "el atributo de la función de agregación «%s» no es reconocido"
 
-#: commands/aggregatecmds.c:116
+#: commands/aggregatecmds.c:181
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "debe especificarse el tipo de transición (stype) de la función de agregación"
 
-#: commands/aggregatecmds.c:120
+#: commands/aggregatecmds.c:185
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "debe especificarse la función de transición (sfunc) de la función de agregación"
 
-#: commands/aggregatecmds.c:137
+#: commands/aggregatecmds.c:197
+#, c-format
+msgid "aggregate msfunc must be specified when mstype is specified"
+msgstr "debe especificarse la función de transición msfunc cuando se especifica mstype"
+
+#: commands/aggregatecmds.c:201
+#, c-format
+msgid "aggregate minvfunc must be specified when mstype is specified"
+msgstr "debe especificarse la función de transición minvfunc cuando se especifica mstype"
+
+#: commands/aggregatecmds.c:208
+#, c-format
+msgid "aggregate msfunc must not be specified without mstype"
+msgstr "no debe especificarse msfunc sin mstype"
+
+#: commands/aggregatecmds.c:212
+#, c-format
+msgid "aggregate minvfunc must not be specified without mstype"
+msgstr "no debe especificarse minvfunc sin mstype"
+
+#: commands/aggregatecmds.c:216
+#, c-format
+msgid "aggregate mfinalfunc must not be specified without mstype"
+msgstr "no debe especificarse mfinalfunc sin mstype"
+
+#: commands/aggregatecmds.c:220
+#, c-format
+msgid "aggregate msspace must not be specified without mstype"
+msgstr "no debe especificarse msspace sin mstype"
+
+#: commands/aggregatecmds.c:224
+#, c-format
+msgid "aggregate minitcond must not be specified without mstype"
+msgstr "no debe especificarse minitcond sin mstype"
+
+#: commands/aggregatecmds.c:244
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "debe especificarse el tipo de entrada de la función de agregación"
 
-#: commands/aggregatecmds.c:162
+#: commands/aggregatecmds.c:274
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "el tipo base es redundante con el tipo de entrada en la función de agregación"
 
-#: commands/aggregatecmds.c:195
+#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "el tipo de transición de la función de agregación no puede ser %s"
@@ -3841,12 +4038,12 @@ msgstr "el tipo de transición de la función de agregación no puede ser %s"
 msgid "event trigger \"%s\" already exists"
 msgstr "el disparador por eventos «%s» ya existe"
 
-#: commands/alter.c:82 commands/foreigncmds.c:541
+#: commands/alter.c:82 commands/foreigncmds.c:544
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "el conector de datos externos «%s» ya existe"
 
-#: commands/alter.c:85 commands/foreigncmds.c:834
+#: commands/alter.c:85 commands/foreigncmds.c:838
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "el servidor «%s» ya existe"
@@ -3891,166 +4088,166 @@ msgstr "debe ser superusuario para cambiar el nombre de «%s»"
 msgid "must be superuser to set schema of %s"
 msgstr "debe ser superusuario para definir el esquema de %s"
 
-#: commands/analyze.c:155
+#: commands/analyze.c:157
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "omitiendo analyze de «%s»: el candado no está disponible"
 
-#: commands/analyze.c:172
+#: commands/analyze.c:174
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario puede analizarla"
 
-#: commands/analyze.c:176
+#: commands/analyze.c:178
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede analizarla"
 
-#: commands/analyze.c:180
+#: commands/analyze.c:182
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede analizarla"
 
-#: commands/analyze.c:240
+#: commands/analyze.c:242
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea"
 
-#: commands/analyze.c:251
+#: commands/analyze.c:253
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "omitiendo «%s»: no se pueden analizar objetos que no son tablas, ni tablas especiales de sistema"
 
-#: commands/analyze.c:328
+#: commands/analyze.c:332
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analizando la jerarquía de herencia «%s.%s»"
 
-#: commands/analyze.c:333
+#: commands/analyze.c:337
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:651
+#: commands/analyze.c:657
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "analyze automático de la tabla «%s.%s.%s»: uso del sistema: %s"
 
-#: commands/analyze.c:1293
+#: commands/analyze.c:1300
 #, 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»: se procesaron %d de %u páginas, que contenían %.0f filas vigentes y %.0f filas no vigentes; %d filas en la muestra, %.0f total de filas estimadas"
 
-#: commands/analyze.c:1557 executor/execQual.c:2848
+#: commands/analyze.c:1564 executor/execQual.c:2904
 msgid "could not convert row type"
 msgstr "no se pudo convertir el tipo de registro"
 
-#: commands/async.c:546
+#: commands/async.c:545
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:551
+#: commands/async.c:550
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:558
+#: commands/async.c:557
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:743
+#: commands/async.c:742
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "no se puede hacer PREPARE de una transacción que ha ejecutado LISTEN, UNLISTEN o NOTIFY"
 
-#: commands/async.c:846
+#: commands/async.c:845
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1419
+#: commands/async.c:1418
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1421
+#: commands/async.c:1420
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "El proceso servidor con PID %d está entre aquellos con transacciones más antiguas."
 
-#: commands/async.c:1424
+#: commands/async.c:1423
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "La cola NOTIFY no puede vaciarse hasta que ese proceso cierre su transacción actual."
 
-#: commands/cluster.c:127 commands/cluster.c:365
+#: commands/cluster.c:126 commands/cluster.c:363
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 
-#: commands/cluster.c:157
+#: commands/cluster.c:156
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "no hay un índice de ordenamiento definido para la tabla «%s»"
 
-#: commands/cluster.c:171 commands/tablecmds.c:8508
+#: commands/cluster.c:170 commands/tablecmds.c:8795 commands/tablecmds.c:10461
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
 
-#: commands/cluster.c:354
+#: commands/cluster.c:352
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "no se puede reordenar un catálogo compartido"
 
-#: commands/cluster.c:369
+#: commands/cluster.c:367
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:433
+#: commands/cluster.c:430 commands/tablecmds.c:10471
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
 
-#: commands/cluster.c:441
+#: commands/cluster.c:438
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "no se puede reordenar en índice «%s» porque el método de acceso no soporta reordenamiento"
 
-#: commands/cluster.c:453
+#: commands/cluster.c:450
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "no se puede reordenar en índice parcial «%s»"
 
-#: commands/cluster.c:467
+#: commands/cluster.c:464
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "no se puede reordenar en el índice no válido «%s»"
 
-#: commands/cluster.c:909
+#: commands/cluster.c:920
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»"
 
-#: commands/cluster.c:915
+#: commands/cluster.c:926
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:920 commands/vacuumlazy.c:411
+#: commands/cluster.c:931 commands/vacuumlazy.c:445
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: commands/cluster.c:1079
+#: commands/cluster.c:1090
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "«%s»: se encontraron %.0f versiones eliminables de filas y %.0f no eliminables en %u páginas"
 
-#: commands/cluster.c:1083
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4084,16 +4281,16 @@ msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificaci
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:946
-#: commands/dbcommands.c:1049 commands/dbcommands.c:1222
-#: commands/dbcommands.c:1411 commands/dbcommands.c:1506
-#: commands/dbcommands.c:1946 utils/init/postinit.c:775
-#: utils/init/postinit.c:843 utils/init/postinit.c:860
+#: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
+#: commands/dbcommands.c:1042 commands/dbcommands.c:1234
+#: commands/dbcommands.c:1423 commands/dbcommands.c:1518
+#: commands/dbcommands.c:1935 utils/init/postinit.c:794
+#: utils/init/postinit.c:862 utils/init/postinit.c:879
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
-#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:693
+#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:686
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, o tabla foránea"
@@ -4128,467 +4325,483 @@ msgstr "no existe la codificación de destino «%s»"
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "la función de conversión de codificación %s debe retornar tipo «void»"
 
-#: commands/copy.c:358 commands/copy.c:370 commands/copy.c:404
-#: commands/copy.c:414
+#: commands/copy.c:360 commands/copy.c:372 commands/copy.c:406
+#: commands/copy.c:416
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY no está soportado a la salida estándar o desde la entrada estándar"
 
-#: commands/copy.c:512
+#: commands/copy.c:514
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "no se pudo escribir al programa COPY: %m"
 
-#: commands/copy.c:517
+#: commands/copy.c:519
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "no se pudo escribir archivo COPY: %m"
 
-#: commands/copy.c:530
+#: commands/copy.c:532
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "se perdió la conexión durante COPY a la salida estándar"
 
-#: commands/copy.c:571
+#: commands/copy.c:573
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "no se pudo leer desde archivo COPY: %m"
 
-#: commands/copy.c:587 commands/copy.c:606 commands/copy.c:610
-#: tcop/fastpath.c:293 tcop/postgres.c:351 tcop/postgres.c:387
+#: commands/copy.c:589 commands/copy.c:608 commands/copy.c:612
+#: tcop/fastpath.c:293 tcop/postgres.c:342 tcop/postgres.c:378
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "se encontró fin de archivo inesperado en una conexión con una transacción abierta"
 
-#: commands/copy.c:622
+#: commands/copy.c:624
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "falló COPY desde la entrada estándar: %s"
 
-#: commands/copy.c:638
+#: commands/copy.c:640
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "se recibió un mensaje de tipo 0x%02X inesperado durante COPY desde la entrada estándar"
 
-#: commands/copy.c:792
+#: commands/copy.c:794
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr "debe ser superusuario para usar COPY desde o hacia un programa externo"
 
-#: commands/copy.c:793 commands/copy.c:799
+#: commands/copy.c:795 commands/copy.c:801
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Cualquier usuario puede usar COPY hacia la salida estándar o desde la entrada estándar. La orden \\copy de psql también puede ser utilizado por cualquier usuario."
 
-#: commands/copy.c:798
+#: commands/copy.c:800
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "debe ser superusuario para usar COPY desde o hacia un archivo"
 
-#: commands/copy.c:934
+#: commands/copy.c:936
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:1005 commands/copy.c:1019 commands/copy.c:1039
+#: commands/copy.c:1007 commands/copy.c:1021 commands/copy.c:1035
+#: commands/copy.c:1055
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "el argumento de la opción «%s» debe ser una lista de nombres de columna"
 
-#: commands/copy.c:1052
+#: commands/copy.c:1068
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "el argumento de la opción «%s» debe ser un nombre válido de codificación"
 
-#: commands/copy.c:1058
+#: commands/copy.c:1074
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "no se reconoce la opción «%s»"
 
-#: commands/copy.c:1069
+#: commands/copy.c:1085
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "no se puede especificar DELIMITER en modo BINARY"
 
-#: commands/copy.c:1074
+#: commands/copy.c:1090
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "no se puede especificar NULL en modo BINARY"
 
-#: commands/copy.c:1096
+#: commands/copy.c:1112
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "el delimitador de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:1103
+#: commands/copy.c:1119
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "el delimitador de COPY no puede ser el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:1109
+#: commands/copy.c:1125
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:1126
+#: commands/copy.c:1142
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "el delimitador de COPY no puede ser «%s»"
 
-#: commands/copy.c:1132
+#: commands/copy.c:1148
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "el «header» de COPY está disponible sólo en modo CSV"
 
-#: commands/copy.c:1138
+#: commands/copy.c:1154
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "el «quote» de COPY está disponible sólo en modo CSV"
 
-#: commands/copy.c:1143
+#: commands/copy.c:1159
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "la comilla («quote») de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:1148
+#: commands/copy.c:1164
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "el delimitador de COPY y la comilla («quote») deben ser diferentes"
 
-#: commands/copy.c:1154
+#: commands/copy.c:1170
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "escape de COPY disponible sólo en modo CSV"
 
-#: commands/copy.c:1159
+#: commands/copy.c:1175
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "el escape de COPY debe ser un sólo carácter de un byte"
 
-#: commands/copy.c:1165
+#: commands/copy.c:1181
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "el forzado de comillas de COPY sólo está disponible en modo CSV"
 
-#: commands/copy.c:1169
+#: commands/copy.c:1185
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "el forzado de comillas de COPY sólo está disponible en COPY TO"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1191
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "el forzado de no nulos en COPY sólo está disponible en modo CSV"
 
-#: commands/copy.c:1179
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "el forzado de no nulos en COPY sólo está disponible usando COPY FROM"
 
-#: commands/copy.c:1185
+#: commands/copy.c:1201
+#, c-format
+msgid "COPY force null available only in CSV mode"
+msgstr "el forzado de nulos en COPY sólo está disponible en modo CSV"
+
+#: commands/copy.c:1206
+#, c-format
+msgid "COPY force null only available using COPY FROM"
+msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM"
+
+#: commands/copy.c:1212
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:1192
+#: commands/copy.c:1219
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:1254
+#: commands/copy.c:1281
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la tabla «%s» no tiene OIDs"
 
-#: commands/copy.c:1271
+#: commands/copy.c:1298
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS no está soportado"
 
-#: commands/copy.c:1297
+#: commands/copy.c:1324
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) no está soportado"
 
-#: commands/copy.c:1360
+#: commands/copy.c:1387
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
-msgstr "la columna con comillas forzadas «%s» no es referenciada por COPY"
+msgstr "la columna «%s» con comillas forzadas no es referenciada por COPY"
 
-#: commands/copy.c:1382
+#: commands/copy.c:1409
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
-msgstr "la columna FORCE NOT NULL «%s» no fue mencionada en COPY"
+msgstr "la columna «%s» especificada como FORCE NOT NULL no fue mencionada en COPY"
+
+#: commands/copy.c:1431
+#, c-format
+msgid "FORCE NULL column \"%s\" not referenced by COPY"
+msgstr "la columna «%s» especificada como FORCE NULL no fue mencionada en COPY"
 
-#: commands/copy.c:1446
+#: commands/copy.c:1495
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "no se pudo cerrar la tubería a la orden externa: %m"
 
-#: commands/copy.c:1449
+#: commands/copy.c:1498
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "el programa «%s» falló"
 
-#: commands/copy.c:1498
+#: commands/copy.c:1547
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "no se puede copiar desde la vista «%s»"
 
-#: commands/copy.c:1500 commands/copy.c:1506 commands/copy.c:1512
+#: commands/copy.c:1549 commands/copy.c:1555 commands/copy.c:1561
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Intente la forma COPY (SELECT ...) TO."
 
-#: commands/copy.c:1504
+#: commands/copy.c:1553
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "no se puede copiar desde la vista materializada «%s»"
 
-#: commands/copy.c:1510
+#: commands/copy.c:1559
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "no se puede copiar desde la tabla foránea «%s»"
 
-#: commands/copy.c:1516
+#: commands/copy.c:1565
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "no se puede copiar desde la secuencia «%s»"
 
-#: commands/copy.c:1521
+#: commands/copy.c:1570
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "no se puede copiar desde la relación «%s» porque no es una tabla"
 
-#: commands/copy.c:1544 commands/copy.c:2545
+#: commands/copy.c:1593 commands/copy.c:2616
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "no se pudo ejecutar la orden «%s»: %m"
 
-#: commands/copy.c:1559
+#: commands/copy.c:1608
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: commands/copy.c:1567
+#: commands/copy.c:1616
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "no se pudo abrir el archivo «%s» para escritura: %m"
 
-#: commands/copy.c:1574 commands/copy.c:2563
+#: commands/copy.c:1623 commands/copy.c:2634
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
 
-#: commands/copy.c:1899
+#: commands/copy.c:1948
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, línea %d, columna %s"
 
-#: commands/copy.c:1903 commands/copy.c:1950
+#: commands/copy.c:1952 commands/copy.c:1999
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, línea %d"
 
-#: commands/copy.c:1914
+#: commands/copy.c:1963
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, línea %d, columna %s: «%s»"
 
-#: commands/copy.c:1922
+#: commands/copy.c:1971
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, línea %d, columna %s: entrada nula"
 
-#: commands/copy.c:1944
+#: commands/copy.c:1993
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, línea %d: «%s»"
 
-#: commands/copy.c:2028
+#: commands/copy.c:2077
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "no se puede copiar hacia la vista «%s»"
 
-#: commands/copy.c:2033
+#: commands/copy.c:2082
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "no se puede copiar hacia la vista materializada «%s»"
 
-#: commands/copy.c:2038
+#: commands/copy.c:2087
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "no se puede copiar hacia la tabla foránea «%s»"
 
-#: commands/copy.c:2043
+#: commands/copy.c:2092
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "no se puede copiar hacia la secuencia «%s»"
 
-#: commands/copy.c:2048
+#: commands/copy.c:2097
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "no se puede copiar hacia la relación «%s» porque no es una tabla"
 
-#: commands/copy.c:2111
+#: commands/copy.c:2160
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "no se puede ejecutar FREEZE debido a actividad anterior en la transacción"
 
-#: commands/copy.c:2117
+#: commands/copy.c:2166
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "no se puede ejecutar FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso"
 
-#: commands/copy.c:2556 utils/adt/genfile.c:123
+#: commands/copy.c:2627 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: commands/copy.c:2583
+#: commands/copy.c:2654
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "el identificador del archivo COPY no es reconocido"
 
-#: commands/copy.c:2588
+#: commands/copy.c:2659
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "el encabezado del archivo COPY no es válido (faltan campos)"
 
-#: commands/copy.c:2594
+#: commands/copy.c:2665
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "valores requeridos no reconocidos en encabezado de COPY"
 
-#: commands/copy.c:2600
+#: commands/copy.c:2671
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "el encabezado del archivo COPY no es válido (falta el largo)"
 
-#: commands/copy.c:2607
+#: commands/copy.c:2678
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "el encabezado del archivo COPY no es válido (largo incorrecto)"
 
-#: commands/copy.c:2740 commands/copy.c:3430 commands/copy.c:3660
+#: commands/copy.c:2811 commands/copy.c:3518 commands/copy.c:3748
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
 
-#: commands/copy.c:2750
+#: commands/copy.c:2821
 #, c-format
 msgid "missing data for OID column"
 msgstr "faltan datos para la columna OID"
 
-#: commands/copy.c:2756
+#: commands/copy.c:2827
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID nulo en datos COPY"
 
-#: commands/copy.c:2766 commands/copy.c:2872
+#: commands/copy.c:2837 commands/copy.c:2960
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID no válido en datos COPY"
 
-#: commands/copy.c:2781
+#: commands/copy.c:2852
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "faltan datos en la columna «%s»"
 
-#: commands/copy.c:2847
+#: commands/copy.c:2935
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "se recibieron datos de copy después del marcador EOF"
 
-#: commands/copy.c:2854
+#: commands/copy.c:2942
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "la cantidad de registros es %d, pero se esperaban %d"
 
-#: commands/copy.c:3194 commands/copy.c:3211
+#: commands/copy.c:3282 commands/copy.c:3299
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "se encontró un retorno de carro literal en los datos"
 
-#: commands/copy.c:3195 commands/copy.c:3212
+#: commands/copy.c:3283 commands/copy.c:3300
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "se encontró un retorno de carro fuera de comillas en los datos"
 
-#: commands/copy.c:3197 commands/copy.c:3214
+#: commands/copy.c:3285 commands/copy.c:3302
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Use «\\r» para representar el retorno de carro."
 
-#: commands/copy.c:3198 commands/copy.c:3215
+#: commands/copy.c:3286 commands/copy.c:3303
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Use un campo CSV entre comillas para representar el retorno de carro."
 
-#: commands/copy.c:3227
+#: commands/copy.c:3315
 #, c-format
 msgid "literal newline found in data"
 msgstr "se encontró un salto de línea literal en los datos"
 
-#: commands/copy.c:3228
+#: commands/copy.c:3316
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "se encontró un salto de línea fuera de comillas en los datos"
 
-#: commands/copy.c:3230
+#: commands/copy.c:3318
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Use «\\n» para representar un salto de línea."
 
-#: commands/copy.c:3231
+#: commands/copy.c:3319
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Use un campo CSV entre comillas para representar un salto de línea."
 
-#: commands/copy.c:3277 commands/copy.c:3313
+#: commands/copy.c:3365 commands/copy.c:3401
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "el marcador fin-de-copy no coincide con el estilo previo de salto de línea"
 
-#: commands/copy.c:3286 commands/copy.c:3302
+#: commands/copy.c:3374 commands/copy.c:3390
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copy.c:3744
+#: commands/copy.c:3832
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copy.c:3821 commands/copy.c:3840
+#: commands/copy.c:3909 commands/copy.c:3928
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copy.c:3830
+#: commands/copy.c:3918
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copy.c:3853
+#: commands/copy.c:3941
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copy.c:4164 commands/indexcmds.c:1006 commands/tablecmds.c:1401
-#: commands/tablecmds.c:2210 parser/parse_relation.c:2625
+#: commands/copy.c:4252 commands/indexcmds.c:993 commands/tablecmds.c:1427
+#: commands/tablecmds.c:2237 parser/parse_relation.c:2889
 #: utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:4171 commands/tablecmds.c:1427 commands/trigger.c:601
-#: parser/parse_target.c:934 parser/parse_target.c:945
+#: commands/copy.c:4259 commands/tablecmds.c:1453 commands/trigger.c:644
+#: parser/parse_target.c:936 parser/parse_target.c:947
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la columna «%s» fue especificada más de una vez"
 
-#: commands/createas.c:352
+#: commands/createas.c:353
 #, c-format
 msgid "too many column names were specified"
 msgstr "se especificaron demasiados nombres de columna"
@@ -4613,7 +4826,7 @@ msgstr "%d no es un código válido de codificación"
 msgid "%s is not a valid encoding name"
 msgstr "%s no es un nombre válido de codificación"
 
-#: commands/dbcommands.c:255 commands/dbcommands.c:1392 commands/user.c:260
+#: commands/dbcommands.c:255 commands/dbcommands.c:1404 commands/user.c:260
 #: commands/user.c:601
 #, c-format
 msgid "invalid connection limit: %d"
@@ -4674,7 +4887,7 @@ msgstr "el nuevo LC_CTYPE (%s) es incompatible con el LC_CTYPE de la base de dat
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr "Use el mismo LC_CTYPE que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:395 commands/dbcommands.c:1095
+#: commands/dbcommands.c:395 commands/dbcommands.c:1088
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "no puede usarse pg_global como tablespace por omisión"
@@ -4689,7 +4902,7 @@ msgstr "no se puede asignar el nuevo tablespace por omisión «%s»"
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "Hay un conflicto puesto que la base de datos «%s» ya tiene algunas tablas en este tablespace."
 
-#: commands/dbcommands.c:443 commands/dbcommands.c:966
+#: commands/dbcommands.c:443 commands/dbcommands.c:959
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de datos «%s» ya existe"
@@ -4699,247 +4912,265 @@ msgstr "la base de datos «%s» ya existe"
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "la base de datos de origen «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:728 commands/dbcommands.c:743
+#: commands/dbcommands.c:704 commands/dbcommands.c:719
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "la codificación «%s» no coincide con la configuración regional «%s»"
 
-#: commands/dbcommands.c:731
+#: commands/dbcommands.c:707
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_CTYPE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:746
+#: commands/dbcommands.c:722
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_COLLATE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:804
+#: commands/dbcommands.c:782
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "no existe la base de datos «%s», ignorando"
 
-#: commands/dbcommands.c:828
+#: commands/dbcommands.c:806
 #, c-format
 msgid "cannot drop a template database"
 msgstr "no se puede borrar una base de datos patrón"
 
-#: commands/dbcommands.c:834
+#: commands/dbcommands.c:812
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "no se puede eliminar la base de datos activa"
 
-#: commands/dbcommands.c:845 commands/dbcommands.c:988
-#: commands/dbcommands.c:1117
+#: commands/dbcommands.c:822
+#, c-format
+msgid "database \"%s\" is used by a logical replication slot"
+msgstr "la base de datos «%s» está siendo usada por un slot de replicación lógica"
+
+#: commands/dbcommands.c:824
+#, c-format
+msgid "There is %d slot, %d of them active."
+msgid_plural "There are %d slots, %d of them active."
+msgstr[0] "Hay %d slot, %d de ellos activo"
+msgstr[1] "Hay %d slots, %d de ellos activos."
+
+#: commands/dbcommands.c:838 commands/dbcommands.c:981
+#: commands/dbcommands.c:1110
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de datos «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:957
+#: commands/dbcommands.c:950
 #, c-format
 msgid "permission denied to rename database"
 msgstr "se ha denegado el permiso para cambiar el nombre a la base de datos"
 
-#: commands/dbcommands.c:977
+#: commands/dbcommands.c:970
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "no se puede cambiar el nombre de la base de datos activa"
 
-#: commands/dbcommands.c:1073
+#: commands/dbcommands.c:1066
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr "no se puede cambiar el tablespace de la base de datos activa"
 
-#: commands/dbcommands.c:1157
+#: commands/dbcommands.c:1169
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr "algunas relaciones de la base de datos «%s» ya están en el tablespace «%s»"
 
-#: commands/dbcommands.c:1159
+#: commands/dbcommands.c:1171
 #, c-format
 msgid "You must move them back to the database's default tablespace before using this command."
 msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos antes de ejecutar esta orden."
 
-#: commands/dbcommands.c:1290 commands/dbcommands.c:1789
-#: commands/dbcommands.c:2007 commands/dbcommands.c:2055
-#: commands/tablespace.c:585
+#: commands/dbcommands.c:1302 commands/dbcommands.c:1790
+#: commands/dbcommands.c:1996 commands/dbcommands.c:2044
+#: commands/tablespace.c:604
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "algunos archivos inútiles pueden haber quedado en el directorio \"%s\""
 
-#: commands/dbcommands.c:1546
+#: commands/dbcommands.c:1558
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "se ha denegado el permiso para cambiar el dueño de la base de datos"
 
-#: commands/dbcommands.c:1890
+#: commands/dbcommands.c:1879
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "Hay otras %d sesiones y %d transacciones preparadas usando la base de datos."
 
-#: commands/dbcommands.c:1893
+#: commands/dbcommands.c:1882
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
 msgstr[0] "Hay %d otra sesión usando la base de datos."
 msgstr[1] "Hay otras %d sesiones usando la base de datos."
 
-#: commands/dbcommands.c:1898
+#: commands/dbcommands.c:1887
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "Hay %d otra transacción preparada usando la base de datos."
 msgstr[1] "Hay otras %d transacciones preparadas usando la base de datos."
 
-#: commands/define.c:54 commands/define.c:209 commands/define.c:241
-#: commands/define.c:269
+#: commands/define.c:54 commands/define.c:228 commands/define.c:260
+#: commands/define.c:288
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s requiere un parámetro"
 
-#: commands/define.c:95 commands/define.c:106 commands/define.c:176
-#: commands/define.c:194
+#: commands/define.c:90 commands/define.c:101 commands/define.c:195
+#: commands/define.c:213
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s requiere un valor numérico"
 
-#: commands/define.c:162
+#: commands/define.c:157
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "«%s» requiere un valor lógico (booleano)"
 
-#: commands/define.c:223
+#: commands/define.c:171 commands/define.c:180 commands/define.c:297
+#, c-format
+msgid "%s requires an integer value"
+msgstr "%s requiere valor entero"
+
+#: commands/define.c:242
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "el argumento de %s debe ser un nombre"
 
-#: commands/define.c:253
+#: commands/define.c:272
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "el argumento de %s debe ser un nombre de tipo"
 
-#: commands/define.c:278
-#, c-format
-msgid "%s requires an integer value"
-msgstr "%s requiere valor entero"
-
-#: commands/define.c:299
+#: commands/define.c:318
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1080
-#: utils/adt/ruleutils.c:1896
+#: commands/dropcmds.c:112 commands/functioncmds.c:1110
+#: utils/adt/ruleutils.c:1936
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
 
-#: commands/dropcmds.c:102
+#: commands/dropcmds.c:114
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Use DROP AGGREGATE para eliminar funciones de agregación."
 
-#: commands/dropcmds.c:143 commands/tablecmds.c:236
+#: commands/dropcmds.c:165 commands/sequence.c:400 commands/tablecmds.c:2318
+#: commands/tablecmds.c:2499 commands/tablecmds.c:10625 tcop/utility.c:1006
+#, c-format
+msgid "relation \"%s\" does not exist, skipping"
+msgstr "no existe la relación «%s», ignorando"
+
+#: commands/dropcmds.c:195 commands/dropcmds.c:288 commands/tablecmds.c:713
+#, c-format
+msgid "schema \"%s\" does not exist, skipping"
+msgstr "el esquema «%s» no existe, ignorando"
+
+#: commands/dropcmds.c:237 commands/dropcmds.c:269 commands/tablecmds.c:237
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "el tipo «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:147
+#: commands/dropcmds.c:276
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "no existe el ordenamiento (collation) «%s», ignorando"
 
-#: commands/dropcmds.c:151
+#: commands/dropcmds.c:283
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "no existe la conversión «%s», ignorando"
 
-#: commands/dropcmds.c:155
-#, c-format
-msgid "schema \"%s\" does not exist, skipping"
-msgstr "el esquema «%s» no existe, ignorando"
-
-#: commands/dropcmds.c:159
+#: commands/dropcmds.c:294
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "el analizador de búsqueda en texto «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:163
+#: commands/dropcmds.c:301
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "el diccionario de búsqueda en texto «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:167
+#: commands/dropcmds.c:308
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "la plantilla de búsqueda en texto «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:171
+#: commands/dropcmds.c:315
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "no existe la configuración de búsqueda en texto «%s», ignorando"
 
-#: commands/dropcmds.c:175
+#: commands/dropcmds.c:320
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "no existe la extensión «%s», ignorando"
 
-#: commands/dropcmds.c:179
+#: commands/dropcmds.c:327
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "no existe la función %s(%s), ignorando"
 
-#: commands/dropcmds.c:184
+#: commands/dropcmds.c:336
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "la función de agregación %s(%s) no existe, ignorando"
 
-#: commands/dropcmds.c:189
+#: commands/dropcmds.c:345
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "el operador %s no existe, ignorando"
 
-#: commands/dropcmds.c:193
+#: commands/dropcmds.c:350
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "el lenguaje «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:197
+#: commands/dropcmds.c:359
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "no existe la conversión del tipo %s al tipo %s, ignorando"
 
-#: commands/dropcmds.c:204
+#: commands/dropcmds.c:368
 #, c-format
-msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
-msgstr "no existe el trigger «%s» para la tabla «%s», ignorando"
+msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
+msgstr "disparador «%s» para la relación «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:210
+#: commands/dropcmds.c:375
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "el disparador por eventos «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:214
+#: commands/dropcmds.c:381
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la regla «%s» para la relación «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:220
+#: commands/dropcmds.c:388
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "no existe el conector de datos externos «%s», ignorando"
 
-#: commands/dropcmds.c:224
+#: commands/dropcmds.c:392
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "el servidor «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:228
+#: commands/dropcmds.c:398
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s», ignorando"
 
-#: commands/dropcmds.c:233
+#: commands/dropcmds.c:406
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s», ignorando"
@@ -4985,67 +5216,70 @@ msgstr "los disparadores por eventos no están soportados para %s"
 msgid "filter variable \"%s\" specified more than once"
 msgstr "la variable de filtro «%s» fue especificada más de una vez"
 
-#: commands/event_trigger.c:434 commands/event_trigger.c:477
-#: commands/event_trigger.c:568
+#: commands/event_trigger.c:437 commands/event_trigger.c:480
+#: commands/event_trigger.c:571
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "no existe el disparador por eventos «%s»"
 
-#: commands/event_trigger.c:536
+#: commands/event_trigger.c:539
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño del disparador por eventos «%s»"
 
-#: commands/event_trigger.c:538
+#: commands/event_trigger.c:541
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "El dueño de un disparador por eventos debe ser un superusuario."
 
-#: commands/event_trigger.c:1216
+#: commands/event_trigger.c:1219
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador en el evento sql_drop"
 
-#: commands/event_trigger.c:1223 commands/extension.c:1650
-#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:702
-#: executor/execQual.c:1719 executor/execQual.c:1744 executor/execQual.c:2113
-#: executor/execQual.c:5251 executor/functions.c:1011 foreign/foreign.c:421
-#: replication/walsender.c:1887 utils/adt/jsonfuncs.c:924
-#: utils/adt/jsonfuncs.c:1093 utils/adt/jsonfuncs.c:1593
+#: commands/event_trigger.c:1226 commands/extension.c:1646
+#: commands/extension.c:1755 commands/extension.c:1948 commands/prepare.c:702
+#: executor/execQual.c:1739 executor/execQual.c:1764 executor/execQual.c:2139
+#: executor/execQual.c:5315 executor/functions.c:1018 foreign/foreign.c:421
+#: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
+#: replication/walsender.c:2746 utils/adt/jsonfuncs.c:1386
+#: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
+#: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2601
 #: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
 
-#: commands/event_trigger.c:1227 commands/extension.c:1654
-#: commands/extension.c:1763 commands/extension.c:1956 commands/prepare.c:706
-#: foreign/foreign.c:426 replication/walsender.c:1891
+#: commands/event_trigger.c:1230 commands/extension.c:1650
+#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
+#: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
+#: replication/slotfuncs.c:177 replication/walsender.c:2750
 #: utils/mmgr/portalmem.c:990
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
 
-#: commands/explain.c:163
+#: commands/explain.c:169
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»"
 
-#: commands/explain.c:169
+#: commands/explain.c:175
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "opción de EXPLAIN no reconocida «%s»"
 
-#: commands/explain.c:176
+#: commands/explain.c:182
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "la opción BUFFERS de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:185
+#: commands/explain.c:191
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "la opción TIMING de EXPLAIN requiere ANALYZE"
 
-#: commands/extension.c:148 commands/extension.c:2632
+#: commands/extension.c:148 commands/extension.c:2628
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "no existe la extensión «%s»"
@@ -5132,795 +5366,835 @@ msgstr "parámetro no reconocido «%s» en el archivo «%s»"
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "el parámetro «schema» no puede ser especificado cuando «relocatable» es verdadero"
 
-#: commands/extension.c:726
+#: commands/extension.c:722
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "las sentencias de control de transacción no están permitidos dentro de un guión de transacción"
 
-#: commands/extension.c:794
+#: commands/extension.c:790
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "se ha denegado el permiso para crear la extensión «%s»"
 
-#: commands/extension.c:796
+#: commands/extension.c:792
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Debe ser superusuario para crear esta extensión."
 
-#: commands/extension.c:800
+#: commands/extension.c:796
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "se ha denegado el permiso para actualizar la extensión «%s»"
 
-#: commands/extension.c:802
+#: commands/extension.c:798
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Debe ser superusuario para actualizar esta extensión."
 
-#: commands/extension.c:1084
+#: commands/extension.c:1080
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "la extensión «%s» no tiene ruta de actualización desde la versión «%s» hasta la versión «%s»"
 
-#: commands/extension.c:1211
+#: commands/extension.c:1207
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "la extensión «%s» ya existe, ignorando"
 
-#: commands/extension.c:1218
+#: commands/extension.c:1214
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "la extensión «%s» ya existe"
 
-#: commands/extension.c:1229
+#: commands/extension.c:1225
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "los CREATE EXTENSION anidados no están soportados"
 
-#: commands/extension.c:1284 commands/extension.c:2692
+#: commands/extension.c:1280 commands/extension.c:2688
 #, c-format
 msgid "version to install must be specified"
 msgstr "la versión a instalar debe ser especificada"
 
-#: commands/extension.c:1301
+#: commands/extension.c:1297
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "la versión FROM debe ser diferente de la versión destino de instalación «%s»"
 
-#: commands/extension.c:1356
+#: commands/extension.c:1352
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "la extensión «%s» debe ser instalada en el esquema «%s»"
 
-#: commands/extension.c:1440 commands/extension.c:2835
+#: commands/extension.c:1436 commands/extension.c:2831
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "la extensión requerida «%s» no está instalada"
 
-#: commands/extension.c:1602
+#: commands/extension.c:1598
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
 
-#: commands/extension.c:2073
+#: commands/extension.c:2069
 #, c-format
 msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "pg_extension_config_dump() sólo puede ser llamado desde un guión SQL ejecutado por CREATE EXTENSION"
 
-#: commands/extension.c:2085
+#: commands/extension.c:2081
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "el OID %u no hace referencia a una tabla"
 
-#: commands/extension.c:2090
+#: commands/extension.c:2086
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "el tabla «%s» no es un miembro de la extensión que se está creando"
 
-#: commands/extension.c:2454
+#: commands/extension.c:2450
 #, c-format
 msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
 msgstr "no se puede mover la extensión «%s» al esquema «%s» porque la extensión contiene al esquema"
 
-#: commands/extension.c:2494 commands/extension.c:2557
+#: commands/extension.c:2490 commands/extension.c:2553
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "la extensión «%s» no soporta SET SCHEMA"
 
-#: commands/extension.c:2559
+#: commands/extension.c:2555
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s no está en el esquema de la extensión, «%s»"
 
-#: commands/extension.c:2612
+#: commands/extension.c:2608
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "los ALTER EXTENSION anidados no están soportados"
 
-#: commands/extension.c:2703
+#: commands/extension.c:2699
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "la versión «%s» de la extensión «%s» ya está instalada"
 
-#: commands/extension.c:2942
+#: commands/extension.c:2938
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "no se puede agregar el esquema «%s» a la extensión «%s» porque el esquema contiene la extensión"
 
-#: commands/extension.c:2960
+#: commands/extension.c:2956
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: commands/foreigncmds.c:135 commands/foreigncmds.c:144
+#: commands/foreigncmds.c:138 commands/foreigncmds.c:147
 #, c-format
 msgid "option \"%s\" not found"
 msgstr "opción «%s» no encontrada"
 
-#: commands/foreigncmds.c:154
+#: commands/foreigncmds.c:157
 #, c-format
 msgid "option \"%s\" provided more than once"
 msgstr "la opción «%s» fue especificada más de una vez"
 
-#: commands/foreigncmds.c:220 commands/foreigncmds.c:228
+#: commands/foreigncmds.c:223 commands/foreigncmds.c:231
 #, c-format
 msgid "permission denied to change owner of foreign-data wrapper \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño del conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:222
+#: commands/foreigncmds.c:225
 #, c-format
 msgid "Must be superuser to change owner of a foreign-data wrapper."
 msgstr "Debe ser superusuario para cambiar el dueño de un conector de datos externos."
 
-#: commands/foreigncmds.c:230
+#: commands/foreigncmds.c:233
 #, c-format
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "El dueño de un conector de datos externos debe ser un superusuario."
 
-#: commands/foreigncmds.c:268 commands/foreigncmds.c:652 foreign/foreign.c:600
+#: commands/foreigncmds.c:271 commands/foreigncmds.c:655 foreign/foreign.c:600
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "no existe el conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:377 commands/foreigncmds.c:940
-#: commands/foreigncmds.c:1281 foreign/foreign.c:621
+#: commands/foreigncmds.c:380 commands/foreigncmds.c:944
+#: commands/foreigncmds.c:1285 foreign/foreign.c:621
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "no existe el servidor «%s»"
 
-#: commands/foreigncmds.c:433
+#: commands/foreigncmds.c:436
 #, c-format
 msgid "function %s must return type \"fdw_handler\""
 msgstr "la función %s debe retornar tipo «fdw_handler»"
 
-#: commands/foreigncmds.c:528
+#: commands/foreigncmds.c:531
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "se ha denegado el permiso para crear el conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:530
+#: commands/foreigncmds.c:533
 #, c-format
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Debe ser superusuario para crear un conector de datos externos."
 
-#: commands/foreigncmds.c:642
+#: commands/foreigncmds.c:645
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "permiso denegado para cambiar el conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:644
+#: commands/foreigncmds.c:647
 #, c-format
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Debe ser superusuario para alterar un conector de datos externos."
 
-#: commands/foreigncmds.c:675
+#: commands/foreigncmds.c:678
 #, c-format
 msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables"
 msgstr "al cambiar el manejador del conector de datos externos, el comportamiento de las tablas foráneas existentes puede cambiar"
 
-#: commands/foreigncmds.c:689
+#: commands/foreigncmds.c:693
 #, c-format
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr "al cambiar el validador del conector de datos externos, las opciones para los objetos dependientes de él pueden volverse no válidas"
 
-#: commands/foreigncmds.c:1102
+#: commands/foreigncmds.c:1106
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "ya existe un mapeo para el usuario «%s» en el servidor %s"
 
-#: commands/foreigncmds.c:1190 commands/foreigncmds.c:1297
+#: commands/foreigncmds.c:1194 commands/foreigncmds.c:1301
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "no existe el mapeo para el usuario «%s» para el servidor"
 
-#: commands/foreigncmds.c:1284
+#: commands/foreigncmds.c:1288
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "el servidor no existe, ignorando"
 
-#: commands/foreigncmds.c:1302
+#: commands/foreigncmds.c:1306
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "el mapeo para el usuario «%s» no existe para el servidor, ignorando"
 
-#: commands/functioncmds.c:99
+#: commands/functioncmds.c:98
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "una función SQL no puede retornar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:104
+#: commands/functioncmds.c:103
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "el tipo de retorno %s está inconcluso"
 
-#: commands/functioncmds.c:133 parser/parse_type.c:285
+#: commands/functioncmds.c:132 parser/parse_type.c:333
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "no se puede especificar un modificador de tipo para el tipo inconcluso «%s»"
 
-#: commands/functioncmds.c:139
+#: commands/functioncmds.c:138
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "el tipo «%s» no ha sido definido aún"
 
-#: commands/functioncmds.c:140
+#: commands/functioncmds.c:139
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creando una definición de tipo inconclusa."
 
-#: commands/functioncmds.c:224
+#: commands/functioncmds.c:236
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "las funciones SQL no pueden aceptar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:229
+#: commands/functioncmds.c:242
+#, c-format
+msgid "aggregate cannot accept shell type %s"
+msgstr "las funciones de agregación no pueden aceptar el tipo inconcluso %s"
+
+#: commands/functioncmds.c:247
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "el tipo de argumento %s está inconcluso"
 
-#: commands/functioncmds.c:239
+#: commands/functioncmds.c:257
 #, c-format
 msgid "type %s does not exist"
 msgstr "no existe el tipo %s"
 
-#: commands/functioncmds.c:251
+#: commands/functioncmds.c:271
+#, c-format
+msgid "aggregates cannot accept set arguments"
+msgstr "las funciones de agregación no pueden aceptar argumentos complejos"
+
+#: commands/functioncmds.c:275
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "funciones no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:260
+#: commands/functioncmds.c:285
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "el parámetro VARIADIC debe ser el último parámetro de entrada"
 
-#: commands/functioncmds.c:287
+#: commands/functioncmds.c:313
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "el parámetro VARIADIC debe ser un array"
 
-#: commands/functioncmds.c:327
+#: commands/functioncmds.c:353
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "el nombre de parámetro «%s» fue usado más de una vez"
 
-#: commands/functioncmds.c:342
+#: commands/functioncmds.c:368
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "solo los parámetros de entrada pueden tener valores por omisión"
 
-#: commands/functioncmds.c:357
+#: commands/functioncmds.c:383
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "no se pueden usar referencias a tablas en el valor por omisión de un parámetro"
 
-#: commands/functioncmds.c:381
+#: commands/functioncmds.c:407
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "los parámetros de entrada después de uno que tenga valor por omisión también deben tener valores por omisión"
 
-#: commands/functioncmds.c:631
+#: commands/functioncmds.c:657
 #, c-format
 msgid "no function body specified"
 msgstr "no se ha especificado un cuerpo para la función"
 
-#: commands/functioncmds.c:641
+#: commands/functioncmds.c:667
 #, c-format
 msgid "no language specified"
 msgstr "no se ha especificado el lenguaje"
 
-#: commands/functioncmds.c:664 commands/functioncmds.c:1119
+#: commands/functioncmds.c:690 commands/functioncmds.c:1149
 #, c-format
 msgid "COST must be positive"
 msgstr "COST debe ser positivo"
 
-#: commands/functioncmds.c:672 commands/functioncmds.c:1127
+#: commands/functioncmds.c:698 commands/functioncmds.c:1157
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS debe ser positivo"
 
-#: commands/functioncmds.c:711
+#: commands/functioncmds.c:737
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "se ignoró el atributo de función no reconocido «%s»"
 
-#: commands/functioncmds.c:762
+#: commands/functioncmds.c:788
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "sólo se requiere un item AS para el lenguaje «%s»"
 
-#: commands/functioncmds.c:850 commands/functioncmds.c:1704
+#: commands/functioncmds.c:877 commands/functioncmds.c:1734
 #: commands/proclang.c:553
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "no existe el lenguaje «%s»"
 
-#: commands/functioncmds.c:852 commands/functioncmds.c:1706
+#: commands/functioncmds.c:879 commands/functioncmds.c:1736
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos."
 
-#: commands/functioncmds.c:887 commands/functioncmds.c:1110
+#: commands/functioncmds.c:914 commands/functioncmds.c:1140
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "sólo un superusuario puede definir funciones «leakproof»"
 
-#: commands/functioncmds.c:909
+#: commands/functioncmds.c:940
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "tipo de retorno de función debe ser %s debido a los parámetros OUT"
 
-#: commands/functioncmds.c:922
+#: commands/functioncmds.c:953
 #, c-format
 msgid "function result type must be specified"
 msgstr "el tipo de retorno de la función debe ser especificado"
 
-#: commands/functioncmds.c:957 commands/functioncmds.c:1131
+#: commands/functioncmds.c:988 commands/functioncmds.c:1161
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS no es aplicable cuando una función no retorna un conjunto"
 
-#: commands/functioncmds.c:1284
+#: commands/functioncmds.c:1314
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "el tipo de origen %s es un pseudotipo"
 
-#: commands/functioncmds.c:1290
+#: commands/functioncmds.c:1320
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "el tipo de retorno %s es un pseudotipo"
 
-#: commands/functioncmds.c:1314
+#: commands/functioncmds.c:1344
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de origen es un dominio"
 
-#: commands/functioncmds.c:1319
+#: commands/functioncmds.c:1349
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de destino es un dominio"
 
-#: commands/functioncmds.c:1346
+#: commands/functioncmds.c:1376
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "la función de conversión lleva de uno a tres argumentos"
 
-#: commands/functioncmds.c:1350
+#: commands/functioncmds.c:1380
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "el argumento de la función de conversión debe coincidir o ser binario-convertible con el tipo de origen"
 
-#: commands/functioncmds.c:1354
+#: commands/functioncmds.c:1384
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "el segundo argumento de la función de conversión debe ser entero"
 
-#: commands/functioncmds.c:1358
+#: commands/functioncmds.c:1388
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "el tercer argumento de la función de conversión debe ser de tipo boolean"
 
-#: commands/functioncmds.c:1362
+#: commands/functioncmds.c:1392
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "el tipo de salida de la función de conversión debe coincidir o ser binario-convertible con el tipo de retorno"
 
-#: commands/functioncmds.c:1373
+#: commands/functioncmds.c:1403
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la función de conversión no debe ser volatile"
 
-#: commands/functioncmds.c:1378
+#: commands/functioncmds.c:1408
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "la función de conversión no debe ser una función de agregación"
 
-#: commands/functioncmds.c:1382
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "la función de conversión no debe ser una función de ventana deslizante"
 
-#: commands/functioncmds.c:1386
+#: commands/functioncmds.c:1416
 #, c-format
 msgid "cast function must not return a set"
 msgstr "la función de conversión no debe retornar un conjunto"
 
-#: commands/functioncmds.c:1412
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "debe ser superusuario para crear una conversión sin especificar función"
 
-#: commands/functioncmds.c:1427
+#: commands/functioncmds.c:1457
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "los tipos de datos de origen y destino no son físicamente compatibles"
 
-#: commands/functioncmds.c:1442
+#: commands/functioncmds.c:1472
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "los tipos de datos compuestos no son binario-compatibles"
 
-#: commands/functioncmds.c:1448
+#: commands/functioncmds.c:1478
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "los tipos de datos enum no son binario-compatibles"
 
-#: commands/functioncmds.c:1454
+#: commands/functioncmds.c:1484
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "los tipos de datos de array no son binario-compatibles"
 
-#: commands/functioncmds.c:1471
+#: commands/functioncmds.c:1501
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "los tipos de dato de dominio no deben ser marcados binario-compatibles"
 
-#: commands/functioncmds.c:1481
+#: commands/functioncmds.c:1511
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "el tipo de origen y el tipo de retorno son el mismo"
 
-#: commands/functioncmds.c:1514
+#: commands/functioncmds.c:1544
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "ya existe una conversión del tipo %s al tipo %s"
 
-#: commands/functioncmds.c:1589
+#: commands/functioncmds.c:1619
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "no existe la conversión del tipo %s al tipo %s"
 
-#: commands/functioncmds.c:1638
+#: commands/functioncmds.c:1668
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "ya existe una función llamada %s en el esquema «%s»"
 
-#: commands/functioncmds.c:1691
+#: commands/functioncmds.c:1721
 #, c-format
 msgid "no inline code specified"
 msgstr "no se ha especificado código"
 
-#: commands/functioncmds.c:1736
+#: commands/functioncmds.c:1766
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "el lenguaje «%s» no soporta ejecución de código en línea"
 
-#: commands/indexcmds.c:160 commands/indexcmds.c:481
-#: commands/opclasscmds.c:364 commands/opclasscmds.c:784
-#: commands/opclasscmds.c:1743
+#: commands/indexcmds.c:159 commands/indexcmds.c:486
+#: commands/opclasscmds.c:370 commands/opclasscmds.c:790
+#: commands/opclasscmds.c:1749
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "no existe el método de acceso «%s»"
 
-#: commands/indexcmds.c:339
+#: commands/indexcmds.c:340
 #, c-format
 msgid "must specify at least one column"
 msgstr "debe especificar al menos una columna"
 
-#: commands/indexcmds.c:343
+#: commands/indexcmds.c:344
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "no se puede usar más de %d columnas en un índice"
 
-#: commands/indexcmds.c:370
+#: commands/indexcmds.c:375
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "no se puede crear un índice en la tabla foránea «%s»"
 
-#: commands/indexcmds.c:385
+#: commands/indexcmds.c:390
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "no se pueden crear índices en tablas temporales de otras sesiones"
 
-#: commands/indexcmds.c:440 commands/tablecmds.c:519 commands/tablecmds.c:8773
+#: commands/indexcmds.c:445 commands/tablecmds.c:525 commands/tablecmds.c:9101
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "sólo relaciones compartidas pueden ser puestas en el tablespace pg_global"
 
-#: commands/indexcmds.c:473
+#: commands/indexcmds.c:478
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "sustituyendo el método de acceso obsoleto «rtree» por «gist»"
 
-#: commands/indexcmds.c:490
+#: commands/indexcmds.c:495
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "el método de acceso «%s» no soporta índices únicos"
 
-#: commands/indexcmds.c:495
+#: commands/indexcmds.c:500
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "el método de acceso «%s» no soporta índices multicolumna"
 
-#: commands/indexcmds.c:500
+#: commands/indexcmds.c:505
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "el método de acceso «%s» no soporta restricciones por exclusión"
 
-#: commands/indexcmds.c:579
+#: commands/indexcmds.c:584
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s creará el índice implícito «%s» para la tabla «%s»"
 
-#: commands/indexcmds.c:935
+#: commands/indexcmds.c:922
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "las funciones utilizadas en predicados de índice deben estar marcadas IMMUTABLE"
 
-#: commands/indexcmds.c:1001 parser/parse_utilcmd.c:1802
+#: commands/indexcmds.c:988 parser/parse_utilcmd.c:1797
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1061
+#: commands/indexcmds.c:1048
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "las funciones utilizadas en expresiones de índice deben estar marcadas IMMUTABLE"
 
-#: commands/indexcmds.c:1084
+#: commands/indexcmds.c:1071
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de índice"
 
-#: commands/indexcmds.c:1092 commands/typecmds.c:780 parser/parse_expr.c:2261
-#: parser/parse_type.c:499 parser/parse_utilcmd.c:2675 utils/adt/misc.c:527
+#: commands/indexcmds.c:1079 commands/typecmds.c:782 parser/parse_expr.c:2278
+#: parser/parse_type.c:546 parser/parse_utilcmd.c:2648 utils/adt/misc.c:520
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "los ordenamientos (collation) no están soportados por el tipo %s"
 
-#: commands/indexcmds.c:1130
+#: commands/indexcmds.c:1117
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:1132
+#: commands/indexcmds.c:1119
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "Sólo operadores conmutativos pueden ser usados en restricciones de exclusión."
 
-#: commands/indexcmds.c:1158
+#: commands/indexcmds.c:1145
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "el operador %s no es un miembro de la familia de operadores «%s»"
 
-#: commands/indexcmds.c:1161
+#: commands/indexcmds.c:1148
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr "El operador de exclusión debe estar relacionado con la clase de operadores del índice para la restricción."
 
-#: commands/indexcmds.c:1196
+#: commands/indexcmds.c:1183
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "el método de acceso «%s» no soporta las opciones ASC/DESC"
 
-#: commands/indexcmds.c:1201
+#: commands/indexcmds.c:1188
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "el método de acceso «%s» no soporta las opciones NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1257 commands/typecmds.c:1885
+#: commands/indexcmds.c:1244 commands/typecmds.c:1887
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "el tipo de dato %s no tiene una clase de operadores por omisión para el método de acceso «%s»"
 
-#: commands/indexcmds.c:1259
+#: commands/indexcmds.c:1246
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr "Debe especificar una clase de operadores para el índice, o definir una clase de operadores por omisión para el tipo de datos."
 
-#: commands/indexcmds.c:1288 commands/indexcmds.c:1296
-#: commands/opclasscmds.c:208
+#: commands/indexcmds.c:1275 commands/indexcmds.c:1283
+#: commands/opclasscmds.c:214
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/indexcmds.c:1309 commands/typecmds.c:1873
+#: commands/indexcmds.c:1296 commands/typecmds.c:1875
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
 
-#: commands/indexcmds.c:1399
+#: commands/indexcmds.c:1386
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "hay múltiples clases de operadores por omisión para el tipo de datos %s"
 
-#: commands/indexcmds.c:1775
+#: commands/indexcmds.c:1762
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la tabla «%s» no tiene índices"
 
-#: commands/indexcmds.c:1805
+#: commands/indexcmds.c:1792
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "sólo se puede reindexar la base de datos actualmente abierta"
 
-#: commands/indexcmds.c:1893
+#: commands/indexcmds.c:1881
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/opclasscmds.c:132
+#: commands/matview.c:178
+#, c-format
+msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
+msgstr "no se puede usar CONCURRENTLY cuando la vista materializada no contiene datos"
+
+#: commands/matview.c:184
+#, c-format
+msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
+msgstr "las opciones CONCURRENTLY y WITH NO DATA no pueden usarse juntas"
+
+#: commands/matview.c:591
+#, c-format
+msgid "new data for \"%s\" contains duplicate rows without any null columns"
+msgstr "nuevos datos para «%s» contiene filas duplicadas sin columnas nulas"
+
+#: commands/matview.c:593
+#, c-format
+msgid "Row: %s"
+msgstr "Fila: %s"
+
+#: commands/matview.c:681
+#, c-format
+msgid "cannot refresh materialized view \"%s\" concurrently"
+msgstr "no se puede refrescar la vista materializada «%s» concurrentemente"
+
+#: commands/matview.c:683
+#, c-format
+msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
+msgstr "Cree un índice único sin cláusula WHERE en una o más columnas de la vista materializada."
+
+#: commands/opclasscmds.c:135
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:267
+#: commands/opclasscmds.c:273
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:403
+#: commands/opclasscmds.c:409
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "debe ser superusuario para crear una clase de operadores"
 
-#: commands/opclasscmds.c:474 commands/opclasscmds.c:860
-#: commands/opclasscmds.c:990
+#: commands/opclasscmds.c:480 commands/opclasscmds.c:866
+#: commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "el número de operador %d es incorrecto, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:525 commands/opclasscmds.c:911
-#: commands/opclasscmds.c:1005
+#: commands/opclasscmds.c:531 commands/opclasscmds.c:917
+#: commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "el número de procedimiento %d no es válido, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:555
+#: commands/opclasscmds.c:561
 #, c-format
 msgid "storage type specified more than once"
 msgstr "el tipo de almacenamiento fue especificado más de una vez"
 
-#: commands/opclasscmds.c:582
+#: commands/opclasscmds.c:588
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr "el tipo de almacenamiento no puede ser diferente del tipo de dato para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:598
+#: commands/opclasscmds.c:604
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:626
+#: commands/opclasscmds.c:632
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "no se pudo hacer que «%s» sea la clase de operadores por omisión para el tipo %s"
 
-#: commands/opclasscmds.c:629
+#: commands/opclasscmds.c:635
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Actualmente, «%s» es la clase de operadores por omisión."
 
-#: commands/opclasscmds.c:754
+#: commands/opclasscmds.c:760
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "debe ser superusuario para crear una familia de operadores"
 
-#: commands/opclasscmds.c:810
+#: commands/opclasscmds.c:816
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "debe ser superusuario para alterar una familia de operadores"
 
-#: commands/opclasscmds.c:876
+#: commands/opclasscmds.c:882
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:940
+#: commands/opclasscmds.c:946
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE no puede ser especificado en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1056
+#: commands/opclasscmds.c:1062
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "uno o dos tipos de argumento debe/n ser especificado"
 
-#: commands/opclasscmds.c:1082
+#: commands/opclasscmds.c:1088
 #, c-format
 msgid "index operators must be binary"
 msgstr "los operadores de índice deben ser binarios"
 
-#: commands/opclasscmds.c:1107
+#: commands/opclasscmds.c:1113
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "el método de acceso «%s» no soporta operadores de ordenamiento"
 
-#: commands/opclasscmds.c:1120
+#: commands/opclasscmds.c:1126
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
-#: commands/opclasscmds.c:1162
+#: commands/opclasscmds.c:1168
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "los procedimientos de comparación btree deben tener dos argumentos"
 
-#: commands/opclasscmds.c:1166
+#: commands/opclasscmds.c:1172
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "los procedimientos de comparación btree deben retornar integer"
 
-#: commands/opclasscmds.c:1183
+#: commands/opclasscmds.c:1189
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "los procedimientos de «sort support» de btree deben aceptar tipo «internal»"
 
-#: commands/opclasscmds.c:1187
+#: commands/opclasscmds.c:1193
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "los procedimientos de «sort support» de btree deben retornar «void»"
 
-#: commands/opclasscmds.c:1199
+#: commands/opclasscmds.c:1205
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "los procedimientos de hash deben tener un argumento"
 
-#: commands/opclasscmds.c:1203
+#: commands/opclasscmds.c:1209
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "los procedimientos de hash deben retornar integer"
 
-#: commands/opclasscmds.c:1227
+#: commands/opclasscmds.c:1233
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr "los tipos de datos asociados deben ser especificados en el procedimiento de soporte de índice"
 
-#: commands/opclasscmds.c:1252
+#: commands/opclasscmds.c:1258
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "el número de procedimiento %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1259
+#: commands/opclasscmds.c:1265
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "el número de operador %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1308
+#: commands/opclasscmds.c:1314
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe un operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1424
+#: commands/opclasscmds.c:1430
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe una función %d(%s,%s) en la familia de operador «%s»"
 
-#: commands/opclasscmds.c:1514
+#: commands/opclasscmds.c:1520
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe el operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1554
+#: commands/opclasscmds.c:1560
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe la función %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1699
+#: commands/opclasscmds.c:1705
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una clase de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
 
-#: commands/opclasscmds.c:1722
+#: commands/opclasscmds.c:1728
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una familia de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
@@ -5972,7 +6246,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "el nombre de cursor no es válido: no debe ser vacío"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2395 utils/adt/xml.c:2562
+#: executor/execCurrent.c:67 utils/adt/xml.c:2386 utils/adt/xml.c:2553
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
@@ -5982,7 +6256,7 @@ msgstr "no existe el cursor «%s»"
 msgid "portal \"%s\" cannot be run"
 msgstr "el portal «%s» no puede ser ejecutado"
 
-#: commands/portalcmds.c:415
+#: commands/portalcmds.c:411
 #, c-format
 msgid "could not reposition held cursor"
 msgstr "no se pudo reposicionar cursor abierto"
@@ -5992,7 +6266,7 @@ msgstr "no se pudo reposicionar cursor abierto"
 msgid "invalid statement name: must not be empty"
 msgstr "el nombre de sentencia no es válido: no debe ser vacío"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1299
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1296
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "no se pudo determinar el tipo del parámetro $%d"
@@ -6097,274 +6371,269 @@ msgstr "debe especificar un proveedor de etiquetas de seguridad cuando más de u
 msgid "security label provider \"%s\" is not loaded"
 msgstr "el proveedor de etiquetas de seguridad «%s» no está cargado"
 
-#: commands/sequence.c:127
+#: commands/sequence.c:123
 #, c-format
 msgid "unlogged sequences are not supported"
 msgstr "las secuencias unlogged no están soportadas"
 
-#: commands/sequence.c:425 commands/tablecmds.c:2291 commands/tablecmds.c:2470
-#: commands/tablecmds.c:9902 parser/parse_utilcmd.c:2366 tcop/utility.c:1041
-#, c-format
-msgid "relation \"%s\" does not exist, skipping"
-msgstr "no existe la relación «%s», ignorando"
-
-#: commands/sequence.c:643
+#: commands/sequence.c:618
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "nextval: se alcanzó el valor máximo de la secuencia «%s» (%s)"
 
-#: commands/sequence.c:666
+#: commands/sequence.c:641
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "nextval: se alcanzó el valor mínimo de la secuencia «%s» (%s)"
 
-#: commands/sequence.c:779
+#: commands/sequence.c:754
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval de la secuencia «%s» no está definido en esta sesión"
 
-#: commands/sequence.c:798 commands/sequence.c:804
+#: commands/sequence.c:773 commands/sequence.c:779
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval no está definido en esta sesión"
 
-#: commands/sequence.c:873
+#: commands/sequence.c:848
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr "setval: el valor %s está fuera del rango de la secuencia «%s» (%s..%s)"
 
-#: commands/sequence.c:1242
+#: commands/sequence.c:1224
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT no debe ser cero"
 
-#: commands/sequence.c:1298
+#: commands/sequence.c:1280
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) debe ser menor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1323
+#: commands/sequence.c:1305
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "el valor START (%s) no puede ser menor que MINVALUE (%s)"
 
-#: commands/sequence.c:1335
+#: commands/sequence.c:1317
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "el valor START (%s) no puede ser mayor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1365
+#: commands/sequence.c:1347
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "el valor RESTART (%s) no puede ser menor que MINVALUE (%s)"
 
-#: commands/sequence.c:1377
+#: commands/sequence.c:1359
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "el valor RESTART (%s) no puede ser mayor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1392
+#: commands/sequence.c:1374
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "CACHE (%s) debe ser mayor que cero"
 
-#: commands/sequence.c:1424
+#: commands/sequence.c:1406
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "opción OWNED BY no válida"
 
-#: commands/sequence.c:1425
+#: commands/sequence.c:1407
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Especifique OWNED BY tabla.columna o OWNED BY NONE."
 
-#: commands/sequence.c:1448
+#: commands/sequence.c:1430
 #, c-format
 msgid "referenced relation \"%s\" is not a table or foreign table"
 msgstr "la relación referida «%s» no es una tabla o tabla foránea"
 
-#: commands/sequence.c:1455
+#: commands/sequence.c:1437
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "la secuencia debe tener el mismo dueño que la tabla a la que está enlazada"
 
-#: commands/sequence.c:1459
+#: commands/sequence.c:1441
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está enlazada"
 
-#: commands/tablecmds.c:205
+#: commands/tablecmds.c:206
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "no existe la tabla «%s»"
 
-#: commands/tablecmds.c:206
+#: commands/tablecmds.c:207
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la tabla «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:208
+#: commands/tablecmds.c:209
 msgid "Use DROP TABLE to remove a table."
 msgstr "Use DROP TABLE para eliminar una tabla."
 
-#: commands/tablecmds.c:211
+#: commands/tablecmds.c:212
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "no existe la secuencia «%s»"
 
-#: commands/tablecmds.c:212
+#: commands/tablecmds.c:213
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la secuencia «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:214
+#: commands/tablecmds.c:215
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Use DROP SEQUENCE para eliminar una secuencia."
 
-#: commands/tablecmds.c:217
+#: commands/tablecmds.c:218
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "no existe la vista «%s»"
 
-#: commands/tablecmds.c:218
+#: commands/tablecmds.c:219
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vista «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:220
+#: commands/tablecmds.c:221
 msgid "Use DROP VIEW to remove a view."
 msgstr "Use DROP VIEW para eliminar una vista."
 
-#: commands/tablecmds.c:223
+#: commands/tablecmds.c:224
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "no existe la vista materializada «%s»"
 
-#: commands/tablecmds.c:224
+#: commands/tablecmds.c:225
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "la vista materializada «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:226
+#: commands/tablecmds.c:227
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
 
-#: commands/tablecmds.c:229 parser/parse_utilcmd.c:1553
+#: commands/tablecmds.c:230 parser/parse_utilcmd.c:1548
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
 
-#: commands/tablecmds.c:230
+#: commands/tablecmds.c:231
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "el índice «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:232
+#: commands/tablecmds.c:233
 msgid "Use DROP INDEX to remove an index."
 msgstr "Use DROP INDEX para eliminar un índice."
 
-#: commands/tablecmds.c:237
+#: commands/tablecmds.c:238
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "«%s» no es un tipo"
 
-#: commands/tablecmds.c:238
+#: commands/tablecmds.c:239
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:241 commands/tablecmds.c:7813
-#: commands/tablecmds.c:9834
+#: commands/tablecmds.c:242 commands/tablecmds.c:8076
+#: commands/tablecmds.c:10557
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
 
-#: commands/tablecmds.c:242
+#: commands/tablecmds.c:243
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la tabla foránea «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:244
+#: commands/tablecmds.c:245
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:463
+#: commands/tablecmds.c:469
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT sólo puede ser usado en tablas temporales"
 
-#: commands/tablecmds.c:467 parser/parse_utilcmd.c:528
-#: parser/parse_utilcmd.c:539 parser/parse_utilcmd.c:556
-#: parser/parse_utilcmd.c:618
+#: commands/tablecmds.c:473 parser/parse_utilcmd.c:521
+#: parser/parse_utilcmd.c:532 parser/parse_utilcmd.c:549
+#: parser/parse_utilcmd.c:611
 #, c-format
 msgid "constraints are not supported on foreign tables"
 msgstr "las restricciones no están soportadas en tablas foráneas"
 
-#: commands/tablecmds.c:487
+#: commands/tablecmds.c:493
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
 
-#: commands/tablecmds.c:763
+#: commands/tablecmds.c:789
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY no soporta eliminar múltiples objetos"
 
-#: commands/tablecmds.c:767
+#: commands/tablecmds.c:793
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:912 commands/tablecmds.c:1250
-#: commands/tablecmds.c:2106 commands/tablecmds.c:3997
-#: commands/tablecmds.c:5822 commands/tablecmds.c:10450 commands/trigger.c:196
-#: commands/trigger.c:1074 commands/trigger.c:1180 rewrite/rewriteDefine.c:274
-#: rewrite/rewriteDefine.c:860 tcop/utility.c:116
+#: commands/tablecmds.c:938 commands/tablecmds.c:1276
+#: commands/tablecmds.c:2133 commands/tablecmds.c:4112
+#: commands/tablecmds.c:5942 commands/tablecmds.c:11170
+#: commands/tablecmds.c:11205 commands/trigger.c:232 commands/trigger.c:1118
+#: commands/trigger.c:1226 rewrite/rewriteDefine.c:271
+#: rewrite/rewriteDefine.c:887
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/tablecmds.c:1026
+#: commands/tablecmds.c:1052
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:1260
+#: commands/tablecmds.c:1286
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:1465 parser/parse_utilcmd.c:1765
+#: commands/tablecmds.c:1491 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "la relación heredada «%s» no es una tabla"
 
-#: commands/tablecmds.c:1472 commands/tablecmds.c:9019
+#: commands/tablecmds.c:1498 commands/tablecmds.c:9531
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:1480 commands/tablecmds.c:9027
+#: commands/tablecmds.c:1506 commands/tablecmds.c:9539
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "no se puede heredar de una tabla temporal de otra sesión"
 
-#: commands/tablecmds.c:1496 commands/tablecmds.c:9061
+#: commands/tablecmds.c:1522 commands/tablecmds.c:9573
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "se heredaría de la relación «%s» más de una vez"
 
-#: commands/tablecmds.c:1544
+#: commands/tablecmds.c:1570
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:1552
+#: commands/tablecmds.c:1578
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1554 commands/tablecmds.c:1575
-#: commands/tablecmds.c:1762 commands/tablecmds.c:1784
+#: commands/tablecmds.c:1580 commands/tablecmds.c:1601
+#: commands/tablecmds.c:1789 commands/tablecmds.c:1811
 #: 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
@@ -6372,920 +6641,1014 @@ msgstr "columna heredada «%s» tiene conflicto de tipos"
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:1561
+#: commands/tablecmds.c:1587
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:1563 commands/tablecmds.c:1772
-#: commands/tablecmds.c:4421
+#: commands/tablecmds.c:1589 commands/tablecmds.c:1799
+#: commands/tablecmds.c:4536
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:1573
+#: commands/tablecmds.c:1599
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:1685 parser/parse_utilcmd.c:859
-#: parser/parse_utilcmd.c:1200 parser/parse_utilcmd.c:1276
+#: commands/tablecmds.c:1712 parser/parse_utilcmd.c:853
+#: parser/parse_utilcmd.c:1195 parser/parse_utilcmd.c:1271
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
 
-#: commands/tablecmds.c:1686 parser/parse_utilcmd.c:860
+#: commands/tablecmds.c:1713 parser/parse_utilcmd.c:854
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:1752
+#: commands/tablecmds.c:1779
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:1760
+#: commands/tablecmds.c:1787
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1770
+#: commands/tablecmds.c:1797
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:1782
+#: commands/tablecmds.c:1809
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:1834
+#: commands/tablecmds.c:1861
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:1836
+#: commands/tablecmds.c:1863
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
 
-#: commands/tablecmds.c:1883
+#: commands/tablecmds.c:1910
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones"
 
-#: commands/tablecmds.c:2077
+#: commands/tablecmds.c:2104
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "no se puede cambiar el nombre a una columna de una tabla tipada"
 
-#: commands/tablecmds.c:2094
+#: commands/tablecmds.c:2121
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, índice o tabla foránea"
 
-#: commands/tablecmds.c:2186
+#: commands/tablecmds.c:2213
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "debe cambiar el nombre a la columna heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:2218
+#: commands/tablecmds.c:2245
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:2233
+#: commands/tablecmds.c:2260
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:2380
+#: commands/tablecmds.c:2407
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "debe cambiar el nombre a la restricción heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:2387
+#: commands/tablecmds.c:2414
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "no se puede cambiar el nombre a la restricción heredada «%s»"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2598
+#: commands/tablecmds.c:2628
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "no se puede hacer %s en «%s» porque está siendo usada por consultas activas en esta sesión"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2607
+#: commands/tablecmds.c:2637
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "no se puede hacer %s en «%s» porque tiene eventos de disparador pendientes"
 
-#: commands/tablecmds.c:3508
+#: commands/tablecmds.c:3607
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:3518
+#: commands/tablecmds.c:3613
+#, c-format
+msgid "cannot rewrite table \"%s\" used as a catalog table"
+msgstr "no se puede reescribir la tabla «%s» que es usada como tabla de catálogo"
+
+#: commands/tablecmds.c:3623
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3747
+#: commands/tablecmds.c:3854
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "reescribiendo tabla «%s»"
 
-#: commands/tablecmds.c:3751
+#: commands/tablecmds.c:3858
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "verificando tabla «%s»"
 
-#: commands/tablecmds.c:3858
+#: commands/tablecmds.c:3972
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la columna «%s» contiene valores nulos"
 
-#: commands/tablecmds.c:3873 commands/tablecmds.c:6726
+#: commands/tablecmds.c:3987 commands/tablecmds.c:6985
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la restricción «check» «%s» es violada por alguna fila"
 
-#: commands/tablecmds.c:4018 commands/trigger.c:190 commands/trigger.c:1068
-#: commands/trigger.c:1172 rewrite/rewriteDefine.c:268
-#: rewrite/rewriteDefine.c:855
+#: commands/tablecmds.c:4133 commands/trigger.c:226
+#: rewrite/rewriteDefine.c:265 rewrite/rewriteDefine.c:882
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "«%s» no es una tabla o vista"
 
-#: commands/tablecmds.c:4021
+#: commands/tablecmds.c:4136
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "«%s» no es una tabla, vista, vista materializada, o índice"
 
-#: commands/tablecmds.c:4027
+#: commands/tablecmds.c:4142
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "«%s» no es una tabla, vista materializada, o índice"
 
-#: commands/tablecmds.c:4030
+#: commands/tablecmds.c:4145
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "«%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:4033
+#: commands/tablecmds.c:4148
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "«%s» no es una tabla, tipo compuesto, o tabla foránea"
 
-#: commands/tablecmds.c:4036
+#: commands/tablecmds.c:4151
 #, c-format
 msgid "\"%s\" is not a table, materialized view, composite type, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada, tipo compuesto, o tabla foránea"
 
-#: commands/tablecmds.c:4046
+#: commands/tablecmds.c:4161
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "«%s» es tipo equivocado"
 
-#: commands/tablecmds.c:4196 commands/tablecmds.c:4203
+#: commands/tablecmds.c:4311 commands/tablecmds.c:4318
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "no se puede alterar el tipo «%s» porque la columna «%s.%s» lo usa"
 
-#: commands/tablecmds.c:4210
+#: commands/tablecmds.c:4325
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "no se puede alterar la tabla foránea «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:4217
+#: commands/tablecmds.c:4332
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "no se puede alterar la tabla «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:4279
+#: commands/tablecmds.c:4394
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "no se puede cambiar el tipo «%s» porque es el tipo de una tabla tipada"
 
-#: commands/tablecmds.c:4281
+#: commands/tablecmds.c:4396
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Use ALTER ... CASCADE para eliminar además las tablas tipadas."
 
-#: commands/tablecmds.c:4325
+#: commands/tablecmds.c:4440
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:4351
+#: commands/tablecmds.c:4466
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:4413 commands/tablecmds.c:9215
+#: commands/tablecmds.c:4528 commands/tablecmds.c:9727
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "la tabla hija «%s» tiene un tipo diferente para la columna «%s»"
 
-#: commands/tablecmds.c:4419 commands/tablecmds.c:9222
+#: commands/tablecmds.c:4534 commands/tablecmds.c:9734
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "la tabla hija «%s» tiene un ordenamiento (collation) diferente para la columna «%s»"
 
-#: commands/tablecmds.c:4429
+#: commands/tablecmds.c:4544
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "tabla hija «%s» tiene una columna «%s» que entra en conflicto"
 
-#: commands/tablecmds.c:4441
+#: commands/tablecmds.c:4556
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "mezclando la definición de la columna «%s» en la tabla hija «%s»"
 
-#: commands/tablecmds.c:4662
+#: commands/tablecmds.c:4777
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "la columna debe ser agregada a las tablas hijas también"
 
-#: commands/tablecmds.c:4729
+#: commands/tablecmds.c:4844
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:4832 commands/tablecmds.c:4927
-#: commands/tablecmds.c:4975 commands/tablecmds.c:5079
-#: commands/tablecmds.c:5126 commands/tablecmds.c:5210
-#: commands/tablecmds.c:7240 commands/tablecmds.c:7835
+#: commands/tablecmds.c:4948 commands/tablecmds.c:5043
+#: commands/tablecmds.c:5091 commands/tablecmds.c:5195
+#: commands/tablecmds.c:5242 commands/tablecmds.c:5326
+#: commands/tablecmds.c:7503 commands/tablecmds.c:8098
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:4868
+#: commands/tablecmds.c:4984
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:5026
+#: commands/tablecmds.c:5142
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada, índice o tabla foránea"
 
-#: commands/tablecmds.c:5053
+#: commands/tablecmds.c:5169
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/tablecmds.c:5061
+#: commands/tablecmds.c:5177
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/tablecmds.c:5191
+#: commands/tablecmds.c:5307
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:5222
+#: commands/tablecmds.c:5338
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "el tipo de datos %s de la columna sólo puede tener almacenamiento PLAIN"
 
-#: commands/tablecmds.c:5256
+#: commands/tablecmds.c:5372
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:5297
+#: commands/tablecmds.c:5413
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la columna «%s» en la relación «%s», ignorando"
 
-#: commands/tablecmds.c:5310
+#: commands/tablecmds.c:5426
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:5317
+#: commands/tablecmds.c:5433
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:5546
+#: commands/tablecmds.c:5663
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renombrará el índice «%s» a «%s»"
 
-#: commands/tablecmds.c:5749
+#: commands/tablecmds.c:5866
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "la restricción debe ser agregada a las tablas hijas también"
 
-#: commands/tablecmds.c:5816
+#: commands/tablecmds.c:5936
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:5839
+#: commands/tablecmds.c:5959
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "las restricciones en tablas permanentes sólo pueden hacer referencia a tablas permanentes"
 
-#: commands/tablecmds.c:5846
+#: commands/tablecmds.c:5966
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "las restricciones en tablas unlogged sólo pueden hacer referencia a tablas permanentes o unlogged"
 
-#: commands/tablecmds.c:5852
+#: commands/tablecmds.c:5972
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales"
 
-#: commands/tablecmds.c:5856
+#: commands/tablecmds.c:5976
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales de esta sesión"
 
-#: commands/tablecmds.c:5917
+#: commands/tablecmds.c:6037
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "el número de columnas referidas en la llave foránea no coincide con el número de columnas de referencia"
 
-#: commands/tablecmds.c:6024
+#: commands/tablecmds.c:6144
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "la restricción de llave foránea «%s» no puede ser implementada"
 
-#: commands/tablecmds.c:6027
+#: commands/tablecmds.c:6147
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Las columnas llave «%s» y «%s» son de tipos incompatibles: %s y %s"
 
-#: commands/tablecmds.c:6220 commands/tablecmds.c:7079
-#: commands/tablecmds.c:7135
+#: commands/tablecmds.c:6347 commands/tablecmds.c:6470
+#: commands/tablecmds.c:7342 commands/tablecmds.c:7398
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:6227
+#: commands/tablecmds.c:6353
+#, c-format
+msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
+msgstr "la restricción «%s» de la relación «%s» no es una restriccion de llave foránea"
+
+#: commands/tablecmds.c:6477
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "la restricción «%s» de la relación «%s» no es una llave foránea o restricción «check»"
 
-#: commands/tablecmds.c:6296
+#: commands/tablecmds.c:6546
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "la restricción debe ser validada en las tablas hijas también"
 
-#: commands/tablecmds.c:6358
+#: commands/tablecmds.c:6608
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "no existe la columna «%s» referida en la llave foránea"
 
-#: commands/tablecmds.c:6363
+#: commands/tablecmds.c:6613
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "no se puede tener más de %d columnas en una llave foránea"
 
-#: commands/tablecmds.c:6428
+#: commands/tablecmds.c:6678
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "no se puede usar una llave primaria postergable para la tabla referenciada «%s»"
 
-#: commands/tablecmds.c:6445
+#: commands/tablecmds.c:6695
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "no hay llave primaria para la tabla referida «%s»"
 
-#: commands/tablecmds.c:6597
+#: commands/tablecmds.c:6760
+#, c-format
+msgid "foreign key referenced-columns list must not contain duplicates"
+msgstr "la lista de columnas referidas en una llave foránea no debe contener duplicados"
+
+#: commands/tablecmds.c:6854
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "no se puede usar una restricción unique postergable para la tabla referenciada «%s»"
 
-#: commands/tablecmds.c:6602
+#: commands/tablecmds.c:6859
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "no hay restricción unique que coincida con las columnas dadas en la tabla referida «%s»"
 
-#: commands/tablecmds.c:6757
+#: commands/tablecmds.c:7018
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validando restricción de llave foránea «%s»"
 
-#: commands/tablecmds.c:7051
+#: commands/tablecmds.c:7314
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "no se puede eliminar la restricción «%s» heredada de la relación «%s»"
 
-#: commands/tablecmds.c:7085
+#: commands/tablecmds.c:7348
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en la relación «%s», ignorando"
 
-#: commands/tablecmds.c:7224
+#: commands/tablecmds.c:7487
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "no se puede cambiar el tipo de una columna de una tabla tipada"
 
-#: commands/tablecmds.c:7247
+#: commands/tablecmds.c:7510
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:7294
+#: commands/tablecmds.c:7557
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "la expresión de transformación no puede retornar conjuntos"
 
-#: commands/tablecmds.c:7313
+#: commands/tablecmds.c:7576
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la columna «%s» no puede convertirse automáticamente al tipo %s"
 
-#: commands/tablecmds.c:7315
+#: commands/tablecmds.c:7578
 #, c-format
 msgid "Specify a USING expression to perform the conversion."
 msgstr "Especifique una expresión USING para llevar a cabo la conversión."
 
-#: commands/tablecmds.c:7364
+#: commands/tablecmds.c:7627
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "debe cambiar el tipo a la columna heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:7445
+#: commands/tablecmds.c:7708
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "no se puede alterar el tipo de la columna «%s» dos veces"
 
-#: commands/tablecmds.c:7481
+#: commands/tablecmds.c:7744
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "el valor por omisión para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:7607
+#: commands/tablecmds.c:7870
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "no se puede alterar el tipo de una columna usada en una regla o vista"
 
-#: commands/tablecmds.c:7608 commands/tablecmds.c:7627
+#: commands/tablecmds.c:7871 commands/tablecmds.c:7890
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:7626
+#: commands/tablecmds.c:7889
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "no se puede alterar el tipo de una columna usada en una definición de trigger"
 
-#: commands/tablecmds.c:8178
+#: commands/tablecmds.c:8465
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:8180
+#: commands/tablecmds.c:8467
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/tablecmds.c:8196
+#: commands/tablecmds.c:8483
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:8198 commands/tablecmds.c:9921
+#: commands/tablecmds.c:8485 commands/tablecmds.c:10644
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/tablecmds.c:8210 commands/tablecmds.c:10525
+#: commands/tablecmds.c:8497 commands/tablecmds.c:11280
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Considere usar ALTER TYPE."
 
-#: commands/tablecmds.c:8219
+#: commands/tablecmds.c:8506
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:8551
+#: commands/tablecmds.c:8842
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:8621
+#: commands/tablecmds.c:8915
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "«%s» no es una tabla, vista, tabla materializada, índice o tabla TOAST"
 
-#: commands/tablecmds.c:8766
+#: commands/tablecmds.c:8948 commands/view.c:474
+#, c-format
+msgid "WITH CHECK OPTION is supported only on automatically updatable views"
+msgstr "WITH CHECK OPTION sólo puede usarse en vistas automáticamente actualizables"
+
+#: commands/tablecmds.c:9094
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: commands/tablecmds.c:8782
+#: commands/tablecmds.c:9110
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:8910 storage/buffer/bufmgr.c:479
+#: commands/tablecmds.c:9238
+#, c-format
+msgid "only tables, indexes, and materialized views exist in tablespaces"
+msgstr "solamente tablas, índices y vistas materializadas existen en tablespaces"
+
+#: commands/tablecmds.c:9250
+#, c-format
+msgid "cannot move relations in to or out of pg_global tablespace"
+msgstr "no se puede mover objetos hacia o desde el tablespace pg_global"
+
+#: commands/tablecmds.c:9341
+#, c-format
+msgid "aborting because lock on relation \"%s\".\"%s\" is not available"
+msgstr "cancelando porque el candado en la relación «%s».«%s» no está disponible"
+
+#: commands/tablecmds.c:9357
+#, c-format
+msgid "no matching relations in tablespace \"%s\" found"
+msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
+
+#: commands/tablecmds.c:9418 storage/buffer/bufmgr.c:501
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "la página no es válida en el bloque %u de la relación %s"
 
-#: commands/tablecmds.c:8988
+#: commands/tablecmds.c:9500
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:9034
+#: commands/tablecmds.c:9546
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "no se puede agregar herencia a tablas temporales de otra sesión"
 
-#: commands/tablecmds.c:9088
+#: commands/tablecmds.c:9600
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:9089
+#: commands/tablecmds.c:9601
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:9097
+#: commands/tablecmds.c:9609
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "tabla «%s» sin OIDs no puede heredar de tabla «%s» con OIDs"
 
-#: commands/tablecmds.c:9233
+#: commands/tablecmds.c:9745
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "columna «%s» en tabla hija debe marcarse como NOT NULL"
 
-#: commands/tablecmds.c:9249
+#: commands/tablecmds.c:9761
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:9332
+#: commands/tablecmds.c:9844
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "la tabla hija «%s» tiene una definición diferente para la restricción «check» «%s»"
 
-#: commands/tablecmds.c:9340
+#: commands/tablecmds.c:9852
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción no heredada en la tabla hija «%s»"
 
-#: commands/tablecmds.c:9364
+#: commands/tablecmds.c:9876
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:9444
+#: commands/tablecmds.c:9956
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "relación «%s» no es un padre de la relación «%s»"
 
-#: commands/tablecmds.c:9670
+#: commands/tablecmds.c:10182
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:9701
+#: commands/tablecmds.c:10213
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:9711
+#: commands/tablecmds.c:10223
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "la tabla tiene columna «%s» en la posición en que el tipo requiere «%s»."
 
-#: commands/tablecmds.c:9720
+#: commands/tablecmds.c:10232
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»"
 
-#: commands/tablecmds.c:9733
+#: commands/tablecmds.c:10245
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:9783
+#: commands/tablecmds.c:10295
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:9920
+#: commands/tablecmds.c:10478
+#, c-format
+msgid "cannot use non-unique index \"%s\" as replica identity"
+msgstr "no se puede usar el índice no-único «%s» como identidad de réplica"
+
+#: commands/tablecmds.c:10484
+#, c-format
+msgid "cannot use non-immediate index \"%s\" as replica identity"
+msgstr "no puede usar el índice no-inmediato «%s» como identidad de réplica"
+
+#: commands/tablecmds.c:10490
+#, c-format
+msgid "cannot use expression index \"%s\" as replica identity"
+msgstr "no se puede usar el índice funcional «%s» como identidad de réplica"
+
+#: commands/tablecmds.c:10496
+#, c-format
+msgid "cannot use partial index \"%s\" as replica identity"
+msgstr "no se puede usar el índice parcial «%s» como identidad de réplica"
+
+#: commands/tablecmds.c:10502
+#, c-format
+msgid "cannot use invalid index \"%s\" as replica identity"
+msgstr "no se puede usar el índice no válido «%s» como identidad de réplica"
+
+#: commands/tablecmds.c:10520
+#, c-format
+msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
+msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column «%s» acepta valores nulos"
+
+#: commands/tablecmds.c:10643
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "no se puede mover una secuencia enlazada a una tabla hacia otro esquema"
 
-#: commands/tablecmds.c:10016
+#: commands/tablecmds.c:10739
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una relación llamada «%s» en el esquema «%s»"
 
-#: commands/tablecmds.c:10509
+#: commands/tablecmds.c:11264
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:10539
+#: commands/tablecmds.c:11294
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, secuencia o tabla foránea"
 
-#: commands/tablespace.c:156 commands/tablespace.c:173
-#: commands/tablespace.c:184 commands/tablespace.c:192
-#: commands/tablespace.c:604 storage/file/copydir.c:50
+#: commands/tablespace.c:160 commands/tablespace.c:177
+#: commands/tablespace.c:188 commands/tablespace.c:196
+#: commands/tablespace.c:623 replication/slot.c:930 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: commands/tablespace.c:203
+#: commands/tablespace.c:207
 #, c-format
 msgid "could not stat directory \"%s\": %m"
-msgstr "no se pudo verificar el directorio «%s»: %m"
+msgstr "no se pudo hacer stat al directorio «%s»: %m"
 
-#: commands/tablespace.c:212
+#: commands/tablespace.c:216
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "«%s» existe pero no es un directorio"
 
-#: commands/tablespace.c:242
+#: commands/tablespace.c:247
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "se ha denegado el permiso para crear el tablespace «%s»"
 
-#: commands/tablespace.c:244
+#: commands/tablespace.c:249
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Debe ser superusuario para crear tablespaces."
 
-#: commands/tablespace.c:260
+#: commands/tablespace.c:265
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "la ruta del tablespace no puede contener comillas simples"
 
-#: commands/tablespace.c:270
+#: commands/tablespace.c:275
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "la ubicación del tablespace debe ser una ruta absoluta"
 
-#: commands/tablespace.c:281
+#: commands/tablespace.c:286
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "la ruta «%s» del tablespace es demasiado larga"
 
-#: commands/tablespace.c:291 commands/tablespace.c:856
+#: commands/tablespace.c:296 commands/tablespace.c:894
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:293 commands/tablespace.c:857
+#: commands/tablespace.c:298 commands/tablespace.c:895
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:303 commands/tablespace.c:869
+#: commands/tablespace.c:308 commands/tablespace.c:907
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:372 commands/tablespace.c:530
-#: replication/basebackup.c:162 replication/basebackup.c:921
-#: utils/adt/misc.c:372
+#: commands/tablespace.c:386 commands/tablespace.c:551
+#: replication/basebackup.c:222 replication/basebackup.c:1064
+#: utils/adt/misc.c:365
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "tablespaces no están soportados en esta plataforma"
 
-#: commands/tablespace.c:412 commands/tablespace.c:839
-#: commands/tablespace.c:918 commands/tablespace.c:991
-#: commands/tablespace.c:1129 commands/tablespace.c:1329
+#: commands/tablespace.c:426 commands/tablespace.c:877
+#: commands/tablespace.c:956 commands/tablespace.c:1025
+#: commands/tablespace.c:1158 commands/tablespace.c:1358
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
 
-#: commands/tablespace.c:418
+#: commands/tablespace.c:432
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, ignorando"
 
-#: commands/tablespace.c:487
+#: commands/tablespace.c:508
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "el tablespace «%s» no está vacío"
 
-#: commands/tablespace.c:561
+#: commands/tablespace.c:582
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "no existe el directorio «%s»"
 
-#: commands/tablespace.c:562
+#: commands/tablespace.c:583
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Cree este directorio para el tablespace antes de reiniciar el servidor."
 
-#: commands/tablespace.c:567
+#: commands/tablespace.c:588
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "no se pudo definir los permisos del directorio «%s»: %m"
 
-#: commands/tablespace.c:599
+#: commands/tablespace.c:618
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:614 commands/tablespace.c:775
+#: commands/tablespace.c:642 commands/tablespace.c:764
+#: commands/tablespace.c:777 commands/tablespace.c:801
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "no se pudo eliminar el directorio «%s»: %m"
+
+#: commands/tablespace.c:650 commands/tablespace.c:812
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:624
+#: commands/tablespace.c:661
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:690 commands/tablespace.c:700
-#: postmaster/postmaster.c:1319 replication/basebackup.c:265
-#: replication/basebackup.c:561 storage/file/copydir.c:56
-#: storage/file/copydir.c:99 storage/file/fd.c:1896 utils/adt/genfile.c:354
-#: utils/adt/misc.c:272 utils/misc/tzparser.c:323
+#: commands/tablespace.c:725 commands/tablespace.c:735
+#: postmaster/postmaster.c:1284 replication/basebackup.c:349
+#: replication/basebackup.c:667 storage/file/copydir.c:53
+#: storage/file/copydir.c:96 storage/file/fd.c:1951 storage/ipc/dsm.c:300
+#: utils/adt/genfile.c:354 utils/adt/misc.c:267 utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: commands/tablespace.c:730 commands/tablespace.c:743
-#: commands/tablespace.c:767
-#, c-format
-msgid "could not remove directory \"%s\": %m"
-msgstr "no se pudo eliminar el directorio «%s»: %m"
-
-#: commands/tablespace.c:996
+#: commands/tablespace.c:1030
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1428
+#: commands/tablespace.c:1457
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "algunos directorios para el tablespace %u no pudieron eliminarse"
 
-#: commands/tablespace.c:1430
+#: commands/tablespace.c:1459
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puede eliminar los directorios manualmente, si es necesario."
 
-#: commands/trigger.c:163
+#: commands/trigger.c:175
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:165
+#: commands/trigger.c:177
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:176 commands/trigger.c:183
+#: commands/trigger.c:188 commands/trigger.c:195
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:178
+#: commands/trigger.c:190
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Las vistas no pueden tener disparadores BEFORE o AFTER a nivel de fila."
 
-#: commands/trigger.c:185
+#: commands/trigger.c:197
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:241
+#: commands/trigger.c:205 commands/trigger.c:212 commands/trigger.c:219
+#, c-format
+msgid "\"%s\" is a foreign table"
+msgstr "«%s» es una tabla foránea"
+
+#: commands/trigger.c:207
+#, c-format
+msgid "Foreign tables cannot have INSTEAD OF triggers."
+msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF."
+
+#: commands/trigger.c:214
+#, c-format
+msgid "Foreign tables cannot have TRUNCATE triggers."
+msgstr "Las tablas foráneas no pueden tener disparadores TRUNCATE."
+
+#: commands/trigger.c:221
+#, c-format
+msgid "Foreign tables cannot have constraint triggers."
+msgstr "Las tablas foráneas no pueden tener disparadores de restricción."
+
+#: commands/trigger.c:284
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "los disparadores TRUNCATE FOR EACH ROW no están soportados"
 
-#: commands/trigger.c:249
+#: commands/trigger.c:292
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:253
+#: commands/trigger.c:296
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:257
+#: commands/trigger.c:300
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:316 commands/trigger.c:329
+#: commands/trigger.c:359 commands/trigger.c:372
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "la condición WHEN de un disparador por sentencias no pueden referirse a los valores de las columnas"
 
-#: commands/trigger.c:321
+#: commands/trigger.c:364
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "la condición WHEN de un disparador en INSERT no puede referirse a valores OLD"
 
-#: commands/trigger.c:334
+#: commands/trigger.c:377
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "la condición WHEN de un disparador en DELETE no puede referirse a valores NEW"
 
-#: commands/trigger.c:339
+#: commands/trigger.c:382
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "la condición WHEN de un disparador BEFORE no puede referirse a columnas de sistema de NEW"
 
-#: commands/trigger.c:384
+#: commands/trigger.c:427
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a «trigger»"
 
-#: commands/trigger.c:391
+#: commands/trigger.c:434
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "la función %s debe retornar tipo «trigger»"
 
-#: commands/trigger.c:503 commands/trigger.c:1249
+#: commands/trigger.c:546 commands/trigger.c:1295
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:788
+#: commands/trigger.c:831
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Se encontró el disparador UPDATE de la tabla referenciada."
 
-#: commands/trigger.c:789
+#: commands/trigger.c:832
 msgid "Found referenced table's DELETE trigger."
 msgstr "Se encontró el disparador DELETE de la tabla referenciada."
 
-#: commands/trigger.c:790
+#: commands/trigger.c:833
 msgid "Found referencing table's trigger."
 msgstr "Se encontró el disparador en la tabla que hace referencia."
 
-#: commands/trigger.c:899 commands/trigger.c:915
+#: commands/trigger.c:942 commands/trigger.c:958
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "ignorando el grupo de disparadores incompleto para la restricción «%s» %s"
 
-#: commands/trigger.c:927
+#: commands/trigger.c:970
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "convirtiendo el grupo de disparadores en la restricción «%s» %s"
 
-#: commands/trigger.c:1139 commands/trigger.c:1297 commands/trigger.c:1413
+#: commands/trigger.c:1112 commands/trigger.c:1217
+#, c-format
+msgid "\"%s\" is not a table, view, or foreign table"
+msgstr "«%s» no es una tabla, vista o tabla foránea"
+
+#: commands/trigger.c:1183 commands/trigger.c:1343 commands/trigger.c:1459
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1378
+#: commands/trigger.c:1424
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
 
-#: commands/trigger.c:1874
+#: commands/trigger.c:1920
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:1933 commands/trigger.c:2132 commands/trigger.c:2320
-#: commands/trigger.c:2579
+#: commands/trigger.c:1979 commands/trigger.c:2178 commands/trigger.c:2382
+#: commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2641 executor/nodeModifyTable.c:428
-#: executor/nodeModifyTable.c:709
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:434
+#: executor/nodeModifyTable.c:712
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual"
 
-#: commands/trigger.c:2642 executor/nodeModifyTable.c:429
-#: executor/nodeModifyTable.c:710
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:435
+#: executor/nodeModifyTable.c:713
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considere usar un disparador ANTES en lugar de un disparador BEFORE para propagar cambios a otros registros."
 
-#: commands/trigger.c:2656 executor/execMain.c:1978
-#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:441
-#: executor/nodeModifyTable.c:722
+#: commands/trigger.c:2741 executor/execMain.c:2059
+#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:447
+#: executor/nodeModifyTable.c:725
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "no se pudo serializar el acceso debido a un update concurrente"
 
-#: commands/trigger.c:4285
+#: commands/trigger.c:4538
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:4308
+#: commands/trigger.c:4561
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
@@ -7385,257 +7748,257 @@ msgstr "el mapeo para el tipo de elemento «%s» no existe, ignorando"
 msgid "invalid parameter list format: \"%s\""
 msgstr "el formato de la lista de parámetros no es válido: «%s»"
 
-#: commands/typecmds.c:182
+#: commands/typecmds.c:184
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "debe ser superusuario para crear un tipo base"
 
-#: commands/typecmds.c:288 commands/typecmds.c:1369
+#: commands/typecmds.c:290 commands/typecmds.c:1371
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "el atributo de tipo «%s» no es reconocido"
 
-#: commands/typecmds.c:342
+#: commands/typecmds.c:344
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "la categoría de tipo «%s» no es válida: debe ser ASCII simple"
 
-#: commands/typecmds.c:361
+#: commands/typecmds.c:363
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "el tipo de elemento de array no puede ser %s"
 
-#: commands/typecmds.c:393
+#: commands/typecmds.c:395
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "el alineamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:410
+#: commands/typecmds.c:412
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "el almacenamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:421
+#: commands/typecmds.c:423
 #, c-format
 msgid "type input function must be specified"
 msgstr "debe especificarse la función de ingreso del tipo"
 
-#: commands/typecmds.c:425
+#: commands/typecmds.c:427
 #, c-format
 msgid "type output function must be specified"
 msgstr "debe especificarse la función de salida de tipo"
 
-#: commands/typecmds.c:430
+#: commands/typecmds.c:432
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "la función de salida de modificadores de tipo es inútil sin una función de entrada de modificadores de tipo"
 
-#: commands/typecmds.c:453
+#: commands/typecmds.c:455
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to %s"
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a %s"
 
-#: commands/typecmds.c:460
+#: commands/typecmds.c:462
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "la función de entrada %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:470
+#: commands/typecmds.c:472
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"cstring\""
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a «cstring»"
 
-#: commands/typecmds.c:477
+#: commands/typecmds.c:479
 #, c-format
 msgid "type output function %s must return type \"cstring\""
 msgstr "la función de salida %s del tipo debe retornar «cstring»"
 
-#: commands/typecmds.c:486
+#: commands/typecmds.c:488
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la función de recepción %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:495
+#: commands/typecmds.c:497
 #, c-format
 msgid "type send function %s must return type \"bytea\""
 msgstr "la función de envío %s del tipo debe retornar «bytea»"
 
-#: commands/typecmds.c:760
+#: commands/typecmds.c:762
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "«%s» no es un tipo de dato base válido para un dominio"
 
-#: commands/typecmds.c:846
+#: commands/typecmds.c:848
 #, c-format
 msgid "multiple default expressions"
 msgstr "múltiples expresiones default"
 
-#: commands/typecmds.c:908 commands/typecmds.c:917
+#: commands/typecmds.c:910 commands/typecmds.c:919
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "las restricciones NULL/NOT NULL no coinciden"
 
-#: commands/typecmds.c:933
+#: commands/typecmds.c:935
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "las restricciones «check» en dominios no pueden ser marcadas NO INHERIT"
 
-#: commands/typecmds.c:942 commands/typecmds.c:2448
+#: commands/typecmds.c:944 commands/typecmds.c:2453
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "no se pueden poner restricciones de unicidad a un dominio"
 
-#: commands/typecmds.c:948 commands/typecmds.c:2454
+#: commands/typecmds.c:950 commands/typecmds.c:2459
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave primaria a un dominio"
 
-#: commands/typecmds.c:954 commands/typecmds.c:2460
+#: commands/typecmds.c:956 commands/typecmds.c:2465
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "las restricciones por exclusión no son posibles para los dominios"
 
-#: commands/typecmds.c:960 commands/typecmds.c:2466
+#: commands/typecmds.c:962 commands/typecmds.c:2471
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave foránea a un dominio"
 
-#: commands/typecmds.c:969 commands/typecmds.c:2475
+#: commands/typecmds.c:971 commands/typecmds.c:2480
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio"
 
-#: commands/typecmds.c:1241 utils/cache/typcache.c:1071
+#: commands/typecmds.c:1243 utils/cache/typcache.c:1071
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
 
-#: commands/typecmds.c:1377
+#: commands/typecmds.c:1379
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "el atributo de tipo «subtype» es obligatorio"
 
-#: commands/typecmds.c:1382
+#: commands/typecmds.c:1384
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "el subtipo de rango no puede ser %s"
 
-#: commands/typecmds.c:1401
+#: commands/typecmds.c:1403
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "se especificó un ordenamiento (collation) al rango, pero el subtipo no soporta ordenamiento"
 
-#: commands/typecmds.c:1637
+#: commands/typecmds.c:1639
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "cambiando el tipo de argumento de la función %s de «opaque» a «cstring»"
 
-#: commands/typecmds.c:1688
+#: commands/typecmds.c:1690
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "cambiando el tipo de argumento de la función %s de «opaque» a %s"
 
-#: commands/typecmds.c:1787
+#: commands/typecmds.c:1789
 #, c-format
 msgid "typmod_in function %s must return type \"integer\""
 msgstr "la función typmod_in %s debe retornar tipo «integer»"
 
-#: commands/typecmds.c:1814
+#: commands/typecmds.c:1816
 #, c-format
 msgid "typmod_out function %s must return type \"cstring\""
 msgstr "la función typmod_out %s debe retornar «cstring»"
 
-#: commands/typecmds.c:1841
+#: commands/typecmds.c:1843
 #, c-format
 msgid "type analyze function %s must return type \"boolean\""
 msgstr "la función de análisis %s del tipo debe retornar «boolean»"
 
-#: commands/typecmds.c:1887
+#: commands/typecmds.c:1889
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Debe especificar una clase de operadores para el tipo de rango, o definir una clase de operadores por omisión para el subtipo."
 
-#: commands/typecmds.c:1918
+#: commands/typecmds.c:1920
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "la función canónica %s del rango debe retornar tipo de rango"
 
-#: commands/typecmds.c:1924
+#: commands/typecmds.c:1926
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la función canónica %s del rango debe ser inmutable"
 
-#: commands/typecmds.c:1960
+#: commands/typecmds.c:1962
 #, c-format
 msgid "range subtype diff function %s must return type double precision"
 msgstr "la función «diff» de subtipo, %s, debe retornar tipo doble precisión"
 
-#: commands/typecmds.c:1966
+#: commands/typecmds.c:1968
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "la función «diff» de subtipo, %s, debe ser inmutable"
 
-#: commands/typecmds.c:2283
+#: commands/typecmds.c:2287
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "la columna «%s» de la tabla «%s» contiene valores null"
 
-#: commands/typecmds.c:2391 commands/typecmds.c:2569
+#: commands/typecmds.c:2396 commands/typecmds.c:2574
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en el dominio «%s»"
 
-#: commands/typecmds.c:2395
+#: commands/typecmds.c:2400
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en el dominio «%s», ignorando"
 
-#: commands/typecmds.c:2575
+#: commands/typecmds.c:2580
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "la restricción «%s» en el dominio «%s» no es una restricción «check»"
 
-#: commands/typecmds.c:2677
+#: commands/typecmds.c:2684
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "la columna «%s» de la relación «%s» contiene valores que violan la nueva restricción"
 
-#: commands/typecmds.c:2889 commands/typecmds.c:3259 commands/typecmds.c:3417
+#: commands/typecmds.c:2897 commands/typecmds.c:3267 commands/typecmds.c:3425
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s no es un dominio"
 
-#: commands/typecmds.c:2922
+#: commands/typecmds.c:2930
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "el dominio «%2$s» ya contiene una restricción llamada «%1$s»"
 
-#: commands/typecmds.c:2972
+#: commands/typecmds.c:2980
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "no se pueden usar referencias a tablas en restricción «check» para un dominio"
 
-#: commands/typecmds.c:3191 commands/typecmds.c:3271 commands/typecmds.c:3525
+#: commands/typecmds.c:3199 commands/typecmds.c:3279 commands/typecmds.c:3533
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s es el tipo de registro de una tabla"
 
-#: commands/typecmds.c:3193 commands/typecmds.c:3273 commands/typecmds.c:3527
+#: commands/typecmds.c:3201 commands/typecmds.c:3281 commands/typecmds.c:3535
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Considere usar ALTER TABLE."
 
-#: commands/typecmds.c:3200 commands/typecmds.c:3280 commands/typecmds.c:3444
+#: commands/typecmds.c:3208 commands/typecmds.c:3288 commands/typecmds.c:3452
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "no se puede alterar el tipo de array «%s»"
 
-#: commands/typecmds.c:3202 commands/typecmds.c:3282 commands/typecmds.c:3446
+#: commands/typecmds.c:3210 commands/typecmds.c:3290 commands/typecmds.c:3454
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
 
-#: commands/typecmds.c:3511
+#: commands/typecmds.c:3519
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un tipo llamado «%s» en el esquema «%s»"
@@ -7671,14 +8034,14 @@ msgid "role \"%s\" already exists"
 msgstr "el rol «%s» ya existe"
 
 #: commands/user.c:618 commands/user.c:827 commands/user.c:933
-#: commands/user.c:1088 commands/variable.c:856 commands/variable.c:928
-#: utils/adt/acl.c:5090 utils/init/miscinit.c:433
+#: commands/user.c:1088 commands/variable.c:797 commands/variable.c:869
+#: utils/adt/acl.c:5121 utils/init/miscinit.c:362
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
 
 #: commands/user.c:631 commands/user.c:846 commands/user.c:1357
-#: commands/user.c:1494
+#: commands/user.c:1503
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "debe ser superusuario para alterar superusuarios"
@@ -7768,109 +8131,119 @@ msgstr "se ha denegado el permiso para eliminar objetos"
 msgid "permission denied to reassign objects"
 msgstr "se ha denegado el permiso para reasignar objetos"
 
-#: commands/user.c:1365 commands/user.c:1502
+#: commands/user.c:1365 commands/user.c:1511
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "debe tener opción de admin en rol «%s»"
 
-#: commands/user.c:1373
+#: commands/user.c:1382
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "debe ser superusuario para especificar el cedente (grantor)"
 
-#: commands/user.c:1398
+#: commands/user.c:1407
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:1413
+#: commands/user.c:1422
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "el rol «%s» ya es un miembro del rol «%s»"
 
-#: commands/user.c:1524
+#: commands/user.c:1533
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "el rol «%s» no es un miembro del rol «%s»"
 
-#: commands/vacuum.c:437
+#: commands/vacuum.c:468
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "xmin más antiguo es demasiado antiguo"
 
-#: commands/vacuum.c:438
+#: commands/vacuum.c:469
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "Cierre transacciones pronto para prevenir problemas por reciclaje de transacciones."
 
-#: commands/vacuum.c:892
+#: commands/vacuum.c:501
+#, c-format
+msgid "oldest multixact is far in the past"
+msgstr "multixact más antiguo es demasiado antiguo"
+
+#: commands/vacuum.c:502
+#, c-format
+msgid "Close open transactions with multixacts soon to avoid wraparound problems."
+msgstr "Cierre transacciones con multixact pronto para prevenir problemas por reciclaje del contador."
+
+#: commands/vacuum.c:1064
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "algunas bases de datos no han tenido VACUUM en más de 2 mil millones de transacciones"
 
-#: commands/vacuum.c:893
+#: commands/vacuum.c:1065
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del contador de transacciones."
 
-#: commands/vacuum.c:1004
+#: commands/vacuum.c:1182
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:1030
+#: commands/vacuum.c:1208
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1034
+#: commands/vacuum.c:1212
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1038
+#: commands/vacuum.c:1216
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1056
+#: commands/vacuum.c:1234
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "omitiendo «%s»: no se puede aplicar VACUUM a objetos que no son tablas o a tablas especiales de sistema"
 
-#: commands/vacuumlazy.c:314
+#: commands/vacuumlazy.c:346
 #, c-format
 msgid ""
 "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 "pages: %d removed, %d remain\n"
-"tuples: %.0f removed, %.0f remain\n"
+"tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
 "buffer usage: %d hits, %d misses, %d dirtied\n"
 "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 "system usage: %s"
 msgstr ""
 "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 "páginas: eliminadas %d, remanentes %d\n"
-"tuplas: eliminadas %.0f, remanentes %.0f\n"
+"tuplas: eliminadas %.0f, remanentes %.0f, muertas pero sin eliminar aún %.0f\n"
 "uso de búfers: %d aciertos, %d fallas, %d ensuciados\n"
 "tasas promedio: de lectura: %.3f MB/s, de escritura %.3f MB/s\n"
 "uso del sistema: %s"
 
-#: commands/vacuumlazy.c:645
+#: commands/vacuumlazy.c:680
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "la página %2$u de la relación «%1$s» no está inicializada --- arreglando"
 
-#: commands/vacuumlazy.c:1033
+#: commands/vacuumlazy.c:1092
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "«%s»: se eliminaron %.0f versiones de filas en %u páginas"
 
-#: commands/vacuumlazy.c:1038
+#: commands/vacuumlazy.c:1097
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
 msgstr "«%s»: se encontraron %.0f versiones de filas eliminables y %.0f no eliminables en %u de %u páginas"
 
-#: commands/vacuumlazy.c:1042
+#: commands/vacuumlazy.c:1101
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -7883,28 +8256,28 @@ msgstr ""
 "%u páginas están completamente vacías.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1113
+#: commands/vacuumlazy.c:1172
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "«%s»: se eliminaron %d versiones de filas en %d páginas"
 
-#: commands/vacuumlazy.c:1116 commands/vacuumlazy.c:1272
-#: commands/vacuumlazy.c:1443
+#: commands/vacuumlazy.c:1175 commands/vacuumlazy.c:1342
+#: commands/vacuumlazy.c:1514
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/vacuumlazy.c:1269
+#: commands/vacuumlazy.c:1339
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: commands/vacuumlazy.c:1314
+#: commands/vacuumlazy.c:1385
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
 
-#: commands/vacuumlazy.c:1318
+#: commands/vacuumlazy.c:1389
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -7915,22 +8288,22 @@ msgstr ""
 "%u páginas de índice han sido eliminadas, %u son reusables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1375
+#: commands/vacuumlazy.c:1446
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: commands/vacuumlazy.c:1440
+#: commands/vacuumlazy.c:1511
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "«%s»: truncadas %u a %u páginas"
 
-#: commands/vacuumlazy.c:1496
+#: commands/vacuumlazy.c:1567
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: commands/variable.c:162 utils/misc/guc.c:8359
+#: commands/variable.c:162 utils/misc/guc.c:9058
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
@@ -7940,132 +8313,147 @@ msgstr "Palabra clave no reconocida: «%s»."
 msgid "Conflicting \"datestyle\" specifications."
 msgstr "Especificaciones contradictorias de «datestyle»."
 
-#: commands/variable.c:313
+#: commands/variable.c:296
 #, c-format
 msgid "Cannot specify months in time zone interval."
 msgstr "No se pueden especificar meses en el intervalo de huso horario."
 
-#: commands/variable.c:319
+#: commands/variable.c:302
 #, c-format
 msgid "Cannot specify days in time zone interval."
 msgstr "No se pueden especificar días en el intervalo de huso horario."
 
-#: commands/variable.c:363 commands/variable.c:486
+#: commands/variable.c:344 commands/variable.c:426
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "el huso horario «%s» parece usar segundos intercalares (bisiestos)"
 
-#: commands/variable.c:365 commands/variable.c:488
+#: commands/variable.c:346 commands/variable.c:428
 #, c-format
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL no soporta segundos intercalares."
 
-#: commands/variable.c:552
+#: commands/variable.c:355
+#, c-format
+msgid "UTC timezone offset is out of range."
+msgstr "desplazamiento de huso horario UTC fuera de rango"
+
+#: commands/variable.c:493
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "no se puede poner en modo de escritura dentro de una transacción de sólo lectura"
 
-#: commands/variable.c:559
+#: commands/variable.c:500
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr "el modo de escritura debe ser activado antes de cualquier consulta"
 
-#: commands/variable.c:566
+#: commands/variable.c:507
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr "no se puede poner en modo de escritura durante la recuperación"
 
-#: commands/variable.c:615
+#: commands/variable.c:556
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL debe ser llamado antes de cualquier consulta"
 
-#: commands/variable.c:622
+#: commands/variable.c:563
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL no debe ser llamado en una subtransacción"
 
-#: commands/variable.c:629 storage/lmgr/predicate.c:1585
+#: commands/variable.c:570 storage/lmgr/predicate.c:1588
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "no se puede utilizar el modo serializable en un hot standby"
 
-#: commands/variable.c:630
+#: commands/variable.c:571
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Puede utilizar REPEATABLE READ en su lugar."
 
-#: commands/variable.c:678
+#: commands/variable.c:619
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE no puede ser llamado en una subtransacción"
 
-#: commands/variable.c:684
+#: commands/variable.c:625
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE debe ser llamado antes de cualquier consulta"
 
-#: commands/variable.c:766
+#: commands/variable.c:707
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "La conversión entre %s y %s no está soportada."
 
-#: commands/variable.c:773
+#: commands/variable.c:714
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "No se puede cambiar «client_encoding» ahora."
 
-#: commands/variable.c:943
+#: commands/variable.c:884
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/view.c:94
+#: commands/view.c:54
+#, c-format
+msgid "invalid value for \"check_option\" option"
+msgstr "valor no válido para la opción «check_option»"
+
+#: commands/view.c:55
+#, c-format
+msgid "Valid values are \"local\" and \"cascaded\"."
+msgstr "Los valores aceptables son «local» y «cascaded»."
+
+#: commands/view.c:114
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "no se pudo determinar el ordenamiento (collation) a usar para la columna «%s» de vista"
 
-#: commands/view.c:109
+#: commands/view.c:129
 #, c-format
 msgid "view must have at least one column"
 msgstr "una vista debe tener al menos una columna"
 
-#: commands/view.c:240 commands/view.c:252
+#: commands/view.c:260 commands/view.c:272
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "no se pueden eliminar columnas de una vista"
 
-#: commands/view.c:257
+#: commands/view.c:277
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "no se puede cambiar el nombre de la columna «%s» de la vista a «%s»"
 
-#: commands/view.c:265
+#: commands/view.c:285
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s"
 
-#: commands/view.c:398
+#: commands/view.c:420
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:411
+#: commands/view.c:433
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "las vistas no deben contener sentencias que modifiquen datos en WITH"
 
-#: commands/view.c:439
+#: commands/view.c:504
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW especifica más nombres de columna que columnas"
 
-#: commands/view.c:447
+#: commands/view.c:512
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "las vistas no pueden ser unlogged porque no tienen almacenamiento"
 
-#: commands/view.c:461
+#: commands/view.c:526
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
@@ -8100,313 +8488,315 @@ msgstr "el cursor «%s» no está posicionado en una fila"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "el cursor «%s» no es un recorrido simplemente actualizable de la tabla «%s»"
 
-#: executor/execCurrent.c:231 executor/execQual.c:1138
+#: executor/execCurrent.c:231 executor/execQual.c:1160
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1150
+#: executor/execCurrent.c:243 executor/execQual.c:1172
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execMain.c:952
+#: executor/execMain.c:955
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:958
+#: executor/execMain.c:961
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:976 rewrite/rewriteHandler.c:2318
+#: executor/execMain.c:979 rewrite/rewriteHandler.c:2512
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "no se puede insertar en la vista «%s»"
 
-#: executor/execMain.c:978 rewrite/rewriteHandler.c:2321
+#: executor/execMain.c:981 rewrite/rewriteHandler.c:2515
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Para activar las inserciones en la vista, provea un disparador INSTEAD OF INSERT un una regla incodicional ON INSERT DO INSTEAD."
 
-#: executor/execMain.c:984 rewrite/rewriteHandler.c:2326
+#: executor/execMain.c:987 rewrite/rewriteHandler.c:2520
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "no se puede actualizar la vista «%s»"
 
-#: executor/execMain.c:986 rewrite/rewriteHandler.c:2329
+#: executor/execMain.c:989 rewrite/rewriteHandler.c:2523
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Para activar las actualizaciones en la vista, provea un disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD."
 
-#: executor/execMain.c:992 rewrite/rewriteHandler.c:2334
+#: executor/execMain.c:995 rewrite/rewriteHandler.c:2528
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "no se puede eliminar de la vista «%s»"
 
-#: executor/execMain.c:994 rewrite/rewriteHandler.c:2337
+#: executor/execMain.c:997 rewrite/rewriteHandler.c:2531
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Para activar las eliminaciones en la vista, provea un disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD."
 
-#: executor/execMain.c:1004
+#: executor/execMain.c:1008
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "no se puede cambiar la vista materializada «%s»"
 
-#: executor/execMain.c:1016
+#: executor/execMain.c:1020
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
-#: executor/execMain.c:1022
+#: executor/execMain.c:1026
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabla foránea «%s» no permite inserciones"
 
-#: executor/execMain.c:1029
+#: executor/execMain.c:1033
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execMain.c:1035
+#: executor/execMain.c:1039
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabla foránea «%s» no permite actualizaciones"
 
-#: executor/execMain.c:1042
+#: executor/execMain.c:1046
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:1048
+#: executor/execMain.c:1052
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:1059
+#: executor/execMain.c:1063
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1083
+#: executor/execMain.c:1087
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1090
+#: executor/execMain.c:1094
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "no se puede bloquear registros en la relación TOAST «%s»"
 
-#: executor/execMain.c:1097
+#: executor/execMain.c:1101
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1104
+#: executor/execMain.c:1109
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "no se puede bloquear registros en la vista materializada «%s»"
 
-#: executor/execMain.c:1111
+#: executor/execMain.c:1116
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "no se puede bloquear registros en la tabla foránea «%s»"
 
-#: executor/execMain.c:1117
+#: executor/execMain.c:1122
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1601
+#: executor/execMain.c:1607
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "el valor null para la columna «%s» viola la restricción not null"
 
-#: executor/execMain.c:1603 executor/execMain.c:1618
+#: executor/execMain.c:1609 executor/execMain.c:1626 executor/execMain.c:1673
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1616
+#: executor/execMain.c:1624
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "el nuevo registro para la relación «%s» viola la restricción «check» «%s»"
 
-#: executor/execQual.c:305 executor/execQual.c:333 executor/execQual.c:3101
+#: executor/execMain.c:1671
+#, c-format
+msgid "new row violates WITH CHECK OPTION for view \"%s\""
+msgstr "nueva fila viola WITH CHECK OPTION de la vista «%s»"
+
+#: executor/execQual.c:306 executor/execQual.c:334 executor/execQual.c:3157
 #: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
-#: utils/adt/arrayfuncs.c:512 utils/adt/arrayfuncs.c:1247
-#: utils/adt/arrayfuncs.c:2920 utils/adt/arrayfuncs.c:4945
+#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:1275
+#: utils/adt/arrayfuncs.c:2961 utils/adt/arrayfuncs.c:4986
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
 
-#: executor/execQual.c:318 executor/execQual.c:346
+#: executor/execQual.c:319 executor/execQual.c:347
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "subíndice de array en asignación no puede ser nulo"
 
-#: executor/execQual.c:641 executor/execQual.c:4022
+#: executor/execQual.c:642 executor/execQual.c:4078
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "el atributo %d tiene tipo erróneo"
 
-#: executor/execQual.c:642 executor/execQual.c:4023
+#: executor/execQual.c:643 executor/execQual.c:4079
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s."
 
-#: executor/execQual.c:845 executor/execQual.c:862 executor/execQual.c:1026
+#: executor/execQual.c:836 executor/execQual.c:853 executor/execQual.c:1050
 #: executor/nodeModifyTable.c:85 executor/nodeModifyTable.c:95
 #: executor/nodeModifyTable.c:112 executor/nodeModifyTable.c:120
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "el tipo de registro de la tabla no coincide con el tipo de registro de la consulta"
 
-#: executor/execQual.c:846
+#: executor/execQual.c:837
 #, 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] "La fila de la tabla contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "La fila de la tabla contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execQual.c:863 executor/nodeModifyTable.c:96
+#: executor/execQual.c:854 executor/nodeModifyTable.c:96
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La tabla tiene tipo %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execQual.c:1027 executor/execQual.c:1625
+#: executor/execQual.c:1051 executor/execQual.c:1647
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Discordancia de almacenamiento físico en atributo eliminado en la posición %d."
 
-#: executor/execQual.c:1304 parser/parse_func.c:93 parser/parse_func.c:325
-#: parser/parse_func.c:645
+#: executor/execQual.c:1326 parser/parse_func.c:114 parser/parse_func.c:535
+#: parser/parse_func.c:887
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "no se pueden pasar más de %d argumento a una función"
 msgstr[1] "no se pueden pasar más de %d argumentos a una función"
 
-#: executor/execQual.c:1493
+#: executor/execQual.c:1515
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "las funciones y operadores pueden tomar a lo más un argumento que sea un conjunto"
 
-#: executor/execQual.c:1543
+#: executor/execQual.c:1565
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr "se llamó una función que retorna «setof record» en un contexto que no puede aceptar el tipo record"
 
-#: executor/execQual.c:1598 executor/execQual.c:1614 executor/execQual.c:1624
+#: executor/execQual.c:1620 executor/execQual.c:1636 executor/execQual.c:1646
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "la fila de retorno especificada en la consulta no coincide con fila de retorno de la función"
 
-#: executor/execQual.c:1599
+#: executor/execQual.c:1621
 #, 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] "Fila retornada contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "Fila retornada contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execQual.c:1615
+#: executor/execQual.c:1637
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Tipo retornado %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execQual.c:1859 executor/execQual.c:2284
+#: executor/execQual.c:1879 executor/execQual.c:2310
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de materialización"
 
-#: executor/execQual.c:1879 executor/execQual.c:2291
+#: executor/execQual.c:1899 executor/execQual.c:2317
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "modo de retorno (returnMode) de la función tabular no es reconocido: %d"
 
-#: executor/execQual.c:2201
+#: executor/execQual.c:2227
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "una función que retorna un conjunto de registros no puede devolver un valor null"
 
-#: executor/execQual.c:2258
+#: executor/execQual.c:2284
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "las filas retornadas por la función no tienen todas el mismo tipo de registro"
 
-#: executor/execQual.c:2449
+#: executor/execQual.c:2499
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:2526
+#: executor/execQual.c:2576
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "op ANY/ALL (array) no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:3079
+#: executor/execQual.c:3135
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "no se puede mezclar arrays incompatibles"
 
-#: executor/execQual.c:3080
+#: executor/execQual.c:3136
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "El array con tipo de elemento %s no puede ser incluido en una sentencia ARRAY con tipo de elemento %s."
 
-#: executor/execQual.c:3121 executor/execQual.c:3148
-#: utils/adt/arrayfuncs.c:547
+#: executor/execQual.c:3177 executor/execQual.c:3204
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "los arrays multidimensionales deben tener expresiones de arrays con dimensiones coincidentes"
 
-#: executor/execQual.c:3663
+#: executor/execQual.c:3719
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:3893 utils/adt/domains.c:131
+#: executor/execQual.c:3949 utils/adt/domains.c:131
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "el dominio %s no permite valores null"
 
-#: executor/execQual.c:3923 utils/adt/domains.c:168
+#: executor/execQual.c:3979 utils/adt/domains.c:168
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "el valor para el dominio %s viola la restricción «check» «%s»"
 
-#: executor/execQual.c:4281
+#: executor/execQual.c:4337
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF no está soportado para este tipo de tabla"
 
-#: executor/execQual.c:4423 optimizer/util/clauses.c:573
-#: parser/parse_agg.c:347
+#: executor/execQual.c:4484 parser/parse_agg.c:434 parser/parse_agg.c:464
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/execQual.c:4461 optimizer/util/clauses.c:647
-#: parser/parse_agg.c:443
+#: executor/execQual.c:4524 parser/parse_agg.c:565
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
 
-#: executor/execQual.c:4673
+#: executor/execQual.c:4736
 #, c-format
 msgid "target type is not an array"
 msgstr "el tipo de destino no es un array"
 
-#: executor/execQual.c:4787
+#: executor/execQual.c:4851
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "la columna de ROW() es de tipo %s en lugar de ser de tipo %s"
 
-#: executor/execQual.c:4922 utils/adt/arrayfuncs.c:3383
-#: utils/adt/rowtypes.c:951
+#: executor/execQual.c:4986 utils/adt/arrayfuncs.c:3424
+#: utils/adt/rowtypes.c:921
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "no se pudo identificar una función de comparación para el tipo %s"
@@ -8421,22 +8811,22 @@ msgstr "la vista materializada «%s» no ha sido poblada"
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Use la orden REFRESH MATERIALIZED VIEW."
 
-#: executor/execUtils.c:1323
+#: executor/execUtils.c:1324
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "no se pudo crear la restricción por exclusión «%s»"
 
-#: executor/execUtils.c:1325
+#: executor/execUtils.c:1326
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La llave %s está en conflicto con la llave %s."
 
-#: executor/execUtils.c:1332
+#: executor/execUtils.c:1333
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "llave en conflicto viola restricción por exclusión «%s»"
 
-#: executor/execUtils.c:1334
+#: executor/execUtils.c:1335
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La llave %s está en conflicto con la llave existente %s."
@@ -8447,75 +8837,75 @@ msgid "could not determine actual type of argument declared %s"
 msgstr "no se pudo determinar el tipo de argumento declarado %s"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:498
+#: executor/functions.c:506
 #, c-format
 msgid "%s is not allowed in a SQL function"
 msgstr "%s no está permitido en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:505 executor/spi.c:1359 executor/spi.c:2143
+#: executor/functions.c:513 executor/spi.c:1343 executor/spi.c:2129
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s no está permitido en una función no-«volatile»"
 
-#: executor/functions.c:630
+#: executor/functions.c:638
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr "no se pudo determinar el tipo de resultado para función declarada retornando tipo %s"
 
-#: executor/functions.c:1395
+#: executor/functions.c:1402
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1421
+#: executor/functions.c:1428
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1580 executor/functions.c:1617
-#: executor/functions.c:1629 executor/functions.c:1742
-#: executor/functions.c:1775 executor/functions.c:1805
+#: executor/functions.c:1587 executor/functions.c:1624
+#: executor/functions.c:1636 executor/functions.c:1749
+#: executor/functions.c:1782 executor/functions.c:1812
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "el tipo de retorno de función declarada para retornar %s no concuerda"
 
-#: executor/functions.c:1582
+#: executor/functions.c:1589
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1619
+#: executor/functions.c:1626
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1631
+#: executor/functions.c:1638
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1744
+#: executor/functions.c:1751
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1777
+#: executor/functions.c:1784
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "La sentencia final retorna %s en lugar de %s en la columna %d."
 
-#: executor/functions.c:1807
+#: executor/functions.c:1814
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1856
+#: executor/functions.c:1863
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "el tipo de retorno %s no es soportado en funciones SQL"
 
-#: executor/nodeAgg.c:1739 executor/nodeWindowAgg.c:1856
+#: executor/nodeAgg.c:1865 executor/nodeWindowAgg.c:2285
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "la función de agregación %u necesita tener tipos de entrada y transición compatibles"
@@ -8576,22 +8966,27 @@ msgstr "La consulta tiene muy pocas columnas."
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "una subconsulta utilizada como expresión retornó más de un registro"
 
-#: executor/nodeWindowAgg.c:1240
+#: executor/nodeWindowAgg.c:353
+#, c-format
+msgid "moving-aggregate transition function must not return null"
+msgstr "la función de transición de moving-aggregate no debe retornar valor nulo"
+
+#: executor/nodeWindowAgg.c:1609
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "la posición inicial del marco no debe ser null"
 
-#: executor/nodeWindowAgg.c:1253
+#: executor/nodeWindowAgg.c:1622
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "la posición inicial del marco no debe ser negativa"
 
-#: executor/nodeWindowAgg.c:1266
+#: executor/nodeWindowAgg.c:1635
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "la posición final del marco no debe ser null"
 
-#: executor/nodeWindowAgg.c:1279
+#: executor/nodeWindowAgg.c:1648
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "la posición final del marco no debe ser negativa"
@@ -8611,28 +9006,28 @@ msgstr "Revise llamadas a «SPI_finish» faltantes."
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1223
+#: executor/spi.c:1207
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "no se puede abrir plan de varias consultas como cursor"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1228
+#: executor/spi.c:1212
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1336
+#: executor/spi.c:1320
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado"
 
-#: executor/spi.c:1337 parser/analyze.c:2094
+#: executor/spi.c:1321 parser/analyze.c:2128
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2433
+#: executor/spi.c:2419
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
@@ -8657,832 +9052,487 @@ msgstr "el nombre de opción «%s» no es válido"
 msgid "Valid options in this context are: %s"
 msgstr "Las opciones válidas en este contexto son: %s"
 
-#: gram.y:944
+#: lib/stringinfo.c:259
 #, c-format
-msgid "unrecognized role option \"%s\""
-msgstr "opción de rol no reconocida «%s»"
+msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
+msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales."
 
-#: gram.y:1226 gram.y:1241
+#: libpq/auth.c:235
 #, c-format
-msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
-msgstr "CREATE SCHEMA IF NOT EXISTS no puede incluir elementos de esquema"
+msgid "authentication failed for user \"%s\": host rejected"
+msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: gram.y:1383
+#: libpq/auth.c:238
 #, c-format
-msgid "current database cannot be changed"
-msgstr "no se puede cambiar la base de datos activa"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: gram.y:1510 gram.y:1525
+#: libpq/auth.c:241
 #, c-format
-msgid "time zone interval must be HOUR or HOUR TO MINUTE"
-msgstr "el intervalo de huso horario debe ser HOUR o HOUR TO MINUTE"
+msgid "Ident authentication failed for user \"%s\""
+msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: gram.y:1530 gram.y:10031 gram.y:12558
+#: libpq/auth.c:244
 #, c-format
-msgid "interval precision specified twice"
-msgstr "la precisión de interval fue especificada dos veces"
+msgid "Peer authentication failed for user \"%s\""
+msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: gram.y:2362 gram.y:2391
+#: libpq/auth.c:248
 #, c-format
-msgid "STDIN/STDOUT not allowed with PROGRAM"
-msgstr "STDIN/STDOUT no están permitidos con PROGRAM"
+msgid "password authentication failed for user \"%s\""
+msgstr "la autentificación password falló para el usuario «%s»"
 
-#: gram.y:2649 gram.y:2656 gram.y:9314 gram.y:9322
+#: libpq/auth.c:253
 #, c-format
-msgid "GLOBAL is deprecated in temporary table creation"
-msgstr "GLOBAL está obsoleto para la creación de tablas temporales"
+msgid "GSSAPI authentication failed for user \"%s\""
+msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: gram.y:3093 utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:367
-#: utils/adt/ri_triggers.c:786 utils/adt/ri_triggers.c:1009
-#: utils/adt/ri_triggers.c:1165 utils/adt/ri_triggers.c:1346
-#: utils/adt/ri_triggers.c:1511 utils/adt/ri_triggers.c:1687
-#: utils/adt/ri_triggers.c:1867 utils/adt/ri_triggers.c:2058
-#: utils/adt/ri_triggers.c:2116 utils/adt/ri_triggers.c:2221
-#: utils/adt/ri_triggers.c:2386
+#: libpq/auth.c:256
 #, c-format
-msgid "MATCH PARTIAL not yet implemented"
-msgstr "MATCH PARTIAL no está implementada"
+msgid "SSPI authentication failed for user \"%s\""
+msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: gram.y:4325
-msgid "duplicate trigger events specified"
-msgstr "se han especificado eventos de disparador duplicados"
+#: libpq/auth.c:259
+#, c-format
+msgid "PAM authentication failed for user \"%s\""
+msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: gram.y:4420 parser/parse_utilcmd.c:2596 parser/parse_utilcmd.c:2622
+#: libpq/auth.c:262
 #, c-format
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
+msgid "LDAP authentication failed for user \"%s\""
+msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: gram.y:4427
+#: libpq/auth.c:265
 #, c-format
-msgid "conflicting constraint properties"
-msgstr "propiedades de restricción contradictorias"
+msgid "certificate authentication failed for user \"%s\""
+msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: gram.y:4559
+#: libpq/auth.c:268
 #, c-format
-msgid "CREATE ASSERTION is not yet implemented"
-msgstr "CREATE ASSERTION no está implementado"
+msgid "RADIUS authentication failed for user \"%s\""
+msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: gram.y:4575
+#: libpq/auth.c:271
 #, c-format
-msgid "DROP ASSERTION is not yet implemented"
-msgstr "DROP ASSERTION no está implementado"
+msgid "authentication failed for user \"%s\": invalid authentication method"
+msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido"
 
-#: gram.y:4925
+#: libpq/auth.c:275
 #, c-format
-msgid "RECHECK is no longer required"
-msgstr "RECHECK ya no es requerido"
+msgid "Connection matched pg_hba.conf line %d: \"%s\""
+msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
 
-#: gram.y:4926
+#: libpq/auth.c:337
 #, c-format
-msgid "Update your data type."
-msgstr "Actualice su tipo de datos."
+msgid "connection requires a valid client certificate"
+msgstr "la conexión requiere un certificado de cliente válido"
 
-#: gram.y:6628 utils/adt/regproc.c:656
+#: libpq/auth.c:379
 #, c-format
-msgid "missing argument"
-msgstr "falta un argumento"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
+msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
 
-#: gram.y:6629 utils/adt/regproc.c:657
-#, c-format
-msgid "Use NONE to denote the missing argument of a unary operator."
-msgstr "Use NONE para denotar el argumento faltante de un operador unario."
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+msgid "SSL off"
+msgstr "SSL inactivo"
 
-#: gram.y:8024 gram.y:8030 gram.y:8036
-#, c-format
-msgid "WITH CHECK OPTION is not implemented"
-msgstr "WITH CHECK OPTION no está implementado"
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+msgid "SSL on"
+msgstr "SSL activo"
 
-#: gram.y:8959
+#: libpq/auth.c:385
 #, c-format
-msgid "number of columns does not match number of values"
-msgstr "el número de columnas no coincide con el número de valores"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
+msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
 
-#: gram.y:9418
+#: libpq/auth.c:394
 #, c-format
-msgid "LIMIT #,# syntax is not supported"
-msgstr "la sintaxis LIMIT #,# no está soportada"
+msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
+msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
 
-#: gram.y:9419
+#: libpq/auth.c:401
 #, c-format
-msgid "Use separate LIMIT and OFFSET clauses."
-msgstr "Use cláusulas LIMIT y OFFSET separadas."
+msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
+msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
 
-#: gram.y:9610 gram.y:9635
+#: libpq/auth.c:430
 #, c-format
-msgid "VALUES in FROM must have an alias"
-msgstr "VALUES en FROM debe tener un alias"
+msgid "Client IP address resolved to \"%s\", forward lookup matches."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente."
 
-#: gram.y:9611 gram.y:9636
+#: libpq/auth.c:433
 #, c-format
-msgid "For example, FROM (VALUES ...) [AS] foo."
-msgstr "Por ejemplo, FROM (VALUES ...) [AS] foo."
+msgid "Client IP address resolved to \"%s\", forward lookup not checked."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado."
 
-#: gram.y:9616 gram.y:9641
+#: libpq/auth.c:436
 #, c-format
-msgid "subquery in FROM must have an alias"
-msgstr "las subconsultas en FROM deben tener un alias"
+msgid "Client IP address resolved to \"%s\", forward lookup does not match."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no es coincidente."
 
-#: gram.y:9617 gram.y:9642
+#: libpq/auth.c:439
 #, c-format
-msgid "For example, FROM (SELECT ...) [AS] foo."
-msgstr "Por ejemplo, FROM (SELECT ...) [AS] foo."
+msgid "Could not translate client host name \"%s\" to IP address: %s."
+msgstr "No se pudo traducir el nombre de host del cliente «%s» a una dirección IP: %s."
 
-#: gram.y:10157
+#: libpq/auth.c:444
 #, c-format
-msgid "precision for type float must be at least 1 bit"
-msgstr "la precisión para el tipo float debe ser al menos 1 bit"
+msgid "Could not resolve client IP address to a host name: %s."
+msgstr "No se pudo obtener la dirección IP del cliente a un nombre de host: %s."
 
-#: gram.y:10166
+#: libpq/auth.c:453
 #, c-format
-msgid "precision for type float must be less than 54 bits"
-msgstr "la precisión para el tipo float debe ser menor de 54 bits"
+msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
+msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s"
 
-#: gram.y:10880
+#: libpq/auth.c:460
 #, c-format
-msgid "UNIQUE predicate is not yet implemented"
-msgstr "el predicado UNIQUE no está implementado"
+msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
+msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
 
-#: gram.y:11825
+#: libpq/auth.c:470
 #, c-format
-msgid "RANGE PRECEDING is only supported with UNBOUNDED"
-msgstr "RANGE PRECEDING sólo está soportado con UNBOUNDED"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
+msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s"
 
-#: gram.y:11831
+#: libpq/auth.c:478
 #, c-format
-msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
-msgstr "RANGE FOLLOWING sólo está soportado con UNBOUNDED"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
+msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
 
-#: gram.y:11858 gram.y:11881
+#: libpq/auth.c:521 libpq/hba.c:1212
 #, c-format
-msgid "frame start cannot be UNBOUNDED FOLLOWING"
-msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING"
+msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
+msgstr "la autentificación MD5 no está soportada cuando «db_user_namespace» está activo"
 
-#: gram.y:11863
+#: libpq/auth.c:645
 #, c-format
-msgid "frame starting from following row cannot end with current row"
-msgstr "el «frame» que se inicia desde la siguiente fila no puede terminar en la fila actual"
+msgid "expected password response, got message type %d"
+msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
 
-#: gram.y:11886
+#: libpq/auth.c:673
 #, c-format
-msgid "frame end cannot be UNBOUNDED PRECEDING"
-msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING"
+msgid "invalid password packet size"
+msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: gram.y:11892
+#: libpq/auth.c:677
 #, c-format
-msgid "frame starting from current row cannot have preceding rows"
-msgstr "el «frame» que se inicia desde la fila actual no puede tener filas precedentes"
+msgid "received password packet"
+msgstr "se recibió un paquete de clave"
 
-#: gram.y:11899
+#: libpq/auth.c:804
 #, c-format
-msgid "frame starting from following row cannot have preceding rows"
-msgstr "el «frame» que se inicia desde la fila siguiente no puede tener filas precedentes"
+msgid "GSSAPI is not supported in protocol version 2"
+msgstr "GSSAPI no está soportado por el protocolo versión 2"
 
-#: gram.y:12533
+#: libpq/auth.c:859
 #, c-format
-msgid "type modifier cannot have parameter name"
-msgstr "el modificador de tipo no puede tener nombre de parámetro"
+msgid "expected GSS response, got message type %d"
+msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
 
-#: gram.y:13144 gram.y:13352
-msgid "improper use of \"*\""
-msgstr "uso impropio de «*»"
+#: libpq/auth.c:918
+msgid "accepting GSS security context failed"
+msgstr "falló la aceptación del contexto de seguridad GSS"
 
-#: gram.y:13283
-#, c-format
-msgid "wrong number of parameters on left side of OVERLAPS expression"
-msgstr "el número de parámetros es incorrecto al lado izquierdo de la expresión OVERLAPS"
+#: libpq/auth.c:944
+msgid "retrieving GSS user name failed"
+msgstr "falló la obtención del nombre de usuario GSS"
 
-#: gram.y:13290
+#: libpq/auth.c:1061
 #, c-format
-msgid "wrong number of parameters on right side of OVERLAPS expression"
-msgstr "el número de parámetros es incorrecto al lado derecho de la expresión OVERLAPS"
+msgid "SSPI is not supported in protocol version 2"
+msgstr "SSPI no está soportado por el protocolo versión 2"
 
-#: gram.y:13315 gram.y:13332 tsearch/spell.c:518 tsearch/spell.c:535
-#: tsearch/spell.c:552 tsearch/spell.c:569 tsearch/spell.c:591
-#, c-format
-msgid "syntax error"
-msgstr "error de sintaxis"
+#: libpq/auth.c:1076
+msgid "could not acquire SSPI credentials"
+msgstr "no se pudo obtener las credenciales SSPI"
 
-#: gram.y:13403
+#: libpq/auth.c:1093
 #, c-format
-msgid "multiple ORDER BY clauses not allowed"
-msgstr "no se permiten múltiples cláusulas ORDER BY"
+msgid "expected SSPI response, got message type %d"
+msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
 
-#: gram.y:13414
-#, c-format
-msgid "multiple OFFSET clauses not allowed"
-msgstr "no se permiten múltiples cláusulas OFFSET"
+#: libpq/auth.c:1165
+msgid "could not accept SSPI security context"
+msgstr "no se pudo aceptar un contexto SSPI"
 
-#: gram.y:13423
-#, c-format
-msgid "multiple LIMIT clauses not allowed"
-msgstr "no se permiten múltiples cláusulas LIMIT"
+#: libpq/auth.c:1227
+msgid "could not get token from SSPI security context"
+msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
 
-#: gram.y:13432
+#: libpq/auth.c:1470
 #, c-format
-msgid "multiple WITH clauses not allowed"
-msgstr "no se permiten múltiples cláusulas WITH"
+msgid "could not create socket for Ident connection: %m"
+msgstr "no se pudo crear un socket para conexión Ident: %m"
 
-#: gram.y:13578
+#: libpq/auth.c:1485
 #, c-format
-msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
-msgstr "los argumentos OUT e INOUT no están permitidos en funciones TABLE"
+msgid "could not bind to local address \"%s\": %m"
+msgstr "no se pudo enlazar a la dirección local «%s»: %m"
 
-#: gram.y:13679
+#: libpq/auth.c:1497
 #, c-format
-msgid "multiple COLLATE clauses not allowed"
-msgstr "no se permiten múltiples cláusulas COLLATE"
+msgid "could not connect to Ident server at address \"%s\", port %s: %m"
+msgstr "no se pudo conectar al servidor Ident «%s», port %s: %m"
 
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13717 gram.y:13730
+#: libpq/auth.c:1517
 #, c-format
-msgid "%s constraints cannot be marked DEFERRABLE"
-msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE"
+msgid "could not send query to Ident server at address \"%s\", port %s: %m"
+msgstr "no se pudo enviar consulta Ident al servidor «%s», port %s: %m"
 
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13743
+#: libpq/auth.c:1532
 #, c-format
-msgid "%s constraints cannot be marked NOT VALID"
-msgstr "las restricciones %s no pueden ser marcadas NOT VALID"
+msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
+msgstr "no se pudo recibir respuesta Ident desde el servidor «%s», port %s: %m"
 
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13756
+#: libpq/auth.c:1542
 #, c-format
-msgid "%s constraints cannot be marked NO INHERIT"
-msgstr "las restricciones %s no pueden ser marcadas NO INHERIT"
+msgid "invalidly formatted response from Ident server: \"%s\""
+msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: guc-file.l:192
+#: libpq/auth.c:1580
 #, c-format
-msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
-msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %u"
+msgid "peer authentication is not supported on this platform"
+msgstr "método de autentificación peer no está soportado en esta plataforma"
 
-#: guc-file.l:227 utils/misc/guc.c:5228 utils/misc/guc.c:5404
-#: utils/misc/guc.c:5508 utils/misc/guc.c:5609 utils/misc/guc.c:5730
-#: utils/misc/guc.c:5838
+#: libpq/auth.c:1584
 #, c-format
-msgid "parameter \"%s\" cannot be changed without restarting the server"
-msgstr "el parámetro «%s» no se puede cambiar sin reiniciar el servidor"
+msgid "could not get peer credentials: %m"
+msgstr "no se pudo recibir credenciales: %m"
 
-#: guc-file.l:255
+#: libpq/auth.c:1593
 #, c-format
-msgid "parameter \"%s\" removed from configuration file, reset to default"
-msgstr "parámetro «%s» eliminado del archivo de configuración, volviendo al valor por omisión"
+msgid "could not to look up local user ID %ld: %s"
+msgstr "no se pudo encontrar el ID del usuario local «%ld»: %s"
 
-#: guc-file.l:317
+#: libpq/auth.c:1676 libpq/auth.c:1947 libpq/auth.c:2304
 #, c-format
-msgid "parameter \"%s\" changed to \"%s\""
-msgstr "el parámetro «%s» fue cambiado a «%s»"
+msgid "empty password returned by client"
+msgstr "el cliente retornó una contraseña vacía"
 
-#: guc-file.l:351
+#: libpq/auth.c:1686
 #, c-format
-msgid "configuration file \"%s\" contains errors"
-msgstr "el archivo de configuración «%s» contiene errores"
+msgid "error from underlying PAM layer: %s"
+msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: guc-file.l:356
+#: libpq/auth.c:1755
 #, c-format
-msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
-msgstr "el archivo de configuración «%s» contiene errores; los cambios no afectados fueron aplicados"
+msgid "could not create PAM authenticator: %s"
+msgstr "no se pudo crear autenticador PAM: %s"
 
-#: guc-file.l:361
+#: libpq/auth.c:1766
 #, c-format
-msgid "configuration file \"%s\" contains errors; no changes were applied"
-msgstr "el archivo de configuración «%s» contiene errores; no se aplicó ningún cambio"
+msgid "pam_set_item(PAM_USER) failed: %s"
+msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: guc-file.l:425
+#: libpq/auth.c:1777
 #, c-format
-msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
-msgstr "no se pudo abrir el archivo de configuración «%s»: nivel de anidamiento máximo excedido"
+msgid "pam_set_item(PAM_CONV) failed: %s"
+msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: guc-file.l:438 libpq/hba.c:1802
+#: libpq/auth.c:1788
 #, c-format
-msgid "could not open configuration file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
+msgid "pam_authenticate failed: %s"
+msgstr "pam_authenticate falló: %s"
 
-#: guc-file.l:444
+#: libpq/auth.c:1799
 #, c-format
-msgid "skipping missing configuration file \"%s\""
-msgstr "saltando el archivo de configuración faltante «%s»"
+msgid "pam_acct_mgmt failed: %s"
+msgstr "pam_acct_mgmt falló: %s"
 
-#: guc-file.l:650
+#: libpq/auth.c:1810
 #, c-format
-msgid "syntax error in file \"%s\" line %u, near end of line"
-msgstr "error de sintaxis en el archivo «%s» línea %u, cerca del fin de línea"
+msgid "could not release PAM authenticator: %s"
+msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: guc-file.l:655
+#: libpq/auth.c:1843
 #, c-format
-msgid "syntax error in file \"%s\" line %u, near token \"%s\""
-msgstr "error de sintaxis en el archivo «%s» línea %u, cerca de la palabra «%s»"
+msgid "could not initialize LDAP: %m"
+msgstr "no se pudo inicializar LDAP: %m"
 
-#: guc-file.l:671
+#: libpq/auth.c:1846
 #, c-format
-msgid "too many syntax errors found, abandoning file \"%s\""
-msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»"
+msgid "could not initialize LDAP: error code %d"
+msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: guc-file.l:716
+#: libpq/auth.c:1856
 #, c-format
-msgid "could not open configuration directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio de configuración «%s»: %m"
+msgid "could not set LDAP protocol version: %s"
+msgstr "no se pudo definir la versión de protocolo LDAP: %s"
 
-#: lib/stringinfo.c:267
+#: libpq/auth.c:1885
 #, c-format
-msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
-msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales."
+msgid "could not load wldap32.dll"
+msgstr "no se pudo cargar wldap32.dll"
 
-#: libpq/auth.c:257
+#: libpq/auth.c:1893
 #, c-format
-msgid "authentication failed for user \"%s\": host rejected"
-msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
+msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
+msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll"
 
-#: libpq/auth.c:260
+#: libpq/auth.c:1894
 #, c-format
-msgid "Kerberos 5 authentication failed for user \"%s\""
-msgstr "la autentificación Kerberos 5 falló para el usuario «%s»"
+msgid "LDAP over SSL is not supported on this platform."
+msgstr "LDAP sobre SSL no está soportado en esta plataforma."
 
-#: libpq/auth.c:263
+#: libpq/auth.c:1909
 #, c-format
-msgid "\"trust\" authentication failed for user \"%s\""
-msgstr "la autentificación «trust» falló para el usuario «%s»"
+msgid "could not start LDAP TLS session: %s"
+msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#: libpq/auth.c:266
+#: libpq/auth.c:1931
 #, c-format
-msgid "Ident authentication failed for user \"%s\""
-msgstr "la autentificación Ident falló para el usuario «%s»"
+msgid "LDAP server not specified"
+msgstr "servidor LDAP no especificado"
 
-#: libpq/auth.c:269
+#: libpq/auth.c:1984
 #, c-format
-msgid "Peer authentication failed for user \"%s\""
-msgstr "la autentificación Peer falló para el usuario «%s»"
+msgid "invalid character in user name for LDAP authentication"
+msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
 
-#: libpq/auth.c:273
+#: libpq/auth.c:1999
 #, c-format
-msgid "password authentication failed for user \"%s\""
-msgstr "la autentificación password falló para el usuario «%s»"
+msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
+msgstr "no se pudo hacer el enlace LDAP inicial para el ldapbinddb «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:278
+#: libpq/auth.c:2023
 #, c-format
-msgid "GSSAPI authentication failed for user \"%s\""
-msgstr "la autentificación GSSAPI falló para el usuario «%s»"
+msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
+msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:281
+#: libpq/auth.c:2034
 #, c-format
-msgid "SSPI authentication failed for user \"%s\""
-msgstr "la autentificación SSPI falló para el usuario «%s»"
+msgid "LDAP user \"%s\" does not exist"
+msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/auth.c:284
+#: libpq/auth.c:2035
 #, c-format
-msgid "PAM authentication failed for user \"%s\""
-msgstr "la autentificación PAM falló para el usuario «%s»"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
+msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos."
 
-#: libpq/auth.c:287
+#: libpq/auth.c:2039
 #, c-format
-msgid "LDAP authentication failed for user \"%s\""
-msgstr "la autentificación LDAP falló para el usuario «%s»"
+msgid "LDAP user \"%s\" is not unique"
+msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:2040
 #, c-format
-msgid "certificate authentication failed for user \"%s\""
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+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] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elemento."
+msgstr[1] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elementos."
 
-#: libpq/auth.c:293
+#: libpq/auth.c:2058
 #, c-format
-msgid "RADIUS authentication failed for user \"%s\""
-msgstr "la autentificación RADIUS falló para el usuario «%s»"
+msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
+msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:296
+#: libpq/auth.c:2078
 #, c-format
-msgid "authentication failed for user \"%s\": invalid authentication method"
-msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido"
+msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
+msgstr "no se pudo desconectar después de buscar al usuario «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:304
-#, c-format
-msgid "Connection matched pg_hba.conf line %d: \"%s\""
-msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
-
-#: libpq/auth.c:359
-#, c-format
-msgid "connection requires a valid client certificate"
-msgstr "la conexión requiere un certificado de cliente válido"
-
-#: libpq/auth.c:401
-#, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
-msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
-
-#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
-msgid "SSL off"
-msgstr "SSL inactivo"
-
-#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
-msgid "SSL on"
-msgstr "SSL activo"
-
-#: libpq/auth.c:407
-#, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
-msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
-
-#: libpq/auth.c:416
-#, c-format
-msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
-msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
-
-#: libpq/auth.c:423
-#, c-format
-msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
-msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
-
-#: libpq/auth.c:452
-#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup matches."
-msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente."
-
-#: libpq/auth.c:454
-#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup not checked."
-msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado."
-
-#: libpq/auth.c:456
-#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup does not match."
-msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no es coincidente."
-
-#: libpq/auth.c:465
-#, c-format
-msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
-msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s"
-
-#: libpq/auth.c:472
-#, c-format
-msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
-msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
-
-#: libpq/auth.c:482
-#, c-format
-msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
-msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s"
-
-#: libpq/auth.c:490
-#, c-format
-msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
-msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
-
-#: libpq/auth.c:542 libpq/hba.c:1206
-#, c-format
-msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
-msgstr "la autentificación MD5 no está soportada cuando «db_user_namespace» está activo"
-
-#: libpq/auth.c:666
-#, c-format
-msgid "expected password response, got message type %d"
-msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
-
-#: libpq/auth.c:694
-#, c-format
-msgid "invalid password packet size"
-msgstr "el tamaño del paquete de contraseña no es válido"
-
-#: libpq/auth.c:698
-#, c-format
-msgid "received password packet"
-msgstr "se recibió un paquete de clave"
-
-#: libpq/auth.c:756
-#, c-format
-msgid "Kerberos initialization returned error %d"
-msgstr "la inicialización de Kerberos retornó error %d"
-
-#: libpq/auth.c:766
-#, c-format
-msgid "Kerberos keytab resolving returned error %d"
-msgstr "la resolución de keytab de Kerberos retornó error %d"
-
-#: libpq/auth.c:790
-#, c-format
-msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
-msgstr "sname_to_principal(\"%s\", \"%s\") de Kerberos retornó error %d"
-
-#: libpq/auth.c:835
-#, c-format
-msgid "Kerberos recvauth returned error %d"
-msgstr "recvauth de Kerberos retornó error %d"
-
-#: libpq/auth.c:858
-#, c-format
-msgid "Kerberos unparse_name returned error %d"
-msgstr "unparse_name de Kerberos retornó error %d"
-
-#: libpq/auth.c:1006
-#, c-format
-msgid "GSSAPI is not supported in protocol version 2"
-msgstr "GSSAPI no está soportado por el protocolo versión 2"
-
-#: libpq/auth.c:1061
-#, c-format
-msgid "expected GSS response, got message type %d"
-msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
-
-#: libpq/auth.c:1120
-msgid "accepting GSS security context failed"
-msgstr "falló la aceptación del contexto de seguridad GSS"
-
-#: libpq/auth.c:1146
-msgid "retrieving GSS user name failed"
-msgstr "falló la obtención del nombre de usuario GSS"
-
-#: libpq/auth.c:1263
-#, c-format
-msgid "SSPI is not supported in protocol version 2"
-msgstr "SSPI no está soportado por el protocolo versión 2"
-
-#: libpq/auth.c:1278
-msgid "could not acquire SSPI credentials"
-msgstr "no se pudo obtener las credenciales SSPI"
-
-#: libpq/auth.c:1295
-#, c-format
-msgid "expected SSPI response, got message type %d"
-msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
-
-#: libpq/auth.c:1367
-msgid "could not accept SSPI security context"
-msgstr "no se pudo aceptar un contexto SSPI"
-
-#: libpq/auth.c:1429
-msgid "could not get token from SSPI security context"
-msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
-
-#: libpq/auth.c:1673
-#, c-format
-msgid "could not create socket for Ident connection: %m"
-msgstr "no se pudo crear un socket para conexión Ident: %m"
-
-#: libpq/auth.c:1688
-#, c-format
-msgid "could not bind to local address \"%s\": %m"
-msgstr "no se pudo enlazar a la dirección local «%s»: %m"
-
-#: libpq/auth.c:1700
-#, c-format
-msgid "could not connect to Ident server at address \"%s\", port %s: %m"
-msgstr "no se pudo conectar al servidor Ident «%s», port %s: %m"
-
-#: libpq/auth.c:1720
-#, c-format
-msgid "could not send query to Ident server at address \"%s\", port %s: %m"
-msgstr "no se pudo enviar consulta Ident al servidor «%s», port %s: %m"
-
-#: libpq/auth.c:1735
-#, c-format
-msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
-msgstr "no se pudo recibir respuesta Ident desde el servidor «%s», port %s: %m"
-
-#: libpq/auth.c:1745
-#, c-format
-msgid "invalidly formatted response from Ident server: \"%s\""
-msgstr "respuesta del servidor Ident en formato no válido: «%s»"
-
-#: libpq/auth.c:1784
-#, c-format
-msgid "peer authentication is not supported on this platform"
-msgstr "método de autentificación peer no está soportado en esta plataforma"
-
-#: libpq/auth.c:1788
-#, c-format
-msgid "could not get peer credentials: %m"
-msgstr "no se pudo recibir credenciales: %m"
-
-#: libpq/auth.c:1797
-#, c-format
-msgid "local user with ID %d does not exist"
-msgstr "no existe un usuario local con ID %d"
-
-#: libpq/auth.c:1880 libpq/auth.c:2151 libpq/auth.c:2516
-#, c-format
-msgid "empty password returned by client"
-msgstr "el cliente retornó una contraseña vacía"
-
-#: libpq/auth.c:1890
-#, c-format
-msgid "error from underlying PAM layer: %s"
-msgstr "se ha recibido un error de la biblioteca PAM: %s"
-
-#: libpq/auth.c:1959
-#, c-format
-msgid "could not create PAM authenticator: %s"
-msgstr "no se pudo crear autenticador PAM: %s"
-
-#: libpq/auth.c:1970
-#, c-format
-msgid "pam_set_item(PAM_USER) failed: %s"
-msgstr "pam_set_item(PAM_USER) falló: %s"
-
-#: libpq/auth.c:1981
-#, c-format
-msgid "pam_set_item(PAM_CONV) failed: %s"
-msgstr "pam_set_item(PAM_CONV) falló: %s"
-
-#: libpq/auth.c:1992
-#, c-format
-msgid "pam_authenticate failed: %s"
-msgstr "pam_authenticate falló: %s"
-
-#: libpq/auth.c:2003
-#, c-format
-msgid "pam_acct_mgmt failed: %s"
-msgstr "pam_acct_mgmt falló: %s"
-
-#: libpq/auth.c:2014
-#, c-format
-msgid "could not release PAM authenticator: %s"
-msgstr "no se pudo liberar autenticador PAM: %s"
-
-#: libpq/auth.c:2047
-#, c-format
-msgid "could not initialize LDAP: %m"
-msgstr "no se pudo inicializar LDAP: %m"
-
-#: libpq/auth.c:2050
-#, c-format
-msgid "could not initialize LDAP: error code %d"
-msgstr "no se pudo inicializar LDAP: código de error %d"
-
-#: libpq/auth.c:2060
-#, c-format
-msgid "could not set LDAP protocol version: %s"
-msgstr "no se pudo definir la versión de protocolo LDAP: %s"
-
-#: libpq/auth.c:2089
-#, c-format
-msgid "could not load wldap32.dll"
-msgstr "no se pudo cargar wldap32.dll"
-
-#: libpq/auth.c:2097
-#, c-format
-msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
-msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll"
-
-#: libpq/auth.c:2098
-#, c-format
-msgid "LDAP over SSL is not supported on this platform."
-msgstr "LDAP sobre SSL no está soportado en esta plataforma."
-
-#: libpq/auth.c:2113
-#, c-format
-msgid "could not start LDAP TLS session: %s"
-msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
-
-#: libpq/auth.c:2135
-#, c-format
-msgid "LDAP server not specified"
-msgstr "servidor LDAP no especificado"
-
-#: libpq/auth.c:2188
-#, c-format
-msgid "invalid character in user name for LDAP authentication"
-msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
-
-#: libpq/auth.c:2203
-#, c-format
-msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
-msgstr "no se pudo hacer el enlace LDAP inicial para el ldapbinddb «%s» en el servidor «%s»: %s"
-
-#: libpq/auth.c:2228
-#, c-format
-msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
-msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: %s"
-
-#: libpq/auth.c:2239
-#, c-format
-msgid "LDAP user \"%s\" does not exist"
-msgstr "no existe el usuario LDAP «%s»"
-
-#: libpq/auth.c:2240
-#, c-format
-msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
-msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos."
-
-#: libpq/auth.c:2244
-#, c-format
-msgid "LDAP user \"%s\" is not unique"
-msgstr "el usuario LDAP «%s» no es única"
-
-#: libpq/auth.c:2245
-#, 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] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elemento."
-msgstr[1] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elementos."
-
-#: libpq/auth.c:2263
-#, c-format
-msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
-msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s"
-
-#: libpq/auth.c:2283
-#, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
-msgstr "no se pudo desconectar después de buscar al usuario «%s» en el servidor «%s»: %s"
-
-#: libpq/auth.c:2320
+#: libpq/auth.c:2108
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "falló el inicio de sesión LDAP para el usuario «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:2348
+#: libpq/auth.c:2136
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "la autentificación con certificado falló para el usuario «%s»: el certificado de cliente no contiene un nombre de usuario"
 
-#: libpq/auth.c:2472
+#: libpq/auth.c:2260
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "servidor RADIUS no especificado"
 
-#: libpq/auth.c:2479
+#: libpq/auth.c:2267
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "secreto RADIUS no especificado"
 
-#: libpq/auth.c:2495 libpq/hba.c:1622
+#: libpq/auth.c:2283 libpq/hba.c:1609
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "no se pudo traducir el nombre de servidor RADIUS «%s» a dirección: %s"
 
-#: libpq/auth.c:2523
+#: libpq/auth.c:2311
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than 16 characters"
 msgstr "la autentificación RADIUS no soporta contraseñas más largas de 16 caracteres"
 
-#: libpq/auth.c:2534
+#: libpq/auth.c:2322
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/auth.c:2557
+#: libpq/auth.c:2345
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
 
-#: libpq/auth.c:2579
+#: libpq/auth.c:2367
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/auth.c:2600
+#: libpq/auth.c:2388
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/auth.c:2610
+#: libpq/auth.c:2398
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/auth.c:2639 libpq/auth.c:2664
+#: libpq/auth.c:2427 libpq/auth.c:2452
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "se agotó el tiempo de espera de la respuesta RADIUS"
 
-#: libpq/auth.c:2657
+#: libpq/auth.c:2445
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "no se pudo verificar el estado en el socket %m"
 
-#: libpq/auth.c:2686
+#: libpq/auth.c:2474
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/auth.c:2698 libpq/auth.c:2702
+#: libpq/auth.c:2486 libpq/auth.c:2490
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "la respuesta RADIUS fue enviada desde el port incorrecto: %d"
 
-#: libpq/auth.c:2711
+#: libpq/auth.c:2499
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "la respuesta RADIUS es demasiado corta: %d"
 
-#: libpq/auth.c:2718
+#: libpq/auth.c:2506
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "la respuesta RADIUS tiene largo corrupto: %d (largo real %d)"
 
-#: libpq/auth.c:2726
+#: libpq/auth.c:2514
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "la respuesta RADIUS es a una petición diferente: %d (debería ser %d)"
 
-#: libpq/auth.c:2751
+#: libpq/auth.c:2539
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
 
-#: libpq/auth.c:2760
+#: libpq/auth.c:2548
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "la respuesta RADIUS tiene firma MD5 incorrecta"
 
-#: libpq/auth.c:2777
+#: libpq/auth.c:2565
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "la respuesta RADIUS tiene código no válido (%d) para el usuario «%s»"
@@ -9495,6 +9545,7 @@ msgid "invalid large-object descriptor: %d"
 msgstr "el descriptor de objeto grande no es válido: %d"
 
 #: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
+#: libpq/be-fsstubs.c:790
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "permiso denegado al objeto grande %u"
@@ -9554,125 +9605,165 @@ msgstr "no se pudo crear el archivo del servidor «%s»: %m"
 msgid "could not write server file \"%s\": %m"
 msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 
-#: libpq/be-secure.c:284 libpq/be-secure.c:379
+#: libpq/be-fsstubs.c:815
 #, c-format
-msgid "SSL error: %s"
-msgstr "error de SSL: %s"
+msgid "large object read request is too large"
+msgstr "el tamaño de petición de lectura de objeto grande es muy grande"
 
-#: libpq/be-secure.c:293 libpq/be-secure.c:388 libpq/be-secure.c:939
+#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:187 utils/adt/genfile.c:232
 #, c-format
-msgid "unrecognized SSL error code: %d"
+msgid "requested length cannot be negative"
+msgstr "el tamaño solicitado no puede ser negativo"
+
+#: libpq/be-secure.c:296 libpq/be-secure.c:418
+#, c-format
+msgid "SSL error: %s"
+msgstr "error de SSL: %s"
+
+#: libpq/be-secure.c:305 libpq/be-secure.c:427 libpq/be-secure.c:1046
+#, c-format
+msgid "unrecognized SSL error code: %d"
 msgstr "código de error SSL no reconocido: %d"
 
-#: libpq/be-secure.c:332 libpq/be-secure.c:336 libpq/be-secure.c:346
+#: libpq/be-secure.c:365
+#, c-format
+msgid "SSL failure during renegotiation start"
+msgstr "fallo SSL durante el inicio de renegociación"
+
+#: libpq/be-secure.c:380
+#, c-format
+msgid "SSL handshake failure on renegotiation, retrying"
+msgstr "fallo en el «handshake» durante la renegociación SSL, intentando de nuevo"
+
+#: libpq/be-secure.c:384
+#, c-format
+msgid "could not complete SSL handshake on renegotiation, too many failures"
+msgstr "no se pudo completar el «handshake» durante la renegociación SSL, demasiados fallos"
+
+#: libpq/be-secure.c:453
+#, c-format
+msgid "SSL failed to renegotiate connection before limit expired"
+msgstr "SSL no pudo renegociar conexión antes de la expiración del límite"
+
+#: libpq/be-secure.c:793
 #, c-format
-msgid "SSL renegotiation failure"
-msgstr "ocurrió una falla en renegociación SSL"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: nombre de curva no reconocida: %s"
 
-#: libpq/be-secure.c:340
+#: libpq/be-secure.c:798
 #, c-format
-msgid "SSL failed to send renegotiation request"
-msgstr "SSL no pudo enviar una petición de renegociación"
+msgid "ECDH: could not create key"
+msgstr "ECDH: no se pudo crear la llave"
 
-#: libpq/be-secure.c:737
+#: libpq/be-secure.c:835
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "no se pudo crear un contexto SSL: %s"
 
-#: libpq/be-secure.c:753
+#: libpq/be-secure.c:851
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de certificado de servidor «%s»: %s"
 
-#: libpq/be-secure.c:759
+#: libpq/be-secure.c:857
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m"
 
-#: libpq/be-secure.c:774
+#: libpq/be-secure.c:872
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "el archivo de la llave privada «%s» tiene acceso para el grupo u otros"
 
-#: libpq/be-secure.c:776
+#: libpq/be-secure.c:874
 #, c-format
 msgid "Permissions should be u=rw (0600) or less."
 msgstr "Los permisos deberían ser u=rw (0500) o menos."
 
-#: libpq/be-secure.c:783
+#: libpq/be-secure.c:881
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
 
-#: libpq/be-secure.c:788
+#: libpq/be-secure.c:886
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "falló la revisión de la llave privada: %s"
 
-#: libpq/be-secure.c:808
+#: libpq/be-secure.c:915
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s"
 
-#: libpq/be-secure.c:832
+#: libpq/be-secure.c:939
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "ignorando lista de revocación de certificados SSL «%s»"
 
-#: libpq/be-secure.c:834
+#: libpq/be-secure.c:941
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "La libreria SSL no soporta listas de revocación de certificados."
 
-#: libpq/be-secure.c:839
+#: libpq/be-secure.c:946
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s»: %s"
 
-#: libpq/be-secure.c:884
+#: libpq/be-secure.c:991
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "no se pudo inicializar la conexión SSL: %s"
 
-#: libpq/be-secure.c:893
+#: libpq/be-secure.c:1000
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "no se definir un socket SSL: %s"
 
-#: libpq/be-secure.c:919
+#: libpq/be-secure.c:1026
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "no se pudo aceptar una conexión SSL: %m"
 
-#: libpq/be-secure.c:923 libpq/be-secure.c:934
+#: libpq/be-secure.c:1030 libpq/be-secure.c:1041
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
 
-#: libpq/be-secure.c:928
+#: libpq/be-secure.c:1035
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "no se pudo aceptar una conexión SSL: %s"
 
-#: libpq/be-secure.c:984
+#: libpq/be-secure.c:1091
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "el «common name» del certificado SSL contiene un carácter null"
 
-#: libpq/be-secure.c:995
+#: libpq/be-secure.c:1102
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "conexión SSL desde «%s»"
 
-#: libpq/be-secure.c:1046
+#: libpq/be-secure.c:1153
 msgid "no SSL error reported"
 msgstr "código de error SSL no reportado"
 
-#: libpq/be-secure.c:1050
+#: libpq/be-secure.c:1157
 #, c-format
 msgid "SSL error code %lu"
 msgstr "código de error SSL %lu"
 
+#: libpq/crypt.c:67
+#, c-format
+msgid "User \"%s\" has no password assigned."
+msgstr "El usuario «%s» no tiene una contraseña asignada."
+
+#: libpq/crypt.c:160
+#, c-format
+msgid "User \"%s\" has an expired password."
+msgstr "El usuario «%s» tiene contraseña expirada."
+
 #: libpq/hba.c:188
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
@@ -9688,305 +9779,300 @@ msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como
 msgid "authentication file line too long"
 msgstr "línea en el archivo de autentificación demasiado larga"
 
-#: libpq/hba.c:410 libpq/hba.c:775 libpq/hba.c:791 libpq/hba.c:821
-#: libpq/hba.c:867 libpq/hba.c:880 libpq/hba.c:902 libpq/hba.c:911
-#: libpq/hba.c:934 libpq/hba.c:946 libpq/hba.c:965 libpq/hba.c:986
-#: libpq/hba.c:997 libpq/hba.c:1052 libpq/hba.c:1070 libpq/hba.c:1082
-#: libpq/hba.c:1099 libpq/hba.c:1109 libpq/hba.c:1123 libpq/hba.c:1139
-#: libpq/hba.c:1154 libpq/hba.c:1165 libpq/hba.c:1207 libpq/hba.c:1239
-#: libpq/hba.c:1250 libpq/hba.c:1270 libpq/hba.c:1281 libpq/hba.c:1292
-#: libpq/hba.c:1309 libpq/hba.c:1334 libpq/hba.c:1371 libpq/hba.c:1381
-#: libpq/hba.c:1438 libpq/hba.c:1450 libpq/hba.c:1463 libpq/hba.c:1546
-#: libpq/hba.c:1624 libpq/hba.c:1642 libpq/hba.c:1663 tsearch/ts_locale.c:182
+#: libpq/hba.c:410 libpq/hba.c:787 libpq/hba.c:803 libpq/hba.c:833
+#: libpq/hba.c:879 libpq/hba.c:892 libpq/hba.c:914 libpq/hba.c:923
+#: libpq/hba.c:946 libpq/hba.c:958 libpq/hba.c:977 libpq/hba.c:998
+#: libpq/hba.c:1009 libpq/hba.c:1064 libpq/hba.c:1082 libpq/hba.c:1094
+#: libpq/hba.c:1111 libpq/hba.c:1121 libpq/hba.c:1135 libpq/hba.c:1151
+#: libpq/hba.c:1166 libpq/hba.c:1177 libpq/hba.c:1213 libpq/hba.c:1245
+#: libpq/hba.c:1256 libpq/hba.c:1276 libpq/hba.c:1287 libpq/hba.c:1304
+#: libpq/hba.c:1329 libpq/hba.c:1366 libpq/hba.c:1376 libpq/hba.c:1432
+#: libpq/hba.c:1444 libpq/hba.c:1457 libpq/hba.c:1540 libpq/hba.c:1611
+#: libpq/hba.c:1629 libpq/hba.c:1650 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "línea %d del archivo de configuración «%s»"
 
-#: libpq/hba.c:622
-#, c-format
-msgid "could not translate host name \"%s\" to address: %s"
-msgstr "no se pudo traducir el nombre «%s» a una dirección: %s"
-
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:773
+#: libpq/hba.c:785
 #, c-format
 msgid "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr "la opción de autentificación «%s» sólo es válida para los métodos de autentificación %s"
 
-#: libpq/hba.c:789
+#: libpq/hba.c:801
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "el método de autentificación «%s» requiere que el argumento «%s» esté definido"
 
-#: libpq/hba.c:810
+#: libpq/hba.c:822
 #, c-format
 msgid "missing entry in file \"%s\" at end of line %d"
 msgstr "falta una entrada en el archivo «%s» al final de la línea %d"
 
-#: libpq/hba.c:820
+#: libpq/hba.c:832
 #, c-format
 msgid "multiple values in ident field"
 msgstr "múltiples valores en campo «ident»"
 
-#: libpq/hba.c:865
+#: libpq/hba.c:877
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "múltiples valores especificados para tipo de conexión"
 
-#: libpq/hba.c:866
+#: libpq/hba.c:878
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Especifique exactamente un tipo de conexión por línea."
 
-#: libpq/hba.c:879
+#: libpq/hba.c:891
 #, c-format
 msgid "local connections are not supported by this build"
 msgstr "las conexiones locales no están soportadas en este servidor"
 
-#: libpq/hba.c:900
+#: libpq/hba.c:912
 #, c-format
 msgid "hostssl requires SSL to be turned on"
 msgstr "hostssl requiere que SSL esté activado"
 
-#: libpq/hba.c:901
+#: libpq/hba.c:913
 #, c-format
 msgid "Set ssl = on in postgresql.conf."
 msgstr "Defina «ssl = on» en postgresql.conf."
 
-#: libpq/hba.c:909
+#: libpq/hba.c:921
 #, c-format
 msgid "hostssl is not supported by this build"
 msgstr "hostssl no está soportado en este servidor"
 
-#: libpq/hba.c:910
+#: libpq/hba.c:922
 #, c-format
 msgid "Compile with --with-openssl to use SSL connections."
 msgstr "Compile con --with-openssl para usar conexiones SSL."
 
-#: libpq/hba.c:932
+#: libpq/hba.c:944
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "tipo de conexión «%s» no válido"
 
-#: libpq/hba.c:945
+#: libpq/hba.c:957
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "fin de línea antes de especificación de base de datos"
 
-#: libpq/hba.c:964
+#: libpq/hba.c:976
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "fin de línea antes de especificación de rol"
 
-#: libpq/hba.c:985
+#: libpq/hba.c:997
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "fin de línea antes de especificación de dirección IP"
 
-#: libpq/hba.c:995
+#: libpq/hba.c:1007
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "múltiples valores especificados para la dirección de anfitrión"
 
-#: libpq/hba.c:996
+#: libpq/hba.c:1008
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Especifique un rango de direcciones por línea."
 
-#: libpq/hba.c:1050
+#: libpq/hba.c:1062
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "dirección IP «%s» no válida: %s"
 
-#: libpq/hba.c:1068
+#: libpq/hba.c:1080
 #, c-format
 msgid "specifying both host name and CIDR mask is invalid: \"%s\""
 msgstr "especificar tanto el nombre de host como la máscara CIDR no es válido: «%s»"
 
-#: libpq/hba.c:1080
+#: libpq/hba.c:1092
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "máscara CIDR no válida en dirección «%s»"
 
-#: libpq/hba.c:1097
+#: libpq/hba.c:1109
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "fin de línea antes de especificación de máscara de red"
 
-#: libpq/hba.c:1098
+#: libpq/hba.c:1110
 #, c-format
 msgid "Specify an address range in CIDR notation, or provide a separate netmask."
 msgstr "Especifique un rango de direcciones en notación CIDR, o provea una netmask separadamente."
 
-#: libpq/hba.c:1108
+#: libpq/hba.c:1120
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "múltiples valores especificados para la máscara de red"
 
-#: libpq/hba.c:1121
+#: libpq/hba.c:1133
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "máscara IP «%s» no válida: %s"
 
-#: libpq/hba.c:1138
+#: libpq/hba.c:1150
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "La dirección y máscara IP no coinciden"
 
-#: libpq/hba.c:1153
+#: libpq/hba.c:1165
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "fin de línea antes de especificación de método de autentificación"
 
-#: libpq/hba.c:1163
+#: libpq/hba.c:1175
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: libpq/hba.c:1164
+#: libpq/hba.c:1176
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Especifique exactamente un tipo de autentificación por línea."
 
-#: libpq/hba.c:1237
+#: libpq/hba.c:1243
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "método de autentificación «%s» no válido"
 
-#: libpq/hba.c:1248
+#: libpq/hba.c:1254
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr "método de autentificación «%s» no válido: este servidor no lo soporta"
 
-#: libpq/hba.c:1269
-#, c-format
-msgid "krb5 authentication is not supported on local sockets"
-msgstr "la autentificación krb5 no está soportada en conexiones locales"
-
-#: libpq/hba.c:1280
+#: libpq/hba.c:1275
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "la autentificación gssapi no está soportada en conexiones locales"
 
-#: libpq/hba.c:1291
+#: libpq/hba.c:1286
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "la autentificación peer sólo está soportada en conexiones locales"
 
-#: libpq/hba.c:1308
+#: libpq/hba.c:1303
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
 
-#: libpq/hba.c:1333
+#: libpq/hba.c:1328
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "opción de autentificación en formato nombre=valor: %s"
 
-#: libpq/hba.c:1370
+#: libpq/hba.c:1365
 #, c-format
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
 msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute o ldapurl junto con ldapprefix"
 
-#: libpq/hba.c:1380
+#: libpq/hba.c:1375
 #, c-format
 msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
 msgstr "el método de autentificación «ldap» requiere que los argumento «ldapbasedn», «ldapprefix» o «ldapsuffix» estén definidos"
 
-#: libpq/hba.c:1424
-msgid "ident, peer, krb5, gssapi, sspi, and cert"
-msgstr "ident, peer, krb5, gssapi, sspi y cert"
+#: libpq/hba.c:1418
+msgid "ident, peer, gssapi, sspi, and cert"
+msgstr "ident, peer, gssapi, sspi y cert"
 
-#: libpq/hba.c:1437
+#: libpq/hba.c:1431
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
 
-#: libpq/hba.c:1448
+#: libpq/hba.c:1442
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr "los certificados de cliente sólo pueden verificarse si un almacén de certificado raíz está disponible"
 
-#: libpq/hba.c:1449
+#: libpq/hba.c:1443
 #, c-format
 msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
 msgstr "Asegúrese que el parámetro de configuración «ssl_ca_file» esté definido."
 
-#: libpq/hba.c:1462
+#: libpq/hba.c:1456
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "clientcert no puede establecerse en 0 cuando se emplea autentificación «cert»"
 
-#: libpq/hba.c:1489
+#: libpq/hba.c:1483
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
 
-#: libpq/hba.c:1497
+#: libpq/hba.c:1491
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "esquema de URL LDAP no soportado: %s"
 
-#: libpq/hba.c:1513
+#: libpq/hba.c:1507
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "los filtros no están soportados en URLs LDAP"
 
-#: libpq/hba.c:1521
+#: libpq/hba.c:1515
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "las URLs LDAP no está soportado en esta plataforma"
 
-#: libpq/hba.c:1545
+#: libpq/hba.c:1539
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "número de puerto LDAP no válido: «%s»"
 
-#: libpq/hba.c:1591 libpq/hba.c:1599
-msgid "krb5, gssapi, and sspi"
-msgstr "krb5, gssapi y sspi"
+#: libpq/hba.c:1579 libpq/hba.c:1586
+msgid "gssapi and sspi"
+msgstr "gssapi y sspi"
 
-#: libpq/hba.c:1641
+#: libpq/hba.c:1628
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "número de puerto RADIUS no válido: «%s»"
 
-#: libpq/hba.c:1661
+#: libpq/hba.c:1648
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nombre de opción de autentificación desconocido: «%s»"
 
-#: libpq/hba.c:1852
+#: libpq/hba.c:1789 guc-file.l:517
+#, c-format
+msgid "could not open configuration file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
+
+#: libpq/hba.c:1839
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "el archivo de configuración «%s» no contiene líneas"
 
-#: libpq/hba.c:1948
+#: libpq/hba.c:1935
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "la expresión regular «%s» no es válida: %s"
 
-#: libpq/hba.c:2008
+#: libpq/hba.c:1995
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "la coincidencia de expresión regular para «%s» falló: %s"
 
-#: libpq/hba.c:2025
+#: libpq/hba.c:2012
 #, c-format
 msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
 msgstr "la expresión regular «%s» no tiene subexpresiones según lo requiere la referencia hacia atrás en «%s»"
 
-#: libpq/hba.c:2121
+#: libpq/hba.c:2108
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr "el nombre de usuario entregado (%s) y el nombre de usuario autentificado (%s) no coinciden"
 
-#: libpq/hba.c:2141
+#: libpq/hba.c:2128
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr "no hay coincidencia en el mapa «%s» para el usuario «%s» autentificado como «%s»"
 
-#: libpq/hba.c:2176
+#: libpq/hba.c:2163
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
@@ -10127,7 +10213,7 @@ msgid "no data left in message"
 msgstr "no hay datos restantes en el mensaje"
 
 #: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1416 utils/adt/rowtypes.c:573
+#: utils/adt/arrayfuncs.c:1444 utils/adt/rowtypes.c:561
 #, c-format
 msgid "insufficient data left in message"
 msgstr "los datos restantes del mensaje son insuficientes"
@@ -10142,17 +10228,17 @@ msgstr "cadena inválida en el mensaje"
 msgid "invalid message format"
 msgstr "formato de mensaje no válido"
 
-#: main/main.c:231
+#: main/main.c:262
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: setsysinfo falló: %s\n"
 
-#: main/main.c:253
+#: main/main.c:284
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup falló: %d\n"
 
-#: main/main.c:272
+#: main/main.c:313
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -10161,7 +10247,7 @@ msgstr ""
 "%s es el servidor PostgreSQL.\n"
 "\n"
 
-#: main/main.c:273
+#: main/main.c:314
 #, c-format
 msgid ""
 "Usage:\n"
@@ -10172,119 +10258,119 @@ msgstr ""
 "  %s [OPCION]...\n"
 "\n"
 
-#: main/main.c:274
+#: main/main.c:315
 #, c-format
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
-#: main/main.c:276
+#: main/main.c:317
 #, c-format
 msgid "  -A 1|0             enable/disable run-time assert checking\n"
 msgstr "  -A 1|0          activar/desactivar el uso de aseveraciones (asserts)\n"
 
-#: main/main.c:278
+#: main/main.c:319
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
 
-#: main/main.c:279
+#: main/main.c:320
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
 
-#: main/main.c:280
+#: main/main.c:321
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NOMBRE       imprimir valor de parámetro de configuración, luego salir\n"
 
-#: main/main.c:281
+#: main/main.c:322
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5          nivel de depuración\n"
 
-#: main/main.c:282
+#: main/main.c:323
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D DATADIR      directorio de bases de datos\n"
 
-#: main/main.c:283
+#: main/main.c:324
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
 
-#: main/main.c:284
+#: main/main.c:325
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F              desactivar fsync\n"
 
-#: main/main.c:285
+#: main/main.c:326
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h NOMBRE       nombre de host o dirección IP en que escuchar\n"
 
-#: main/main.c:286
+#: main/main.c:327
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i              activar conexiones TCP/IP\n"
 
-#: main/main.c:287
+#: main/main.c:328
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
 
-#: main/main.c:289
+#: main/main.c:330
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l              activar conexiones SSL\n"
 
-#: main/main.c:291
+#: main/main.c:332
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N MAX-CONN     número máximo de conexiones permitidas\n"
 
-#: main/main.c:292
+#: main/main.c:333
 #, c-format
 msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
 
-#: main/main.c:293
+#: main/main.c:334
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
 
-#: main/main.c:294
+#: main/main.c:335
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s              mostrar estadísticas después de cada consulta\n"
 
-#: main/main.c:295
+#: main/main.c:336
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S WORK-MEM     definir cantidad de memoria para ordenamientos (en kB)\n"
 
-#: main/main.c:296
+#: main/main.c:337
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version   mostrar información de la versión, luego salir\n"
 
-#: main/main.c:297
+#: main/main.c:338
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
 
-#: main/main.c:298
+#: main/main.c:339
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr ""
 "  --describe-config\n"
 "                  mostrar parámetros de configuración y salir\n"
 
-#: main/main.c:299
+#: main/main.c:340
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
 
-#: main/main.c:301
+#: main/main.c:342
 #, c-format
 msgid ""
 "\n"
@@ -10293,44 +10379,44 @@ msgstr ""
 "\n"
 "Opciones de desarrollador:\n"
 
-#: main/main.c:302
+#: main/main.c:343
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h    impedir el uso de algunos tipos de planes\n"
 
-#: main/main.c:303
+#: main/main.c:344
 #, c-format
 msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n              no reinicializar memoria compartida después de salida anormal\n"
 
-#: main/main.c:304
+#: main/main.c:345
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
 
-#: main/main.c:305
+#: main/main.c:346
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P              desactivar índices de sistema\n"
 
-#: main/main.c:306
+#: main/main.c:347
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex     mostrar tiempos después de cada consulta\n"
 
-#: main/main.c:307
+#: main/main.c:348
 #, c-format
 msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr ""
 "  -T              enviar SIGSTOP a todos los procesos backend si uno de ellos\n"
 "                  muere\n"
 
-#: main/main.c:308
+#: main/main.c:349
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W NÚM          espera NÚM segundos para permitir acoplar un depurador\n"
 
-#: main/main.c:310
+#: main/main.c:351
 #, c-format
 msgid ""
 "\n"
@@ -10339,37 +10425,37 @@ msgstr ""
 "\n"
 "Opciones para modo mono-usuario:\n"
 
-#: main/main.c:311
+#: main/main.c:352
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr "  --single        selecciona modo mono-usuario (debe ser el primer argumento)\n"
 
-#: main/main.c:312
+#: main/main.c:353
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME          nombre de base de datos (el valor por omisión es el nombre de usuario)\n"
 
-#: main/main.c:313
+#: main/main.c:354
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5          nivel de depuración\n"
 
-#: main/main.c:314
+#: main/main.c:355
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E              mostrar las consultas antes de su ejecución\n"
 
-#: main/main.c:315
+#: main/main.c:356
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr "  -j              no usar saltos de línea como delimitadores de consulta\n"
 
-#: main/main.c:316 main/main.c:321
+#: main/main.c:357 main/main.c:362
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r ARCHIVO      enviar salida estándar y de error a ARCHIVO\n"
 
-#: main/main.c:318
+#: main/main.c:359
 #, c-format
 msgid ""
 "\n"
@@ -10378,22 +10464,22 @@ msgstr ""
 "\n"
 "Opciones para modo de inicio (bootstrapping):\n"
 
-#: main/main.c:319
+#: main/main.c:360
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr "  --boot          selecciona modo de inicio (debe ser el primer argumento)\n"
 
-#: main/main.c:320
+#: main/main.c:361
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr "  DBNAME          nombre de base de datos (argumento obligatorio en modo de inicio)\n"
 
-#: main/main.c:322
+#: main/main.c:363
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x NUM          uso interno\n"
 
-#: main/main.c:324
+#: main/main.c:365
 #, c-format
 msgid ""
 "\n"
@@ -10410,7 +10496,7 @@ msgstr ""
 "\n"
 "Reporte errores a <pgsql-bugs@postgresql.org>\n"
 
-#: main/main.c:338
+#: main/main.c:379
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -10424,12 +10510,12 @@ msgstr ""
 "Vea la documentación para obtener más información acerca de cómo\n"
 "iniciar correctamente el servidor.\n"
 
-#: main/main.c:355
+#: main/main.c:396
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: los IDs de usuario real y efectivo deben coincidir\n"
 
-#: main/main.c:362
+#: main/main.c:403
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -10444,19 +10530,9 @@ msgstr ""
 "Vea la documentación para obtener más información acerca de cómo\n"
 "iniciar correctamente el servidor.\n"
 
-#: main/main.c:383
-#, c-format
-msgid "%s: invalid effective UID: %d\n"
-msgstr "%s: el UID de usuario efectivo no es válido: %d\n"
-
-#: main/main.c:396
-#, c-format
-msgid "%s: could not determine user name (GetUserName failed)\n"
-msgstr "%s: no se pudo determinar el nombre de usuario (falló GetUserName)\n"
-
 #: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
 #: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
-#: parser/parse_expr.c:1722 parser/parse_func.c:369 parser/parse_oper.c:948
+#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s"
@@ -10467,76 +10543,76 @@ msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join con
 msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join o hash join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1057
+#: optimizer/plan/initsplan.c:1079
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s no puede ser aplicado al lado nulable de un outer join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1086 parser/analyze.c:1321 parser/analyze.c:1519
-#: parser/analyze.c:2253
+#: optimizer/plan/planner.c:1158 parser/analyze.c:1330 parser/analyze.c:1528
+#: parser/analyze.c:2287
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:2508
+#: optimizer/plan/planner.c:2723
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "no se pudo implementar GROUP BY"
 
-#: optimizer/plan/planner.c:2509 optimizer/plan/planner.c:2681
-#: optimizer/prep/prepunion.c:824
+#: optimizer/plan/planner.c:2724 optimizer/plan/planner.c:2892
+#: optimizer/prep/prepunion.c:825
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Algunos de los tipos sólo soportan hashing, mientras que otros sólo soportan ordenamiento."
 
-#: optimizer/plan/planner.c:2680
+#: optimizer/plan/planner.c:2891
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "no se pudo implementar DISTINCT"
 
-#: optimizer/plan/planner.c:3290
+#: optimizer/plan/planner.c:3497
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "No se pudo implementar PARTITION BY de ventana"
 
-#: optimizer/plan/planner.c:3291
+#: optimizer/plan/planner.c:3498
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Las columnas de particionamiento de ventana deben de tipos que se puedan ordenar."
 
-#: optimizer/plan/planner.c:3295
+#: optimizer/plan/planner.c:3502
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "no se pudo implementar ORDER BY de ventana"
 
-#: optimizer/plan/planner.c:3296
+#: optimizer/plan/planner.c:3503
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Las columnas de ordenamiento de ventana debe ser de tipos que se puedan ordenar."
 
-#: optimizer/plan/setrefs.c:404
+#: optimizer/plan/setrefs.c:402
 #, c-format
 msgid "too many range table entries"
 msgstr "demasiadas «range table entries»"
 
-#: optimizer/prep/prepunion.c:418
+#: optimizer/prep/prepunion.c:419
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "no se pudo implementar UNION recursivo"
 
-#: optimizer/prep/prepunion.c:419
+#: optimizer/prep/prepunion.c:420
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se puedan hacer un hash."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:823
+#: optimizer/prep/prepunion.c:824
 #, c-format
 msgid "could not implement %s"
 msgstr "no se pudo implementar %s"
 
-#: optimizer/util/clauses.c:4373
+#: optimizer/util/clauses.c:4529
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "función SQL «%s», durante expansión en línea"
@@ -10546,433 +10622,498 @@ msgstr "función SQL «%s», durante expansión en línea"
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "no se pueden crear tablas temporales o unlogged durante la recuperación"
 
-#: parser/analyze.c:618 parser/analyze.c:1093
+#: parser/analyze.c:627 parser/analyze.c:1102
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "las listas VALUES deben ser todas de la misma longitud"
 
-#: parser/analyze.c:785
+#: parser/analyze.c:794
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT tiene más expresiones que columnas de destino"
 
-#: parser/analyze.c:803
+#: parser/analyze.c:812
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT tiene más columnas de destino que expresiones"
 
-#: parser/analyze.c:807
+#: parser/analyze.c:816
 #, 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 "La fuente de inserción es una expresión de fila que contiene la misma cantidad de columnas que esperaba el INSERT. ¿Usó accidentalmente paréntesis extra?"
 
-#: parser/analyze.c:915 parser/analyze.c:1294
+#: parser/analyze.c:924 parser/analyze.c:1303
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO no está permitido aquí"
 
-#: parser/analyze.c:1107
+#: parser/analyze.c:1116
 #, c-format
 msgid "DEFAULT can only appear in a VALUES list within INSERT"
 msgstr "DEFAULT sólo puede aparecer en listas VALUES dentro de un INSERT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1226 parser/analyze.c:2425
+#: parser/analyze.c:1235 parser/analyze.c:2459
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s no puede ser aplicado a VALUES"
 
-#: parser/analyze.c:1447
+#: parser/analyze.c:1456
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
 
-#: parser/analyze.c:1448
+#: parser/analyze.c:1457
 #, c-format
 msgid "Only result column names can be used, not expressions or functions."
 msgstr "Sólo nombres de columna del resultado pueden usarse, no expresiones o funciones."
 
-#: parser/analyze.c:1449
+#: parser/analyze.c:1458
 #, c-format
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Agregue la función o expresión a todos los SELECT, o mueva el UNION dentro de una cláusula FROM."
 
-#: parser/analyze.c:1509
+#: parser/analyze.c:1518
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "sólo se permite INTO en el primer SELECT de UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1573
+#: parser/analyze.c:1582
 #, c-format
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr "una sentencia miembro de UNION/INSERT/EXCEPT no puede referirse a otras relaciones del mismo nivel de la consulta"
 
-#: parser/analyze.c:1662
+#: parser/analyze.c:1671
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "cada consulta %s debe tener el mismo número de columnas"
 
-#: parser/analyze.c:2054
+#: parser/analyze.c:2051
+#, c-format
+msgid "RETURNING must have at least one column"
+msgstr "RETURNING debe tener al menos una columna"
+
+#: parser/analyze.c:2088
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "no se puede especificar SCROLL y NO SCROLL"
 
-#: parser/analyze.c:2072
+#: parser/analyze.c:2106
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR no debe contener sentencias que modifiquen datos en WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2080
+#: parser/analyze.c:2114
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
 
-#: parser/analyze.c:2083
+#: parser/analyze.c:2117
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Los cursores declarados HOLD deben ser READ ONLY."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2091
+#: parser/analyze.c:2125
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2102
+#: parser/analyze.c:2136
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
 
-#: parser/analyze.c:2105
+#: parser/analyze.c:2139
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Los cursores insensitivos deben ser READ ONLY."
 
-#: parser/analyze.c:2171
+#: parser/analyze.c:2205
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr "las vistas materializadas no deben usar sentencias que modifiquen datos en WITH"
 
-#: parser/analyze.c:2181
+#: parser/analyze.c:2215
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
 
-#: parser/analyze.c:2191
+#: parser/analyze.c:2225
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
 
-#: parser/analyze.c:2203
+#: parser/analyze.c:2237
 #, c-format
 msgid "materialized views cannot be UNLOGGED"
 msgstr "las vistas materializadas no pueden ser UNLOGGED"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2260
+#: parser/analyze.c:2294
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s no está permitido con cláusulas DISTINCT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2267
+#: parser/analyze.c:2301
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s no está permitido con cláusulas GROUP BY"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2274
+#: parser/analyze.c:2308
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s no está permitido con cláusulas HAVING"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2281
+#: parser/analyze.c:2315
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s no está permitido con funciones de agregación"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2288
+#: parser/analyze.c:2322
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s no está permitido con funciones de ventana deslizante"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2295
+#: parser/analyze.c:2329
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr "%s no está permitido con funciones que retornan conjuntos en la lista de resultados"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2374
+#: parser/analyze.c:2408
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "%s debe especificar nombres de relaciones sin calificar"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2407
+#: parser/analyze.c:2441
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s no puede ser aplicado a un join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2416
+#: parser/analyze.c:2450
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s no puede ser aplicado a una función"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2434
+#: parser/analyze.c:2468
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s no puede ser aplicado a una consulta WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2451
+#: parser/analyze.c:2485
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "la relación «%s» en la cláusula %s no fue encontrada en la cláusula FROM"
 
-#: parser/parse_agg.c:144 parser/parse_oper.c:219
+#: parser/parse_agg.c:201 parser/parse_oper.c:219
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "no se pudo identificar un operador de ordenamiento para el tipo %s"
 
-#: parser/parse_agg.c:146
+#: parser/parse_agg.c:203
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Las funciones de agregación con DISTINCT deben ser capaces de ordenar sus valores de entrada."
 
-#: parser/parse_agg.c:193
+#: parser/parse_agg.c:254
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "no se permiten funciones de agregación en las condiciones de JOIN"
 
-#: parser/parse_agg.c:199
+#: parser/parse_agg.c:260
 msgid "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr "las funciones de agregación no están permitidas en la cláusula FROM de su mismo nivel de consulta"
 
-#: parser/parse_agg.c:202
+#: parser/parse_agg.c:263
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "no se permiten funciones de agregación en una función en FROM"
 
-#: parser/parse_agg.c:217
+#: parser/parse_agg.c:281
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "no se permiten funciones de agregación en RANGE de ventana deslizante"
 
-#: parser/parse_agg.c:220
+#: parser/parse_agg.c:284
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "no se permiten funciones de agregación en ROWS de ventana deslizante"
 
-#: parser/parse_agg.c:251
+#: parser/parse_agg.c:315
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "no se permiten funciones de agregación en restricciones «check»"
 
-#: parser/parse_agg.c:255
+#: parser/parse_agg.c:319
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
 
-#: parser/parse_agg.c:258
+#: parser/parse_agg.c:322
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "no se permiten funciones de agregación en una expresión de índice"
 
-#: parser/parse_agg.c:261
+#: parser/parse_agg.c:325
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "no se permiten funciones de agregación en predicados de índice"
 
-#: parser/parse_agg.c:264
+#: parser/parse_agg.c:328
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "no se permiten funciones de agregación en una expresión de transformación"
 
-#: parser/parse_agg.c:267
+#: parser/parse_agg.c:331
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "no se permiten funciones de agregación en un parámetro a EXECUTE"
 
-#: parser/parse_agg.c:270
+#: parser/parse_agg.c:334
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "no se permiten funciones de agregación en condición WHEN de un disparador"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:290 parser/parse_clause.c:1286
+#: parser/parse_agg.c:354 parser/parse_clause.c:1407
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "no se permiten funciones de agregación en %s"
 
-#: parser/parse_agg.c:396
+#: parser/parse_agg.c:457
+#, c-format
+msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments"
+msgstr "una función de agregación de nivel exterior no puede contener una variable de nivel inferior en sus argumentos directos"
+
+#: parser/parse_agg.c:514
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones de ventana deslizante"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:591
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:598
 msgid "window functions are not allowed in functions in FROM"
 msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
 
-#: parser/parse_agg.c:488
+#: parser/parse_agg.c:613
 msgid "window functions are not allowed in window definitions"
 msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
 
-#: parser/parse_agg.c:519
+#: parser/parse_agg.c:644
 msgid "window functions are not allowed in check constraints"
 msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
 
-#: parser/parse_agg.c:523
+#: parser/parse_agg.c:648
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
 
-#: parser/parse_agg.c:526
+#: parser/parse_agg.c:651
 msgid "window functions are not allowed in index expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
 
-#: parser/parse_agg.c:529
+#: parser/parse_agg.c:654
 msgid "window functions are not allowed in index predicates"
 msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: parser/parse_agg.c:532
+#: parser/parse_agg.c:657
 msgid "window functions are not allowed in transform expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
 
-#: parser/parse_agg.c:535
+#: parser/parse_agg.c:660
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
 
-#: parser/parse_agg.c:538
+#: parser/parse_agg.c:663
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:558 parser/parse_clause.c:1295
+#: parser/parse_agg.c:683 parser/parse_clause.c:1416
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "no se permiten funciones de ventana deslizante en %s"
 
-#: parser/parse_agg.c:592 parser/parse_clause.c:1706
+#: parser/parse_agg.c:717 parser/parse_clause.c:1827
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "la ventana «%s» no existe"
 
-#: parser/parse_agg.c:754
+#: parser/parse_agg.c:879
 #, c-format
 msgid "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "no se permiten funciones de agregación en el término recursivo de una consulta recursiva"
 
-#: parser/parse_agg.c:909
+#: parser/parse_agg.c:1057
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "la columna «%s.%s» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación"
 
-#: parser/parse_agg.c:915
+#: parser/parse_agg.c:1060
+#, c-format
+msgid "Direct arguments of an ordered-set aggregate must use only grouped columns."
+msgstr "Argumentos directos de una función de agregación de conjuntos ordenados debe usar sólo columnas agrupadas."
+
+#: parser/parse_agg.c:1065
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "la subconsulta usa la columna «%s.%s» no agrupada de una consulta exterior"
 
-#: parser/parse_clause.c:846
+#: parser/parse_clause.c:636
+#, c-format
+msgid "multiple column definition lists are not allowed for the same function"
+msgstr "no se permiten múltiples definiciones de columnas para la misma función"
+
+#: parser/parse_clause.c:669
+#, c-format
+msgid "ROWS FROM() with multiple functions cannot have a column definition list"
+msgstr "ROWS FROM() con varias funciones no puede tener una lista de definición de columnas"
+
+#: parser/parse_clause.c:670
+#, c-format
+msgid "Put a separate column definition list for each function inside ROWS FROM()."
+msgstr "Ponga una lista de columnas separada para cada función dentro de ROWS FROM()."
+
+#: parser/parse_clause.c:676
+#, c-format
+msgid "UNNEST() with multiple arguments cannot have a column definition list"
+msgstr "UNNEST() con varios argumentos no puede tener una lista de definición de columnas"
+
+#: parser/parse_clause.c:677
+#, c-format
+msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one."
+msgstr "Use llamadas a UNNEST() separadas dentro de ROWS FROM() y adjunte una lista de columnas a cada una."
+
+#: parser/parse_clause.c:684
+#, c-format
+msgid "WITH ORDINALITY cannot be used with a column definition list"
+msgstr "WITH ORDINALITY no puede usarse con una lista de definición de columnas"
+
+#: parser/parse_clause.c:685
+#, c-format
+msgid "Put the column definition list inside ROWS FROM()."
+msgstr "Ponga una lista de columnas dentro de ROWS FROM()."
+
+#: parser/parse_clause.c:967
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "la columna «%s» aparece más de una vez en la cláusula USING"
 
-#: parser/parse_clause.c:861
+#: parser/parse_clause.c:982
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "la columna común «%s» aparece más de una vez en la tabla izquierda"
 
-#: parser/parse_clause.c:870
+#: parser/parse_clause.c:991
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla izquierda"
 
-#: parser/parse_clause.c:884
+#: parser/parse_clause.c:1005
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "la columna común «%s» aparece más de una vez en la tabla derecha"
 
-#: parser/parse_clause.c:893
+#: parser/parse_clause.c:1014
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla derecha"
 
-#: parser/parse_clause.c:947
+#: parser/parse_clause.c:1068
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "la lista de alias de columnas para «%s» tiene demasiadas entradas"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1256
+#: parser/parse_clause.c:1377
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "el argumento de %s no puede contener variables"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1421
+#: parser/parse_clause.c:1542
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s «%s» es ambiguo"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1450
+#: parser/parse_clause.c:1571
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "constante no entera en %s"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1472
+#: parser/parse_clause.c:1593
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "la posición %2$d de %1$s no está en la lista de resultados"
 
-#: parser/parse_clause.c:1694
+#: parser/parse_clause.c:1815
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "la ventana «%s» ya está definida"
 
-#: parser/parse_clause.c:1750
+#: parser/parse_clause.c:1876
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "no se puede pasar a llevar la cláusula PARTITION BY de la ventana «%s»"
 
-#: parser/parse_clause.c:1762
+#: parser/parse_clause.c:1888
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "no se puede pasar a llevar la cláusula ORDER BY de la ventana «%s»"
 
-#: parser/parse_clause.c:1784
+#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
+#, c-format
+msgid "cannot copy window \"%s\" because it has a frame clause"
+msgstr "no se puede copiar la ventana «%s» porque tiene una cláusula «frame»"
+
+#: parser/parse_clause.c:1926
 #, c-format
-msgid "cannot override frame clause of window \"%s\""
-msgstr "no se puede pasar a llevar la cláusula de «frame» de la ventana «%s»"
+msgid "Omit the parentheses in this OVER clause."
+msgstr "Omita el uso de paréntesis en esta cláusula OVER."
 
-#: parser/parse_clause.c:1850
+#: parser/parse_clause.c:1992
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr "en una agregación con DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de argumentos"
 
-#: parser/parse_clause.c:1851
+#: parser/parse_clause.c:1993
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "para SELECT DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de resultados"
 
-#: parser/parse_clause.c:1937 parser/parse_clause.c:1969
+#: parser/parse_clause.c:2026
+#, c-format
+msgid "an aggregate with DISTINCT must have at least one argument"
+msgstr "una función de agregación con DISTINCT debe tener al menos un argumento"
+
+#: parser/parse_clause.c:2027
+#, c-format
+msgid "SELECT DISTINCT must have at least one column"
+msgstr "SELECT DISTINCT debe tener al menos una columna"
+
+#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "las expresiones de SELECT DISTINCT ON deben coincidir con las expresiones iniciales de ORDER BY"
 
-#: parser/parse_clause.c:2091
+#: parser/parse_clause.c:2253
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "el operador «%s» no es un operador válido de ordenamiento"
 
-#: parser/parse_clause.c:2093
+#: parser/parse_clause.c:2255
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Los operadores de ordenamiento deben ser miembros «<» o «>» de una familia de operadores btree."
 
 #: parser/parse_coerce.c:933 parser/parse_coerce.c:963
 #: parser/parse_coerce.c:981 parser/parse_coerce.c:996
-#: parser/parse_expr.c:1756 parser/parse_expr.c:2230 parser/parse_target.c:852
+#: parser/parse_expr.c:1773 parser/parse_expr.c:2247 parser/parse_target.c:854
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "no se puede convertir el tipo %s a %s"
@@ -11079,17 +11220,19 @@ msgstr "el tipo coincidente con anyenum no es un tipo enum: %s"
 msgid "could not find range type for data type %s"
 msgstr "no se pudo encontrar un tipo de rango para el tipo de dato %s"
 
-#: parser/parse_collate.c:214 parser/parse_collate.c:458
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:984
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "discordancia de ordenamientos (collation) entre los ordenamientos implícitos «%s» y «%s»"
 
-#: parser/parse_collate.c:217 parser/parse_collate.c:461
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:987
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Puede elegir el ordenamiento aplicando la cláusula COLLATE a una o ambas expresiones."
 
-#: parser/parse_collate.c:772
+#: parser/parse_collate.c:832
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "discordancia de ordenamientos (collation) entre los ordenamientos explícitos «%s» y «%s»"
@@ -11194,272 +11337,322 @@ msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva"
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez"
 
-#: parser/parse_expr.c:388 parser/parse_relation.c:2611
+#: parser/parse_expr.c:389 parser/parse_relation.c:2875
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "no existe la columna %s.%s"
 
-#: parser/parse_expr.c:400
+#: parser/parse_expr.c:401
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "la columna «%s» no fue encontrado en el tipo %s"
 
-#: parser/parse_expr.c:406
+#: parser/parse_expr.c:407
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "no se pudo identificar la columna «%s» en el tipo de dato record"
 
-#: parser/parse_expr.c:412
+#: parser/parse_expr.c:413
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto"
 
-#: parser/parse_expr.c:442 parser/parse_target.c:640
+#: parser/parse_expr.c:443 parser/parse_target.c:640
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "la expansión de filas a través de «*» no está soportado aquí"
 
-#: parser/parse_expr.c:765 parser/parse_relation.c:531
-#: parser/parse_relation.c:612 parser/parse_target.c:1087
+#: parser/parse_expr.c:766 parser/parse_relation.c:561
+#: parser/parse_relation.c:652 parser/parse_target.c:1089
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la referencia a la columna «%s» es ambigua"
 
-#: parser/parse_expr.c:821 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "no hay parámetro $%d"
 
-#: parser/parse_expr.c:1033
+#: parser/parse_expr.c:1034
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF requiere que el operador = retorne boolean"
 
-#: parser/parse_expr.c:1452
+#: parser/parse_expr.c:1469
 msgid "cannot use subquery in check constraint"
 msgstr "no se pueden usar subconsultas en una restricción «check»"
 
-#: parser/parse_expr.c:1456
+#: parser/parse_expr.c:1473
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
 
-#: parser/parse_expr.c:1459
+#: parser/parse_expr.c:1476
 msgid "cannot use subquery in index expression"
 msgstr "no se puede usar una subconsulta en una expresión de índice"
 
-#: parser/parse_expr.c:1462
+#: parser/parse_expr.c:1479
 msgid "cannot use subquery in index predicate"
 msgstr "no se puede usar una subconsulta en un predicado de índice"
 
-#: parser/parse_expr.c:1465
+#: parser/parse_expr.c:1482
 msgid "cannot use subquery in transform expression"
 msgstr "no se puede usar una subconsulta en una expresión de transformación"
 
-#: parser/parse_expr.c:1468
+#: parser/parse_expr.c:1485
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
 
-#: parser/parse_expr.c:1471
+#: parser/parse_expr.c:1488
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
 
-#: parser/parse_expr.c:1528
+#: parser/parse_expr.c:1545
 #, c-format
 msgid "subquery must return a column"
 msgstr "la subconsulta debe retornar una columna"
 
-#: parser/parse_expr.c:1535
+#: parser/parse_expr.c:1552
 #, c-format
 msgid "subquery must return only one column"
 msgstr "la subconsulta debe retornar sólo una columna"
 
-#: parser/parse_expr.c:1595
+#: parser/parse_expr.c:1612
 #, c-format
 msgid "subquery has too many columns"
 msgstr "la subconsulta tiene demasiadas columnas"
 
-#: parser/parse_expr.c:1600
+#: parser/parse_expr.c:1617
 #, c-format
 msgid "subquery has too few columns"
 msgstr "la subconsulta tiene muy pocas columnas"
 
-#: parser/parse_expr.c:1696
+#: parser/parse_expr.c:1713
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "no se puede determinar el tipo de un array vacío"
 
-#: parser/parse_expr.c:1697
+#: parser/parse_expr.c:1714
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1711
+#: parser/parse_expr.c:1728
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s"
 
-#: parser/parse_expr.c:1937
+#: parser/parse_expr.c:1954
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_expr.c:1938
+#: parser/parse_expr.c:1955
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_expr.c:1953
+#: parser/parse_expr.c:1970
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "el nombre de atributo XML «%s» aparece más de una vez"
 
-#: parser/parse_expr.c:2060
+#: parser/parse_expr.c:2077
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
 
-#: parser/parse_expr.c:2303 parser/parse_expr.c:2503
+#: parser/parse_expr.c:2320 parser/parse_expr.c:2520
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "número desigual de entradas en expresiones de registro"
 
-#: parser/parse_expr.c:2313
+#: parser/parse_expr.c:2330
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "no se pueden comparar registros de largo cero"
 
-#: parser/parse_expr.c:2338
+#: parser/parse_expr.c:2355
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s"
 
-#: parser/parse_expr.c:2345
+#: parser/parse_expr.c:2362
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "el operador de comparación de registros no puede retornar un conjunto"
 
-#: parser/parse_expr.c:2404 parser/parse_expr.c:2449
+#: parser/parse_expr.c:2421 parser/parse_expr.c:2466
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s"
 
-#: parser/parse_expr.c:2406
+#: parser/parse_expr.c:2423
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree."
 
-#: parser/parse_expr.c:2451
+#: parser/parse_expr.c:2468
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Hay múltiples candidatos igualmente plausibles."
 
-#: parser/parse_expr.c:2543
+#: parser/parse_expr.c:2560
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
 
-#: parser/parse_func.c:149
+#: parser/parse_func.c:173
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "el nombre de argumento «%s» fue especificado más de una vez"
 
-#: parser/parse_func.c:160
+#: parser/parse_func.c:184
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "un argumento posicional no puede seguir a un argumento con nombre"
 
-#: parser/parse_func.c:238
+#: parser/parse_func.c:263
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "se especificó %s(*), pero %s no es una función de agregación"
 
-#: parser/parse_func.c:245
+#: parser/parse_func.c:270
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "se especificó DISTINCT, pero %s no es una función de agregación"
 
-#: parser/parse_func.c:251
+#: parser/parse_func.c:276
+#, c-format
+msgid "WITHIN GROUP specified, but %s is not an aggregate function"
+msgstr "se especificó WITHIN GROUP, pero %s no es una función de agregación"
+
+#: parser/parse_func.c:282
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "se especificó ORDER BY, pero %s no es una función de agregación"
 
-#: parser/parse_func.c:257
+#: parser/parse_func.c:288
+#, c-format
+msgid "FILTER specified, but %s is not an aggregate function"
+msgstr "se especificó FILTER, pero %s no es una función de agregación"
+
+#: parser/parse_func.c:294
 #, c-format
 msgid "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr "se especificó OVER, pero %s no es una función de ventana deslizante ni una función de agregación"
 
-#: parser/parse_func.c:279
+#: parser/parse_func.c:324
+#, c-format
+msgid "WITHIN GROUP is required for ordered-set aggregate %s"
+msgstr "WITHIN GROUP es obligatorio para la función de agregación de conjuntos ordenados %s"
+
+#: parser/parse_func.c:330
+#, c-format
+msgid "OVER is not supported for ordered-set aggregate %s"
+msgstr "OVER no está soportado para la función de agregación de conjuntos ordenados %s"
+
+#: parser/parse_func.c:361 parser/parse_func.c:390
+#, c-format
+msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
+msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumentos directos, no %d."
+
+#: parser/parse_func.c:415
+#, c-format
+msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)."
+msgstr "Para usar la función de agregación de conjunto hipotética %s, el número de argumentos hipotéticos directos (acá %d) debe coincidir con el número de columnas del ordenamiento (acá %d)."
+
+#: parser/parse_func.c:429
+#, c-format
+msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
+msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos"
+
+#: parser/parse_func.c:448
+#, c-format
+msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
+msgstr "%s no es una función de agregación de conjunto ordenado, por lo que no puede tener WITHIN GROUP"
+
+#: parser/parse_func.c:461
+#, c-format
+msgid "window function %s requires an OVER clause"
+msgstr "la función de ventana deslizante %s requiere una cláusula OVER"
+
+#: parser/parse_func.c:468
+#, c-format
+msgid "window function %s cannot have WITHIN GROUP"
+msgstr "la función de ventana deslizante %s no puede tener WITHIN GROUP"
+
+#: parser/parse_func.c:489
 #, c-format
 msgid "function %s is not unique"
 msgstr "la función %s no es única"
 
-#: parser/parse_func.c:282
+#: parser/parse_func.c:492
 #, c-format
 msgid "Could not choose a best candidate function. You might need to add explicit type casts."
 msgstr "No se pudo escoger la función más adecuada. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/parse_func.c:293
+#: parser/parse_func.c:503
 #, c-format
 msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
 msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Quizás puso ORDER BY en una mala posición; ORDER BY debe aparecer después de todos los argumentos normales de la función de agregación."
 
-#: parser/parse_func.c:304
+#: parser/parse_func.c:514
 #, c-format
 msgid "No function matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_func.c:415 parser/parse_func.c:481
+#: parser/parse_func.c:616
+#, c-format
+msgid "VARIADIC argument must be an array"
+msgstr "el parámetro VARIADIC debe ser un array"
+
+#: parser/parse_func.c:661 parser/parse_func.c:725
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*) debe ser usado para invocar una función de agregación sin parámetros"
 
-#: parser/parse_func.c:422
+#: parser/parse_func.c:668
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "las funciones de agregación no pueden retornar conjuntos"
 
-#: parser/parse_func.c:434
+#: parser/parse_func.c:683
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "las funciones de agregación no pueden usar argumentos con nombre"
 
-#: parser/parse_func.c:453
-#, c-format
-msgid "window function call requires an OVER clause"
-msgstr "la invocación de una función de ventana deslizante requiere una cláusula OVER"
-
-#: parser/parse_func.c:471
+#: parser/parse_func.c:715
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_func.c:491
+#: parser/parse_func.c:735
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "el ORDER BY de funciones de agregación no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_func.c:497
+#: parser/parse_func.c:744
 #, c-format
-msgid "window functions cannot return sets"
-msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
+msgid "FILTER is not implemented for non-aggregate window functions"
+msgstr "FILTER no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_func.c:508
+#: parser/parse_func.c:750
 #, c-format
-msgid "window functions cannot use named arguments"
-msgstr "las funciones de ventana deslizante no pueden usar argumentos con nombre"
+msgid "window functions cannot return sets"
+msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
 
-#: parser/parse_func.c:1673
+#: parser/parse_func.c:1994
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "no existe la función de agregación %s(*)"
 
-#: parser/parse_func.c:1678
+#: parser/parse_func.c:1999
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "no existe la función de agregación %s"
 
-#: parser/parse_func.c:1697
+#: parser/parse_func.c:2018
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "la función %s no es una función de agregación"
@@ -11469,23 +11662,23 @@ msgstr "la función %s no es una función de agregación"
 msgid "target lists can have at most %d entries"
 msgstr "las listas de resultados pueden tener a lo más %d entradas"
 
-#: parser/parse_node.c:241
+#: parser/parse_node.c:253
 #, c-format
 msgid "cannot subscript type %s because it is not an array"
 msgstr "no se puede poner subíndices al tipo %s porque no es un array"
 
-#: parser/parse_node.c:343 parser/parse_node.c:370
+#: parser/parse_node.c:356 parser/parse_node.c:383
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "los subíndices de arrays deben tener tipo entero"
 
-#: parser/parse_node.c:394
+#: parser/parse_node.c:407
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:490
-#: utils/adt/regproc.c:510 utils/adt/regproc.c:669
+#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:547
+#: utils/adt/regproc.c:567 utils/adt/regproc.c:751
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "el operador no existe: %s"
@@ -11495,9 +11688,9 @@ msgstr "el operador no existe: %s"
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Use un operador de ordenamiento explícito o modifique la consulta."
 
-#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3181
-#: utils/adt/arrayfuncs.c:3700 utils/adt/arrayfuncs.c:5253
-#: utils/adt/rowtypes.c:1186
+#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3222
+#: utils/adt/arrayfuncs.c:3741 utils/adt/arrayfuncs.c:5294
+#: utils/adt/rowtypes.c:1159
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "no se pudo identificar un operador de igualdad para el tipo %s"
@@ -11547,105 +11740,103 @@ msgstr "op ANY/ALL (array) requiere un operador que no retorne un conjunto"
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
 
-#: parser/parse_relation.c:158
+#: parser/parse_relation.c:172
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "la referencia a la tabla «%s» es ambigua"
 
-#: parser/parse_relation.c:165 parser/parse_relation.c:217
-#: parser/parse_relation.c:619 parser/parse_relation.c:2575
+#: parser/parse_relation.c:216
+#, c-format
+msgid "table reference %u is ambiguous"
+msgstr "la referencia a la tabla %u es ambigua"
+
+#: parser/parse_relation.c:395
+#, c-format
+msgid "table name \"%s\" specified more than once"
+msgstr "el nombre de tabla «%s» fue especificado más de una vez"
+
+#: parser/parse_relation.c:422 parser/parse_relation.c:2839
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida"
 
-#: parser/parse_relation.c:167 parser/parse_relation.c:219
-#: parser/parse_relation.c:621
+#: parser/parse_relation.c:425 parser/parse_relation.c:2844
 #, c-format
-msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
-msgstr "El tipo de JOIN debe ser INNER o LEFT para una referencia LATERAL."
+msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
+msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_relation.c:210
+#: parser/parse_relation.c:427
 #, c-format
-msgid "table reference %u is ambiguous"
-msgstr "la referencia a la tabla %u es ambigua"
+msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
+msgstr "El tipo de JOIN debe ser INNER o LEFT para una referencia LATERAL."
 
-#: parser/parse_relation.c:396
+#: parser/parse_relation.c:591
 #, c-format
-msgid "table name \"%s\" specified more than once"
-msgstr "el nombre de tabla «%s» fue especificado más de una vez"
+msgid "system column \"%s\" reference in check constraint is invalid"
+msgstr "la referencia a columna a sistema «%s» en una restricción check no es válida"
 
-#: parser/parse_relation.c:858 parser/parse_relation.c:1144
-#: parser/parse_relation.c:1521
+#: parser/parse_relation.c:892 parser/parse_relation.c:1169
+#: parser/parse_relation.c:1663
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d"
 
-#: parser/parse_relation.c:888
-#, c-format
-msgid "too many column aliases specified for function %s"
-msgstr "se especificaron demasiados alias de columna para la función %s"
-
-#: parser/parse_relation.c:954
+#: parser/parse_relation.c:979
 #, c-format
 msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_relation.c:956
+#: parser/parse_relation.c:981
 #, c-format
 msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
 
-#: parser/parse_relation.c:1222
+#: parser/parse_relation.c:1287
 #, c-format
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»"
 
-#: parser/parse_relation.c:1230
+#: parser/parse_relation.c:1296
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
 
-#: parser/parse_relation.c:1281
+#: parser/parse_relation.c:1375
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
 
-#: parser/parse_relation.c:1353
+#: parser/parse_relation.c:1495
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
 
-#: parser/parse_relation.c:1406
+#: parser/parse_relation.c:1548
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "los joins pueden tener a lo más %d columnas"
 
-#: parser/parse_relation.c:1494
+#: parser/parse_relation.c:1636
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
 
-#: parser/parse_relation.c:2190
+#: parser/parse_relation.c:2468 parser/parse_relation.c:2623
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "no existe la columna %d en la relación «%s»"
 
-#: parser/parse_relation.c:2578
+#: parser/parse_relation.c:2842
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
 
-#: parser/parse_relation.c:2580
-#, c-format
-msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
-msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
-
-#: parser/parse_relation.c:2586
+#: parser/parse_relation.c:2850
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
 
-#: parser/parse_relation.c:2626
+#: parser/parse_relation.c:2890
 #, c-format
 msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
@@ -11690,7 +11881,7 @@ msgstr "la asignación de array a «%s» requiere tipo %s pero la expresión es
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_target.c:1177
+#: parser/parse_target.c:1179
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * sin especificar tablas no es válido"
@@ -11705,27 +11896,27 @@ msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
 msgid "improper %%TYPE reference (too many dotted names): %s"
 msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
 
-#: parser/parse_type.c:134
+#: parser/parse_type.c:141
 #, c-format
 msgid "type reference %s converted to %s"
 msgstr "la referencia al tipo %s convertida a %s"
 
-#: parser/parse_type.c:209 utils/cache/typcache.c:198
+#: parser/parse_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:198
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "el tipo «%s» está inconcluso"
 
-#: parser/parse_type.c:294
+#: parser/parse_type.c:342
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "un modificador de tipo no está permitido para el tipo «%s»"
 
-#: parser/parse_type.c:337
+#: parser/parse_type.c:384
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
 
-#: parser/parse_type.c:648 parser/parse_type.c:747
+#: parser/parse_type.c:695 parser/parse_type.c:819
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "el nombre de tipo «%s» no es válido"
@@ -11745,184 +11936,189 @@ msgstr "array de serial no está implementado"
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s creará una secuencia implícita «%s» para la columna serial «%s.%s»"
 
-#: parser/parse_utilcmd.c:491 parser/parse_utilcmd.c:503
+#: parser/parse_utilcmd.c:484 parser/parse_utilcmd.c:496
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»"
 
-#: parser/parse_utilcmd.c:515
+#: parser/parse_utilcmd.c:508
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:682
+#: parser/parse_utilcmd.c:675
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE no está soportado para la creación de tablas foráneas"
 
-#: parser/parse_utilcmd.c:1201 parser/parse_utilcmd.c:1277
+#: parser/parse_utilcmd.c:1196 parser/parse_utilcmd.c:1272
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
 
-#: parser/parse_utilcmd.c:1544
+#: parser/parse_utilcmd.c:1539
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "no se puede usar un índice existente en CREATE TABLE"
 
-#: parser/parse_utilcmd.c:1564
+#: parser/parse_utilcmd.c:1559
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "el índice «%s» ya está asociado a una restricción"
 
-#: parser/parse_utilcmd.c:1572
+#: parser/parse_utilcmd.c:1567
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: parser/parse_utilcmd.c:1579
+#: parser/parse_utilcmd.c:1574
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "el índice «%s» no es válido"
 
-#: parser/parse_utilcmd.c:1585
+#: parser/parse_utilcmd.c:1580
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "«%s» no es un índice único"
 
-#: parser/parse_utilcmd.c:1586 parser/parse_utilcmd.c:1593
-#: parser/parse_utilcmd.c:1600 parser/parse_utilcmd.c:1670
+#: parser/parse_utilcmd.c:1581 parser/parse_utilcmd.c:1588
+#: parser/parse_utilcmd.c:1595 parser/parse_utilcmd.c:1665
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "No se puede crear una restricción de llave primaria o única usando un índice así."
 
-#: parser/parse_utilcmd.c:1592
+#: parser/parse_utilcmd.c:1587
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "el índice «%s» contiene expresiones"
 
-#: parser/parse_utilcmd.c:1599
+#: parser/parse_utilcmd.c:1594
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "«%s» es un índice parcial"
 
-#: parser/parse_utilcmd.c:1611
+#: parser/parse_utilcmd.c:1606
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "«%s» no es un índice postergable (deferrable)"
 
-#: parser/parse_utilcmd.c:1612
+#: parser/parse_utilcmd.c:1607
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "No se puede crear una restricción no postergable usando un índice postergable."
 
-#: parser/parse_utilcmd.c:1669
+#: parser/parse_utilcmd.c:1664
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "el índice «%s» no tiene el comportamiento de ordenamiento por omisión"
 
-#: parser/parse_utilcmd.c:1814
+#: parser/parse_utilcmd.c:1809
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la columna «%s» aparece dos veces en llave primaria"
 
-#: parser/parse_utilcmd.c:1820
+#: parser/parse_utilcmd.c:1815
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la columna «%s» aparece dos veces en restricción unique"
 
-#: parser/parse_utilcmd.c:1991
+#: parser/parse_utilcmd.c:1981
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "las expresiones de índice no pueden retornar conjuntos"
 
-#: parser/parse_utilcmd.c:2002
+#: parser/parse_utilcmd.c:1992
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
 
-#: parser/parse_utilcmd.c:2045
+#: parser/parse_utilcmd.c:2035
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "las reglas en vistas materializadas no están soportadas"
 
-#: parser/parse_utilcmd.c:2106
+#: parser/parse_utilcmd.c:2096
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
 
-#: parser/parse_utilcmd.c:2178
+#: parser/parse_utilcmd.c:2168
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE"
 
-#: parser/parse_utilcmd.c:2196 parser/parse_utilcmd.c:2295
-#: rewrite/rewriteHandler.c:443 rewrite/rewriteManip.c:1032
+#: parser/parse_utilcmd.c:2186 parser/parse_utilcmd.c:2285
+#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
 
-#: parser/parse_utilcmd.c:2214
+#: parser/parse_utilcmd.c:2204
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "una regla ON SELECT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:2218
+#: parser/parse_utilcmd.c:2208
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "una regla ON SELECT no puede usar NEW"
 
-#: parser/parse_utilcmd.c:2227
+#: parser/parse_utilcmd.c:2217
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "una regla ON INSERT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:2233
+#: parser/parse_utilcmd.c:2223
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "una regla ON DELETE no puede usar NEW"
 
-#: parser/parse_utilcmd.c:2261
+#: parser/parse_utilcmd.c:2251
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:2268
+#: parser/parse_utilcmd.c:2258
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:2568
+#: parser/parse_utilcmd.c:2541
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "cláusula DEFERRABLE mal puesta"
 
-#: parser/parse_utilcmd.c:2573 parser/parse_utilcmd.c:2588
+#: parser/parse_utilcmd.c:2546 parser/parse_utilcmd.c:2561
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2583
+#: parser/parse_utilcmd.c:2556
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "la cláusula NOT DEFERRABLE está mal puesta"
 
-#: parser/parse_utilcmd.c:2604
+#: parser/parse_utilcmd.c:2569 parser/parse_utilcmd.c:2595 gram.y:4577
+#, c-format
+msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
+msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
+
+#: parser/parse_utilcmd.c:2577
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
 
-#: parser/parse_utilcmd.c:2609 parser/parse_utilcmd.c:2635
+#: parser/parse_utilcmd.c:2582 parser/parse_utilcmd.c:2608
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
 
-#: parser/parse_utilcmd.c:2630
+#: parser/parse_utilcmd.c:2603
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
 
-#: parser/parse_utilcmd.c:2821
+#: parser/parse_utilcmd.c:2794
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE especifica un esquema (%s) diferente del que se está creando (%s)"
@@ -11938,22 +12134,22 @@ msgid "poll() failed: %m"
 msgstr "poll() fallida: %m"
 
 #: port/pg_latch.c:423 port/unix_latch.c:423
-#: replication/libpqwalreceiver/libpqwalreceiver.c:356
+#: replication/libpqwalreceiver/libpqwalreceiver.c:363
 #, c-format
 msgid "select() failed: %m"
 msgstr "select() fallida: %m"
 
-#: port/pg_sema.c:111 port/sysv_sema.c:111
+#: port/pg_sema.c:113 port/sysv_sema.c:113
 #, c-format
 msgid "could not create semaphores: %m"
 msgstr "no se pudo crear semáforos: %m"
 
-#: port/pg_sema.c:112 port/sysv_sema.c:112
+#: port/pg_sema.c:114 port/sysv_sema.c:114
 #, c-format
 msgid "Failed system call was semget(%lu, %d, 0%o)."
 msgstr "La llamada a sistema fallida fue semget(%lu, %d, 0%o)."
 
-#: port/pg_sema.c:116 port/sysv_sema.c:116
+#: port/pg_sema.c:118 port/sysv_sema.c:118
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter.\n"
@@ -11963,22 +12159,22 @@ msgstr ""
 "Ocurre cuando se alcanza el límite del sistema del número de semáforos (SEMMNI), o bien cuando se excede el total de semáforos del sistema (SEMMNS).Necesita incrementar el parámetro respectivo del kernel.  Alternativamente, reduzca el consumo de semáforos de PostgreSQL reduciendo el parámetro max_connections.\n"
 "La documentación de PostgreSQL contiene más información acerca de cómo configurar su sistema para PostgreSQL."
 
-#: port/pg_sema.c:143 port/sysv_sema.c:143
+#: port/pg_sema.c:148 port/sysv_sema.c:148
 #, c-format
 msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
 msgstr "Probablemente necesita incrementar el valor SEMVMX del kernel hasta al menos %d.  Examine la documentación de PostgreSQL para obtener más detalles."
 
-#: port/pg_shmem.c:164 port/sysv_shmem.c:164
+#: port/pg_shmem.c:141 port/sysv_shmem.c:141
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "no se pudo crear el segmento de memoria compartida: %m"
 
-#: port/pg_shmem.c:165 port/sysv_shmem.c:165
+#: port/pg_shmem.c:142 port/sysv_shmem.c:142
 #, c-format
-msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
-msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%lu, 0%o)."
+msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
+msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)."
 
-#: port/pg_shmem.c:169 port/sysv_shmem.c:169
+#: port/pg_shmem.c:146 port/sysv_shmem.c:146
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n"
@@ -11987,7 +12183,7 @@ msgstr ""
 "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:176 port/sysv_shmem.c:176
+#: port/pg_shmem.c:153 port/sysv_shmem.c:153
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.\n"
@@ -11996,7 +12192,7 @@ msgstr ""
 "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel.  Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:182 port/sysv_shmem.c:182
+#: port/pg_shmem.c:159 port/sysv_shmem.c:159
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n"
@@ -12005,20 +12201,30 @@ msgstr ""
 "Este error *no* significa que se haya quedado sin espacio en disco.  Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:417 port/sysv_shmem.c:417
+#: port/pg_shmem.c:340 port/sysv_shmem.c:340
+#, c-format
+msgid "huge TLB pages not supported on this platform"
+msgstr "las «huge TLB pages» no están soportadas en esta plataforma"
+
+#: port/pg_shmem.c:390 port/sysv_shmem.c:390
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "no se pudo mapear memoria compartida anónima: %m"
 
-#: port/pg_shmem.c:419 port/sysv_shmem.c:419
+#: port/pg_shmem.c:392 port/sysv_shmem.c:392
+#, c-format
+msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
+msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages.  Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
+
+#: port/pg_shmem.c:439 port/sysv_shmem.c:439 port/win32_shmem.c:136
 #, c-format
-msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
-msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible o el espacio de intercambio (swap).  Para reducir el tamaño de la petición (actualmente %lu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
+msgid "huge pages not supported on this platform"
+msgstr "las huge pages no están soportados en esta plataforma"
 
-#: port/pg_shmem.c:505 port/sysv_shmem.c:505
+#: port/pg_shmem.c:553 port/sysv_shmem.c:553
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
-msgstr "no se pudo verificar el directorio de datos «%s»: %m"
+msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
 
 #: port/win32/crashdump.c:108
 #, c-format
@@ -12095,91 +12301,149 @@ msgstr "no se pudo desbloquear semáforo: código de error %lu"
 msgid "could not try-lock semaphore: error code %lu"
 msgstr "no se pudo intentar-bloquear (try-lock) el semáforo: código de error %lu"
 
-#: port/win32_shmem.c:168 port/win32_shmem.c:203 port/win32_shmem.c:224
+#: port/win32_shmem.c:175 port/win32_shmem.c:210 port/win32_shmem.c:231
 #, c-format
 msgid "could not create shared memory segment: error code %lu"
 msgstr "no se pudo crear el segmento de memoria compartida: código de error %lu"
 
-#: port/win32_shmem.c:169
+#: port/win32_shmem.c:176
 #, c-format
-msgid "Failed system call was CreateFileMapping(size=%lu, name=%s)."
-msgstr "La llamada a sistema fallida fue CreateFileMapping(size=%lu, name=%s)."
+msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
+msgstr "La llamada a sistema fallida fue CreateFileMapping(size=%zu, name=%s)."
 
-#: port/win32_shmem.c:193
+#: port/win32_shmem.c:200
 #, c-format
 msgid "pre-existing shared memory block is still in use"
 msgstr "el bloque de memoria compartida preexistente aún está en uso"
 
-#: port/win32_shmem.c:194
+#: port/win32_shmem.c:201
 #, c-format
 msgid "Check if there are any old server processes still running, and terminate them."
 msgstr "Verifique si hay procesos de servidor antiguos aún en funcionamiento, y termínelos."
 
-#: port/win32_shmem.c:204
+#: port/win32_shmem.c:211
 #, c-format
 msgid "Failed system call was DuplicateHandle."
 msgstr "La llamada a sistema fallida fue DuplicateHandle."
 
-#: port/win32_shmem.c:225
+#: port/win32_shmem.c:232
 #, c-format
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:372
+#: postmaster/autovacuum.c:380
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "no se pudo iniciar el lanzador autovacuum: %m"
 
-#: postmaster/autovacuum.c:417
+#: postmaster/autovacuum.c:425
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "lanzador de autovacuum iniciado"
 
-#: postmaster/autovacuum.c:783
+#: postmaster/autovacuum.c:790
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "apagando lanzador de autovacuum"
 
-#: postmaster/autovacuum.c:1447
+#: postmaster/autovacuum.c:1453
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
 
-#: postmaster/autovacuum.c:1666
+#: postmaster/autovacuum.c:1672
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "autovacuum: procesando la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2060
+#: postmaster/autovacuum.c:2076
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: eliminando la tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2072
+#: postmaster/autovacuum.c:2088
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: se encontró una tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2336
+#: postmaster/autovacuum.c:2353
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "vacuum automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2339
+#: postmaster/autovacuum.c:2356
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "análisis automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2835
+#: postmaster/autovacuum.c:2889
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum no fue iniciado debido a un error de configuración"
 
-#: postmaster/autovacuum.c:2836
+#: postmaster/autovacuum.c:2890
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Active la opción «track_counts»."
 
+#: postmaster/bgworker.c:323 postmaster/bgworker.c:732
+#, c-format
+msgid "registering background worker \"%s\""
+msgstr "registrando el «background worker» «%s»"
+
+#: postmaster/bgworker.c:352
+#, c-format
+msgid "unregistering background worker \"%s\""
+msgstr "des-registrando el «background worker» «%s»"
+
+#: postmaster/bgworker.c:454
+#, c-format
+msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
+msgstr "«background worker» «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
+
+#: postmaster/bgworker.c:463
+#, c-format
+msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
+msgstr "«background worker» «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
+
+#: postmaster/bgworker.c:477
+#, c-format
+msgid "background worker \"%s\": invalid restart interval"
+msgstr "«background worker» «%s»: intervalo de reinicio no válido"
+
+#: postmaster/bgworker.c:522
+#, c-format
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "terminando el «background worker» «%s» debido a una orden del administrador"
+
+#: postmaster/bgworker.c:739
+#, c-format
+msgid "background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr "«background worker» «%s»: debe ser registrado en shared_preload_libraries"
+
+#: postmaster/bgworker.c:751
+#, c-format
+msgid "background worker \"%s\": only dynamic background workers can request notification"
+msgstr "«background worker» «%s»: sólo los «background worker» dinámicos pueden pedir notificaciones"
+
+#: postmaster/bgworker.c:766
+#, c-format
+msgid "too many background workers"
+msgstr "demasiados «background workers»"
+
+#: postmaster/bgworker.c:767
+#, c-format
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural "Up to %d background workers can be registered with the current settings."
+msgstr[0] "Hasta %d «background worker» puede registrarse con la configuración actual."
+msgstr[1] "Hasta %d «background workers» pueden registrarse con la configuración actual."
+
+# FIXME a %s would be nice here
+#: postmaster/bgworker.c:771
+#, c-format
+msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
+msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»."
+
 #: postmaster/checkpointer.c:481
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
@@ -12212,343 +12476,344 @@ msgstr "Vea los mensajes recientes en el registro del servidor para obtener más
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "la cola de peticiones de fsync fue compactada de %d a %d elementos"
 
-#: postmaster/pgarch.c:165
+#: postmaster/pgarch.c:154
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "no se pudo lanzar el proceso archivador: %m"
 
-#: postmaster/pgarch.c:491
+#: postmaster/pgarch.c:481
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "archive_mode activado, pero archive_command no está definido"
 
-#: postmaster/pgarch.c:506
+#: postmaster/pgarch.c:509
 #, c-format
 msgid "archiving transaction log file \"%s\" failed too many times, will try again later"
 msgstr "el archivado del archivo de transacción «%s» falló demasiadas veces, se reintentará nuevamente más tarde"
 
-#: postmaster/pgarch.c:609
+#: postmaster/pgarch.c:612
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "la orden de archivado falló con código de retorno %d"
 
-#: postmaster/pgarch.c:611 postmaster/pgarch.c:621 postmaster/pgarch.c:628
-#: postmaster/pgarch.c:634 postmaster/pgarch.c:643
+#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
+#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La orden fallida era: «%s»"
 
-#: postmaster/pgarch.c:618
+#: postmaster/pgarch.c:621
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: postmaster/pgarch.c:620 postmaster/postmaster.c:3233
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3303
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: postmaster/pgarch.c:625
+#: postmaster/pgarch.c:628
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: postmaster/pgarch.c:632
+#: postmaster/pgarch.c:635
 #, c-format
 msgid "archive command was terminated by signal %d"
 msgstr "la orden de archivado fue terminada por una señal %d"
 
-#: postmaster/pgarch.c:641
+#: postmaster/pgarch.c:644
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "la orden de archivado fue terminada con código no reconocido %d"
 
-#: postmaster/pgarch.c:653
+#: postmaster/pgarch.c:656
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "el archivo de registro «%s» ha sido archivado"
 
-#: postmaster/pgarch.c:702
+#: postmaster/pgarch.c:705
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio de estado de archivado «%s»: %m"
 
-#: postmaster/pgstat.c:346
+#: postmaster/pgstat.c:354
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "no se pudo resolver «localhost»: %s"
 
-#: postmaster/pgstat.c:369
+#: postmaster/pgstat.c:377
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "intentando otra dirección para el recolector de estadísticas"
 
-#: postmaster/pgstat.c:378
+#: postmaster/pgstat.c:386
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "no se pudo crear el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:390
+#: postmaster/pgstat.c:398
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:401
+#: postmaster/pgstat.c:409
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
 
-#: postmaster/pgstat.c:417
+#: postmaster/pgstat.c:425
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:438
+#: postmaster/pgstat.c:446
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "no se pudo enviar el mensaje de prueba al recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:464
+#: postmaster/pgstat.c:472
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() falló en el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:479
+#: postmaster/pgstat.c:487
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
 
-#: postmaster/pgstat.c:494
+#: postmaster/pgstat.c:502
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:504
+#: postmaster/pgstat.c:512
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
 
-#: postmaster/pgstat.c:527
+#: postmaster/pgstat.c:535
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
 
-#: postmaster/pgstat.c:537
+#: postmaster/pgstat.c:545
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "desactivando el recolector de estadísticas por falla del socket"
 
-#: postmaster/pgstat.c:684
+#: postmaster/pgstat.c:692
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:1220 postmaster/pgstat.c:1244 postmaster/pgstat.c:1275
+#: postmaster/pgstat.c:1233 postmaster/pgstat.c:1257 postmaster/pgstat.c:1290
 #, c-format
 msgid "must be superuser to reset statistics counters"
 msgstr "debe ser superusuario para reinicializar los contadores de estadísticas"
 
-#: postmaster/pgstat.c:1251
+#: postmaster/pgstat.c:1266
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "destino de reset no reconocido: «%s»"
 
-#: postmaster/pgstat.c:1252
+#: postmaster/pgstat.c:1267
 #, c-format
-msgid "Target must be \"bgwriter\"."
-msgstr "El destino debe ser «bgwriter»."
+msgid "Target must be \"archiver\" or \"bgwriter\"."
+msgstr "El destino debe ser «archiver» o «bgwriter»."
 
-#: postmaster/pgstat.c:3197
+#: postmaster/pgstat.c:3280
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "no se pudo leer un mensaje de estadísticas: %m"
 
-#: postmaster/pgstat.c:3526 postmaster/pgstat.c:3697
+#: postmaster/pgstat.c:3613 postmaster/pgstat.c:3790
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3588 postmaster/pgstat.c:3742
+#: postmaster/pgstat.c:3681 postmaster/pgstat.c:3835
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3597 postmaster/pgstat.c:3751
+#: postmaster/pgstat.c:3690 postmaster/pgstat.c:3844
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3605 postmaster/pgstat.c:3759
+#: postmaster/pgstat.c:3698 postmaster/pgstat.c:3852
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m"
 
-#: postmaster/pgstat.c:3840 postmaster/pgstat.c:4015 postmaster/pgstat.c:4169
+#: postmaster/pgstat.c:3935 postmaster/pgstat.c:4120 postmaster/pgstat.c:4275
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3852 postmaster/pgstat.c:3862 postmaster/pgstat.c:3883
-#: postmaster/pgstat.c:3898 postmaster/pgstat.c:3956 postmaster/pgstat.c:4027
-#: postmaster/pgstat.c:4047 postmaster/pgstat.c:4065 postmaster/pgstat.c:4081
-#: postmaster/pgstat.c:4099 postmaster/pgstat.c:4115 postmaster/pgstat.c:4181
-#: postmaster/pgstat.c:4193 postmaster/pgstat.c:4218 postmaster/pgstat.c:4240
+#: postmaster/pgstat.c:3947 postmaster/pgstat.c:3957 postmaster/pgstat.c:3967
+#: postmaster/pgstat.c:3988 postmaster/pgstat.c:4003 postmaster/pgstat.c:4061
+#: postmaster/pgstat.c:4132 postmaster/pgstat.c:4152 postmaster/pgstat.c:4170
+#: postmaster/pgstat.c:4186 postmaster/pgstat.c:4204 postmaster/pgstat.c:4220
+#: postmaster/pgstat.c:4287 postmaster/pgstat.c:4299 postmaster/pgstat.c:4311
+#: postmaster/pgstat.c:4336 postmaster/pgstat.c:4358
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "el archivo de estadísticas «%s» está corrupto"
 
-#: postmaster/pgstat.c:4667
+#: postmaster/pgstat.c:4785
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
 
-#: postmaster/postmaster.c:655
+#: postmaster/postmaster.c:650
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: argumento no válido para la opción -f: «%s»\n"
 
-#: postmaster/postmaster.c:741
+#: postmaster/postmaster.c:736
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: argumento no válido para la opción -t: «%s»\n"
 
-#: postmaster/postmaster.c:792
+#: postmaster/postmaster.c:787
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: argumento no válido: «%s»\n"
 
-#: postmaster/postmaster.c:827
+#: postmaster/postmaster.c:822
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: superuser_reserved_connections debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:832
+#: postmaster/postmaster.c:827
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:837
+#: postmaster/postmaster.c:832
 #, c-format
-msgid "WAL archival (archive_mode=on) requires wal_level \"archive\" or \"hot_standby\""
-msgstr "el archivado de WAL (archive_mode=on) requiere wal_level «archive» o «hot_standby»"
+msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+msgstr "el archivado de WAL (archive_mode=on) requiere wal_level «archive» o «hot_standby» o «logical»"
 
-#: postmaster/postmaster.c:840
+#: postmaster/postmaster.c:835
 #, c-format
-msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or \"hot_standby\""
-msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «archive» o «hot_standby»"
+msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «archive» o «hot_standby» o «logical»"
 
-#: postmaster/postmaster.c:848
+#: postmaster/postmaster.c:843
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n"
 
-#: postmaster/postmaster.c:930 postmaster/postmaster.c:1028
-#: utils/init/miscinit.c:1259
+#: postmaster/postmaster.c:925 postmaster/postmaster.c:1023
+#: utils/init/miscinit.c:1188
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: postmaster/postmaster.c:961
+#: postmaster/postmaster.c:956
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "no se pudo crear el socket de escucha para «%s»"
 
-#: postmaster/postmaster.c:967
+#: postmaster/postmaster.c:962
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "no se pudo crear ningún socket TCP/IP"
 
-#: postmaster/postmaster.c:1050
+#: postmaster/postmaster.c:1045
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»"
 
-#: postmaster/postmaster.c:1056
+#: postmaster/postmaster.c:1051
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "no se pudo crear ningún socket de dominio Unix"
 
-#: postmaster/postmaster.c:1068
+#: postmaster/postmaster.c:1063
 #, c-format
 msgid "no socket created for listening"
 msgstr "no se creó el socket de atención"
 
-#: postmaster/postmaster.c:1108
+#: postmaster/postmaster.c:1103
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "no se pudo crear el port E/S de reporte de completitud para la cola de procesos hijos"
 
-#: postmaster/postmaster.c:1137
+#: postmaster/postmaster.c:1132
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n"
 
-#: postmaster/postmaster.c:1141
+#: postmaster/postmaster.c:1136
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: no pudo escribir en el archivo externo de PID «%s»: %s\n"
 
-#: postmaster/postmaster.c:1195
+#: postmaster/postmaster.c:1160
 #, c-format
 msgid "ending log output to stderr"
 msgstr "terminando la salida de registro a stderr"
 
-#: postmaster/postmaster.c:1196
+#: postmaster/postmaster.c:1161
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "La salida futura del registro será enviada al destino de log «%s»."
 
-#: postmaster/postmaster.c:1222 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1187 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "no se pudo cargar pg_hba.conf"
 
-#: postmaster/postmaster.c:1298
+#: postmaster/postmaster.c:1263
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
 
-#: postmaster/postmaster.c:1321 utils/misc/tzparser.c:325
+#: postmaster/postmaster.c:1286 utils/misc/tzparser.c:341
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Esto puede indicar una instalación de PostgreSQL incompleta, o que el archivo «%s» ha sido movido de la ubicación adecuada."
 
-#: postmaster/postmaster.c:1349
+#: postmaster/postmaster.c:1314
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "no existe el directorio de datos «%s»"
 
-#: postmaster/postmaster.c:1354
+#: postmaster/postmaster.c:1319
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: postmaster/postmaster.c:1362
+#: postmaster/postmaster.c:1327
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "el directorio de datos especificado «%s» no es un directorio"
 
-#: postmaster/postmaster.c:1378
+#: postmaster/postmaster.c:1343
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "el directorio de datos «%s» tiene dueño equivocado"
 
-#: postmaster/postmaster.c:1380
+#: postmaster/postmaster.c:1345
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "El servidor debe ser iniciado por el usuario dueño del directorio de datos."
 
-#: postmaster/postmaster.c:1400
+#: postmaster/postmaster.c:1365
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "el directorio de datos «%s» tiene acceso para el grupo u otros"
 
-#: postmaster/postmaster.c:1402
+#: postmaster/postmaster.c:1367
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Los permisos deberían ser u=rwx (0700)."
 
-#: postmaster/postmaster.c:1413
+#: postmaster/postmaster.c:1378
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -12559,441 +12824,404 @@ msgstr ""
 "Se esperaba encontrar en el directorio PGDATA «%s»,\n"
 "pero no se pudo abrir el archivo «%s»: %s\n"
 
-#: postmaster/postmaster.c:1565
+#: postmaster/postmaster.c:1552
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() falló en postmaster: %m"
 
-#: postmaster/postmaster.c:1735 postmaster/postmaster.c:1766
+#: postmaster/postmaster.c:1747 postmaster/postmaster.c:1778
 #, c-format
 msgid "incomplete startup packet"
 msgstr "el paquete de inicio está incompleto"
 
-#: postmaster/postmaster.c:1747
+#: postmaster/postmaster.c:1759
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "el de paquete de inicio tiene largo incorrecto"
 
-#: postmaster/postmaster.c:1804
+#: postmaster/postmaster.c:1816
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
 
-#: postmaster/postmaster.c:1833
+#: postmaster/postmaster.c:1845
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
 
-#: postmaster/postmaster.c:1884
+#: postmaster/postmaster.c:1908
+#, c-format
+msgid "invalid value for parameter \"replication\""
+msgstr "valor no válido para la opción «replication»"
+
+#: postmaster/postmaster.c:1909
 #, c-format
-msgid "invalid value for boolean option \"replication\""
-msgstr "valor no válido para la opción booleana «replication»"
+msgid "Valid values are: false, 0, true, 1, database."
+msgstr "Los valores válidos son: false, 0, true, 1, database."
 
-#: postmaster/postmaster.c:1904
+#: postmaster/postmaster.c:1929
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte"
 
-#: postmaster/postmaster.c:1932
+#: postmaster/postmaster.c:1957
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "no se especifica un nombre de usuario en el paquete de inicio"
 
-#: postmaster/postmaster.c:1989
+#: postmaster/postmaster.c:2016
 #, c-format
 msgid "the database system is starting up"
 msgstr "el sistema de base de datos está iniciándose"
 
-#: postmaster/postmaster.c:1994
+#: postmaster/postmaster.c:2021
 #, c-format
 msgid "the database system is shutting down"
 msgstr "el sistema de base de datos está apagándose"
 
-#: postmaster/postmaster.c:1999
+#: postmaster/postmaster.c:2026
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "el sistema de base de datos está en modo de recuperación"
 
-#: postmaster/postmaster.c:2004 storage/ipc/procarray.c:278
-#: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:339
+#: postmaster/postmaster.c:2031 storage/ipc/procarray.c:286
+#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "lo siento, ya tenemos demasiados clientes"
 
-#: postmaster/postmaster.c:2066
+#: postmaster/postmaster.c:2093
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
 
-#: postmaster/postmaster.c:2074
+#: postmaster/postmaster.c:2101
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso"
 
-#: postmaster/postmaster.c:2294
+#: postmaster/postmaster.c:2321
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "se recibió SIGHUP, releyendo el archivo de configuración"
 
-#: postmaster/postmaster.c:2320
+#: postmaster/postmaster.c:2347
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf no ha sido recargado"
 
-#: postmaster/postmaster.c:2324
+#: postmaster/postmaster.c:2351
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf no ha sido recargado"
 
-#: postmaster/postmaster.c:2365
+#: postmaster/postmaster.c:2392
 #, c-format
 msgid "received smart shutdown request"
 msgstr "se recibió petición de apagado inteligente"
 
-#: postmaster/postmaster.c:2418
+#: postmaster/postmaster.c:2445
 #, c-format
 msgid "received fast shutdown request"
 msgstr "se recibió petición de apagado rápido"
 
-#: postmaster/postmaster.c:2444
+#: postmaster/postmaster.c:2471
 #, c-format
 msgid "aborting any active transactions"
 msgstr "abortando transacciones activas"
 
-#: postmaster/postmaster.c:2474
+#: postmaster/postmaster.c:2505
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "se recibió petición de apagado inmediato"
 
-#: postmaster/postmaster.c:2545 postmaster/postmaster.c:2566
+#: postmaster/postmaster.c:2569 postmaster/postmaster.c:2590
 msgid "startup process"
 msgstr "proceso de inicio"
 
-#: postmaster/postmaster.c:2548
+#: postmaster/postmaster.c:2572
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
 
-#: postmaster/postmaster.c:2605
+#: postmaster/postmaster.c:2630
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones"
 
-#: postmaster/postmaster.c:2620
+#: postmaster/postmaster.c:2645
 msgid "background writer process"
 msgstr "proceso background writer"
 
-#: postmaster/postmaster.c:2674
+#: postmaster/postmaster.c:2699
 msgid "checkpointer process"
 msgstr "proceso checkpointer"
 
-#: postmaster/postmaster.c:2690
+#: postmaster/postmaster.c:2715
 msgid "WAL writer process"
 msgstr "proceso escritor de WAL"
 
-#: postmaster/postmaster.c:2704
+#: postmaster/postmaster.c:2729
 msgid "WAL receiver process"
 msgstr "proceso receptor de WAL"
 
-#: postmaster/postmaster.c:2719
+#: postmaster/postmaster.c:2744
 msgid "autovacuum launcher process"
 msgstr "proceso lanzador de autovacuum"
 
-#: postmaster/postmaster.c:2734
+#: postmaster/postmaster.c:2759
 msgid "archiver process"
 msgstr "proceso de archivado"
 
-#: postmaster/postmaster.c:2750
+#: postmaster/postmaster.c:2775
 msgid "statistics collector process"
 msgstr "recolector de estadísticas"
 
-#: postmaster/postmaster.c:2764
+#: postmaster/postmaster.c:2789
 msgid "system logger process"
 msgstr "proceso de log"
 
-#: postmaster/postmaster.c:2826
+#: postmaster/postmaster.c:2851
 msgid "worker process"
 msgstr "proceso «background worker»"
 
-#: postmaster/postmaster.c:2896 postmaster/postmaster.c:2915
-#: postmaster/postmaster.c:2922 postmaster/postmaster.c:2940
+#: postmaster/postmaster.c:2937 postmaster/postmaster.c:2957
+#: postmaster/postmaster.c:2964 postmaster/postmaster.c:2982
 msgid "server process"
 msgstr "proceso de servidor"
 
-#: postmaster/postmaster.c:2976
+#: postmaster/postmaster.c:3036
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "terminando todos los otros procesos de servidor activos"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3221
+#: postmaster/postmaster.c:3291
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) terminó con código de salida %d"
 
-#: postmaster/postmaster.c:3223 postmaster/postmaster.c:3234
-#: postmaster/postmaster.c:3245 postmaster/postmaster.c:3254
-#: postmaster/postmaster.c:3264
+#: postmaster/postmaster.c:3293 postmaster/postmaster.c:3304
+#: postmaster/postmaster.c:3315 postmaster/postmaster.c:3324
+#: postmaster/postmaster.c:3334
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "El proceso que falló estaba ejecutando: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3231
+#: postmaster/postmaster.c:3301
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3241
+#: postmaster/postmaster.c:3311
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) fue terminado por una señal %d: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3252
+#: postmaster/postmaster.c:3322
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) fue terminado por una señal %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3262
+#: postmaster/postmaster.c:3332
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) terminó con código no reconocido %d"
 
-#: postmaster/postmaster.c:3447
+#: postmaster/postmaster.c:3520
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "apagado anormal del sistema de bases de datos"
 
-#: postmaster/postmaster.c:3486
+#: postmaster/postmaster.c:3559
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "todos los procesos fueron terminados; reinicializando"
 
-#: postmaster/postmaster.c:3702
+#: postmaster/postmaster.c:3811
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
 
-#: postmaster/postmaster.c:3744
+#: postmaster/postmaster.c:3853
 msgid "could not fork new process for connection: "
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
 
-#: postmaster/postmaster.c:3851
+#: postmaster/postmaster.c:3960
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "conexión recibida: host=%s port=%s"
 
-#: postmaster/postmaster.c:3856
+#: postmaster/postmaster.c:3965
 #, c-format
 msgid "connection received: host=%s"
 msgstr "conexión recibida: host=%s"
 
-#: postmaster/postmaster.c:4131
+#: postmaster/postmaster.c:4255
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
 
-#: postmaster/postmaster.c:4670
+#: postmaster/postmaster.c:4804
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura"
 
-#: postmaster/postmaster.c:4981
+#: postmaster/postmaster.c:5117
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "no se pudo lanzar el proceso de inicio: %m"
 
-#: postmaster/postmaster.c:4985
+#: postmaster/postmaster.c:5121
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "no se pudo lanzar el background writer: %m"
 
-#: postmaster/postmaster.c:4989
+#: postmaster/postmaster.c:5125
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "no se pudo lanzar el checkpointer: %m"
 
-#: postmaster/postmaster.c:4993
+#: postmaster/postmaster.c:5129
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
 
-#: postmaster/postmaster.c:4997
+#: postmaster/postmaster.c:5133
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
 
-#: postmaster/postmaster.c:5001
+#: postmaster/postmaster.c:5137
 #, c-format
 msgid "could not fork process: %m"
 msgstr "no se pudo lanzar el proceso: %m"
 
-#: postmaster/postmaster.c:5180
-#, c-format
-msgid "registering background worker \"%s\""
-msgstr "registrando el «background worker» «%s»"
-
-#: postmaster/postmaster.c:5187
-#, c-format
-msgid "background worker \"%s\": must be registered in shared_preload_libraries"
-msgstr "«background worker» «%s»: debe ser registrado en shared_preload_libraries"
-
-#: postmaster/postmaster.c:5200
-#, c-format
-msgid "background worker \"%s\": must attach to shared memory in order to be able to request a database connection"
-msgstr "«background worker» «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
-
-#: postmaster/postmaster.c:5210
-#, c-format
-msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
-msgstr "«background worker» «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
-
-#: postmaster/postmaster.c:5225
-#, c-format
-msgid "background worker \"%s\": invalid restart interval"
-msgstr "«background worker» «%s»: intervalo de reinicio no válido"
-
-#: postmaster/postmaster.c:5241
-#, c-format
-msgid "too many background workers"
-msgstr "demasiados «background workers»"
-
-#: postmaster/postmaster.c:5242
-#, c-format
-msgid "Up to %d background worker can be registered with the current settings."
-msgid_plural "Up to %d background workers can be registered with the current settings."
-msgstr[0] "Hasta %d «background worker» puede registrarse con la configuración actual."
-msgstr[1] "Hasta %d «background workers» pueden registrarse con la configuración actual."
-
-#: postmaster/postmaster.c:5285
+#: postmaster/postmaster.c:5299
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro"
 
-#: postmaster/postmaster.c:5292
+#: postmaster/postmaster.c:5306
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "modo de procesamiento no válido en «background worker»"
 
-#: postmaster/postmaster.c:5366
-#, c-format
-msgid "terminating background worker \"%s\" due to administrator command"
-msgstr "terminando el «background worker» «%s» debido a una orden del administrador"
-
-#: postmaster/postmaster.c:5583
+#: postmaster/postmaster.c:5358
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "iniciando el proceso «background worker» «%s»"
 
-#: postmaster/postmaster.c:5594
+#: postmaster/postmaster.c:5369
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "no se pudo lanzar el proceso «background worker»: %m"
 
-#: postmaster/postmaster.c:5946
+#: postmaster/postmaster.c:5758
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d"
 
-#: postmaster/postmaster.c:5978
+#: postmaster/postmaster.c:5790
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "no se pudo crear el socket heradado: código de error %d\n"
 
-#: postmaster/postmaster.c:6007 postmaster/postmaster.c:6014
+#: postmaster/postmaster.c:5819 postmaster/postmaster.c:5826
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
 
-#: postmaster/postmaster.c:6023
+#: postmaster/postmaster.c:5835
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "no se pudo eliminar el archivo «%s»: %s\n"
 
-#: postmaster/postmaster.c:6040
+#: postmaster/postmaster.c:5852
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:6049
+#: postmaster/postmaster.c:5861
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:6056
+#: postmaster/postmaster.c:5868
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
 
-#: postmaster/postmaster.c:6212
+#: postmaster/postmaster.c:6027
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "no se pudo leer el código de salida del proceso\n"
 
-#: postmaster/postmaster.c:6217
+#: postmaster/postmaster.c:6032
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
 
-#: postmaster/syslogger.c:468 postmaster/syslogger.c:1067
+#: postmaster/syslogger.c:463 postmaster/syslogger.c:1064
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "no se pudo leer desde la tubería de log: %m"
 
-#: postmaster/syslogger.c:517
+#: postmaster/syslogger.c:512
 #, c-format
 msgid "logger shutting down"
 msgstr "apagando proceso de log"
 
-#: postmaster/syslogger.c:561 postmaster/syslogger.c:575
+#: postmaster/syslogger.c:556 postmaster/syslogger.c:570
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "no se pudo crear la tubería para syslog: %m"
 
-#: postmaster/syslogger.c:611
+#: postmaster/syslogger.c:606
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "no se pudo crear el proceso de log: %m"
 
-#: postmaster/syslogger.c:647
+#: postmaster/syslogger.c:643
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "redirigiendo la salida del registro al proceso recolector de registro"
 
-#: postmaster/syslogger.c:648
+#: postmaster/syslogger.c:644
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "La salida futura del registro aparecerá en el directorio «%s»."
 
-#: postmaster/syslogger.c:656
+#: postmaster/syslogger.c:652
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "no se pudo redirigir stdout: %m"
 
-#: postmaster/syslogger.c:661 postmaster/syslogger.c:677
+#: postmaster/syslogger.c:657 postmaster/syslogger.c:674
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "no se pudo redirigir stderr: %m"
 
-#: postmaster/syslogger.c:1022
+#: postmaster/syslogger.c:1019
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "no se pudo escribir al archivo de log: %s\n"
 
-#: postmaster/syslogger.c:1162
+#: postmaster/syslogger.c:1159
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: postmaster/syslogger.c:1224 postmaster/syslogger.c:1268
+#: postmaster/syslogger.c:1221 postmaster/syslogger.c:1265
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
@@ -13003,188 +13231,446 @@ msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
 msgid "could not determine which collation to use for regular expression"
 msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular"
 
-#: repl_gram.y:183 repl_gram.y:200
-#, c-format
-msgid "invalid timeline %u"
-msgstr "timeline %u no válido"
-
-#: repl_scanner.l:94
-msgid "invalid streaming start location"
-msgstr "posición de inicio de flujo de WAL no válida"
-
-#: repl_scanner.l:116 scan.l:657
-msgid "unterminated quoted string"
-msgstr "una cadena de caracteres entre comillas está inconclusa"
-
-#: repl_scanner.l:126
-#, c-format
-msgid "syntax error: unexpected character \"%s\""
-msgstr "error de sintaxis: carácter «%s» inesperado"
-
-#: replication/basebackup.c:135 replication/basebackup.c:901
-#: utils/adt/misc.c:360
+#: replication/basebackup.c:184 replication/basebackup.c:1044
+#: utils/adt/misc.c:353
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: replication/basebackup.c:142 replication/basebackup.c:905
-#: utils/adt/misc.c:364
+#: replication/basebackup.c:191 replication/basebackup.c:1048
+#: utils/adt/misc.c:357
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: replication/basebackup.c:200
+#: replication/basebackup.c:284
 #, c-format
 msgid "could not stat control file \"%s\": %m"
-msgstr "no se pudo hacer stat del archivo de control «%s»: %m"
+msgstr "no se pudo hacer stat al archivo de control «%s»: %m"
 
-#: replication/basebackup.c:312
+#: replication/basebackup.c:396
 #, c-format
 msgid "could not find any WAL files"
 msgstr "no se pudo encontrar ningún archivo de WAL"
 
-#: replication/basebackup.c:325 replication/basebackup.c:339
-#: replication/basebackup.c:348
+#: replication/basebackup.c:409 replication/basebackup.c:423
+#: replication/basebackup.c:432
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: replication/basebackup.c:387 replication/basebackup.c:410
+#: replication/basebackup.c:471 replication/basebackup.c:496
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: replication/basebackup.c:398 replication/basebackup.c:1019
+#: replication/basebackup.c:482 replication/basebackup.c:1186
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
 
-#: replication/basebackup.c:482 replication/basebackup.c:491
-#: replication/basebackup.c:500 replication/basebackup.c:509
-#: replication/basebackup.c:518
+#: replication/basebackup.c:569 replication/basebackup.c:578
+#: replication/basebackup.c:587 replication/basebackup.c:596
+#: replication/basebackup.c:605 replication/basebackup.c:616
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "nombre de opción «%s» duplicada"
 
-#: replication/basebackup.c:771 replication/basebackup.c:855
+#: replication/basebackup.c:622 utils/misc/guc.c:5409
+#, c-format
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d está fuera del rango aceptable para el parámetro «%s» (%d .. %d)"
+
+#: replication/basebackup.c:879 replication/basebackup.c:972
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: replication/basebackup.c:955
+#: replication/basebackup.c:1122
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "ignorando el archivo especial «%s»"
 
-#: replication/basebackup.c:1009
+#: replication/basebackup.c:1176
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "el miembro de archivador «%s» es demasiado grande para el formato tar"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:105
+#: replication/libpqwalreceiver/libpqwalreceiver.c:106
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "no se pudo hacer la conexión al servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:129
+#: replication/libpqwalreceiver/libpqwalreceiver.c:130
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:140
-#: replication/libpqwalreceiver/libpqwalreceiver.c:287
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:294
 #, c-format
 msgid "invalid response from primary server"
 msgstr "respuesta no válida del servidor primario"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:142
 #, c-format
-msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
-msgstr "Se esperaba 1 tupla con 3 campos, se obtuvieron %d tuplas con %d campos."
+msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
+msgstr "No se pudo identificar el sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:156
+#: replication/libpqwalreceiver/libpqwalreceiver.c:158
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "el identificador de sistema difiere entre el primario y el standby"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:157
+#: replication/libpqwalreceiver/libpqwalreceiver.c:159
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "El identificador del primario es %s, el identificador del standby es %s."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:194
+#: replication/libpqwalreceiver/libpqwalreceiver.c:201
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "no se pudo iniciar el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:212
+#: replication/libpqwalreceiver/libpqwalreceiver.c:219
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:234
+#: replication/libpqwalreceiver/libpqwalreceiver.c:241
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "conjunto de resultados inesperado después del fin-de-flujo"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:246
+#: replication/libpqwalreceiver/libpqwalreceiver.c:253
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:253
+#: replication/libpqwalreceiver/libpqwalreceiver.c:260
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "resultado inesperado después de CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:276
+#: replication/libpqwalreceiver/libpqwalreceiver.c:283
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:288
+#: replication/libpqwalreceiver/libpqwalreceiver.c:295
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:316
+#: replication/libpqwalreceiver/libpqwalreceiver.c:323
 #, c-format
 msgid "socket not open"
 msgstr "el socket no está abierto"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:489
-#: replication/libpqwalreceiver/libpqwalreceiver.c:512
-#: replication/libpqwalreceiver/libpqwalreceiver.c:518
+#: replication/libpqwalreceiver/libpqwalreceiver.c:496
+#: replication/libpqwalreceiver/libpqwalreceiver.c:519
+#: replication/libpqwalreceiver/libpqwalreceiver.c:525
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:537
+#: replication/libpqwalreceiver/libpqwalreceiver.c:544
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "no se pudo enviar datos al flujo de WAL: %s"
 
-#: replication/syncrep.c:207
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/logical/logical.c:81
 #, c-format
-msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
-msgstr "cancelando la espera para la replicación sincrónica y terminando la conexión debido a una orden del administrador"
+msgid "logical decoding requires wal_level >= logical"
+msgstr "la decodificación lógica requiere wal_level >= logical"
 
-#: replication/syncrep.c:208 replication/syncrep.c:225
+#: replication/logical/logical.c:86
+#, c-format
+msgid "logical decoding requires a database connection"
+msgstr "decodificación lógica requiere una conexión a una base de datos"
+
+#: replication/logical/logical.c:104
+#, c-format
+msgid "logical decoding cannot be used while in recovery"
+msgstr "la decodificación lógica no puede ejecutarse durante la recuperación"
+
+#: replication/logical/logical.c:230 replication/logical/logical.c:381
+#, c-format
+msgid "cannot use physical replication slot for logical decoding"
+msgstr "no se puede usar un slot de replicación física para decodificación lógica"
+
+#: replication/logical/logical.c:235 replication/logical/logical.c:386
+#, c-format
+msgid "replication slot \"%s\" was not created in this database"
+msgstr "el slot de replicación «%s» no fue creado en esta base de datos"
+
+#: replication/logical/logical.c:242
+#, c-format
+msgid "cannot create logical replication slot in transaction that has performed writes"
+msgstr "no se puede crear un slot de replicación lógica en una transacción que ha efectuado escrituras"
+
+#: replication/logical/logical.c:422
+#, c-format
+msgid "starting logical decoding for slot \"%s\""
+msgstr "iniciando la decodificación lógica para el slot «%s»"
+
+#: replication/logical/logical.c:424
+#, c-format
+msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
+msgstr "enviando flujo de transacciones comprometidas después de %X/%X, leyendo WAL de %X/%X"
+
+#: replication/logical/logical.c:559
+#, c-format
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%X"
+
+# FIXME must quote callback name?  Need a translator: comment?
+#: replication/logical/logical.c:566
+#, c-format
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s"
+
+#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2123
+#, c-format
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "no se pudo leer desde el segmento %s, posición %u, largo %lu: %m"
+
+#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
+#, c-format
+msgid "must be superuser or replication role to use replication slots"
+msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
+
+#: replication/logical/logicalfuncs.c:339
+#, c-format
+msgid "array must be one-dimensional"
+msgstr "el array debe ser unidimensional"
+
+#: replication/logical/logicalfuncs.c:345
+#, c-format
+msgid "array must not contain nulls"
+msgstr "el array no debe contener nulls"
+
+#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2198
+#, c-format
+msgid "array must have even number of elements"
+msgstr "el array debe tener un número par de elementos"
+
+#: replication/logical/logicalfuncs.c:404
+#, c-format
+msgid "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
+msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales"
+
+#: replication/logical/reorderbuffer.c:2100
+#, c-format
+msgid "could not write to data file for XID %u: %m"
+msgstr "no se pudo escribir al archivo de datos para el XID %u: %m"
+
+#: replication/logical/reorderbuffer.c:2196
+#: replication/logical/reorderbuffer.c:2216
+#, c-format
+msgid "could not read from reorderbuffer spill file: %m"
+msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m"
+
+#: replication/logical/reorderbuffer.c:2200
+#: replication/logical/reorderbuffer.c:2220
+#, c-format
+msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
+msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes"
+
+# FIXME almost duplicated again!?
+#: replication/logical/reorderbuffer.c:2826
+#, c-format
+msgid "could not read from file \"%s\": read %d instead of %d bytes"
+msgstr "no se pudo leer del archivo «%s»: se leyeron %d en lugar de %d bytes"
+
+# FIXME: snapshot? instantánea?
+#: replication/logical/snapbuild.c:601
+#, c-format
+msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
+msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
+msgstr[0] "se exportó un snapshot de decodificación lógica: «%s» con %u ID de transacción"
+msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs de transacción"
+
+#: replication/logical/snapbuild.c:904 replication/logical/snapbuild.c:1269
+#: replication/logical/snapbuild.c:1800
+#, c-format
+msgid "logical decoding found consistent point at %X/%X"
+msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
+
+#: replication/logical/snapbuild.c:906
+#, c-format
+msgid "Transaction ID %u finished; no more running transactions."
+msgstr "La transacción de ID %u terminó: no hay más transacciones en ejecución."
+
+#: replication/logical/snapbuild.c:1271