Translation updates
authorPeter Eisentraut <[email protected]>
Mon, 5 Aug 2024 10:12:32 +0000 (12:12 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 5 Aug 2024 10:12:32 +0000 (12:12 +0200)
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: f1fa38f3bf3e0a5d3a95304dcf6a11acf304577c

103 files changed:
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/ja.po
src/backend/po/pt_BR.po
src/backend/po/sv.po
src/bin/initdb/po/es.po
src/bin/initdb/po/fr.po
src/bin/initdb/po/pt_BR.po
src/bin/initdb/po/sv.po
src/bin/initdb/po/zh_CN.po
src/bin/pg_amcheck/po/es.po
src/bin/pg_amcheck/po/fr.po
src/bin/pg_amcheck/po/sv.po
src/bin/pg_archivecleanup/po/es.po
src/bin/pg_archivecleanup/po/fr.po
src/bin/pg_archivecleanup/po/ka.po
src/bin/pg_archivecleanup/po/sv.po
src/bin/pg_archivecleanup/po/zh_CN.po
src/bin/pg_basebackup/po/de.po
src/bin/pg_basebackup/po/ja.po
src/bin/pg_basebackup/po/ka.po
src/bin/pg_basebackup/po/sv.po
src/bin/pg_checksums/po/es.po
src/bin/pg_checksums/po/fr.po
src/bin/pg_checksums/po/ka.po
src/bin/pg_checksums/po/sv.po
src/bin/pg_combinebackup/po/LINGUAS
src/bin/pg_combinebackup/po/de.po
src/bin/pg_combinebackup/po/es.po [new file with mode: 0644]
src/bin/pg_combinebackup/po/ja.po
src/bin/pg_combinebackup/po/ka.po
src/bin/pg_combinebackup/po/sv.po [new file with mode: 0644]
src/bin/pg_config/po/es.po
src/bin/pg_config/po/fr.po
src/bin/pg_config/po/ka.po
src/bin/pg_config/po/sv.po
src/bin/pg_controldata/po/es.po
src/bin/pg_controldata/po/fr.po
src/bin/pg_controldata/po/ka.po
src/bin/pg_controldata/po/sv.po
src/bin/pg_controldata/po/zh_TW.po
src/bin/pg_ctl/po/es.po
src/bin/pg_ctl/po/ja.po
src/bin/pg_ctl/po/ka.po
src/bin/pg_ctl/po/sv.po
src/bin/pg_dump/po/es.po
src/bin/pg_dump/po/ka.po
src/bin/pg_dump/po/sv.po
src/bin/pg_resetwal/po/es.po
src/bin/pg_resetwal/po/ka.po
src/bin/pg_resetwal/po/sv.po
src/bin/pg_rewind/po/es.po
src/bin/pg_rewind/po/sv.po
src/bin/pg_test_fsync/po/es.po
src/bin/pg_test_fsync/po/ka.po
src/bin/pg_test_fsync/po/sv.po
src/bin/pg_test_timing/po/es.po
src/bin/pg_test_timing/po/ka.po
src/bin/pg_test_timing/po/sv.po
src/bin/pg_upgrade/po/es.po
src/bin/pg_upgrade/po/sv.po
src/bin/pg_verifybackup/po/es.po
src/bin/pg_verifybackup/po/ka.po
src/bin/pg_verifybackup/po/sv.po
src/bin/pg_waldump/po/es.po
src/bin/pg_waldump/po/ka.po
src/bin/pg_waldump/po/sv.po
src/bin/pg_walsummary/po/LINGUAS
src/bin/pg_walsummary/po/es.po [new file with mode: 0644]
src/bin/pg_walsummary/po/ka.po
src/bin/pg_walsummary/po/sv.po [new file with mode: 0644]
src/bin/psql/po/cs.po
src/bin/psql/po/el.po
src/bin/psql/po/es.po
src/bin/psql/po/it.po
src/bin/psql/po/ja.po
src/bin/psql/po/ru.po
src/bin/psql/po/sv.po
src/bin/psql/po/uk.po
src/bin/scripts/po/es.po
src/bin/scripts/po/fr.po
src/bin/scripts/po/ko.po
src/bin/scripts/po/pt_BR.po
src/bin/scripts/po/sv.po
src/bin/scripts/po/zh_CN.po
src/interfaces/ecpg/ecpglib/po/es.po
src/interfaces/ecpg/ecpglib/po/sv.po
src/interfaces/ecpg/preproc/po/es.po
src/interfaces/ecpg/preproc/po/fr.po
src/interfaces/ecpg/preproc/po/ja.po
src/interfaces/ecpg/preproc/po/sv.po
src/interfaces/libpq/po/es.po
src/interfaces/libpq/po/fr.po
src/interfaces/libpq/po/sv.po
src/pl/plperl/po/es.po
src/pl/plperl/po/sv.po
src/pl/plpgsql/src/po/es.po
src/pl/plpgsql/src/po/sv.po
src/pl/plpython/po/es.po
src/pl/plpython/po/sv.po
src/pl/tcl/po/es.po
src/pl/tcl/po/ja.po
src/pl/tcl/po/sv.po

index 19f1a2abea04c94d53da7e53ebb09aa0ccf9a872..9a07173db2a68ef1646ef76e3b53b75f4f021ef7 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2024-06-22 13:41+0000\n"
-"PO-Revision-Date: 2024-06-24 00:19+0200\n"
+"POT-Creation-Date: 2024-08-02 09:11+0000\n"
+"PO-Revision-Date: 2024-08-02 11:26+0200\n"
 "Last-Translator: Peter Eisentraut <[email protected]>\n"
 "Language-Team: German <[email protected]>\n"
 "Language: de\n"
@@ -89,14 +89,14 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
 
 #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1369 access/transam/xlog.c:3471
-#: access/transam/xlog.c:4335 access/transam/xlogrecovery.c:1238
+#: access/transam/twophase.c:1369 access/transam/xlog.c:3476
+#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238
 #: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373
 #: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123
 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764
 #: replication/logical/origin.c:745 replication/logical/origin.c:781
 #: replication/logical/reorderbuffer.c:5084
-#: replication/logical/snapbuild.c:2035 replication/slot.c:2236
+#: replication/logical/snapbuild.c:2052 replication/slot.c:2236
 #: replication/slot.c:2277 replication/walsender.c:655
 #: storage/file/buffile.c:470 storage/file/copydir.c:185
 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829
@@ -105,9 +105,9 @@ msgid "could not read file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht lesen: %m"
 
 #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119
-#: access/transam/xlog.c:3476 access/transam/xlog.c:4340
+#: access/transam/xlog.c:3481 access/transam/xlog.c:4345
 #: replication/logical/origin.c:750 replication/logical/origin.c:789
-#: replication/logical/snapbuild.c:2040 replication/slot.c:2240
+#: replication/logical/snapbuild.c:2057 replication/slot.c:2240
 #: replication/slot.c:2281 replication/walsender.c:660
 #: utils/cache/relmapper.c:833
 #, c-format
@@ -119,14 +119,14 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
 #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
 #: access/transam/timeline.c:512 access/transam/twophase.c:1381
-#: access/transam/twophase.c:1793 access/transam/xlog.c:3317
-#: access/transam/xlog.c:3511 access/transam/xlog.c:3516
-#: access/transam/xlog.c:3652 access/transam/xlog.c:4305
-#: access/transam/xlog.c:5239 commands/copyfrom.c:1797 commands/copyto.c:325
+#: access/transam/twophase.c:1793 access/transam/xlog.c:3322
+#: access/transam/xlog.c:3516 access/transam/xlog.c:3521
+#: access/transam/xlog.c:3657 access/transam/xlog.c:4310
+#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 commands/copyto.c:325
 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540
 #: replication/logical/origin.c:683 replication/logical/origin.c:822
 #: replication/logical/reorderbuffer.c:5136
-#: replication/logical/snapbuild.c:1802 replication/logical/snapbuild.c:1926
+#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943
 #: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670
 #: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828
 #: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841
@@ -158,9 +158,9 @@ msgstr ""
 #: ../common/file_utils.c:406 ../common/file_utils.c:480
 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111
 #: access/transam/timeline.c:251 access/transam/timeline.c:348
-#: access/transam/twophase.c:1325 access/transam/xlog.c:3224
-#: access/transam/xlog.c:3387 access/transam/xlog.c:3426
-#: access/transam/xlog.c:3619 access/transam/xlog.c:4325
+#: access/transam/twophase.c:1325 access/transam/xlog.c:3229
+#: access/transam/xlog.c:3392 access/transam/xlog.c:3431
+#: access/transam/xlog.c:3624 access/transam/xlog.c:4330
 #: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366
 #: access/transam/xlogutils.c:836 backup/basebackup.c:547
 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624
@@ -168,12 +168,12 @@ msgstr ""
 #: replication/logical/reorderbuffer.c:3737
 #: replication/logical/reorderbuffer.c:4291
 #: replication/logical/reorderbuffer.c:5064
-#: replication/logical/snapbuild.c:1757 replication/logical/snapbuild.c:1867
+#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884
 #: replication/slot.c:2208 replication/walsender.c:628
 #: replication/walsender.c:3051 storage/file/copydir.c:151
 #: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740
 #: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818
-#: utils/cache/relmapper.c:935 utils/error/elog.c:2091
+#: utils/cache/relmapper.c:935 utils/error/elog.c:2107
 #: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660
 #: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777
 #, c-format
@@ -182,7 +182,7 @@ msgstr "konnte Datei »%s« nicht öffnen: %m"
 
 #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249
 #: access/transam/twophase.c:1766 access/transam/twophase.c:1775
-#: access/transam/xlog.c:9210 access/transam/xlogfuncs.c:698
+#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698
 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266
 #: backup/walsummary.c:304 postmaster/postmaster.c:4125
 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535
@@ -196,10 +196,10 @@ msgstr "konnte Datei »%s« nicht schreiben: %m"
 #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135
 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432
 #: access/transam/timeline.c:506 access/transam/twophase.c:1787
-#: access/transam/xlog.c:3310 access/transam/xlog.c:3505
-#: access/transam/xlog.c:4298 access/transam/xlog.c:8585
-#: access/transam/xlog.c:8630 backup/basebackup_server.c:207
-#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1795
+#: access/transam/xlog.c:3315 access/transam/xlog.c:3510
+#: access/transam/xlog.c:4303 access/transam/xlog.c:8630
+#: access/transam/xlog.c:8675 backup/basebackup_server.c:207
+#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812
 #: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820
 #: storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374
 #: storage/sync/sync.c:446 utils/misc/guc.c:4480
@@ -219,13 +219,13 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m"
 #: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524
 #: postmaster/bgworker.c:355 postmaster/bgworker.c:945
 #: postmaster/postmaster.c:3559 postmaster/postmaster.c:4019
-#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:820
+#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933
 #: replication/libpqwalreceiver/libpqwalreceiver.c:387
-#: replication/logical/logical.c:209 replication/walsender.c:835
+#: replication/logical/logical.c:210 replication/walsender.c:835
 #: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443
-#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1453
-#: storage/ipc/procarray.c:2207 storage/ipc/procarray.c:2214
-#: storage/ipc/procarray.c:2719 storage/ipc/procarray.c:3423
+#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465
+#: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226
+#: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435
 #: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873
 #: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:509
 #: utils/adt/pg_locale.c:673 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516
@@ -325,7 +325,7 @@ msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m"
 #: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1747
 #: commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804
 #: commands/tablespace.c:893 postmaster/pgarch.c:680
-#: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:2156
+#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173
 #: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564
 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337
 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340
@@ -355,7 +355,7 @@ msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
 
 #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389
 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559
-#: replication/logical/snapbuild.c:1814 replication/slot.c:936
+#: replication/logical/snapbuild.c:1831 replication/slot.c:936
 #: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838
 #: utils/time/snapmgr.c:1255
 #, c-format
@@ -712,7 +712,7 @@ msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu"
 #: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048
 #: postmaster/syslogger.c:1488 replication/logical/origin.c:591
 #: replication/logical/reorderbuffer.c:4560
-#: replication/logical/snapbuild.c:1695 replication/logical/snapbuild.c:2129
+#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146
 #: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378
 #: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343
 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243
@@ -1054,7 +1054,7 @@ msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)"
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu"
 
-#: access/common/printtup.c:291 commands/explain.c:5375 tcop/fastpath.c:107
+#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107
 #: tcop/fastpath.c:454 tcop/postgres.c:1940
 #, c-format
 msgid "unsupported format code: %d"
@@ -1193,8 +1193,8 @@ msgstr "alte GIN-Indexe unterstützen keine Scans des ganzen Index oder Suchen n
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus."
 
-#: access/gin/ginutil.c:147 executor/execExpr.c:2191
-#: utils/adt/arrayfuncs.c:4009 utils/adt/arrayfuncs.c:6705
+#: access/gin/ginutil.c:147 executor/execExpr.c:2192
+#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712
 #: utils/adt/rowtypes.c:974
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -1273,19 +1273,19 @@ msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält nicht unterstüt
 msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s"
 msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER-BY-Operatorfamilienangabe für Operator %s"
 
-#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:331
-#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1063
+#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333
+#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge nicht bestimmen"
 
-#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:332 catalog/heap.c:672
-#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:510
-#: commands/indexcmds.c:2045 commands/tablecmds.c:18071 commands/view.c:81
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672
+#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508
+#: commands/indexcmds.c:2047 commands/tablecmds.c:18083 commands/view.c:81
 #: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653
 #: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189
 #: utils/adt/like_support.c:1024 utils/adt/varchar.c:738
-#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 utils/adt/varlena.c:1521
+#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen."
@@ -1336,33 +1336,33 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)"
 msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen typübergreifende Operatoren"
 
-#: access/heap/heapam.c:2194
+#: access/heap/heapam.c:2195
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden"
 
-#: access/heap/heapam.c:2713
+#: access/heap/heapam.c:2714
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "während einer parallelen Operation können keine Tupel gelöscht werden"
 
-#: access/heap/heapam.c:2760
+#: access/heap/heapam.c:2761
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu löschen"
 
-#: access/heap/heapam.c:3208 access/heap/heapam.c:6081
+#: access/heap/heapam.c:3209 access/heap/heapam.c:6082
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "während einer parallelen Operation können keine Tupel aktualisiert werden"
 
-#: access/heap/heapam.c:3336
+#: access/heap/heapam.c:3337
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
-#: access/heap/heapam.c:4725 access/heap/heapam.c:4763
-#: access/heap/heapam.c:5028 access/heap/heapam_handler.c:468
+#: access/heap/heapam.c:4726 access/heap/heapam.c:4764
+#: access/heap/heapam.c:5029 access/heap/heapam_handler.c:468
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen"
@@ -1384,12 +1384,12 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m"
 
 #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094
 #: access/transam/timeline.c:329 access/transam/timeline.c:481
-#: access/transam/xlog.c:3249 access/transam/xlog.c:3440
-#: access/transam/xlog.c:4277 access/transam/xlog.c:9199
+#: access/transam/xlog.c:3254 access/transam/xlog.c:3445
+#: access/transam/xlog.c:4282 access/transam/xlog.c:9244
 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149
 #: backup/basebackup_server.c:242 commands/dbcommands.c:494
-#: postmaster/launch_backend.c:328 postmaster/postmaster.c:4112
-#: postmaster/walsummarizer.c:1067 replication/logical/origin.c:603
+#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112
+#: postmaster/walsummarizer.c:1210 replication/logical/origin.c:603
 #: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230
 #: utils/time/snapmgr.c:1234
 #, c-format
@@ -1403,11 +1403,11 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
 
 #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:498
-#: access/transam/xlog.c:3299 access/transam/xlog.c:3496
-#: access/transam/xlog.c:4289 commands/dbcommands.c:506
-#: postmaster/launch_backend.c:339 postmaster/launch_backend.c:351
+#: access/transam/xlog.c:3304 access/transam/xlog.c:3501
+#: access/transam/xlog.c:4294 commands/dbcommands.c:506
+#: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363
 #: replication/logical/origin.c:615 replication/logical/origin.c:657
-#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1771
+#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788
 #: replication/slot.c:2094 storage/file/buffile.c:545
 #: storage/file/copydir.c:197 utils/init/miscinit.c:1601
 #: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441
@@ -1518,17 +1518,17 @@ msgstr "%u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezei
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
 msgstr "Index »%s«: Seiten: %u gesamt, %u neu gelöscht, %u gegenwärtig gelöscht, %u wiederverwendbar\n"
 
-#: access/heap/vacuumlazy.c:738 commands/analyze.c:789
+#: access/heap/vacuumlazy.c:738 commands/analyze.c:794
 #, c-format
 msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
 msgstr "I/O-Zeitmessungen: Lesen: %.3f ms, Schreiben: %.3f ms\n"
 
-#: access/heap/vacuumlazy.c:748 commands/analyze.c:792
+#: access/heap/vacuumlazy.c:748 commands/analyze.c:797
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n"
 
-#: access/heap/vacuumlazy.c:751 commands/analyze.c:794
+#: access/heap/vacuumlazy.c:751 commands/analyze.c:799
 #, c-format
 msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
 msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n"
@@ -1538,7 +1538,7 @@ msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n"
 msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
 msgstr "WAL-Benutzung: %lld Einträge, %lld Full Page Images, %llu Bytes\n"
 
-#: access/heap/vacuumlazy.c:760 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:760 commands/analyze.c:803
 #, c-format
 msgid "system usage: %s"
 msgstr "Systembenutzung: %s"
@@ -1653,8 +1653,8 @@ msgid "cannot access index \"%s\" while it is being reindexed"
 msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert wird"
 
 #: access/index/indexam.c:203 catalog/objectaddress.c:1356
-#: commands/indexcmds.c:2873 commands/tablecmds.c:281 commands/tablecmds.c:305
-#: commands/tablecmds.c:17766 commands/tablecmds.c:19584
+#: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305
+#: commands/tablecmds.c:17778 commands/tablecmds.c:19605
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "»%s« ist kein Index"
@@ -1700,17 +1700,17 @@ msgstr "Index »%s« enthält eine halbtote interne Seite"
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Die Ursache kann ein unterbrochenes VACUUM in Version 9.3 oder älter vor dem Upgrade sein. Bitte REINDEX durchführen."
 
-#: access/nbtree/nbtutils.c:5112
+#: access/nbtree/nbtutils.c:5102
 #, c-format
 msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet btree-Version %u Maximum %zu für Index »%s«"
 
-#: access/nbtree/nbtutils.c:5118
+#: access/nbtree/nbtutils.c:5108
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "Indexzeile verweist auf Tupel (%u,%u) in Relation »%s«."
 
-#: access/nbtree/nbtutils.c:5122
+#: access/nbtree/nbtutils.c:5112
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1896,17 +1896,17 @@ msgstr "MultiXact-Member-Wraparound-Schutz ist deaktiviert, weil die älteste ge
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert"
 
-#: access/transam/multixact.c:3179
+#: access/transam/multixact.c:3180
 #, c-format
 msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "älteste MultiXact %u nicht gefunden, älteste ist MultiXact %u, Truncate wird ausgelassen"
 
-#: access/transam/multixact.c:3197
+#: access/transam/multixact.c:3198
 #, c-format
 msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation"
 msgstr "kann nicht bis MultiXact %u trunkieren, weil sie nicht auf der Festplatte existiert, Trunkierung wird ausgelassen"
 
-#: access/transam/multixact.c:3516
+#: access/transam/multixact.c:3517
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
@@ -2001,65 +2001,65 @@ msgstr "Bestehender Resource-Manager mit ID %d hat den gleichen Namen."
 msgid "registered custom resource manager \"%s\" with ID %d"
 msgstr "Custom-Resource-Manager »%s« mit ID %d wurde registriert"
 
-#: access/transam/slru.c:346
+#: access/transam/slru.c:361
 #, c-format
 msgid "\"%s\" must be a multiple of %d"
 msgstr "»%s« muss ein Vielfaches von %d sein"
 
-#: access/transam/slru.c:815
+#: access/transam/slru.c:830
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "Datei »%s« existiert nicht, wird als Nullen eingelesen"
 
-#: access/transam/slru.c:1044 access/transam/slru.c:1050
-#: access/transam/slru.c:1058 access/transam/slru.c:1063
-#: access/transam/slru.c:1070 access/transam/slru.c:1075
-#: access/transam/slru.c:1082 access/transam/slru.c:1089
+#: access/transam/slru.c:1059 access/transam/slru.c:1065
+#: access/transam/slru.c:1073 access/transam/slru.c:1078
+#: access/transam/slru.c:1085 access/transam/slru.c:1090
+#: access/transam/slru.c:1097 access/transam/slru.c:1104
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "konnte auf den Status von Transaktion %u nicht zugreifen"
 
-#: access/transam/slru.c:1045
+#: access/transam/slru.c:1060
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht öffnen: %m."
 
-#: access/transam/slru.c:1051
+#: access/transam/slru.c:1066
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %d: %m."
 msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %d setzen: %m."
 
-#: access/transam/slru.c:1059
+#: access/transam/slru.c:1074
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: %m."
 msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: %m."
 
-#: access/transam/slru.c:1064
+#: access/transam/slru.c:1079
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
 msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: zu wenige Bytes gelesen."
 
-#: access/transam/slru.c:1071
+#: access/transam/slru.c:1086
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: %m."
 msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: %m."
 
-#: access/transam/slru.c:1076
+#: access/transam/slru.c:1091
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
 msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: zu wenige Bytes geschrieben."
 
-#: access/transam/slru.c:1083
+#: access/transam/slru.c:1098
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht fsyncen: %m."
 
-#: access/transam/slru.c:1090
+#: access/transam/slru.c:1105
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht schließen: %m."
 
-#: access/transam/slru.c:1416
+#: access/transam/slru.c:1431
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "konnte Verzeichnis »%s« nicht leeren: anscheinender Überlauf"
@@ -2124,12 +2124,12 @@ msgstr "Setzen Sie »max_prepared_transactions« auf einen Wert höher als null.
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "Transaktionsbezeichner »%s« wird bereits verwendet"
 
-#: access/transam/twophase.c:404 access/transam/twophase.c:2541
+#: access/transam/twophase.c:404 access/transam/twophase.c:2540
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht"
 
-#: access/transam/twophase.c:405 access/transam/twophase.c:2542
+#: access/transam/twophase.c:405 access/transam/twophase.c:2541
 #, c-format
 msgid "Increase \"max_prepared_transactions\" (currently %d)."
 msgstr "Erhöhen Sie »max_prepared_transactions« (aktuell %d)."
@@ -2202,7 +2202,7 @@ msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr "berechnete CRC-Prüfsumme stimmt nicht mit dem Wert in Datei »%s« überein"
 
 #: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565
-#: postmaster/walsummarizer.c:821 replication/logical/logical.c:210
+#: postmaster/walsummarizer.c:934 replication/logical/logical.c:211
 #: replication/walsender.c:836
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
@@ -2235,52 +2235,52 @@ msgid_plural "%u two-phase state files were written for long-running prepared tr
 msgstr[0] "%u Zweiphasen-Statusdatei wurde für eine lange laufende vorbereitete Transaktion geschrieben"
 msgstr[1] "%u Zweiphasen-Statusdateien wurden für lange laufende vorbereitete Transaktionen geschrieben"
 
-#: access/transam/twophase.c:2117
+#: access/transam/twophase.c:2116
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory"
 
-#: access/transam/twophase.c:2210
+#: access/transam/twophase.c:2209
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "entferne abgelaufene Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2217
+#: access/transam/twophase.c:2216
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "entferne abgelaufenen Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2230
+#: access/transam/twophase.c:2229
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "entferne zukünftige Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2237
+#: access/transam/twophase.c:2236
 #, c-format
 msgid "removing future two-phase state from memory for transaction %u"
 msgstr "entferne zukünftigen Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2262
+#: access/transam/twophase.c:2261
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "verfälschte Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2267
+#: access/transam/twophase.c:2266
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "verfälschter Zweiphasen-Status im Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2524
+#: access/transam/twophase.c:2523
 #, c-format
 msgid "could not recover two-phase state file for transaction %u"
 msgstr "konnte Zweiphasen-Statusdatei für Transaktion %u nicht wiederherstellen"
 
-#: access/transam/twophase.c:2526
+#: access/transam/twophase.c:2525
 #, c-format
 msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
 msgstr "Zweiphasen-Statusdatei wurde in WAL-Eintrag %X/%X gefunden, aber diese Transaktion wurde schon von der Festplatte wiederhergestellt."
 
-#: access/transam/twophase.c:2534 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
+#: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "konnte nicht auf Datei »%s« zugreifen: %m"
@@ -2435,464 +2435,464 @@ msgstr "während einer parallelen Operation kann nicht auf einen Sicherungspunkt
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "kann nicht mehr als 2^32-1 Subtransaktionen in einer Transaktion haben"
 
-#: access/transam/xlog.c:1536
+#: access/transam/xlog.c:1541
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
 msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%X, aktuelle Position %X/%X"
 
-#: access/transam/xlog.c:1763
+#: access/transam/xlog.c:1768
 #, c-format
 msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
 msgstr "kann nicht hinter das Ende des erzeugten WAL lesen: Anforderung %X/%X, aktuelle Position %X/%X"
 
-#: access/transam/xlog.c:2204 access/transam/xlog.c:4495
+#: access/transam/xlog.c:2209 access/transam/xlog.c:4500
 #, c-format
 msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
 msgstr "Die WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein."
 
-#: access/transam/xlog.c:2222
+#: access/transam/xlog.c:2227
 #, c-format
 msgid "\"%s\" must be set to -1 during binary upgrade mode."
 msgstr "»%s« muss im Binary-Upgrade-Modus auf -1 gesetzt sein."
 
-#: access/transam/xlog.c:2471
+#: access/transam/xlog.c:2476
 #, c-format
 msgid "could not write to log file \"%s\" at offset %u, length %zu: %m"
 msgstr "konnte nicht in Logdatei »%s« bei Position %u, Länge %zu schreiben: %m"
 
-#: access/transam/xlog.c:3733 access/transam/xlogutils.c:831
+#: access/transam/xlog.c:3738 access/transam/xlogutils.c:831
 #: replication/walsender.c:3045
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
 
-#: access/transam/xlog.c:4055
+#: access/transam/xlog.c:4060
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht umbenennen: %m"
 
-#: access/transam/xlog.c:4098 access/transam/xlog.c:4109
-#: access/transam/xlog.c:4130
+#: access/transam/xlog.c:4103 access/transam/xlog.c:4114
+#: access/transam/xlog.c:4135
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht"
 
-#: access/transam/xlog.c:4115 access/transam/xlog.c:4136
+#: access/transam/xlog.c:4120 access/transam/xlog.c:4141
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«"
 
-#: access/transam/xlog.c:4119 access/transam/xlog.c:4139
+#: access/transam/xlog.c:4124 access/transam/xlog.c:4144
 #: commands/dbcommands.c:3242
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4206
+#: access/transam/xlog.c:4211
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "konnte geheimes Autorisierungstoken nicht erzeugen"
 
-#: access/transam/xlog.c:4357 access/transam/xlog.c:4367
-#: access/transam/xlog.c:4393 access/transam/xlog.c:4401
-#: access/transam/xlog.c:4409 access/transam/xlog.c:4415
-#: access/transam/xlog.c:4423 access/transam/xlog.c:4431
-#: access/transam/xlog.c:4439 access/transam/xlog.c:4447
-#: access/transam/xlog.c:4455 access/transam/xlog.c:4463
-#: access/transam/xlog.c:4473 access/transam/xlog.c:4481
+#: access/transam/xlog.c:4362 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4398 access/transam/xlog.c:4406
+#: access/transam/xlog.c:4414 access/transam/xlog.c:4420
+#: access/transam/xlog.c:4428 access/transam/xlog.c:4436
+#: access/transam/xlog.c:4444 access/transam/xlog.c:4452
+#: access/transam/xlog.c:4460 access/transam/xlog.c:4468
+#: access/transam/xlog.c:4478 access/transam/xlog.c:4486
 #: utils/init/miscinit.c:1758
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
 
-#: access/transam/xlog.c:4358
+#: access/transam/xlog.c:4363
 #, 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 "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d (0x%08x) initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d (0x%08x) kompiliert."
 
-#: access/transam/xlog.c:4362
+#: access/transam/xlog.c:4367
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Das Problem könnte eine falsche Byte-Reihenfolge sein. Es sieht so aus, dass Sie initdb ausführen müssen."
 
-#: access/transam/xlog.c:4368
+#: access/transam/xlog.c:4373
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d kompiliert."
 
-#: access/transam/xlog.c:4371 access/transam/xlog.c:4397
-#: access/transam/xlog.c:4405 access/transam/xlog.c:4411
+#: access/transam/xlog.c:4376 access/transam/xlog.c:4402
+#: access/transam/xlog.c:4410 access/transam/xlog.c:4416
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Es sieht so aus, dass Sie initdb ausführen müssen."
 
-#: access/transam/xlog.c:4383
+#: access/transam/xlog.c:4388
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "falsche Prüfsumme in Kontrolldatei"
 
-#: access/transam/xlog.c:4394
+#: access/transam/xlog.c:4399
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Der Datenbank-Cluster wurde mit CATALOG_VERSION_NO %d initialisiert, aber der Server wurde mit CATALOG_VERSION_NO %d kompiliert."
 
-#: access/transam/xlog.c:4402
+#: access/transam/xlog.c:4407
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Der Datenbank-Cluster wurde mit MAXALIGN %d initialisiert, aber der Server wurde mit MAXALIGN %d kompiliert."
 
-#: access/transam/xlog.c:4410
+#: access/transam/xlog.c:4415
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Der Datenbank-Cluster verwendet anscheinend ein anderes Fließkommazahlenformat als das Serverprogramm."
 
-#: access/transam/xlog.c:4416
+#: access/transam/xlog.c:4421
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Der Datenbank-Cluster wurde mit BLCKSZ %d initialisiert, aber der Server wurde mit BLCKSZ %d kompiliert."
 
-#: access/transam/xlog.c:4419 access/transam/xlog.c:4427
-#: access/transam/xlog.c:4435 access/transam/xlog.c:4443
-#: access/transam/xlog.c:4451 access/transam/xlog.c:4459
-#: access/transam/xlog.c:4467 access/transam/xlog.c:4476
-#: access/transam/xlog.c:4484
+#: access/transam/xlog.c:4424 access/transam/xlog.c:4432
+#: access/transam/xlog.c:4440 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4456 access/transam/xlog.c:4464
+#: access/transam/xlog.c:4472 access/transam/xlog.c:4481
+#: access/transam/xlog.c:4489
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Es sieht so aus, dass Sie neu kompilieren oder initdb ausführen müssen."
 
-#: access/transam/xlog.c:4424
+#: access/transam/xlog.c:4429
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Der Datenbank-Cluster wurde mit RELSEG_SIZE %d initialisiert, aber der Server wurde mit RELSEGSIZE %d kompiliert."
 
-#: access/transam/xlog.c:4432
+#: access/transam/xlog.c:4437
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Der Datenbank-Cluster wurde mit XLOG_BLCKSZ %d initialisiert, aber der Server wurde mit XLOG_BLCKSZ %d kompiliert."
 
-#: access/transam/xlog.c:4440
+#: access/transam/xlog.c:4445
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Der Datenbank-Cluster wurde mit NAMEDATALEN %d initialisiert, aber der Server wurde mit NAMEDATALEN %d kompiliert."
 
-#: access/transam/xlog.c:4448
+#: access/transam/xlog.c:4453
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Der Datenbank-Cluster wurde mit INDEX_MAX_KEYS %d initialisiert, aber der Server wurde mit INDEX_MAX_KEYS %d kompiliert."
 
-#: access/transam/xlog.c:4456
+#: access/transam/xlog.c:4461
 #, 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 "Der Datenbank-Cluster wurde mit TOAST_MAX_CHUNK_SIZE %d initialisiert, aber der Server wurde mit TOAST_MAX_CHUNK_SIZE %d kompiliert."
 
-#: access/transam/xlog.c:4464
+#: access/transam/xlog.c:4469
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr "Der Datenbank-Cluster wurde mit LOBLKSIZE %d initialisiert, aber der Server wurde mit LOBLKSIZE %d kompiliert."
 
-#: access/transam/xlog.c:4474
+#: access/transam/xlog.c:4479
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Der Datenbank-Cluster wurde ohne USE_FLOAT8_BYVAL initialisiert, aber der Server wurde mit USE_FLOAT8_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4482
+#: access/transam/xlog.c:4487
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Der Datenbank-Cluster wurde mit USE_FLOAT8_BYVAL initialisiert, aber der Server wurde ohne USE_FLOAT8_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4491
+#: access/transam/xlog.c:4496
 #, c-format
 msgid "invalid WAL segment size in control file (%d byte)"
 msgid_plural "invalid WAL segment size in control file (%d bytes)"
 msgstr[0] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Byte)"
 msgstr[1] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Bytes)"
 
-#: access/transam/xlog.c:4504
+#: access/transam/xlog.c:4509
 #, c-format
 msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "»min_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein"
 
-#: access/transam/xlog.c:4508
+#: access/transam/xlog.c:4513
 #, c-format
 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "»max_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein"
 
-#: access/transam/xlog.c:4656 catalog/namespace.c:4681
+#: access/transam/xlog.c:4661 catalog/namespace.c:4681
 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
-#: replication/slot.c:2429 utils/error/elog.c:2214
+#: replication/slot.c:2429 utils/error/elog.c:2230
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
 
-#: access/transam/xlog.c:4702 commands/user.c:2545 commands/variable.c:173
-#: utils/error/elog.c:2240
+#: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173
+#: utils/error/elog.c:2256
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: »%s«."
 
-#: access/transam/xlog.c:5122
+#: access/transam/xlog.c:5128
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schreiben: %m"
 
-#: access/transam/xlog.c:5130
+#: access/transam/xlog.c:5136
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht fsyncen: %m"
 
-#: access/transam/xlog.c:5136
+#: access/transam/xlog.c:5142
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schließen: %m"
 
-#: access/transam/xlog.c:5354
+#: access/transam/xlog.c:5367
 #, c-format
 msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering"
 msgstr "WAL wurde mit »wal_level=minimal« erzeugt, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:5355
+#: access/transam/xlog.c:5368
 #, c-format
 msgid "This happens if you temporarily set \"wal_level=minimal\" on the server."
 msgstr "Das passiert, wenn auf dem Server vorübergehend »wal_level=minimal« gesetzt wurde."
 
-#: access/transam/xlog.c:5356
+#: access/transam/xlog.c:5369
 #, c-format
 msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"."
 msgstr "Verwenden Sie ein Backup, das durchgeführt wurde, nachdem »wal_level« auf höher als »minimal« gesetzt wurde."
 
-#: access/transam/xlog.c:5421
+#: access/transam/xlog.c:5434
 #, c-format
 msgid "control file contains invalid checkpoint location"
 msgstr "Kontrolldatei enthält ungültige Checkpoint-Position"
 
-#: access/transam/xlog.c:5432
+#: access/transam/xlog.c:5445
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "Datenbanksystem wurde am %s heruntergefahren"
 
-#: access/transam/xlog.c:5438
+#: access/transam/xlog.c:5451
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "Datenbanksystem wurde während der Wiederherstellung am %s heruntergefahren"
 
-#: access/transam/xlog.c:5444
+#: access/transam/xlog.c:5457
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "Datenbanksystem wurde beim Herunterfahren unterbrochen; letzte bekannte Aktion am %s"
 
-#: access/transam/xlog.c:5450
+#: access/transam/xlog.c:5463
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "Datenbanksystem wurde während der Wiederherstellung am %s unterbrochen"
 
-#: access/transam/xlog.c:5452
+#: access/transam/xlog.c:5465
 #, c-format
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr "Das bedeutet wahrscheinlich, dass einige Daten verfälscht sind und Sie die letzte Datensicherung zur Wiederherstellung verwenden müssen."
 
-#: access/transam/xlog.c:5458
+#: access/transam/xlog.c:5471
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr "Datenbanksystem wurde während der Wiederherstellung bei Logzeit %s unterbrochen"
 
-#: access/transam/xlog.c:5460
+#: access/transam/xlog.c:5473
 #, 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 "Wenn dies mehr als einmal vorgekommen ist, dann sind einige Daten möglicherweise verfälscht und Sie müssen ein früheres Wiederherstellungsziel wählen."
 
-#: access/transam/xlog.c:5466
+#: access/transam/xlog.c:5479
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s"
 
-#: access/transam/xlog.c:5473
+#: access/transam/xlog.c:5486
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus"
 
-#: access/transam/xlog.c:5860
+#: access/transam/xlog.c:5874
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:5861
+#: access/transam/xlog.c:5875
 #, 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:5865
+#: access/transam/xlog.c:5879
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:5911
+#: access/transam/xlog.c:5925
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:5944
+#: access/transam/xlog.c:5958
 #, c-format
 msgid "archive recovery complete"
 msgstr "Wiederherstellung aus Archiv abgeschlossen"
 
-#: access/transam/xlog.c:6552
+#: access/transam/xlog.c:6587
 #, c-format
 msgid "shutting down"
 msgstr "fahre herunter"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6591
+#: access/transam/xlog.c:6626
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "Restart-Punkt beginnt:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6603
+#: access/transam/xlog.c:6638
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6668
+#: access/transam/xlog.c:6703
 #, c-format
 msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
 msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
 
-#: access/transam/xlog.c:6691
+#: access/transam/xlog.c:6726
 #, c-format
 msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
 msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
 
-#: access/transam/xlog.c:7165
+#: access/transam/xlog.c:7208
 #, c-format
 msgid "concurrent write-ahead log activity while database system is shutting down"
 msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem herunterfährt"
 
-#: access/transam/xlog.c:7749
+#: access/transam/xlog.c:7793
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:7751
+#: access/transam/xlog.c:7795
 #, c-format
 msgid "Last completed transaction was at log time %s."
 msgstr "Die letzte vollständige Transaktion war bei Logzeit %s."
 
-#: access/transam/xlog.c:8013
+#: access/transam/xlog.c:8057
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:8220
+#: access/transam/xlog.c:8264
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:8277
+#: access/transam/xlog.c:8322
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Shutdown-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8335
+#: access/transam/xlog.c:8380
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Online-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8364
+#: access/transam/xlog.c:8409
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im End-of-Recovery-Datensatz"
 
-#: access/transam/xlog.c:8635
+#: access/transam/xlog.c:8680
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m"
 
-#: access/transam/xlog.c:8640
+#: access/transam/xlog.c:8685
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:8727 access/transam/xlog.c:9063
+#: access/transam/xlog.c:8772 access/transam/xlog.c:9108
 #, 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:8728 access/transam/xlogfuncs.c:248
+#: access/transam/xlog.c:8773 access/transam/xlogfuncs.c:248
 #, c-format
 msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start."
 msgstr "»wal_level« muss beim Serverstart auf »replica« oder »logical« gesetzt werden."
 
-#: access/transam/xlog.c:8733
+#: access/transam/xlog.c:8778
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:8854
+#: access/transam/xlog.c:8899
 #, 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:8856 access/transam/xlog.c:9152
+#: access/transam/xlog.c:8901 access/transam/xlog.c:9197
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, and then try an online backup again."
 msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver »full_page_writes« ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:8936 backup/basebackup.c:1417 utils/adt/misc.c:354
+#: access/transam/xlog.c:8981 backup/basebackup.c:1417 utils/adt/misc.c:354
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m"
 
-#: access/transam/xlog.c:8943 backup/basebackup.c:1422 utils/adt/misc.c:359
+#: access/transam/xlog.c:8988 backup/basebackup.c:1422 utils/adt/misc.c:359
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang"
 
-#: access/transam/xlog.c:9064
+#: access/transam/xlog.c:9109
 #, c-format
 msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
 msgstr "wal_level muss beim Serverstart auf »replica« oder »logical« gesetzt werden."
 
-#: access/transam/xlog.c:9102 backup/basebackup.c:1281
+#: access/transam/xlog.c:9147 backup/basebackup.c:1281
 #, 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:9103 backup/basebackup.c:1282
+#: access/transam/xlog.c:9148 backup/basebackup.c:1282
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. 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:9150
+#: access/transam/xlog.c:9195
 #, 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:9266
+#: access/transam/xlog.c:9311
 #, c-format
 msgid "base backup done, waiting for required WAL segments to be archived"
 msgstr "Basissicherung beendet, warte bis die benötigten WAL-Segmente archiviert sind"
 
-#: access/transam/xlog.c:9280
+#: access/transam/xlog.c:9325
 #, c-format
 msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "warte immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
 
-#: access/transam/xlog.c:9282
+#: access/transam/xlog.c:9327
 #, c-format
 msgid "Check that your \"archive_command\" is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
 msgstr "Prüfen Sie, ob das »archive_command« korrekt ausgeführt wird. Dieser Sicherungsvorgang kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
 
-#: access/transam/xlog.c:9289
+#: access/transam/xlog.c:9334
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:9293
+#: access/transam/xlog.c:9338
 #, 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:9332
+#: access/transam/xlog.c:9377
 #, c-format
 msgid "aborting backup due to backend exiting before pg_backup_stop was called"
 msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_backup_stop aufgerufen wurde"
@@ -3885,80 +3885,65 @@ msgstr "gzip-Komprimierung wird von dieser Installation nicht unterstützt"
 msgid "could not initialize compression library"
 msgstr "konnte Komprimierungsbibliothek nicht initialisieren"
 
-#: backup/basebackup_incremental.c:300
+#: backup/basebackup_incremental.c:294
 #, c-format
 msgid "manifest contains no required WAL ranges"
 msgstr ""
 
-#: backup/basebackup_incremental.c:355
+#: backup/basebackup_incremental.c:349
 #, c-format
 msgid "timeline %u found in manifest, but not in this server's history"
 msgstr "Zeitleiste %u wurde im Manifest gefunden, aber nicht in der History dieses Servers"
 
-#: backup/basebackup_incremental.c:420
+#: backup/basebackup_incremental.c:414
 #, fuzzy, c-format
 #| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
 msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
 msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
 
-#: backup/basebackup_incremental.c:430
+#: backup/basebackup_incremental.c:424
 #, fuzzy, c-format
 #| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
 msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
 msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
 
-#: backup/basebackup_incremental.c:441
+#: backup/basebackup_incremental.c:435
 #, c-format
 msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
 msgstr ""
 
-#: backup/basebackup_incremental.c:451
+#: backup/basebackup_incremental.c:439
+#, c-format
+msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup."
+msgstr ""
+
+#: backup/basebackup_incremental.c:446
 #, fuzzy, c-format
 #| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
 msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
 msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
 
-#: backup/basebackup_incremental.c:518
-#, c-format
-msgid "WAL summarization is not progressing"
-msgstr ""
-
-#: backup/basebackup_incremental.c:519
-#, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
-msgstr ""
-
-#: backup/basebackup_incremental.c:532
-#, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld seconds"
-msgstr ""
-
-#: backup/basebackup_incremental.c:535
-#, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr ""
-
-#: backup/basebackup_incremental.c:604
+#: backup/basebackup_incremental.c:527
 #, c-format
 msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
-msgstr ""
+msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber für diese Zeitleiste und diesen LSN-Bereich existieren keine Zusammenfassungen."
 
-#: backup/basebackup_incremental.c:611
+#: backup/basebackup_incremental.c:534
 #, c-format
 msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
-msgstr ""
+msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber die Zusammenfassungen für diese Zeitleiste und diesen LSN-Bereich sind unvollständig."
 
-#: backup/basebackup_incremental.c:615
+#: backup/basebackup_incremental.c:538
 #, c-format
 msgid "The first unsummarized LSN in this range is %X/%X."
 msgstr "Die erste nicht zusammengefasste LSN in diesem Bereich ist %X/%X."
 
-#: backup/basebackup_incremental.c:1015
+#: backup/basebackup_incremental.c:938
 #, c-format
 msgid "backup manifest version 1 does not support incremental backup"
 msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup"
 
-#: backup/basebackup_incremental.c:1033
+#: backup/basebackup_incremental.c:956
 #, fuzzy, c-format
 #| msgid "%s: manifest system identifier is %llu, but control file has %llu"
 msgid "manifest system identifier is %llu, but database system identifier is %llu"
@@ -4046,12 +4031,12 @@ msgstr "konnte Long-Distance-Modus nicht einschalten: %s"
 msgid "invalid timeline %lld"
 msgstr "ungültige Zeitleiste %lld"
 
-#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3859
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3864
+#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3863
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
@@ -4218,18 +4203,18 @@ msgstr "keine Berechtigung, um Vorgabeprivilegien zu ändern"
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHEMAS verwendet wird"
 
-#: catalog/aclchk.c:1616 catalog/catalog.c:629 catalog/objectaddress.c:1523
+#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523
 #: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913
-#: commands/sequence.c:1645 commands/tablecmds.c:7549 commands/tablecmds.c:7703
-#: commands/tablecmds.c:7753 commands/tablecmds.c:7827
-#: commands/tablecmds.c:7897 commands/tablecmds.c:8027
-#: commands/tablecmds.c:8156 commands/tablecmds.c:8250
-#: commands/tablecmds.c:8351 commands/tablecmds.c:8478
-#: commands/tablecmds.c:8508 commands/tablecmds.c:8650
-#: commands/tablecmds.c:8743 commands/tablecmds.c:8877
-#: commands/tablecmds.c:8989 commands/tablecmds.c:12709
-#: commands/tablecmds.c:12890 commands/tablecmds.c:13051
-#: commands/tablecmds.c:14240 commands/tablecmds.c:16866 commands/trigger.c:942
+#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715
+#: commands/tablecmds.c:7765 commands/tablecmds.c:7839
+#: commands/tablecmds.c:7909 commands/tablecmds.c:8039
+#: commands/tablecmds.c:8168 commands/tablecmds.c:8262
+#: commands/tablecmds.c:8363 commands/tablecmds.c:8490
+#: commands/tablecmds.c:8520 commands/tablecmds.c:8662
+#: commands/tablecmds.c:8755 commands/tablecmds.c:8889
+#: commands/tablecmds.c:9001 commands/tablecmds.c:12721
+#: commands/tablecmds.c:12902 commands/tablecmds.c:13063
+#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 commands/trigger.c:942
 #: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067
 #: parser/parse_type.c:144 parser/parse_utilcmd.c:3538
 #: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923
@@ -4243,13 +4228,13 @@ msgstr "Spalte »%s« von Relation »%s« existiert nicht"
 msgid "\"%s\" is an index"
 msgstr "»%s« ist ein Index"
 
-#: catalog/aclchk.c:1868 commands/tablecmds.c:14397 commands/tablecmds.c:17775
+#: catalog/aclchk.c:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "»%s« ist ein zusammengesetzter Typ"
 
 #: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263
-#: commands/tablecmds.c:17739 utils/adt/acl.c:2107 utils/adt/acl.c:2137
+#: commands/tablecmds.c:17751 utils/adt/acl.c:2107 utils/adt/acl.c:2137
 #: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237
 #: utils/adt/acl.c:2268
 #, c-format
@@ -4441,9 +4426,9 @@ msgstr "keine Berechtigung für Routine %s"
 msgid "permission denied for schema %s"
 msgstr "keine Berechtigung für Schema %s"
 
-#: catalog/aclchk.c:2790 commands/sequence.c:647 commands/sequence.c:873
-#: commands/sequence.c:915 commands/sequence.c:956 commands/sequence.c:1743
-#: commands/sequence.c:1789
+#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880
+#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1750
+#: commands/sequence.c:1796
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "keine Berechtigung für Sequenz %s"
@@ -4685,46 +4670,46 @@ msgstr "Schema mit OID %u existiert nicht"
 msgid "type with OID %u does not exist"
 msgstr "Typ mit OID %u existiert nicht"
 
-#: catalog/catalog.c:447
+#: catalog/catalog.c:468
 #, c-format
 msgid "still searching for an unused OID in relation \"%s\""
 msgstr "suche immer noch nach einer unbenutzten OID in in Relation »%s«"
 
-#: catalog/catalog.c:449
+#: catalog/catalog.c:470
 #, c-format
 msgid "OID candidates have been checked %llu time, but no unused OID has been found yet."
 msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet."
 msgstr[0] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
 msgstr[1] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
 
-#: catalog/catalog.c:474
+#: catalog/catalog.c:495
 #, c-format
 msgid "new OID has been assigned in relation \"%s\" after %llu retry"
 msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries"
 msgstr[0] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuch"
 msgstr[1] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuchen"
 
-#: catalog/catalog.c:607 catalog/catalog.c:674
+#: catalog/catalog.c:628 catalog/catalog.c:695
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "nur Superuser können %s() aufrufen"
 
-#: catalog/catalog.c:616
+#: catalog/catalog.c:637
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden"
 
-#: catalog/catalog.c:621 parser/parse_utilcmd.c:2245
+#: catalog/catalog.c:642 parser/parse_utilcmd.c:2245
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "Index »%s« gehört nicht zu Tabelle »%s«"
 
-#: catalog/catalog.c:638
+#: catalog/catalog.c:659
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "Spalte »%s« hat nicht Typ oid"
 
-#: catalog/catalog.c:645
+#: catalog/catalog.c:666
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "»%s« ist kein Index für Spalte »%s«"
@@ -4776,8 +4761,9 @@ msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen"
 
 #: catalog/dependency.c:1153 catalog/dependency.c:1160
 #: catalog/dependency.c:1171 commands/tablecmds.c:1447
-#: commands/tablecmds.c:14989 commands/tablespace.c:460 commands/user.c:1302
-#: commands/vacuum.c:211 commands/view.c:441 libpq/auth.c:324
+#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639
+#: executor/execExprInterp.c:4645 libpq/auth.c:324
 #: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169
 #: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781
@@ -4826,12 +4812,12 @@ msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
 #: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905
-#: commands/tablecmds.c:7171
+#: commands/tablecmds.c:7183
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:485 commands/tablecmds.c:7440
+#: catalog/heap.c:485 commands/tablecmds.c:7452
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte"
@@ -4863,14 +4849,14 @@ msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden"
 msgid "no collation was derived for partition key column %s with collatable type %s"
 msgstr "für Partitionierungsschlüsselspalte %s mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
-#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:507
+#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "für Spalte »%s« mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
-#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:403
-#: commands/tablecmds.c:4142 commands/tablecmds.c:20463
-#: commands/tablecmds.c:20725
+#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401
+#: commands/tablecmds.c:4154 commands/tablecmds.c:20484
+#: commands/tablecmds.c:20746
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "Relation »%s« existiert bereits"
@@ -4903,112 +4889,112 @@ msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 msgid "relfilenumber value not set when in binary upgrade mode"
 msgstr "Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/heap.c:2121
+#: catalog/heap.c:2128
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden"
 
-#: catalog/heap.c:2393
+#: catalog/heap.c:2400
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint »%s« existiert bereits"
 
-#: catalog/heap.c:2565 catalog/index.c:913 catalog/pg_constraint.c:724
-#: commands/tablecmds.c:9364
+#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724
+#: commands/tablecmds.c:9376
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint »%s« existiert bereits für Relation »%s«"
 
-#: catalog/heap.c:2572
+#: catalog/heap.c:2579
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für Relation »%s«"
 
-#: catalog/heap.c:2583
+#: catalog/heap.c:2590
 #, c-format
 msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit vererbtem Constraint für Relation »%s«"
 
-#: catalog/heap.c:2593
+#: catalog/heap.c:2600
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s«"
 
-#: catalog/heap.c:2598
+#: catalog/heap.c:2605
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
 
-#: catalog/heap.c:2624 catalog/pg_constraint.c:853 commands/tablecmds.c:3062
-#: commands/tablecmds.c:3365 commands/tablecmds.c:7097
-#: commands/tablecmds.c:15807 commands/tablecmds.c:15938
+#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062
+#: commands/tablecmds.c:3365 commands/tablecmds.c:7109
+#: commands/tablecmds.c:15819 commands/tablecmds.c:15950
 #, c-format
 msgid "too many inheritance parents"
 msgstr "zu viele Elterntabellen"
 
-#: catalog/heap.c:2708
+#: catalog/heap.c:2715
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:2710
+#: catalog/heap.c:2717
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr "Eine generierte Spalte kann nicht auf eine andere generierte Spalte verweisen."
 
-#: catalog/heap.c:2716
+#: catalog/heap.c:2723
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr "Variable mit Verweis auf die ganze Zeile kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:2717
+#: catalog/heap.c:2724
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen."
 
-#: catalog/heap.c:2772
+#: catalog/heap.c:2779
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "Generierungsausdruck ist nicht »immutable«"
 
-#: catalog/heap.c:2800 rewrite/rewriteHandler.c:1281
+#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1281
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "Spalte »%s« hat Typ %s, aber der Vorgabeausdruck hat Typ %s"
 
-#: catalog/heap.c:2805 commands/prepare.c:331 parser/analyze.c:2758
+#: catalog/heap.c:2812 commands/prepare.c:331 parser/analyze.c:2758
 #: parser/parse_target.c:592 parser/parse_target.c:882
 #: parser/parse_target.c:892 rewrite/rewriteHandler.c:1286
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen."
 
-#: catalog/heap.c:2852
+#: catalog/heap.c:2859
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "nur Verweise auf Tabelle »%s« sind im Check-Constraint zugelassen"
 
-#: catalog/heap.c:3158
+#: catalog/heap.c:3165
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel"
 
-#: catalog/heap.c:3159
+#: catalog/heap.c:3166
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr "Tabelle »%s« verweist auf »%s«, aber sie haben nicht die gleiche ON-COMMIT-Einstellung."
 
-#: catalog/heap.c:3164
+#: catalog/heap.c:3171
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "kann eine Tabelle, die in einen Fremdschlüssel-Constraint eingebunden ist, nicht leeren"
 
-#: catalog/heap.c:3165
+#: catalog/heap.c:3172
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Tabelle »%s« verweist auf »%s«."
 
-#: catalog/heap.c:3167
+#: catalog/heap.c:3174
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Leeren Sie die Tabelle »%s« gleichzeitig oder verwenden Sie TRUNCATE ... CASCADE."
@@ -5033,7 +5019,7 @@ msgstr "Primärschlüssel können keine Ausdrücke sein"
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "Primärschlüsselspalte »%s« ist nicht als NOT NULL markiert"
 
-#: catalog/index.c:798 catalog/index.c:1914
+#: catalog/index.c:798 catalog/index.c:1915
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "benutzerdefinierte Indexe für Systemkatalogtabellen werden nicht unterstützt"
@@ -5048,7 +5034,7 @@ msgstr "nichtdeterministische Sortierfolgen werden von Operatorklasse »%s« nic
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "nebenläufige Indexerzeugung für Systemkatalogtabellen wird nicht unterstützt"
 
-#: catalog/index.c:862 catalog/index.c:1330
+#: catalog/index.c:862 catalog/index.c:1331
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unterstützt"
@@ -5058,7 +5044,7 @@ msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unter
 msgid "shared indexes cannot be created after initdb"
 msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden"
 
-#: catalog/index.c:891 commands/createas.c:418 commands/sequence.c:159
+#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
 #: parser/parse_utilcmd.c:212
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
@@ -5074,33 +5060,33 @@ msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 msgid "index relfilenumber value not set when in binary upgrade mode"
 msgstr "Index-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/index.c:2213
+#: catalog/index.c:2214
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY muss die erste Aktion in einer Transaktion sein"
 
-#: catalog/index.c:3669
+#: catalog/index.c:3670
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
-#: catalog/index.c:3680 commands/indexcmds.c:3648
+#: catalog/index.c:3681 commands/indexcmds.c:3652
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden"
 
-#: catalog/index.c:3696 commands/indexcmds.c:3526 commands/indexcmds.c:3672
-#: commands/tablecmds.c:3557
+#: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676
+#: commands/tablecmds.c:3569
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: catalog/index.c:3833
+#: catalog/index.c:3834
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "Index »%s« wurde neu indiziert"
 
-#: catalog/index.c:3999
+#: catalog/index.c:4000
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr "ungültiger Index »%s.%s« einer TOAST-Tabelle kann nicht reindizert werden, wird übersprungen"
@@ -5184,12 +5170,12 @@ msgstr "Textsuchevorlage »%s« existiert nicht"
 msgid "text search configuration \"%s\" does not exist"
 msgstr "Textsuchekonfiguration »%s« existiert nicht"
 
-#: catalog/namespace.c:3314 parser/parse_expr.c:869 parser/parse_target.c:1259
+#: catalog/namespace.c:3314 parser/parse_expr.c:868 parser/parse_target.c:1259
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:876
+#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:875
 #: parser/parse_target.c:1266
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
@@ -5243,25 +5229,25 @@ msgstr "während einer parallelen Operation können keine temporären Tabellen e
 
 #: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
 #: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315
-#: commands/tablecmds.c:12826 parser/parse_utilcmd.c:3249
+#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
 #: catalog/objectaddress.c:1378 commands/tablecmds.c:269
-#: commands/tablecmds.c:17744 commands/view.c:114
+#: commands/tablecmds.c:17756 commands/view.c:114
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
 
-#: catalog/objectaddress.c:1385 commands/matview.c:183 commands/tablecmds.c:275
-#: commands/tablecmds.c:17749
+#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
+#: commands/tablecmds.c:17761
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "»%s« ist keine materialisierte Sicht"
 
 #: catalog/objectaddress.c:1392 commands/tablecmds.c:293
-#: commands/tablecmds.c:17754
+#: commands/tablecmds.c:17766
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "»%s« ist keine Fremdtabelle"
@@ -6037,8 +6023,8 @@ msgstr "Partition »%s« kann nicht abgetrennt werden"
 msgid "The partition is being detached concurrently or has an unfinished detach."
 msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation."
 
-#: catalog/pg_inherits.c:595 commands/tablecmds.c:4778
-#: commands/tablecmds.c:16053
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790
+#: commands/tablecmds.c:16065
 #, c-format
 msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
 msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen."
@@ -6230,7 +6216,7 @@ msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben"
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-Funktionen können keine Argumente vom Typ »%s« haben"
 
-#: catalog/pg_proc.c:986 executor/functions.c:1467
+#: catalog/pg_proc.c:986 executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-Funktion »%s«"
@@ -6665,22 +6651,22 @@ msgstr "analysiere »%s.%s«"
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals"
 
-#: commands/analyze.c:780
+#: commands/analyze.c:785
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«\n"
 
-#: commands/analyze.c:1295
+#: 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«: %d von %u Seiten gelesen, enthalten %.0f lebende Zeilen und %.0f tote Zeilen; %d Zeilen in Stichprobe, schätzungsweise %.0f Zeilen insgesamt"
 
-#: commands/analyze.c:1379
+#: commands/analyze.c:1384
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine abgeleiteten Tabellen"
 
-#: commands/analyze.c:1477
+#: commands/analyze.c:1482
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine analysierbaren abgeleiteten Tabellen"
@@ -6740,7 +6726,7 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern"
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«"
 
-#: commands/cluster.c:191 commands/tablecmds.c:14698 commands/tablecmds.c:16629
+#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index »%s« für Tabelle »%s« existiert nicht"
@@ -6755,7 +6741,7 @@ msgstr "globaler Katalog kann nicht geclustert werden"
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden"
 
-#: commands/cluster.c:513 commands/tablecmds.c:16639
+#: commands/cluster.c:513 commands/tablecmds.c:16651
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "»%s« ist kein Index für Tabelle »%s«"
@@ -6820,7 +6806,7 @@ msgid "collation attribute \"%s\" not recognized"
 msgstr "Attribut »%s« für Sortierfolge unbekannt"
 
 #: commands/collationcmds.c:123 commands/collationcmds.c:129
-#: commands/define.c:388 commands/tablecmds.c:8137
+#: commands/define.c:388 commands/tablecmds.c:8149
 #: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330
 #: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354
 #: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374
@@ -6895,9 +6881,9 @@ msgstr "Version der Standardsortierfolge kann nicht aufgefrischt werden"
 #. translator: %s is an SQL command
 #. translator: %s is an SQL ALTER command
 #: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
-#: commands/tablecmds.c:7913 commands/tablecmds.c:7923
-#: commands/tablecmds.c:7925 commands/tablecmds.c:14400
-#: commands/tablecmds.c:17777 commands/tablecmds.c:17798
+#: commands/tablecmds.c:7925 commands/tablecmds.c:7935
+#: commands/tablecmds.c:7937 commands/tablecmds.c:14412
+#: commands/tablecmds.c:17789 commands/tablecmds.c:17810
 #: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
 #, c-format
 msgid "Use %s instead."
@@ -7099,7 +7085,7 @@ msgstr "DEFAULT kann nicht im BINARY-Modus angegeben werden"
 #: commands/copy.c:665
 #, c-format
 msgid "only ON_ERROR STOP is allowed in BINARY mode"
-msgstr ""
+msgstr "nur ON_ERROR STOP ist im BINARY-Modus erlaubt"
 
 #: commands/copy.c:687
 #, c-format
@@ -7231,9 +7217,9 @@ msgstr "Spalte »%s« ist eine generierte Spalte"
 msgid "Generated columns cannot be used in COPY."
 msgstr "Generierte Spalten können nicht in COPY verwendet werden."
 
-#: commands/copy.c:918 commands/indexcmds.c:1915 commands/statscmds.c:239
+#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239
 #: commands/tablecmds.c:2514 commands/tablecmds.c:2985
-#: commands/tablecmds.c:3781 parser/parse_relation.c:3692
+#: commands/tablecmds.c:3793 parser/parse_relation.c:3692
 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720
 #: parser/parse_relation.c:3727 parser/parse_relation.c:3741
 #: utils/adt/tsvector_op.c:2853
@@ -7321,8 +7307,8 @@ msgstr "COPY FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in d
 #, c-format
 msgid "%llu row was skipped due to data type incompatibility"
 msgid_plural "%llu rows were skipped due to data type incompatibility"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%llu Zeile wurde übersprungen wegen Datentypinkompatibilität"
+msgstr[1] "%llu Zeilen wurden übersprungen wegen Datentypinkompatibilität"
 
 #: commands/copyfrom.c:1447
 #, c-format
@@ -7439,12 +7425,12 @@ msgstr "fehlende Daten für Spalte »%s«"
 #: commands/copyfromparse.c:990
 #, c-format
 msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\""
-msgstr ""
+msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte %s: »%s«"
 
 #: commands/copyfromparse.c:998
 #, c-format
 msgid "skipping row due to data type incompatibility at line %llu for column %s: null input"
-msgstr ""
+msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte %s: Eingabe ist NULL"
 
 #: commands/copyfromparse.c:1044
 #, c-format
@@ -7637,12 +7623,12 @@ msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m"
 msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy."
 msgstr "Mit COPY TO schreibt der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql."
 
-#: commands/createas.c:210 commands/createas.c:518
+#: commands/createas.c:210 commands/createas.c:516
 #, c-format
 msgid "too many column names were specified"
 msgstr "zu viele Spaltennamen wurden angegeben"
 
-#: commands/createas.c:541
+#: commands/createas.c:539
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "Policys sind für diesen Befehl noch nicht implementiert"
@@ -8008,7 +7994,7 @@ msgid_plural "There are %d other sessions using the database."
 msgstr[0] "%d andere Sitzung verwendet die Datenbank."
 msgstr[1] "%d andere Sitzungen verwenden die Datenbank."
 
-#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3847
+#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -8074,9 +8060,9 @@ msgstr "»%s« ist eine Aggregatfunktion"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
-#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3865
-#: commands/tablecmds.c:4023 commands/tablecmds.c:4075
-#: commands/tablecmds.c:17061 tcop/utility.c:1325
+#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877
+#: commands/tablecmds.c:4035 commands/tablecmds.c:4087
+#: commands/tablecmds.c:17073 tcop/utility.c:1325
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation »%s« existiert nicht, wird übersprungen"
@@ -8299,32 +8285,32 @@ msgstr "%s kann nur in einer table_rewrite-Ereignistriggerfunktion aufgerufen we
 msgid "%s can only be called in an event trigger function"
 msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden"
 
-#: commands/explain.c:240 commands/explain.c:265
+#: commands/explain.c:241 commands/explain.c:266
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "unbekannter Wert für EXPLAIN-Option »%s«: »%s«"
 
-#: commands/explain.c:272
+#: commands/explain.c:273
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "unbekannte EXPLAIN-Option »%s«"
 
-#: commands/explain.c:281
+#: commands/explain.c:282
 #, c-format
 msgid "EXPLAIN option WAL requires ANALYZE"
 msgstr "EXPLAIN-Option WAL erfordert ANALYZE"
 
-#: commands/explain.c:290
+#: commands/explain.c:291
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "EXPLAIN-Option TIMING erfordert ANALYZE"
 
-#: commands/explain.c:296
+#: commands/explain.c:297
 #, c-format
 msgid "EXPLAIN option SERIALIZE requires ANALYZE"
 msgstr "EXPLAIN-Option SERIALIZE erfordert ANALYZE"
 
-#: commands/explain.c:302
+#: commands/explain.c:303
 #, c-format
 msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together"
 msgstr "EXPLAIN-Optionen ANALYZE und GENERIC_PLAN können nicht zusammen verwendet werden"
@@ -9115,7 +9101,7 @@ msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen"
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden"
 
-#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3564
+#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "nur geteilte Relationen können in den Tablespace »pg_global« gelegt werden"
@@ -9181,208 +9167,208 @@ msgstr "Im %s-Constraint in Tabelle »%s« fehlt Spalte »%s«, welche Teil des
 msgid "index creation on system columns is not supported"
 msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/indexcmds.c:1344 tcop/utility.c:1515
+#: commands/indexcmds.c:1345 tcop/utility.c:1515
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "kann keinen Unique Index für partitionierte Tabelle »%s« erzeugen"
 
-#: commands/indexcmds.c:1346 tcop/utility.c:1517
+#: commands/indexcmds.c:1347 tcop/utility.c:1517
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind."
 
-#: commands/indexcmds.c:1831
+#: commands/indexcmds.c:1832
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1910 parser/parse_utilcmd.c:2494
+#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494
 #: parser/parse_utilcmd.c:2629
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht"
 
-#: commands/indexcmds.c:1934 parser/parse_utilcmd.c:1782
+#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt"
 
-#: commands/indexcmds.c:1975
+#: commands/indexcmds.c:1976
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1990
+#: commands/indexcmds.c:1991
 #, c-format
 msgid "including column does not support a collation"
 msgstr "inkludierte Spalte unterstützt keine Sortierfolge"
 
-#: commands/indexcmds.c:1994
+#: commands/indexcmds.c:1995
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "inkludierte Spalte unterstützt keine Operatorklasse"
 
-#: commands/indexcmds.c:1998
+#: commands/indexcmds.c:1999
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "inkludierte Spalte unterstützt die Optionen ASC/DESC nicht"
 
-#: commands/indexcmds.c:2002
+#: commands/indexcmds.c:2003
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht"
 
-#: commands/indexcmds.c:2044
+#: commands/indexcmds.c:2046
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: commands/indexcmds.c:2052 commands/tablecmds.c:18078 commands/typecmds.c:811
-#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3918
+#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811
+#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918
 #: utils/adt/misc.c:630
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "Sortierfolgen werden von Typ %s nicht unterstützt"
 
-#: commands/indexcmds.c:2117
+#: commands/indexcmds.c:2121
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "Operator %s ist nicht kommutativ"
 
-#: commands/indexcmds.c:2119
+#: commands/indexcmds.c:2123
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "In Exclusion-Constraints können nur kommutative Operatoren verwendet werden."
 
-#: commands/indexcmds.c:2145
+#: commands/indexcmds.c:2149
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "Operator %s ist kein Mitglied der Operatorfamilie »%s«"
 
-#: commands/indexcmds.c:2148
+#: commands/indexcmds.c:2152
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr "Der Exklusionsoperator muss in Beziehung zur Indexoperatorklasse des Constraints stehen."
 
-#: commands/indexcmds.c:2183
+#: commands/indexcmds.c:2187
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht"
 
-#: commands/indexcmds.c:2188
+#: commands/indexcmds.c:2192
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht"
 
-#: commands/indexcmds.c:2232 commands/tablecmds.c:18103
-#: commands/tablecmds.c:18109 commands/typecmds.c:2311
+#: commands/indexcmds.c:2236 commands/tablecmds.c:18115
+#: commands/tablecmds.c:18121 commands/typecmds.c:2311
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2234
+#: commands/indexcmds.c:2238
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr "Sie müssen für den Index eine Operatorklasse angeben oder eine Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/indexcmds.c:2263 commands/indexcmds.c:2271
+#: commands/indexcmds.c:2267 commands/indexcmds.c:2275
 #: commands/opclasscmds.c:204
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2285 commands/typecmds.c:2299
+#: commands/indexcmds.c:2289 commands/typecmds.c:2299
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
 
-#: commands/indexcmds.c:2375
+#: commands/indexcmds.c:2379
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "es gibt mehrere Standardoperatorklassen für Datentyp %s"
 
-#: commands/indexcmds.c:2703
+#: commands/indexcmds.c:2707
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "unbekannte REINDEX-Option »%s«"
 
-#: commands/indexcmds.c:2935
+#: commands/indexcmds.c:2939
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr "Tabelle »%s« hat keine Indexe, die nebenläufig reindiziert werden können"
 
-#: commands/indexcmds.c:2949
+#: commands/indexcmds.c:2953
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "Tabelle »%s« hat keine zu reindizierenden Indexe"
 
-#: commands/indexcmds.c:2996 commands/indexcmds.c:3507
-#: commands/indexcmds.c:3637
+#: commands/indexcmds.c:3000 commands/indexcmds.c:3511
+#: commands/indexcmds.c:3641
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:3020
+#: commands/indexcmds.c:3024
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "nur die aktuell geöffnete Datenbank kann reindiziert werden"
 
-#: commands/indexcmds.c:3112
+#: commands/indexcmds.c:3116
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:3145
+#: commands/indexcmds.c:3149
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "Systemrelationen können nicht verschoben werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:3191
+#: commands/indexcmds.c:3195
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "beim Reindizieren der partitionierten Tabelle »%s.%s«"
 
-#: commands/indexcmds.c:3194
+#: commands/indexcmds.c:3198
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "beim Reindizieren des partitionierten Index »%s.%s«"
 
-#: commands/indexcmds.c:3387 commands/indexcmds.c:4255
+#: commands/indexcmds.c:3391 commands/indexcmds.c:4259
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "Tabelle »%s.%s« wurde neu indiziert"
 
-#: commands/indexcmds.c:3539 commands/indexcmds.c:3592
+#: commands/indexcmds.c:3543 commands/indexcmds.c:3596
 #, c-format
 msgid "skipping reindex of invalid index \"%s.%s\""
 msgstr "Reindizieren des ungültigen Index »%s.%s« wird übersprungen"
 
-#: commands/indexcmds.c:3542 commands/indexcmds.c:3595
+#: commands/indexcmds.c:3546 commands/indexcmds.c:3599
 #, c-format
 msgid "Use DROP INDEX or REINDEX INDEX."
 msgstr "Verwenden Sie DROP INDEX oder REINDEX INDEX."
 
-#: commands/indexcmds.c:3546
+#: commands/indexcmds.c:3550
 #, c-format
 msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
 msgstr "Exclusion-Constraint-Index »%s.%s« kann nicht nebenläufig reindizert werden, wird übersprungen"
 
-#: commands/indexcmds.c:3702
+#: commands/indexcmds.c:3706
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "diese Art Relation kann nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:3720
+#: commands/indexcmds.c:3724
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr "nicht geteilte Relation kann nicht nach Tablespace »%s« verschoben werden"
 
-#: commands/indexcmds.c:4236 commands/indexcmds.c:4248
+#: commands/indexcmds.c:4240 commands/indexcmds.c:4252
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "Index »%s.%s« wurde neu indiziert"
 
-#: commands/indexcmds.c:4238 commands/indexcmds.c:4257
+#: commands/indexcmds.c:4242 commands/indexcmds.c:4261
 #, c-format
 msgid "%s."
 msgstr "%s."
@@ -9392,32 +9378,32 @@ msgstr "%s."
 msgid "cannot lock relation \"%s\""
 msgstr "kann Relation »%s« nicht sperren"
 
-#: commands/matview.c:190
+#: commands/matview.c:206
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht nicht befüllt ist"
 
-#: commands/matview.c:196 gram.y:18967
+#: commands/matview.c:212 gram.y:18967
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "Optionen %s und %s können nicht zusammen verwendet werden"
 
-#: commands/matview.c:253
+#: commands/matview.c:269
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "kann materialisierte Sicht »%s« nicht nebenläufig auffrischen"
 
-#: commands/matview.c:256
+#: commands/matview.c:272
 #, 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."
 
-#: commands/matview.c:650
+#: commands/matview.c:666
 #, c-format
 msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
 msgstr "neue Daten für materialisierte Sicht »%s« enthalten doppelte Zeilen ohne Spalten mit NULL-Werten"
 
-#: commands/matview.c:652
+#: commands/matview.c:668
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
@@ -9713,9 +9699,9 @@ msgstr "Operator-Attribut »%s« kann nicht geändert werden, wenn es schon gese
 
 #: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146
 #: commands/tablecmds.c:1728 commands/tablecmds.c:2328
-#: commands/tablecmds.c:3675 commands/tablecmds.c:6613
-#: commands/tablecmds.c:9645 commands/tablecmds.c:17665
-#: commands/tablecmds.c:17700 commands/trigger.c:316 commands/trigger.c:1332
+#: commands/tablecmds.c:3687 commands/tablecmds.c:6625
+#: commands/tablecmds.c:9657 commands/tablecmds.c:17677
+#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332
 #: commands/trigger.c:1442 rewrite/rewriteDefine.c:268
 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74
 #, c-format
@@ -9768,7 +9754,7 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation"
 msgstr "kann WITH-HOLD-Cursor nicht in einer sicherheitsbeschränkten Operation erzeugen"
 
 #: commands/portalcmds.c:189 commands/portalcmds.c:242
-#: executor/execCurrent.c:70 utils/adt/xml.c:2873 utils/adt/xml.c:3043
+#: executor/execCurrent.c:70 utils/adt/xml.c:2915 utils/adt/xml.c:3085
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor »%s« existiert nicht"
@@ -10050,123 +10036,123 @@ msgstr "Security-Labels werden für diese Art Objekt nicht unterstützt"
 msgid "cannot set security label on relation \"%s\""
 msgstr "Security-Label für Relation »%s« kann nicht gesetzt werden"
 
-#: commands/sequence.c:741
+#: commands/sequence.c:748
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%lld)"
 msgstr "nextval: Maximalwert von Sequenz »%s« erreicht (%lld)"
 
-#: commands/sequence.c:760
+#: commands/sequence.c:767
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%lld)"
 msgstr "nextval: Minimalwert von Sequenz »%s« erreicht (%lld)"
 
-#: commands/sequence.c:879
+#: commands/sequence.c:886
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval von Sequenz »%s« ist in dieser Sitzung noch nicht definiert"
 
-#: commands/sequence.c:898 commands/sequence.c:904
+#: commands/sequence.c:905 commands/sequence.c:911
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval ist in dieser Sitzung noch nicht definiert"
 
-#: commands/sequence.c:984
+#: commands/sequence.c:991
 #, c-format
 msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)"
 msgstr "setval: Wert %lld ist außerhalb des gültigen Bereichs von Sequenz »%s« (%lld..%lld)"
 
-#: commands/sequence.c:1347
+#: commands/sequence.c:1354
 #, c-format
 msgid "invalid sequence option SEQUENCE NAME"
 msgstr "ungültige Sequenzoption SEQUENCE NAME"
 
-#: commands/sequence.c:1373
+#: commands/sequence.c:1380
 #, c-format
 msgid "identity column type must be smallint, integer, or bigint"
 msgstr "Typ von Identitätsspalte muss smallint, integer oder bigint sein"
 
-#: commands/sequence.c:1374
+#: commands/sequence.c:1381
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
 msgstr "Sequenztyp muss smallint, integer oder bigint sein"
 
-#: commands/sequence.c:1408
+#: commands/sequence.c:1415
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT darf nicht null sein"
 
-#: commands/sequence.c:1456
+#: commands/sequence.c:1463
 #, c-format
 msgid "MAXVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MAXVALUE (%lld) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1488
+#: commands/sequence.c:1495
 #, c-format
 msgid "MINVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MINVALUE (%lld) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1496
+#: commands/sequence.c:1503
 #, c-format
 msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)"
 msgstr "MINVALUE (%lld) muss kleiner als MAXVALUE (%lld) sein"
 
-#: commands/sequence.c:1517
+#: commands/sequence.c:1524
 #, c-format
 msgid "START value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "START-Wert (%lld) kann nicht kleiner als MINVALUE (%lld) sein"
 
-#: commands/sequence.c:1523
+#: commands/sequence.c:1530
 #, c-format
 msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "START-Wert (%lld) kann nicht größer als MAXVALUE (%lld) sein"
 
-#: commands/sequence.c:1547
+#: commands/sequence.c:1554
 #, c-format
 msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "RESTART-Wert (%lld) kann nicht kleiner als MINVALUE (%lld) sein"
 
-#: commands/sequence.c:1553
+#: commands/sequence.c:1560
 #, c-format
 msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "RESTART-Wert (%lld) kann nicht größer als MAXVALUE (%lld) sein"
 
-#: commands/sequence.c:1564
+#: commands/sequence.c:1571
 #, c-format
 msgid "CACHE (%lld) must be greater than zero"
 msgstr "CACHE (%lld) muss größer als null sein"
 
-#: commands/sequence.c:1600
+#: commands/sequence.c:1607
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "ungültige OWNED BY Option"
 
-#: commands/sequence.c:1601
+#: commands/sequence.c:1608
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Geben Sie OWNED BY tabelle.spalte oder OWNED BY NONE an."
 
-#: commands/sequence.c:1626
+#: commands/sequence.c:1633
 #, c-format
 msgid "sequence cannot be owned by relation \"%s\""
 msgstr "Sequenz kann nicht mit Relation »%s« verknüpft werden"
 
-#: commands/sequence.c:1634
+#: commands/sequence.c:1641
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "Sequenz muss selben Eigentümer wie die verknüpfte Tabelle haben"
 
-#: commands/sequence.c:1638
+#: commands/sequence.c:1645
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein"
 
-#: commands/sequence.c:1660
+#: commands/sequence.c:1667
 #, c-format
 msgid "cannot change ownership of identity sequence"
 msgstr "kann Eigentümer einer Identitätssequenz nicht ändern"
 
-#: commands/sequence.c:1661 commands/tablecmds.c:14387
-#: commands/tablecmds.c:17081
+#: commands/sequence.c:1668 commands/tablecmds.c:14399
+#: commands/tablecmds.c:17093
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
@@ -10236,12 +10222,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition"
 msgid "duplicate expression in statistics definition"
 msgstr "doppelter Ausdruck in Statistikdefinition"
 
-#: commands/statscmds.c:628 commands/tablecmds.c:8628
+#: commands/statscmds.c:628 commands/tablecmds.c:8640
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/statscmds.c:636 commands/tablecmds.c:8636
+#: commands/statscmds.c:636 commands/tablecmds.c:8648
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
@@ -10532,7 +10518,7 @@ msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen"
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Verwenden Sie DROP MATERIALIZED VIEW, um eine materialisierte Sicht zu löschen."
 
-#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19627
+#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648
 #: parser/parse_utilcmd.c:2226
 #, c-format
 msgid "index \"%s\" does not exist"
@@ -10556,8 +10542,8 @@ msgstr "»%s« ist kein Typ"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen."
 
-#: commands/tablecmds.c:291 commands/tablecmds.c:14226
-#: commands/tablecmds.c:16786
+#: commands/tablecmds.c:291 commands/tablecmds.c:14238
+#: commands/tablecmds.c:16798
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle »%s« existiert nicht"
@@ -10581,7 +10567,7 @@ msgstr "ON COMMIT kann nur mit temporären Tabellen verwendet werden"
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "kann temporäre Tabelle nicht in einer sicherheitsbeschränkten Operation erzeugen"
 
-#: commands/tablecmds.c:789 commands/tablecmds.c:15645
+#: commands/tablecmds.c:789 commands/tablecmds.c:15657
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "von der Relation »%s« würde mehrmals geerbt werden"
@@ -10606,7 +10592,7 @@ msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen"
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "Tabelle »%s« enthält Unique Indexe."
 
-#: commands/tablecmds.c:1326 commands/tablecmds.c:13242
+#: commands/tablecmds.c:1326 commands/tablecmds.c:13254
 #, c-format
 msgid "too many array dimensions"
 msgstr "zu viele Array-Dimensionen"
@@ -10657,7 +10643,7 @@ msgstr "kann Fremdtabelle »%s« nicht leeren"
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 
-#: commands/tablecmds.c:2594 commands/tablecmds.c:15542
+#: commands/tablecmds.c:2594 commands/tablecmds.c:15554
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
@@ -10673,23 +10659,23 @@ msgstr "von Partition »%s« kann nicht geerbt werden"
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:2619 commands/tablecmds.c:20391
+#: commands/tablecmds.c:2619 commands/tablecmds.c:20412
 #, c-format
 msgid "cannot create a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden"
 
-#: commands/tablecmds.c:2628 commands/tablecmds.c:15521
+#: commands/tablecmds.c:2628 commands/tablecmds.c:15533
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2638 commands/tablecmds.c:15529
+#: commands/tablecmds.c:2638 commands/tablecmds.c:15541
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden"
 
 #: commands/tablecmds.c:2779 commands/tablecmds.c:2833
-#: commands/tablecmds.c:12925 parser/parse_utilcmd.c:1240
+#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240
 #: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710
 #: parser/parse_utilcmd.c:1818
 #, c-format
@@ -10790,7 +10776,7 @@ msgid "column \"%s\" has a collation conflict"
 msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt"
 
 #: commands/tablecmds.c:3152 commands/tablecmds.c:3314
-#: commands/tablecmds.c:7088
+#: commands/tablecmds.c:7100
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "»%s« gegen »%s«"
@@ -10830,1166 +10816,1166 @@ msgstr "geerbte Spalte »%s« hat einen Konflikt bei einem Storage-Parameter"
 msgid "inherited column \"%s\" has a generation conflict"
 msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt"
 
-#: commands/tablecmds.c:3573
+#: commands/tablecmds.c:3585
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:3643
+#: commands/tablecmds.c:3655
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3662
+#: commands/tablecmds.c:3674
 #, c-format
 msgid "cannot rename columns of relation \"%s\""
 msgstr "Spalten von Relation »%s« können nicht umbenannt werden"
 
-#: commands/tablecmds.c:3757
+#: commands/tablecmds.c:3769
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "vererbte Spalte »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden"
 
-#: commands/tablecmds.c:3789
+#: commands/tablecmds.c:3801
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3804
+#: commands/tablecmds.c:3816
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht umbenennen"
 
-#: commands/tablecmds.c:3956
+#: commands/tablecmds.c:3968
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "vererbter Constraint »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden"
 
-#: commands/tablecmds.c:3963
+#: commands/tablecmds.c:3975
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "kann vererbten Constraint »%s« nicht umbenennen"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4260
+#: commands/tablecmds.c:4272
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "%s mit Relation »%s« nicht möglich, weil sie von aktiven Anfragen in dieser Sitzung verwendet wird"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4269
+#: commands/tablecmds.c:4281
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "%s mit Relation »%s« nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt"
 
-#: commands/tablecmds.c:4295
+#: commands/tablecmds.c:4307
 #, c-format
 msgid "cannot alter temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht ändern"
 
-#: commands/tablecmds.c:4776
+#: commands/tablecmds.c:4788
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
 msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern"
 
-#: commands/tablecmds.c:4980 commands/tablecmds.c:4995
+#: commands/tablecmds.c:4992 commands/tablecmds.c:5007
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "Persistenzeinstellung kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:5016
+#: commands/tablecmds.c:5028
 #, c-format
 msgid "cannot have multiple SET ACCESS METHOD subcommands"
 msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:5772
+#: commands/tablecmds.c:5784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:5778
+#: commands/tablecmds.c:5790
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "Tabelle »%s«, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:5790
+#: commands/tablecmds.c:5802
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben"
 
-#: commands/tablecmds.c:6285
+#: commands/tablecmds.c:6297
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte"
 
-#: commands/tablecmds.c:6302
+#: commands/tablecmds.c:6314
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:6321 partitioning/partbounds.c:3388
+#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
 msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden"
 
-#: commands/tablecmds.c:6327
+#: commands/tablecmds.c:6339
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt"
 
 #. translator: %s is a group of some SQL keywords
-#: commands/tablecmds.c:6596
+#: commands/tablecmds.c:6608
 #, c-format
 msgid "ALTER action %s cannot be performed on relation \"%s\""
 msgstr "ALTER-Aktion %s kann nicht mit Relation »%s« ausgeführt werden"
 
-#: commands/tablecmds.c:6851 commands/tablecmds.c:6858
+#: commands/tablecmds.c:6863 commands/tablecmds.c:6870
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "kann Typ »%s« nicht ändern, weil Spalte »%s.%s« ihn verwendet"
 
-#: commands/tablecmds.c:6865
+#: commands/tablecmds.c:6877
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Fremdtabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:6872
+#: commands/tablecmds.c:6884
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Tabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:6928
+#: commands/tablecmds.c:6940
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist"
 
-#: commands/tablecmds.c:6930
+#: commands/tablecmds.c:6942
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern."
 
-#: commands/tablecmds.c:6976
+#: commands/tablecmds.c:6988
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:7003
+#: commands/tablecmds.c:7015
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:7051
+#: commands/tablecmds.c:7063
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:7080 commands/tablecmds.c:15760
+#: commands/tablecmds.c:7092 commands/tablecmds.c:15772
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:7086 commands/tablecmds.c:15766
+#: commands/tablecmds.c:7098 commands/tablecmds.c:15778
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Sortierfolge für Spalte »%s«"
 
-#: commands/tablecmds.c:7104
+#: commands/tablecmds.c:7116
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "Definition von Spalte »%s« für abgeleitete Tabelle »%s« wird zusammengeführt"
 
-#: commands/tablecmds.c:7157
+#: commands/tablecmds.c:7169
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr "eine Identitätsspalte kann nicht rekursiv zu einer Tabelle hinzugefügt werden, die abgeleitete Tabellen hat"
 
-#: commands/tablecmds.c:7370
+#: commands/tablecmds.c:7382
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:7448
+#: commands/tablecmds.c:7460
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:7455
+#: commands/tablecmds.c:7467
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits"
 
-#: commands/tablecmds.c:7521 commands/tablecmds.c:12564
+#: commands/tablecmds.c:7533 commands/tablecmds.c:12576
 #, c-format
 msgid "cannot remove constraint from only the partitioned table when partitions exist"
 msgstr "Constraint kann nicht nur von der partitionierten Tabelle entfernt werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:7522 commands/tablecmds.c:7836
-#: commands/tablecmds.c:8014 commands/tablecmds.c:8121
-#: commands/tablecmds.c:8238 commands/tablecmds.c:9057
-#: commands/tablecmds.c:12565
+#: commands/tablecmds.c:7534 commands/tablecmds.c:7848
+#: commands/tablecmds.c:8026 commands/tablecmds.c:8133
+#: commands/tablecmds.c:8250 commands/tablecmds.c:9069
+#: commands/tablecmds.c:12577
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "Lassen Sie das Schlüsselwort ONLY weg."
 
-#: commands/tablecmds.c:7558 commands/tablecmds.c:7762
-#: commands/tablecmds.c:7904 commands/tablecmds.c:8036
-#: commands/tablecmds.c:8165 commands/tablecmds.c:8259
-#: commands/tablecmds.c:8360 commands/tablecmds.c:8517
-#: commands/tablecmds.c:8670 commands/tablecmds.c:8751
-#: commands/tablecmds.c:8885 commands/tablecmds.c:12718
-#: commands/tablecmds.c:14249 commands/tablecmds.c:16875
+#: commands/tablecmds.c:7570 commands/tablecmds.c:7774
+#: commands/tablecmds.c:7916 commands/tablecmds.c:8048
+#: commands/tablecmds.c:8177 commands/tablecmds.c:8271
+#: commands/tablecmds.c:8372 commands/tablecmds.c:8529
+#: commands/tablecmds.c:8682 commands/tablecmds.c:8763
+#: commands/tablecmds.c:8897 commands/tablecmds.c:12730
+#: commands/tablecmds.c:14261 commands/tablecmds.c:16887
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:7564 commands/tablecmds.c:7910
+#: commands/tablecmds.c:7576 commands/tablecmds.c:7922
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist eine Identitätsspalte"
 
-#: commands/tablecmds.c:7605
+#: commands/tablecmds.c:7617
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "Spalte »%s« ist in einem Primärschlüssel"
 
-#: commands/tablecmds.c:7610
+#: commands/tablecmds.c:7622
 #, c-format
 msgid "column \"%s\" is in index used as replica identity"
 msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird"
 
-#: commands/tablecmds.c:7633
+#: commands/tablecmds.c:7645
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert"
 
-#: commands/tablecmds.c:7833 commands/tablecmds.c:9541
+#: commands/tablecmds.c:7845 commands/tablecmds.c:9553
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:7834
+#: commands/tablecmds.c:7846
 #, c-format
 msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
 msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL."
 
-#: commands/tablecmds.c:7919
+#: commands/tablecmds.c:7931
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte"
 
-#: commands/tablecmds.c:8013
+#: commands/tablecmds.c:8025
 #, fuzzy, c-format
 #| msgid "cannot drop column from only the partitioned table when partitions exist"
 msgid "cannot add identity to a column of only the partitioned table"
 msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:8019
+#: commands/tablecmds.c:8031
 #, c-format
 msgid "cannot add identity to a column of a partition"
 msgstr "zu einer Spalte einer Partition kann keine Identität hinzugefügt werden"
 
-#: commands/tablecmds.c:8047
+#: commands/tablecmds.c:8059
 #, c-format
 msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added"
 msgstr "Spalte »%s« von Relation »%s« muss als NOT NULL deklariert werden, bevor Sie Identitätsspalte werden kann"
 
-#: commands/tablecmds.c:8053
+#: commands/tablecmds.c:8065
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist bereits eine Identitätsspalte"
 
-#: commands/tablecmds.c:8059
+#: commands/tablecmds.c:8071
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "Spalte »%s« von Relation »%s« hat bereits einen Vorgabewert"
 
-#: commands/tablecmds.c:8120
+#: commands/tablecmds.c:8132
 #, fuzzy, c-format
 #| msgid "cannot change inheritance of partitioned table"
 msgid "cannot change identity column of only the partitioned table"
 msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:8126
+#: commands/tablecmds.c:8138
 #, c-format
 msgid "cannot change identity column of a partition"
 msgstr "Identitätsspalte einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:8171 commands/tablecmds.c:8267
+#: commands/tablecmds.c:8183 commands/tablecmds.c:8279
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte"
 
-#: commands/tablecmds.c:8237
+#: commands/tablecmds.c:8249
 #, fuzzy, c-format
 #| msgid "cannot drop column from only the partitioned table when partitions exist"
 msgid "cannot drop identity from a column of only the partitioned table"
 msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:8243
+#: commands/tablecmds.c:8255
 #, fuzzy, c-format
 #| msgid "cannot add column to a partition"
 msgid "cannot drop identity from a column of a partition"
 msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:8272
+#: commands/tablecmds.c:8284
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte, wird übersprungen"
 
-#: commands/tablecmds.c:8366
+#: commands/tablecmds.c:8378
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a generated column"
 msgstr "Spalte »%s« von Relation »%s« ist keine generierte Spalte"
 
-#: commands/tablecmds.c:8464
+#: commands/tablecmds.c:8476
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden"
 
-#: commands/tablecmds.c:8486
+#: commands/tablecmds.c:8498
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:8525
+#: commands/tablecmds.c:8537
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
 msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte"
 
-#: commands/tablecmds.c:8530
+#: commands/tablecmds.c:8542
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
 msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen"
 
-#: commands/tablecmds.c:8608
+#: commands/tablecmds.c:8620
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden"
 
-#: commands/tablecmds.c:8660
+#: commands/tablecmds.c:8672
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "Spalte Nummer %d von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:8679
+#: commands/tablecmds.c:8691
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden"
 
-#: commands/tablecmds.c:8684
+#: commands/tablecmds.c:8696
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern"
 
-#: commands/tablecmds.c:8686
+#: commands/tablecmds.c:8698
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte."
 
-#: commands/tablecmds.c:8932
+#: commands/tablecmds.c:8944
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:8995
+#: commands/tablecmds.c:9007
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:9008
+#: commands/tablecmds.c:9020
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:9018
+#: commands/tablecmds.c:9030
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:9031
+#: commands/tablecmds.c:9043
 #, c-format
 msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:9056
+#: commands/tablecmds.c:9068
 #, c-format
 msgid "cannot drop column from only the partitioned table when partitions exist"
 msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:9261
+#: commands/tablecmds.c:9273
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt"
 
-#: commands/tablecmds.c:9286
+#: commands/tablecmds.c:9298
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«"
 
-#: commands/tablecmds.c:9623
+#: commands/tablecmds.c:9635
 #, c-format
 msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
 
-#: commands/tablecmds.c:9629
+#: commands/tablecmds.c:9641
 #, c-format
 msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
 
-#: commands/tablecmds.c:9632
+#: commands/tablecmds.c:9644
 #, c-format
 msgid "This feature is not yet supported on partitioned tables."
 msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
 
-#: commands/tablecmds.c:9639 commands/tablecmds.c:10095
+#: commands/tablecmds.c:9651 commands/tablecmds.c:10107
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:9662
+#: commands/tablecmds.c:9674
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen"
 
-#: commands/tablecmds.c:9669
+#: commands/tablecmds.c:9681
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen"
 
-#: commands/tablecmds.c:9675
+#: commands/tablecmds.c:9687
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen"
 
-#: commands/tablecmds.c:9679
+#: commands/tablecmds.c:9691
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten"
 
-#: commands/tablecmds.c:9743 commands/tablecmds.c:9749
+#: commands/tablecmds.c:9755 commands/tablecmds.c:9761
 #, c-format
 msgid "invalid %s action for foreign key constraint containing generated column"
 msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält"
 
-#: commands/tablecmds.c:9765
+#: commands/tablecmds.c:9777
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein"
 
-#: commands/tablecmds.c:9872
+#: commands/tablecmds.c:9884
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden"
 
-#: commands/tablecmds.c:9874
+#: commands/tablecmds.c:9886
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s."
 
-#: commands/tablecmds.c:10031
+#: commands/tablecmds.c:10043
 #, c-format
 msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
 msgstr "Spalte »%s«, auf die in der ON-DELETE-SET-Aktion verwiesen wird, muss Teil des Fremdschlüssels sein"
 
-#: commands/tablecmds.c:10305 commands/tablecmds.c:10775
+#: commands/tablecmds.c:10317 commands/tablecmds.c:10787
 #: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: commands/tablecmds.c:11328 commands/tablecmds.c:11609
-#: commands/tablecmds.c:12521 commands/tablecmds.c:12595
+#: commands/tablecmds.c:11340 commands/tablecmds.c:11621
+#: commands/tablecmds.c:12533 commands/tablecmds.c:12607
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:11335
+#: commands/tablecmds.c:11347
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint"
 
-#: commands/tablecmds.c:11373
+#: commands/tablecmds.c:11385
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:11376
+#: commands/tablecmds.c:11388
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet."
 
-#: commands/tablecmds.c:11378
+#: commands/tablecmds.c:11390
 #, c-format
 msgid "You may alter the constraint it derives from instead."
 msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern."
 
-#: commands/tablecmds.c:11617
+#: commands/tablecmds.c:11629
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel- oder Check-Constraint"
 
-#: commands/tablecmds.c:11694
+#: commands/tablecmds.c:11706
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:11781
+#: commands/tablecmds.c:11793
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "Spalte »%s«, die im Fremdschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:11787
+#: commands/tablecmds.c:11799
 #, c-format
 msgid "system columns cannot be used in foreign keys"
 msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden"
 
-#: commands/tablecmds.c:11791
+#: commands/tablecmds.c:11803
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben"
 
-#: commands/tablecmds.c:11856
+#: commands/tablecmds.c:11868
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:11873
+#: commands/tablecmds.c:11885
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Primärschlüssel"
 
-#: commands/tablecmds.c:11941
+#: commands/tablecmds.c:11953
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten"
 
-#: commands/tablecmds.c:12033
+#: commands/tablecmds.c:12045
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:12038
+#: commands/tablecmds.c:12050
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt"
 
-#: commands/tablecmds.c:12477
+#: commands/tablecmds.c:12489
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:12527
+#: commands/tablecmds.c:12539
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:12702
+#: commands/tablecmds.c:12714
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:12729
+#: commands/tablecmds.c:12741
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht ändern"
 
-#: commands/tablecmds.c:12738
+#: commands/tablecmds.c:12750
 #, c-format
 msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:12788
+#: commands/tablecmds.c:12800
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Ergebnis der USING-Klausel für Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:12791
+#: commands/tablecmds.c:12803
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen."
 
-#: commands/tablecmds.c:12795
+#: commands/tablecmds.c:12807
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:12798
+#: commands/tablecmds.c:12810
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise »USING %s::%s« angeben."
 
-#: commands/tablecmds.c:12897
+#: commands/tablecmds.c:12909
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:12926
+#: commands/tablecmds.c:12938
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle."
 
-#: commands/tablecmds.c:12937
+#: commands/tablecmds.c:12949
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "Typ der vererbten Spalte »%s« muss ebenso in den abgeleiteten Tabellen geändert werden"
 
-#: commands/tablecmds.c:13062
+#: commands/tablecmds.c:13074
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:13100
+#: commands/tablecmds.c:13112
 #, c-format
 msgid "generation expression for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:13105
+#: commands/tablecmds.c:13117
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:13409
+#: commands/tablecmds.c:13421
 #, c-format
 msgid "cannot alter type of a column used by a function or procedure"
 msgstr "Typ einer Spalte, die von einer Funktion oder Prozedur verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13410 commands/tablecmds.c:13425
-#: commands/tablecmds.c:13445 commands/tablecmds.c:13464
-#: commands/tablecmds.c:13523
+#: commands/tablecmds.c:13422 commands/tablecmds.c:13437
+#: commands/tablecmds.c:13457 commands/tablecmds.c:13476
+#: commands/tablecmds.c:13535
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte »%s« ab"
 
-#: commands/tablecmds.c:13424
+#: commands/tablecmds.c:13436
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13444
+#: commands/tablecmds.c:13456
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13463
+#: commands/tablecmds.c:13475
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13494
+#: commands/tablecmds.c:13506
 #, c-format
 msgid "cannot alter type of a column used by a generated column"
 msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13495
+#: commands/tablecmds.c:13507
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet."
 
-#: commands/tablecmds.c:13522
+#: commands/tablecmds.c:13534
 #, c-format
 msgid "cannot alter type of a column used by a publication WHERE clause"
 msgstr "Typ einer Spalte, die in der WHERE-Klausel einer Publikation verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:14357 commands/tablecmds.c:14369
+#: commands/tablecmds.c:14369 commands/tablecmds.c:14381
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:14359 commands/tablecmds.c:14371
+#: commands/tablecmds.c:14371 commands/tablecmds.c:14383
 #, c-format
 msgid "Change the ownership of the index's table instead."
 msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index."
 
-#: commands/tablecmds.c:14385
+#: commands/tablecmds.c:14397
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz »%s« nicht ändern"
 
-#: commands/tablecmds.c:14410
+#: commands/tablecmds.c:14422
 #, c-format
 msgid "cannot change owner of relation \"%s\""
 msgstr "kann Eigentümer der Relation »%s« nicht ändern"
 
-#: commands/tablecmds.c:14877
+#: commands/tablecmds.c:14889
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:14954
+#: commands/tablecmds.c:14966
 #, c-format
 msgid "cannot set options for relation \"%s\""
 msgstr "für Relation »%s« können keine Optionen gesetzt werden"
 
-#: commands/tablecmds.c:14988 commands/view.c:440
+#: commands/tablecmds.c:15000 commands/view.c:440
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt"
 
-#: commands/tablecmds.c:15238
+#: commands/tablecmds.c:15250
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces"
 
-#: commands/tablecmds.c:15250
+#: commands/tablecmds.c:15262
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "Relationen können nicht in den oder aus dem Tablespace »pg_global« verschoben werden"
 
-#: commands/tablecmds.c:15342
+#: commands/tablecmds.c:15354
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "Abbruch weil Sperre für Relation »%s.%s« nicht verfügbar ist"
 
-#: commands/tablecmds.c:15358
+#: commands/tablecmds.c:15370
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
 
-#: commands/tablecmds.c:15480
+#: commands/tablecmds.c:15492
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:15485 commands/tablecmds.c:15985
+#: commands/tablecmds.c:15497 commands/tablecmds.c:15997
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "Vererbung einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:15490
+#: commands/tablecmds.c:15502
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:15536
+#: commands/tablecmds.c:15548
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden"
 
-#: commands/tablecmds.c:15549
+#: commands/tablecmds.c:15561
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:15571 commands/tablecmds.c:18453
+#: commands/tablecmds.c:15583 commands/tablecmds.c:18465
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:15572 commands/tablecmds.c:18454
+#: commands/tablecmds.c:15584 commands/tablecmds.c:18466
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "»%s« ist schon von »%s« abgeleitet."
 
-#: commands/tablecmds.c:15585
+#: commands/tablecmds.c:15597
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr "Trigger »%s« verhindert, dass Tabelle »%s« ein Vererbungskind werden kann"
 
-#: commands/tablecmds.c:15587
+#: commands/tablecmds.c:15599
 #, c-format
 msgid "ROW triggers with transition tables are not supported in inheritance hierarchies."
 msgstr "ROW-Trigger mit Übergangstabellen werden in Vererbungshierarchien nicht unterstützt."
 
-#: commands/tablecmds.c:15776
+#: commands/tablecmds.c:15788
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein"
 
-#: commands/tablecmds.c:15785
+#: commands/tablecmds.c:15797
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein"
 
-#: commands/tablecmds.c:15789
+#: commands/tablecmds.c:15801
 #, c-format
 msgid "column \"%s\" in child table must not be a generated column"
 msgstr "Spalte »%s« in abgeleiteter Tabelle darf keine generierte Spalte sein"
 
-#: commands/tablecmds.c:15827
+#: commands/tablecmds.c:15839
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:15908
+#: commands/tablecmds.c:15920
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Definition für Check-Constraint »%s«"
 
-#: commands/tablecmds.c:15915
+#: commands/tablecmds.c:15927
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle »%s«"
 
-#: commands/tablecmds.c:15925
+#: commands/tablecmds.c:15937
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
 msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«"
 
-#: commands/tablecmds.c:15963
+#: commands/tablecmds.c:15975
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:16049
+#: commands/tablecmds.c:16061
 #, c-format
 msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
 msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«"
 
-#: commands/tablecmds.c:16078 commands/tablecmds.c:16124
+#: commands/tablecmds.c:16090 commands/tablecmds.c:16136
 #: parser/parse_utilcmd.c:3261
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "Relation »%s« ist keine Partition von Relation »%s«"
 
-#: commands/tablecmds.c:16130
+#: commands/tablecmds.c:16142
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:16357
+#: commands/tablecmds.c:16369
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:16387
+#: commands/tablecmds.c:16399
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in Tabelle"
 
-#: commands/tablecmds.c:16398
+#: commands/tablecmds.c:16410
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«"
 
-#: commands/tablecmds.c:16407
+#: commands/tablecmds.c:16419
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:16421
+#: commands/tablecmds.c:16433
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte »%s«"
 
-#: commands/tablecmds.c:16473
+#: commands/tablecmds.c:16485
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "»%s« ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:16647
+#: commands/tablecmds.c:16659
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "nicht eindeutiger Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:16653
+#: commands/tablecmds.c:16665
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist"
 
-#: commands/tablecmds.c:16659
+#: commands/tablecmds.c:16671
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:16665
+#: commands/tablecmds.c:16677
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "partieller Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:16682
+#: commands/tablecmds.c:16694
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist"
 
-#: commands/tablecmds.c:16689
+#: commands/tablecmds.c:16701
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte »%s« NULL-Werte akzeptiert"
 
-#: commands/tablecmds.c:16941
+#: commands/tablecmds.c:16953
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "kann den geloggten Status der Tabelle »%s« nicht ändern, weil sie temporär ist"
 
-#: commands/tablecmds.c:16965
+#: commands/tablecmds.c:16977
 #, c-format
 msgid "cannot change table \"%s\" to unlogged because it is part of a publication"
 msgstr "kann Tabelle »%s« nicht in ungeloggt ändern, weil sie Teil einer Publikation ist"
 
-#: commands/tablecmds.c:16967
+#: commands/tablecmds.c:16979
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Ungeloggte Relationen können nicht repliziert werden."
 
-#: commands/tablecmds.c:17012
+#: commands/tablecmds.c:17024
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "konnte Tabelle »%s« nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle »%s« verweist"
 
-#: commands/tablecmds.c:17022
+#: commands/tablecmds.c:17034
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "konnte Tabelle »%s« nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle »%s« verweist"
 
-#: commands/tablecmds.c:17080
+#: commands/tablecmds.c:17092
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden"
 
-#: commands/tablecmds.c:17185
+#: commands/tablecmds.c:17197
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation »%s« existiert bereits in Schema »%s«"
 
-#: commands/tablecmds.c:17606
+#: commands/tablecmds.c:17618
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
 
-#: commands/tablecmds.c:17759
+#: commands/tablecmds.c:17771
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "»%s« ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:17789
+#: commands/tablecmds.c:17801
 #, c-format
 msgid "cannot change schema of index \"%s\""
 msgstr "kann Schema des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:17791 commands/tablecmds.c:17805
+#: commands/tablecmds.c:17803 commands/tablecmds.c:17817
 #, c-format
 msgid "Change the schema of the table instead."
 msgstr "Ändern Sie stattdessen das Schema der Tabelle."
 
-#: commands/tablecmds.c:17795
+#: commands/tablecmds.c:17807
 #, c-format
 msgid "cannot change schema of composite type \"%s\""
 msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern"
 
-#: commands/tablecmds.c:17803
+#: commands/tablecmds.c:17815
 #, c-format
 msgid "cannot change schema of TOAST table \"%s\""
 msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern"
 
-#: commands/tablecmds.c:17835
+#: commands/tablecmds.c:17847
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "Partitionierungsstrategie »list« kann nicht mit mehr als einer Spalte verwendet werden"
 
-#: commands/tablecmds.c:17901
+#: commands/tablecmds.c:17913
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:17909
+#: commands/tablecmds.c:17921
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:17920 commands/tablecmds.c:18010
+#: commands/tablecmds.c:17932 commands/tablecmds.c:18022
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:17921 commands/tablecmds.c:18011 commands/trigger.c:656
+#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656
 #: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "Spalte »%s« ist eine generierte Spalte."
 
-#: commands/tablecmds.c:17993
+#: commands/tablecmds.c:18005
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen"
 
-#: commands/tablecmds.c:18040
+#: commands/tablecmds.c:18052
 #, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
 msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/tablecmds.c:18049
+#: commands/tablecmds.c:18061
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein"
 
-#: commands/tablecmds.c:18070
+#: commands/tablecmds.c:18082
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "konnte die für den Partitionierungsausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: commands/tablecmds.c:18105
+#: commands/tablecmds.c:18117
 #, c-format
 msgid "You must specify a hash operator class or define a default hash operator class for the data type."
 msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:18111
+#: commands/tablecmds.c:18123
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:18393
+#: commands/tablecmds.c:18405
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "»%s« ist bereits eine Partition"
 
-#: commands/tablecmds.c:18399
+#: commands/tablecmds.c:18411
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18415
+#: commands/tablecmds.c:18427
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "ein Vererbungskind kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18429
+#: commands/tablecmds.c:18441
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18463
+#: commands/tablecmds.c:18475
 #, c-format
 msgid "cannot attach a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:18471
+#: commands/tablecmds.c:18483
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:18479
+#: commands/tablecmds.c:18491
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen"
 
-#: commands/tablecmds.c:18486
+#: commands/tablecmds.c:18498
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18506
+#: commands/tablecmds.c:18518
 #, fuzzy, c-format
 #| msgid "table \"%s\" has different type for column \"%s\""
 msgid "table \"%s\" being attached contains an identity column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:18508
+#: commands/tablecmds.c:18520
 #, fuzzy, c-format
 #| msgid "The new partition may contain only the columns present in parent."
 msgid "The new partition may not contain an identity column."
 msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat."
 
-#: commands/tablecmds.c:18516
+#: commands/tablecmds.c:18528
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde"
 
-#: commands/tablecmds.c:18519
+#: commands/tablecmds.c:18531
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat."
 
-#: commands/tablecmds.c:18531
+#: commands/tablecmds.c:18543
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann"
 
-#: commands/tablecmds.c:18533
+#: commands/tablecmds.c:18545
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions."
 msgstr "ROW-Trigger mit Übergangstabellen werden für Partitionen nicht unterstützt."
 
-#: commands/tablecmds.c:18694
+#: commands/tablecmds.c:18706
 #, c-format
 msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen"
 
-#: commands/tablecmds.c:18697
+#: commands/tablecmds.c:18709
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe."
 
-#: commands/tablecmds.c:19019
+#: commands/tablecmds.c:19031
 #, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
 msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert"
 
-#: commands/tablecmds.c:19128
+#: commands/tablecmds.c:19140
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:19134
+#: commands/tablecmds.c:19146
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "Partition »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:19661 commands/tablecmds.c:19681
-#: commands/tablecmds.c:19702 commands/tablecmds.c:19721
-#: commands/tablecmds.c:19763
+#: commands/tablecmds.c:19682 commands/tablecmds.c:19702
+#: commands/tablecmds.c:19723 commands/tablecmds.c:19742
+#: commands/tablecmds.c:19784
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen"
 
-#: commands/tablecmds.c:19664
+#: commands/tablecmds.c:19685
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "Index »%s« ist bereits an einen anderen Index angefügt."
 
-#: commands/tablecmds.c:19684
+#: commands/tablecmds.c:19705
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«."
 
-#: commands/tablecmds.c:19705
+#: commands/tablecmds.c:19726
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Die Indexdefinitionen stimmen nicht überein."
 
-#: commands/tablecmds.c:19724
+#: commands/tablecmds.c:19745
 #, c-format
 msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«."
 
-#: commands/tablecmds.c:19766
+#: commands/tablecmds.c:19787
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt."
 
-#: commands/tablecmds.c:20002
+#: commands/tablecmds.c:20023
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "Spaltendatentyp %s unterstützt keine Komprimierung"
 
-#: commands/tablecmds.c:20009
+#: commands/tablecmds.c:20030
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "ungültige Komprimierungsmethode »%s«"
 
-#: commands/tablecmds.c:20035
+#: commands/tablecmds.c:20056
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ »%s«"
 
-#: commands/tablecmds.c:20045
+#: commands/tablecmds.c:20066
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
 
-#: commands/tablecmds.c:20242
+#: commands/tablecmds.c:20263
 #, fuzzy, c-format
 #| msgid "cannot inherit from a partition"
 msgid "can not find partition for split partition row"
 msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:20328
+#: commands/tablecmds.c:20349
 #, fuzzy, c-format
 #| msgid "cannot attach as partition of temporary relation of another session"
 msgid "cannot create as partition of temporary relation of another session"
 msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen"
 
-#: commands/tablecmds.c:20399
+#: commands/tablecmds.c:20420
 #, c-format
 msgid "cannot create a permanent relation as partition of temporary relation \"%s\""
 msgstr "eine permanente Relation kann nicht als Partition der temporären Relation »%s« erzeugt werden"
@@ -12357,31 +12343,31 @@ msgstr "Verschieben einer Zeile in eine andere Partition durch einen BEFORE-FOR-
 msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
 msgstr "Vor der Ausführung von Trigger »%s« gehörte die Zeile in Partition »%s.%s«."
 
-#: commands/trigger.c:3340 executor/nodeModifyTable.c:2363
-#: executor/nodeModifyTable.c:2446
+#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373
+#: executor/nodeModifyTable.c:2456
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: commands/trigger.c:3341 executor/nodeModifyTable.c:1532
-#: executor/nodeModifyTable.c:1606 executor/nodeModifyTable.c:2364
-#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3075
-#: executor/nodeModifyTable.c:3236
+#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541
+#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374
+#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093
+#: executor/nodeModifyTable.c:3254
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren."
 
 #: commands/trigger.c:3382 executor/nodeLockRows.c:228
-#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:305
-#: executor/nodeModifyTable.c:1548 executor/nodeModifyTable.c:2381
-#: executor/nodeModifyTable.c:2589
+#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314
+#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391
+#: executor/nodeModifyTable.c:2599
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:3390 executor/nodeModifyTable.c:1638
-#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613
-#: executor/nodeModifyTable.c:3093
+#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647
+#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623
+#: executor/nodeModifyTable.c:3111
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen"
@@ -13558,47 +13544,47 @@ 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/execExpr.c:641 executor/execExpr.c:648 executor/execExpr.c:654
-#: executor/execExprInterp.c:4741 executor/execExprInterp.c:4758
-#: executor/execExprInterp.c:4857 executor/nodeModifyTable.c:194
-#: executor/nodeModifyTable.c:205 executor/nodeModifyTable.c:222
-#: executor/nodeModifyTable.c:230
+#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655
+#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851
+#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203
+#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231
+#: executor/nodeModifyTable.c:239
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "Zeilentyp der Tabelle und der von der Anfrage angegebene Zeilentyp stimmen nicht überein"
 
-#: executor/execExpr.c:642 executor/nodeModifyTable.c:195
+#: executor/execExpr.c:643 executor/nodeModifyTable.c:204
 #, c-format
 msgid "Query has too many columns."
 msgstr "Anfrage hat zu viele Spalten."
 
-#: executor/execExpr.c:649 executor/nodeModifyTable.c:223
+#: executor/execExpr.c:650 executor/nodeModifyTable.c:232
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d."
 
-#: executor/execExpr.c:655 executor/execExprInterp.c:4759
-#: executor/nodeModifyTable.c:206
+#: executor/execExpr.c:656 executor/execExprInterp.c:4852
+#: executor/nodeModifyTable.c:215
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "Tabelle hat Typ %s auf Position %d, aber Anfrage erwartet %s."
 
-#: executor/execExpr.c:1103 parser/parse_agg.c:840
+#: executor/execExpr.c:1104 parser/parse_agg.c:840
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
 
-#: executor/execExpr.c:1640
+#: executor/execExpr.c:1641
 #, c-format
 msgid "target type is not an array"
 msgstr "Zieltyp ist kein Array"
 
-#: executor/execExpr.c:1980
+#: executor/execExpr.c:1981
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
 
-#: executor/execExpr.c:2642 executor/execSRF.c:718 parser/parse_func.c:138
+#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138
 #: parser/parse_func.c:655 parser/parse_func.c:1033
 #, c-format
 msgid "cannot pass more than %d argument to a function"
@@ -13606,18 +13592,18 @@ msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "kann nicht mehr als %d Argument an eine Funktion übergeben"
 msgstr[1] "kann nicht mehr als %d Argumente an eine Funktion übergeben"
 
-#: executor/execExpr.c:2669 executor/execSRF.c:738 executor/functions.c:1067
-#: utils/adt/jsonfuncs.c:4035 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068
+#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann"
 
-#: executor/execExpr.c:3075 parser/parse_node.c:272 parser/parse_node.c:322
+#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr "kann aus Typ %s kein Element auswählen, weil er Subscripting nicht unterstützt"
 
-#: executor/execExpr.c:3203 executor/execExpr.c:3225
+#: executor/execExpr.c:3204 executor/execExpr.c:3226
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "Typ %s unterstützt Wertzuweisungen in Elemente nicht"
@@ -13662,8 +13648,8 @@ msgid "Array with element type %s cannot be included in ARRAY construct with ele
 msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %s verwendet werden."
 
 #: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305
-#: utils/adt/arrayfuncs.c:3496 utils/adt/arrayfuncs.c:5586
-#: utils/adt/arrayfuncs.c:6103 utils/adt/arraysubs.c:150
+#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593
+#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
@@ -13679,11 +13665,12 @@ msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dim
 #: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533
 #: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356
 #: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634
-#: utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957
-#: utils/adt/arrayfuncs.c:3298 utils/adt/arrayfuncs.c:3526
-#: utils/adt/arrayfuncs.c:5358 utils/adt/arrayfuncs.c:6195
-#: utils/adt/arrayfuncs.c:6539 utils/adt/arrayutils.c:83
-#: utils/adt/arrayutils.c:92 utils/adt/arrayutils.c:99
+#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949
+#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305
+#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546
+#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92
+#: utils/adt/arrayutils.c:99
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
@@ -13703,24 +13690,34 @@ msgstr "Domäne %s erlaubt keine NULL-Werte"
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«"
 
-#: executor/execExprInterp.c:4433
+#: executor/execExprInterp.c:4434
 #, c-format
 msgid "no SQL/JSON item found for specified path of column \"%s\""
 msgstr ""
 
-#: executor/execExprInterp.c:4438
+#: executor/execExprInterp.c:4439
 #, c-format
 msgid "no SQL/JSON item found for specified path"
 msgstr ""
 
-#: executor/execExprInterp.c:4742
+#: executor/execExprInterp.c:4637
+#, c-format
+msgid "could not coerce ON ERROR expression (%s) to the RETURNING type"
+msgstr ""
+
+#: executor/execExprInterp.c:4643
+#, c-format
+msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type"
+msgstr ""
+
+#: executor/execExprInterp.c:4835
 #, 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] "Tabellenzeile enthält %d Attribut, aber Anfrage erwartet %d."
 msgstr[1] "Tabellenzeile enthält %d Attribute, aber Anfrage erwartet %d."
 
-#: executor/execExprInterp.c:4858 executor/execSRF.c:977
+#: executor/execExprInterp.c:4951 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d."
@@ -13924,8 +13921,8 @@ msgstr "gleichzeitiges Löschen, versuche erneut"
 
 #: executor/execReplication.c:352 parser/parse_cte.c:302
 #: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334
-#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3845
-#: utils/adt/arrayfuncs.c:4400 utils/adt/arrayfuncs.c:6419
+#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852
+#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426
 #: utils/adt/rowtypes.c:1220
 #, c-format
 msgid "could not identify an equality operator for type %s"
@@ -14050,76 +14047,76 @@ msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW."
 msgid "could not determine actual type of argument declared %s"
 msgstr "konnte tatsächlichen Typ von Argument mit deklarierten Typ %s nicht bestimmen"
 
-#: executor/functions.c:512
+#: executor/functions.c:513
 #, c-format
 msgid "cannot COPY to/from client in an SQL function"
 msgstr "COPY vom/zum Client funktioniert in einer SQL-Funktion nicht"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:518
+#: executor/functions.c:519
 #, c-format
 msgid "%s is not allowed in an SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:526 executor/spi.c:1741 executor/spi.c:2649
+#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt"
 
-#: executor/functions.c:1451
+#: executor/functions.c:1452
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-Funktion »%s« Anweisung %d"
 
-#: executor/functions.c:1477
+#: executor/functions.c:1478
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-Funktion »%s« beim Start"
 
-#: executor/functions.c:1562
+#: executor/functions.c:1563
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "Aufruf von Prozeduren mit Ausgabeargumenten wird in SQL-Funktionen nicht unterstützt"
 
-#: executor/functions.c:1697 executor/functions.c:1735
-#: executor/functions.c:1749 executor/functions.c:1844
-#: executor/functions.c:1877 executor/functions.c:1891
+#: executor/functions.c:1698 executor/functions.c:1736
+#: executor/functions.c:1750 executor/functions.c:1845
+#: executor/functions.c:1878 executor/functions.c:1892
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "Rückgabetyp von Funktion stimmt nicht überein; deklariert als %s"
 
-#: executor/functions.c:1699
+#: executor/functions.c:1700
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING."
 msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE/MERGE RETURNING sein."
 
-#: executor/functions.c:1737
+#: executor/functions.c:1738
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben."
 
-#: executor/functions.c:1751
+#: executor/functions.c:1752
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Eigentlicher Rückgabetyp ist %s."
 
-#: executor/functions.c:1846
+#: executor/functions.c:1847
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Die letzte Anweisung gibt zu viele Spalten zurück."
 
-#: executor/functions.c:1879
+#: executor/functions.c:1880
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "Die letzte Anweisung ergibt %s statt %s in Spalte %d."
 
-#: executor/functions.c:1893
+#: executor/functions.c:1894
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück."
 
-#: executor/functions.c:1921
+#: executor/functions.c:1922
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
@@ -14139,7 +14136,7 @@ msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "Custom-Scan »%s« unterstützt MarkPos nicht"
 
-#: executor/nodeHashjoin.c:1130 executor/nodeHashjoin.c:1160
+#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161
 #, c-format
 msgid "could not rewind hash-join temporary file"
 msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang setzen"
@@ -14159,74 +14156,74 @@ msgstr "OFFSET darf nicht negativ sein"
 msgid "LIMIT must not be negative"
 msgstr "LIMIT darf nicht negativ sein"
 
-#: executor/nodeMergejoin.c:1578
+#: executor/nodeMergejoin.c:1579
 #, c-format
 msgid "RIGHT JOIN is only supported with merge-joinable join conditions"
 msgstr "RIGHT JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt"
 
-#: executor/nodeMergejoin.c:1596
+#: executor/nodeMergejoin.c:1597
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt"
 
-#: executor/nodeModifyTable.c:231
+#: executor/nodeModifyTable.c:240
 #, c-format
 msgid "Query has too few columns."
 msgstr "Anfrage hat zu wenige Spalten."
 
-#: executor/nodeModifyTable.c:1531 executor/nodeModifyTable.c:1605
+#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614
 #, c-format
 msgid "tuple to be deleted was already modified by an operation triggered by the current command"
 msgstr "das zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/nodeModifyTable.c:1760
+#: executor/nodeModifyTable.c:1769
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "ungültige ON-UPDATE-Angabe"
 
-#: executor/nodeModifyTable.c:1761
+#: executor/nodeModifyTable.c:1770
 #, c-format
 msgid "The result tuple would appear in a different partition than the original tuple."
 msgstr "Das Ergebnistupel würde in einer anderen Partition erscheinen als das ursprüngliche Tupel."
 
-#: executor/nodeModifyTable.c:2217
+#: executor/nodeModifyTable.c:2226
 #, c-format
 msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key"
 msgstr "Tupel kann nicht zwischen Partitionen bewegt werden, wenn ein Fremdschlüssel direkt auf einen Vorgänger (außer der Wurzel) der Quellpartition verweist"
 
-#: executor/nodeModifyTable.c:2218
+#: executor/nodeModifyTable.c:2227
 #, c-format
 msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"."
 msgstr "Ein Fremdschlüssel verweist auf den Vorgänger »%s«, aber nicht auf den Wurzelvorgänger »%s«."
 
-#: executor/nodeModifyTable.c:2221
+#: executor/nodeModifyTable.c:2230
 #, c-format
 msgid "Consider defining the foreign key on table \"%s\"."
 msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«."
 
 #. translator: %s is a SQL command name
-#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:3081
-#: executor/nodeModifyTable.c:3242
+#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099
+#: executor/nodeModifyTable.c:3260
 #, c-format
 msgid "%s command cannot affect row a second time"
 msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern"
 
-#: executor/nodeModifyTable.c:2569
+#: executor/nodeModifyTable.c:2579
 #, c-format
 msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
 msgstr "Stellen Sie sicher, dass keine im selben Befehl fürs Einfügen vorgesehene Zeilen doppelte Werte haben, die einen Constraint verletzen würden."
 
-#: executor/nodeModifyTable.c:3074 executor/nodeModifyTable.c:3235
+#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253
 #, c-format
 msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command"
 msgstr "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/nodeModifyTable.c:3083 executor/nodeModifyTable.c:3244
+#: executor/nodeModifyTable.c:3101 executor/nodeModifyTable.c:3262
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
 msgstr "Stellen Sie sicher, dass nicht mehr als eine Quellzeile auf jede Zielzeile passt."
 
-#: executor/nodeModifyTable.c:3152
+#: executor/nodeModifyTable.c:3170
 #, c-format
 msgid "tuple to be merged was already moved to another partition due to concurrent update"
 msgstr "das zu mergende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben"
@@ -14838,7 +14835,7 @@ msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben"
 
 #: jsonpath_gram.y:266 jsonpath_gram.y:598 jsonpath_scan.l:640
 #: jsonpath_scan.l:651 jsonpath_scan.l:661 jsonpath_scan.l:712
-#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:658
+#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659
 #: utils/adt/varlena.c:333 utils/adt/varlena.c:374
 #, c-format
 msgid "invalid input syntax for type %s"
@@ -14913,7 +14910,7 @@ msgstr "ungültige Eingabe"
 msgid "invalid hexadecimal digit"
 msgstr "ungültige hexadezimale Ziffer"
 
-#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:646
+#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:647
 #, c-format
 msgid "unsupported Unicode escape sequence"
 msgstr "nicht unterstützte Unicode-Escape-Sequenz"
@@ -15811,171 +15808,171 @@ msgstr "konnte SSL-Protokollversionsbereich nicht setzen"
 msgid "\"%s\" cannot be higher than \"%s\""
 msgstr "»%s« kann nicht höher als »%s« sein"
 
-#: libpq/be-secure-openssl.c:296
+#: libpq/be-secure-openssl.c:308
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
 msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)"
 
-#: libpq/be-secure-openssl.c:316
+#: libpq/be-secure-openssl.c:328
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "konnte Root-Zertifikat-Datei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:365
+#: libpq/be-secure-openssl.c:377
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:373
+#: libpq/be-secure-openssl.c:385
 #, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:381
+#: libpq/be-secure-openssl.c:393
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« oder -Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:439
+#: libpq/be-secure-openssl.c:451
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet"
 
-#: libpq/be-secure-openssl.c:453
+#: libpq/be-secure-openssl.c:465
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
 
-#: libpq/be-secure-openssl.c:461
+#: libpq/be-secure-openssl.c:473
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "konnte SSL-Socket nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:517
+#: libpq/be-secure-openssl.c:529
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "konnte SSL-Verbindung nicht annehmen: %m"
 
-#: libpq/be-secure-openssl.c:521 libpq/be-secure-openssl.c:578
+#: libpq/be-secure-openssl.c:533 libpq/be-secure-openssl.c:590
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt"
 
-#: libpq/be-secure-openssl.c:562
+#: libpq/be-secure-openssl.c:574
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht annehmen: %s"
 
-#: libpq/be-secure-openssl.c:566
+#: libpq/be-secure-openssl.c:578
 #, c-format
 msgid "This may indicate that the client does not support any SSL protocol version between %s and %s."
 msgstr "Das zeigt möglicherweise an, dass der Client keine SSL-Protokollversion zwischen %s und %s unterstützt."
 
-#: libpq/be-secure-openssl.c:583 libpq/be-secure-openssl.c:798
-#: libpq/be-secure-openssl.c:868
+#: libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:810
+#: libpq/be-secure-openssl.c:880
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "unbekannter SSL-Fehlercode: %d"
 
-#: libpq/be-secure-openssl.c:611
+#: libpq/be-secure-openssl.c:623
 #, c-format
 msgid "received SSL connection request with unexpected ALPN protocol"
 msgstr ""
 
-#: libpq/be-secure-openssl.c:655
+#: libpq/be-secure-openssl.c:667
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "Common-Name im SSL-Zertifikat enthält Null-Byte"
 
-#: libpq/be-secure-openssl.c:701
+#: libpq/be-secure-openssl.c:713
 #, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
 msgstr "Distinguished Name im SSL-Zertifikat enthält Null-Byte"
 
-#: libpq/be-secure-openssl.c:787 libpq/be-secure-openssl.c:852
+#: libpq/be-secure-openssl.c:799 libpq/be-secure-openssl.c:864
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL-Fehler: %s"
 
-#: libpq/be-secure-openssl.c:1027
+#: libpq/be-secure-openssl.c:1039
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-secure-openssl.c:1039
+#: libpq/be-secure-openssl.c:1051
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "konnte DH-Parameterdatei nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:1049
+#: libpq/be-secure-openssl.c:1061
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "ungültige DH-Parameter: %s"
 
-#: libpq/be-secure-openssl.c:1058
+#: libpq/be-secure-openssl.c:1070
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "ungültige DH-Parameter: p ist keine Primzahl"
 
-#: libpq/be-secure-openssl.c:1067
+#: libpq/be-secure-openssl.c:1079
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
 msgstr "ungültige DH-Parameter: weder geeigneter Generator noch sichere Primzahl"
 
-#: libpq/be-secure-openssl.c:1203
+#: libpq/be-secure-openssl.c:1215
 #, c-format
 msgid "Client certificate verification failed at depth %d: %s."
 msgstr "Überprüfung des Client-Zertifikats ist auf Tiefe %d fehlgeschlagen: %s."
 
-#: libpq/be-secure-openssl.c:1240
+#: libpq/be-secure-openssl.c:1252
 #, c-format
 msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"."
 msgstr "Daten des fehlgeschlagenen Zertifikats (nicht verifiziert): Subject »%s«, Seriennummer %s, Aussteller »%s«."
 
-#: libpq/be-secure-openssl.c:1241
+#: libpq/be-secure-openssl.c:1253
 msgid "unknown"
 msgstr "unbekannt"
 
-#: libpq/be-secure-openssl.c:1378
+#: libpq/be-secure-openssl.c:1390
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: konnte DH-Parameter nicht laden"
 
-#: libpq/be-secure-openssl.c:1386
+#: libpq/be-secure-openssl.c:1398
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: konnte DH-Parameter nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:1413
+#: libpq/be-secure-openssl.c:1425
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: unbekannter Kurvenname: %s"
 
-#: libpq/be-secure-openssl.c:1422
+#: libpq/be-secure-openssl.c:1434
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: konnte Schlüssel nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1450
+#: libpq/be-secure-openssl.c:1462
 msgid "no SSL error reported"
 msgstr "kein SSL-Fehler berichtet"
 
-#: libpq/be-secure-openssl.c:1467
+#: libpq/be-secure-openssl.c:1480
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL-Fehlercode %lu"
 
-#: libpq/be-secure-openssl.c:1624
+#: libpq/be-secure-openssl.c:1637
 #, c-format
 msgid "could not create BIO"
 msgstr "konnte BIO nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1634
+#: libpq/be-secure-openssl.c:1647
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
 msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln"
 
-#: libpq/be-secure-openssl.c:1642
+#: libpq/be-secure-openssl.c:1655
 #, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
 msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln"
@@ -16496,7 +16493,7 @@ msgstr "es besteht keine Client-Verbindung"
 msgid "could not receive data from client: %m"
 msgstr "konnte Daten vom Client nicht empfangen: %m"
 
-#: libpq/pqcomm.c:1149 tcop/postgres.c:4446
+#: libpq/pqcomm.c:1149 tcop/postgres.c:4445
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde"
@@ -16860,7 +16857,7 @@ msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
 
 #: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567
 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752
-#: parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869
+#: parser/parse_expr.c:2111 parser/parse_func.c:710 parser/parse_oper.c:869
 #: utils/fmgr/funcapi.c:669
 #, c-format
 msgid "could not find array type for data type %s"
@@ -17407,7 +17404,7 @@ msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren E
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten"
 
-#: parser/parse_agg.c:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245
+#: parser/parse_agg.c:782 parser/parse_expr.c:1761 parser/parse_expr.c:2244
 #: parser/parse_func.c:885
 #, c-format
 msgid "You might be able to move the set-returning function into a LATERAL FROM item."
@@ -17804,8 +17801,8 @@ msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um."
 
 #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
-#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3403
-#: parser/parse_expr.c:3624 parser/parse_expr.c:4388 parser/parse_target.c:998
+#: parser/parse_expr.c:2145 parser/parse_expr.c:2753 parser/parse_expr.c:3402
+#: parser/parse_expr.c:3631 parser/parse_target.c:998
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
@@ -18120,375 +18117,455 @@ msgstr "rekursive Anfrage »%s« darf keine datenmodifizierenden Anweisungen ent
 msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term"
 msgstr "rekursive Anfrage »%s« hat nicht die Form nicht-rekursiver-Ausdruck UNION [ALL] rekursiver-Ausdruck"
 
-#: parser/parse_cte.c:920
+#: parser/parse_cte.c:911
 #, c-format
 msgid "ORDER BY in a recursive query is not implemented"
 msgstr "ORDER BY in einer rekursiven Anfrage ist nicht implementiert"
 
-#: parser/parse_cte.c:926
+#: parser/parse_cte.c:917
 #, c-format
 msgid "OFFSET in a recursive query is not implemented"
 msgstr "OFFSET in einer rekursiven Anfrage ist nicht implementiert"
 
-#: parser/parse_cte.c:932
+#: parser/parse_cte.c:923
 #, c-format
 msgid "LIMIT in a recursive query is not implemented"
 msgstr "LIMIT in einer rekursiven Anfrage ist nicht implementiert"
 
-#: parser/parse_cte.c:938
+#: parser/parse_cte.c:929
 #, c-format
 msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
 msgstr "FOR UPDATE/SHARE in einer rekursiven Anfrage ist nicht implementiert"
 
-#: parser/parse_cte.c:995
+#: parser/parse_cte.c:1008
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen"
 
-#: parser/parse_expr.c:314
+#: parser/parse_expr.c:313
 #, c-format
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt"
 
-#: parser/parse_expr.c:407 parser/parse_relation.c:3691
+#: parser/parse_expr.c:406 parser/parse_relation.c:3691
 #: parser/parse_relation.c:3701 parser/parse_relation.c:3719
 #: parser/parse_relation.c:3726 parser/parse_relation.c:3740
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "Spalte %s.%s existiert nicht"
 
-#: parser/parse_expr.c:419
+#: parser/parse_expr.c:418
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
 
-#: parser/parse_expr.c:425
+#: parser/parse_expr.c:424
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "konnte Spalte »%s« im Record-Datentyp nicht identifizieren"
 
-#: parser/parse_expr.c:431
+#: parser/parse_expr.c:430
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "Spaltenschreibweise .%s mit Typ %s verwendet, der kein zusammengesetzter Typ ist"
 
-#: parser/parse_expr.c:462 parser/parse_target.c:732
+#: parser/parse_expr.c:461 parser/parse_target.c:732
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt"
 
-#: parser/parse_expr.c:585
+#: parser/parse_expr.c:584
 msgid "cannot use column reference in DEFAULT expression"
 msgstr "Spaltenverweise können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:588
+#: parser/parse_expr.c:587
 msgid "cannot use column reference in partition bound expression"
 msgstr "Spaltenverweise können nicht in Partitionsbegrenzungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:847 parser/parse_relation.c:833
+#: parser/parse_expr.c:846 parser/parse_relation.c:833
 #: parser/parse_relation.c:915 parser/parse_target.c:1238
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "Spaltenverweis »%s« ist nicht eindeutig"
 
-#: parser/parse_expr.c:903 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:204 parser/parse_param.c:303
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "es gibt keinen Parameter $%d"
 
-#: parser/parse_expr.c:1103
+#: parser/parse_expr.c:1102
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF erfordert, dass Operator = boolean ergibt"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1109 parser/parse_expr.c:3070
+#: parser/parse_expr.c:1108 parser/parse_expr.c:3069
 #, c-format
 msgid "%s must not return a set"
 msgstr "%s darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:1395
+#: parser/parse_expr.c:1394
 #, c-format
 msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command"
-msgstr ""
+msgstr "MERGE_ACTION() kann nur in der RETURNING-Liste eines MERGE-Befehls verwendet werden"
 
-#: parser/parse_expr.c:1519 parser/parse_expr.c:1551
+#: parser/parse_expr.c:1518 parser/parse_expr.c:1550
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein"
 
-#: parser/parse_expr.c:1565
+#: parser/parse_expr.c:1564
 #, c-format
 msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
 msgstr "die Quelle für ein UPDATE-Element mit mehreren Spalten muss ein Sub-SELECT oder ein ROW()-Ausdruck sein"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679
+#: parser/parse_expr.c:1759 parser/parse_expr.c:2242 parser/parse_func.c:2679
 #, c-format
 msgid "set-returning functions are not allowed in %s"
 msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
 
-#: parser/parse_expr.c:1824
+#: parser/parse_expr.c:1823
 msgid "cannot use subquery in check constraint"
 msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden"
 
-#: parser/parse_expr.c:1828
+#: parser/parse_expr.c:1827
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1831
+#: parser/parse_expr.c:1830
 msgid "cannot use subquery in index expression"
 msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1834
+#: parser/parse_expr.c:1833
 msgid "cannot use subquery in index predicate"
 msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
 
-#: parser/parse_expr.c:1837
+#: parser/parse_expr.c:1836
 msgid "cannot use subquery in statistics expression"
 msgstr "Unteranfragen können nicht in Statistikausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1840
+#: parser/parse_expr.c:1839
 msgid "cannot use subquery in transform expression"
 msgstr "Unteranfragen können in Umwandlungsausdrücken nicht verwendet werden"
 
-#: parser/parse_expr.c:1843
+#: parser/parse_expr.c:1842
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "Unteranfragen können nicht in EXECUTE-Parameter verwendet werden"
 
-#: parser/parse_expr.c:1846
+#: parser/parse_expr.c:1845
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "Unteranfragen können nicht in der WHEN-Bedingung eines Triggers verwendet werden"
 
-#: parser/parse_expr.c:1849
+#: parser/parse_expr.c:1848
 msgid "cannot use subquery in partition bound"
 msgstr "Unteranfragen können nicht in Partitionsbegrenzungen verwendet werden"
 
-#: parser/parse_expr.c:1852
+#: parser/parse_expr.c:1851
 msgid "cannot use subquery in partition key expression"
 msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1855
+#: parser/parse_expr.c:1854
 msgid "cannot use subquery in CALL argument"
 msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden"
 
-#: parser/parse_expr.c:1858
+#: parser/parse_expr.c:1857
 msgid "cannot use subquery in COPY FROM WHERE condition"
 msgstr "Unteranfragen können nicht in COPY-FROM-WHERE-Bedingungen verwendet werden"
 
-#: parser/parse_expr.c:1861
+#: parser/parse_expr.c:1860
 msgid "cannot use subquery in column generation expression"
 msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1914 parser/parse_expr.c:3756
+#: parser/parse_expr.c:1913 parser/parse_expr.c:3761
 #, c-format
 msgid "subquery must return only one column"
 msgstr "Unteranfrage darf nur eine Spalte zurückgeben"
 
-#: parser/parse_expr.c:1985
+#: parser/parse_expr.c:1984
 #, c-format
 msgid "subquery has too many columns"
 msgstr "Unteranfrage hat zu viele Spalten"
 
-#: parser/parse_expr.c:1990
+#: parser/parse_expr.c:1989
 #, c-format
 msgid "subquery has too few columns"
 msgstr "Unteranfrage hat zu wenige Spalten"
 
-#: parser/parse_expr.c:2086
+#: parser/parse_expr.c:2085
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "kann Typ eines leeren Arrays nicht bestimmen"
 
-#: parser/parse_expr.c:2087
+#: parser/parse_expr.c:2086
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Wandeln Sie ausdrücklich in den gewünschten Typ um, zum Beispiel ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:2101
+#: parser/parse_expr.c:2100
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "konnte Elementtyp für Datentyp %s nicht finden"
 
-#: parser/parse_expr.c:2184
+#: parser/parse_expr.c:2183
 #, c-format
 msgid "ROW expressions can have at most %d entries"
 msgstr "ROW-Ausdrücke können höchstens %d Einträge haben"
 
-#: parser/parse_expr.c:2389
+#: parser/parse_expr.c:2388
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2390
+#: parser/parse_expr.c:2389
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2405
+#: parser/parse_expr.c:2404
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "XML-Attributname »%s« einscheint mehrmals"
 
-#: parser/parse_expr.c:2513
+#: parser/parse_expr.c:2512
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:2827 parser/parse_expr.c:3023
+#: parser/parse_expr.c:2826 parser/parse_expr.c:3022
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken"
 
-#: parser/parse_expr.c:2837
+#: parser/parse_expr.c:2836
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "kann Zeilen mit Länge null nicht vergleichen"
 
-#: parser/parse_expr.c:2862
+#: parser/parse_expr.c:2861
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr "Zeilenvergleichsoperator muss Typ boolean zurückgeben, nicht Typ %s"
 
-#: parser/parse_expr.c:2869
+#: parser/parse_expr.c:2868
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:2928 parser/parse_expr.c:2969
+#: parser/parse_expr.c:2927 parser/parse_expr.c:2968
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen"
 
-#: parser/parse_expr.c:2930
+#: parser/parse_expr.c:2929
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr "Zeilenvergleichsoperatoren müssen einer »btree«-Operatorfamilie zugeordnet sein."
 
-#: parser/parse_expr.c:2971
+#: parser/parse_expr.c:2970
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten."
 
-#: parser/parse_expr.c:3064
+#: parser/parse_expr.c:3063
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt"
 
-#: parser/parse_expr.c:3304
+#: parser/parse_expr.c:3303
 #, c-format
 msgid "JSON ENCODING clause is only allowed for bytea input type"
 msgstr "JSON-ENCODING-Klausel ist nur für Eingabetyp bytea erlaubt"
 
-#: parser/parse_expr.c:3368
+#: parser/parse_expr.c:3367
 #, c-format
 msgid "cannot use non-string types with implicit FORMAT JSON clause"
 msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3369
+#: parser/parse_expr.c:3368
 #, c-format
 msgid "cannot use non-string types with explicit FORMAT JSON clause"
 msgstr "explizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3458
+#: parser/parse_expr.c:3457
 #, c-format
 msgid "cannot use JSON format with non-string output types"
 msgstr "Format JSON kann nicht mit Ausgabetypen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3471
+#: parser/parse_expr.c:3470
 #, c-format
 msgid "cannot set JSON encoding for non-bytea output types"
 msgstr "JSON-Kodierung kann nur für Ausgabetyp bytea gesetzt werden"
 
-#: parser/parse_expr.c:3476
+#: parser/parse_expr.c:3475
 #, c-format
 msgid "unsupported JSON encoding"
 msgstr "nicht unterstützte JSON-Kodierung"
 
-#: parser/parse_expr.c:3477
+#: parser/parse_expr.c:3476
 #, c-format
 msgid "Only UTF8 JSON encoding is supported."
 msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt."
 
-#: parser/parse_expr.c:3514
+#: parser/parse_expr.c:3513
 #, c-format
 msgid "returning SETOF types is not supported in SQL/JSON functions"
 msgstr "Rückgabe von SETOF-Typen wird in SQL/JSON-Funktionen nicht unterstützt"
 
-#: parser/parse_expr.c:3519
+#: parser/parse_expr.c:3518
 #, c-format
 msgid "returning pseudo-types is not supported in SQL/JSON functions"
 msgstr "Rückgabe von Pseudotypen wird in SQL/JSON-Funktionen nicht unterstützt"
 
-#: parser/parse_expr.c:3841 parser/parse_func.c:866
+#: parser/parse_expr.c:3846 parser/parse_func.c:866
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
 
-#: parser/parse_expr.c:4063
+#: parser/parse_expr.c:4069
 #, c-format
 msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types"
 msgstr "JSON-FORMAT-ENCODING-Klausel kann nur für Eingabetyp bytea verwendet werden"
 
-#: parser/parse_expr.c:4083
+#: parser/parse_expr.c:4089
 #, c-format
 msgid "cannot use type %s in IS JSON predicate"
 msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden"
 
-#: parser/parse_expr.c:4109 parser/parse_expr.c:4229
+#: parser/parse_expr.c:4115 parser/parse_expr.c:4235
 #, fuzzy, c-format
 #| msgid "cannot cast type %s to %s"
 msgid "cannot use RETURNING type %s in %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:4158
+#: parser/parse_expr.c:4164
 #, fuzzy, c-format
 #| msgid "cannot use non-string types with implicit FORMAT JSON clause"
 msgid "cannot use non-string types with WITH UNIQUE KEYS clause"
 msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:4232
+#: parser/parse_expr.c:4238
 #, c-format
 msgid "Try returning a string type or bytea."
 msgstr ""
 
-#: parser/parse_expr.c:4297
+#: parser/parse_expr.c:4303
 #, c-format
 msgid "cannot specify FORMAT JSON in RETURNING clause of %s()"
 msgstr ""
 
-#: parser/parse_expr.c:4309
+#: parser/parse_expr.c:4316
 #, c-format
 msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used"
 msgstr ""
 
-#: parser/parse_expr.c:4336
+#: parser/parse_expr.c:4329 parser/parse_expr.c:4396
+#, fuzzy, c-format
+#| msgid "invalid ON ERROR behavior"
+msgid "invalid ON EMPTY behavior"
+msgstr "ungültiges ON-ERROR-Verhalten"
+
+#: parser/parse_expr.c:4330
+#, c-format
+msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for JSON_QUERY()."
+msgstr ""
+
+#: parser/parse_expr.c:4335 parser/parse_expr.c:4402
+#, fuzzy, c-format
+#| msgid "invalid ON ERROR behavior"
+msgid "invalid ON EMPTY behavior for column \"%s\""
+msgstr "ungültiges ON-ERROR-Verhalten"
+
+#: parser/parse_expr.c:4337
+#, c-format
+msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for formatted columns."
+msgstr ""
+
+#: parser/parse_expr.c:4351 parser/parse_expr.c:4375 parser/parse_expr.c:4415
+#: parser/parse_jsontable.c:94
+#, c-format
+msgid "invalid ON ERROR behavior"
+msgstr "ungültiges ON-ERROR-Verhalten"
+
+#: parser/parse_expr.c:4352
+#, c-format
+msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY()."
+msgstr ""
+
+#: parser/parse_expr.c:4357 parser/parse_expr.c:4381 parser/parse_expr.c:4421
+#, fuzzy, c-format
+#| msgid "invalid ON ERROR behavior"
+msgid "invalid ON ERROR behavior for column \"%s\""
+msgstr "ungültiges ON-ERROR-Verhalten"
+
+#: parser/parse_expr.c:4359
+#, c-format
+msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns."
+msgstr ""
+
+#: parser/parse_expr.c:4376
+#, c-format
+msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for JSON_EXISTS()."
+msgstr ""
+
+#: parser/parse_expr.c:4383
+#, c-format
+msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns."
+msgstr ""
+
+#: parser/parse_expr.c:4397
+#, c-format
+msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for JSON_VALUE()."
+msgstr ""
+
+#: parser/parse_expr.c:4404
+#, c-format
+msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for scalar columns."
+msgstr ""
+
+#: parser/parse_expr.c:4416
+#, c-format
+msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for JSON_VALUE()."
+msgstr ""
+
+#: parser/parse_expr.c:4423
+#, c-format
+msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for scalar columns."
+msgstr ""
+
+#: parser/parse_expr.c:4452
 #, c-format
 msgid "JSON path expression must be of type %s, not of type %s"
 msgstr "JSON-Pfadausdruck muss Typ %s haben, nicht Typ %s"
 
-#: parser/parse_expr.c:4684
+#: parser/parse_expr.c:4670
 #, c-format
 msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT"
 msgstr ""
 
-#: parser/parse_expr.c:4689
+#: parser/parse_expr.c:4675
 #, c-format
 msgid "DEFAULT expression must not contain column references"
 msgstr "DEFAULT-Ausdruck darf keine Spaltenverweise enthalten"
 
-#: parser/parse_expr.c:4694
+#: parser/parse_expr.c:4680
 #, c-format
 msgid "DEFAULT expression must not return a set"
 msgstr "DEFAULT-Ausdruck darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:4728
+#: parser/parse_expr.c:4756 parser/parse_expr.c:4765
 #, fuzzy, c-format
 #| msgid "cannot cast type %s to %s"
 msgid "cannot cast behavior expression of type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
 
+#: parser/parse_expr.c:4759
+#, fuzzy, c-format
+#| msgid "You will need to rewrite or cast the expression."
+msgid "You will need to explicitly cast the expression to type %s."
+msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen."
+
 #: parser/parse_func.c:194
 #, c-format
 msgid "argument name \"%s\" used more than once"
@@ -18823,14 +18900,9 @@ msgstr "Funktionen mit Ergebnismenge sind in COPY-FROM-WHERE-Bedingungen nicht e
 msgid "set-returning functions are not allowed in column generation expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_jsontable.c:94
-#, c-format
-msgid "invalid ON ERROR behavior"
-msgstr "ungültiges ON-ERROR-Verhalten"
-
 #: parser/parse_jsontable.c:95
 #, c-format
-msgid "Only EMPTY or ERROR is allowed in the top-level ON ERROR clause."
+msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause."
 msgstr ""
 
 #: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203
@@ -19986,7 +20058,7 @@ msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall"
 msgid "background worker \"%s\": parallel workers may not be configured for restart"
 msgstr "Background-Worker »%s«: parallele Arbeitsprozesse dürfen nicht für Neustart konfiguriert sein"
 
-#: postmaster/bgworker.c:715 tcop/postgres.c:3285
+#: postmaster/bgworker.c:715 tcop/postgres.c:3284
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "Background-Worker »%s« wird abgebrochen aufgrund von Anweisung des Administrators"
@@ -20035,93 +20107,93 @@ msgstr "Checkpoint-Anforderung fehlgeschlagen"
 msgid "Consult recent messages in the server log for details."
 msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog."
 
-#: postmaster/launch_backend.c:369
+#: postmaster/launch_backend.c:381
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess »%s« nicht ausführen: %m"
 
-#: postmaster/launch_backend.c:422
+#: postmaster/launch_backend.c:434
 #, c-format
 msgid "could not create backend parameter file mapping: error code %lu"
 msgstr "konnte Backend-Parameter-Datei-Mapping nicht erzeugen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:430
+#: postmaster/launch_backend.c:442
 #, c-format
 msgid "could not map backend parameter memory: error code %lu"
 msgstr "konnte Backend-Parameter-Speicher nicht mappen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:447
+#: postmaster/launch_backend.c:459
 #, c-format
 msgid "subprocess command line too long"
 msgstr "Kommandozeile für Subprozess zu lang"
 
-#: postmaster/launch_backend.c:465
+#: postmaster/launch_backend.c:477
 #, c-format
 msgid "CreateProcess() call failed: %m (error code %lu)"
 msgstr "Aufruf von CreateProcess() fehlgeschlagen: %m (Fehlercode %lu)"
 
-#: postmaster/launch_backend.c:492
+#: postmaster/launch_backend.c:504
 #, c-format
 msgid "could not unmap view of backend parameter file: error code %lu"
 msgstr "konnte Sicht der Backend-Parameter-Datei nicht unmappen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:496
+#: postmaster/launch_backend.c:508
 #, c-format
 msgid "could not close handle to backend parameter file: error code %lu"
 msgstr "konnte Handle für Backend-Parameter-Datei nicht schließen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:518
+#: postmaster/launch_backend.c:530
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren"
 
-#: postmaster/launch_backend.c:519
+#: postmaster/launch_backend.c:531
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden."
 
-#: postmaster/launch_backend.c:817
+#: postmaster/launch_backend.c:834
 #, 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/launch_backend.c:849
+#: postmaster/launch_backend.c:866
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/launch_backend.c:878
+#: postmaster/launch_backend.c:895
 #, c-format
 msgid "could not open backend variables file \"%s\": %m\n"
 msgstr "konnte Servervariablendatei »%s« nicht öffnen: %m\n"
 
-#: postmaster/launch_backend.c:884
+#: postmaster/launch_backend.c:901
 #, c-format
 msgid "could not read from backend variables file \"%s\": %m\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %m\n"
 
-#: postmaster/launch_backend.c:895
+#: postmaster/launch_backend.c:912
 #, fuzzy, c-format
 #| msgid "could not read from backend variables file \"%s\": %s\n"
 msgid "could not read startup data from backend variables file \"%s\": %m\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n"
 
-#: postmaster/launch_backend.c:907
+#: postmaster/launch_backend.c:924
 #, c-format
 msgid "could not remove file \"%s\": %m\n"
 msgstr "konnte Datei »%s« nicht löschen: %m\n"
 
-#: postmaster/launch_backend.c:923
+#: postmaster/launch_backend.c:940
 #, 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/launch_backend.c:942
+#: postmaster/launch_backend.c:959
 #, 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/launch_backend.c:949
+#: postmaster/launch_backend.c:966
 #, 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"
@@ -20606,32 +20678,57 @@ msgstr "konnte Logdatei »%s« nicht öffnen: %m"
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)"
 
-#: postmaster/walsummarizer.c:384
+#: postmaster/walsummarizer.c:385
 #, c-format
 msgid "switch point from TLI %u to TLI %u is at %X/%X"
 msgstr ""
 
-#: postmaster/walsummarizer.c:885
+#: postmaster/walsummarizer.c:740
+#, c-format
+msgid "WAL summarization is not progressing"
+msgstr "WAL-Zusammenfassung kommt nicht voran"
+
+#: postmaster/walsummarizer.c:741
+#, c-format
+msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
+msgstr "Zusammenfassung bis %X/%X wird benötigt, aber sie hängt fest bei %X/%X auf Festplatte und %X/%X im Speicher."
+
+#: postmaster/walsummarizer.c:755
+#, c-format
+msgid "still waiting for WAL summarization through %X/%X after %ld seconds"
+msgstr "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunden"
+
+#: postmaster/walsummarizer.c:758
+#, c-format
+msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
+msgstr "Zusammenfassung hat %X/%X auf Festplatte und %X/%X im Speicher erreicht."
+
+#: postmaster/walsummarizer.c:998
 #, c-format
 msgid "could not find a valid record after %X/%X"
 msgstr "konnte keinen gültigen Datensatz nach %X/%X finden"
 
-#: postmaster/walsummarizer.c:930
+#: postmaster/walsummarizer.c:1043
 #, c-format
 msgid "could not read WAL from timeline %u at %X/%X: %s"
 msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen: %s"
 
-#: postmaster/walsummarizer.c:936
+#: postmaster/walsummarizer.c:1049
 #, c-format
 msgid "could not read WAL from timeline %u at %X/%X"
 msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen"
 
-#: postmaster/walsummarizer.c:1077
+#: postmaster/walsummarizer.c:1220
 #, c-format
 msgid "summarized WAL on TLI %u from %X/%X to %X/%X"
 msgstr ""
 
-#: postmaster/walsummarizer.c:1385
+#: postmaster/walsummarizer.c:1232
+#, c-format
+msgid "skipped summarizing WAL on TLI %u from %X/%X to %X/%X"
+msgstr ""
+
+#: postmaster/walsummarizer.c:1578
 #, c-format
 msgid "timeline %u became historic, can read up to %X/%X"
 msgstr ""
@@ -20848,9 +20945,9 @@ msgid "out of logical replication worker slots"
 msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt"
 
 #: replication/logical/launcher.c:428 replication/logical/launcher.c:514
-#: replication/slot.c:1524 storage/lmgr/lock.c:963 storage/lmgr/lock.c:1001
-#: storage/lmgr/lock.c:2804 storage/lmgr/lock.c:4189 storage/lmgr/lock.c:4254
-#: storage/lmgr/lock.c:4604 storage/lmgr/predicate.c:2464
+#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023
+#: storage/lmgr/lock.c:2826 storage/lmgr/lock.c:4211 storage/lmgr/lock.c:4276
+#: storage/lmgr/lock.c:4626 storage/lmgr/predicate.c:2464
 #: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876
 #, c-format
 msgid "You might need to increase \"%s\"."
@@ -20881,85 +20978,85 @@ msgstr "logische Dekodierung erfordert »wal_level« >= »logical«"
 msgid "logical decoding requires a database connection"
 msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
 
-#: replication/logical/logical.c:364 replication/logical/logical.c:518
+#: replication/logical/logical.c:365 replication/logical/logical.c:519
 #, 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:369 replication/logical/logical.c:528
+#: replication/logical/logical.c:370 replication/logical/logical.c:529
 #, 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:376
+#: replication/logical/logical.c:377
 #, 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:539
+#: replication/logical/logical.c:540
 #, c-format
 msgid "cannot use replication slot \"%s\" for logical decoding"
 msgstr "physischer Replikations-Slot »%s« kann nicht für logisches Dekodieren verwendet werden"
 
-#: replication/logical/logical.c:541
+#: replication/logical/logical.c:542
 #, c-format
 msgid "This slot is being synchronized from the primary server."
 msgstr "Dieser Slot wird vom Primärserver synchronisiert."
 
-#: replication/logical/logical.c:542
+#: replication/logical/logical.c:543
 #, c-format
 msgid "Specify another replication slot."
 msgstr "Geben Sie einen anderen Replikations-Slot an."
 
-#: replication/logical/logical.c:553 replication/logical/logical.c:560
+#: replication/logical/logical.c:554 replication/logical/logical.c:561
 #, c-format
 msgid "can no longer get changes from replication slot \"%s\""
 msgstr "aus Replikations-Slot »%s« können keine Änderungen mehr gelesen werden"
 
-#: replication/logical/logical.c:555
+#: replication/logical/logical.c:556
 #, c-format
 msgid "This slot has been invalidated because it exceeded the maximum reserved size."
 msgstr "Dieser Slot wurde ungültig gemacht, weil er die maximale reservierte Größe überschritten hat."
 
-#: replication/logical/logical.c:562
+#: replication/logical/logical.c:563
 #, c-format
 msgid "This slot has been invalidated because it was conflicting with recovery."
 msgstr "Dieser Slot wurde ungültig gemacht, weil er mit der Wiederherstellung kollidierte."
 
-#: replication/logical/logical.c:627
+#: replication/logical/logical.c:628
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "starte logisches Dekodieren für Slot »%s«"
 
-#: replication/logical/logical.c:629
+#: replication/logical/logical.c:630
 #, 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:777
+#: replication/logical/logical.c:778
 #, 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:783
+#: replication/logical/logical.c:784
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s"
 
-#: replication/logical/logical.c:954 replication/logical/logical.c:999
-#: replication/logical/logical.c:1044 replication/logical/logical.c:1090
+#: replication/logical/logical.c:955 replication/logical/logical.c:1000
+#: replication/logical/logical.c:1045 replication/logical/logical.c:1091
 #, c-format
 msgid "logical replication at prepare time requires a %s callback"
 msgstr "logische Replikation bei PREPARE TRANSACTION benötigt einen %s-Callback"
 
-#: replication/logical/logical.c:1322 replication/logical/logical.c:1371
-#: replication/logical/logical.c:1412 replication/logical/logical.c:1498
-#: replication/logical/logical.c:1547
+#: replication/logical/logical.c:1323 replication/logical/logical.c:1372
+#: replication/logical/logical.c:1413 replication/logical/logical.c:1499
+#: replication/logical/logical.c:1548
 #, c-format
 msgid "logical streaming requires a %s callback"
 msgstr "logisches Streaming benötigt einen %s-Callback"
 
-#: replication/logical/logical.c:1457
+#: replication/logical/logical.c:1458
 #, c-format
 msgid "logical streaming at prepare time requires a %s callback"
 msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback"
@@ -21278,70 +21375,70 @@ msgstr "Server gestartet\n"
 msgid "could not connect to the primary server: %s"
 msgstr "konnte nicht mit dem Primärserver verbinden: %s"
 
-#: replication/logical/snapbuild.c:643
+#: replication/logical/snapbuild.c:653
 #, c-format
 msgid "initial slot snapshot too large"
 msgstr "initialer Slot-Snapshot ist zu groß"
 
-#: replication/logical/snapbuild.c:697
+#: replication/logical/snapbuild.c:707
 #, 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] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-ID"
 msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-IDs"
 
-#: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1484
-#: replication/logical/snapbuild.c:2000
+#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
+#: replication/logical/snapbuild.c:2017
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1394
+#: replication/logical/snapbuild.c:1406
 #, c-format
 msgid "There are no running transactions."
 msgstr "Keine laufenden Transaktionen."
 
-#: replication/logical/snapbuild.c:1436
+#: replication/logical/snapbuild.c:1453
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1438 replication/logical/snapbuild.c:1462
+#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
 msgid "Waiting for transactions (approximately %d) older than %u to end."
 msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u sind."
 
-#: replication/logical/snapbuild.c:1460
+#: replication/logical/snapbuild.c:1477
 #, c-format
 msgid "logical decoding found initial consistent point at %X/%X"
 msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1486
+#: replication/logical/snapbuild.c:1503
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Es laufen keine alten Transaktionen mehr."
 
-#: replication/logical/snapbuild.c:1887
+#: replication/logical/snapbuild.c:1904
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Scanbuild-State-Datei »%s« hat falsche magische Zahl %u statt %u"
 
-#: replication/logical/snapbuild.c:1893
+#: replication/logical/snapbuild.c:1910
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "Snapbuild-State-Datei »%s« hat nicht unterstützte Version: %u statt %u"
 
-#: replication/logical/snapbuild.c:1934
+#: replication/logical/snapbuild.c:1951
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Snapbuild-State-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/logical/snapbuild.c:2002
+#: replication/logical/snapbuild.c:2019
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot."
 
-#: replication/logical/snapbuild.c:2109
+#: replication/logical/snapbuild.c:2126
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "konnte Dateinamen »%s« nicht parsen"
@@ -21713,16 +21810,14 @@ msgid "This slot is being synced from the primary server."
 msgstr "Dieser Slot wird vom Primärserver synchronisiert."
 
 #: replication/slot.c:816
-#, fuzzy, c-format
-#| msgid "cannot use %s with a logical replication slot"
+#, c-format
 msgid "cannot use %s with a physical replication slot"
-msgstr "%s kann nicht mit einem logischem Replikations-Slot verwendet werden"
+msgstr "%s kann nicht mit einem physischem Replikations-Slot verwendet werden"
 
 #: replication/slot.c:828
-#, fuzzy, c-format
-#| msgid "created replication slot \"%s\""
+#, c-format
 msgid "cannot alter replication slot \"%s\""
-msgstr "Replikations-Slot »%s« wurde erzeugt"
+msgstr "Replikations-Slot »%s« kann nicht geändert werden"
 
 #: replication/slot.c:838
 #, fuzzy, c-format
@@ -21831,59 +21926,59 @@ msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren"
 msgid "\"%s\" is not a physical replication slot"
 msgstr "»%s« ist kein physischer Replikations-Slot"
 
-#: replication/slot.c:2637
+#: replication/slot.c:2638
 #, fuzzy, c-format
 #| msgid "replication slot \"%s\" does not exist"
 msgid "replication slot \"%s\" specified in parameter %s does not exist"
 msgstr "Replikations-Slot »%s« existiert nicht"
 
-#: replication/slot.c:2639 replication/slot.c:2680 replication/slot.c:2695
+#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696
 #, fuzzy, c-format
 #| msgid "replication slot \"%s\" was not created in this database"
 msgid "Logical replication is waiting on the standby associated with \"%s\"."
 msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/slot.c:2641
+#: replication/slot.c:2642
 #, fuzzy, c-format
 #| msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgid "Consider creating the slot \"%s\" or amend parameter %s."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«."
 
-#: replication/slot.c:2658
+#: replication/slot.c:2659
 #, fuzzy, c-format
 #| msgid "cannot copy unfinished logical replication slot \"%s\""
 msgid "cannot have logical replication slot \"%s\" in parameter %s"
 msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren"
 
-#: replication/slot.c:2660
+#: replication/slot.c:2661
 #, fuzzy, c-format
 #| msgid "replication slot \"%s\" was not created in this database"
 msgid "Logical replication is waiting for correction on \"%s\"."
 msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/slot.c:2662
+#: replication/slot.c:2663
 #, c-format
 msgid "Consider removing logical slot \"%s\" from parameter %s."
 msgstr ""
 
-#: replication/slot.c:2678
+#: replication/slot.c:2679
 #, c-format
 msgid "physical slot \"%s\" specified in parameter %s has been invalidated"
 msgstr ""
 
-#: replication/slot.c:2682
+#: replication/slot.c:2683
 #, fuzzy, c-format
 #| msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«."
 
-#: replication/slot.c:2693
+#: replication/slot.c:2694
 #, fuzzy, c-format
 #| msgid "replication slot \"%s\" was not created in this database"
 msgid "replication slot \"%s\" specified in parameter %s does not have active_pid"
 msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/slot.c:2697
+#: replication/slot.c:2698
 #, c-format
 msgid "Consider starting standby associated with \"%s\" or amend parameter %s."
 msgstr ""
@@ -22152,7 +22247,7 @@ msgstr "Replikationsbefehl empfangen: %s"
 
 #: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138
 #: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206
-#: tcop/postgres.c:2644 tcop/postgres.c:2722
+#: tcop/postgres.c:2644 tcop/postgres.c:2721
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr "aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert"
@@ -22398,7 +22493,7 @@ msgstr "mehrere Zuweisungen zur selben Spalte »%s«"
 msgid "MERGE is not supported for relations with rules."
 msgstr "MERGE wird für Relationen mit Regeln nicht unterstützt."
 
-#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4197
+#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4204
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
@@ -22518,102 +22613,102 @@ msgstr "Um Aktualisieren der Sicht mit MERGE zu ermöglichen, richten Sie einen
 msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger."
 msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger ein."
 
-#: rewrite/rewriteHandler.c:3289
+#: rewrite/rewriteHandler.c:3302
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:3297
+#: rewrite/rewriteHandler.c:3310
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3305
+#: rewrite/rewriteHandler.c:3318
 #, c-format
 msgid "cannot merge into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« mergen"
 
-#: rewrite/rewriteHandler.c:3333
+#: rewrite/rewriteHandler.c:3346
 #, c-format
 msgid "cannot merge into view \"%s\""
 msgstr "kann nicht in Sicht »%s« mergen"
 
-#: rewrite/rewriteHandler.c:3335
+#: rewrite/rewriteHandler.c:3348
 #, c-format
 msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others."
 msgstr ""
 
-#: rewrite/rewriteHandler.c:3336
+#: rewrite/rewriteHandler.c:3349
 #, fuzzy, c-format
 #| msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers."
 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."
 
-#: rewrite/rewriteHandler.c:3855
+#: rewrite/rewriteHandler.c:3862
 #, c-format
 msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-NOTIFY-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3866
+#: rewrite/rewriteHandler.c:3873
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-NOTHING-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3880
+#: rewrite/rewriteHandler.c:3887
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit Bedingung werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3884
+#: rewrite/rewriteHandler.c:3891
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "DO-ALSO-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3889
+#: rewrite/rewriteHandler.c:3896
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:4149
+#: rewrite/rewriteHandler.c:4156
 msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
 msgstr "Sichten mit DO-INSTEAD-Regeln mit Bedingung sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:4246
+#: rewrite/rewriteHandler.c:4253
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4248
+#: rewrite/rewriteHandler.c:4255
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON INSERT DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4253
+#: rewrite/rewriteHandler.c:4260
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4255
+#: rewrite/rewriteHandler.c:4262
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON UPDATE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4260
+#: rewrite/rewriteHandler.c:4267
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4262
+#: rewrite/rewriteHandler.c:4269
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON DELETE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4280
+#: rewrite/rewriteHandler.c:4287
 #, c-format
 msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
 msgstr "INSERT mit ON-CONFLICT-Klausel kann nicht mit Tabelle verwendet werden, die INSERT- oder UPDATE-Regeln hat"
 
-#: rewrite/rewriteHandler.c:4337
+#: rewrite/rewriteHandler.c:4344
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in mehrere Anfragen umgeschrieben wird"
@@ -23122,23 +23217,23 @@ msgstr ""
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: storage/ipc/procarray.c:3845
+#: storage/ipc/procarray.c:3857
 #, c-format
 msgid "database \"%s\" is being used by prepared transactions"
 msgstr "Datenbank »%s« wird von vorbereiteten Transaktionen verwendet"
 
-#: storage/ipc/procarray.c:3881 storage/ipc/procarray.c:3889
+#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901
 #: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242
 #, c-format
 msgid "permission denied to terminate process"
 msgstr "keine Berechtigung, um Prozess zu beenden"
 
-#: storage/ipc/procarray.c:3882 storage/ipc/signalfuncs.c:236
+#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236
 #, c-format
 msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute."
 msgstr "Nur Rollen mit dem %s-Attribut können Prozesse von Rollen mit dem %s-Attribut beenden."
 
-#: storage/ipc/procarray.c:3890 storage/ipc/signalfuncs.c:243
+#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243
 #, c-format
 msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process."
 msgstr "Nur Rollen mit den Privilegien der Rolle deren Prozess beendet werden soll oder den Privilegien der Rolle »%s« können diesen Prozess beenden."
@@ -23158,9 +23253,9 @@ msgstr "kann Nachricht mit Größe %zu nicht über Shared-Memory-Queue senden"
 msgid "invalid message size %zu in shared memory queue"
 msgstr "ungültige Nachrichtengröße %zu in Shared-Memory-Queue"
 
-#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:962
-#: storage/lmgr/lock.c:1000 storage/lmgr/lock.c:2803 storage/lmgr/lock.c:4188
-#: storage/lmgr/lock.c:4253 storage/lmgr/lock.c:4603
+#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984
+#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2825 storage/lmgr/lock.c:4210
+#: storage/lmgr/lock.c:4275 storage/lmgr/lock.c:4625
 #: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478
 #: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922
 #: utils/hash/dynahash.c:1095
@@ -23251,7 +23346,7 @@ msgstr "Wiederherstellung wartet immer noch nach %ld,%03d ms: %s"
 msgid "recovery finished waiting after %ld.%03d ms: %s"
 msgstr "Warten der Wiederherstellung beendet nach %ld,%03d ms: %s"
 
-#: storage/ipc/standby.c:920 tcop/postgres.c:3169
+#: storage/ipc/standby.c:920 tcop/postgres.c:3168
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung"
@@ -23340,122 +23435,122 @@ msgstr "Verklemmung (Deadlock) entdeckt"
 msgid "See server log for query details."
 msgstr "Einzelheiten zur Anfrage finden Sie im Serverlog."
 
-#: storage/lmgr/lmgr.c:858
+#: storage/lmgr/lmgr.c:848
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "beim Aktualisieren von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:861
+#: storage/lmgr/lmgr.c:851
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "beim Löschen von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:864
+#: storage/lmgr/lmgr.c:854
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "beim Sperren von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:867
+#: storage/lmgr/lmgr.c:857
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "beim Sperren von aktualisierter Version (%u,%u) von Tupel in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:870
+#: storage/lmgr/lmgr.c:860
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "beim Einfügen von Indextupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:873
+#: storage/lmgr/lmgr.c:863
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "beim Prüfen der Eindeutigkeit von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:876
+#: storage/lmgr/lmgr.c:866
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "beim erneuten Prüfen des aktualisierten Tupels (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:879
+#: storage/lmgr/lmgr.c:869
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "beim Prüfen eines Exclusion-Constraints für Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:1249
+#: storage/lmgr/lmgr.c:1239
 #, c-format
 msgid "relation %u of database %u"
 msgstr "Relation %u der Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1255
+#: storage/lmgr/lmgr.c:1245
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "Erweiterung von Relation %u in Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1261
+#: storage/lmgr/lmgr.c:1251
 #, c-format
 msgid "pg_database.datfrozenxid of database %u"
 msgstr "pg_database.datfrozenxid der Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1266
+#: storage/lmgr/lmgr.c:1256
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "Seite %u von Relation %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1273
+#: storage/lmgr/lmgr.c:1263
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "Tupel (%u, %u) von Relation %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1281
+#: storage/lmgr/lmgr.c:1271
 #, c-format
 msgid "transaction %u"
 msgstr "Transaktion %u"
 
-#: storage/lmgr/lmgr.c:1286
+#: storage/lmgr/lmgr.c:1276
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "virtuelle Transaktion %d/%u"
 
-#: storage/lmgr/lmgr.c:1292
+#: storage/lmgr/lmgr.c:1282
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "spekulatives Token %u von Transaktion %u"
 
-#: storage/lmgr/lmgr.c:1298
+#: storage/lmgr/lmgr.c:1288
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "Objekt %u von Klasse %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1306
+#: storage/lmgr/lmgr.c:1296
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "Benutzersperre [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1313
+#: storage/lmgr/lmgr.c:1303
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "Benutzersperre [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1321
+#: storage/lmgr/lmgr.c:1311
 #, c-format
 msgid "remote transaction %u of subscription %u of database %u"
 msgstr "Remote-Transaktion %u von Subskription %u in Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1328
+#: storage/lmgr/lmgr.c:1318
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "unbekannter Locktag-Typ %d"
 
-#: storage/lmgr/lock.c:790
+#: storage/lmgr/lock.c:812
 #, c-format
 msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr "Sperrmodus %s kann während der Wiederherstellung nicht auf Datenbankobjekte gesetzt werden"
 
-#: storage/lmgr/lock.c:792
+#: storage/lmgr/lock.c:814
 #, c-format
 msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
 msgstr "Nur Sperren gleich oder unter RowExclusiveLock können während der Wiederherstellung auf Datenbankobjekte gesetzt werden."
 
-#: storage/lmgr/lock.c:3252 storage/lmgr/lock.c:3320 storage/lmgr/lock.c:3436
+#: storage/lmgr/lock.c:3274 storage/lmgr/lock.c:3342 storage/lmgr/lock.c:3458
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks 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"
@@ -23818,7 +23913,7 @@ msgstr "ungültige Argumentgröße %d in Funktionsaufruf-Message"
 msgid "incorrect binary data format in function argument %d"
 msgstr "falsches Binärdatenformat in Funktionsargument %d"
 
-#: tcop/postgres.c:463 tcop/postgres.c:4925
+#: tcop/postgres.c:463 tcop/postgres.c:4924
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "ungültiger Frontend-Message-Typ %d"
@@ -23868,7 +23963,7 @@ msgstr "falsches Binärdatenformat in Binden-Parameter %d"
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "Dauer: %s ms  Binden %s%s%s: %s"
 
-#: tcop/postgres.c:2114 tcop/postgres.c:2708
+#: tcop/postgres.c:2114 tcop/postgres.c:2707
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "Portal »%s« existiert nicht"
@@ -23956,182 +24051,182 @@ msgstr "unbenanntes Portal Parameter $%d = %s"
 msgid "unnamed portal parameter $%d"
 msgstr "unbenanntes Portal Parameter $%d"
 
-#: tcop/postgres.c:2928
+#: tcop/postgres.c:2927
 #, c-format
 msgid "terminating connection because of unexpected SIGQUIT signal"
 msgstr "Verbindung wird abgebrochen wegen unerwartetem SIGQUIT-Signal"
 
-#: tcop/postgres.c:2934
+#: tcop/postgres.c:2933
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "Verbindung wird abgebrochen wegen Absturz eines anderen Serverprozesses"
 
-#: tcop/postgres.c:2935
+#: tcop/postgres.c:2934
 #, c-format
 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory."
 msgstr "Der Postmaster hat diesen Serverprozess angewiesen, die aktuelle Transaktion zurückzurollen und die Sitzung zu beenden, weil ein anderer Serverprozess abnormal beendet wurde und möglicherweise das Shared Memory verfälscht hat."
 
-#: tcop/postgres.c:2939 tcop/postgres.c:3192
+#: tcop/postgres.c:2938 tcop/postgres.c:3191
 #, c-format
 msgid "In a moment you should be able to reconnect to the database and repeat your command."
 msgstr "In einem Moment sollten Sie wieder mit der Datenbank verbinden und Ihren Befehl wiederholen können."
 
-#: tcop/postgres.c:2946
+#: tcop/postgres.c:2945
 #, c-format
 msgid "terminating connection due to immediate shutdown command"
 msgstr "Verbindung wird abgebrochen aufgrund von Befehl für sofortiges Herunterfahren"
 
-#: tcop/postgres.c:3024
+#: tcop/postgres.c:3023
 #, c-format
 msgid "floating-point exception"
 msgstr "Fließkommafehler"
 
-#: tcop/postgres.c:3025
+#: tcop/postgres.c:3024
 #, c-format
 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr "Eine ungültige Fließkommaoperation wurde signalisiert. Das bedeutet wahrscheinlich ein Ergebnis außerhalb des gültigen Bereichs oder eine ungültige Operation, zum Beispiel Division durch null."
 
-#: tcop/postgres.c:3190
+#: tcop/postgres.c:3189
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "Verbindung wird abgebrochen wegen Konflikt mit der Wiederherstellung"
 
-#: tcop/postgres.c:3262
+#: tcop/postgres.c:3261
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "storniere Authentifizierung wegen Zeitüberschreitung"
 
-#: tcop/postgres.c:3266
+#: tcop/postgres.c:3265
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "Autovacuum-Prozess wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3270
+#: tcop/postgres.c:3269
 #, c-format
 msgid "terminating logical replication worker due to administrator command"
 msgstr "Arbeitsprozess für logische Replikation wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3290
+#: tcop/postgres.c:3289
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3321
+#: tcop/postgres.c:3320
 #, c-format
 msgid "connection to client lost"
 msgstr "Verbindung zum Client wurde verloren"
 
-#: tcop/postgres.c:3373
+#: tcop/postgres.c:3372
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre"
 
-#: tcop/postgres.c:3380
+#: tcop/postgres.c:3379
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage"
 
-#: tcop/postgres.c:3387
+#: tcop/postgres.c:3386
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "storniere Autovacuum-Aufgabe"
 
-#: tcop/postgres.c:3400
+#: tcop/postgres.c:3399
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "storniere Anfrage wegen Benutzeraufforderung"
 
-#: tcop/postgres.c:3421
+#: tcop/postgres.c:3420
 #, c-format
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion"
 
-#: tcop/postgres.c:3434
+#: tcop/postgres.c:3433
 #, c-format
 msgid "terminating connection due to transaction timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in Transaktion"
 
-#: tcop/postgres.c:3447
+#: tcop/postgres.c:3446
 #, c-format
 msgid "terminating connection due to idle-session timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Sitzung"
 
-#: tcop/postgres.c:3537
+#: tcop/postgres.c:3536
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "Grenze für Stacktiefe überschritten"
 
-#: tcop/postgres.c:3538
+#: tcop/postgres.c:3537
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr "Erhöhen Sie den Konfigurationsparameter »max_stack_depth« (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist."
 
-#: tcop/postgres.c:3585
+#: tcop/postgres.c:3584
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "»max_stack_depth« darf %ldkB nicht überschreiten."
 
-#: tcop/postgres.c:3587
+#: tcop/postgres.c:3586
 #, c-format
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit »ulimit -s« oder der lokalen Entsprechung."
 
-#: tcop/postgres.c:3610
+#: tcop/postgres.c:3609
 #, c-format
 msgid "\"client_connection_check_interval\" must be set to 0 on this platform."
 msgstr "»client_connection_check_interval« muss auf dieser Plattform auf 0 gesetzt sein."
 
-#: tcop/postgres.c:3631
+#: tcop/postgres.c:3630
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist."
 
-#: tcop/postgres.c:3646
+#: tcop/postgres.c:3645
 #, 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."
 
-#: tcop/postgres.c:4011
+#: tcop/postgres.c:4010
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s"
 
-#: tcop/postgres.c:4012 tcop/postgres.c:4018
+#: tcop/postgres.c:4011 tcop/postgres.c:4017
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Versuchen Sie »%s --help« für weitere Informationen."
 
-#: tcop/postgres.c:4016
+#: tcop/postgres.c:4015
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: ungültiges Kommandozeilenargument: %s"
 
-#: tcop/postgres.c:4069
+#: tcop/postgres.c:4068
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: weder Datenbankname noch Benutzername angegeben"
 
-#: tcop/postgres.c:4822
+#: tcop/postgres.c:4821
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "ungültiger Subtyp %d von CLOSE-Message"
 
-#: tcop/postgres.c:4859
+#: tcop/postgres.c:4858
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "ungültiger Subtyp %d von DESCRIBE-Message"
 
-#: tcop/postgres.c:4946
+#: tcop/postgres.c:4945
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt"
 
-#: tcop/postgres.c:4950
+#: tcop/postgres.c:4949
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt"
 
-#: tcop/postgres.c:5130
+#: tcop/postgres.c:5129
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s"
@@ -24486,11 +24581,17 @@ msgstr "Funktionsaufruf einer gelöschten Funktion"
 msgid "resetting existing statistics for kind %s, db=%u, oid=%u"
 msgstr "bestehende Statistiken für Art %s, db=%u, oid=%u werden zurückgesetzt"
 
-#: utils/activity/wait_event.c:210
+#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232
 #, fuzzy, c-format
-#| msgid "too many arguments for cursor \"%s\""
-msgid "too many wait events for extensions"
-msgstr "zu viele Argumente für Cursor »%s«"
+#| msgid "type \"%s\" already exists in schema \"%s\""
+msgid "wait event \"%s\" already exists in type \"%s\""
+msgstr "Typ %s existiert bereits in Schema »%s«"
+
+#: utils/activity/wait_event.c:246
+#, fuzzy, c-format
+#| msgid "too many arguments"
+msgid "too many custom wait events"
+msgstr "zu viele Argumente"
 
 #: utils/adt/acl.c:183 utils/adt/name.c:93
 #, c-format
@@ -24613,7 +24714,7 @@ msgstr "Eingabedatentyp ist kein Array"
 #: utils/adt/int.c:1025 utils/adt/int.c:1058 utils/adt/int.c:1072
 #: utils/adt/int.c:1086 utils/adt/int.c:1117 utils/adt/int.c:1199
 #: utils/adt/int.c:1263 utils/adt/int.c:1331 utils/adt/int.c:1337
-#: utils/adt/int8.c:1256 utils/adt/numeric.c:1902 utils/adt/numeric.c:4439
+#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454
 #: utils/adt/rangetypes.c:1488 utils/adt/rangetypes.c:1501
 #: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1135
 #: utils/adt/varlena.c:3137
@@ -24654,7 +24755,7 @@ msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "Arrays mit unterschiedlichen Dimensionen sind nicht kompatibel für Aneinanderhängen."
 
 #: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983
-#: utils/adt/arrayfuncs.c:5609 utils/adt/arrayfuncs.c:5615
+#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "Arrays unterschiedlicher Dimensionalität können nicht akkumuliert werden"
@@ -24722,8 +24823,8 @@ msgstr "Auf »[« müssen explizit angegebene Array-Dimensionen folgen."
 msgid "Missing array dimension value."
 msgstr "Dimensionswert fehlt."
 
-#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2933
-#: utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993
+#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940
+#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "Obergrenze kann nicht kleiner als Untergrenze sein"
@@ -24754,7 +24855,7 @@ msgstr "Unerwartetes Arrayelement."
 msgid "Specified array dimensions do not match array contents."
 msgstr "Angegebene Array-Dimensionen stimmen nicht mit dem Array-Inhalt überein."
 
-#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2597
+#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben."
@@ -24772,8 +24873,8 @@ msgstr "Unerwartetes Arrayelement."
 msgid "Unexpected end of input."
 msgstr "Unerwartetes Ende der Eingabe."
 
-#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3492
-#: utils/adt/arrayfuncs.c:6099
+#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499
+#: utils/adt/arrayfuncs.c:6106
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "ungültige Anzahl Dimensionen: %d"
@@ -24812,17 +24913,17 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement
 
 #: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267
 #: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570
-#: utils/adt/arrayfuncs.c:2908 utils/adt/arrayfuncs.c:6085
-#: utils/adt/arrayfuncs.c:6111 utils/adt/arrayfuncs.c:6122
+#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092
+#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129
 #: utils/adt/json.c:1419 utils/adt/json.c:1491 utils/adt/jsonb.c:1317
-#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4691 utils/adt/jsonfuncs.c:4844
-#: utils/adt/jsonfuncs.c:4955 utils/adt/jsonfuncs.c:5003
+#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863
+#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "falsche Anzahl Arrayindizes"
 
 #: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374
-#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2983
+#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990
 #, c-format
 msgid "array subscript out of range"
 msgstr "Arrayindex außerhalb des gültigen Bereichs"
@@ -24847,85 +24948,85 @@ msgstr "Array-Slice-Index muss beide Begrenzungen angeben"
 msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
 msgstr "Wenn ein Slice eines leeren Array-Wertes zugewiesen wird, dann müssen die Slice-Begrenzungen vollständig angegeben werden."
 
-#: utils/adt/arrayfuncs.c:2898 utils/adt/arrayfuncs.c:3010
+#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017
 #, c-format
 msgid "source array too small"
 msgstr "Quellarray ist zu klein"
 
-#: utils/adt/arrayfuncs.c:3650
+#: utils/adt/arrayfuncs.c:3657
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "NULL-Werte im Array sind in diesem Zusammenhang nicht erlaubt"
 
-#: utils/adt/arrayfuncs.c:3821 utils/adt/arrayfuncs.c:3992
-#: utils/adt/arrayfuncs.c:4383
+#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999
+#: utils/adt/arrayfuncs.c:4390
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen"
 
-#: utils/adt/arrayfuncs.c:4170 utils/adt/multirangetypes.c:2805
+#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805
 #: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361
 #: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "konnte keine Hash-Funktion für Typ %s ermitteln"
 
-#: utils/adt/arrayfuncs.c:4298 utils/adt/rowtypes.c:1996
+#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996
 #, c-format
 msgid "could not identify an extended hash function for type %s"
 msgstr "konnte keine erweiterte Hash-Funktion für Typ %s ermitteln"
 
-#: utils/adt/arrayfuncs.c:5499
+#: utils/adt/arrayfuncs.c:5506
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "Datentyp %s ist kein Array-Typ"
 
-#: utils/adt/arrayfuncs.c:5554
+#: utils/adt/arrayfuncs.c:5561
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "Arrays, die NULL sind, können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5582
+#: utils/adt/arrayfuncs.c:5589
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "leere Arrays können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5983 utils/adt/arrayfuncs.c:6023
+#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "Dimensions-Array oder Untergrenzen-Array darf nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:6086 utils/adt/arrayfuncs.c:6112
+#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Dimensions-Array muss eindimensional sein."
 
-#: utils/adt/arrayfuncs.c:6091 utils/adt/arrayfuncs.c:6117
+#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "Dimensionswerte dürfen nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:6123
+#: utils/adt/arrayfuncs.c:6130
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "Untergrenzen-Array hat andere Größe als Dimensions-Array."
 
-#: utils/adt/arrayfuncs.c:6404
+#: utils/adt/arrayfuncs.c:6411
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "Entfernen von Elementen aus mehrdimensionalen Arrays wird nicht unterstützt"
 
-#: utils/adt/arrayfuncs.c:6681
+#: utils/adt/arrayfuncs.c:6688
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "Parameter »thresholds« muss ein eindimensionales Array sein"
 
-#: utils/adt/arrayfuncs.c:6686
+#: utils/adt/arrayfuncs.c:6693
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "»thresholds«-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/arrayfuncs.c:6919
+#: utils/adt/arrayfuncs.c:6926
 #, c-format
 msgid "number of elements to trim must be between 0 and %d"
 msgstr "Anzahl der zu entfernenden Elemente muss zwischen 0 und %d sein"
@@ -24966,7 +25067,7 @@ msgid "encoding conversion from %s to ASCII not supported"
 msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/bool.c:149 utils/adt/cash.c:277 utils/adt/datetime.c:4142
+#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142
 #: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301
 #: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503
 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974
@@ -24974,8 +25075,8 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 #: utils/adt/geo_ops.c:3428 utils/adt/geo_ops.c:4650 utils/adt/geo_ops.c:4665
 #: utils/adt/geo_ops.c:4672 utils/adt/int.c:174 utils/adt/int.c:186
 #: utils/adt/jsonpath.c:185 utils/adt/mac.c:94 utils/adt/mac8.c:226
-#: utils/adt/network.c:99 utils/adt/numeric.c:796 utils/adt/numeric.c:7206
-#: utils/adt/numeric.c:7409 utils/adt/numeric.c:8356 utils/adt/numutils.c:356
+#: utils/adt/network.c:99 utils/adt/numeric.c:803 utils/adt/numeric.c:7221
+#: utils/adt/numeric.c:7424 utils/adt/numeric.c:8371 utils/adt/numutils.c:356
 #: utils/adt/numutils.c:618 utils/adt/numutils.c:880 utils/adt/numutils.c:919
 #: utils/adt/numutils.c:941 utils/adt/numutils.c:1005 utils/adt/numutils.c:1027
 #: utils/adt/pg_lsn.c:73 utils/adt/tid.c:72 utils/adt/tid.c:80
@@ -24985,29 +25086,33 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "ungültige Eingabesyntax für Typ %s: »%s«"
 
-#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250
-#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:350
-#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925
-#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011
+#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124
+#: utils/adt/cash.c:137 utils/adt/cash.c:150
 #, c-format
-msgid "value \"%s\" is out of range for type %s"
-msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s"
+msgid "money out of range"
+msgstr "money ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753
-#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904
-#: utils/adt/float.c:99 utils/adt/int.c:843 utils/adt/int.c:959
-#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139
-#: utils/adt/int.c:1167 utils/adt/int8.c:514 utils/adt/int8.c:572
-#: utils/adt/int8.c:942 utils/adt/int8.c:1022 utils/adt/int8.c:1084
-#: utils/adt/int8.c:1164 utils/adt/numeric.c:3176 utils/adt/numeric.c:3199
-#: utils/adt/numeric.c:3284 utils/adt/numeric.c:3302 utils/adt/numeric.c:3398
-#: utils/adt/numeric.c:8905 utils/adt/numeric.c:9218 utils/adt/numeric.c:9566
-#: utils/adt/numeric.c:9682 utils/adt/numeric.c:11192
-#: utils/adt/timestamp.c:3713
+#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99
+#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039
+#: utils/adt/int.c:1101 utils/adt/int.c:1139 utils/adt/int.c:1167
+#: utils/adt/int8.c:514 utils/adt/int8.c:572 utils/adt/int8.c:942
+#: utils/adt/int8.c:1022 utils/adt/int8.c:1084 utils/adt/int8.c:1164
+#: utils/adt/numeric.c:3191 utils/adt/numeric.c:3214 utils/adt/numeric.c:3299
+#: utils/adt/numeric.c:3317 utils/adt/numeric.c:3413 utils/adt/numeric.c:8920
+#: utils/adt/numeric.c:9233 utils/adt/numeric.c:9581 utils/adt/numeric.c:9697
+#: utils/adt/numeric.c:11208 utils/adt/timestamp.c:3713
 #, c-format
 msgid "division by zero"
 msgstr "Division durch Null"
 
+#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327
+#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350
+#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925
+#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011
+#, c-format
+msgid "value \"%s\" is out of range for type %s"
+msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s"
+
 #: utils/adt/char.c:197
 #, c-format
 msgid "\"char\" out of range"
@@ -25042,7 +25147,7 @@ msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: »%s«"
 
 #: utils/adt/date.c:222 utils/adt/date.c:520 utils/adt/date.c:544
-#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2489
+#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2531
 #, c-format
 msgid "date out of range"
 msgstr "date ist außerhalb des gültigen Bereichs"
@@ -25116,8 +25221,8 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s"
 #: utils/adt/timestamp.c:6260 utils/adt/timestamp.c:6347
 #: utils/adt/timestamp.c:6388 utils/adt/timestamp.c:6392
 #: utils/adt/timestamp.c:6446 utils/adt/timestamp.c:6450
-#: utils/adt/timestamp.c:6456 utils/adt/timestamp.c:6497 utils/adt/xml.c:2511
-#: utils/adt/xml.c:2518 utils/adt/xml.c:2538 utils/adt/xml.c:2545
+#: utils/adt/timestamp.c:6456 utils/adt/timestamp.c:6497 utils/adt/xml.c:2553
+#: utils/adt/xml.c:2560 utils/adt/xml.c:2580 utils/adt/xml.c:2587
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp ist außerhalb des gültigen Bereichs"
@@ -25152,7 +25257,7 @@ msgstr "kann unendliche date-Werte nicht subtrahieren"
 
 #: utils/adt/date.c:2115 utils/adt/date.c:2667 utils/adt/float.c:1036
 #: utils/adt/float.c:1112 utils/adt/int.c:635 utils/adt/int.c:682
-#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2580
+#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2595
 #: utils/adt/timestamp.c:3810 utils/adt/timestamp.c:3847
 #: utils/adt/timestamp.c:3888
 #, c-format
@@ -25210,17 +25315,17 @@ msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonen
 msgid "invalid Datum pointer"
 msgstr "ungültiger »Datum«-Zeiger"
 
-#: utils/adt/dbsize.c:760 utils/adt/dbsize.c:836
+#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840
 #, c-format
 msgid "invalid size: \"%s\""
 msgstr "ungültige Größe: »%s«"
 
-#: utils/adt/dbsize.c:837
+#: utils/adt/dbsize.c:841
 #, c-format
 msgid "Invalid size unit: \"%s\"."
 msgstr "Ungültige Größeneinheit: »%s«."
 
-#: utils/adt/dbsize.c:838
+#: utils/adt/dbsize.c:842
 #, c-format
 msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"."
 msgstr "Gültige Einheiten sind »bytes«, »B«, »kB«, »MB«, »GB«, »TB« und »PB«."
@@ -25330,34 +25435,34 @@ msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision"
 #: utils/adt/float.c:1247 utils/adt/float.c:1321 utils/adt/int.c:355
 #: utils/adt/int.c:893 utils/adt/int.c:915 utils/adt/int.c:929
 #: utils/adt/int.c:943 utils/adt/int.c:975 utils/adt/int.c:1213
-#: utils/adt/int8.c:1277 utils/adt/numeric.c:4578 utils/adt/numeric.c:4583
+#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:1447 utils/adt/numeric.c:3694 utils/adt/numeric.c:10097
+#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1515 utils/adt/numeric.c:3982 utils/adt/numeric.c:4094
+#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "null hoch eine negative Zahl ist undefiniert"
 
-#: utils/adt/float.c:1519 utils/adt/numeric.c:3986 utils/adt/numeric.c:10988
+#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "eine negative Zahl hoch eine nicht ganze Zahl ergibt ein komplexes Ergebnis"
 
-#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3894
-#: utils/adt/numeric.c:10768
+#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909
+#: utils/adt/numeric.c:10783
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "Logarithmus von null kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3832
-#: utils/adt/numeric.c:3889 utils/adt/numeric.c:10772
+#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3847
+#: utils/adt/numeric.c:3904 utils/adt/numeric.c:10787
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
@@ -25371,22 +25476,22 @@ 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:4000 utils/adt/numeric.c:1842
+#: utils/adt/float.c:4000 utils/adt/numeric.c:1857
 #, c-format
 msgid "count must be greater than zero"
 msgstr "Anzahl muss größer als null sein"
 
-#: utils/adt/float.c:4005 utils/adt/numeric.c:1853
+#: utils/adt/float.c:4005 utils/adt/numeric.c:1868
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
 
-#: utils/adt/float.c:4011 utils/adt/numeric.c:1858
+#: utils/adt/float.c:4011 utils/adt/numeric.c:1873
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "Untergrenze und Obergrenze müssen endlich sein"
 
-#: utils/adt/float.c:4077 utils/adt/numeric.c:1872
+#: utils/adt/float.c:4077 utils/adt/numeric.c:1887
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "Untergrenze kann nicht gleich der Obergrenze sein"
@@ -25737,7 +25842,7 @@ msgstr "mindestens 2 Punkte müssen angefordert werden"
 msgid "invalid int2vector data"
 msgstr "ungültige int2vector-Daten"
 
-#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1750
+#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765
 #: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632
 #, c-format
 msgid "step size cannot equal zero"
@@ -25752,7 +25857,7 @@ msgstr "Schrittgröße kann nicht gleich null sein"
 #: utils/adt/int8.c:994 utils/adt/int8.c:1008 utils/adt/int8.c:1041
 #: utils/adt/int8.c:1055 utils/adt/int8.c:1069 utils/adt/int8.c:1100
 #: utils/adt/int8.c:1122 utils/adt/int8.c:1136 utils/adt/int8.c:1150
-#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4527
+#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4542
 #: utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548
 #: utils/adt/varbit.c:1676
 #, c-format
@@ -25922,210 +26027,210 @@ msgstr "jsonb-Index muss Typ text haben"
 msgid "jsonb subscript in assignment must not be null"
 msgstr "jsonb-Index in Zuweisung darf nicht NULL sein"
 
-#: utils/adt/jsonfuncs.c:582 utils/adt/jsonfuncs.c:829
-#: utils/adt/jsonfuncs.c:2438 utils/adt/jsonfuncs.c:3013
-#: utils/adt/jsonfuncs.c:3929 utils/adt/jsonfuncs.c:4276
+#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830
+#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015
+#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "%s kann nicht mit einem skalaren Wert aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:587 utils/adt/jsonfuncs.c:814
-#: utils/adt/jsonfuncs.c:3015 utils/adt/jsonfuncs.c:3916
+#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815
+#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "%s kann nicht mit einem Array aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:723
+#: utils/adt/jsonfuncs.c:724
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "JSON-Daten, Zeile %d: %s%s%s"
 
-#: utils/adt/jsonfuncs.c:1882 utils/adt/jsonfuncs.c:1919
+#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "kann nicht die Arraylänge eines skalaren Wertes ermitteln"
 
-#: utils/adt/jsonfuncs.c:1886 utils/adt/jsonfuncs.c:1905
+#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "kann nicht die Arraylänge eines Nicht-Arrays ermitteln"
 
-#: utils/adt/jsonfuncs.c:1985
+#: utils/adt/jsonfuncs.c:1986
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Objekt ist"
 
-#: utils/adt/jsonfuncs.c:2173
+#: utils/adt/jsonfuncs.c:2174
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "kann Array nicht in ein Objekt zerlegen"
 
-#: utils/adt/jsonfuncs.c:2187
+#: utils/adt/jsonfuncs.c:2188
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "kann skalaren Wert nicht zerlegen"
 
-#: utils/adt/jsonfuncs.c:2232
+#: utils/adt/jsonfuncs.c:2233
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "kann keine Elemente aus einem skalaren Wert auswählen"
 
-#: utils/adt/jsonfuncs.c:2236
+#: utils/adt/jsonfuncs.c:2237
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "kann keine Elemente aus einem Objekt auswählen"
 
-#: utils/adt/jsonfuncs.c:2423 utils/adt/jsonfuncs.c:4154
+#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Array ist"
 
-#: utils/adt/jsonfuncs.c:2514 utils/adt/jsonfuncs.c:2519
-#: utils/adt/jsonfuncs.c:2537 utils/adt/jsonfuncs.c:2543
+#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520
+#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544
 #, c-format
 msgid "expected JSON array"
 msgstr "JSON-Array wurde erwartet"
 
-#: utils/adt/jsonfuncs.c:2515
+#: utils/adt/jsonfuncs.c:2516
 #, c-format
 msgid "See the value of key \"%s\"."
 msgstr "Prüfen Sie den Wert des Schlüssels »%s«."
 
-#: utils/adt/jsonfuncs.c:2538
+#: utils/adt/jsonfuncs.c:2539
 #, c-format
 msgid "See the array element %s of key \"%s\"."
 msgstr "Prüfen Sie das Arrayelement %s des Schlüssels »%s«."
 
-#: utils/adt/jsonfuncs.c:2544
+#: utils/adt/jsonfuncs.c:2545
 #, c-format
 msgid "See the array element %s."
 msgstr "Prüfen Sie das Arrayelement %s."
 
-#: utils/adt/jsonfuncs.c:2596
+#: utils/adt/jsonfuncs.c:2597
 #, c-format
 msgid "malformed JSON array"
 msgstr "fehlerhaftes JSON-Array"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3628
+#: utils/adt/jsonfuncs.c:3647
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "erstes Argument von %s muss ein Zeilentyp sein"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3652
+#: utils/adt/jsonfuncs.c:3671
 #, c-format
 msgid "could not determine row type for result of %s"
 msgstr "konnte Zeilentyp für Ergebnis von %s nicht ermitteln"
 
-#: utils/adt/jsonfuncs.c:3654
+#: utils/adt/jsonfuncs.c:3673
 #, c-format
 msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
 msgstr "Geben Sie ein »record«-Argument, das nicht NULL ist, an oder rufen Sie die Funktion in der FROM-Klausel mit einer Spaltendefinitionsliste auf."
 
-#: utils/adt/jsonfuncs.c:4040 utils/fmgr/funcapi.c:94
+#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
 
-#: utils/adt/jsonfuncs.c:4171 utils/adt/jsonfuncs.c:4255
+#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "Argument von %s muss ein Array von Objekten sein"
 
-#: utils/adt/jsonfuncs.c:4204
+#: utils/adt/jsonfuncs.c:4223
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "%s kann nicht mit einem Objekt aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:4637 utils/adt/jsonfuncs.c:4696
-#: utils/adt/jsonfuncs.c:4776
+#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715
+#: utils/adt/jsonfuncs.c:4795
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "kann nicht aus skalarem Wert löschen"
 
-#: utils/adt/jsonfuncs.c:4781
+#: utils/adt/jsonfuncs.c:4800
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "aus einem Objekt kann nicht per numerischem Index gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:4849 utils/adt/jsonfuncs.c:5008
+#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gesetzt werden"
 
-#: utils/adt/jsonfuncs.c:4890 utils/adt/jsonfuncs.c:4932
+#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951
 #, c-format
 msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
 msgstr "null_value_treatment muss »delete_key«, »return_target«, »use_json_null« oder »raise_exception« sein"
 
-#: utils/adt/jsonfuncs.c:4903
+#: utils/adt/jsonfuncs.c:4922
 #, c-format
 msgid "JSON value must not be null"
 msgstr "JSON-Wert darf nicht NULL sein"
 
-#: utils/adt/jsonfuncs.c:4904
+#: utils/adt/jsonfuncs.c:4923
 #, c-format
 msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
 msgstr "Ausnahme wurde ausgelöst, weil null_value_treatment »raise_exception« ist."
 
-#: utils/adt/jsonfuncs.c:4905
+#: utils/adt/jsonfuncs.c:4924
 #, c-format
 msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
 msgstr "Um dies zu vermeiden, ändern Sie das Argument null_value_treatment oder sorgen Sie dafür, dass kein SQL NULL übergeben wird."
 
-#: utils/adt/jsonfuncs.c:4960
+#: utils/adt/jsonfuncs.c:4979
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:5174
+#: utils/adt/jsonfuncs.c:5193
 #, c-format
 msgid "path element at position %d is null"
 msgstr "Pfadelement auf Position %d ist NULL"
 
-#: utils/adt/jsonfuncs.c:5193 utils/adt/jsonfuncs.c:5224
-#: utils/adt/jsonfuncs.c:5297
+#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243
+#: utils/adt/jsonfuncs.c:5316
 #, c-format
 msgid "cannot replace existing key"
 msgstr "existierender Schlüssel kann nicht ersetzt werden"
 
-#: utils/adt/jsonfuncs.c:5194 utils/adt/jsonfuncs.c:5225
+#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244
 #, c-format
 msgid "The path assumes key is a composite object, but it is a scalar value."
 msgstr "Der Pfad nimmt an, dass der Schlüssel ein zusammengesetztes Objekt ist, aber er ist ein skalarer Wert."
 
-#: utils/adt/jsonfuncs.c:5298
+#: utils/adt/jsonfuncs.c:5317
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Verwenden Sie die Funktion jsonb_set, um den Schlüsselwert zu ersetzen."
 
-#: utils/adt/jsonfuncs.c:5402
+#: utils/adt/jsonfuncs.c:5421
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "Pfadelement auf Position %d ist keine ganze Zahl: »%s«"
 
-#: utils/adt/jsonfuncs.c:5419
+#: utils/adt/jsonfuncs.c:5438
 #, c-format
 msgid "path element at position %d is out of range: %d"
 msgstr "Pfadelement auf Position %d ist außerhalb des gültigen Bereichs: %d"
 
-#: utils/adt/jsonfuncs.c:5571
+#: utils/adt/jsonfuncs.c:5590
 #, c-format
 msgid "wrong flag type, only arrays and scalars are allowed"
 msgstr "falscher Flag-Typ, nur Arrays und skalare Werte sind erlaubt"
 
-#: utils/adt/jsonfuncs.c:5578
+#: utils/adt/jsonfuncs.c:5597
 #, c-format
 msgid "flag array element is not a string"
 msgstr "Flag-Array-Element ist keine Zeichenkette"
 
-#: utils/adt/jsonfuncs.c:5579 utils/adt/jsonfuncs.c:5601
+#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620
 #, c-format
 msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
 msgstr "Mögliche Werte sind: »string«, »numeric«, »boolean«, »key« und »all«."
 
-#: utils/adt/jsonfuncs.c:5599
+#: utils/adt/jsonfuncs.c:5618
 #, c-format
 msgid "wrong flag in flag array: \"%s\""
 msgstr "falsche Flag im Flag-Array: »%s«"
@@ -26280,7 +26385,7 @@ msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des
 #: utils/adt/jsonpath_exec.c:2502 utils/adt/jsonpath_exec.c:2508
 #: utils/adt/jsonpath_exec.c:2535 utils/adt/jsonpath_exec.c:2563
 #: utils/adt/jsonpath_exec.c:2616 utils/adt/jsonpath_exec.c:2667
-#: utils/adt/jsonpath_exec.c:2723
+#: utils/adt/jsonpath_exec.c:2738
 #, fuzzy, c-format
 #| msgid "datetime format is not recognized: \"%s\""
 msgid "%s format is not recognized: \"%s\""
@@ -26291,79 +26396,79 @@ msgstr "Datum-/Zeitformat nicht erkannt: »%s«"
 msgid "Use a datetime template argument to specify the input data format."
 msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben."
 
-#: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2753
+#: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2778
 #, fuzzy, c-format
 #| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
 msgid "time precision of jsonpath item method .%s() is invalid"
 msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision"
 
-#: utils/adt/jsonpath_exec.c:2833
+#: utils/adt/jsonpath_exec.c:2858
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an object"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:3117
+#: utils/adt/jsonpath_exec.c:3142
 #, fuzzy, c-format
 #| msgid "%s could not convert type %s to %s"
 msgid "could not convert value of type %s to jsonpath"
 msgstr "%s konnte Typ %s nicht in %s umwandeln"
 
-#: utils/adt/jsonpath_exec.c:3151
+#: utils/adt/jsonpath_exec.c:3176
 #, c-format
 msgid "could not find jsonpath variable \"%s\""
 msgstr "konnte JSON-Path-Variable »%s« nicht finden"
 
-#: utils/adt/jsonpath_exec.c:3204
+#: utils/adt/jsonpath_exec.c:3229
 #, c-format
 msgid "\"vars\" argument is not an object"
 msgstr "Argument »vars« ist kein Objekt"
 
-#: utils/adt/jsonpath_exec.c:3205
+#: utils/adt/jsonpath_exec.c:3230
 #, c-format
 msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
 msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden."
 
-#: utils/adt/jsonpath_exec.c:3468
+#: utils/adt/jsonpath_exec.c:3493
 #, c-format
 msgid "jsonpath array subscript is not a single numeric value"
 msgstr "JSON-Path-Arrayindex ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:3480
+#: utils/adt/jsonpath_exec.c:3505
 #, c-format
 msgid "jsonpath array subscript is out of integer range"
 msgstr "JSON-Path-Arrayindex ist außerhalb des gültigen Bereichs für ganze Zahlen"
 
-#: utils/adt/jsonpath_exec.c:3664
+#: utils/adt/jsonpath_exec.c:3689
 #, c-format
 msgid "cannot convert value from %s to %s without time zone usage"
 msgstr "Wert kann nicht von %s nach %s konvertiert werden ohne Verwendung von Zeitzonen"
 
-#: utils/adt/jsonpath_exec.c:3666
+#: utils/adt/jsonpath_exec.c:3691
 #, c-format
 msgid "Use *_tz() function for time zone support."
 msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung."
 
-#: utils/adt/jsonpath_exec.c:3960
+#: utils/adt/jsonpath_exec.c:3985
 #, c-format
 msgid "JSON path expression for column \"%s\" should return single item without wrapper"
 msgstr ""
 
-#: utils/adt/jsonpath_exec.c:3962 utils/adt/jsonpath_exec.c:3967
+#: utils/adt/jsonpath_exec.c:3987 utils/adt/jsonpath_exec.c:3992
 #, c-format
 msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array."
 msgstr ""
 
-#: utils/adt/jsonpath_exec.c:3966
+#: utils/adt/jsonpath_exec.c:3991
 #, c-format
 msgid "JSON path expression in JSON_QUERY should return single item without wrapper"
 msgstr ""
 
-#: utils/adt/jsonpath_exec.c:4024 utils/adt/jsonpath_exec.c:4048
+#: utils/adt/jsonpath_exec.c:4049 utils/adt/jsonpath_exec.c:4073
 #, c-format
 msgid "JSON path expression for column \"%s\" should return single scalar item"
 msgstr ""
 
-#: utils/adt/jsonpath_exec.c:4029 utils/adt/jsonpath_exec.c:4053
+#: utils/adt/jsonpath_exec.c:4054 utils/adt/jsonpath_exec.c:4078
 #, c-format
 msgid "JSON path expression in JSON_VALUE should return single scalar item"
 msgstr ""
@@ -26609,132 +26714,132 @@ 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:786 utils/adt/numeric.c:3644 utils/adt/numeric.c:7201
-#: utils/adt/numeric.c:7404 utils/adt/numeric.c:7876 utils/adt/numeric.c:10571
-#: utils/adt/numeric.c:11045 utils/adt/numeric.c:11139
-#: utils/adt/numeric.c:11273
+#: utils/adt/numeric.c:793 utils/adt/numeric.c:3659 utils/adt/numeric.c:7216
+#: utils/adt/numeric.c:7419 utils/adt/numeric.c:7891 utils/adt/numeric.c:10586
+#: utils/adt/numeric.c:11061 utils/adt/numeric.c:11155
+#: utils/adt/numeric.c:11290
 #, c-format
 msgid "value overflows numeric format"
 msgstr "Wert verursacht Überlauf im »numeric«-Format"
 
-#: utils/adt/numeric.c:1099
+#: utils/adt/numeric.c:1106
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "ungültiges Vorzeichen in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:1105
+#: utils/adt/numeric.c:1112
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "ungültige Skala in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:1114
+#: utils/adt/numeric.c:1121
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "ungültige Ziffer in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:1329 utils/adt/numeric.c:1343
+#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350
 #, 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:1334
+#: utils/adt/numeric.c:1341
 #, c-format
 msgid "NUMERIC scale %d must be between %d and %d"
 msgstr "Skala von NUMERIC (%d) muss zwischen %d und %d liegen"
 
-#: utils/adt/numeric.c:1352
+#: utils/adt/numeric.c:1359
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "ungültiker Modifikator für Typ NUMERIC"
 
-#: utils/adt/numeric.c:1710
+#: utils/adt/numeric.c:1725
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "Startwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1714
+#: utils/adt/numeric.c:1729
 #, c-format
 msgid "start value cannot be infinity"
 msgstr "Startwert kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:1721
+#: utils/adt/numeric.c:1736
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "Stoppwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1725
+#: utils/adt/numeric.c:1740
 #, c-format
 msgid "stop value cannot be infinity"
 msgstr "Stoppwert kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:1738
+#: utils/adt/numeric.c:1753
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "Schrittgröße kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1742
+#: utils/adt/numeric.c:1757
 #, c-format
 msgid "step size cannot be infinity"
 msgstr "Schrittgröße kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:3634
+#: utils/adt/numeric.c:3649
 #, c-format
 msgid "factorial of a negative number is undefined"
 msgstr "Fakultät einer negativen Zahl ist undefiniert"
 
-#: utils/adt/numeric.c:4241
+#: utils/adt/numeric.c:4256
 #, c-format
 msgid "lower bound cannot be NaN"
 msgstr "Untergrenze kann nicht NaN sein"
 
-#: utils/adt/numeric.c:4245
+#: utils/adt/numeric.c:4260
 #, c-format
 msgid "lower bound cannot be infinity"
 msgstr "Untergrenze kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:4252
+#: utils/adt/numeric.c:4267
 #, c-format
 msgid "upper bound cannot be NaN"
 msgstr "Obergrenze kann nicht NaN sein"
 
-#: utils/adt/numeric.c:4256
+#: utils/adt/numeric.c:4271
 #, c-format
 msgid "upper bound cannot be infinity"
 msgstr "Obergrenze kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:4417 utils/adt/numeric.c:4505 utils/adt/numeric.c:4565
-#: utils/adt/numeric.c:4761
+#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580
+#: utils/adt/numeric.c:4776
 #, c-format
 msgid "cannot convert NaN to %s"
 msgstr "kann NaN nicht in %s umwandeln"
 
-#: utils/adt/numeric.c:4421 utils/adt/numeric.c:4509 utils/adt/numeric.c:4569
-#: utils/adt/numeric.c:4765
+#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584
+#: utils/adt/numeric.c:4780
 #, c-format
 msgid "cannot convert infinity to %s"
 msgstr "kann Unendlich nicht in %s umwandeln"
 
-#: utils/adt/numeric.c:4774
+#: utils/adt/numeric.c:4789
 #, c-format
 msgid "pg_lsn out of range"
 msgstr "pg_lsn ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/numeric.c:7966 utils/adt/numeric.c:8017
+#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032
 #, c-format
 msgid "numeric field overflow"
 msgstr "Feldüberlauf bei Typ »numeric«"
 
-#: utils/adt/numeric.c:7967
+#: utils/adt/numeric.c:7982
 #, 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:8018
+#: utils/adt/numeric.c:8033
 #, c-format
 msgid "A field with precision %d, scale %d cannot hold an infinite value."
 msgstr "Ein Feld mit Präzision %d, Skala %d kann keinen unendlichen Wert enthalten."
 
-#: utils/adt/numeric.c:11342 utils/adt/pseudorandomfuncs.c:135
+#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135
 #: utils/adt/pseudorandomfuncs.c:159
 #, c-format
 msgid "lower bound must be less than or equal to upper bound"
@@ -27831,96 +27936,96 @@ msgstr "konnte XML-Fehlerbehandlung nicht einrichten"
 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:2218
+#: utils/adt/xml.c:2260
 msgid "Invalid character value."
 msgstr "Ungültiger Zeichenwert."
 
-#: utils/adt/xml.c:2221
+#: utils/adt/xml.c:2263
 msgid "Space required."
 msgstr "Leerzeichen benötigt."
 
-#: utils/adt/xml.c:2224
+#: utils/adt/xml.c:2266
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "standalone akzeptiert nur »yes« oder »no«."
 
-#: utils/adt/xml.c:2227
+#: utils/adt/xml.c:2269
 msgid "Malformed declaration: missing version."
 msgstr "Fehlerhafte Deklaration: Version fehlt."
 
-#: utils/adt/xml.c:2230
+#: utils/adt/xml.c:2272
 msgid "Missing encoding in text declaration."
 msgstr "Fehlende Kodierung in Textdeklaration."
 
-#: utils/adt/xml.c:2233
+#: utils/adt/xml.c:2275
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Beim Parsen der XML-Deklaration: »?>« erwartet."
 
-#: utils/adt/xml.c:2236
+#: utils/adt/xml.c:2278
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Unbekannter Libxml-Fehlercode: %d."
 
-#: utils/adt/xml.c:2490
+#: utils/adt/xml.c:2532
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML unterstützt keine unendlichen Datumswerte."
 
-#: utils/adt/xml.c:2512 utils/adt/xml.c:2539
+#: utils/adt/xml.c:2554 utils/adt/xml.c:2581
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML unterstützt keine unendlichen timestamp-Werte."
 
-#: utils/adt/xml.c:2955
+#: utils/adt/xml.c:2997
 #, c-format
 msgid "invalid query"
 msgstr "ungültige Anfrage"
 
-#: utils/adt/xml.c:3047
+#: utils/adt/xml.c:3089
 #, c-format
 msgid "portal \"%s\" does not return tuples"
 msgstr "Portal »%s« gibt keine Tupel zurück"
 
-#: utils/adt/xml.c:4299
+#: utils/adt/xml.c:4341
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "ungültiges Array for XML-Namensraumabbildung"
 
-#: utils/adt/xml.c:4300
+#: utils/adt/xml.c:4342
 #, 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:4324
+#: utils/adt/xml.c:4366
 #, c-format
 msgid "empty XPath expression"
 msgstr "leerer XPath-Ausdruck"
 
-#: utils/adt/xml.c:4376
+#: utils/adt/xml.c:4418
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "weder Namensraumname noch URI dürfen NULL sein"
 
-#: utils/adt/xml.c:4383
+#: utils/adt/xml.c:4425
 #, 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"
 
-#: utils/adt/xml.c:4726
+#: utils/adt/xml.c:4768
 #, c-format
 msgid "DEFAULT namespace is not supported"
 msgstr "DEFAULT-Namensraum wird nicht unterstützt"
 
-#: utils/adt/xml.c:4755
+#: utils/adt/xml.c:4797
 #, c-format
 msgid "row path filter must not be empty string"
 msgstr "Zeilenpfadfilter darf nicht leer sein"
 
-#: utils/adt/xml.c:4786
+#: utils/adt/xml.c:4828
 #, c-format
 msgid "column path filter must not be empty string"
 msgstr "Spaltenpfadfilter darf nicht leer sein"
 
-#: utils/adt/xml.c:4930
+#: utils/adt/xml.c:4972
 #, c-format
 msgid "more than one value returned by column XPath expression"
 msgstr "XPath-Ausdruck für Spalte gab mehr als einen Wert zurück"
@@ -28016,97 +28121,97 @@ msgstr "TRAP: fehlgeschlagenes Assert(»%s«), Datei: »%s«, Zeile: %d, PID: %d
 msgid "error occurred before error message processing is available\n"
 msgstr "Fehler geschah bevor Fehlermeldungsverarbeitung bereit war\n"
 
-#: utils/error/elog.c:2101
+#: utils/error/elog.c:2117
 #, 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:2114
+#: utils/error/elog.c:2130
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "konnte Datei »%s« nicht als stdout neu öffnen: %m"
 
-#: utils/error/elog.c:2150
+#: utils/error/elog.c:2166
 #, c-format
 msgid "Invalid character"
 msgstr "Ungültiges Zeichen"
 
-#: utils/error/elog.c:2856 utils/error/elog.c:2883 utils/error/elog.c:2899
+#: utils/error/elog.c:2872 utils/error/elog.c:2899 utils/error/elog.c:2915
 msgid "[unknown]"
 msgstr "[unbekannt]"
 
-#: utils/error/elog.c:3169 utils/error/elog.c:3493 utils/error/elog.c:3600
+#: utils/error/elog.c:3185 utils/error/elog.c:3509 utils/error/elog.c:3616
 msgid "missing error text"
 msgstr "fehlender Fehlertext"
 
-#: utils/error/elog.c:3172 utils/error/elog.c:3175
+#: utils/error/elog.c:3188 utils/error/elog.c:3191
 #, c-format
 msgid " at character %d"
 msgstr " bei Zeichen %d"
 
-#: utils/error/elog.c:3185 utils/error/elog.c:3192
+#: utils/error/elog.c:3201 utils/error/elog.c:3208
 msgid "DETAIL:  "
 msgstr "DETAIL:  "
 
-#: utils/error/elog.c:3199
+#: utils/error/elog.c:3215
 msgid "HINT:  "
 msgstr "TIPP:  "
 
-#: utils/error/elog.c:3206
+#: utils/error/elog.c:3222
 msgid "QUERY:  "
 msgstr "ANFRAGE:  "
 
-#: utils/error/elog.c:3213
+#: utils/error/elog.c:3229
 msgid "CONTEXT:  "
 msgstr "ZUSAMMENHANG:  "
 
-#: utils/error/elog.c:3223
+#: utils/error/elog.c:3239
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "ORT:  %s, %s:%d\n"
 
-#: utils/error/elog.c:3230
+#: utils/error/elog.c:3246
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "ORT:  %s:%d\n"
 
-#: utils/error/elog.c:3237
+#: utils/error/elog.c:3253
 msgid "BACKTRACE:  "
 msgstr "BACKTRACE:  "
 
-#: utils/error/elog.c:3249
+#: utils/error/elog.c:3265
 msgid "STATEMENT:  "
 msgstr "ANWEISUNG:  "
 
-#: utils/error/elog.c:3645
+#: utils/error/elog.c:3661
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3649
+#: utils/error/elog.c:3665
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3652
+#: utils/error/elog.c:3668
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3655
+#: utils/error/elog.c:3671
 msgid "NOTICE"
 msgstr "HINWEIS"
 
-#: utils/error/elog.c:3659
+#: utils/error/elog.c:3675
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: utils/error/elog.c:3662
+#: utils/error/elog.c:3678
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: utils/error/elog.c:3665
+#: utils/error/elog.c:3681
 msgid "FATAL"
 msgstr "FATAL"
 
-#: utils/error/elog.c:3668
+#: utils/error/elog.c:3684
 msgid "PANIC"
 msgstr "PANIK"
 
@@ -29204,7 +29309,7 @@ msgstr "Ermöglicht asynchrone Append-Pläne im Planer."
 
 #: utils/misc/guc_tables.c:991
 msgid "Enables reordering of GROUP BY keys."
-msgstr ""
+msgstr "Ermöglicht Umordnen von GROUP-BY-Schlüsseln."
 
 #: utils/misc/guc_tables.c:1001
 msgid "Enables genetic query optimization."
@@ -29220,7 +29325,7 @@ msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist."
 
 #: utils/misc/guc_tables.c:1031
 msgid "Allows running the ALTER SYSTEM command."
-msgstr ""
+msgstr "Erlaubt das Ausführen des Befehls ALTER SYSTEM."
 
 #: utils/misc/guc_tables.c:1032
 msgid "Can be set to off for environments where global configuration changes should be made using a different method."
@@ -29780,7 +29885,7 @@ msgstr "-1 zeigt an, dass der Wert nicht ermittelt werden konnte."
 
 #: utils/misc/guc_tables.c:2296
 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache."
-msgstr ""
+msgstr "Setzt die Größe des für den Commit-Timestamp-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352
 #: utils/misc/guc_tables.c:2363
@@ -29789,29 +29894,27 @@ msgstr ""
 
 #: utils/misc/guc_tables.c:2307
 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache."
-msgstr ""
+msgstr "Setzt die Größe des für den MultiXact-Member-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2318
 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache."
-msgstr ""
+msgstr "Setzt die Größe des für den MultiXact-Offset-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2329
 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache."
-msgstr ""
+msgstr "Setzt die Größe des für den LISTEN/NOTIFY-Message-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2340
 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache."
-msgstr ""
+msgstr "Setzt die Größe des für den Cache für serialisierbare Transaktionen bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2351
-#, fuzzy
-#| msgid "Sets the name of the replication slot to use on the sending server."
 msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache."
-msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server."
+msgstr "Setzt die Größe des für den Subtransaktions-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2362
 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache."
-msgstr ""
+msgstr "Setzt die Größe des für den Transaktionsstatus-Cache bestimmten Buffer-Pools."
 
 #: utils/misc/guc_tables.c:2373
 msgid "Sets the maximum number of temporary buffers used by each session."
@@ -30944,7 +31047,7 @@ msgstr "Huge Pages auf Linux oder Windows verwenden."
 
 #: utils/misc/guc_tables.c:5020
 msgid "Indicates the status of huge pages."
-msgstr ""
+msgstr "Zeigt den Status von Huge Pages an."
 
 #: utils/misc/guc_tables.c:5031
 msgid "Prefetch referenced blocks during recovery."
@@ -31147,10 +31250,9 @@ msgid "cannot perform transaction commands inside a cursor loop that is not read
 msgstr "in einer Cursor-Schleife, die nicht nur liest, können keine Transaktionsbefehle ausgeführt werden"
 
 #: utils/sort/logtape.c:266 utils/sort/logtape.c:287
-#, fuzzy, c-format
-#| msgid "could not seek to block %ld of temporary file"
+#, c-format
 msgid "could not seek to block %lld of temporary file"
-msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %ld setzen"
+msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %lld setzen"
 
 #: utils/sort/sharedtuplestore.c:466
 #, c-format
index 0d6dead79e0387ac0ba2618f14a9d0b2e7897a30..97200ea1b06ae42145b3b893e69df2ef7e818a12 100644 (file)
@@ -12,6 +12,7 @@
 # Glosario:
 #
 # character                carácter
+# checkpoint               checkpoint
 # checksum             suma de verificación
 # cluster (de la orden cluster)        reordenar
 # command              orden
@@ -62,8 +63,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL server 15\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2023-05-22 07:10+0000\n"
-"PO-Revision-Date: 2024-05-21 13:39+0200\n"
+"POT-Creation-Date: 2024-08-05 02:41+0000\n"
+"PO-Revision-Date: 2024-08-04 22:25-0400\n"
 "Last-Translator: Carlos Chapi <[email protected]>\n"
 "Language-Team: PgSQL-es-Ayuda <[email protected]>\n"
 "Language: es\n"
@@ -73,6 +74,11 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: BlackCAT 1.1\n"
 
+#: ../common/binaryheap.c:121 ../common/binaryheap.c:159
+#, c-format
+msgid "out of binary heap slots"
+msgstr "se acabaron los slots de “binary heap”"
+
 #: ../common/compression.c:132 ../common/compression.c:141
 #: ../common/compression.c:150
 #, c-format
@@ -99,8 +105,7 @@ msgid "value for compression option \"%s\" must be an integer"
 msgstr "el valor para la opción de compresión «%s» debe ser un entero"
 
 #: ../common/compression.c:331
-#, fuzzy, c-format
-#| msgid "value for compression option \"%s\" must be a boolean"
+#, c-format
 msgid "value for compression option \"%s\" must be a Boolean value"
 msgstr "el valor para la opción de compresión «%s» debe ser un booleano"
 
@@ -131,64 +136,66 @@ msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia"
 msgid "not recorded"
 msgstr "no registrado"
 
-#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73
-#: commands/copyfrom.c:1669 commands/extension.c:3456 utils/adt/genfile.c:123
+#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97
+#: commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123
+#: utils/time/snapmgr.c:1430
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86
+#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1346 access/transam/xlog.c:3193
-#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199
-#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328
-#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842
-#: commands/extension.c:3466 libpq/hba.c:791 replication/logical/origin.c:745
-#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050
-#: replication/logical/snapbuild.c:2027 replication/slot.c:1946
-#: replication/slot.c:1987 replication/walsender.c:643
+#: access/transam/twophase.c:1369 access/transam/xlog.c:3476
+#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238
+#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373
+#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123
+#: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764
+#: replication/logical/origin.c:745 replication/logical/origin.c:781
+#: replication/logical/reorderbuffer.c:5084
+#: replication/logical/snapbuild.c:2052 replication/slot.c:2236
+#: replication/slot.c:2277 replication/walsender.c:655
 #: storage/file/buffile.c:470 storage/file/copydir.c:185
-#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:827
+#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95
-#: access/transam/xlog.c:3198 access/transam/xlog.c:4001
-#: backup/basebackup.c:1846 replication/logical/origin.c:750
-#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2032
-#: replication/slot.c:1950 replication/slot.c:1991 replication/walsender.c:648
-#: utils/cache/relmapper.c:831
+#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119
+#: access/transam/xlog.c:3481 access/transam/xlog.c:4345
+#: replication/logical/origin.c:750 replication/logical/origin.c:789
+#: replication/logical/snapbuild.c:2057 replication/slot.c:2240
+#: replication/slot.c:2281 replication/walsender.c:660
+#: utils/cache/relmapper.c:833
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
 
-#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108
-#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236
-#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280
+#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132
+#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280
+#: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
-#: access/transam/timeline.c:512 access/transam/twophase.c:1358
-#: access/transam/twophase.c:1770 access/transam/xlog.c:3039
-#: access/transam/xlog.c:3233 access/transam/xlog.c:3238
-#: access/transam/xlog.c:3374 access/transam/xlog.c:3966
-#: access/transam/xlog.c:4885 commands/copyfrom.c:1729 commands/copyto.c:332
+#: access/transam/timeline.c:512 access/transam/twophase.c:1381
+#: access/transam/twophase.c:1793 access/transam/xlog.c:3322
+#: access/transam/xlog.c:3516 access/transam/xlog.c:3521
+#: access/transam/xlog.c:3657 access/transam/xlog.c:4310
+#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 commands/copyto.c:325
 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540
 #: replication/logical/origin.c:683 replication/logical/origin.c:822
-#: replication/logical/reorderbuffer.c:5102
-#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922
-#: replication/slot.c:1837 replication/slot.c:1998 replication/walsender.c:658
-#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:739
-#: storage/file/fd.c:3650 storage/file/fd.c:3756 utils/cache/relmapper.c:839
-#: utils/cache/relmapper.c:945
+#: replication/logical/reorderbuffer.c:5136
+#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943
+#: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670
+#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828
+#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841
+#: utils/cache/relmapper.c:956
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:124
+#: ../common/controldata_utils.c:168
 msgid "byte ordering mismatch"
 msgstr "discordancia en orden de bytes"
 
-#: ../common/controldata_utils.c:126
+#: ../common/controldata_utils.c:170
 #, c-format
 msgid ""
 "possible byte ordering mismatch\n"
@@ -202,141 +209,157 @@ msgstr ""
 "serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
 "directorio de datos."
 
-#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186
-#: ../common/file_utils.c:228 ../common/file_utils.c:287
-#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263
-#: access/transam/timeline.c:111 access/transam/timeline.c:251
-#: access/transam/timeline.c:348 access/transam/twophase.c:1302
-#: access/transam/xlog.c:2946 access/transam/xlog.c:3109
-#: access/transam/xlog.c:3148 access/transam/xlog.c:3341
-#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179
-#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838
-#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:651
-#: postmaster/syslogger.c:1560 replication/logical/origin.c:735
-#: replication/logical/reorderbuffer.c:3706
-#: replication/logical/reorderbuffer.c:4257
-#: replication/logical/reorderbuffer.c:5030
-#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863
-#: replication/slot.c:1918 replication/walsender.c:616
-#: replication/walsender.c:2731 storage/file/copydir.c:151
-#: storage/file/fd.c:714 storage/file/fd.c:3407 storage/file/fd.c:3637
-#: storage/file/fd.c:3727 storage/smgr/md.c:660 utils/cache/relmapper.c:816
-#: utils/cache/relmapper.c:924 utils/error/elog.c:2082
-#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664
-#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650
+#: ../common/controldata_utils.c:225 ../common/controldata_utils.c:230
+#: ../common/file_utils.c:70 ../common/file_utils.c:347
+#: ../common/file_utils.c:406 ../common/file_utils.c:480
+#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111
+#: access/transam/timeline.c:251 access/transam/timeline.c:348
+#: access/transam/twophase.c:1325 access/transam/xlog.c:3229
+#: access/transam/xlog.c:3392 access/transam/xlog.c:3431
+#: access/transam/xlog.c:3624 access/transam/xlog.c:4330
+#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366
+#: access/transam/xlogutils.c:836 backup/basebackup.c:547
+#: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624
+#: postmaster/syslogger.c:1511 replication/logical/origin.c:735
+#: replication/logical/reorderbuffer.c:3737
+#: replication/logical/reorderbuffer.c:4291
+#: replication/logical/reorderbuffer.c:5064
+#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884
+#: replication/slot.c:2208 replication/walsender.c:628
+#: replication/walsender.c:3051 storage/file/copydir.c:151
+#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740
+#: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818
+#: utils/cache/relmapper.c:935 utils/error/elog.c:2107
+#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660
+#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205
-#: access/transam/twophase.c:1743 access/transam/twophase.c:1752
-#: access/transam/xlog.c:8751 access/transam/xlogfuncs.c:708
-#: backup/basebackup_server.c:175 backup/basebackup_server.c:268
-#: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571
-#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597
-#: utils/cache/relmapper.c:936
+#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249
+#: access/transam/twophase.c:1766 access/transam/twophase.c:1775
+#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698
+#: backup/basebackup_server.c:173 backup/basebackup_server.c:266
+#: backup/walsummary.c:304 postmaster/postmaster.c:4125
+#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535
+#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224
-#: ../common/file_utils.c:299 ../common/file_utils.c:369
-#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169
-#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432
-#: access/transam/timeline.c:506 access/transam/twophase.c:1764
-#: access/transam/xlog.c:3032 access/transam/xlog.c:3227
-#: access/transam/xlog.c:3959 access/transam/xlog.c:8141
-#: access/transam/xlog.c:8186 backup/basebackup_server.c:209
-#: replication/logical/snapbuild.c:1791 replication/slot.c:1823
-#: replication/slot.c:1928 storage/file/fd.c:731 storage/file/fd.c:3748
-#: storage/smgr/md.c:1132 storage/smgr/md.c:1177 storage/sync/sync.c:453
-#: utils/misc/guc.c:4370
+#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268
+#: ../common/file_utils.c:418 ../common/file_utils.c:488
+#: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135
+#: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432
+#: access/transam/timeline.c:506 access/transam/twophase.c:1787
+#: access/transam/xlog.c:3315 access/transam/xlog.c:3510
+#: access/transam/xlog.c:4303 access/transam/xlog.c:8630
+#: access/transam/xlog.c:8675 backup/basebackup_server.c:207
+#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812
+#: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820
+#: storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374
+#: storage/sync/sync.c:446 utils/misc/guc.c:4480
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
-#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133
-#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595
-#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325
-#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327
-#: ../common/md5_common.c:155 ../common/psprintf.c:143
-#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751
-#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1411
-#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345
-#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524
-#: postmaster/bgworker.c:352 postmaster/bgworker.c:934
-#: postmaster/postmaster.c:2534 postmaster/postmaster.c:4127
-#: postmaster/postmaster.c:5495 postmaster/postmaster.c:5866
-#: replication/libpqwalreceiver/libpqwalreceiver.c:308
-#: replication/logical/logical.c:208 replication/walsender.c:686
-#: storage/buffer/localbuf.c:601 storage/file/fd.c:823 storage/file/fd.c:1354
-#: storage/file/fd.c:1515 storage/file/fd.c:2428 storage/ipc/procarray.c:1449
-#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239
-#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374
-#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812
-#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469
-#: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514
-#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402
-#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842
-#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053
-#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445
-#: utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:735 utils/mmgr/dsa.c:816
-#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082
-#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246
-#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502
-#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366
+#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158
+#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607
+#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325
+#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357
+#: ../common/md5_common.c:156 ../common/parse_manifest.c:157
+#: ../common/parse_manifest.c:853 ../common/psprintf.c:143
+#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751
+#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434
+#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352
+#: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524
+#: postmaster/bgworker.c:355 postmaster/bgworker.c:945
+#: postmaster/postmaster.c:3559 postmaster/postmaster.c:4019
+#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933
+#: replication/libpqwalreceiver/libpqwalreceiver.c:387
+#: replication/logical/logical.c:210 replication/walsender.c:835
+#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443
+#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465
+#: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226
+#: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435
+#: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873
+#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:509
+#: utils/adt/pg_locale.c:673 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516
+#: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401
+#: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841
+#: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062
+#: utils/misc/guc.c:4458 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451
+#: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729
+#: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154
+#: utils/mmgr/slab.c:370
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
 #: ../common/cryptohash.c:266 ../common/cryptohash.c:272
-#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352
-#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339
-#: ../common/hmac_openssl.c:347
+#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376
+#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369
+#: ../common/hmac_openssl.c:377
 msgid "success"
 msgstr "éxito"
 
-#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346
-#: ../common/hmac_openssl.c:341
+#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370
+#: ../common/hmac_openssl.c:371
 msgid "destination buffer too small"
 msgstr "el búfer de destino es demasiado pequeño"
 
-#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343
+#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373
 msgid "OpenSSL failure"
 msgstr "falla de openSSL"
 
-#: ../common/exec.c:172
+#: ../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "binario «%s» no válido: %m"
 
-#: ../common/exec.c:215
+#: ../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "no se pudo leer el binario «%s»: %m"
 
-#: ../common/exec.c:223
+#: ../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "no se pudo encontrar un «%s» para ejecutar"
 
-#: ../common/exec.c:250
+#: ../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m"
 
-#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128
-#: storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703
-#: storage/ipc/latch.c:1829
+#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721
+#: commands/copyto.c:649 libpq/be-secure-common.c:59
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../common/exec.c:394 libpq/be-secure-common.c:71
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "la orden «%s» no retornó datos"
+
+#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169
+#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744
+#: storage/ipc/latch.c:1870
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161
-#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791
-#: ../port/path.c:808 utils/misc/ps_status.c:168 utils/misc/ps_status.c:176
-#: utils/misc/ps_status.c:203 utils/misc/ps_status.c:211
+#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790
+#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201
+#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236
 #, c-format
 msgid "out of memory\n"
 msgstr "memoria agotada\n"
@@ -346,39 +369,51 @@ msgstr "memoria agotada\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "no se puede duplicar un puntero nulo (error interno)\n"
 
-#: ../common/file_utils.c:87 ../common/file_utils.c:447
-#: ../common/file_utils.c:451 access/transam/twophase.c:1314
-#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229
-#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615
-#: commands/copyfrom.c:1679 commands/copyto.c:702 commands/extension.c:3445
-#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590
-#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1879
-#: storage/file/fd.c:1965 storage/file/fd.c:3461 utils/adt/dbsize.c:106
-#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483
-#: utils/adt/genfile.c:658 utils/adt/misc.c:340
+#: ../common/file_utils.c:76 storage/file/fd.c:3516
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "no se pudo sincronizar el sistema de archivos para el archivo «%s»: %m"
+
+#: ../common/file_utils.c:120 ../common/file_utils.c:566
+#: ../common/file_utils.c:570 access/transam/twophase.c:1337
+#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235
+#: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624
+#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1747
+#: commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804
+#: commands/tablespace.c:893 postmaster/pgarch.c:680
+#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173
+#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564
+#: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337
+#: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63
-#: commands/tablespace.c:734 commands/tablespace.c:744
-#: postmaster/postmaster.c:1561 storage/file/fd.c:2830
-#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338
+#: ../common/file_utils.c:130 ../common/file_utils.c:227
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta el método de sync «%s»"
+
+#: ../common/file_utils.c:151 ../common/file_utils.c:281
+#: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728
+#: commands/tablespace.c:738 postmaster/postmaster.c:1468
+#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256
+#: utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104
-#: storage/file/fd.c:2842
+#: ../common/file_utils.c:169 ../common/file_utils.c:315
+#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383
-#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608
-#: replication/logical/snapbuild.c:1810 replication/slot.c:723
-#: replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:749
-#: utils/time/snapmgr.c:1284
+#: ../common/file_utils.c:498 access/transam/xlogarchive.c:389
+#: postmaster/pgarch.c:834 postmaster/syslogger.c:1559
+#: replication/logical/snapbuild.c:1831 replication/slot.c:936
+#: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838
+#: utils/time/snapmgr.c:1255
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
@@ -387,90 +422,102 @@ msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 msgid "internal error"
 msgstr "error interno"
 
-#: ../common/jsonapi.c:1144
+#: ../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr "El parser recursivo descendiente no puede usar el lexer incremental."
+
+#: ../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr "El parser incremental requiere el lexer incremental."
+
+#: ../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr "JSON anidado demasiado profundamente, profundidad máxima es 6400."
+
+#: ../common/jsonapi.c:2127
 #, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
-msgstr "La secuencia de escape «%s» no es válida."
+msgid "Escape sequence \"\\%.*s\" is invalid."
+msgstr "La secuencia de escape «\\%.*s» no es válida."
 
-#: ../common/jsonapi.c:1147
+#: ../common/jsonapi.c:2131
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Los caracteres con valor 0x%02x deben ser escapados."
 
-#: ../common/jsonapi.c:1150
+#: ../common/jsonapi.c:2135
 #, c-format
-msgid "Expected end of input, but found \"%s\"."
-msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
+msgid "Expected end of input, but found \"%.*s\"."
+msgstr "Se esperaba el fin de la entrada, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1153
+#: ../common/jsonapi.c:2138
 #, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
+msgstr "Se esperaba un elemento de array o «]», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1156
+#: ../common/jsonapi.c:2141
 #, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "Se esperaba «,» o «]», se encontró «%s»."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
+msgstr "Se esperaba «,» o «]», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1159
+#: ../common/jsonapi.c:2144
 #, c-format
-msgid "Expected \":\", but found \"%s\"."
-msgstr "Se esperaba «:», se encontró «%s»."
+msgid "Expected \":\", but found \"%.*s\"."
+msgstr "Se esperaba «:», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1162
+#: ../common/jsonapi.c:2147
 #, c-format
-msgid "Expected JSON value, but found \"%s\"."
-msgstr "Se esperaba un valor JSON, se encontró «%s»."
+msgid "Expected JSON value, but found \"%.*s\"."
+msgstr "Se esperaba un valor JSON, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1165
+#: ../common/jsonapi.c:2150
 msgid "The input string ended unexpectedly."
 msgstr "La cadena de entrada terminó inesperadamente."
 
-#: ../common/jsonapi.c:1167
+#: ../common/jsonapi.c:2152
 #, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Se esperaba una cadena o «}», se encontró «%s»."
+msgid "Expected string or \"}\", but found \"%.*s\"."
+msgstr "Se esperaba una cadena o «}», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1170
+#: ../common/jsonapi.c:2155
 #, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "Se esperaba «,» o «}», se encontró «%s»."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
+msgstr "Se esperaba «,» o «}», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1173
+#: ../common/jsonapi.c:2158
 #, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "Se esperaba una cadena, se encontró «%s»."
+msgid "Expected string, but found \"%.*s\"."
+msgstr "Se esperaba una cadena, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1176
+#: ../common/jsonapi.c:2161
 #, c-format
-msgid "Token \"%s\" is invalid."
-msgstr "El elemento «%s» no es válido."
+msgid "Token \"%.*s\" is invalid."
+msgstr "El elemento «%.*s» no es válido."
 
-#: ../common/jsonapi.c:1179 jsonpath_scan.l:597
+#: ../common/jsonapi.c:2164 jsonpath_scan.l:608
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 no puede ser convertido a text."
 
-#: ../common/jsonapi.c:1181
+#: ../common/jsonapi.c:2166
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales."
 
-#: ../common/jsonapi.c:1184
+#: ../common/jsonapi.c:2169
 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8."
 msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8."
 
-#: ../common/jsonapi.c:1187
+#: ../common/jsonapi.c:2178
 #, c-format
 msgid "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s."
 
-#: ../common/jsonapi.c:1190 jsonpath_scan.l:630
+#: ../common/jsonapi.c:2185 jsonpath_scan.l:641
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»."
 
-#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651
-#: jsonpath_scan.l:702
+#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662
+#: jsonpath_scan.l:713
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»."
@@ -495,11 +542,168 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "no se pudo inicializar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261
+msgid "manifest ended unexpectedly"
+msgstr "el manifiesto terminó inesperadamente"
+
+#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862
+#, c-format
+msgid "could not update checksum of manifest"
+msgstr "no se pudo actualizar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:302
+msgid "unexpected object start"
+msgstr "inicio de objeto inesperado"
+
+#: ../common/parse_manifest.c:337
+msgid "unexpected object end"
+msgstr "fin de objeto inesperado"
+
+#: ../common/parse_manifest.c:366
+msgid "unexpected array start"
+msgstr "inicio de array inesperado"
+
+#: ../common/parse_manifest.c:391
+msgid "unexpected array end"
+msgstr "fin de array inesperado"
+
+#: ../common/parse_manifest.c:418
+msgid "expected version indicator"
+msgstr "se esperaba indicador de versión"
+
+#: ../common/parse_manifest.c:454
+msgid "unrecognized top-level field"
+msgstr "campo de nivel superior no reconocido"
+
+#: ../common/parse_manifest.c:473
+msgid "unexpected file field"
+msgstr "campo de archivo inesperado"
+
+#: ../common/parse_manifest.c:487
+msgid "unexpected WAL range field"
+msgstr "campo de rango de WAL inesperado"
+
+#: ../common/parse_manifest.c:493
+msgid "unexpected object field"
+msgstr "campo de objeto inesperado"
+
+#: ../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "escalar inesperado"
+
+#: ../common/parse_manifest.c:609
+msgid "manifest version not an integer"
+msgstr "la versión de manifiesto no es un número entero"
+
+#: ../common/parse_manifest.c:613
+msgid "unexpected manifest version"
+msgstr "versión de manifiesto inesperada"
+
+#: ../common/parse_manifest.c:637
+msgid "manifest system identifier not an integer"
+msgstr "el identificador de sistema del manifiesto no es un número entero"
+
+#: ../common/parse_manifest.c:662
+msgid "missing path name"
+msgstr "ruta de archivo faltante"
+
+#: ../common/parse_manifest.c:665
+msgid "both path name and encoded path name"
+msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)"
+
+#: ../common/parse_manifest.c:667
+msgid "missing size"
+msgstr "tamaño faltante"
+
+#: ../common/parse_manifest.c:670
+msgid "checksum without algorithm"
+msgstr "suma de comprobación sin algoritmo"
+
+#: ../common/parse_manifest.c:684
+msgid "could not decode file name"
+msgstr "no se pudo decodificar el nombre del archivo"
+
+#: ../common/parse_manifest.c:694
+msgid "file size is not an integer"
+msgstr "el tamaño del archivo no es un número entero"
+
+#: ../common/parse_manifest.c:700 backup/basebackup.c:870
+#, c-format
+msgid "unrecognized checksum algorithm: \"%s\""
+msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
+
+#: ../common/parse_manifest.c:719
+#, c-format
+msgid "invalid checksum for file \"%s\": \"%s\""
+msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\""
+
+#: ../common/parse_manifest.c:762
+msgid "missing timeline"
+msgstr "falta el timeline"
+
+#: ../common/parse_manifest.c:764
+msgid "missing start LSN"
+msgstr "falta el LSN de inicio"
+
+#: ../common/parse_manifest.c:766
+msgid "missing end LSN"
+msgstr "falta el LSN de término"
+
+#: ../common/parse_manifest.c:772
+msgid "timeline is not an integer"
+msgstr "el timeline no es un número entero"
+
+#: ../common/parse_manifest.c:775
+msgid "could not parse start LSN"
+msgstr "no se pudo interpretar el LSN de inicio"
+
+#: ../common/parse_manifest.c:778
+msgid "could not parse end LSN"
+msgstr "no se pudo interpretar el LSN de término"
+
+#: ../common/parse_manifest.c:843
+msgid "expected at least 2 lines"
+msgstr "esperado al menos 2 líneas"
+
+#: ../common/parse_manifest.c:846
+msgid "last line not newline-terminated"
+msgstr "última línea no termina en nueva línea"
+
+#: ../common/parse_manifest.c:865
+#, c-format
+msgid "could not finalize checksum of manifest"
+msgstr "no se pudo finalizar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:869
+#, c-format
+msgid "manifest has no checksum"
+msgstr "el manifiesto no tiene suma de comprobación"
+
+#: ../common/parse_manifest.c:873
+#, c-format
+msgid "invalid manifest checksum: \"%s\""
+msgstr "suma de comprobación de manifiesto no válida: \"%s\""
+
+#: ../common/parse_manifest.c:877
+#, c-format
+msgid "manifest checksum mismatch"
+msgstr "discordancia en la suma de comprobación del manifiesto"
+
+#: ../common/parse_manifest.c:892
+#, c-format
+msgid "could not parse backup manifest: %s"
+msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s"
+
 #: ../common/percentrepl.c:79 ../common/percentrepl.c:85
 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124
-#: postmaster/postmaster.c:2208 utils/misc/guc.c:3118 utils/misc/guc.c:3154
-#: utils/misc/guc.c:3224 utils/misc/guc.c:4547 utils/misc/guc.c:6721
-#: utils/misc/guc.c:6762
+#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208
+#: utils/misc/guc.c:3283 utils/misc/guc.c:4662 utils/misc/guc.c:6887
+#: utils/misc/guc.c:6928
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valor no válido para el parámetro «%s»: «%s»"
@@ -510,10 +714,9 @@ msgid "String ends unexpectedly after escape character \"%%\"."
 msgstr "La cadena termina inesperadamente luego del carácter de escape: «%%»"
 
 #: ../common/percentrepl.c:119 ../common/percentrepl.c:125
-#, fuzzy, c-format
-#| msgid "String contains unexpected escape sequence \"%c\"."
+#, c-format
 msgid "String contains unexpected placeholder \"%%%c\"."
-msgstr "La cadena contiene la secuencia de escape inesperada «%c»."
+msgstr "La cadena contiene la secuencia de reemplazo inesperada «%c»."
 
 #: ../common/pgfnames.c:74
 #, c-format
@@ -560,45 +763,45 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu"
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu"
 
-#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248
-#: access/transam/twophase.c:1703 access/transam/xlogarchive.c:120
-#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143
-#: postmaster/syslogger.c:1537 replication/logical/origin.c:591
-#: replication/logical/reorderbuffer.c:4526
-#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2121
-#: replication/slot.c:1902 storage/file/fd.c:789 storage/file/fd.c:3275
-#: storage/file/fd.c:3337 storage/file/reinit.c:262 storage/ipc/dsm.c:316
-#: storage/smgr/md.c:380 storage/smgr/md.c:439 storage/sync/sync.c:250
-#: utils/time/snapmgr.c:1608
+#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214
+#: access/transam/twophase.c:1726 access/transam/xlogarchive.c:119
+#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048
+#: postmaster/syslogger.c:1488 replication/logical/origin.c:591
+#: replication/logical/reorderbuffer.c:4560
+#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146
+#: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378
+#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343
+#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243
+#: utils/time/snapmgr.c:1591
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786
-#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3267
-#: storage/file/fd.c:3676
+#: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780
+#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370
+#: storage/file/fd.c:3779
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
 
-#: ../common/scram-common.c:271
+#: ../common/scram-common.c:282
 msgid "could not encode salt"
 msgstr "no se pudo codificar la sal"
 
-#: ../common/scram-common.c:287
+#: ../common/scram-common.c:298
 msgid "could not encode stored key"
 msgstr "no se pudo codificar la llave almacenada"
 
-#: ../common/scram-common.c:304
+#: ../common/scram-common.c:315
 msgid "could not encode server key"
 msgstr "no se pudo codificar la llave del servidor"
 
-#: ../common/stringinfo.c:306
+#: ../common/stringinfo.c:315
 #, 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."
 
-#: ../common/stringinfo.c:310
+#: ../common/stringinfo.c:319
 #, c-format
 msgid ""
 "out of memory\n"
@@ -614,7 +817,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "no se pudo encontrar el ID de usuario efectivo %ld: %s"
 
-#: ../common/username.c:45 libpq/auth.c:1881
+#: ../common/username.c:45 libpq/auth.c:1888
 msgid "user does not exist"
 msgstr "usuario no existe"
 
@@ -708,20 +911,20 @@ msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar
 
 #: ../port/path.c:775
 #, c-format
-msgid "could not get current working directory: %s\n"
-msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
+msgid "could not get current working directory: %m\n"
+msgstr "no se pudo obtener el directorio de trabajo actual: %m\n"
 
 #: ../port/strerror.c:72
 #, c-format
 msgid "operating system error %d"
 msgstr "error %d de sistema operativo"
 
-#: ../port/thread.c:50 ../port/thread.c:86
+#: ../port/user.c:43 ../port/user.c:79
 #, c-format
 msgid "could not look up local user ID %d: %s"
 msgstr "no se pudo buscar el usuario local de ID %d: %s"
 
-#: ../port/thread.c:55 ../port/thread.c:91
+#: ../port/user.c:48 ../port/user.c:84
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "no existe un usuario local con ID %d"
@@ -741,115 +944,104 @@ msgstr "no se pudo obtener el SID del grupo PowerUsers: código de error %lu\n"
 msgid "could not check access token membership: error code %lu\n"
 msgstr "no se pudo verificar el token de proceso: código de error %lu\n"
 
-#: access/brin/brin.c:216
+#: access/brin/brin.c:405
 #, c-format
 msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
 msgstr "petición para sumarización BRIN de rango para el índice «%s» página %u no fue registrada"
 
-#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1035
-#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214
-#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286
-#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328
-#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456
+#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040
+#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208
+#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280
+#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322
+#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446
 #, c-format
 msgid "recovery is in progress"
 msgstr "la recuperación está en proceso"
 
-#: access/brin/brin.c:1037 access/brin/brin.c:1138
+#: access/brin/brin.c:1386 access/brin/brin.c:1494
 #, c-format
 msgid "BRIN control functions cannot be executed during recovery."
 msgstr "Las funciones de control de BRIN no pueden ejecutarse durante la recuperación."
 
-#: access/brin/brin.c:1042 access/brin/brin.c:1143
+#: access/brin/brin.c:1391 access/brin/brin.c:1499
 #, c-format
 msgid "block number out of range: %lld"
 msgstr "número de bloque fuera de rango: %lld"
 
-#: access/brin/brin.c:1086 access/brin/brin.c:1169
+#: access/brin/brin.c:1436 access/brin/brin.c:1525
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "«%s» no es un índice BRIN"
 
-#: access/brin/brin.c:1102 access/brin/brin.c:1185
+#: access/brin/brin.c:1452 access/brin/brin.c:1541
 #, c-format
 msgid "could not open parent table of index \"%s\""
 msgstr "no se pudo abrir la tabla padre del índice «%s»"
 
-#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792
-#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148
-#: statistics/dependencies.c:663 statistics/dependencies.c:716
-#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344
-#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43
-#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93
+#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085
+#: parser/parse_utilcmd.c:2252
 #, c-format
-msgid "cannot accept a value of type %s"
-msgstr "no se puede aceptar un valor de tipo %s"
+msgid "index \"%s\" is not valid"
+msgstr "el índice «%s» no es válido"
 
-#: access/brin/brin_minmax_multi.c:2171 access/brin/brin_minmax_multi.c:2178
-#: access/brin/brin_minmax_multi.c:2185 utils/adt/timestamp.c:941
-#: utils/adt/timestamp.c:1518 utils/adt/timestamp.c:2708
-#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2795
-#: utils/adt/timestamp.c:2848 utils/adt/timestamp.c:2887
-#: utils/adt/timestamp.c:3184 utils/adt/timestamp.c:3189
-#: utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3244
-#: utils/adt/timestamp.c:3251 utils/adt/timestamp.c:3258
-#: utils/adt/timestamp.c:3278 utils/adt/timestamp.c:3285
-#: utils/adt/timestamp.c:3292 utils/adt/timestamp.c:3322
-#: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3374
-#: utils/adt/timestamp.c:3796 utils/adt/timestamp.c:3920
-#: utils/adt/timestamp.c:4440
+#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825
+#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130
+#: statistics/dependencies.c:661 statistics/dependencies.c:714
+#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343
+#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40
+#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94
 #, c-format
-msgid "interval out of range"
-msgstr "interval fuera de rango"
+msgid "cannot accept a value of type %s"
+msgstr "no se puede aceptar un valor de tipo %s"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
-#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002
-#: access/spgist/spgdoinsert.c:2279
+#: access/brin/brin_pageops.c:75 access/brin/brin_pageops.c:361
+#: access/brin/brin_pageops.c:851 access/gin/ginentrypage.c:109
+#: access/gist/gist.c:1463 access/spgist/spgdoinsert.c:2001
+#: access/spgist/spgdoinsert.c:2278
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "el tamaño de fila de índice %zu excede el máximo %zu para el índice «%s»"
 
-#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399
+#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389
 #, c-format
 msgid "corrupted BRIN index: inconsistent range map"
 msgstr "índice BRIN corrompido: mapa de rango inconsistente"
 
-#: access/brin/brin_revmap.c:593
+#: access/brin/brin_revmap.c:583
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "tipo de página 0x%04X inesperado en el índice BRIN «%s» bloque %u"
 
-#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151
-#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139
+#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149
+#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139
 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189
 #, c-format
 msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con número de soporte %d no válido"
 
-#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163
-#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118
+#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161
+#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118
 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201
 #, c-format
 msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con signatura incorrecta para el número de soporte %d"
 
-#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182
-#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160
+#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180
+#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160
 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221
 #, c-format
 msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene el operador %s con número de estrategia %d no válido"
 
-#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195
+#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193
 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165
 #: access/spgist/spgvalidate.c:237
 #, c-format
 msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s"
 msgstr "familia de operadores «%s» de método de acceso %s contiene especificación ORDER BY no válida para el operador %s"
 
-#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208
-#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186
+#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206
+#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186
 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253
 #, c-format
 msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature"
@@ -872,38 +1064,38 @@ msgstr "la(s) función/funciones de soporte para los tipos %3$s y %4$s faltan de
 msgid "operator class \"%s\" of access method %s is missing operator(s)"
 msgstr "faltan operadores de la clase de operadores «%s» del método de acceso %s"
 
-#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250
-#: access/gist/gistvalidate.c:274
+#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248
+#: access/gist/gistvalidate.c:273
 #, c-format
 msgid "operator class \"%s\" of access method %s is missing support function %d"
 msgstr "falta la función de soporte %3$d de la clase de operadores «%1$s» del método de acceso %2$s"
 
-#: access/common/attmap.c:122
+#: access/common/attmap.c:121
 #, c-format
 msgid "Returned type %s does not match expected type %s in column %d."
 msgstr "El tipo retornado %s no coincide con el tipo de registro esperado %s en la columna %d."
 
-#: access/common/attmap.c:150
+#: access/common/attmap.c:149
 #, c-format
 msgid "Number of returned columns (%d) does not match expected column count (%d)."
 msgstr "La cantidad de columnas retornadas (%d) no coincide con la cantidad esperada de columnas (%d)."
 
-#: access/common/attmap.c:234 access/common/attmap.c:246
+#: access/common/attmap.c:233 access/common/attmap.c:245
 #, c-format
 msgid "could not convert row type"
 msgstr "no se pudo convertir el tipo de registro"
 
-#: access/common/attmap.c:235
+#: access/common/attmap.c:234
 #, c-format
 msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s."
 msgstr "El atributo «%s» de tipo %s no coincide con el atributo correspondiente de tipo %s."
 
-#: access/common/attmap.c:247
+#: access/common/attmap.c:246
 #, c-format
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "El atributo «%s» de tipo %s no existe en el tipo %s."
 
-#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371
+#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas (%d) excede el límite (%d)"
@@ -913,124 +1105,110 @@ 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:209 access/spgist/spgutils.c:950
+#: access/common/indextuple.c:209 access/spgist/spgutils.c:970
 #, c-format
 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:292 tcop/fastpath.c:107 tcop/fastpath.c:454
-#: tcop/postgres.c:1944
+#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107
+#: tcop/fastpath.c:454 tcop/postgres.c:1940
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "código de formato no soportado: %d"
 
-#: access/common/reloptions.c:521 access/common/reloptions.c:532
+#: access/common/reloptions.c:519 access/common/reloptions.c:530
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Los valores aceptables son «on», «off» y «auto»."
 
-#: access/common/reloptions.c:543
+#: access/common/reloptions.c:541
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Los valores aceptables son «local» y «cascaded»."
 
-#: access/common/reloptions.c:691
+#: access/common/reloptions.c:689
 #, 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:1233
+#: access/common/reloptions.c:1231
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET no debe incluir valores de parámetros"
 
-#: access/common/reloptions.c:1265
+#: access/common/reloptions.c:1263
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1302 commands/variable.c:1167
+#: access/common/reloptions.c:1300 commands/variable.c:1191
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "las tablas declaradas WITH OIDS no están soportadas"
 
-#: access/common/reloptions.c:1470
+#: access/common/reloptions.c:1468
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1582
+#: access/common/reloptions.c:1580
 #, 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:1598
+#: access/common/reloptions.c:1596
 #, 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:1610
+#: access/common/reloptions.c:1608
 #, 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:1616 access/common/reloptions.c:1636
+#: access/common/reloptions.c:1614 access/common/reloptions.c:1634
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "el valor %s está fuera del rango de la opción «%s»"
 
-#: access/common/reloptions.c:1618
+#: access/common/reloptions.c:1616
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Los valores aceptables están entre «%d» y «%d»."
 
-#: access/common/reloptions.c:1630
+#: access/common/reloptions.c:1628
 #, 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:1638
+#: access/common/reloptions.c:1636
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Valores aceptables están entre «%f» y «%f»."
 
-#: access/common/reloptions.c:1660
+#: access/common/reloptions.c:1658
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "valor no válido para la opción enum «%s»: %s"
 
-#: access/common/reloptions.c:1991
-#, fuzzy, c-format
-#| msgid "cannot truncate only a partitioned table"
+#: access/common/reloptions.c:1989
+#, c-format
 msgid "cannot specify storage parameters for a partitioned table"
-msgstr "no se puede truncar ONLY una tabla particionada"
+msgstr "no se puede especificar parámetros de almacenamiento para una tabla particionada"
 
-#: access/common/reloptions.c:1992
+#: access/common/reloptions.c:1990
 #, c-format
-msgid "Specify storage parameters for its leaf partitions, instead."
-msgstr ""
+msgid "Specify storage parameters for its leaf partitions instead."
+msgstr "Especifique parámetros de almacenamiento para sus particiones hijas en su lugar."
 
-#: access/common/toast_compression.c:33
+#: access/common/toast_compression.c:31
 #, c-format
 msgid "compression method lz4 not supported"
 msgstr "el método de compresión lz4 no está soportado"
 
-#: access/common/toast_compression.c:34
+#: access/common/toast_compression.c:32
 #, c-format
 msgid "This functionality requires the server to be built with lz4 support."
 msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte lz4."
 
-#: access/common/tupdesc.c:837 commands/tablecmds.c:6953
-#: commands/tablecmds.c:12973
-#, fuzzy, c-format
-#| msgid "mismatched array dimensions"
-msgid "too many array dimensions"
-msgstr "las dimensiones de array no coinciden"
-
-#: access/common/tupdesc.c:842 parser/parse_clause.c:772
-#: parser/parse_relation.c:1912
-#, c-format
-msgid "column \"%s\" cannot be declared SETOF"
-msgstr "la columna «%s» no puede ser declarada SETOF"
-
 #: access/gin/ginbulk.c:44
 #, c-format
 msgid "posting list is too long"
@@ -1038,20 +1216,20 @@ msgstr "la «posting list» es demasiado larga"
 
 #: access/gin/ginbulk.c:45
 #, c-format
-msgid "Reduce maintenance_work_mem."
-msgstr "Reduzca maintenance_work_mem."
+msgid "Reduce \"maintenance_work_mem\"."
+msgstr "Reduzca «maintenance_work_mem»."
 
-#: access/gin/ginfast.c:1036
+#: access/gin/ginfast.c:1041
 #, c-format
 msgid "GIN pending list cannot be cleaned up during recovery."
 msgstr "La lista de pendientes GIN no puede limpiarse durante la recuperación."
 
-#: access/gin/ginfast.c:1043
+#: access/gin/ginfast.c:1048
 #, c-format
 msgid "\"%s\" is not a GIN index"
 msgstr "«%s» no es un índice GIN"
 
-#: access/gin/ginfast.c:1054
+#: access/gin/ginfast.c:1059
 #, c-format
 msgid "cannot access temporary indexes of other sessions"
 msgstr "no se pueden acceder índices temporales de otras sesiones"
@@ -1071,50 +1249,50 @@ msgstr "los índices GIN antiguos no soportan recorridos del índice completo ni
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Para corregir esto, ejecute REINDEX INDEX \"%s\"."
 
-#: access/gin/ginutil.c:146 executor/execExpr.c:2169
-#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683
-#: utils/adt/rowtypes.c:984
+#: access/gin/ginutil.c:147 executor/execExpr.c:2192
+#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712
+#: utils/adt/rowtypes.c:974
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "no se pudo identificar una función de comparación para el tipo %s"
 
-#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93
+#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92
 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102
 #, c-format
 msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene el procedimiento de soporte %s registrado entre tipos distintos"
 
-#: access/gin/ginvalidate.c:260
+#: access/gin/ginvalidate.c:258
 #, c-format
 msgid "operator class \"%s\" of access method %s is missing support function %d or %d"
 msgstr "falta la función de soporte %3$d o %4$d de la clase de operadores «%1$s» del método de accesso %2$s"
 
-#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350
+#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349
 #: access/spgist/spgvalidate.c:387
 #, c-format
 msgid "support function number %d is invalid for access method %s"
 msgstr "el número de función de soporte %d no es válido para el método de acceso %s"
 
-#: access/gist/gist.c:759 access/gist/gistvacuum.c:426
+#: access/gist/gist.c:760 access/gist/gistvacuum.c:426
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "el índice «%s» contiene una tupla interna marcada como no válida"
 
-#: access/gist/gist.c:761 access/gist/gistvacuum.c:428
+#: access/gist/gist.c:762 access/gist/gistvacuum.c:428
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before 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:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812
-#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227
-#: access/hash/hashutil.c:238 access/hash/hashutil.c:250
-#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:809
-#: access/nbtree/nbtpage.c:820
+#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811
+#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226
+#: access/hash/hashutil.c:237 access/hash/hashutil.c:249
+#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813
+#: access/nbtree/nbtpage.c:824
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
 
-#: access/gist/gist.c:1176
+#: access/gist/gist.c:1196
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
 msgstr "arreglando división incompleta en el índice «%s», bloque %u"
@@ -1129,52 +1307,52 @@ msgstr "el método picksplit para la columna %d del índice «%s» falló"
 msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command."
 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:798 access/hash/hashutil.c:224
-#: access/nbtree/nbtpage.c:806
+#: access/gist/gistutil.c:797 access/hash/hashutil.c:223
+#: access/nbtree/nbtpage.c:810
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u"
 
-#: access/gist/gistutil.c:809 access/hash/hashutil.c:235
-#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:817
+#: access/gist/gistutil.c:808 access/hash/hashutil.c:234
+#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "el índice «%s» contiene una página corrupta en el bloque %u"
 
-#: access/gist/gistvalidate.c:203
+#: access/gist/gistvalidate.c:202
 #, c-format
 msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación ORDER BY no soportada para el operador %s"
 
-#: access/gist/gistvalidate.c:214
+#: access/gist/gistvalidate.c:213
 #, c-format
 msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación de familia en ORDER BY incorrecta para el operador %s"
 
-#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333
-#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064
+#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333
+#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "no se pudo determinar qué ordenamiento usar para el hashing de cadenas"
 
-#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668
-#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515
-#: commands/indexcmds.c:2023 commands/tablecmds.c:17490 commands/view.c:86
-#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648
-#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191
-#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739
-#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672
+#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508
+#: commands/indexcmds.c:2047 commands/tablecmds.c:18083 commands/view.c:81
+#: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653
+#: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189
+#: utils/adt/like_support.c:1024 utils/adt/varchar.c:738
+#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
 
-#: access/hash/hashinsert.c:86
+#: access/hash/hashinsert.c:84
 #, c-format
 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:88 access/spgist/spgdoinsert.c:2006
-#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011
+#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005
+#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Valores mayores a una página del buffer no pueden ser indexados."
@@ -1189,17 +1367,17 @@ msgstr "número no válido de bloque de «overflow» %u"
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "se agotaron las páginas de desbordamiento en el índice hash «%s»"
 
-#: access/hash/hashsearch.c:315
+#: access/hash/hashsearch.c:311
 #, c-format
 msgid "hash indexes do not support whole-index scans"
 msgstr "los índices hash no soportan recorridos del índice completo"
 
-#: access/hash/hashutil.c:263
+#: access/hash/hashutil.c:262
 #, c-format
 msgid "index \"%s\" is not a hash index"
 msgstr "el índice «%s» no es un índice hash"
 
-#: access/hash/hashutil.c:269
+#: access/hash/hashutil.c:268
 #, c-format
 msgid "index \"%s\" has wrong hash version"
 msgstr "el índice «%s» tiene una versión de hash incorrecta"
@@ -1214,229 +1392,229 @@ msgstr "la familia de operadores «%s» del método de acceso %s no tiene funci
 msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)"
 msgstr "faltan operadores entre tipos en la familia de operadores «%s» del método de acceso %s"
 
-#: access/heap/heapam.c:2026
+#: access/heap/heapam.c:2195
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "no se pueden insertar tuplas en un ayudante paralelo"
 
-#: access/heap/heapam.c:2545
+#: access/heap/heapam.c:2714
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "no se pueden eliminar tuplas durante una operación paralela"
 
-#: access/heap/heapam.c:2592
+#: access/heap/heapam.c:2761
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "se intentó eliminar una tupla invisible"
 
-#: access/heap/heapam.c:3035 access/heap/heapam.c:5902
+#: access/heap/heapam.c:3209 access/heap/heapam.c:6082
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "no se pueden actualizar tuplas durante una operación paralela"
 
-#: access/heap/heapam.c:3163
+#: access/heap/heapam.c:3337
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "se intentó actualizar una tupla invisible"
 
-#: access/heap/heapam.c:4550 access/heap/heapam.c:4588
-#: access/heap/heapam.c:4853 access/heap/heapam_handler.c:467
+#: access/heap/heapam.c:4726 access/heap/heapam.c:4764
+#: access/heap/heapam.c:5029 access/heap/heapam_handler.c:468
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
 
-#: access/heap/heapam_handler.c:412
+#: access/heap/heapam_handler.c:413
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update"
 msgstr "el registro a ser bloqueado ya fue movido a otra partición por un update concurrente"
 
-#: access/heap/hio.c:517 access/heap/rewriteheap.c:659
+#: access/heap/hio.c:535 access/heap/rewriteheap.c:640
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu"
 
-#: access/heap/rewriteheap.c:919
+#: access/heap/rewriteheap.c:885
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m"
 
-#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128
+#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094
 #: access/transam/timeline.c:329 access/transam/timeline.c:481
-#: access/transam/xlog.c:2971 access/transam/xlog.c:3162
-#: access/transam/xlog.c:3938 access/transam/xlog.c:8740
-#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151
-#: backup/basebackup_server.c:244 commands/dbcommands.c:518
-#: postmaster/postmaster.c:4554 postmaster/postmaster.c:5557
-#: replication/logical/origin.c:603 replication/slot.c:1770
-#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263
+#: access/transam/xlog.c:3254 access/transam/xlog.c:3445
+#: access/transam/xlog.c:4282 access/transam/xlog.c:9244
+#: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149
+#: backup/basebackup_server.c:242 commands/dbcommands.c:494
+#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112
+#: postmaster/walsummarizer.c:1210 replication/logical/origin.c:603
+#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230
+#: utils/time/snapmgr.c:1234
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1138
+#: access/heap/rewriteheap.c:1104
 #, 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:1156 access/transam/timeline.c:384
+#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:498
-#: access/transam/xlog.c:3021 access/transam/xlog.c:3218
-#: access/transam/xlog.c:3950 commands/dbcommands.c:530
-#: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574
+#: access/transam/xlog.c:3304 access/transam/xlog.c:3501
+#: access/transam/xlog.c:4294 commands/dbcommands.c:506
+#: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363
 #: replication/logical/origin.c:615 replication/logical/origin.c:657
-#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767
-#: replication/slot.c:1805 storage/file/buffile.c:545
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1605
-#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331
-#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508
-#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275
+#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788
+#: replication/slot.c:2094 storage/file/buffile.c:545
+#: storage/file/copydir.c:197 utils/init/miscinit.c:1601
+#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441
+#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643
+#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: access/heap/vacuumlazy.c:482
+#: access/heap/vacuumlazy.c:473
 #, c-format
 msgid "aggressively vacuuming \"%s.%s.%s\""
 msgstr "haciendo vacuum agresivamente a «%s.%s.%s»"
 
-#: access/heap/vacuumlazy.c:487
+#: access/heap/vacuumlazy.c:478
 #, c-format
 msgid "vacuuming \"%s.%s.%s\""
 msgstr "haciendo vacuum a «%s.%s.%s»"
 
-#: access/heap/vacuumlazy.c:635
+#: access/heap/vacuumlazy.c:626
 #, c-format
 msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n"
 msgstr "se terminó el vacuum de «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:646
+#: access/heap/vacuumlazy.c:637
 #, c-format
 msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum agresivo automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:648
+#: access/heap/vacuumlazy.c:639
 #, c-format
 msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:653
+#: access/heap/vacuumlazy.c:644
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum agresivo automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:655
+#: access/heap/vacuumlazy.c:646
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:662
+#: access/heap/vacuumlazy.c:653
 #, c-format
 msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
 msgstr "páginas: %u eliminadas, %u quedan, %u recorridas (%.2f%% del total)\n"
 
-#: access/heap/vacuumlazy.c:669
+#: access/heap/vacuumlazy.c:660
 #, c-format
 msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n"
 msgstr "tuplas: %lld eliminadas, %lld permanecen, %lld están muertas pero aún no se pueden quitar\n"
 
-#: access/heap/vacuumlazy.c:675
+#: access/heap/vacuumlazy.c:666
 #, c-format
 msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n"
 msgstr "tuplas faltantes: %lld muertas en %u páginas no eliminadas debido a contención del lock de limpieza\n"
 
-#: access/heap/vacuumlazy.c:681
+#: access/heap/vacuumlazy.c:672
 #, c-format
 msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
-msgstr ""
+msgstr "punto de corte de eliminación: %u, que era %d XIDs de antiguo cuando la operación terminó\n"
 
-#: access/heap/vacuumlazy.c:688
+#: access/heap/vacuumlazy.c:679
 #, c-format
 msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
 msgstr "nuevo relfrozenxid: %u, que está %d XIDs más adelante del valor anterior\n"
 
-#: access/heap/vacuumlazy.c:696
+#: access/heap/vacuumlazy.c:687
 #, c-format
 msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
 msgstr "nuevo relminmxid: %u, que está %d MXIDs más adelante del valor anterior\n"
 
-#: access/heap/vacuumlazy.c:699
-#, fuzzy, c-format
-#| msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
+#: access/heap/vacuumlazy.c:690
+#, c-format
 msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n"
-msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n"
+msgstr "congelado: %u páginas de la tabla (%.2f%% del total) tuvieron %lld tuplas congeladas\n"
 
-#: access/heap/vacuumlazy.c:707
+#: access/heap/vacuumlazy.c:698
 msgid "index scan not needed: "
 msgstr "recorrido de índice no necesario: "
 
-#: access/heap/vacuumlazy.c:709
+#: access/heap/vacuumlazy.c:700
 msgid "index scan needed: "
 msgstr "recorrido de índice necesario: "
 
-#: access/heap/vacuumlazy.c:711
+#: access/heap/vacuumlazy.c:702
 #, c-format
 msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
 msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n"
 
-#: access/heap/vacuumlazy.c:716
+#: access/heap/vacuumlazy.c:707
 msgid "index scan bypassed: "
 msgstr "recorrido de índice pasado por alto: "
 
-#: access/heap/vacuumlazy.c:718
+#: access/heap/vacuumlazy.c:709
 msgid "index scan bypassed by failsafe: "
 msgstr "recorrido de índice pasado por alto debido a modo failsafe: "
 
-#: access/heap/vacuumlazy.c:720
+#: access/heap/vacuumlazy.c:711
 #, c-format
 msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
 msgstr "%u páginas de la tabla (%.2f%% del total) tienen %lld identificadores de elementos muertos\n"
 
-#: access/heap/vacuumlazy.c:735
+#: access/heap/vacuumlazy.c:726
 #, c-format
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
 msgstr "índice «%s»: páginas: %u en total, %u recientemente eliminadas, %u eliminadas hasta ahora, %u reusables\n"
 
-#: access/heap/vacuumlazy.c:747 commands/analyze.c:795
+#: access/heap/vacuumlazy.c:738 commands/analyze.c:794
 #, c-format
 msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
 msgstr "tiempos de E/S: lectura: %.3f ms, escritura: %.3f ms\n"
 
-#: access/heap/vacuumlazy.c:757 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:748 commands/analyze.c:797
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "tasa lectura promedio: %.3f MB/s, tasa escritura promedio: %.3f MB/s\n"
 
-#: access/heap/vacuumlazy.c:760 commands/analyze.c:800
+#: access/heap/vacuumlazy.c:751 commands/analyze.c:799
 #, c-format
 msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
 msgstr "uso de búfers: %lld aciertos, %lld fallos, %lld ensuciados\n"
 
-#: access/heap/vacuumlazy.c:765
+#: access/heap/vacuumlazy.c:756
 #, c-format
 msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
 msgstr "uso de WAL: %lld registros, %lld imágenes de página completa, %llu bytes\n"
 
-#: access/heap/vacuumlazy.c:769 commands/analyze.c:804
+#: access/heap/vacuumlazy.c:760 commands/analyze.c:803
 #, c-format
 msgid "system usage: %s"
 msgstr "uso de sistema: %s"
 
-#: access/heap/vacuumlazy.c:2482
+#: access/heap/vacuumlazy.c:2172
 #, c-format
 msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
 msgstr "tabla «%s»: se eliminaron %lld identificadores de elementos muertos en %u páginas"
 
-#: access/heap/vacuumlazy.c:2642
+#: access/heap/vacuumlazy.c:2326
 #, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
 msgstr "pasando por alto el mantenimiento no esencial de la tabla «%s.%s.%s» como mecanismo de seguridad (failsafe) luego de %d recorridos de índice"
 
-#: access/heap/vacuumlazy.c:2645
+#: access/heap/vacuumlazy.c:2329
 #, c-format
 msgid "The table's relfrozenxid or relminmxid is too far in the past."
 msgstr "El relfrozenxid o el relminmxid de la tabla es demasiado antiguo."
 
-#: access/heap/vacuumlazy.c:2646
+#: access/heap/vacuumlazy.c:2330
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
@@ -1445,67 +1623,67 @@ msgstr ""
 "Considere incrementar el parámetro de configuración «maintenance_work_mem» o «autovacuum_work_mem».\n"
 "Es probable que también deba considerar otras formas para que VACUUM pueda mantener el paso de la asignación de IDs de transacción."
 
-#: access/heap/vacuumlazy.c:2891
+#: access/heap/vacuumlazy.c:2592
 #, 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"
 
-#: access/heap/vacuumlazy.c:2961
+#: access/heap/vacuumlazy.c:2662
 #, c-format
 msgid "table \"%s\": truncated %u to %u pages"
 msgstr "tabla «%s»: truncadas %u a %u páginas"
 
-#: access/heap/vacuumlazy.c:3023
+#: access/heap/vacuumlazy.c:2724
 #, c-format
 msgid "table \"%s\": suspending truncate due to conflicting lock request"
 msgstr "tabla «%s»: suspendiendo el truncado debido a una petición de bloqueo en conflicto"
 
-#: access/heap/vacuumlazy.c:3183
+#: access/heap/vacuumlazy.c:2843
 #, c-format
 msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel"
 msgstr "desactivando el comportamiento paralelo de vacuum en «%s» --- no se puede hacer vacuum de tablas temporales en paralelo"
 
-#: access/heap/vacuumlazy.c:3399
+#: access/heap/vacuumlazy.c:3113
 #, c-format
 msgid "while scanning block %u offset %u of relation \"%s.%s\""
 msgstr "recorriendo el bloque %u posición %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3402
+#: access/heap/vacuumlazy.c:3116
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "recorriendo el bloque %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3406
+#: access/heap/vacuumlazy.c:3120
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "recorriendo la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3414
+#: access/heap/vacuumlazy.c:3128
 #, c-format
 msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
 msgstr "haciendo «vacuum» al bloque %u posición %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3417
+#: access/heap/vacuumlazy.c:3131
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "haciendo «vacuum» al bloque %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3421
+#: access/heap/vacuumlazy.c:3135
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» a la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074
+#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» al índice «%s» de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080
+#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "mientras se limpiaba el índice «%s» de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3437
+#: access/heap/vacuumlazy.c:3151
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques"
@@ -1520,19 +1698,24 @@ msgstr "el método de acceso «%s» no es de tipo %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "el método de acceso «%s» no tiene manejador"
 
-#: access/index/genam.c:490
+#: access/index/genam.c:487
 #, c-format
 msgid "transaction aborted during system catalog scan"
 msgstr "transacción abortada durante recorrido de catálogos de sistema"
 
-#: access/index/indexam.c:142 catalog/objectaddress.c:1394
-#: commands/indexcmds.c:2852 commands/tablecmds.c:272 commands/tablecmds.c:296
-#: commands/tablecmds.c:17191 commands/tablecmds.c:18959
+#: access/index/genam.c:655 access/index/indexam.c:82
+#, c-format
+msgid "cannot access index \"%s\" while it is being reindexed"
+msgstr "no se puede acceder el índice «%s» mientras está siendo reindexado"
+
+#: access/index/indexam.c:203 catalog/objectaddress.c:1356
+#: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305
+#: commands/tablecmds.c:17778 commands/tablecmds.c:19605
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
 
-#: access/index/indexam.c:979
+#: access/index/indexam.c:1028
 #, c-format
 msgid "operator class %s has no options"
 msgstr "clase de operadores «%s» no tiene opciones"
@@ -1552,38 +1735,38 @@ msgstr "Ya existe la llave %s."
 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/nbtpage.c:158 access/nbtree/nbtpage.c:607
-#: parser/parse_utilcmd.c:2317
+#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611
+#: parser/parse_utilcmd.c:2298
 #, 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:614
+#: access/nbtree/nbtpage.c:164 access/nbtree/nbtpage.c:618
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d"
 msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d, mínima versión soportada %d"
 
-#: access/nbtree/nbtpage.c:1862
+#: access/nbtree/nbtpage.c:1861
 #, 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:1864
+#: access/nbtree/nbtpage.c:1863
 #, 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/nbtree/nbtutils.c:2663
+#: access/nbtree/nbtutils.c:5102
 #, c-format
 msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
 msgstr "el tamaño de fila de índice %1$zu excede el máximo %3$zu para btree versión %2$u para el índice «%4$s»"
 
-#: access/nbtree/nbtutils.c:2669
+#: access/nbtree/nbtutils.c:5108
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "La tupla de índice hace referencia a la tupla (%u,%u) en la relación «%s»."
 
-#: access/nbtree/nbtutils.c:2673
+#: access/nbtree/nbtutils.c:5112
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1597,12 +1780,18 @@ msgstr ""
 msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s"
 msgstr "falta una función de soporte para los tipos %3$s y %4$s en la familia de operadores «%1$s» del método de acceso %2$s"
 
+#: access/sequence/sequence.c:75 access/table/table.c:145
+#: optimizer/util/plancat.c:143
+#, c-format
+msgid "cannot open relation \"%s\""
+msgstr "no se puede abrir la relación «%s»"
+
 #: access/spgist/spgutils.c:245
 #, c-format
 msgid "compress method must be defined when leaf type is different from input type"
 msgstr "método «compress» debe estar definido cuando el tipo hoja es distinto del tipo de entrada"
 
-#: access/spgist/spgutils.c:1008
+#: access/spgist/spgutils.c:1028
 #, c-format
 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"
@@ -1617,69 +1806,64 @@ msgstr "el tipo de dato hoja SP-GiST %s no coincide con el tipo declarado %s"
 msgid "operator family \"%s\" of access method %s is missing support function %d for type %s"
 msgstr "falta la función de soporte %3$d para el tipo %4$s de la clase de operadores «%1$s» del método de accesso %2$s"
 
-#: access/table/table.c:145 optimizer/util/plancat.c:145
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
-msgid "cannot open relation \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
-
-#: access/table/tableam.c:265
+#: access/table/tableam.c:255
 #, c-format
 msgid "tid (%u, %u) is not valid for relation \"%s\""
 msgstr "el tid (%u, %u) no es válido para la relación «%s»"
 
-#: access/table/tableamapi.c:116
+#: access/table/tableamapi.c:109
 #, c-format
-msgid "%s cannot be empty."
-msgstr "%s no puede ser vacío."
+msgid "\"%s\" cannot be empty."
+msgstr "«%s» no puede ser vacío."
 
-#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774
+#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858
 #, c-format
-msgid "%s is too long (maximum %d characters)."
-msgstr "%s es demasiado largo (máximo %d caracteres)."
+msgid "\"%s\" is too long (maximum %d characters)."
+msgstr "«%s» es demasiado largo (máximo %d caracteres)."
 
-#: access/table/tableamapi.c:146
+#: access/table/tableamapi.c:139
 #, c-format
 msgid "table access method \"%s\" does not exist"
 msgstr "no existe el método de acceso de tabla «%s»"
 
-#: access/table/tableamapi.c:151
+#: access/table/tableamapi.c:144
 #, c-format
 msgid "Table access method \"%s\" does not exist."
 msgstr "No existe el método de acceso de tabla «%s»."
 
-#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152
+#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151
 #, c-format
 msgid "sample percentage must be between 0 and 100"
 msgstr "el porcentaje de muestreo debe estar entre 0 y 100"
 
-#: access/transam/commit_ts.c:279
+#: access/transam/commit_ts.c:287
 #, c-format
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "no se puede obtener el timestamp de compromiso de la transacción %u"
 
-#: access/transam/commit_ts.c:377
+#: access/transam/commit_ts.c:385
 #, c-format
 msgid "could not get commit timestamp data"
 msgstr "no se pudo obtener datos de compromiso de transacción"
 
-#: access/transam/commit_ts.c:379
+#: access/transam/commit_ts.c:387
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set on the primary server."
 msgstr "Asegúrese que el parámetro de configuración «%s» esté definido en el servidor primario."
 
-#: access/transam/commit_ts.c:381
+#: access/transam/commit_ts.c:389
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Asegúrese que el parámetro de configuración «%s» esté definido."
 
-#: access/transam/multixact.c:1023
+#: access/transam/multixact.c:1091
 #, 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»"
+msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»"
 
-#: access/transam/multixact.c:1025 access/transam/multixact.c:1032
-#: access/transam/multixact.c:1056 access/transam/multixact.c:1065
+#: access/transam/multixact.c:1093 access/transam/multixact.c:1100
+#: access/transam/multixact.c:1124 access/transam/multixact.c:1133
+#: access/transam/varsup.c:158 access/transam/varsup.c:165
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -1688,247 +1872,250 @@ msgstr ""
 "Ejecute VACUUM de la base completa en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: access/transam/multixact.c:1030
+#: access/transam/multixact.c:1098
 #, 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"
+msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u"
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base con OID %u"
 
-#: access/transam/multixact.c:1051 access/transam/multixact.c:2333
+#: access/transam/multixact.c:1119 access/transam/multixact.c:2474
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "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:1060 access/transam/multixact.c:2342
+#: access/transam/multixact.c:1128 access/transam/multixact.c:2483
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 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:1121
+#: access/transam/multixact.c:1189
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "límite de miembros de multixact alcanzado"
 
-#: access/transam/multixact.c:1122
+#: access/transam/multixact.c:1190
 #, c-format
 msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member."
 msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members."
 msgstr[0] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembro."
 msgstr[1] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembros."
 
-#: access/transam/multixact.c:1127
+#: access/transam/multixact.c:1195
 #, c-format
-msgid "Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
-msgstr "Ejecute un VACUUM de la base completa en la base de datos con OID %u con vacuum_multixact_freeze_min_age y vacuum_multixact_freeze_table_age reducidos."
+msgid "Execute a database-wide VACUUM in database with OID %u with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
+msgstr "Ejecute un VACUUM de la base completa en la base de datos con OID %u con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos."
 
-#: access/transam/multixact.c:1158
+#: access/transam/multixact.c:1226
 #, c-format
 msgid "database with OID %u must be vacuumed before %d more multixact member is used"
 msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used"
 msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %d miembro más de multixact sea usado"
 msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %d más miembros de multixact sean usados"
 
-#: access/transam/multixact.c:1163
+#: access/transam/multixact.c:1231
 #, c-format
-msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
-msgstr "Ejecute un VACUUM de la base completa en esa base de datos con vacuum_multixact_freeze_min_age y vacuum_multixact_freeze_table_age reducidos."
+msgid "Execute a database-wide VACUUM in that database with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
+msgstr "Ejecute un VACUUM de la base completa en esa base de datos con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos."
 
-#: access/transam/multixact.c:1302
+#: access/transam/multixact.c:1371
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
-msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
+msgstr "el MultiXactId %u ya no existe -- “wraparound” aparente"
 
-#: access/transam/multixact.c:1308
+#: access/transam/multixact.c:1377
 #, 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"
+msgstr "el MultiXactId %u no se ha creado aún -- “wraparound” aparente"
 
-#: access/transam/multixact.c:2338 access/transam/multixact.c:2347
-#: access/transam/varsup.c:151 access/transam/varsup.c:158
-#: access/transam/varsup.c:466 access/transam/varsup.c:473
+#: access/transam/multixact.c:2479 access/transam/multixact.c:2488
 #, c-format
 msgid ""
-"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
+"To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n"
 "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 msgstr ""
-"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
+"Para evitar fallos de asignación de MultiXactId, ejecute VACUUM en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: access/transam/multixact.c:2622
+#: access/transam/multixact.c:2767
 #, c-format
 msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
-msgstr "las protecciones de reciclaje de miembros de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco"
+msgstr "las protecciones de “wraparound” de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco"
 
-#: access/transam/multixact.c:2644
+#: access/transam/multixact.c:2789
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
-msgstr "las protecciones de reciclaje de miembros de multixact están habilitadas"
+msgstr "las protecciones de “wraparound” de miembros de multixact están habilitadas"
 
-#: access/transam/multixact.c:3027
+#: access/transam/multixact.c:3180
 #, c-format
 msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "multixact más antiguo %u no encontrado, multixact más antiguo es %u, omitiendo el truncado"
 
-#: access/transam/multixact.c:3045
+#: access/transam/multixact.c:3198
 #, c-format
 msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation"
 msgstr "no se puede truncar hasta el MultiXact %u porque no existe en disco, omitiendo el truncado"
 
-#: access/transam/multixact.c:3359
+#: access/transam/multixact.c:3517
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "el MultiXactId no es válido: %u"
 
-#: access/transam/parallel.c:729 access/transam/parallel.c:848
+#: access/transam/parallel.c:731 access/transam/parallel.c:850
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "el ayudante paralelo no pudo iniciar"
 
-#: access/transam/parallel.c:730 access/transam/parallel.c:849
+#: access/transam/parallel.c:732 access/transam/parallel.c:851
 #, c-format
 msgid "More details may be available in the server log."
 msgstr "Puede haber más detalles disponibles en el log del servidor."
 
-#: access/transam/parallel.c:910
+#: access/transam/parallel.c:912
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster terminó durante una transacción paralela"
 
-#: access/transam/parallel.c:1097
+#: access/transam/parallel.c:1099
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "se ha perdido la conexión al ayudante paralelo"
 
-#: access/transam/parallel.c:1163 access/transam/parallel.c:1165
+#: access/transam/parallel.c:1155 access/transam/parallel.c:1157
 msgid "parallel worker"
 msgstr "ayudante paralelo"
 
-#: access/transam/parallel.c:1319
+#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "no se pudo mapear el segmento de memoria compartida dinámica"
 
-#: access/transam/parallel.c:1324
+#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "número mágico no válido en segmento de memoria compartida dinámica"
 
-#: access/transam/rmgr.c:84
+#: access/transam/rmgr.c:93
 #, c-format
 msgid "resource manager with ID %d not registered"
 msgstr "el gestor de recursos con ID %d no está registrado"
 
-#: access/transam/rmgr.c:85
+#: access/transam/rmgr.c:94
 #, c-format
-msgid "Include the extension module that implements this resource manager in shared_preload_libraries."
-msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en shared_preload_libraries."
+msgid "Include the extension module that implements this resource manager in \"shared_preload_libraries\"."
+msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en «shared_preload_libraries»."
 
-#: access/transam/rmgr.c:101
+#: access/transam/rmgr.c:110
 #, c-format
 msgid "custom resource manager name is invalid"
 msgstr "el nombre de gestor de recursos personalizado no es válido"
 
-#: access/transam/rmgr.c:102
+#: access/transam/rmgr.c:111
 #, c-format
 msgid "Provide a non-empty name for the custom resource manager."
 msgstr "Provea un nombre no vacío para el gestor de recursos personalizado."
 
-#: access/transam/rmgr.c:105
+#: access/transam/rmgr.c:114
 #, c-format
 msgid "custom resource manager ID %d is out of range"
 msgstr "el ID %d de gestor de recursos está fuera de rango"
 
-#: access/transam/rmgr.c:106
+#: access/transam/rmgr.c:115
 #, c-format
 msgid "Provide a custom resource manager ID between %d and %d."
 msgstr "Provea un ID de gestor de recursos personalizado entre %d y %d."
 
-#: access/transam/rmgr.c:111 access/transam/rmgr.c:116
-#: access/transam/rmgr.c:128
+#: access/transam/rmgr.c:120 access/transam/rmgr.c:125
+#: access/transam/rmgr.c:137
 #, c-format
 msgid "failed to register custom resource manager \"%s\" with ID %d"
 msgstr "no se pudo registrar un gestor de recursos personalizado «%s» con ID %d"
 
-#: access/transam/rmgr.c:112
+#: access/transam/rmgr.c:121
 #, c-format
-msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries."
-msgstr "El gestor de recursos personalizado debe ser registrado en shared_preload_libraries."
+msgid "Custom resource manager must be registered while initializing modules in \"shared_preload_libraries\"."
+msgstr "El gestor de recursos personalizado debe ser registrado en «shared_preload_libraries» al inicializar módulos."
 
-#: access/transam/rmgr.c:117
+#: access/transam/rmgr.c:126
 #, c-format
 msgid "Custom resource manager \"%s\" already registered with the same ID."
 msgstr "El gestor de recursos «%s» ya está registrado con el mismo ID."
 
-#: access/transam/rmgr.c:129
+#: access/transam/rmgr.c:138
 #, c-format
 msgid "Existing resource manager with ID %d has the same name."
 msgstr "El gestor de recursos con ID %d tiene el mismo nombre."
 
-#: access/transam/rmgr.c:135
+#: access/transam/rmgr.c:144
 #, c-format
 msgid "registered custom resource manager \"%s\" with ID %d"
 msgstr "se registró el gestor de recursos «%s» con ID %d"
 
-#: access/transam/slru.c:714
+#: access/transam/slru.c:361
+#, c-format
+msgid "\"%s\" must be a multiple of %d"
+msgstr "«%s» debe ser múltiple de %d"
+
+#: access/transam/slru.c:830
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "el archivo «%s» no existe, leyendo como ceros"
 
-#: access/transam/slru.c:946 access/transam/slru.c:952
-#: access/transam/slru.c:960 access/transam/slru.c:965
-#: access/transam/slru.c:972 access/transam/slru.c:977
-#: access/transam/slru.c:984 access/transam/slru.c:991
+#: access/transam/slru.c:1059 access/transam/slru.c:1065
+#: access/transam/slru.c:1073 access/transam/slru.c:1078
+#: access/transam/slru.c:1085 access/transam/slru.c:1090
+#: access/transam/slru.c:1097 access/transam/slru.c:1104
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "no se pudo encontrar el estado de la transacción %u"
 
-#: access/transam/slru.c:947
+#: access/transam/slru.c:1060
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "No se pudo abrir el archivo «%s»: %m."
 
-#: access/transam/slru.c:953
+#: access/transam/slru.c:1066
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %d: %m."
 msgstr "No se pudo posicionar (seek) en el archivo «%s» a la posición %d: %m."
 
-#: access/transam/slru.c:961
+#: access/transam/slru.c:1074
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: %m."
 msgstr "No se pudo leer desde el archivo «%s» en la posición %d: %m."
 
-#: access/transam/slru.c:966
+#: access/transam/slru.c:1079
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
 msgstr "No se pudo leer desde el archivo «%s» en la posición %d: se leyeron muy pocos bytes."
 
-#: access/transam/slru.c:973
+#: access/transam/slru.c:1086
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: %m."
 msgstr "No se pudo escribir al archivo «%s» en la posición %d: %m."
 
-#: access/transam/slru.c:978
+#: access/transam/slru.c:1091
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
 msgstr "No se pudo escribir al archivo «%s» en la posición %d: se escribieron muy pocos bytes."
 
-#: access/transam/slru.c:985
+#: access/transam/slru.c:1098
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "No se pudo sincronizar (fsync) archivo «%s»: %m."
 
-#: access/transam/slru.c:992
+#: access/transam/slru.c:1105
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "No se pudo cerrar el archivo «%s»: %m."
 
-#: access/transam/slru.c:1253
+#: access/transam/slru.c:1431
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
-msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones"
+msgstr "no se pudo truncar el directorio «%s»: “wraparound” aparente"
 
 #: access/transam/timeline.c:163 access/transam/timeline.c:168
 #, c-format
@@ -1970,773 +2157,815 @@ msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 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:385
+#: access/transam/twophase.c:368
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "identificador de transacción «%s» es demasiado largo"
 
-#: access/transam/twophase.c:392
+#: access/transam/twophase.c:375
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "las transacciones preparadas están deshabilitadas"
 
-#: access/transam/twophase.c:393
+#: access/transam/twophase.c:376
 #, c-format
-msgid "Set max_prepared_transactions to a nonzero value."
-msgstr "Defina max_prepared_transactions a un valor distinto de cero."
+msgid "Set \"max_prepared_transactions\" to a nonzero value."
+msgstr "Defina «max_prepared_transactions» a un valor distinto de cero."
 
-#: access/transam/twophase.c:412
+#: access/transam/twophase.c:395
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:421 access/transam/twophase.c:2484
+#: access/transam/twophase.c:404 access/transam/twophase.c:2540
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:422 access/transam/twophase.c:2485
+#: access/transam/twophase.c:405 access/transam/twophase.c:2541
 #, c-format
-msgid "Increase max_prepared_transactions (currently %d)."
-msgstr "Incremente max_prepared_transactions (actualmente es %d)."
+msgid "Increase \"max_prepared_transactions\" (currently %d)."
+msgstr "Incremente «max_prepared_transactions» (actualmente es %d)."
 
-#: access/transam/twophase.c:598
+#: access/transam/twophase.c:580
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "transacción preparada con identificador «%s» está ocupada"
 
-#: access/transam/twophase.c:604
+#: access/transam/twophase.c:586
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "se ha denegado el permiso para finalizar la transacción preparada"
 
-#: access/transam/twophase.c:605
+#: access/transam/twophase.c:587
 #, 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:616
+#: access/transam/twophase.c:598
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transacción preparada pertenece a otra base de datos"
 
-#: access/transam/twophase.c:617
+#: access/transam/twophase.c:599
 #, 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:632
+#: access/transam/twophase.c:614
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "transacción preparada con identificador «%s» no existe"
 
-#: access/transam/twophase.c:1167
+#: access/transam/twophase.c:1190
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "el largo máximo del archivo de estado de dos fases fue excedido"
 
-#: access/transam/twophase.c:1322
+#: access/transam/twophase.c:1345
 #, c-format
 msgid "incorrect size of file \"%s\": %lld byte"
 msgid_plural "incorrect size of file \"%s\": %lld bytes"
 msgstr[0] "tamaño incorrecto de archivo «%s»: %lld byte"
 msgstr[1] "tamaño incorrecto de archivo «%s»: %lld bytes"
 
-#: access/transam/twophase.c:1331
+#: access/transam/twophase.c:1354
 #, c-format
 msgid "incorrect alignment of CRC offset for file \"%s\""
 msgstr "alineamiento incorrecto del offset del CRC para el archivo «%s»"
 
-#: access/transam/twophase.c:1349
+#: access/transam/twophase.c:1372
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld"
 
-#: access/transam/twophase.c:1364
+#: access/transam/twophase.c:1387
 #, c-format
 msgid "invalid magic number stored in file \"%s\""
 msgstr "número mágico no válido almacenado en archivo «%s»"
 
-#: access/transam/twophase.c:1370
+#: access/transam/twophase.c:1393
 #, c-format
 msgid "invalid size stored in file \"%s\""
 msgstr "tamaño no válido en archivo «%s»"
 
-#: access/transam/twophase.c:1382
+#: access/transam/twophase.c:1405
 #, c-format
 msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo «%s»"
 
-#: access/transam/twophase.c:1412 access/transam/xlogrecovery.c:590
-#: replication/logical/logical.c:209 replication/walsender.c:687
+#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565
+#: postmaster/walsummarizer.c:934 replication/logical/logical.c:211
+#: replication/walsender.c:836
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Falló mientras se emplazaba un procesador de lectura de WAL."
 
-#: access/transam/twophase.c:1422
+#: access/transam/twophase.c:1445
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X: %s"
 msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X: %s"
 
-#: access/transam/twophase.c:1427
+#: access/transam/twophase.c:1450
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X"
 msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X"
 
-#: access/transam/twophase.c:1435
+#: access/transam/twophase.c:1458
 #, c-format
 msgid "expected two-phase state data is not present in WAL at %X/%X"
 msgstr "los datos de estado de dos fases esperados no están presentes en WAL en %X/%X"
 
-#: access/transam/twophase.c:1731
+#: access/transam/twophase.c:1754
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "no se pudo recrear archivo «%s»: %m"
 
-#: access/transam/twophase.c:1858
+#: access/transam/twophase.c:1881
 #, c-format
 msgid "%u two-phase state file was written for a long-running prepared transaction"
 msgid_plural "%u two-phase state files were written for long-running prepared transactions"
 msgstr[0] "%u archivo de estado de dos fases fue escrito para transacción de larga duración"
 msgstr[1] "%u archivos de estado de dos fases fueron escritos para transacciones de larga duración"
 
-#: access/transam/twophase.c:2092
+#: access/transam/twophase.c:2116
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "recuperando transacción preparada %u desde memoria compartida"
 
-#: access/transam/twophase.c:2185
+#: access/transam/twophase.c:2209
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "eliminando archivo obsoleto de estado de dos fases para transacción %u"
 
-#: access/transam/twophase.c:2192
+#: access/transam/twophase.c:2216
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "eliminando de memoria estado de dos fases obsoleto para transacción %u"
 
-#: access/transam/twophase.c:2205
+#: access/transam/twophase.c:2229
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "eliminando archivo futuro de estado de dos fases para transacción %u"
 
-#: access/transam/twophase.c:2212
+#: access/transam/twophase.c:2236
 #, c-format
 msgid "removing future two-phase state from memory for transaction %u"
 msgstr "eliminando estado de dos fases futuro de memoria para transacción %u"
 
-#: access/transam/twophase.c:2237
+#: access/transam/twophase.c:2261
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "archivo de estado de dos fases corrupto para transacción %u"
 
-#: access/transam/twophase.c:2242
+#: access/transam/twophase.c:2266
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "estado de dos fases en memoria corrupto para transacción %u"
 
-#: access/transam/varsup.c:129
+#: access/transam/twophase.c:2523
 #, c-format
-msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\""
-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 de datos «%s»"
+msgid "could not recover two-phase state file for transaction %u"
+msgstr "no se pudo recuperar el archivo de estado de dos fases para la transacción %u"
 
-#: access/transam/varsup.c:131 access/transam/varsup.c:138
+#: access/transam/twophase.c:2525
 #, c-format
-msgid ""
-"Stop the postmaster and vacuum that database in single-user mode.\n"
-"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
-msgstr ""
-"Detenga el postmaster y ejecute VACUUM de la base completa en esa base de datos.\n"
-"Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
+msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
+msgstr "El archivo de estado en dos fases ha sido encontrado en el registro de WAL %X/%X, pero esta transacción ya ha sido restaurada desde disco."
+
+#: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
+#, c-format
+msgid "could not access file \"%s\": %m"
+msgstr "no se pudo acceder al archivo «%s»: %m"
+
+#: access/transam/varsup.c:156
+#, c-format
+msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos XIDs para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»"
 
-#: access/transam/varsup.c:136
+#: access/transam/varsup.c:163
 #, c-format
-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"
+msgid "database is not accepting commands that assign new XIDs 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 “wraparound” en la base con OID %u"
 
-#: access/transam/varsup.c:148 access/transam/varsup.c:463
+#: access/transam/varsup.c:175 access/transam/varsup.c:490
 #, 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:155 access/transam/varsup.c:470
+#: access/transam/varsup.c:178 access/transam/varsup.c:185
+#: access/transam/varsup.c:493 access/transam/varsup.c:500
+#, c-format
+msgid ""
+"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
+msgstr ""
+"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, o eliminar slots de replicación añejos."
+
+#: access/transam/varsup.c:182 access/transam/varsup.c:497
 #, 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/xact.c:1102
+#: access/transam/xact.c:649
+#, c-format
+msgid "cannot assign XIDs during a parallel operation"
+msgstr "no se puede asignar XIDs durante una operación paralela"
+
+#: access/transam/xact.c:840
+#, c-format
+msgid "cannot modify data in a parallel worker"
+msgstr "no se pueden modificar datos en un proceso ayudante paralelo"
+
+#: access/transam/xact.c:1115
+#, c-format
+msgid "cannot start commands during a parallel operation"
+msgstr "no se puede iniciar órdenes durante una operación paralela"
+
+#: access/transam/xact.c:1123
 #, c-format
 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:1643
+#: access/transam/xact.c:1664
 #, 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:2513
+#: access/transam/xact.c:2561
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary objects"
 msgstr "no se puede hacer PREPARE de una transacción que ha operado en objetos temporales"
 
-#: access/transam/xact.c:2523
+#: access/transam/xact.c:2571
 #, 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:3489
+#: access/transam/xact.c:3593
 #, 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:3499
+#: access/transam/xact.c:3603
 #, 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:3509
-#, fuzzy, c-format
-#| msgid "%s cannot be executed from a function"
+#: access/transam/xact.c:3613
+#, c-format
 msgid "%s cannot be executed within a pipeline"
-msgstr "%s no puede ser ejecutado desde una función"
+msgstr "%s no puede ser ejecutado en un “pipeline”"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3519
+#: access/transam/xact.c:3623
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s no puede ser ejecutado desde una función"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3590 access/transam/xact.c:3915
-#: access/transam/xact.c:3994 access/transam/xact.c:4117
-#: access/transam/xact.c:4268 access/transam/xact.c:4337
-#: access/transam/xact.c:4448
+#: access/transam/xact.c:3694 access/transam/xact.c:4019
+#: access/transam/xact.c:4098 access/transam/xact.c:4221
+#: access/transam/xact.c:4372 access/transam/xact.c:4441
+#: access/transam/xact.c:4552
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "la orden %s sólo puede ser usada en bloques de transacción"
 
-#: access/transam/xact.c:3801
+#: access/transam/xact.c:3905
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3920 access/transam/xact.c:3999
-#: access/transam/xact.c:4122
+#: access/transam/xact.c:4024 access/transam/xact.c:4103
+#: access/transam/xact.c:4226
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:4010
+#: access/transam/xact.c:4114
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "no se puede comprometer una transacción durante una operación paralela"
 
-#: access/transam/xact.c:4133
+#: access/transam/xact.c:4237
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "no se puede abortar durante una operación paralela"
 
-#: access/transam/xact.c:4232
+#: access/transam/xact.c:4336
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "no se pueden definir savepoints durante una operación paralela"
 
-#: access/transam/xact.c:4319
+#: access/transam/xact.c:4423
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "no se pueden liberar savepoints durante una operación paralela"
 
-#: access/transam/xact.c:4329 access/transam/xact.c:4380
-#: access/transam/xact.c:4440 access/transam/xact.c:4489
+#: access/transam/xact.c:4433 access/transam/xact.c:4484
+#: access/transam/xact.c:4544 access/transam/xact.c:4593
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "no existe el «savepoint» «%s»"
 
-#: access/transam/xact.c:4386 access/transam/xact.c:4495
+#: access/transam/xact.c:4490 access/transam/xact.c:4599
 #, c-format
 msgid "savepoint \"%s\" does not exist within current savepoint level"
 msgstr "el «savepoint» «%s» no existe dentro del nivel de savepoint actual"
 
-#: access/transam/xact.c:4428
+#: access/transam/xact.c:4532
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "no se puede hacer rollback a un savepoint durante una operación paralela"
 
-#: access/transam/xact.c:4556
-#, c-format
-msgid "cannot start subtransactions during a parallel operation"
-msgstr "no se pueden iniciar subtransacciones durante una operación paralela"
-
-#: access/transam/xact.c:4624
-#, c-format
-msgid "cannot commit subtransactions during a parallel operation"
-msgstr "no se pueden comprometer subtransacciones durante una operación paralela"
-
-#: access/transam/xact.c:5270
+#: access/transam/xact.c:5376
 #, 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:1466
+#: access/transam/xlog.c:1541
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
 msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
 
-#: access/transam/xlog.c:2228
+#: access/transam/xlog.c:1768
+#, fuzzy, c-format
+msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
+msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
+
+#: access/transam/xlog.c:2209 access/transam/xlog.c:4500
 #, c-format
-msgid "could not write to log file %s at offset %u, length %zu: %m"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "El tamaño de segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB."
+
+#: access/transam/xlog.c:2227
+#, fuzzy, c-format
+msgid "\"%s\" must be set to -1 during binary upgrade mode."
+msgstr "debe ser superusuario para conectarse en modo de actualización binaria"
+
+#: access/transam/xlog.c:2476
+#, fuzzy, c-format
+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:3455 access/transam/xlogutils.c:833
-#: replication/walsender.c:2725
+#: access/transam/xlog.c:3738 access/transam/xlogutils.c:831
+#: replication/walsender.c:3045
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "el segmento de WAL solicitado %s ya ha sido eliminado"
 
-#: access/transam/xlog.c:3739
+#: access/transam/xlog.c:4060
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "no se pudo renombrar el archivo «%s»: %m"
 
-#: access/transam/xlog.c:3781 access/transam/xlog.c:3791
+#: access/transam/xlog.c:4103 access/transam/xlog.c:4114
+#: access/transam/xlog.c:4135
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:3797
+#: access/transam/xlog.c:4120 access/transam/xlog.c:4141
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:3800 commands/dbcommands.c:3095
+#: access/transam/xlog.c:4124 access/transam/xlog.c:4144
+#: commands/dbcommands.c:3242
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:3867
+#: access/transam/xlog.c:4211
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "no se pudo generar un token de autorización secreto"
 
-#: access/transam/xlog.c:4017 access/transam/xlog.c:4026
-#: access/transam/xlog.c:4050 access/transam/xlog.c:4057
-#: access/transam/xlog.c:4064 access/transam/xlog.c:4069
-#: access/transam/xlog.c:4076 access/transam/xlog.c:4083
-#: access/transam/xlog.c:4090 access/transam/xlog.c:4097
-#: access/transam/xlog.c:4104 access/transam/xlog.c:4111
-#: access/transam/xlog.c:4120 access/transam/xlog.c:4127
-#: utils/init/miscinit.c:1762
+#: access/transam/xlog.c:4362 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4398 access/transam/xlog.c:4406
+#: access/transam/xlog.c:4414 access/transam/xlog.c:4420
+#: access/transam/xlog.c:4428 access/transam/xlog.c:4436
+#: access/transam/xlog.c:4444 access/transam/xlog.c:4452
+#: access/transam/xlog.c:4460 access/transam/xlog.c:4468
+#: access/transam/xlog.c:4478 access/transam/xlog.c:4486
+#: utils/init/miscinit.c:1758
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "los archivos de base de datos son incompatibles con el servidor"
 
-#: access/transam/xlog.c:4018
+#: access/transam/xlog.c:4363
 #, 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:4022
+#: access/transam/xlog.c:4367
 #, 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:4027
+#: access/transam/xlog.c:4373
 #, 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:4030 access/transam/xlog.c:4054
-#: access/transam/xlog.c:4061 access/transam/xlog.c:4066
+#: access/transam/xlog.c:4376 access/transam/xlog.c:4402
+#: access/transam/xlog.c:4410 access/transam/xlog.c:4416
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:4041
+#: access/transam/xlog.c:4388
 #, 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:4051
+#: access/transam/xlog.c:4399
 #, 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:4058
+#: access/transam/xlog.c:4407
 #, 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:4065
+#: access/transam/xlog.c:4415
 #, 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:4070
+#: access/transam/xlog.c:4421
 #, 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:4073 access/transam/xlog.c:4080
-#: access/transam/xlog.c:4087 access/transam/xlog.c:4094
-#: access/transam/xlog.c:4101 access/transam/xlog.c:4108
-#: access/transam/xlog.c:4115 access/transam/xlog.c:4123
-#: access/transam/xlog.c:4130
+#: access/transam/xlog.c:4424 access/transam/xlog.c:4432
+#: access/transam/xlog.c:4440 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4456 access/transam/xlog.c:4464
+#: access/transam/xlog.c:4472 access/transam/xlog.c:4481
+#: access/transam/xlog.c:4489
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:4077
+#: access/transam/xlog.c:4429
 #, 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:4084
+#: access/transam/xlog.c:4437
 #, 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:4091
+#: access/transam/xlog.c:4445
 #, 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:4098
+#: access/transam/xlog.c:4453
 #, 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:4105
+#: access/transam/xlog.c:4461
 #, 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:4112
+#: access/transam/xlog.c:4469
 #, 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:4121
+#: access/transam/xlog.c:4479
 #, 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:4128
+#: access/transam/xlog.c:4487
 #, 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:4137
+#: access/transam/xlog.c:4496
 #, c-format
-msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
-msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
-msgstr[0] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d byte"
-msgstr[1] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d bytes"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "tamaño de segmento de WAL no válido (%d byte) en archivo de control"
+msgstr[1] "tamaño de segmento de WAL no válido (%d bytes) en archivo de control"
 
-#: access/transam/xlog.c:4149
+#: access/transam/xlog.c:4509
 #, c-format
 msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "«min_wal_size» debe ser al menos el doble de «wal_segment_size»"
 
-#: access/transam/xlog.c:4153
+#: access/transam/xlog.c:4513
 #, c-format
 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "«max_wal_size» debe ser al menos el doble de «wal_segment_size»"
 
-#: access/transam/xlog.c:4308 catalog/namespace.c:4335
-#: commands/tablespace.c:1216 commands/user.c:2536 commands/variable.c:72
-#: utils/error/elog.c:2205
+#: access/transam/xlog.c:4661 catalog/namespace.c:4681
+#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
+#: replication/slot.c:2429 utils/error/elog.c:2230
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
-#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173
-#: utils/error/elog.c:2231
+#: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173
+#: utils/error/elog.c:2256
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
 
-#: access/transam/xlog.c:4768
+#: access/transam/xlog.c:5128
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "no se pudo escribir el archivo WAL de boostrap: %m"
 
-#: access/transam/xlog.c:4776
+#: access/transam/xlog.c:5136
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de WAL de bootstrap: %m"
 
-#: access/transam/xlog.c:4782
+#: access/transam/xlog.c:5142
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "no se pudo cerrar el archivo WAL de bootstrap: %m"
 
-#: access/transam/xlog.c:4999
+#: access/transam/xlog.c:5367
 #, c-format
-msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
-msgstr "el WAL fue generado con wal_level=minimal, no se puede continuar con la recuperación"
+msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering"
+msgstr "el WAL fue generado con «wal_level=minimal», no se puede continuar con la recuperación"
 
-#: access/transam/xlog.c:5000
+#: access/transam/xlog.c:5368
 #, c-format
-msgid "This happens if you temporarily set wal_level=minimal on the server."
-msgstr "Esto sucede si temporalmente define wal_level=minimal en el servidor."
+msgid "This happens if you temporarily set \"wal_level=minimal\" on the server."
+msgstr "Esto sucede si temporalmente define «wal_level=minimal» en el servidor."
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5369
 #, c-format
-msgid "Use a backup taken after setting wal_level to higher than minimal."
-msgstr "Utilice un respaldo tomado después de establecer wal_level a un valor superior a minimal."
+msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"."
+msgstr "Utilice un respaldo tomado después de establecer «wal_level» a un valor superior a «minimal»."
 
-#: access/transam/xlog.c:5065
+#: access/transam/xlog.c:5434
 #, c-format
 msgid "control file contains invalid checkpoint location"
-msgstr "el archivo de control contiene una ubicación no válida de punto de control"
+msgstr "el archivo de control contiene una ubicación no válida de checkpoint"
 
-#: access/transam/xlog.c:5076
+#: access/transam/xlog.c:5445
 #, 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:5082
+#: access/transam/xlog.c:5451
 #, 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:5088
+#: access/transam/xlog.c:5457
 #, 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:5094
+#: access/transam/xlog.c:5463
 #, 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:5096
+#: access/transam/xlog.c:5465
 #, 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:5102
+#: access/transam/xlog.c:5471
 #, 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:5104
+#: access/transam/xlog.c:5473
 #, 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:5110
+#: access/transam/xlog.c:5479
 #, 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:5116
+#: access/transam/xlog.c:5486
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "el archivo de control contiene un estado no válido del clúster"
 
-#: access/transam/xlog.c:5500
+#: access/transam/xlog.c:5874
 #, 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:5501
+#: access/transam/xlog.c:5875
 #, 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:5504
+#: access/transam/xlog.c:5879
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:5550
+#: access/transam/xlog.c:5925
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:5583
+#: access/transam/xlog.c:5958
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:6185
+#: access/transam/xlog.c:6587
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6224
+#: access/transam/xlog.c:6626
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "empezando restartpoint:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6236
+#: access/transam/xlog.c:6638
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "empezando checkpoint:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6301
+#: access/transam/xlog.c:6703
 #, c-format
 msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr ""
+msgstr "restartpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
 
-#: access/transam/xlog.c:6324
+#: access/transam/xlog.c:6726
 #, c-format
 msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr ""
+msgstr "checkpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
 
-#: access/transam/xlog.c:6762
+#: access/transam/xlog.c:7208
 #, c-format
 msgid "concurrent write-ahead log activity while database system is shutting down"
 msgstr "hay actividad de WAL mientras el sistema se está apagando"
 
-#: access/transam/xlog.c:7323
+#: access/transam/xlog.c:7793
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "restartpoint de recuperación en %X/%X"
 
-#: access/transam/xlog.c:7325
+#: access/transam/xlog.c:7795
 #, 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:7573
+#: access/transam/xlog.c:8057
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:7780
+#: access/transam/xlog.c:8264
 #, 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:7837
+#: access/transam/xlog.c:8322
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint de detención"
 
-#: access/transam/xlog.c:7895
+#: access/transam/xlog.c:8380
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint «online»"
 
-#: access/transam/xlog.c:7924
+#: access/transam/xlog.c:8409
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de fin-de-recuperación"
 
-#: access/transam/xlog.c:8191
+#: access/transam/xlog.c:8680
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync write-through) el archivo «%s»: %m"
 
-#: access/transam/xlog.c:8196
+#: access/transam/xlog.c:8685
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 
-#: access/transam/xlog.c:8281 access/transam/xlog.c:8604
+#: access/transam/xlog.c:8772 access/transam/xlog.c:9108
 #, 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:8282 access/transam/xlog.c:8605
-#: access/transam/xlogfuncs.c:254
+#: access/transam/xlog.c:8773 access/transam/xlogfuncs.c:248
 #, c-format
-msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
-msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor."
+msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start."
+msgstr "«wal_level» debe ser definido a «replica» o «logical» al inicio del servidor."
 
-#: access/transam/xlog.c:8287
+#: access/transam/xlog.c:8778
 #, 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:8408
+#: access/transam/xlog.c:8899
 #, 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 restartpoint"
+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 restartpoint"
 
-#: access/transam/xlog.c:8410 access/transam/xlog.c:8693
+#: access/transam/xlog.c:8901 access/transam/xlog.c:9197
 #, c-format
-msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again."
-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 primario, luego trate de ejecutar un respaldo en línea nuevamente."
+msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, and then try an online backup again."
+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 primario, luego trate de ejecutar un respaldo en línea nuevamente."
 
-#: access/transam/xlog.c:8477 backup/basebackup.c:1351 utils/adt/misc.c:354
+#: access/transam/xlog.c:8981 backup/basebackup.c:1417 utils/adt/misc.c:354
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: access/transam/xlog.c:8484 backup/basebackup.c:1356 utils/adt/misc.c:359
+#: access/transam/xlog.c:8988 backup/basebackup.c:1422 utils/adt/misc.c:359
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: access/transam/xlog.c:8643 backup/basebackup.c:1217
+#: access/transam/xlog.c:9109
+#, c-format
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor."
+
+#: access/transam/xlog.c:9147 backup/basebackup.c:1281
 #, 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:8644 backup/basebackup.c:1218
+#: access/transam/xlog.c:9148 backup/basebackup.c:1282
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. 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:8691
+#: access/transam/xlog.c:9195
 #, 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"
+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:8807
+#: access/transam/xlog.c:9311
 #, c-format
 msgid "base backup done, waiting for required WAL segments to be archived"
 msgstr "respaldo base completo, esperando que se archiven los segmentos WAL requeridos"
 
-#: access/transam/xlog.c:8821
+#: access/transam/xlog.c:9325
 #, c-format
 msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "todavía en espera de que todos los segmentos WAL requeridos sean archivados (han pasado %d segundos)"
 
-#: access/transam/xlog.c:8823
+#: access/transam/xlog.c:9327
 #, c-format
-msgid "Check that your archive_command is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
-msgstr "Verifique que su archive_command se esté ejecutando con normalidad.  Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
+msgid "Check that your \"archive_command\" is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
+msgstr "Verifique que su «archive_command» se esté ejecutando con normalidad.  Puede cancelar este respaldo con confianza, 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:8830
+#: access/transam/xlog.c:9334
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:8834
+#: access/transam/xlog.c:9338
 #, 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 mecanismo para completar el respaldo"
 
-#: access/transam/xlog.c:8873
+#: access/transam/xlog.c:9377
 #, c-format
 msgid "aborting backup due to backend exiting before pg_backup_stop was called"
 msgstr "abortando el backup porque el proceso servidor terminó antes de que pg_backup_stop fuera invocada"
 
-#: access/transam/xlogarchive.c:207
+#: access/transam/xlogarchive.c:213
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
 msgstr "el archivo «%s» tiene tamaño erróneo: %lld en lugar de %lld"
 
-#: access/transam/xlogarchive.c:216
+#: access/transam/xlogarchive.c:222
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
 
-#: access/transam/xlogarchive.c:230
+#: access/transam/xlogarchive.c:236
 #, c-format
-msgid "restore_command returned a zero exit status, but stat() failed."
-msgstr "restore_command retornó un estado de salida cero, pero stat() falló."
+msgid "\"restore_command\" returned a zero exit status, but stat() failed."
+msgstr "«restore_command» retornó un estado de salida cero, pero stat() falló."
 
-#: access/transam/xlogarchive.c:262
+#: access/transam/xlogarchive.c:268
 #, c-format
 msgid "could not restore file \"%s\" from archive: %s"
 msgstr "no se pudo recuperar el archivo «%s»: %s"
@@ -2744,333 +2973,295 @@ msgstr "no se pudo recuperar el archivo «%s»: %s"
 #. translator: First %s represents a postgresql.conf parameter name like
 #. "recovery_end_command", the 2nd is the value of that parameter, the
 #. third an already translated error message.
-#: access/transam/xlogarchive.c:340
+#: access/transam/xlogarchive.c:346
 #, c-format
 msgid "%s \"%s\": %s"
 msgstr "%s «%s»: %s"
 
-#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530
+#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536
 #, 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:458 access/transam/xlogarchive.c:538
+#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544
 #, 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:75 backup/basebackup.c:973
+#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997
 #, c-format
 msgid "a backup is already in progress in this session"
 msgstr "ya hay un respaldo en curso en esta sesión"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:140
 #, c-format
 msgid "backup is not in progress"
 msgstr "no hay respaldo en curso"
 
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlogfuncs.c:141
 #, c-format
 msgid "Did you call pg_backup_start()?"
 msgstr "¿Invocó pg_backup_start()?"
 
-#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248
-#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308
-#: access/transam/xlogfuncs.c:329
+#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242
+#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302
+#: access/transam/xlogfuncs.c:323
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399
-#: access/transam/xlogfuncs.c:457
+#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389
+#: access/transam/xlogfuncs.c:447
 #, c-format
 msgid "%s cannot be executed during recovery."
 msgstr "No se puede ejecutar %s durante la recuperación."
 
-# FIXME see logical.c:81
-#: access/transam/xlogfuncs.c:221
-#, fuzzy, c-format
-#| msgid "replication slots can only be used if wal_level >= replica"
-msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica"
-msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica"
+#: access/transam/xlogfuncs.c:215
+#, c-format
+msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\""
+msgstr "pg_log_standby_snapshot() sólo puede usarse si «wal_level» >= «replica»"
 
-#: access/transam/xlogfuncs.c:253
+#: access/transam/xlogfuncs.c:247
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:261
+#: access/transam/xlogfuncs.c:255
 #, 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:496
-#, fuzzy, c-format
-#| msgid "invalid locale name \"%s\""
+#: access/transam/xlogfuncs.c:486
+#, c-format
 msgid "invalid WAL file name \"%s\""
-msgstr "nombre de configuración regional «%s» no es válido"
+msgstr "nombre de archivo WAL «%s» no válido"
 
-#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562
-#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609
-#: access/transam/xlogfuncs.c:689
+#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552
+#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599
+#: access/transam/xlogfuncs.c:679
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la recuperación no está en proceso"
 
-#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563
-#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610
-#: access/transam/xlogfuncs.c:690
+#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553
+#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600
+#: access/transam/xlogfuncs.c:680
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568
+#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558
 #, c-format
 msgid "standby promotion is ongoing"
 msgstr "la promoción del standby está en curso"
 
-#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559
 #, c-format
 msgid "%s cannot be executed after promotion is triggered."
 msgstr "%s no puede ser ejecutado después que una promoción es solicitada."
 
-#: access/transam/xlogfuncs.c:695
+#: access/transam/xlogfuncs.c:685
 #, c-format
 msgid "\"wait_seconds\" must not be negative or zero"
 msgstr "«wait_seconds» no puede ser negativo o cero"
 
-#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260
+#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "no se pudo enviar señal a postmaster: %m"
 
-#: access/transam/xlogfuncs.c:751
+#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346
+#, c-format
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "terminando la conexión debido al término inesperado de postmaster"
+
+#: access/transam/xlogfuncs.c:740
+#, c-format
+msgid "while waiting on promotion"
+msgstr "mientras se esperaba la promoción"
+
+#: access/transam/xlogfuncs.c:744
 #, c-format
 msgid "server did not promote within %d second"
 msgid_plural "server did not promote within %d seconds"
 msgstr[0] "el servidor no se promovió en %d segundo"
 msgstr[1] "el servidor no se promovió en %d segundos"
 
-#: access/transam/xlogprefetcher.c:1092
+#: access/transam/xlogprefetcher.c:1088
 #, c-format
-msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()."
-msgstr "recovery_prefetch no está soportado en plataformas que no tienen posix_fadvise()."
+msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()."
+msgstr "«recovery_prefetch» no está soportado en plataformas que no tienen posix_fadvise()."
 
-#: access/transam/xlogreader.c:626
+#: access/transam/xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
 
-#: access/transam/xlogreader.c:635
+#: access/transam/xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1123
+#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
 
-#: access/transam/xlogreader.c:705
-#, c-format
-msgid "out of memory while trying to decode a record of length %u"
-msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u"
-
-#: access/transam/xlogreader.c:727
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "largo de registro %u en %X/%X demasiado largo"
-
-#: access/transam/xlogreader.c:776
+#: access/transam/xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: access/transam/xlogreader.c:789
+#: access/transam/xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
 
-#: access/transam/xlogreader.c:924
-#, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "falta un contrecord en %X/%X"
-
-#: access/transam/xlogreader.c:1131
+#: access/transam/xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ID de gestor de recursos %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1144 access/transam/xlogreader.c:1160
+#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
 
-#: access/transam/xlogreader.c:1196
+#: access/transam/xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
 
-#: access/transam/xlogreader.c:1230
+#: access/transam/xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1245 access/transam/xlogreader.c:1287
+#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1261
+#: access/transam/xlogreader.c:1274
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu"
 
-#: access/transam/xlogreader.c:1269
+#: access/transam/xlogreader.c:1282
 #, c-format
 msgid "WAL file is from different database system: incorrect segment size in page header"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina"
 
-#: access/transam/xlogreader.c:1275
+#: access/transam/xlogreader.c:1288
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina"
 
-#: access/transam/xlogreader.c:1307
+#: access/transam/xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1333
+#: access/transam/xlogreader.c:1346
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1739
+#: access/transam/xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u fuera de orden en %X/%X"
 
-#: access/transam/xlogreader.c:1763
+#: access/transam/xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
 
-#: access/transam/xlogreader.c:1770
+#: access/transam/xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1806
+#: access/transam/xlogreader.c:1816
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
 
-#: access/transam/xlogreader.c:1822
+#: access/transam/xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
 
-#: access/transam/xlogreader.c:1836
+#: access/transam/xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1851
+#: access/transam/xlogreader.c:1861
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1867
+#: access/transam/xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
 
-#: access/transam/xlogreader.c:1879
+#: access/transam/xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1946
+#: access/transam/xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "registro con largo no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1972
+#: access/transam/xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
 
-#: access/transam/xlogreader.c:2056
+#: access/transam/xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr "no se pudo restaurar la imagen en %X/%X con bloque especifica %d no válido"
 
-#: access/transam/xlogreader.c:2063
+#: access/transam/xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
 
-#: access/transam/xlogreader.c:2090 access/transam/xlogreader.c:2107
+#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
 msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
-#: access/transam/xlogreader.c:2116
+#: access/transam/xlogreader.c:2126
 #, c-format
 msgid "could not restore image at %X/%X compressed with unknown method, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
 
-#: access/transam/xlogreader.c:2124
+#: access/transam/xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
 
-#: access/transam/xlogrecovery.c:547
-#, c-format
-msgid "entering standby mode"
-msgstr "entrando al modo standby"
-
-#: access/transam/xlogrecovery.c:550
-#, c-format
-msgid "starting point-in-time recovery to XID %u"
-msgstr "comenzando el proceso de recuperación hasta el XID %u"
-
-#: access/transam/xlogrecovery.c:554
-#, c-format
-msgid "starting point-in-time recovery to %s"
-msgstr "comenzando el proceso de recuperación hasta %s"
-
-#: access/transam/xlogrecovery.c:558
-#, c-format
-msgid "starting point-in-time recovery to \"%s\""
-msgstr "comenzando el proceso de recuperación hasta «%s»"
-
-#: access/transam/xlogrecovery.c:562
-#, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»"
-
-#: access/transam/xlogrecovery.c:566
-#, c-format
-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/xlogrecovery.c:569
+#: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting archive recovery"
-msgstr "comenzando proceso de recuperación"
+msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
+msgstr "iniciando recuperación de backup con LSN de redo %X/%X, LSN de checkpoint %X/%X, en timeline %u"
 
-#: access/transam/xlogrecovery.c:653
+#: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location referenced by checkpoint record"
-msgstr "no se pudo encontrar la ubicación de redo referida por el registro de punto de control"
+msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+msgstr "no se pudo encontrar la ubicación de redo %X/%X referida por el registro de checkpoint en %X/%X"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
-#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664
-#, c-format
+#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
+#, fuzzy, c-format
 msgid ""
-"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n"
+"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n"
 "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n"
 "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup."
 msgstr ""
@@ -3078,694 +3269,801 @@ msgstr ""
 "Si no está restaurando de un respaldo, intente eliminar el archivo \"%s/backup_label\".\n"
 "Tenga cuidado: eliminar \"%s/backup_label\" resultará en un clúster corrupto si está restaurando de un respaldo."
 
-#: access/transam/xlogrecovery.c:663
+#: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record"
-msgstr "no se pudo localizar el registro del punto de control requerido"
+msgid "could not locate required checkpoint record at %X/%X"
+msgstr "no se pudo localizar el registro de checkpoint requerido en %X/%X"
 
-#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670
+#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730
+#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignorando el archivo «%s» porque no existe un archivo «%s»"
 
-#: access/transam/xlogrecovery.c:726
+#: access/transam/xlogrecovery.c:725
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "El archivo «%s» fue renombrado a «%s»."
 
-#: access/transam/xlogrecovery.c:732
+#: access/transam/xlogrecovery.c:731
 #, 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/xlogrecovery.c:786
+#: access/transam/xlogrecovery.c:770
+#, c-format
+msgid "restarting backup recovery with redo LSN %X/%X"
+msgstr "reiniciando recuperación del backup con LSN de redo «%X/%X»"
+
+#: access/transam/xlogrecovery.c:795
+#, c-format
+msgid "could not locate a valid checkpoint record at %X/%X"
+msgstr "no se pudo localizar un registro de válido en %X/%X"
+
+#: access/transam/xlogrecovery.c:806
+#, c-format
+msgid "entering standby mode"
+msgstr "entrando al modo standby"
+
+#: access/transam/xlogrecovery.c:809
+#, c-format
+msgid "starting point-in-time recovery to XID %u"
+msgstr "comenzando el proceso de recuperación hasta el XID %u"
+
+#: access/transam/xlogrecovery.c:813
+#, c-format
+msgid "starting point-in-time recovery to %s"
+msgstr "comenzando el proceso de recuperación hasta %s"
+
+#: access/transam/xlogrecovery.c:817
+#, c-format
+msgid "starting point-in-time recovery to \"%s\""
+msgstr "comenzando el proceso de recuperación hasta «%s»"
+
+#: access/transam/xlogrecovery.c:821
+#, c-format
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»"
+
+#: access/transam/xlogrecovery.c:825
+#, c-format
+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/xlogrecovery.c:828
 #, c-format
-msgid "could not locate a valid checkpoint record"
-msgstr "no se pudo localizar un registro de punto de control válido"
+msgid "starting archive recovery"
+msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlogrecovery.c:810
+#: access/transam/xlogrecovery.c:849
 #, 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/xlogrecovery.c:812
+#: access/transam/xlogrecovery.c:851
 #, 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."
+msgstr "El checkpoint 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/xlogrecovery.c:826
+#: access/transam/xlogrecovery.c:865
 #, 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/xlogrecovery.c:854
+#: access/transam/xlogrecovery.c:893
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlogrecovery.c:859
+#: access/transam/xlogrecovery.c:898
 #, c-format
 msgid "invalid redo in checkpoint record"
-msgstr "redo no es válido en el registro de punto de control"
+msgstr "redo no es válido en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:870
+#: access/transam/xlogrecovery.c:909
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
-msgstr "registro redo no es válido en el punto de control de apagado"
+msgstr "registro redo no es válido en el checkpoint de apagado"
 
-#: access/transam/xlogrecovery.c:899
+#: access/transam/xlogrecovery.c:938
 #, 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/xlogrecovery.c:903
+#: access/transam/xlogrecovery.c:942
 #, 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/xlogrecovery.c:946
+#: access/transam/xlogrecovery.c:985
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene datos inconsistentes con el archivo de control"
 
-#: access/transam/xlogrecovery.c:947
+#: access/transam/xlogrecovery.c:986
 #, 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/xlogrecovery.c:1001
+#: access/transam/xlogrecovery.c:1040
 #, c-format
 msgid "using recovery command file \"%s\" is not supported"
 msgstr "el uso del archivo de configuración de recuperación «%s» no está soportado"
 
-#: access/transam/xlogrecovery.c:1066
+#: access/transam/xlogrecovery.c:1105
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "el modo standby no está soportado en el modo mono-usuario"
 
-#: access/transam/xlogrecovery.c:1083
+#: access/transam/xlogrecovery.c:1122
 #, c-format
-msgid "specified neither primary_conninfo nor restore_command"
-msgstr "no se especifica primary_conninfo ni restore_command"
+msgid "specified neither \"primary_conninfo\" nor \"restore_command\""
+msgstr "no se especifica «primary_conninfo» ni «restore_command»"
 
-#: access/transam/xlogrecovery.c:1084
+#: access/transam/xlogrecovery.c:1123
 #, c-format
 msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there."
 msgstr "El servidor de bases de datos monitoreará el subdirectorio pg_wal con regularidad en búsqueda de archivos almacenados ahí."
 
-#: access/transam/xlogrecovery.c:1092
+#: access/transam/xlogrecovery.c:1131
 #, c-format
-msgid "must specify restore_command when standby mode is not enabled"
-msgstr "debe especificarse restore_command cuando el modo standby no está activo"
+msgid "must specify \"restore_command\" when standby mode is not enabled"
+msgstr "debe especificarse «restore_command» cuando el modo standby no está activo"
 
-#: access/transam/xlogrecovery.c:1130
+#: access/transam/xlogrecovery.c:1169
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "no existe el timeline %u especificado como destino de recuperación"
 
-#: access/transam/xlogrecovery.c:1213 access/transam/xlogrecovery.c:1220
-#: access/transam/xlogrecovery.c:1279 access/transam/xlogrecovery.c:1359
-#: access/transam/xlogrecovery.c:1383
+#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259
+#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406
+#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlogrecovery.c:1280
+#: access/transam/xlogrecovery.c:1319
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "El ID de timeline interpretado es %u, pero se esperaba %u."
 
-#: access/transam/xlogrecovery.c:1662
+#: access/transam/xlogrecovery.c:1330
+#, c-format
+msgid "this is an incremental backup, not a data directory"
+msgstr "esto es un backup incremental, no un directorio de datos"
+
+#: access/transam/xlogrecovery.c:1331
+#, c-format
+msgid "Use pg_combinebackup to reconstruct a valid data directory."
+msgstr "Use pg_combinebackup para reconstruir un directorio de datos válido."
+
+#: access/transam/xlogrecovery.c:1717
+#, c-format
+msgid "unexpected record type found at redo point %X/%X"
+msgstr "se encontró registro de tipo inesperada en el punto de redo %X/%X"
+
+#: access/transam/xlogrecovery.c:1740
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlogrecovery.c:1675
+#: access/transam/xlogrecovery.c:1753
 #, c-format
 msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
 msgstr "redo en progreso, tiempo transcurrido: %ld.%02d s, LSN actual: %X/%X"
 
-#: access/transam/xlogrecovery.c:1767
+#: access/transam/xlogrecovery.c:1843
 #, 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/xlogrecovery.c:1799
+#: access/transam/xlogrecovery.c:1875
 #, c-format
 msgid "redo done at %X/%X system usage: %s"
 msgstr "redo listo en %X/%X utilización del sistema: %s"
 
-#: access/transam/xlogrecovery.c:1805
+#: access/transam/xlogrecovery.c:1881
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "última transacción completada al tiempo de registro %s"
 
-#: access/transam/xlogrecovery.c:1814
+#: access/transam/xlogrecovery.c:1890
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlogrecovery.c:1825
+#: access/transam/xlogrecovery.c:1901
 #, c-format
 msgid "recovery ended before configured recovery target was reached"
 msgstr "la recuperación terminó antes de alcanzar el punto configurado como destino de recuperación"
 
-#: access/transam/xlogrecovery.c:2019
+#: access/transam/xlogrecovery.c:2095
 #, c-format
 msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
 msgstr "se omitió con éxito contrecord no encontrado en %X/%X, sobrescrito en %s"
 
-#: access/transam/xlogrecovery.c:2086
+#: access/transam/xlogrecovery.c:2162
 #, c-format
 msgid "unexpected directory entry \"%s\" found in %s"
 msgstr "entrada de directorio inesperada «%s» fue encontrada en %s"
 
-#: access/transam/xlogrecovery.c:2088
+#: access/transam/xlogrecovery.c:2164
 #, c-format
 msgid "All directory entries in pg_tblspc/ should be symbolic links."
 msgstr "Todas las entradas de directorio en pg_tblspc deberían ser enlaces simbólicos"
 
-#: access/transam/xlogrecovery.c:2089
+#: access/transam/xlogrecovery.c:2165
+#, c-format
+msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete."
+msgstr "Elimine esos directorios, o defina «allow_in_place_tablespaces» a ON transitoriamente para permitir que la recuperación pueda completarse."
+
+#: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete."
-msgstr "Elimine esos directorios, o defina allow_in_place_tablespaces a ON transitoriamente para permitir que la recuperación pueda completarse."
+msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
+msgstr "se completó la recuperación de backup con LSN de redo %X/%X y LSN de término %X/%X"
 
-#: access/transam/xlogrecovery.c:2163
+#: access/transam/xlogrecovery.c:2247
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlogrecovery.c:2201
+#: access/transam/xlogrecovery.c:2285
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "redo WAL en %X/%X para %s"
 
-#: access/transam/xlogrecovery.c:2299
+#: access/transam/xlogrecovery.c:2383
 #, 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"
+msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:2308
+#: access/transam/xlogrecovery.c:2392
 #, 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"
+msgstr "ID de timeline %u inesperado (después de %u) en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:2324
+#: access/transam/xlogrecovery.c:2408
 #, 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/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784
+#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
-#: access/transam/xlogrecovery.c:2529
+#: access/transam/xlogrecovery.c:2613
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "deteniendo recuperación antes de la ubicación (LSN) de WAL «%X/%X»"
 
-#: access/transam/xlogrecovery.c:2619
+#: access/transam/xlogrecovery.c:2703
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2626
+#: access/transam/xlogrecovery.c:2710
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2679
+#: access/transam/xlogrecovery.c:2763
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
 
-#: access/transam/xlogrecovery.c:2697
+#: access/transam/xlogrecovery.c:2781
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "deteniendo recuperación después de la ubicación (LSN) de WAL «%X/%X»"
 
-#: access/transam/xlogrecovery.c:2764
+#: access/transam/xlogrecovery.c:2848
 #, 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/xlogrecovery.c:2772
+#: access/transam/xlogrecovery.c:2856
 #, 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/xlogrecovery.c:2853
+#: access/transam/xlogrecovery.c:2937
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "pausando al final de la recuperación"
 
-#: access/transam/xlogrecovery.c:2854
+#: access/transam/xlogrecovery.c:2938
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Ejecute pg_wal_replay_resume() para promover."
 
-#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594
+#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlogrecovery.c:2858
+#: access/transam/xlogrecovery.c:2942
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Ejecute pg_wal_replay_resume() para continuar."
 
-#: access/transam/xlogrecovery.c:3121
-#, fuzzy, c-format
-#| msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
+#: access/transam/xlogrecovery.c:3205
+#, c-format
 msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogrecovery.c:3329
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: %m"
+#: access/transam/xlogrecovery.c:3413
+#, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
+msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%X, posición %u: %m"
 
-#: access/transam/xlogrecovery.c:3336
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: read %d of %d"
+#: access/transam/xlogrecovery.c:3420
+#, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
+msgstr "no se pudo leer del segmento de WAL %s, LSN %X/%X, posición %u: leídos %d de %zu"
 
-#: access/transam/xlogrecovery.c:3976
-#, fuzzy, c-format
-#| msgid "invalid checkpoint record"
+#: access/transam/xlogrecovery.c:4060
+#, c-format
 msgid "invalid checkpoint location"
-msgstr "el registro del punto de control no es válido"
+msgstr "ubicación de checkpoint no válida"
 
-#: access/transam/xlogrecovery.c:3986
+#: access/transam/xlogrecovery.c:4070
 #, c-format
 msgid "invalid checkpoint record"
-msgstr "el registro del punto de control no es válido"
+msgstr "el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:3992
+#: access/transam/xlogrecovery.c:4076
 #, 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"
+msgstr "el ID de gestor de recursos en el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:4000
+#: access/transam/xlogrecovery.c:4084
 #, c-format
 msgid "invalid xl_info in checkpoint record"
-msgstr "xl_info en el registro del punto de control no es válido"
+msgstr "xl_info en el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:4006
+#: access/transam/xlogrecovery.c:4090
 #, c-format
 msgid "invalid length of checkpoint record"
-msgstr "la longitud del registro de punto de control no es válida"
+msgstr "la longitud del registro de checkpoint no es válida"
 
-#: access/transam/xlogrecovery.c:4060
+#: access/transam/xlogrecovery.c:4144
 #, 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/xlogrecovery.c:4074
+#: access/transam/xlogrecovery.c:4158
 #, 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/xlogrecovery.c:4093
+#: access/transam/xlogrecovery.c:4177
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlogrecovery.c:4296
+#: access/transam/xlogrecovery.c:4380
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "se recibió una petición de apagado para el proceso receptor de wal"
 
-#: access/transam/xlogrecovery.c:4356
+#: access/transam/xlogrecovery.c:4440
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlogrecovery.c:4585
+#: access/transam/xlogrecovery.c:4669
 #, c-format
 msgid "hot standby is not possible because of insufficient parameter settings"
 msgstr "hot standby no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4586 access/transam/xlogrecovery.c:4613
-#: access/transam/xlogrecovery.c:4643
+#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697
+#: access/transam/xlogrecovery.c:4727
 #, c-format
 msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
 msgstr "%s = %d es una configuración menor que en el servidor primario, donde su valor era %d."
 
-#: access/transam/xlogrecovery.c:4595
+#: access/transam/xlogrecovery.c:4679
 #, c-format
 msgid "If recovery is unpaused, the server will shut down."
 msgstr "Si se continúa con la recuperación, el servidor se apagará."
 
-#: access/transam/xlogrecovery.c:4596
+#: access/transam/xlogrecovery.c:4680
 #, c-format
 msgid "You can then restart the server after making the necessary configuration changes."
 msgstr "Luego puede reiniciar el servidor después de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4607
+#: access/transam/xlogrecovery.c:4691
 #, c-format
 msgid "promotion is not possible because of insufficient parameter settings"
 msgstr "la promoción no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4617
+#: access/transam/xlogrecovery.c:4701
 #, c-format
 msgid "Restart the server after making the necessary configuration changes."
 msgstr "Reinicie el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4641
+#: access/transam/xlogrecovery.c:4725
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
 msgstr "se abortó la recuperación porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4647
+#: access/transam/xlogrecovery.c:4731
 #, c-format
 msgid "You can restart the server after making the necessary configuration changes."
 msgstr "Puede reiniciar el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4689
+#: access/transam/xlogrecovery.c:4773
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "múltiples valores de destino de recuperación especificados"
 
-#: access/transam/xlogrecovery.c:4690
+#: access/transam/xlogrecovery.c:4774
 #, c-format
-msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
-msgstr "A lo más uno de recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid puede estar definido."
+msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set."
+msgstr "A lo más uno de «recovery_target», «recovery_target_lsn», «recovery_target_name», «recovery_target_time», «recovery_target_xid» puede estar definido."
 
-#: access/transam/xlogrecovery.c:4701
+#: access/transam/xlogrecovery.c:4785
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "El único valor permitido es «immediate»."
 
-#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186
-#: utils/adt/timestamp.c:439
+#: access/transam/xlogrecovery.c:4937 utils/adt/timestamp.c:202
+#: utils/adt/timestamp.c:455
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp fuera de rango: «%s»"
 
-#: access/transam/xlogrecovery.c:4898
+#: access/transam/xlogrecovery.c:4982
 #, c-format
-msgid "recovery_target_timeline is not a valid number."
-msgstr "recovery_target_timeline no es un número válido."
+msgid "\"recovery_target_timeline\" is not a valid number."
+msgstr "«recovery_target_timeline» no es un número válido."
 
-#: access/transam/xlogutils.c:1039
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: %m"
+#: access/transam/xlogutils.c:1032
+#, c-format
 msgid "could not read from WAL segment %s, offset %d: %m"
-msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
+msgstr "no se pudo leer desde el segmento de WAL %s, posición %d: %m"
 
-#: access/transam/xlogutils.c:1046
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: read %d of %d"
+#: access/transam/xlogutils.c:1039
+#, c-format
 msgid "could not read from WAL segment %s, offset %d: read %d of %d"
-msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
+msgstr "no se pudo leer del segmento de WAL %s, posición %d: leídos %d de %d"
 
-#: archive/shell_archive.c:96
+#: archive/shell_archive.c:98
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "la orden de archivado falló con código de retorno %d"
 
-#: archive/shell_archive.c:98 archive/shell_archive.c:108
-#: archive/shell_archive.c:114 archive/shell_archive.c:123
+#: archive/shell_archive.c:100 archive/shell_archive.c:110
+#: archive/shell_archive.c:116 archive/shell_archive.c:125
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La orden fallida era: «%s»"
 
-#: archive/shell_archive.c:105
+#: archive/shell_archive.c:107
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: archive/shell_archive.c:107 postmaster/postmaster.c:3675
+#: archive/shell_archive.c:109 postmaster/postmaster.c:3094
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: archive/shell_archive.c:112
+#: archive/shell_archive.c:114
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: archive/shell_archive.c:121
+#: archive/shell_archive.c:123
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "la orden de archivado fue terminada con código %d no reconocido"
 
-#: backup/backup_manifest.c:253
+#: backup/backup_manifest.c:254
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "se esperaba el timeline de término %u pero se encontró el timeline %u"
 
-#: backup/backup_manifest.c:277
+#: backup/backup_manifest.c:278
 #, c-format
 msgid "expected start timeline %u but found timeline %u"
 msgstr "se esperaba el timeline de inicio %u pero se encontró el timeline %u"
 
-#: backup/backup_manifest.c:304
+#: backup/backup_manifest.c:305
 #, c-format
 msgid "start timeline %u not found in history of timeline %u"
 msgstr "el timeline de inicio %u no fue encontrado en la historia del timeline %u"
 
-#: backup/backup_manifest.c:355
+#: backup/backup_manifest.c:356
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "no se puede rebobinar el archivo temporal"
 
-#: backup/basebackup.c:470
+#: backup/basebackup.c:479
 #, c-format
 msgid "could not find any WAL files"
 msgstr "no se pudo encontrar ningún archivo de WAL"
 
-#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509
+#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: backup/basebackup.c:551 backup/basebackup.c:576
+#: backup/basebackup.c:560 backup/basebackup.c:585
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: backup/basebackup.c:646
+#: backup/basebackup.c:656
 #, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
 msgstr[0] "%lld falla de verificación de suma de comprobación en total"
 msgstr[1] "%lld fallas de verificación de suma de comprobación en total"
 
-#: backup/basebackup.c:653
+#: backup/basebackup.c:663
 #, c-format
 msgid "checksum verification failure during base backup"
 msgstr "falla en verificación de checksums durante respaldo base"
 
-#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742
-#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779
-#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817
-#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866
-#: backup/basebackup.c:877 backup/basebackup.c:890
+#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753
+#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788
+#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829
+#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879
+#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "nombre de opción «%s» duplicada"
 
-#: backup/basebackup.c:750
-#, fuzzy, c-format
-#| msgid "unrecognized object type \"%s\""
+#: backup/basebackup.c:761
+#, c-format
 msgid "unrecognized checkpoint type: \"%s\""
-msgstr "tipo de objeto «%s» no reconocido"
+msgstr "tipo de checkpoint no reconocido: «%s»"
+
+#: backup/basebackup.c:793
+#, fuzzy, c-format
+msgid "incremental backups cannot be taken unless WAL summarization is enabled"
+msgstr "los backups incrementales no pueden tomarse a menos que el resumen de WAL esté activado"
 
-#: backup/basebackup.c:785
+#: backup/basebackup.c:809
 #, 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)"
 
-#: backup/basebackup.c:830
+#: backup/basebackup.c:854
 #, c-format
 msgid "unrecognized manifest option: \"%s\""
 msgstr "opción de manifiesto «%s» no reconocida"
 
-#: backup/basebackup.c:846
-#, c-format
-msgid "unrecognized checksum algorithm: \"%s\""
-msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
-
-#: backup/basebackup.c:881
+#: backup/basebackup.c:905
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "algoritmo de compresión no reconocido: «%s»"
 
-#: backup/basebackup.c:897
-#, fuzzy, c-format
-#| msgid "unrecognized column option \"%s\""
+#: backup/basebackup.c:921
+#, c-format
 msgid "unrecognized base backup option: \"%s\""
-msgstr "opción de columna «%s» no reconocida"
+msgstr "opción de respaldo base no reconocida: «%s»"
 
-#: backup/basebackup.c:908
+#: backup/basebackup.c:932
 #, c-format
 msgid "manifest checksums require a backup manifest"
 msgstr "la suma de comprobación del manifiesto requiere un manifiesto de la copia de seguridad"
 
-#: backup/basebackup.c:917
-#, fuzzy, c-format
-#| msgid "--no-slot cannot be used with slot name"
+#: backup/basebackup.c:941
+#, c-format
 msgid "target detail cannot be used without target"
-msgstr "no se puede usar --no-slot junto con nombre de slot"
+msgstr "no se puede usar “target detail” sin un destino"
 
-#: backup/basebackup.c:926 backup/basebackup_target.c:218
-#, fuzzy, c-format
-#| msgid "operator class \"%s\" does not accept data type %s"
+#: backup/basebackup.c:950 backup/basebackup_target.c:218
+#, c-format
 msgid "target \"%s\" does not accept a target detail"
-msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
+msgstr "el destino «%s» no acepta “target details”"
 
-#: backup/basebackup.c:937
-#, fuzzy, c-format
-#| msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
+#: backup/basebackup.c:961
+#, c-format
 msgid "compression detail cannot be specified unless compression is enabled"
-msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido"
+msgstr "el detalle de compresión no puede especificarse a menos que la compresión esté activada"
 
-#: backup/basebackup.c:950
+#: backup/basebackup.c:974
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "especificación de compresión no válida: %s"
 
-#: backup/basebackup.c:1116 backup/basebackup.c:1294
+#: backup/basebackup.c:1024
+#, c-format
+msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP"
+msgstr "debe ejecutar UPLOAD_MANIFEST antes de lanzar un BASE_BACKUP incremental"
+
+#: backup/basebackup.c:1157 backup/basebackup.c:1358
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: backup/basebackup.c:1430
+#: backup/basebackup.c:1544
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "omitiendo el archivo especial «%s»"
 
-#: backup/basebackup.c:1542
-#, c-format
-msgid "invalid segment number %d in file \"%s\""
-msgstr "número de segmento %d no válido en archivo «%s»"
-
-#: backup/basebackup.c:1574
+#: backup/basebackup.c:1751
 #, c-format
 msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ"
 msgstr "no se pudo verificar el checksum en el archivo «%s», bloque %u: el tamaño de búfer de lectura %d y el tamaño de página %d difieren"
 
-#: backup/basebackup.c:1658
+#: backup/basebackup.c:1813
+#, c-format
+msgid "file \"%s\" has a total of %d checksum verification failure"
+msgid_plural "file \"%s\" has a total of %d checksum verification failures"
+msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum"
+msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums"
+
+#: backup/basebackup.c:1917
 #, c-format
 msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X"
 msgstr "verificación de checksums falló en archivo «%s», bloque %u: calculado %X pero se esperaba %X"
 
-#: backup/basebackup.c:1665
+#: backup/basebackup.c:1924
 #, c-format
 msgid "further checksum verification failures in file \"%s\" will not be reported"
 msgstr "subsiguientes fallas de verificación de checksums en el archivo «%s» no se reportarán"
 
-#: backup/basebackup.c:1721
-#, c-format
-msgid "file \"%s\" has a total of %d checksum verification failure"
-msgid_plural "file \"%s\" has a total of %d checksum verification failures"
-msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum"
-msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums"
-
-#: backup/basebackup.c:1767
+#: backup/basebackup.c:2048
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "nombre de archivo demasiado largo para el formato tar: «%s»"
 
-#: backup/basebackup.c:1772
+#: backup/basebackup.c:2053
 #, c-format
 msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
 msgstr "destino de enlace simbólico demasiado largo para el formato tar: nombre de archivo «%s», destino «%s»"
 
-#: backup/basebackup_gzip.c:67
+#: backup/basebackup.c:2127
 #, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
+msgid "could not read file \"%s\": read %zd of %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
+
+#: backup/basebackup_gzip.c:67
+#, c-format
 msgid "gzip compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgstr "la compresión gzip no está soportada en este servidor"
 
 #: backup/basebackup_gzip.c:143
 #, c-format
 msgid "could not initialize compression library"
 msgstr "no se pudo inicializar la biblioteca de compresión"
 
-#: backup/basebackup_lz4.c:67
+#: backup/basebackup_incremental.c:294
+#, c-format
+msgid "manifest contains no required WAL ranges"
+msgstr "el manifiesto no contiene ningún rango WAL requerido"
+
+#: backup/basebackup_incremental.c:349
 #, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
-msgid "lz4 compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgid "timeline %u found in manifest, but not in this server's history"
+msgstr "el timeline %u solicitado no está en la historia de este servidor"
+
+#: backup/basebackup_incremental.c:414
+#, c-format
+msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el manifiesto requiere WAL en el timeline inicial %u desde %X/%X, pero ese timeline inicia en %X/%X"
+
+#: backup/basebackup_incremental.c:424
+#, c-format
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline de continuación %u desde %X/%X, pero ese timeline empieza en %X/%X"
+
+#: backup/basebackup_incremental.c:435
+#, c-format
+msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline final %u terminado en %X/%X, pero este backup empieza en %X/%X"
+
+#: backup/basebackup_incremental.c:439
+#, c-format
+msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup."
+msgstr "Esto puede pasar para backups incrementales en un standby si hubo insuficiente actividad desde el backup anterior."
+
+#: backup/basebackup_incremental.c:446
+#, c-format
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline no-final %u terminando en %X/%X, pero este servidor cambió de timelines en %X/%X"
+
+#: backup/basebackup_incremental.c:527
+#, c-format
+msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
+msgstr "se requieren resúmenes de WAL en el timeline %u desde %X/%X hasta %X/%X, pero no existen resúmenes para ese timeline y rango de LSN"
+
+#: backup/basebackup_incremental.c:534
+#, c-format
+msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "se requieren resúmenes de WAL en el timeline %u desde %X/%X hasta %X/%X, pero los resúmenes en ese timeline y rango de LSN están incompletos"
+
+#: backup/basebackup_incremental.c:538
+#, c-format
+msgid "The first unsummarized LSN in this range is %X/%X."
+msgstr "El primer LSN sin resumen en este rango es %X/%X."
+
+#: backup/basebackup_incremental.c:938
+#, c-format
+msgid "backup manifest version 1 does not support incremental backup"
+msgstr "el manifiesto de backup versión 1 no soporta backups incrementales"
 
-#: backup/basebackup_server.c:75
+#: backup/basebackup_incremental.c:956
 #, fuzzy, c-format
-#| msgid "permission denied to create role"
+msgid "manifest system identifier is %llu, but database system identifier is %llu"
+msgstr "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu"
+
+#: backup/basebackup_lz4.c:67
+#, c-format
+msgid "lz4 compression is not supported by this build"
+msgstr "la compresión lz4 no está soportada en este servidor"
+
+#: backup/basebackup_server.c:73
+#, c-format
 msgid "permission denied to create backup stored on server"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para crear un respaldo almacenado en el servidor"
 
-#: backup/basebackup_server.c:76
+#: backup/basebackup_server.c:74
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server."
-msgstr ""
+msgstr "Sólo los roles con privilegio del rol «%s» pueden crear un respaldo almacenado en el servidor."
 
-#: backup/basebackup_server.c:91
-#, fuzzy, c-format
-#| msgid "relative path not allowed for COPY to file"
+#: backup/basebackup_server.c:89
+#, c-format
 msgid "relative path not allowed for backup stored on server"
-msgstr "no se permiten rutas relativas para COPY hacia un archivo"
+msgstr "no se permiten rutas relativas para un respaldo almacenado en el servidor"
 
-#: backup/basebackup_server.c:104 commands/dbcommands.c:501
-#: commands/tablespace.c:163 commands/tablespace.c:179
-#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1697
+#: backup/basebackup_server.c:102 commands/dbcommands.c:477
+#: commands/tablespace.c:157 commands/tablespace.c:173
+#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1986
 #: storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: backup/basebackup_server.c:117
+#: backup/basebackup_server.c:115
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "el directorio «%s» existe pero no está vacío"
 
-#: backup/basebackup_server.c:125 utils/init/postinit.c:1154
+#: backup/basebackup_server.c:123 utils/init/postinit.c:1177
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: backup/basebackup_server.c:177 backup/basebackup_server.c:184
-#: backup/basebackup_server.c:270 backup/basebackup_server.c:277
-#: storage/smgr/md.c:501 storage/smgr/md.c:508 storage/smgr/md.c:590
-#: storage/smgr/md.c:612 storage/smgr/md.c:862
+#: backup/basebackup_server.c:175 backup/basebackup_server.c:182
+#: backup/basebackup_server.c:268 backup/basebackup_server.c:275
+#: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509
+#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999
 #, c-format
 msgid "Check free disk space."
 msgstr "Verifique el espacio libre en disco."
 
-#: backup/basebackup_server.c:181 backup/basebackup_server.c:274
-#, fuzzy, c-format
-#| msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
+#: backup/basebackup_server.c:179 backup/basebackup_server.c:272
+#: backup/walsummary.c:309
+#, c-format
 msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u"
-msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u"
+msgstr "no se pudo escribir en el archivo «%s»: sólo se escribieron %d de %d bytes en la posición %u"
 
 #: backup/basebackup_target.c:146
-#, fuzzy, c-format
-#| msgid "unrecognized reset target: \"%s\""
+#, c-format
 msgid "unrecognized target: \"%s\""
-msgstr "destino de reset no reconocido: «%s»"
+msgstr "destino no reconocido: «%s»"
 
 #: backup/basebackup_target.c:237
-#, fuzzy, c-format
-#| msgid "parameter \"%s\" requires a Boolean value"
+#, c-format
 msgid "target \"%s\" requires a target detail"
-msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
+msgstr "el destino «%s» requiere un “target detail”"
 
 #: backup/basebackup_zstd.c:66
-#, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
+#, c-format
 msgid "zstd compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgstr "la compresión zstd no está soportada en este servidor"
 
 #: backup/basebackup_zstd.c:117
 #, c-format
@@ -3774,714 +4072,723 @@ msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d
 
 #: backup/basebackup_zstd.c:129
 #, c-format
-msgid "could not set compression flag for %s: %s"
-msgstr "no se pudo definir una opción de compresión para %s: %s"
+msgid "could not enable long-distance mode: %s"
+msgstr "no se pudo habilitar el modo “long-distance”: %s"
+
+#: backup/walsummaryfuncs.c:95
+#, fuzzy, c-format
+msgid "invalid timeline %lld"
+msgstr "timeline %u no válido"
 
-#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824
+#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3863
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: bootstrap/bootstrap.c:289
-#, c-format
-msgid "-X requires a power of two value between 1 MB and 1 GB"
-msgstr "-X require un valor potencia de dos entre 1 MB y 1 GB"
-
-#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844
-#: postmaster/postmaster.c:857
+#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746
+#: postmaster/postmaster.c:759
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: bootstrap/bootstrap.c:304
+#: bootstrap/bootstrap.c:291
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: argumentos de línea de órdenes no válidos\n"
 
-#: catalog/aclchk.c:201
+#: catalog/aclchk.c:210
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "la opción de grant sólo puede ser otorgada a roles"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:332
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no se otorgaron privilegios para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:328
+#: catalog/aclchk.c:337
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "no se otorgaron privilegios para «%s»"
 
-#: catalog/aclchk.c:336
+#: catalog/aclchk.c:345
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios fueron otorgados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:341
+#: catalog/aclchk.c:350
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "no todos los privilegios fueron otorgados para «%s»"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:361
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "ningún privilegio pudo ser revocado para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:357
+#: catalog/aclchk.c:366
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "ningún privilegio pudo ser revocado para «%s»"
 
-#: catalog/aclchk.c:365
+#: catalog/aclchk.c:374
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:370
+#: catalog/aclchk.c:379
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para «%s»"
 
-#: catalog/aclchk.c:402
+#: catalog/aclchk.c:411
 #, c-format
 msgid "grantor must be current user"
 msgstr "el cedente (grantor) debe ser el usuario actual"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:1045
+#: catalog/aclchk.c:479 catalog/aclchk.c:1054
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "el tipo de privilegio %s no es válido para una relación"
 
-#: catalog/aclchk.c:474 catalog/aclchk.c:1049
+#: catalog/aclchk.c:483 catalog/aclchk.c:1058
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "el tipo de privilegio %s no es válido para una secuencia"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:487
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "el tipo de privilegio %s no es válido para una base de datos"
 
-#: catalog/aclchk.c:482
+#: catalog/aclchk.c:491
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "el tipo de privilegio %s no es válido para un dominio"
 
-#: catalog/aclchk.c:486 catalog/aclchk.c:1053
+#: catalog/aclchk.c:495 catalog/aclchk.c:1062
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "el tipo de privilegio %s no es válido para una función"
 
-#: catalog/aclchk.c:490
+#: catalog/aclchk.c:499
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "el tipo de privilegio %s no es válido para un lenguaje"
 
-#: catalog/aclchk.c:494
+#: catalog/aclchk.c:503
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "el tipo de privilegio %s no es válido para un objeto grande"
 
-#: catalog/aclchk.c:498 catalog/aclchk.c:1069
+#: catalog/aclchk.c:507 catalog/aclchk.c:1078
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "el tipo de privilegio %s no es válido para un esquema"
 
-#: catalog/aclchk.c:502 catalog/aclchk.c:1057
+#: catalog/aclchk.c:511 catalog/aclchk.c:1066
 #, c-format
 msgid "invalid privilege type %s for procedure"
 msgstr "el tipo de privilegio %s no es válido para un procedimiento"
 
-#: catalog/aclchk.c:506 catalog/aclchk.c:1061
+#: catalog/aclchk.c:515 catalog/aclchk.c:1070
 #, c-format
 msgid "invalid privilege type %s for routine"
 msgstr "el tipo de privilegio %s no es válido para una rutina"
 
-#: catalog/aclchk.c:510
+#: catalog/aclchk.c:519
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "el tipo de privilegio %s no es válido para un tablespace"
 
-#: catalog/aclchk.c:514 catalog/aclchk.c:1065
+#: catalog/aclchk.c:523 catalog/aclchk.c:1074
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "el tipo de privilegio %s no es válido para un tipo"
 
-#: catalog/aclchk.c:518
+#: catalog/aclchk.c:527
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "el tipo de privilegio %s no es válido para un conector de datos externos"
 
-#: catalog/aclchk.c:522
+#: catalog/aclchk.c:531
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "el tipo de privilegio %s no es válido para un servidor foráneo"
 
-#: catalog/aclchk.c:526
+#: catalog/aclchk.c:535
 #, c-format
 msgid "invalid privilege type %s for parameter"
 msgstr "el tipo de privilegio %s no es válido para un parámetro"
 
-#: catalog/aclchk.c:565
+#: catalog/aclchk.c:574
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "los privilegios de columna son sólo válidos para relaciones"
 
-#: catalog/aclchk.c:728 catalog/aclchk.c:3570 catalog/objectaddress.c:1092
-#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287
+#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054
+#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285
 #, c-format
 msgid "large object %u does not exist"
 msgstr "no existe el objeto grande %u"
 
-#: catalog/aclchk.c:1102
+#: catalog/aclchk.c:1111
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "los privilegios por omisión no pueden definirse para columnas"
 
-#: catalog/aclchk.c:1138
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: catalog/aclchk.c:1147
+#, c-format
 msgid "permission denied to change default privileges"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para cambiar los privilegios por omisión"
 
-#: catalog/aclchk.c:1256
+#: catalog/aclchk.c:1265
 #, c-format
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "No puede utilizar la cláusula IN SCHEMA cuando se utiliza GRANT / REVOKE ON SCHEMAS"
 
-#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561
-#: catalog/pg_publication.c:533 commands/analyze.c:389 commands/copy.c:837
-#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495
-#: commands/tablecmds.c:7545 commands/tablecmds.c:7619
-#: commands/tablecmds.c:7689 commands/tablecmds.c:7801
-#: commands/tablecmds.c:7895 commands/tablecmds.c:7954
-#: commands/tablecmds.c:8043 commands/tablecmds.c:8073
-#: commands/tablecmds.c:8201 commands/tablecmds.c:8283
-#: commands/tablecmds.c:8417 commands/tablecmds.c:8525
-#: commands/tablecmds.c:12240 commands/tablecmds.c:12421
-#: commands/tablecmds.c:12582 commands/tablecmds.c:13744
-#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2480
-#: parser/parse_relation.c:737 parser/parse_target.c:1054
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413
-#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2884
-#: utils/adt/ruleutils.c:2799
+#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523
+#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913
+#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715
+#: commands/tablecmds.c:7765 commands/tablecmds.c:7839
+#: commands/tablecmds.c:7909 commands/tablecmds.c:8039
+#: commands/tablecmds.c:8168 commands/tablecmds.c:8262
+#: commands/tablecmds.c:8363 commands/tablecmds.c:8490
+#: commands/tablecmds.c:8520 commands/tablecmds.c:8662
+#: commands/tablecmds.c:8755 commands/tablecmds.c:8889
+#: commands/tablecmds.c:9001 commands/tablecmds.c:12721
+#: commands/tablecmds.c:12902 commands/tablecmds.c:13063
+#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 commands/trigger.c:942
+#: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3538
+#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923
+#: utils/adt/ruleutils.c:2811
 #, 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:1840
+#: catalog/aclchk.c:1861
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
-#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17200
+#: catalog/aclchk.c:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
 
-#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171
-#: commands/tablecmds.c:254 commands/tablecmds.c:17164 utils/adt/acl.c:2092
-#: utils/adt/acl.c:2122 utils/adt/acl.c:2154 utils/adt/acl.c:2186
-#: utils/adt/acl.c:2214 utils/adt/acl.c:2244
+#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263
+#: commands/tablecmds.c:17751 utils/adt/acl.c:2107 utils/adt/acl.c:2137
+#: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237
+#: utils/adt/acl.c:2268
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» no es una secuencia"
 
-#: catalog/aclchk.c:1893
+#: catalog/aclchk.c:1914
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la secuencia «%s» sólo soporta los privilegios USAGE, SELECT, y UPDATE"
 
-#: catalog/aclchk.c:1910
+#: catalog/aclchk.c:1931
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "el tipo de privilegio %s no es válido para una tabla"
 
-#: catalog/aclchk.c:2072
+#: catalog/aclchk.c:2093
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "el tipo de privilegio %s no es válido para una columna"
 
-#: catalog/aclchk.c:2085
+#: catalog/aclchk.c:2106
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la secuencia «%s» sólo soporta el privilegio SELECT"
 
-#: catalog/aclchk.c:2275
+#: catalog/aclchk.c:2296
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "el lenguaje «%s» no es confiable (trusted)"
 
-#: catalog/aclchk.c:2277
+#: catalog/aclchk.c:2298
 #, c-format
 msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages."
 msgstr "GRANT y REVOKE no están permitidos en lenguajes no confiables, porque sólo los superusuarios pueden usar lenguajes no confiables."
 
-#: catalog/aclchk.c:2427
+#: catalog/aclchk.c:2449
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "no se puede definir privilegios para tipos de array"
 
-#: catalog/aclchk.c:2428
+#: catalog/aclchk.c:2450
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667
+#: catalog/aclchk.c:2454
+#, fuzzy, c-format
+msgid "cannot set privileges of multirange types"
+msgstr "no se puede definir privilegios para tipos de array"
+
+#: catalog/aclchk.c:2455
+#, fuzzy, c-format
+msgid "Set the privileges of the range type instead."
+msgstr "Defina los privilegios del tipo elemento en su lugar."
+
+#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
 
-#: catalog/aclchk.c:2621
+#: catalog/aclchk.c:2648
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo de privilegio «%s» no reconocido"
 
-#: catalog/aclchk.c:2688
+#: catalog/aclchk.c:2715
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "permiso denegado a la función de agregación %s"
 
-#: catalog/aclchk.c:2691
+#: catalog/aclchk.c:2718
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permiso denegado al ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:2694
+#: catalog/aclchk.c:2721
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permiso denegado a la columna %s"
 
-#: catalog/aclchk.c:2697
+#: catalog/aclchk.c:2724
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permiso denegado a la conversión %s"
 
-#: catalog/aclchk.c:2700
+#: catalog/aclchk.c:2727
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permiso denegado a la base de datos %s"
 
-#: catalog/aclchk.c:2703
+#: catalog/aclchk.c:2730
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "permiso denegado al dominio %s"
 
-#: catalog/aclchk.c:2706
+#: catalog/aclchk.c:2733
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "permiso denegado al disparador por eventos %s"
 
-#: catalog/aclchk.c:2709
+#: catalog/aclchk.c:2736
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permiso denegado a la extensión %s"
 
-#: catalog/aclchk.c:2712
+#: catalog/aclchk.c:2739
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "permiso denegado al conector de datos externos %s"
 
-#: catalog/aclchk.c:2715
+#: catalog/aclchk.c:2742
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permiso denegado al servidor foráneo %s"
 
-#: catalog/aclchk.c:2718
+#: catalog/aclchk.c:2745
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "permiso denegado a la tabla foránea %s"
 
-#: catalog/aclchk.c:2721
+#: catalog/aclchk.c:2748
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permiso denegado a la función %s"
 
-#: catalog/aclchk.c:2724
+#: catalog/aclchk.c:2751
 #, c-format
 msgid "permission denied for index %s"
 msgstr "permiso denegado al índice %s"
 
-#: catalog/aclchk.c:2727
+#: catalog/aclchk.c:2754
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permiso denegado al lenguaje %s"
 
-#: catalog/aclchk.c:2730
+#: catalog/aclchk.c:2757
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permiso denegado al objeto grande %s"
 
-#: catalog/aclchk.c:2733
+#: catalog/aclchk.c:2760
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "permiso denegado a la vista materializada %s"
 
-#: catalog/aclchk.c:2736
+#: catalog/aclchk.c:2763
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "permiso denegado a la clase de operadores %s"
 
-#: catalog/aclchk.c:2739
+#: catalog/aclchk.c:2766
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permiso denegado al operador %s"
 
-#: catalog/aclchk.c:2742
+#: catalog/aclchk.c:2769
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "permiso denegado a la familia de operadores %s"
 
-#: catalog/aclchk.c:2745
+#: catalog/aclchk.c:2772
 #, c-format
 msgid "permission denied for parameter %s"
 msgstr "permiso denegado al parámetro %s"
 
-#: catalog/aclchk.c:2748
+#: catalog/aclchk.c:2775
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "permiso denegado a la política %s"
 
-#: catalog/aclchk.c:2751
+#: catalog/aclchk.c:2778
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "permiso denegado al procedimiento %s"
 
-#: catalog/aclchk.c:2754
+#: catalog/aclchk.c:2781
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "permiso denegado a la publicación %s"
 
-#: catalog/aclchk.c:2757
+#: catalog/aclchk.c:2784
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "permiso denegado a la rutina %s"
 
-#: catalog/aclchk.c:2760
+#: catalog/aclchk.c:2787
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "permiso denegado al esquema %s"
 
-#: catalog/aclchk.c:2763 commands/sequence.c:659 commands/sequence.c:885
-#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761
-#: commands/sequence.c:1810
+#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880
+#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1750
+#: commands/sequence.c:1796
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
 
-#: catalog/aclchk.c:2766
+#: catalog/aclchk.c:2793
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "permiso denegado al objeto de estadísticas %s"
 
-#: catalog/aclchk.c:2769
+#: catalog/aclchk.c:2796
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "permiso denegado a la suscripción %s"
 
-#: catalog/aclchk.c:2772
+#: catalog/aclchk.c:2799
 #, c-format
 msgid "permission denied for table %s"
 msgstr "permiso denegado a la tabla %s"
 
-#: catalog/aclchk.c:2775
+#: catalog/aclchk.c:2802
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permiso denegado al tablespace %s"
 
-#: catalog/aclchk.c:2778
+#: catalog/aclchk.c:2805
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2781
+#: catalog/aclchk.c:2808
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2784
+#: catalog/aclchk.c:2811
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permiso denegado al tipo %s"
 
-#: catalog/aclchk.c:2787
+#: catalog/aclchk.c:2814
 #, c-format
 msgid "permission denied for view %s"
 msgstr "permiso denegado a la vista %s"
 
-#: catalog/aclchk.c:2823
+#: catalog/aclchk.c:2850
 #, c-format
 msgid "must be owner of aggregate %s"
 msgstr "debe ser dueño de la función de agregación %s"
 
-#: catalog/aclchk.c:2826
+#: catalog/aclchk.c:2853
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "debe ser dueño del ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:2829
+#: catalog/aclchk.c:2856
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "debe ser dueño de la conversión %s"
 
-#: catalog/aclchk.c:2832
+#: catalog/aclchk.c:2859
 #, c-format
 msgid "must be owner of database %s"
 msgstr "debe ser dueño de la base de datos %s"
 
-#: catalog/aclchk.c:2835
+#: catalog/aclchk.c:2862
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "debe ser dueño del dominio %s"
 
-#: catalog/aclchk.c:2838
+#: catalog/aclchk.c:2865
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "debe ser dueño del disparador por eventos %s"
 
-#: catalog/aclchk.c:2841
+#: catalog/aclchk.c:2868
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "debe ser dueño de la extensión %s"
 
-#: catalog/aclchk.c:2844
+#: catalog/aclchk.c:2871
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "debe ser dueño del conector de datos externos %s"
 
-#: catalog/aclchk.c:2847
+#: catalog/aclchk.c:2874
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "debe ser dueño del servidor foráneo %s"
 
-#: catalog/aclchk.c:2850
+#: catalog/aclchk.c:2877
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "debe ser dueño de la tabla foránea %s"
 
-#: catalog/aclchk.c:2853
+#: catalog/aclchk.c:2880
 #, c-format
 msgid "must be owner of function %s"
 msgstr "debe ser dueño de la función %s"
 
-#: catalog/aclchk.c:2856
+#: catalog/aclchk.c:2883
 #, c-format
 msgid "must be owner of index %s"
 msgstr "debe ser dueño del índice %s"
 
-#: catalog/aclchk.c:2859
+#: catalog/aclchk.c:2886
 #, c-format
 msgid "must be owner of language %s"
 msgstr "debe ser dueño del lenguaje %s"
 
-#: catalog/aclchk.c:2862
+#: catalog/aclchk.c:2889
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "debe ser dueño del objeto grande %s"
 
-#: catalog/aclchk.c:2865
+#: catalog/aclchk.c:2892
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "debe ser dueño de la vista materializada %s"
 
-#: catalog/aclchk.c:2868
+#: catalog/aclchk.c:2895
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "debe ser dueño de la clase de operadores %s"
 
-#: catalog/aclchk.c:2871
+#: catalog/aclchk.c:2898
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "debe ser dueño del operador %s"
 
-#: catalog/aclchk.c:2874
+#: catalog/aclchk.c:2901
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "debe ser dueño de la familia de operadores %s"
 
-#: catalog/aclchk.c:2877
+#: catalog/aclchk.c:2904
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "debe ser dueño del procedimiento %s"
 
-#: catalog/aclchk.c:2880
+#: catalog/aclchk.c:2907
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "debe ser dueño de la publicación %s"
 
-#: catalog/aclchk.c:2883
+#: catalog/aclchk.c:2910
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "debe ser dueño de la rutina %s"
 
-#: catalog/aclchk.c:2886
+#: catalog/aclchk.c:2913
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "debe ser dueño de la secuencia %s"
 
-#: catalog/aclchk.c:2889
+#: catalog/aclchk.c:2916
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "debe ser dueño de la suscripción %s"
 
-#: catalog/aclchk.c:2892
+#: catalog/aclchk.c:2919
 #, c-format
 msgid "must be owner of table %s"
 msgstr "debe ser dueño de la tabla %s"
 
-#: catalog/aclchk.c:2895
+#: catalog/aclchk.c:2922
 #, c-format
 msgid "must be owner of type %s"
 msgstr "debe ser dueño del tipo %s"
 
-#: catalog/aclchk.c:2898
+#: catalog/aclchk.c:2925
 #, c-format
 msgid "must be owner of view %s"
 msgstr "debe ser dueño de la vista %s"
 
-#: catalog/aclchk.c:2901
+#: catalog/aclchk.c:2928
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "debe ser dueño del esquema %s"
 
-#: catalog/aclchk.c:2904
+#: catalog/aclchk.c:2931
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "debe ser dueño del objeto de estadísticas %s"
 
-#: catalog/aclchk.c:2907
+#: catalog/aclchk.c:2934
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "debe ser dueño del tablespace %s"
 
-#: catalog/aclchk.c:2910
+#: catalog/aclchk.c:2937
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "debe ser dueño de la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2913
+#: catalog/aclchk.c:2940
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "debe ser dueño del diccionario de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2927
+#: catalog/aclchk.c:2954
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "debe ser dueño de la relación %s"
 
-#: catalog/aclchk.c:2973
+#: catalog/aclchk.c:3000
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "permiso denegado a la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:3108 catalog/aclchk.c:3994 catalog/aclchk.c:4026
-#, fuzzy, c-format
-#| msgid "schema with OID %u does not exist"
+#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196
+#, c-format
 msgid "%s with OID %u does not exist"
-msgstr "no existe el esquema con OID %u"
+msgstr "%s con el OID %u no existe"
 
-#: catalog/aclchk.c:3192 catalog/aclchk.c:3211
+#: catalog/aclchk.c:3240 catalog/aclchk.c:3259
 #, c-format
 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:3306
+#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "no existe la relación con OID %u"
 
-#: catalog/aclchk.c:3491
+#: catalog/aclchk.c:3545
 #, c-format
 msgid "parameter ACL with OID %u does not exist"
 msgstr "no existe el ACL de parámetro con OID %u"
 
-#: catalog/aclchk.c:3655 commands/collationcmds.c:808
-#: commands/publicationcmds.c:1746
+#: catalog/aclchk.c:3718 commands/collationcmds.c:853
+#: commands/publicationcmds.c:1739
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:3720 utils/cache/typcache.c:385 utils/cache/typcache.c:440
+#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848
+#: utils/cache/typcache.c:392 utils/cache/typcache.c:447
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "no existe el tipo con OID %u"
 
-#: catalog/catalog.c:449
+#: catalog/catalog.c:468
 #, c-format
 msgid "still searching for an unused OID in relation \"%s\""
 msgstr "aún se está buscando algún OID sin utilizar en la relación «%s»"
 
-#: catalog/catalog.c:451
+#: catalog/catalog.c:470
 #, c-format
 msgid "OID candidates have been checked %llu time, but no unused OID has been found yet."
 msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet."
 msgstr[0] "se han revisado los OID candidatos %llu vez, pero aún no se ha encontrado algún OID sin utilizar."
 msgstr[1] "se han revisado los OID candidatos %llu veces, pero aún no se ha encontrado algún OID sin utilizar."
 
-#: catalog/catalog.c:476
+#: catalog/catalog.c:495
 #, c-format
 msgid "new OID has been assigned in relation \"%s\" after %llu retry"
 msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries"
 msgstr[0] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintento"
 msgstr[1] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintentos"
 
-#: catalog/catalog.c:609 catalog/catalog.c:676
+#: catalog/catalog.c:628 catalog/catalog.c:695
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "debe ser superusuario para invocar %s()"
 
-#: catalog/catalog.c:618
+#: catalog/catalog.c:637
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() sólo puede usarse en catálogos de sistema"
 
-#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264
+#: catalog/catalog.c:642 parser/parse_utilcmd.c:2245
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: catalog/catalog.c:640
+#: catalog/catalog.c:659
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "la columna «%s» no es de tipo oid"
 
-#: catalog/catalog.c:647
+#: catalog/catalog.c:666
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "«el índice %s» no es el índice para la columna «%s»"
 
-#: catalog/dependency.c:546 catalog/pg_shdepend.c:658
+#: catalog/dependency.c:497 catalog/pg_shdepend.c:703
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "no se puede eliminar %s porque es requerido por el sistema"
 
-#: catalog/dependency.c:838 catalog/dependency.c:1065
+#: catalog/dependency.c:789 catalog/dependency.c:1016
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "no se puede eliminar %s porque %s lo requiere"
 
-#: catalog/dependency.c:840 catalog/dependency.c:1067
+#: catalog/dependency.c:791 catalog/dependency.c:1018
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:1146 catalog/dependency.c:1155
+#: catalog/dependency.c:1097 catalog/dependency.c:1106
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s depende de %s"
 
-#: catalog/dependency.c:1170 catalog/dependency.c:1179
+#: catalog/dependency.c:1121 catalog/dependency.c:1130
 #, c-format
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823
+#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868
 #, c-format
 msgid ""
 "\n"
@@ -4496,720 +4803,716 @@ msgstr[1] ""
 "\n"
 "y otros %d objetos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/dependency.c:1199
+#: catalog/dependency.c:1150
 #, c-format
 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:1202 catalog/dependency.c:1209
-#: catalog/dependency.c:1220 commands/tablecmds.c:1335
-#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309
-#: commands/vacuum.c:212 commands/view.c:446 libpq/auth.c:326
-#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017
-#: storage/lmgr/deadlock.c:1135 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120
-#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615
-#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726
-#: utils/misc/guc.c:6768
+#: catalog/dependency.c:1153 catalog/dependency.c:1160
+#: catalog/dependency.c:1171 commands/tablecmds.c:1447
+#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639
+#: executor/execExprInterp.c:4645 libpq/auth.c:324
+#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
+#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169
+#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781
+#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892
+#: utils/misc/guc.c:6934
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:1203 catalog/dependency.c:1210
+#: catalog/dependency.c:1154 catalog/dependency.c:1161
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Use DROP ... CASCADE para eliminar además los objetos dependientes."
 
-#: catalog/dependency.c:1207
+#: catalog/dependency.c:1158
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "no se puede eliminar el o los objetos deseados porque otros objetos dependen de ellos"
 
-#: catalog/dependency.c:1215
+#: catalog/dependency.c:1166
 #, c-format
 msgid "drop cascades to %d other object"
 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/dependency.c:1899
+#: catalog/dependency.c:1850
 #, c-format
 msgid "constant of the type %s cannot be used here"
 msgstr "no se puede usar una constante de tipo %s aquí"
 
-#: catalog/dependency.c:2420 parser/parse_relation.c:3403
-#: parser/parse_relation.c:3413
+#: catalog/dependency.c:2375 parser/parse_relation.c:3407
+#: parser/parse_relation.c:3417
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "no existe la columna %d en la relación «%s»"
 
-#: catalog/heap.c:324
+#: catalog/heap.c:325
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "se ha denegado el permiso para crear «%s.%s»"
 
-#: catalog/heap.c:326
+#: catalog/heap.c:327
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047
-#: commands/tablecmds.c:6922
+#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905
+#: commands/tablecmds.c:7183
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:484 commands/tablecmds.c:7229
+#: catalog/heap.c:485 commands/tablecmds.c:7452
 #, 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:500
+#: catalog/heap.c:501
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "el nombre de columna «%s» fue especificado más de una vez"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:575
+#: catalog/heap.c:579
 #, c-format
 msgid "partition key column %s has pseudo-type %s"
 msgstr "la columna %s de la llave de partición tiene pseudotipo %s"
 
-#: catalog/heap.c:580
+#: catalog/heap.c:584
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la columna «%s» tiene pseudotipo %s"
 
-#: catalog/heap.c:611
+#: catalog/heap.c:615
 #, 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"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:666
+#: catalog/heap.c:670
 #, c-format
 msgid "no collation was derived for partition key column %s with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna %s de llave de partición con tipo ordenable %s"
 
-#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512
+#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna «%s» con tipo ordenable %s"
 
-#: catalog/heap.c:1148 catalog/index.c:886 commands/createas.c:408
-#: commands/tablecmds.c:3987
+#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401
+#: commands/tablecmds.c:4154 commands/tablecmds.c:20484
+#: commands/tablecmds.c:20746
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1164 catalog/pg_type.c:434 catalog/pg_type.c:782
-#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261
-#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395
-#: commands/typecmds.c:1575 commands/typecmds.c:2546
+#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805
+#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265
+#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405
+#: commands/typecmds.c:1585 commands/typecmds.c:2556
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1165
+#: catalog/heap.c:1178
 #, 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:1205
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/heap.c:1218
+#, c-format
 msgid "toast relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor de relfilenumber de toast no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:1216
+#: catalog/heap.c:1229
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de heap de pg_class no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:1226
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/heap.c:1239
+#, c-format
 msgid "relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor de relfilenumber no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:2119
+#: catalog/heap.c:2128
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "no se puede agregar una restricción NO INHERIT a la tabla particionada «%s»"
 
-#: catalog/heap.c:2393
+#: catalog/heap.c:2400
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2563 catalog/index.c:900 catalog/pg_constraint.c:682
-#: commands/tablecmds.c:8900
+#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724
+#: commands/tablecmds.c:9376
 #, 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:2570
+#: catalog/heap.c:2579
 #, 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:2581
+#: catalog/heap.c:2590
 #, c-format
 msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción heredada de la relación «%s»"
 
-#: catalog/heap.c:2591
+#: catalog/heap.c:2600
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID de la relación «%s»"
 
-#: catalog/heap.c:2596
+#: catalog/heap.c:2605
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2622 catalog/pg_constraint.c:811 commands/tablecmds.c:2672
-#: commands/tablecmds.c:3199 commands/tablecmds.c:6858
-#: commands/tablecmds.c:15208 commands/tablecmds.c:15349
-#, fuzzy, c-format
-#| msgid "too many command-line arguments"
+#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062
+#: commands/tablecmds.c:3365 commands/tablecmds.c:7109
+#: commands/tablecmds.c:15819 commands/tablecmds.c:15950
+#, c-format
 msgid "too many inheritance parents"
-msgstr "demasiados argumentos de línea de órdenes"
+msgstr "demasiados padres de herencia"
 
-#: catalog/heap.c:2706
+#: catalog/heap.c:2715
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr "no se puede usar la columna generada «%s» en una expresión de generación de columna"
 
-#: catalog/heap.c:2708
+#: catalog/heap.c:2717
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr "Una columna generada no puede hacer referencia a otra columna generada."
 
-#: catalog/heap.c:2714
+#: catalog/heap.c:2723
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr "no se puede usar una variable de fila completa (whole-row) en una expresión de generación de columna"
 
-#: catalog/heap.c:2715
+#: catalog/heap.c:2724
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr "Esto causaría que la columna generada dependa de su propio valor."
 
-#: catalog/heap.c:2768
+#: catalog/heap.c:2779
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "la expresión de generación no es inmutable"
 
-#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1295
+#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1281
 #, 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:2801 commands/prepare.c:334 parser/analyze.c:2704
-#: parser/parse_target.c:593 parser/parse_target.c:874
-#: parser/parse_target.c:884 rewrite/rewriteHandler.c:1300
+#: catalog/heap.c:2812 commands/prepare.c:331 parser/analyze.c:2758
+#: parser/parse_target.c:592 parser/parse_target.c:882
+#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1286
 #, 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:2848
+#: catalog/heap.c:2859
 #, 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:3154
+#: catalog/heap.c:3165
 #, 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:3155
+#: catalog/heap.c:3166
 #, 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:3160
+#: catalog/heap.c:3171
 #, 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:3161
+#: catalog/heap.c:3172
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:3163
+#: catalog/heap.c:3174
 #, 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:224 parser/parse_utilcmd.c:2170
+#: catalog/index.c:219 parser/parse_utilcmd.c:2151
 #, 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:238
-#, fuzzy, c-format
-#| msgid "primary keys cannot be expressions"
+#: catalog/index.c:233
+#, c-format
 msgid "primary keys cannot use NULLS NOT DISTINCT indexes"
-msgstr "las llaves primarias no pueden ser expresiones"
+msgstr "las llaves primarias no pueden usar índices NULLS NOT DISTINCT"
 
-#: catalog/index.c:255
+#: catalog/index.c:250
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:272
+#: catalog/index.c:267
 #, c-format
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "columna de llave primaria «%s» no está marcada NOT NULL"
 
-#: catalog/index.c:785 catalog/index.c:1941
+#: catalog/index.c:798 catalog/index.c:1915
 #, 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:825
+#: catalog/index.c:838
 #, c-format
 msgid "nondeterministic collations are not supported for operator class \"%s\""
 msgstr "los ordenamientos no determinísticos no están soportados para la clase de operadores «%s»"
 
-#: catalog/index.c:840
+#: catalog/index.c:853
 #, 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:849 catalog/index.c:1317
+#: catalog/index.c:862 catalog/index.c:1331
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr "no se pueden crear índices para restricciones de exclusión de forma concurrente"
 
-#: catalog/index.c:858
+#: catalog/index.c:871
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:878 commands/createas.c:423 commands/sequence.c:158
-#: parser/parse_utilcmd.c:209
+#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
+#: parser/parse_utilcmd.c:212
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relación «%s» ya existe, omitiendo"
 
-#: catalog/index.c:928
+#: catalog/index.c:941
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de índice de pg_class no se definió en modo de actualización binaria"
 
-#: catalog/index.c:938 utils/cache/relcache.c:3730
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/index.c:951 utils/cache/relcache.c:3790
+#, c-format
 msgid "index relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor relfilenumber de índice no se definió en modo de actualización binaria"
 
-#: catalog/index.c:2240
+#: catalog/index.c:2214
 #, 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:3647
+#: catalog/index.c:3670
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "no se puede hacer reindex de tablas temporales de otras sesiones"
 
-#: catalog/index.c:3658 commands/indexcmds.c:3623
+#: catalog/index.c:3681 commands/indexcmds.c:3652
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "no es posible reindexar un índice no válido en tabla TOAST"
 
-#: catalog/index.c:3674 commands/indexcmds.c:3503 commands/indexcmds.c:3647
-#: commands/tablecmds.c:3402
+#: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676
+#: commands/tablecmds.c:3569
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: catalog/index.c:3818
+#: catalog/index.c:3834
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "el índice «%s» fue reindexado"
 
-#: catalog/index.c:3955
+#: catalog/index.c:4000
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr "no se puede reindexar el índice no válido «%s.%s» en tabla TOAST, omitiendo"
 
-#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556
-#: commands/trigger.c:5687
+#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743
+#: commands/trigger.c:5731
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "no están implementadas las referencias entre bases de datos: «%s.%s.%s»"
 
-#: catalog/namespace.c:317
+#: catalog/namespace.c:504
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "las tablas temporales no pueden especificar un nombre de esquema"
 
-#: catalog/namespace.c:398
+#: catalog/namespace.c:585
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s.%s»"
 
-#: catalog/namespace.c:403 commands/lockcmds.c:145 commands/lockcmds.c:225
+#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s»"
 
-#: catalog/namespace.c:431 parser/parse_relation.c:1429
+#: catalog/namespace.c:618 parser/parse_relation.c:1430
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "no existe la relación «%s.%s»"
 
-#: catalog/namespace.c:436 parser/parse_relation.c:1442
-#: parser/parse_relation.c:1450 utils/adt/regproc.c:913
+#: catalog/namespace.c:623 parser/parse_relation.c:1443
+#: parser/parse_relation.c:1451 utils/adt/regproc.c:913
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1584
-#: commands/extension.c:1590
+#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607
+#: commands/extension.c:1613
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
 
-#: catalog/namespace.c:654 catalog/namespace.c:667
+#: catalog/namespace.c:841 catalog/namespace.c:854
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "no se pueden crear relaciones en esquemas temporales de otras sesiones"
 
-#: catalog/namespace.c:658
+#: catalog/namespace.c:845
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "no se pueden crear tablas temporales en esquemas no temporales"
 
-#: catalog/namespace.c:673
+#: catalog/namespace.c:860
 #, c-format
 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:2265
+#: catalog/namespace.c:2604
 #, c-format
 msgid "statistics object \"%s\" does not exist"
 msgstr "no existe el objeto de estadísticas «%s»"
 
-#: catalog/namespace.c:2388
+#: catalog/namespace.c:2746
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "no existe el analizador de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2514 utils/adt/regproc.c:1439
+#: catalog/namespace.c:2891 utils/adt/regproc.c:1459
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "no existe el diccionario de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2641
+#: catalog/namespace.c:3037
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "no existe la plantilla de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162
-#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635
+#: catalog/namespace.c:3182 commands/tsearchcmds.c:1168
+#: utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "no existe la configuración de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246
+#: catalog/namespace.c:3314 parser/parse_expr.c:868 parser/parse_target.c:1259
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253
-#: gram.y:18570 gram.y:18610
+#: catalog/namespace.c:3320 parser/parse_expr.c:875 parser/parse_target.c:1266
+#: gram.y:19230 gram.y:19270
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3016
+#: catalog/namespace.c:3450
 #, 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:3022
+#: catalog/namespace.c:3456
 #, 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:3095 commands/schemacmds.c:264 commands/schemacmds.c:344
-#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668
+#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344
+#: commands/tablecmds.c:1392 utils/adt/regproc.c:1688
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
 
-#: catalog/namespace.c:3126
+#: catalog/namespace.c:3560
 #, 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:3693 utils/adt/regproc.c:1056
+#: catalog/namespace.c:4001 utils/adt/regproc.c:1056
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»"
 
-#: catalog/namespace.c:3748
+#: catalog/namespace.c:4056
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "no existe la conversión «%s»"
 
-#: catalog/namespace.c:4012
+#: catalog/namespace.c:4397
 #, 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:4028
+#: catalog/namespace.c:4413
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:4034
+#: catalog/namespace.c:4419
 #, c-format
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "no se pueden crear tablas temporales durante una operación paralela"
 
-#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376
-#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206
-#: commands/tablecmds.c:12357
+#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
+#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315
+#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
-#: catalog/objectaddress.c:1416 commands/tablecmds.c:260
-#: commands/tablecmds.c:17169 commands/view.c:119
+#: catalog/objectaddress.c:1378 commands/tablecmds.c:269
+#: commands/tablecmds.c:17756 commands/view.c:114
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:1423 commands/matview.c:187 commands/tablecmds.c:266
-#: commands/tablecmds.c:17174
+#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
+#: commands/tablecmds.c:17761
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
-#: catalog/objectaddress.c:1430 commands/tablecmds.c:284
-#: commands/tablecmds.c:17179
+#: catalog/objectaddress.c:1392 commands/tablecmds.c:293
+#: commands/tablecmds.c:17766
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
 
-#: catalog/objectaddress.c:1471
+#: catalog/objectaddress.c:1433
 #, c-format
 msgid "must specify relation and object name"
 msgstr "debe especificar nombre de relación y nombre de objeto"
 
-#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562
 #, c-format
 msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
-#: catalog/objectaddress.c:1619
+#: catalog/objectaddress.c:1581
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe el valor por omisión para la columna «%s» de la relación «%s»"
 
-#: catalog/objectaddress.c:1656 commands/functioncmds.c:137
-#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689
+#: catalog/objectaddress.c:1618 commands/functioncmds.c:132
+#: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801
-#: utils/adt/acl.c:4449
+#: utils/adt/acl.c:4560
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
 
-#: catalog/objectaddress.c:1775
+#: catalog/objectaddress.c:1737
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "no existe el operador %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1806
+#: catalog/objectaddress.c:1768
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "no existe la función %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883
+#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "no existe el mapeo para el usuario «%s» en el servidor «%s»"
 
-#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700
+#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "no existe el servidor «%s»"
 
-#: catalog/objectaddress.c:1939
+#: catalog/objectaddress.c:1901
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "no existe la relación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:1986
-#, fuzzy, c-format
-#| msgid "publication relation \"%s\" in publication \"%s\" does not exist"
+#: catalog/objectaddress.c:1948
+#, c-format
 msgid "publication schema \"%s\" in publication \"%s\" does not exist"
-msgstr "no existe la relación «%s» en la publicación «%s»"
+msgstr "no existe el esquema de publicación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:2044
+#: catalog/objectaddress.c:2006
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "tipo de objeto para ACL por omisión «%c» no reconocido"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2007
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Tipos válidos de objeto son «%c», «%c», «%c», «%c» y «%c»."
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2058
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en el esquema «%s» en %s"
 
-#: catalog/objectaddress.c:2101
+#: catalog/objectaddress.c:2063
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en %s"
 
-#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146
+#: catalog/objectaddress.c:2201
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "las listas de nombres o argumentos no pueden contener nulls"
 
-#: catalog/objectaddress.c:2161
+#: catalog/objectaddress.c:2123
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "tipo de objeto «%s» no soportado"
 
-#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197
-#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346
+#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159
+#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "el largo de la lista de nombres debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2201
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "large object OID may not be null"
 msgstr "el OID de objeto grande no puede ser null"
 
-#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280
-#: catalog/objectaddress.c:2287
+#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242
+#: catalog/objectaddress.c:2249
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "el largo de la lista de nombres debe ser al menos %d"
 
-#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294
+#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "el largo de la lista de argumentos debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329
+#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561
+#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
 
-#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559
-#: catalog/objectaddress.c:2565
+#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521
+#: catalog/objectaddress.c:2527
 #, c-format
 msgid "permission denied"
 msgstr "permiso denegado"
 
-#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560
+#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522
 #, c-format
 msgid "The current user must have the %s attribute."
-msgstr ""
+msgstr "El usuario actual debe tener el atributo %s."
 
-#: catalog/objectaddress.c:2566
+#: catalog/objectaddress.c:2528
 #, c-format
 msgid "The current user must have the %s option on role \"%s\"."
-msgstr ""
+msgstr "El usuario actual debe tener la opción %s en el rol «%s»."
 
-#: catalog/objectaddress.c:2580
+#: catalog/objectaddress.c:2542
 #, c-format
 msgid "must be superuser"
 msgstr "debe ser superusuario"
 
-#: catalog/objectaddress.c:2649
+#: catalog/objectaddress.c:2611
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "tipo de objeto «%s» no reconocido"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2941
+#: catalog/objectaddress.c:2903
 #, c-format
 msgid "column %s of %s"
 msgstr "columna %s de %s"
 
-#: catalog/objectaddress.c:2956
+#: catalog/objectaddress.c:2918
 #, c-format
 msgid "function %s"
 msgstr "función %s"
 
-#: catalog/objectaddress.c:2969
+#: catalog/objectaddress.c:2931
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:3006
+#: catalog/objectaddress.c:2968
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:3039
+#: catalog/objectaddress.c:3001
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3070
+#: catalog/objectaddress.c:3032
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3038
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:3108
+#: catalog/objectaddress.c:3070
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3092
 #, c-format
 msgid "default value for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:3141
+#: catalog/objectaddress.c:3103
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:3149
+#: catalog/objectaddress.c:3111
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:3162
+#: catalog/objectaddress.c:3124
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:3199
+#: catalog/objectaddress.c:3161
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "clase de operadores «%s» para el método de acceso «%s»"
 
-#: catalog/objectaddress.c:3227
+#: catalog/objectaddress.c:3189
 #, c-format
 msgid "access method %s"
 msgstr "método de acceso %s"
@@ -5218,7 +5521,7 @@ msgstr "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:3276
+#: catalog/objectaddress.c:3238
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -5227,237 +5530,236 @@ 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:3333
+#: catalog/objectaddress.c:3295
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "función %d (%s, %s) de %s: %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3385
+#: catalog/objectaddress.c:3347
 #, c-format
 msgid "rule %s on %s"
 msgstr "regla %s en %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3431
+#: catalog/objectaddress.c:3393
 #, c-format
 msgid "trigger %s on %s"
 msgstr "disparador %s en %s"
 
-#: catalog/objectaddress.c:3451
+#: catalog/objectaddress.c:3413
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:3479
+#: catalog/objectaddress.c:3441
 #, c-format
 msgid "statistics object %s"
 msgstr "objeto de estadísticas %s"
 
-#: catalog/objectaddress.c:3510
+#: catalog/objectaddress.c:3472
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3541
+#: catalog/objectaddress.c:3503
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3572
+#: catalog/objectaddress.c:3534
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3603
+#: catalog/objectaddress.c:3565
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3578
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505
-#, fuzzy, c-format
-#| msgid "removal of role \"%s\" failed: %s"
+#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464
+#, c-format
 msgid "membership of role %s in role %s"
-msgstr "falló la eliminación del rol «%s»: %s"
+msgstr "membresía del rol %s en el rol %s"
 
-#: catalog/objectaddress.c:3674
+#: catalog/objectaddress.c:3636
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:3690
+#: catalog/objectaddress.c:3652
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:3701
+#: catalog/objectaddress.c:3663
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:3711
+#: catalog/objectaddress.c:3673
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:3744
+#: catalog/objectaddress.c:3706
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "mapeo para el usuario %s en el servidor %s"
 
-#: catalog/objectaddress.c:3796
+#: catalog/objectaddress.c:3758
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3800
+#: catalog/objectaddress.c:3762
 #, 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:3806
+#: catalog/objectaddress.c:3768
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3810
+#: catalog/objectaddress.c:3772
 #, 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:3816
+#: catalog/objectaddress.c:3778
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3820
+#: catalog/objectaddress.c:3782
 #, 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:3826
+#: catalog/objectaddress.c:3788
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3830
+#: catalog/objectaddress.c:3792
 #, 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:3836
+#: catalog/objectaddress.c:3798
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "privilegios por omisión en nuevos esquemas pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3843
+#: catalog/objectaddress.c:3805
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr "privilegios por omisión pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3847
+#: catalog/objectaddress.c:3809
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3869
+#: catalog/objectaddress.c:3831
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:3886
+#: catalog/objectaddress.c:3848
 #, c-format
 msgid "event trigger %s"
 msgstr "disparador por eventos %s"
 
-#: catalog/objectaddress.c:3910
+#: catalog/objectaddress.c:3872
 #, c-format
 msgid "parameter %s"
 msgstr "parámetro %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3953
+#: catalog/objectaddress.c:3915
 #, c-format
 msgid "policy %s on %s"
 msgstr "política %s en %s"
 
-#: catalog/objectaddress.c:3967
+#: catalog/objectaddress.c:3929
 #, c-format
 msgid "publication %s"
 msgstr "publicación %s"
 
-#: catalog/objectaddress.c:3980
+#: catalog/objectaddress.c:3942
 #, c-format
 msgid "publication of schema %s in publication %s"
 msgstr "publicación de esquema %s en la publicación %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:4011
+#: catalog/objectaddress.c:3973
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "publicación de %s en la publicación %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:3986
 #, c-format
 msgid "subscription %s"
 msgstr "suscripción %s"
 
-#: catalog/objectaddress.c:4045
+#: catalog/objectaddress.c:4007
 #, c-format
 msgid "transform for %s language %s"
 msgstr "transformación para %s lenguaje %s"
 
-#: catalog/objectaddress.c:4116
+#: catalog/objectaddress.c:4076
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:4121
+#: catalog/objectaddress.c:4081
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:4125
+#: catalog/objectaddress.c:4085
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:4129
+#: catalog/objectaddress.c:4089
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:4133
+#: catalog/objectaddress.c:4093
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:4137
+#: catalog/objectaddress.c:4097
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:4141
+#: catalog/objectaddress.c:4101
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:4145
+#: catalog/objectaddress.c:4105
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:4150
+#: catalog/objectaddress.c:4110
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:4191
+#: catalog/objectaddress.c:4151
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
@@ -5499,7 +5801,7 @@ msgstr "no se puede omitir el valor inicial cuando la función de transición es
 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:352 executor/nodeWindowAgg.c:3009
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "la opción «strict» de las funciones de transición directa e inversa deben coincidir exactamente en la función de agregación"
@@ -5514,7 +5816,7 @@ msgstr "la función final con argumentos extra no debe declararse STRICT"
 msgid "return type of combine function %s is not %s"
 msgstr "el tipo de retorno de la función «combine» %s no es %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "la función «combine» con tipo de transición %s no debe declararse STRICT"
@@ -5529,12 +5831,12 @@ msgstr "el tipo de retorno de la función de serialización %s no es %s"
 msgid "return type of deserialization function %s is not %s"
 msgstr "el tipo de retorno de la función de deserialización %s no es %s"
 
-#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223
 #, c-format
 msgid "cannot determine result data type"
 msgstr "no se puede determinar el tipo de dato del resultado"
 
-#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso inseguro de pseudotipo «internal»"
@@ -5549,7 +5851,7 @@ msgstr "la implementación de la función de agregación en modo «moving» devu
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "el operador de ordenamiento sólo puede ser especificado para funciones de agregación de un solo argumento"
 
-#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384
 #, c-format
 msgid "cannot change routine kind"
 msgstr "no se puede cambiar el tipo de rutina"
@@ -5574,13 +5876,13 @@ msgstr "«%s» es una agregación de conjunto hipotético."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "no se puede cambiar cantidad de argumentos directos de una función de agregación"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691
-#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073
-#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178
-#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328
-#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686
+#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083
+#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188
+#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338
+#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448
 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611
-#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444
+#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445
 #, c-format
 msgid "function %s does not exist"
 msgstr "no existe la función %s"
@@ -5655,133 +5957,133 @@ msgstr "Esta operación no está soportada en tablas particionadas."
 msgid "This operation is not supported for partitioned indexes."
 msgstr "Esta operación no está soportada en índices particionados."
 
-#: catalog/pg_collation.c:102 catalog/pg_collation.c:160
+#: catalog/pg_collation.c:101 catalog/pg_collation.c:159
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:104
+#: catalog/pg_collation.c:103
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» para la codificación «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:112 catalog/pg_collation.c:167
+#: catalog/pg_collation.c:111 catalog/pg_collation.c:166
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "el ordenamiento «%s» ya existe"
 
-#: catalog/pg_collation.c:114
+#: catalog/pg_collation.c:113
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»"
 
-#: catalog/pg_constraint.c:690
+#: catalog/pg_constraint.c:732
 #, c-format
 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:890 catalog/pg_constraint.c:983
+#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para la tabla «%s»"
 
-#: catalog/pg_constraint.c:1083
+#: catalog/pg_constraint.c:1125
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "no existe la restricción «%s» para el dominio %s"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:64
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "ya existe la conversión «%s»"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:77
 #, c-format
 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:222 commands/extension.c:3344
+#: catalog/pg_depend.c:224 commands/extension.c:3397
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "«%s» ya es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3384
+#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:232
+#: catalog/pg_depend.c:234
 #, c-format
 msgid "An extension is not allowed to replace an object that it does not own."
 msgstr "A una extensión no se le permite reemplazar un objeto que no posee."
 
-#: catalog/pg_depend.c:283
+#: catalog/pg_depend.c:285
 #, c-format
 msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns."
 msgstr "Una extensión sólo puede usar CREATE ... IF NOT EXISTS para omitir la creación de un objeto si el objeto en conflicto es uno de cual ya es dueña."
 
-#: catalog/pg_depend.c:646
+#: catalog/pg_depend.c:648
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema"
 
-#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554
+#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
-#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555
+#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625
 #, c-format
 msgid "Labels must be %d bytes or less."
 msgstr "Las etiquetas deben ser de %d bytes o menos."
 
-#: catalog/pg_enum.c:288
+#: catalog/pg_enum.c:343
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "la etiqueta de enum «%s» ya existe, omitiendo"
 
-#: catalog/pg_enum.c:295 catalog/pg_enum.c:598
+#: catalog/pg_enum.c:350 catalog/pg_enum.c:668
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "la etiqueta de enum «%s» ya existe"
 
-#: catalog/pg_enum.c:350 catalog/pg_enum.c:593
+#: catalog/pg_enum.c:405 catalog/pg_enum.c:663
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "«%s» no es una etiqueta de enum existente"
 
-#: catalog/pg_enum.c:408
+#: catalog/pg_enum.c:463
 #, c-format
 msgid "pg_enum OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
 
-#: catalog/pg_enum.c:418
+#: catalog/pg_enum.c:473
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria"
 
-#: catalog/pg_inherits.c:593
+#: catalog/pg_inherits.c:592
 #, c-format
 msgid "cannot detach partition \"%s\""
 msgstr "no se puede desprender la partición «%s»"
 
-#: catalog/pg_inherits.c:595
+#: catalog/pg_inherits.c:594
 #, c-format
 msgid "The partition is being detached concurrently or has an unfinished detach."
 msgstr "La partición está siendo desprendida de forma concurrente o tiene un desprendimiento sin terminar."
 
-#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583
-#: commands/tablecmds.c:15464
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790
+#: commands/tablecmds.c:16065
 #, c-format
 msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
 msgstr "Utilice ALTER TABLE ... DETACH PARTITION ... FINALIZE para completar la operación de desprendimiento pendiente."
 
-#: catalog/pg_inherits.c:600
+#: catalog/pg_inherits.c:599
 #, c-format
 msgid "cannot complete detaching partition \"%s\""
 msgstr "no se puede completar el desprendimiento de la partición «%s»"
 
-#: catalog/pg_inherits.c:602
+#: catalog/pg_inherits.c:601
 #, c-format
 msgid "There's no pending concurrent detach."
 msgstr "No hay desprendimientos concurrentes pendientes."
@@ -5791,116 +6093,129 @@ msgstr "No hay desprendimientos concurrentes pendientes."
 msgid "schema \"%s\" already exists"
 msgstr "ya existe el esquema «%s»"
 
-#: catalog/pg_operator.c:219 catalog/pg_operator.c:361
+#: catalog/pg_operator.c:213 catalog/pg_operator.c:355
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "«%s» no es un nombre válido de operador"
 
-#: catalog/pg_operator.c:370
+#: catalog/pg_operator.c:379
+#, c-format
+msgid "operator %s already exists"
+msgstr "ya existe un operador %s"
+
+#: catalog/pg_operator.c:445 commands/operatorcmds.c:600
+#, fuzzy, c-format
+msgid "operator cannot be its own negator"
+msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
+
+#: catalog/pg_operator.c:572
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "sólo los operadores binarios pueden tener conmutadores"
 
-#: catalog/pg_operator.c:374 commands/operatorcmds.c:509
+#: catalog/pg_operator.c:576
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "sólo los operadores binarios pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:378
+#: catalog/pg_operator.c:580
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "sólo los operadores binarios pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:382
+#: catalog/pg_operator.c:584
 #, c-format
 msgid "only binary operators can hash"
 msgstr "sólo los operadores binarios pueden ser usados en hash"
 
-#: catalog/pg_operator.c:393
+#: catalog/pg_operator.c:593
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "sólo los operadores booleanos pueden tener negadores"
 
-#: catalog/pg_operator.c:397 commands/operatorcmds.c:517
+#: catalog/pg_operator.c:597
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de restricción"
 
-#: catalog/pg_operator.c:401 commands/operatorcmds.c:521
+#: catalog/pg_operator.c:601
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:405
+#: catalog/pg_operator.c:605
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "sólo los operadores booleanos pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:409
+#: catalog/pg_operator.c:609
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "sólo los operadores booleanos pueden ser usados en hash"
 
-#: catalog/pg_operator.c:421
-#, c-format
-msgid "operator %s already exists"
-msgstr "ya existe un operador %s"
+#: catalog/pg_operator.c:739
+#, fuzzy, c-format
+msgid "commutator operator %s is already the commutator of operator %s"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %u"
 
-#: catalog/pg_operator.c:621
+#: catalog/pg_operator.c:744
 #, c-format
-msgid "operator cannot be its own negator or sort operator"
-msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
+msgid "commutator operator %s is already the commutator of operator %u"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %u"
 
-#: catalog/pg_parameter_acl.c:53
+#: catalog/pg_operator.c:807
 #, fuzzy, c-format
-#| msgid "parameter ACL with OID %u does not exist"
-msgid "parameter ACL \"%s\" does not exist"
-msgstr "no existe el ACL de parámetro con OID %u"
+msgid "negator operator %s is already the negator of operator %s"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %u"
 
-#: catalog/pg_parameter_acl.c:88
+#: catalog/pg_operator.c:812
 #, fuzzy, c-format
-#| msgid "invalid type name \"%s\""
-msgid "invalid parameter name \"%s\""
-msgstr "el nombre de tipo «%s» no es válido"
+msgid "negator operator %s is already the negator of operator %u"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %u"
+
+#: catalog/pg_parameter_acl.c:50
+#, c-format
+msgid "parameter ACL \"%s\" does not exist"
+msgstr "no existe el ACL de parámetro «%s»"
 
-#: catalog/pg_proc.c:132 parser/parse_func.c:2233
+#: catalog/pg_proc.c:130 parser/parse_func.c:2234
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "las funciones no pueden tener más de %d argumento"
 msgstr[1] "las funciones no pueden tener más de %d argumentos"
 
-#: catalog/pg_proc.c:376
+#: catalog/pg_proc.c:374
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "ya existe una función «%s» con los mismos argumentos"
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:386
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:388
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:390
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "«%s» es un índice parcial."
 
-#: catalog/pg_proc.c:394
+#: catalog/pg_proc.c:392
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "«%s» es una función de ventana deslizante."
 
-#: catalog/pg_proc.c:414
+#: catalog/pg_proc.c:412
 #, c-format
 msgid "cannot change whether a procedure has output parameters"
 msgstr "no se puede cambiar que un procedimiento tenga parámetros de salida"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:445
+#: catalog/pg_proc.c:413 catalog/pg_proc.c:443
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "no se puede cambiar el tipo de retorno de una función existente"
@@ -5909,120 +6224,114 @@ msgstr "no se puede cambiar el tipo de retorno de una función existente"
 #. AGGREGATE
 #.
 #. translator: first %s is DROP FUNCTION or DROP PROCEDURE
-#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493
-#: catalog/pg_proc.c:519 catalog/pg_proc.c:543
+#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491
+#: catalog/pg_proc.c:517 catalog/pg_proc.c:541
 #, c-format
 msgid "Use %s %s first."
 msgstr "Use %s %s primero."
 
-#: catalog/pg_proc.c:446
+#: catalog/pg_proc.c:444
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Tipo de registro definido por parámetros OUT es diferente."
 
-#: catalog/pg_proc.c:490
+#: catalog/pg_proc.c:488
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "no se puede cambiar el nombre del parámetro de entrada «%s»"
 
-#: catalog/pg_proc.c:517
+#: catalog/pg_proc.c:515
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "no se puede eliminar el valor por omisión de funciones existentes"
 
-#: catalog/pg_proc.c:541
+#: catalog/pg_proc.c:539
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro"
 
-#: catalog/pg_proc.c:752
+#: catalog/pg_proc.c:750
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:845
+#: catalog/pg_proc.c:843
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:860
+#: catalog/pg_proc.c:858
 #, 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:987 executor/functions.c:1466
+#: catalog/pg_proc.c:986 executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_publication.c:71 catalog/pg_publication.c:79
-#: catalog/pg_publication.c:87 catalog/pg_publication.c:93
+#: catalog/pg_publication.c:66 catalog/pg_publication.c:74
+#: catalog/pg_publication.c:82 catalog/pg_publication.c:88
 #, c-format
 msgid "cannot add relation \"%s\" to publication"
 msgstr "no se puede agregar la relación «%s» a la publicación"
 
-#: catalog/pg_publication.c:81
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "This operation is not supported for system tables."
 msgstr "Esta operación no está soportada en tablas de sistema."
 
-#: catalog/pg_publication.c:89
+#: catalog/pg_publication.c:84
 #, c-format
 msgid "This operation is not supported for temporary tables."
 msgstr "Esta operación no está soportada en tablas temporales."
 
-#: catalog/pg_publication.c:95
+#: catalog/pg_publication.c:90
 #, c-format
 msgid "This operation is not supported for unlogged tables."
 msgstr "Esta característica no está soportada en tablas «unlogged»."
 
-#: catalog/pg_publication.c:109 catalog/pg_publication.c:117
+#: catalog/pg_publication.c:104 catalog/pg_publication.c:112
 #, c-format
 msgid "cannot add schema \"%s\" to publication"
 msgstr "no se puede agregar el esquema «%s» a la partición"
 
-#: catalog/pg_publication.c:111
-#, fuzzy, c-format
-#| msgid "This operation is not supported for system tables."
+#: catalog/pg_publication.c:106
+#, c-format
 msgid "This operation is not supported for system schemas."
-msgstr "Esta operación no está soportada en tablas de sistema."
+msgstr "Esta operación no está soportada en esquemas de sistema."
 
-#: catalog/pg_publication.c:119
-#, fuzzy, c-format
-#| msgid "Unlogged relations cannot be replicated."
+#: catalog/pg_publication.c:114
+#, c-format
 msgid "Temporary schemas cannot be replicated."
-msgstr "Las tablas «unlogged» no pueden replicarse."
+msgstr "Los esquemas temporales no pueden replicarse."
 
-#: catalog/pg_publication.c:397
+#: catalog/pg_publication.c:392
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
 
-#: catalog/pg_publication.c:539
-#, fuzzy, c-format
-#| msgid "cannot use system column \"%s\" in partition key"
+#: catalog/pg_publication.c:534
+#, c-format
 msgid "cannot use system column \"%s\" in publication column list"
-msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
+msgstr "no se puede usar la columna de sistema «%s» en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:545
-#, fuzzy, c-format
-#| msgid "cannot use generated column in partition key"
+#: catalog/pg_publication.c:540
+#, c-format
 msgid "cannot use generated column \"%s\" in publication column list"
-msgstr "no se puede usar una columna generada en llave de particionamiento"
+msgstr "no se puede usar la columna generada «%s» en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:551
-#, fuzzy, c-format
-#| msgid "publication of %s in publication %s"
+#: catalog/pg_publication.c:546
+#, c-format
 msgid "duplicate column \"%s\" in publication column list"
-msgstr "publicación de %s en la publicación %s"
+msgstr "columna «%s» duplicada en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:641
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is already member of publication \"%s\""
+#: catalog/pg_publication.c:636
+#, c-format
 msgid "schema \"%s\" is already member of publication \"%s\""
-msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
+msgstr "el esquema «%s» ya es miembro de la publicación «%s»"
 
-#: catalog/pg_shdepend.c:830
+#: catalog/pg_shdepend.c:875
 #, c-format
 msgid ""
 "\n"
@@ -6037,65 +6346,70 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1177
+#: catalog/pg_shdepend.c:1222
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1189
+#: catalog/pg_shdepend.c:1234
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1203
+#: catalog/pg_shdepend.c:1248
 #, 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:1254
+#: catalog/pg_shdepend.c:1299
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1256
+#: catalog/pg_shdepend.c:1301
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
-#: catalog/pg_shdepend.c:1258
+#: catalog/pg_shdepend.c:1303
+#, fuzzy, c-format
+msgid "initial privileges for %s"
+msgstr "privilegios para %s"
+
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid "target of %s"
 msgstr "destino de %s"
 
-#: catalog/pg_shdepend.c:1260
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid "tablespace for %s"
 msgstr "tablespace para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1268
+#: catalog/pg_shdepend.c:1315
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objeto en %s"
 msgstr[1] "%d objetos en %s"
 
-#: catalog/pg_shdepend.c:1332
+#: catalog/pg_shdepend.c:1379
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema"
 
-#: catalog/pg_shdepend.c:1498
+#: catalog/pg_shdepend.c:1560
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
 
-#: catalog/pg_subscription.c:424
+#: catalog/pg_subscription.c:438
 #, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
 msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
 
-#: catalog/pg_subscription.c:426
+#: catalog/pg_subscription.c:440
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
 msgstr "La sincronización de tabla para la relación «%s» está en progreso y su estado es «%c»."
@@ -6103,227 +6417,227 @@ msgstr "La sincronización de tabla para la relación «%s» está en progreso y
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:433
+#: catalog/pg_subscription.c:447
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
 msgstr "Utilice %s para activar la suscripción si aún no está activada, o utilice %s para eliminar la suscripción."
 
-#: catalog/pg_type.c:134 catalog/pg_type.c:474
+#: catalog/pg_type.c:133 catalog/pg_type.c:474
 #, c-format
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: catalog/pg_type.c:254
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286
-#: catalog/pg_type.c:295
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d"
 
-#: catalog/pg_type.c:302
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "el tamaño interno %d no es válido para un tipo pasado por valor"
 
-#: catalog/pg_type.c:312 catalog/pg_type.c:318
+#: catalog/pg_type.c:311 catalog/pg_type.c:317
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 
-#: catalog/pg_type.c:326 commands/typecmds.c:4140
+#: catalog/pg_type.c:325 commands/typecmds.c:4363
 #, 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:955
+#: catalog/pg_type.c:978
 #, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
 msgstr "Falla al crear un tipo de multirango para el tipo «%s»."
 
-#: catalog/pg_type.c:956
+#: catalog/pg_type.c:979
 #, c-format
 msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute."
 msgstr "Puede especificar manualmente un nombre para el tipo de multirango usando el atributo «multirange_type_name»."
 
-#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145
+#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "la página no es válida en el bloque %u de la relación %s"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:167
 #, 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:196
+#: commands/aggregatecmds.c:192
 #, 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:206
+#: commands/aggregatecmds.c:202
 #, 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:210
+#: commands/aggregatecmds.c:206
 #, 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:222
+#: commands/aggregatecmds.c:218
 #, 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:226
+#: commands/aggregatecmds.c:222
 #, 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:233
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "no debe especificarse msfunc sin mstype"
 
-#: commands/aggregatecmds.c:237
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "no debe especificarse minvfunc sin mstype"
 
-#: commands/aggregatecmds.c:241
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "no debe especificarse mfinalfunc sin mstype"
 
-#: commands/aggregatecmds.c:245
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "no debe especificarse msspace sin mstype"
 
-#: commands/aggregatecmds.c:249
+#: commands/aggregatecmds.c:245
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "no debe especificarse minitcond sin mstype"
 
-#: commands/aggregatecmds.c:278
+#: commands/aggregatecmds.c:274
 #, 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:308
+#: commands/aggregatecmds.c:304
 #, 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:351 commands/aggregatecmds.c:392
+#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388
 #, 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"
 
-#: commands/aggregatecmds.c:363
+#: commands/aggregatecmds.c:359
 #, c-format
 msgid "serialization functions may be specified only when the aggregate transition data type is %s"
 msgstr "las funciones de serialización pueden especificarse sólo cuando el tipo de transición de la función de agregación es %s"
 
-#: commands/aggregatecmds.c:373
+#: commands/aggregatecmds.c:369
 #, c-format
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "debe especificar ambas o ninguna de las funciones de serialización y deserialización"
 
-#: commands/aggregatecmds.c:438 commands/functioncmds.c:639
+#: commands/aggregatecmds.c:434 commands/functioncmds.c:634
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE"
 
-#: commands/aggregatecmds.c:494
+#: commands/aggregatecmds.c:490
 #, c-format
 msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE"
 msgstr "el parámetro «%s» debe ser READ_ONLY, SHAREABLE o READ_WRITE"
 
-#: commands/alter.c:86 commands/event_trigger.c:174
+#: commands/alter.c:82 commands/event_trigger.c:191
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "el disparador por eventos «%s» ya existe"
 
-#: commands/alter.c:89 commands/foreigncmds.c:593
+#: commands/alter.c:85 commands/foreigncmds.c:593
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "el conector de datos externos «%s» ya existe"
 
-#: commands/alter.c:92 commands/foreigncmds.c:884
+#: commands/alter.c:88 commands/foreigncmds.c:884
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "el servidor «%s» ya existe"
 
-#: commands/alter.c:95 commands/proclang.c:133
+#: commands/alter.c:91 commands/proclang.c:131
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "ya existe el lenguaje «%s»"
 
-#: commands/alter.c:98 commands/publicationcmds.c:771
+#: commands/alter.c:94 commands/publicationcmds.c:764
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "la publicación «%s» ya existe"
 
-#: commands/alter.c:101 commands/subscriptioncmds.c:657
+#: commands/alter.c:97 commands/subscriptioncmds.c:669
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "la suscripción «%s» ya existe"
 
-#: commands/alter.c:124
+#: commands/alter.c:120
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una conversión llamada «%s» en el esquema «%s»"
 
-#: commands/alter.c:128
+#: commands/alter.c:124
 #, c-format
 msgid "statistics object \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un objeto de estadísticas llamado «%s» en el esquema «%s»"
 
-#: commands/alter.c:132
+#: commands/alter.c:128
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "el analizador de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:136
+#: commands/alter.c:132
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "el diccionario de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:140
+#: commands/alter.c:136
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "la plantilla de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:144
+#: commands/alter.c:140
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:217
+#: commands/alter.c:213
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "debe ser superusuario para cambiar el nombre de «%s»"
 
-#: commands/alter.c:259 commands/subscriptioncmds.c:636
-#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198
-#: commands/subscriptioncmds.c:1830
+#: commands/alter.c:255 commands/subscriptioncmds.c:648
+#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212
+#: commands/subscriptioncmds.c:1918
 #, c-format
 msgid "password_required=false is superuser-only"
-msgstr ""
+msgstr "password_required=false es sólo para superusuario"
 
-#: commands/alter.c:260 commands/subscriptioncmds.c:637
-#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199
-#: commands/subscriptioncmds.c:1831
+#: commands/alter.c:256 commands/subscriptioncmds.c:649
+#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213
+#: commands/subscriptioncmds.c:1919
 #, c-format
 msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser."
-msgstr ""
+msgstr "Las suscripciones con la opción password_required puesta en falso sólo pueden ser creadas o modificadas por el superusuario."
 
-#: commands/alter.c:775
+#: commands/alter.c:734
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "debe ser superusuario para definir el esquema de %s"
@@ -6343,8 +6657,8 @@ msgstr "Debe ser superusuario para crear un método de acceso."
 msgid "access method \"%s\" already exists"
 msgstr "el método de acceso «%s» ya existe"
 
-#: commands/amcmds.c:154 commands/indexcmds.c:217 commands/indexcmds.c:840
-#: commands/opclasscmds.c:375 commands/opclasscmds.c:833
+#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841
+#: commands/opclasscmds.c:374 commands/opclasscmds.c:832
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "no existe el método de acceso «%s»"
@@ -6354,175 +6668,174 @@ msgstr "no existe el método de acceso «%s»"
 msgid "handler function is not specified"
 msgstr "no se ha especificado una función manejadora"
 
-#: commands/amcmds.c:264 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709
-#: parser/parse_clause.c:941
+#: commands/amcmds.c:264 commands/event_trigger.c:200
+#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702
+#: parser/parse_clause.c:943
 #, c-format
 msgid "function %s must return type %s"
 msgstr "la función %s debe retornar el tipo %s"
 
-#: commands/analyze.c:227
+#: commands/analyze.c:217
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea"
 
-#: commands/analyze.c:244
+#: commands/analyze.c:234
 #, 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:324
+#: commands/analyze.c:314
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analizando la jerarquía de herencia «%s.%s»"
 
-#: commands/analyze.c:329
+#: commands/analyze.c:319
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:394
+#: commands/analyze.c:385
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "la columna «%s» aparece más de una vez en la relación «%s»"
 
-#: commands/analyze.c:786
+#: commands/analyze.c:785
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "análisis automático de la tabla «%s.%s.%s»\n"
 
-#: commands/analyze.c:1333
+#: 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:1417
+#: commands/analyze.c:1384
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas"
 
-#: commands/analyze.c:1515
+#: commands/analyze.c:1482
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas analizables"
 
-#: commands/async.c:646
+#: commands/async.c:612
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:652
+#: commands/async.c:618
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:657
+#: commands/async.c:623
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:876
+#: commands/async.c:842
 #, 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:980
+#: commands/async.c:946
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1602
+#: commands/async.c:1553
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1604
+#: commands/async.c:1555
 #, 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:1607
+#: commands/async.c:1558
 #, 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:131
+#: commands/cluster.c:128
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "opción de CLUSTER «%s» no reconocida"
 
-#: commands/cluster.c:162 commands/cluster.c:435
+#: commands/cluster.c:159 commands/cluster.c:433
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 
-#: commands/cluster.c:180
+#: commands/cluster.c:177
 #, 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:194 commands/tablecmds.c:14200 commands/tablecmds.c:16043
+#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
 
-#: commands/cluster.c:424
+#: commands/cluster.c:422
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "no se puede reordenar un catálogo compartido"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:437
 #, 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:515 commands/tablecmds.c:16053
+#: commands/cluster.c:513 commands/tablecmds.c:16651
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
 
-#: commands/cluster.c:523
+#: commands/cluster.c:521
 #, 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:535
+#: commands/cluster.c:533
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "no se puede reordenar en índice parcial «%s»"
 
-#: commands/cluster.c:549
+#: commands/cluster.c:547
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "no se puede reordenar en el índice no válido «%s»"
 
-#: commands/cluster.c:573
+#: commands/cluster.c:571
 #, c-format
 msgid "cannot mark index clustered in partitioned table"
 msgstr "no se puede marcar un índice «clustered» en una tabla particionada"
 
-#: commands/cluster.c:952
+#: commands/cluster.c:956
 #, 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:958
+#: commands/cluster.c:962
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:963
+#: commands/cluster.c:967
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: commands/cluster.c:990
-#, fuzzy, c-format
-#| msgid "index \"%s\" now contains %.0f row versions in %u pages"
+#: commands/cluster.c:994
+#, c-format
 msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
-msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
+msgstr "«%s.%s»: se encontraron %.0f versiones de filas eliminables, %.0f no eliminables en %u páginas"
 
-#: commands/cluster.c:995
+#: commands/cluster.c:999
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6531,40 +6844,39 @@ msgstr ""
 "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n"
 "%s."
 
-#: commands/cluster.c:1728
+#: commands/cluster.c:1744
 #, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
 msgid "permission denied to cluster \"%s\", skipping it"
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "permiso denegado a hacer vacuum a «%s», ignorando"
 
-#: commands/collationcmds.c:112
+#: commands/collationcmds.c:110
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "el atributo de ordenamiento (collation) «%s» no es reconocido"
 
-#: commands/collationcmds.c:125 commands/collationcmds.c:131
-#: commands/define.c:389 commands/tablecmds.c:7876
-#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333
-#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357
-#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377
-#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996
-#: replication/walsender.c:1018 replication/walsender.c:1028
+#: commands/collationcmds.c:123 commands/collationcmds.c:129
+#: commands/define.c:388 commands/tablecmds.c:8149
+#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330
+#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354
+#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374
+#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146
+#: replication/walsender.c:1168 replication/walsender.c:1178
+#: replication/walsender.c:1187 replication/walsender.c:1426
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opciones contradictorias o redundantes"
 
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
 #, c-format
 msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
 msgstr "LOCALE no puede configurarse junto con LC_COLLATE o LC_CTYPE."
 
-#: commands/collationcmds.c:132
-#, fuzzy, c-format
-#| msgid "option \"%s\" cannot be specified with other options"
+#: commands/collationcmds.c:130
+#, c-format
 msgid "FROM cannot be specified together with any other options."
-msgstr "la opción «%s» no puede ser especificada con otras opciones"
+msgstr "FROM no puede especificarse junto con otras opciones."
 
-#: commands/collationcmds.c:191
+#: commands/collationcmds.c:189
 #, c-format
 msgid "collation \"default\" cannot be copied"
 msgstr "el ordenamiento «default» no puede copiarse"
@@ -6574,435 +6886,429 @@ msgstr "el ordenamiento «default» no puede copiarse"
 msgid "unrecognized collation provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: commands/collationcmds.c:253
+#: commands/collationcmds.c:253 commands/collationcmds.c:264
+#: commands/collationcmds.c:270 commands/collationcmds.c:278
 #, c-format
-msgid "parameter \"lc_collate\" must be specified"
-msgstr "debe especificarse el parámetro «lc_collate»"
+msgid "parameter \"%s\" must be specified"
+msgstr "el parámetro «%s» debe especificarse"
 
-#: commands/collationcmds.c:258
+#: commands/collationcmds.c:293 commands/dbcommands.c:1134
 #, c-format
-msgid "parameter \"lc_ctype\" must be specified"
-msgstr "debe especificarse el parámetro «lc_ctype»"
-
-#: commands/collationcmds.c:265
-#, fuzzy, c-format
-#| msgid "parameter \"lc_collate\" must be specified"
-msgid "parameter \"locale\" must be specified"
-msgstr "debe especificarse el parámetro «lc_collate»"
+msgid "using standard form \"%s\" for ICU locale \"%s\""
+msgstr "usando la forma estándar «%s» para la configuración regional ICU «%s»"
 
-#: commands/collationcmds.c:279 commands/dbcommands.c:1074
-#, fuzzy, c-format
-#| msgid "Using language tag \"%s\" for ICU locale \"%s\".\n"
-msgid "using standard form \"%s\" for locale \"%s\""
-msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n"
-
-#: commands/collationcmds.c:298
+#: commands/collationcmds.c:312
 #, c-format
 msgid "nondeterministic collations not supported with this provider"
 msgstr "los ordenamientos no determinísticos no están soportados con este proveedor"
 
-#: commands/collationcmds.c:303 commands/dbcommands.c:1093
-#, fuzzy, c-format
-#| msgid "ICU locale cannot be specified unless locale provider is ICU"
+#: commands/collationcmds.c:317 commands/dbcommands.c:1087
+#, c-format
 msgid "ICU rules cannot be specified unless locale provider is ICU"
-msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
+msgstr "no se pueden especificar reglas ICU a menos que el proveedor de configuración regional sea ICU"
 
-#: commands/collationcmds.c:322
+#: commands/collationcmds.c:340
 #, c-format
 msgid "current database's encoding is not supported with this provider"
 msgstr "la codificación de la base de datos actual no está soportada con este proveedor"
 
-#: commands/collationcmds.c:382
+#: commands/collationcmds.c:409
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificación «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:393
+#: commands/collationcmds.c:420
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:418
-#, fuzzy, c-format
-#| msgid "change the definition of a collation"
+#: commands/collationcmds.c:445
+#, c-format
 msgid "cannot refresh version of default collation"
-msgstr "cambia la definición de un ordenamiento"
+msgstr "no se puede refrescar la versión del ordenamiento por omisión"
 
-#: commands/collationcmds.c:419
-#, fuzzy, c-format
-#| msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
-msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar."
+#. translator: %s is an SQL command
+#. translator: %s is an SQL ALTER command
+#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
+#: commands/tablecmds.c:7925 commands/tablecmds.c:7935
+#: commands/tablecmds.c:7937 commands/tablecmds.c:14412
+#: commands/tablecmds.c:17789 commands/tablecmds.c:17810
+#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
+#, c-format
+msgid "Use %s instead."
+msgstr "Use %s en su lugar."
 
-#: commands/collationcmds.c:446 commands/dbcommands.c:2447
+#: commands/collationcmds.c:480 commands/dbcommands.c:2550
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "cambiando versión de %s a %s"
 
-#: commands/collationcmds.c:461 commands/dbcommands.c:2460
+#: commands/collationcmds.c:495 commands/dbcommands.c:2563
 #, c-format
 msgid "version has not changed"
 msgstr "la versión no ha cambiado"
 
-#: commands/collationcmds.c:494 commands/dbcommands.c:2626
+#: commands/collationcmds.c:528 commands/dbcommands.c:2729
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: commands/collationcmds.c:515
+#: commands/collationcmds.c:554
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: commands/collationcmds.c:803
+#: commands/collationcmds.c:848
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "debe ser superusuario para importar ordenamientos del sistema"
 
-#: commands/collationcmds.c:831 commands/copyfrom.c:1653 commands/copyto.c:656
-#: libpq/be-secure-common.c:59
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "no se pudo ejecutar la orden «%s»: %m"
-
-#: commands/collationcmds.c:923 commands/collationcmds.c:1008
+#: commands/collationcmds.c:968 commands/collationcmds.c:1053
 #, c-format
 msgid "no usable system locales were found"
 msgstr "no se encontraron locales de sistema utilizables"
 
-#: commands/comment.c:61 commands/dbcommands.c:1594 commands/dbcommands.c:1791
-#: commands/dbcommands.c:1901 commands/dbcommands.c:2099
-#: commands/dbcommands.c:2337 commands/dbcommands.c:2420
-#: commands/dbcommands.c:2530 commands/dbcommands.c:3030
-#: utils/init/postinit.c:1025 utils/init/postinit.c:1130
-#: utils/init/postinit.c:1147
+#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875
+#: commands/dbcommands.c:1985 commands/dbcommands.c:2183
+#: commands/dbcommands.c:2421 commands/dbcommands.c:2512
+#: commands/dbcommands.c:2633 commands/dbcommands.c:3141
+#: utils/init/postinit.c:1033 utils/init/postinit.c:1097
+#: utils/init/postinit.c:1170
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
 #: commands/comment.c:101
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#, c-format
 msgid "cannot set comment on relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede definir comentario en la relación «%s»"
 
-#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028
+#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la función «%s» no fue ejecutada por el manejador de triggers"
 
-#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037
+#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la función «%s» debe ser ejecutada AFTER ROW"
 
-#: commands/constraint.c:84
+#: commands/constraint.c:82
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "la función «%s» debe ser ejecutada en INSERT o UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:62
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "no existe la codificación fuente «%s»"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:69
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "no existe la codificación de destino «%s»"
 
-#: commands/conversioncmds.c:89
+#: commands/conversioncmds.c:82
 #, c-format
 msgid "encoding conversion to or from \"SQL_ASCII\" is not supported"
 msgstr "la conversión de codificación desde o hacia a «SQL_ASCII» no está soportada"
 
-#: commands/conversioncmds.c:102
+#: commands/conversioncmds.c:95
 #, c-format
 msgid "encoding conversion function %s must return type %s"
 msgstr "la función de conversión de codificación %s debe retornar tipo %s"
 
-#: commands/conversioncmds.c:132
+#: commands/conversioncmds.c:125
 #, c-format
 msgid "encoding conversion function %s returned incorrect result for empty input"
 msgstr "la función de conversión de codificación %s retornó un resultado incorrecto para una entrada vacía"
 
-#: commands/copy.c:86
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: commands/copy.c:84
+#, c-format
 msgid "permission denied to COPY to or from an external program"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para hacer COPY hacia o desde un programa externo"
 
-#: commands/copy.c:87
+#: commands/copy.c:85
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde o hacia un programa externo."
 
-#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109
+#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works 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:97
-#, fuzzy, c-format
-#| msgid "permission denied to drop role"
+#: commands/copy.c:95
+#, c-format
 msgid "permission denied to COPY from a file"
-msgstr "se ha denegado el permiso para eliminar el rol"
+msgstr "se ha denegado el permiso para hacer COPY desde un archivo"
 
-#: commands/copy.c:98
+#: commands/copy.c:96
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY from a file."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde un archivo."
 
-#: commands/copy.c:106
-#, fuzzy, c-format
-#| msgid "permission denied to drop role"
+#: commands/copy.c:104
+#, c-format
 msgid "permission denied to COPY to a file"
-msgstr "se ha denegado el permiso para eliminar el rol"
+msgstr "se ha denegado el permiso para hacer COPY a un archivo"
 
-#: commands/copy.c:107
+#: commands/copy.c:105
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to a file."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY hacia un archivo."
 
-#: commands/copy.c:195
+#: commands/copy.c:193
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM no está soportado con seguridad a nivel de registros"
 
-#: commands/copy.c:196
+#: commands/copy.c:194
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Use sentencias INSERT en su lugar."
 
-#: commands/copy.c:290
-#, fuzzy, c-format
-#| msgid "\"EEEE\" not supported for input"
-msgid "MERGE not supported in COPY"
-msgstr "«EEEE» no está soportado en la entrada"
-
-#: commands/copy.c:383
+#: commands/copy.c:375
 #, c-format
 msgid "cannot use \"%s\" with HEADER in COPY TO"
 msgstr "no se puede usar «%s» con HEADER en COPY TO"
 
-#: commands/copy.c:392
-#, fuzzy, c-format
-#| msgid "%s requires a Boolean value"
+#: commands/copy.c:384
+#, c-format
 msgid "%s requires a Boolean value or \"match\""
-msgstr "«%s» requiere un valor lógico (booleano)"
+msgstr "«%s» requiere un valor lógico (booleano) o «match»"
+
+#: commands/copy.c:400
+#, fuzzy, c-format
+msgid "COPY ON_ERROR cannot be used with COPY TO"
+msgstr "la cláusula WHERE no está permitida con COPY TO"
+
+#: commands/copy.c:413
+#, fuzzy, c-format
+msgid "COPY ON_ERROR \"%s\" not recognized"
+msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:451
+#: commands/copy.c:437
+#, fuzzy, c-format
+msgid "COPY LOG_VERBOSITY \"%s\" not recognized"
+msgstr "el formato de COPY «%s» no es reconocido"
+
+#: commands/copy.c:498
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535
-#: commands/copy.c:554
+#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586
+#: commands/copy.c:605
 #, 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:566
+#: commands/copy.c:617
 #, 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:573 commands/dbcommands.c:859 commands/dbcommands.c:2285
+#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "no se reconoce la opción «%s»"
 
-#: commands/copy.c:585
+#: commands/copy.c:650
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "no se puede especificar DELIMITER en modo BINARY"
 
-#: commands/copy.c:590
+#: commands/copy.c:655
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "no se puede especificar NULL en modo BINARY"
 
-#: commands/copy.c:595
-#, fuzzy, c-format
-#| msgid "cannot specify NULL in BINARY mode"
+#: commands/copy.c:660
+#, c-format
 msgid "cannot specify DEFAULT in BINARY mode"
-msgstr "no se puede especificar NULL en modo BINARY"
+msgstr "no se puede especificar DEFAULT en modo BINARY"
 
-#: commands/copy.c:617
+#: commands/copy.c:665
+#, c-format
+msgid "only ON_ERROR STOP is allowed in BINARY mode"
+msgstr "sólo ON ERROR STOP es permitido en modo BINARY"
+
+#: commands/copy.c:687
 #, 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:624
+#: commands/copy.c:694
 #, 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:630
+#: commands/copy.c:700
 #, 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:640
-#, fuzzy, c-format
-#| msgid "COPY null representation cannot use newline or carriage return"
+#: commands/copy.c:710
+#, c-format
 msgid "COPY default 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"
+msgstr "la representación de default de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:658
+#: commands/copy.c:728
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "el delimitador de COPY no puede ser «%s»"
 
-#: commands/copy.c:664
-#, fuzzy, c-format
-#| msgid "cannot specify DELIMITER in BINARY mode"
+#: commands/copy.c:734
+#, c-format
 msgid "cannot specify HEADER in BINARY mode"
-msgstr "no se puede especificar DELIMITER en modo BINARY"
+msgstr "no se puede especificar HEADER en modo BINARY"
 
-#: commands/copy.c:670
+#: commands/copy.c:740
 #, c-format
-msgid "COPY quote available only in CSV mode"
-msgstr "el «quote» de COPY está disponible sólo en modo CSV"
+msgid "COPY QUOTE requires CSV mode"
+msgstr "COPY QUOTE requiere modo CSV"
 
-#: commands/copy.c:675
+#: commands/copy.c:745
 #, 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:680
+#: commands/copy.c:750
 #, 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:686
+#: commands/copy.c:756
 #, c-format
-msgid "COPY escape available only in CSV mode"
-msgstr "escape de COPY disponible sólo en modo CSV"
+msgid "COPY ESCAPE requires CSV mode"
+msgstr "COPY ESCAPE requiere modo CSV"
 
-#: commands/copy.c:691
+#: commands/copy.c:761
 #, 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:697
+#: commands/copy.c:767
 #, 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"
+msgid "COPY FORCE_QUOTE requires CSV mode"
+msgstr "COPY FORCE_QUOTE requiere modo CSV"
 
-#: commands/copy.c:701
-#, 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:771
+#, fuzzy, c-format
+msgid "COPY FORCE_QUOTE cannot be used with COPY FROM"
+msgstr "DEFAULT de COPY sólo está disponible usando COPY FROM"
 
-#: commands/copy.c:707
+#: commands/copy.c:777
 #, 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"
+msgid "COPY FORCE_NOT_NULL requires CSV mode"
+msgstr "COPY FORCE_NOT_NULL requiere modo CSV"
 
-#: commands/copy.c:711
-#, 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:781
+#, fuzzy, c-format
+msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO"
+msgstr "la columna FORCE_NOT_NULL «%s» no es referenciada en COPY"
 
-#: commands/copy.c:717
+#: commands/copy.c:787
 #, 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"
+msgid "COPY FORCE_NULL requires CSV mode"
+msgstr "COPY FORCE_NULL requiere modo CSV"
 
-#: commands/copy.c:722
-#, 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:792
+#, fuzzy, c-format
+msgid "COPY FORCE_NULL cannot be used with COPY TO"
+msgstr "la cláusula WHERE no está permitida con COPY TO"
 
-#: commands/copy.c:728
-#, c-format
-msgid "COPY delimiter must not appear in the NULL specification"
+#: commands/copy.c:798
+#, fuzzy, c-format
+msgid "COPY delimiter character must not appear in the NULL specification"
 msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:735
+#: commands/copy.c:805
 #, 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:742
+#: commands/copy.c:811
 #, fuzzy, c-format
-#| msgid "COPY force null only available using COPY FROM"
+msgid "COPY FREEZE cannot be used with COPY TO"
+msgstr "la cláusula WHERE no está permitida con COPY TO"
+
+#: commands/copy.c:818
+#, c-format
 msgid "COPY DEFAULT only available using COPY FROM"
-msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM"
+msgstr "DEFAULT de COPY sólo está disponible usando COPY FROM"
 
-#: commands/copy.c:748
-#, fuzzy, c-format
-#| msgid "COPY delimiter must not appear in the NULL specification"
+#: commands/copy.c:824
+#, c-format
 msgid "COPY delimiter must not appear in the DEFAULT specification"
-msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
+msgstr "el delimitador de COPY no debe aparecer en la especificación DEFAULT"
 
-#: commands/copy.c:755
-#, fuzzy, c-format
-#| msgid "CSV quote character must not appear in the NULL specification"
+#: commands/copy.c:831
+#, c-format
 msgid "CSV quote character must not appear in the DEFAULT specification"
-msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL"
+msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación DEFAULT"
 
-#: commands/copy.c:763
+#: commands/copy.c:839
 #, c-format
 msgid "NULL specification and DEFAULT specification cannot be the same"
-msgstr ""
+msgstr "las especificaciones NULL y DEFAULT no pueden ser la misma"
 
-#: commands/copy.c:825
+#: commands/copy.c:901
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "la columna «%s» es una columna generada"
 
-#: commands/copy.c:827
+#: commands/copy.c:903
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Las columnas generadas no pueden usarse en COPY."
 
-#: commands/copy.c:842 commands/indexcmds.c:1894 commands/statscmds.c:242
-#: commands/tablecmds.c:2405 commands/tablecmds.c:3127
-#: commands/tablecmds.c:3626 parser/parse_relation.c:3688
-#: parser/parse_relation.c:3698 parser/parse_relation.c:3716
-#: parser/parse_relation.c:3723 parser/parse_relation.c:3737
-#: utils/adt/tsvector_op.c:2855
+#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239
+#: commands/tablecmds.c:2514 commands/tablecmds.c:2985
+#: commands/tablecmds.c:3793 parser/parse_relation.c:3692
+#: parser/parse_relation.c:3702 parser/parse_relation.c:3720
+#: parser/parse_relation.c:3727 parser/parse_relation.c:3741
+#: utils/adt/tsvector_op.c:2853
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:849 commands/tablecmds.c:2431 commands/trigger.c:958
-#: parser/parse_target.c:1070 parser/parse_target.c:1081
+#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951
+#: parser/parse_target.c:1083 parser/parse_target.c:1094
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la columna «%s» fue especificada más de una vez"
 
-#: commands/copyfrom.c:122
+#: commands/copyfrom.c:118
 #, c-format
 msgid "COPY %s"
-msgstr ""
+msgstr "COPY %s"
 
-#: commands/copyfrom.c:130
+#: commands/copyfrom.c:126
 #, c-format
 msgid "COPY %s, line %llu, column %s"
-msgstr ""
+msgstr "COPY %s, línea %llu, columna %s"
 
-#: commands/copyfrom.c:135 commands/copyfrom.c:181
+#: commands/copyfrom.c:131 commands/copyfrom.c:177
 #, c-format
 msgid "COPY %s, line %llu"
-msgstr ""
+msgstr "COPY %s, línea %llu"
 
-#: commands/copyfrom.c:147
+#: commands/copyfrom.c:143
 #, c-format
 msgid "COPY %s, line %llu, column %s: \"%s\""
-msgstr ""
+msgstr "COPY %s, línea %llu, columna %s: «%s»"
 
-#: commands/copyfrom.c:157
+#: commands/copyfrom.c:153
 #, c-format
 msgid "COPY %s, line %llu, column %s: null input"
-msgstr ""
+msgstr "COPY %s, línea %llu, columna %s: entrada nula"
 
-#: commands/copyfrom.c:174
+#: commands/copyfrom.c:170
 #, c-format
 msgid "COPY %s, line %llu: \"%s\""
-msgstr ""
+msgstr "COPY %s, línea %llu: «%s»"
 
 #: commands/copyfrom.c:673
 #, c-format
@@ -7044,32 +7350,44 @@ msgstr "no se puede ejecutar COPY FREEZE debido a actividad anterior en la trans
 msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "no se puede ejecutar COPY FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso"
 
-#: commands/copyfrom.c:1411
+#: commands/copyfrom.c:1313
+#, c-format
+msgid "%llu row was skipped due to data type incompatibility"
+msgid_plural "%llu rows were skipped due to data type incompatibility"
+msgstr[0] ""
+msgstr[1] ""
+
+#: commands/copyfrom.c:1447
 #, c-format
 msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_NOT_NULL «%s» no es referenciada en COPY"
 
-#: commands/copyfrom.c:1434
+#: commands/copyfrom.c:1489
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_NULL «%s» no es referenciada en COPY"
 
-#: commands/copyfrom.c:1672
+#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385
+#, c-format
+msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist"
+msgstr "no existe el procedimiento por omisión de conversión desde la codificación «%s» a «%s»"
+
+#: commands/copyfrom.c:1740
 #, c-format
 msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY FROM indica al proceso servidor de PostgreSQL leer un archivo. Puede desear usar una facilidad del lado del cliente como \\copy de psql."
 
-#: commands/copyfrom.c:1685 commands/copyto.c:708
+#: commands/copyfrom.c:1753 commands/copyto.c:701
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
 
-#: commands/copyfrom.c:1753 commands/copyto.c:306 libpq/be-secure-common.c:83
+#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83
 #, 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/copyfrom.c:1768 commands/copyto.c:311
+#: commands/copyfrom.c:1836 commands/copyto.c:304
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "el programa «%s» falló"
@@ -7110,26 +7428,25 @@ msgid "could not read from COPY file: %m"
 msgstr "no se pudo leer desde archivo COPY: %m"
 
 #: commands/copyfromparse.c:278 commands/copyfromparse.c:303
-#: tcop/postgres.c:377
+#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377
 #, 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/copyfromparse.c:294
+#: commands/copyfromparse.c:294 replication/walsender.c:772
 #, 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/copyfromparse.c:317
+#: commands/copyfromparse.c:317 replication/walsender.c:803
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "falló COPY desde la entrada estándar: %s"
 
 #: commands/copyfromparse.c:785
-#, fuzzy, c-format
-#| msgid "wrong number of columns: %d, expected %d"
+#, c-format
 msgid "wrong number of fields in header line: got %d, expected %d"
-msgstr "número de columnas erróneo: %d, se esperaban %d"
+msgstr "número de campos en línea de cabecera erróneo: %d, se esperaban %d"
 
 #: commands/copyfromparse.c:801
 #, c-format
@@ -7141,8 +7458,8 @@ msgstr "discordancia de nombre de columna en campo %d de la línea de encabezado
 msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\""
 msgstr "discordancia en nombre de columna en campo %d de la línea de encabezado: se obtuvo «%s», se esperaba «%s»"
 
-#: commands/copyfromparse.c:892 commands/copyfromparse.c:1514
-#: commands/copyfromparse.c:1770
+#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554
+#: commands/copyfromparse.c:1810
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
@@ -7152,1126 +7469,1177 @@ msgstr "datos extra después de la última columna esperada"
 msgid "missing data for column \"%s\""
 msgstr "faltan datos en la columna «%s»"
 
-#: commands/copyfromparse.c:999
+#: commands/copyfromparse.c:990
+#, c-format
+msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\""
+msgstr "omitiendo fila debido a incompatibilidad de tipo en la línea %llu para la columna %s: «%s»"
+
+#: commands/copyfromparse.c:998
+#, c-format
+msgid "skipping row due to data type incompatibility at line %llu for column %s: null input"
+msgstr "omitiendo fila debido a incompatibilidad de tipo en la línea %llu para la columna %s: entrada nula"
+
+#: commands/copyfromparse.c:1044
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "se recibieron datos de copy después del marcador EOF"
 
-#: commands/copyfromparse.c:1006
+#: commands/copyfromparse.c:1051
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "la cantidad de registros es %d, pero se esperaban %d"
 
-#: commands/copyfromparse.c:1296 commands/copyfromparse.c:1313
+#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "se encontró un retorno de carro literal en los datos"
 
-#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314
+#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "se encontró un retorno de carro fuera de comillas en los datos"
 
-#: commands/copyfromparse.c:1299 commands/copyfromparse.c:1316
+#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Use «\\r» para representar el retorno de carro."
 
-#: commands/copyfromparse.c:1300 commands/copyfromparse.c:1317
+#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357
 #, 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/copyfromparse.c:1329
+#: commands/copyfromparse.c:1369
 #, c-format
 msgid "literal newline found in data"
 msgstr "se encontró un salto de línea literal en los datos"
 
-#: commands/copyfromparse.c:1330
+#: commands/copyfromparse.c:1370
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "se encontró un salto de línea fuera de comillas en los datos"
 
-#: commands/copyfromparse.c:1332
+#: commands/copyfromparse.c:1372
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Use «\\n» para representar un salto de línea."
 
-#: commands/copyfromparse.c:1333
+#: commands/copyfromparse.c:1373
 #, 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/copyfromparse.c:1379 commands/copyfromparse.c:1415
+#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455
 #, 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/copyfromparse.c:1388 commands/copyfromparse.c:1404
+#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copyfromparse.c:1706 commands/copyfromparse.c:1921
-#, fuzzy, c-format
-#| msgid "unexpected EOF in COPY data"
-msgid "unexpected DEFAULT in COPY data"
-msgstr "EOF inesperado en datos de COPY"
+#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961
+#, c-format
+msgid "unexpected default marker in COPY data"
+msgstr "marcador “default” inesperado en datos de COPY"
 
-#: commands/copyfromparse.c:1707 commands/copyfromparse.c:1922
-#, fuzzy, c-format
-#| msgid "column \"%s\" can only be updated to DEFAULT"
-msgid "Column \"%s\" has no DEFAULT value."
-msgstr "la columna «%s» sólo puede actualizarse a DEFAULT"
+#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962
+#, c-format
+msgid "Column \"%s\" has no default value."
+msgstr "La columna «%s» no tiene valor por omisión."
 
-#: commands/copyfromparse.c:1854
+#: commands/copyfromparse.c:1894
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copyfromparse.c:1956 commands/copyfromparse.c:1975
+#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copyfromparse.c:1965
+#: commands/copyfromparse.c:2005
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copyfromparse.c:1988
+#: commands/copyfromparse.c:2028
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copyto.c:236
+#: commands/copyto.c:229
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "no se pudo escribir al programa COPY: %m"
 
-#: commands/copyto.c:241
+#: commands/copyto.c:234
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "no se pudo escribir archivo COPY: %m"
 
-#: commands/copyto.c:386
+#: commands/copyto.c:379
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "no se puede copiar desde la vista «%s»"
 
-#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400
-#: commands/copyto.c:411
+#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393
+#: commands/copyto.c:404
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Intente la forma COPY (SELECT ...) TO."
 
-#: commands/copyto.c:392
+#: commands/copyto.c:385
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "no se puede copiar desde la vista materializada «%s»"
 
-#: commands/copyto.c:398
+#: commands/copyto.c:391
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "no se puede copiar desde la tabla foránea «%s»"
 
-#: commands/copyto.c:404
+#: commands/copyto.c:397
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "no se puede copiar desde la secuencia «%s»"
 
-#: commands/copyto.c:409
+#: commands/copyto.c:402
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "no se puede hacer copy de la tabla particionada «%s»"
 
-#: commands/copyto.c:415
+#: commands/copyto.c:408
 #, 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/copyto.c:467
+#: commands/copyto.c:460
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD NOTHING no están soportadas para COPY"
 
-#: commands/copyto.c:481
+#: commands/copyto.c:474
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD condicionales no están soportadas para COPY"
 
-#: commands/copyto.c:485
+#: commands/copyto.c:478
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "las reglas DO ALSO no están soportadas para COPY"
 
-#: commands/copyto.c:490
+#: commands/copyto.c:483
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para COPY"
 
-#: commands/copyto.c:500
+#: commands/copyto.c:493
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) no está soportado"
 
-#: commands/copyto.c:517
+#: commands/copyto.c:511
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "la consulta COPY debe tener una cláusula RETURNING"
 
-#: commands/copyto.c:546
+#: commands/copyto.c:540
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "la relación referenciada por la sentencia COPY ha cambiado"
 
-#: commands/copyto.c:605
+#: commands/copyto.c:596
 #, c-format
 msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_QUOTE «%s» no es referenciada en COPY"
 
-#: commands/copyto.c:673
+#: commands/copyto.c:666
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: commands/copyto.c:692
+#: commands/copyto.c:685
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "no se pudo abrir el archivo «%s» para escritura: %m"
 
-#: commands/copyto.c:695
+#: commands/copyto.c:688
 #, c-format
 msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY TO indica al proceso servidor PostgreSQL escribir a un archivo. Puede desear usar facilidades del lado del cliente, como \\copy de psql."
 
-#: commands/createas.c:215 commands/createas.c:523
+#: commands/createas.c:210 commands/createas.c:516
 #, c-format
 msgid "too many column names were specified"
 msgstr "se especificaron demasiados nombres de columna"
 
-#: commands/createas.c:546
+#: commands/createas.c:539
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "las políticas no están implementadas para esta orden"
 
-#: commands/dbcommands.c:822
+#: commands/dbcommands.c:829
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION ya no está soportado"
 
-#: commands/dbcommands.c:823
+#: commands/dbcommands.c:830
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Considere usar tablespaces."
 
-#: commands/dbcommands.c:848
+#: commands/dbcommands.c:855
 #, c-format
 msgid "OIDs less than %u are reserved for system objects"
 msgstr "los OIDs menores que %u están reservados para objetos del sistema"
 
-#: commands/dbcommands.c:879 utils/adt/ascii.c:146
+#: commands/dbcommands.c:886 utils/adt/ascii.c:146
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d no es un código válido de codificación"
 
-#: commands/dbcommands.c:890 utils/adt/ascii.c:128
+#: commands/dbcommands.c:897 utils/adt/ascii.c:128
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s no es un nombre válido de codificación"
 
-#: commands/dbcommands.c:919
+#: commands/dbcommands.c:931
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: commands/dbcommands.c:932 commands/dbcommands.c:2318 commands/user.c:300
-#: commands/user.c:740
+#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299
+#: commands/user.c:739
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "límite de conexión no válido: %d"
 
-#: commands/dbcommands.c:953
+#: commands/dbcommands.c:965
 #, c-format
 msgid "permission denied to create database"
 msgstr "se ha denegado el permiso para crear la base de datos"
 
-#: commands/dbcommands.c:977
+#: commands/dbcommands.c:989
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "no existe la base de datos patrón «%s»"
 
-#: commands/dbcommands.c:989
+#: commands/dbcommands.c:999
+#, c-format
+msgid "cannot use invalid database \"%s\" as template"
+msgstr "no se puede usar la base de datos «%s» no válida como plantilla"
+
+#: commands/dbcommands.c:1000 commands/dbcommands.c:2431
+#: utils/init/postinit.c:1112
+#, c-format
+msgid "Use DROP DATABASE to drop invalid databases."
+msgstr "Use DROP DATABASE para eliminar una base de datos no válida."
+
+#: commands/dbcommands.c:1011
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "se ha denegado el permiso para copiar la base de datos «%s»"
 
-#: commands/dbcommands.c:1006
-#, fuzzy, c-format
-#| msgid "invalid parameter list format: \"%s\""
+#: commands/dbcommands.c:1028
+#, c-format
 msgid "invalid create database strategy \"%s\""
-msgstr "el formato de la lista de parámetros no es válido: «%s»"
+msgstr "estrategia de creación de base de dato no válida: «%s»"
 
-#: commands/dbcommands.c:1007
-#, fuzzy, c-format
-#| msgid "Valid values are \"local\" and \"cascaded\"."
-msgid "Valid strategies are \"wal_log\", and \"file_copy\"."
-msgstr "Los valores aceptables son «local» y «cascaded»."
+#: commands/dbcommands.c:1029
+#, c-format
+msgid "Valid strategies are \"wal_log\" and \"file_copy\"."
+msgstr "Las estrategias válidas son «wal_log» y «file_copy»."
 
-#: commands/dbcommands.c:1028
+#: commands/dbcommands.c:1050
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "la codificación de servidor %d no es válida"
 
-#: commands/dbcommands.c:1034 commands/dbcommands.c:1039
+#: commands/dbcommands.c:1056
 #, c-format
-msgid "invalid locale name: \"%s\""
-msgstr "nombre de configuración regional no válido: «%s»"
+msgid "invalid LC_COLLATE locale name: \"%s\""
+msgstr "nombre de configuración regional LC_COLLATE no válido: «%s»"
 
-#: commands/dbcommands.c:1049
-#, fuzzy, c-format
-#| msgid "encoding \"%s\" not supported by ICU"
-msgid "encoding \"%s\" is not supported with ICU provider"
-msgstr "la codificación «%s» no estæ soportada por ICU"
+#: commands/dbcommands.c:1057 commands/dbcommands.c:1063
+#, c-format
+msgid "If the locale name is specific to ICU, use ICU_LOCALE."
+msgstr "Si el nombre de configuración regional es específico a ICU, use ICU_LOCALE."
 
-#: commands/dbcommands.c:1059
+#: commands/dbcommands.c:1062
 #, c-format
-msgid "ICU locale must be specified"
-msgstr "el locale ICU debe ser especificado"
+msgid "invalid LC_CTYPE locale name: \"%s\""
+msgstr "nombre de configuración regional LC_CTYPE no válido: «%s»"
+
+#: commands/dbcommands.c:1074
+#, fuzzy, c-format
+msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin"
+msgstr "no se pueden especificar reglas ICU a menos que el proveedor de configuración regional sea ICU"
 
-#: commands/dbcommands.c:1088
+#: commands/dbcommands.c:1082
 #, c-format
 msgid "ICU locale cannot be specified unless locale provider is ICU"
 msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
 
-#: commands/dbcommands.c:1111
+#: commands/dbcommands.c:1100
+#, fuzzy, c-format
+msgid "LOCALE or BUILTIN_LOCALE must be specified"
+msgstr "debe especificarse LOCALE o ICU_LOCALE"
+
+#: commands/dbcommands.c:1109
+#, c-format
+msgid "encoding \"%s\" is not supported with ICU provider"
+msgstr "la codificación «%s» no está soportada por ICU"
+
+#: commands/dbcommands.c:1119
+#, c-format
+msgid "LOCALE or ICU_LOCALE must be specified"
+msgstr "debe especificarse LOCALE o ICU_LOCALE"
+
+#: commands/dbcommands.c:1163
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1114
+#: commands/dbcommands.c:1166
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1119
+#: commands/dbcommands.c:1171
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1121
+#: commands/dbcommands.c:1173
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1126
+#: commands/dbcommands.c:1178
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "el nuevo LC_CTYPE (%s) es incompatible con el LC_CTYPE de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1128
+#: commands/dbcommands.c:1180
 #, c-format
 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:1133
-#, fuzzy, c-format
-#| msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
+#: commands/dbcommands.c:1185
+#, c-format
 msgid "new locale provider (%s) does not match locale provider of the template database (%s)"
-msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)"
+msgstr "el nuevo proveedor de configuración regional (%s) no coincide con el proveedor de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1135
-#, fuzzy, c-format
-#| msgid "Use the same encoding as in the template database, or use template0 as template."
+#: commands/dbcommands.c:1187
+#, c-format
 msgid "Use the same locale provider as in the template database, or use template0 as template."
-msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón."
+msgstr "Use el mismo proveedor de «locale» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1147
-#, fuzzy, c-format
-#| msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
+#: commands/dbcommands.c:1199
+#, c-format
 msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)"
-msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
+msgstr "la nueva configuración regional ICU (%s) es incompatible con la configuración regional ICU de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1149
-#, fuzzy, c-format
-#| msgid "Use the same collation as in the template database, or use template0 as template."
+#: commands/dbcommands.c:1201
+#, c-format
 msgid "Use the same ICU locale as in the template database, or use template0 as template."
-msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
+msgstr "Use la misma configuración regional («locale») que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1160
-#, fuzzy, c-format
-#| msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
+#: commands/dbcommands.c:1212
+#, c-format
 msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)"
-msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
+msgstr "las nuevas reglas de «collation» ICU (%s) son incompatibles con las reglas de «collation» ICU de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1162
-#, fuzzy, c-format
-#| msgid "Use the same collation as in the template database, or use template0 as template."
+#: commands/dbcommands.c:1214
+#, c-format
 msgid "Use the same ICU collation rules as in the template database, or use template0 as template."
-msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
+msgstr "Use las mismas reglas de «collation» ICU que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1185
+#: commands/dbcommands.c:1243
 #, c-format
 msgid "template database \"%s\" has a collation version, but no actual collation version could be determined"
-msgstr ""
+msgstr "la base de datos patrón «%s» tiene una versión de configuración regional, pero no se pudo determinar una versión real"
 
-#: commands/dbcommands.c:1190
-#, fuzzy, c-format
-#| msgid "template database \"%s\" does not exist"
+#: commands/dbcommands.c:1248
+#, c-format
 msgid "template database \"%s\" has a collation version mismatch"
-msgstr "no existe la base de datos patrón «%s»"
+msgstr "discordancia en la versión de «collation» de la base de datos patrón «%s»"
 
-#: commands/dbcommands.c:1192
-#, fuzzy, c-format
-#| msgid "The collation in the database was created using version %s, but the operating system provides version %s."
+#: commands/dbcommands.c:1250
+#, c-format
 msgid "The template database was created using collation version %s, but the operating system provides version %s."
-msgstr "El ordenamiento en la base de datos fue creado usando la versión %s, pero el sistema operativo provee la versión %s."
+msgstr "La base de datos patrón fue creada usando la versión %s, pero el sistema operativo provee la versión %s."
 
-#: commands/dbcommands.c:1195
-#, fuzzy, c-format
-#| msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version."
+#: commands/dbcommands.c:1253
+#, c-format
 msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version."
-msgstr "Reconstruya todos los objetos afectados por este ordenamiento y ejecute ALTER COLLATION %s REFRESH VERSION, o construya PostgreSQL con la versión correcta de la biblioteca."
+msgstr "Reconstruya todos los objetos de la base de datos patrón afectados por este ordenamiento y ejecute ALTER DATABASE %s REFRESH COLLATION VERSION, o construya PostgreSQL con la versión correcta de la biblioteca."
 
-#: commands/dbcommands.c:1231 commands/dbcommands.c:1947
+#: commands/dbcommands.c:1298 commands/dbcommands.c:2031
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "no puede usarse pg_global como tablespace por omisión"
 
-#: commands/dbcommands.c:1257
+#: commands/dbcommands.c:1324
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "no se puede asignar el nuevo tablespace por omisión «%s»"
 
-#: commands/dbcommands.c:1259
+#: commands/dbcommands.c:1326
 #, c-format
 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:1289 commands/dbcommands.c:1820
+#: commands/dbcommands.c:1356 commands/dbcommands.c:1904
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de datos «%s» ya existe"
 
-#: commands/dbcommands.c:1303
+#: commands/dbcommands.c:1370
 #, c-format
 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:1325
-#, fuzzy, c-format
-#| msgid "database \"%s\" already exists"
+#: commands/dbcommands.c:1392
+#, c-format
 msgid "database OID %u is already in use by database \"%s\""
-msgstr "la base de datos «%s» ya existe"
+msgstr "el OID de base de datos %u ya está en uso por la base de datos «%s»"
 
-#: commands/dbcommands.c:1331
+#: commands/dbcommands.c:1398
 #, c-format
 msgid "data directory with the specified OID %u already exists"
 msgstr "el directorio de datos con el OID %u especificado ya existe"
 
-#: commands/dbcommands.c:1503 commands/dbcommands.c:1518
+#: commands/dbcommands.c:1571 commands/dbcommands.c:1586
+#: utils/adt/pg_locale.c:2565
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "la codificación «%s» no coincide con la configuración regional «%s»"
 
-#: commands/dbcommands.c:1506
+#: commands/dbcommands.c:1574
 #, 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:1521
+#: commands/dbcommands.c:1589
 #, 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:1601
+#: commands/dbcommands.c:1670
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "no existe la base de datos «%s», omitiendo"
 
-#: commands/dbcommands.c:1625
+#: commands/dbcommands.c:1694
 #, c-format
 msgid "cannot drop a template database"
 msgstr "no se puede borrar una base de datos patrón"
 
-#: commands/dbcommands.c:1631
+#: commands/dbcommands.c:1700
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "no se puede eliminar la base de datos activa"
 
-#: commands/dbcommands.c:1644
+#: commands/dbcommands.c:1713
 #, c-format
 msgid "database \"%s\" is used by an active logical replication slot"
 msgstr "la base de datos «%s» está en uso por un slot de replicación activo"
 
-#: commands/dbcommands.c:1646
+#: commands/dbcommands.c:1715
 #, c-format
 msgid "There is %d active slot."
 msgid_plural "There are %d active slots."
 msgstr[0] "Hay %d slot activo."
 msgstr[1] "Hay %d slots activos."
 
-#: commands/dbcommands.c:1660
+#: commands/dbcommands.c:1729
 #, c-format
 msgid "database \"%s\" is being used by logical replication subscription"
 msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica"
 
-#: commands/dbcommands.c:1662
+#: commands/dbcommands.c:1731
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
 msgstr[0] "Hay %d suscripción."
 msgstr[1] "Hay %d suscripciones."
 
-#: commands/dbcommands.c:1683 commands/dbcommands.c:1842
-#: commands/dbcommands.c:1969
+#: commands/dbcommands.c:1752 commands/dbcommands.c:1926
+#: commands/dbcommands.c:2053
 #, 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:1802
+#: commands/dbcommands.c:1886
 #, 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:1831
+#: commands/dbcommands.c:1915
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "no se puede cambiar el nombre de la base de datos activa"
 
-#: commands/dbcommands.c:1925
+#: commands/dbcommands.c:2009
 #, 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:2031
+#: commands/dbcommands.c:2115
 #, 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:2033
+#: commands/dbcommands.c:2117
 #, 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:2160 commands/dbcommands.c:2868
-#: commands/dbcommands.c:3132 commands/dbcommands.c:3245
+#: commands/dbcommands.c:2244 commands/dbcommands.c:2979
+#: commands/dbcommands.c:3279 commands/dbcommands.c:3392
 #, 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:2221
+#: commands/dbcommands.c:2305
 #, c-format
 msgid "unrecognized DROP DATABASE option \"%s\""
 msgstr "opción de DROP DATABASE «%s» no reconocida"
 
-#: commands/dbcommands.c:2299
+#: commands/dbcommands.c:2383
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "la opción «%s» no puede ser especificada con otras opciones"
 
-#: commands/dbcommands.c:2355
+#: commands/dbcommands.c:2430
+#, c-format
+msgid "cannot alter invalid database \"%s\""
+msgstr "no se puede alterar base de datos no válida «%s»"
+
+#: commands/dbcommands.c:2447
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "no se pueden prohibir las conexiones para la base de datos actual"
 
-#: commands/dbcommands.c:2570
+#: commands/dbcommands.c:2673
 #, 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:2974
+#: commands/dbcommands.c:3085
 #, 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:2977
+#: commands/dbcommands.c:3088
 #, 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:2982 storage/ipc/procarray.c:3798
+#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
 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/dbcommands.c:3088
-#, fuzzy, c-format
-#| msgid "removing WAL directory \"%s\""
+#: commands/dbcommands.c:3235
+#, c-format
 msgid "missing directory \"%s\""
-msgstr "eliminando el directorio de WAL «%s»"
+msgstr "directorio «%s» faltante"
 
-#: commands/dbcommands.c:3146 commands/tablespace.c:190
-#: commands/tablespace.c:639
+#: commands/dbcommands.c:3293 commands/tablespace.c:184
+#: commands/tablespace.c:633
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "no se pudo hacer stat al directorio «%s»: %m"
 
-#: commands/define.c:54 commands/define.c:258 commands/define.c:290
-#: commands/define.c:318 commands/define.c:364
+#: commands/define.c:53 commands/define.c:257 commands/define.c:289
+#: commands/define.c:317 commands/define.c:363
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s requiere un parámetro"
 
-#: commands/define.c:87 commands/define.c:98 commands/define.c:192
-#: commands/define.c:210 commands/define.c:225 commands/define.c:243
+#: commands/define.c:86 commands/define.c:97 commands/define.c:191
+#: commands/define.c:209 commands/define.c:224 commands/define.c:242
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s requiere un valor numérico"
 
-#: commands/define.c:154
+#: commands/define.c:153
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "«%s» requiere un valor lógico (booleano)"
 
-#: commands/define.c:168 commands/define.c:177 commands/define.c:327
+#: commands/define.c:167 commands/define.c:176 commands/define.c:326
 #, c-format
 msgid "%s requires an integer value"
 msgstr "%s requiere valor entero"
 
-#: commands/define.c:272
+#: commands/define.c:271
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "el argumento de %s debe ser un nombre"
 
-#: commands/define.c:302
+#: commands/define.c:301
 #, 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:348
+#: commands/define.c:347
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
-#: commands/dropcmds.c:101 commands/functioncmds.c:1387
-#: utils/adt/ruleutils.c:2897
+#: commands/dropcmds.c:96 commands/functioncmds.c:1382
+#: utils/adt/ruleutils.c:2909
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
 
-#: commands/dropcmds.c:103
+#: commands/dropcmds.c:98
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Use DROP AGGREGATE para eliminar funciones de agregación."
 
-#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3710
-#: commands/tablecmds.c:3868 commands/tablecmds.c:3920
-#: commands/tablecmds.c:16468 tcop/utility.c:1335
+#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877
+#: commands/tablecmds.c:4035 commands/tablecmds.c:4087
+#: commands/tablecmds.c:17073 tcop/utility.c:1325
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "no existe la relación «%s», omitiendo"
 
-#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285
+#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "el esquema «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277
+#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "el tipo «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:257
+#: commands/dropcmds.c:252
 #, c-format
 msgid "access method \"%s\" does not exist, skipping"
 msgstr "no existe el método de acceso «%s», omitiendo"
 
-#: commands/dropcmds.c:275
+#: commands/dropcmds.c:270
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "no existe el ordenamiento (collation) «%s», omitiendo"
 
-#: commands/dropcmds.c:282
+#: commands/dropcmds.c:277
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "no existe la conversión «%s», omitiendo"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:654
+#: commands/dropcmds.c:288 commands/statscmds.c:664
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s», omitiendo"
 
-#: commands/dropcmds.c:300
+#: commands/dropcmds.c:295
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "el analizador de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:307
+#: commands/dropcmds.c:302
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "el diccionario de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:314
+#: commands/dropcmds.c:309
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "la plantilla de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:321
+#: commands/dropcmds.c:316
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "no existe la configuración de búsqueda en texto «%s», omitiendo"
 
-#: commands/dropcmds.c:326
+#: commands/dropcmds.c:321
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "no existe la extensión «%s», omitiendo"
 
-#: commands/dropcmds.c:336
+#: commands/dropcmds.c:331
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "no existe la función %s(%s), omitiendo"
 
-#: commands/dropcmds.c:349
+#: commands/dropcmds.c:344
 #, c-format
 msgid "procedure %s(%s) does not exist, skipping"
 msgstr "el procedimiento %s(%s) no existe, omitiendo"
 
-#: commands/dropcmds.c:362
+#: commands/dropcmds.c:357
 #, c-format
 msgid "routine %s(%s) does not exist, skipping"
 msgstr "no existe la rutina %s(%s), omitiendo"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:370
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "la función de agregación %s(%s) no existe, omitiendo"
 
-#: commands/dropcmds.c:388
+#: commands/dropcmds.c:383
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "el operador %s no existe, omitiendo"
 
-#: commands/dropcmds.c:394
+#: commands/dropcmds.c:389
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "el lenguaje «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:403
+#: commands/dropcmds.c:398
 #, 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, omitiendo"
 
-#: commands/dropcmds.c:412
+#: commands/dropcmds.c:407
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "la transformación para el tipo %s lenguaje «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:420
+#: commands/dropcmds.c:415
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "disparador «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:429
+#: commands/dropcmds.c:424
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la política «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:436
+#: commands/dropcmds.c:431
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "el disparador por eventos «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:442
+#: commands/dropcmds.c:437
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la regla «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:449
+#: commands/dropcmds.c:444
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "no existe el conector de datos externos «%s», omitiendo"
 
-#: commands/dropcmds.c:453 commands/foreigncmds.c:1360
+#: commands/dropcmds.c:448 commands/foreigncmds.c:1360
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "el servidor «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:462
+#: commands/dropcmds.c:457
 #, 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», omitiendo"
 
-#: commands/dropcmds.c:474
+#: commands/dropcmds.c:469
 #, 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», omitiendo"
 
-#: commands/dropcmds.c:481
+#: commands/dropcmds.c:476
 #, c-format
 msgid "publication \"%s\" does not exist, skipping"
 msgstr "no existe la publicación «%s», omitiendo"
 
-#: commands/event_trigger.c:125
+#: commands/event_trigger.c:137
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "se ha denegado el permiso para crear el disparador por eventos «%s»"
 
-#: commands/event_trigger.c:127
+#: commands/event_trigger.c:139
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Debe ser superusuario para crear un disparador por eventos."
 
-#: commands/event_trigger.c:136
+#: commands/event_trigger.c:149
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "nommre de evento «%s» no reconocido"
 
-#: commands/event_trigger.c:153
+#: commands/event_trigger.c:166
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "variable de filtro «%s» no reconocida"
 
-#: commands/event_trigger.c:207
+#: commands/event_trigger.c:181
+#, fuzzy, c-format
+msgid "tag filtering is not supported for login event triggers"
+msgstr "Esta característica no está soportada en tablas «unlogged»."
+
+#: commands/event_trigger.c:224
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "el valor de filtro «%s» no es reconocido por la variable de filtro «%s»"
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:213 commands/event_trigger.c:235
+#: commands/event_trigger.c:230 commands/event_trigger.c:252
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "los disparadores por eventos no están soportados para %s"
 
-#: commands/event_trigger.c:248
+#: commands/event_trigger.c:265
 #, c-format
 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:376 commands/event_trigger.c:420
-#: commands/event_trigger.c:514
+#: commands/event_trigger.c:435 commands/event_trigger.c:487
+#: commands/event_trigger.c:581
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "no existe el disparador por eventos «%s»"
 
-#: commands/event_trigger.c:452
+#: commands/event_trigger.c:519
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "no existe el disparador por eventos con OID %u"
 
-#: commands/event_trigger.c:482
+#: commands/event_trigger.c:549
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño del disparador por eventos «%s»"
 
-#: commands/event_trigger.c:484
+#: commands/event_trigger.c:551
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "El dueño de un disparador por eventos debe ser un superusuario."
 
-#: commands/event_trigger.c:1304
+#: commands/event_trigger.c:1411
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador en el evento sql_drop"
 
-#: commands/event_trigger.c:1397 commands/event_trigger.c:1418
+#: commands/event_trigger.c:1504 commands/event_trigger.c:1525
 #, c-format
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador en el evento table_rewrite"
 
-#: commands/event_trigger.c:1831
+#: commands/event_trigger.c:1938
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador por eventos"
 
-#: commands/explain.c:220
+#: commands/explain.c:241 commands/explain.c:266
 #, 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:227
+#: commands/explain.c:273
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "opción de EXPLAIN «%s» no reconocida"
 
-#: commands/explain.c:236
+#: commands/explain.c:282
 #, c-format
 msgid "EXPLAIN option WAL requires ANALYZE"
 msgstr "la opción WAL de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:245
+#: commands/explain.c:291
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "la opción TIMING de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:251
+#: commands/explain.c:297
 #, fuzzy, c-format
-#| msgid "options -d/--dbname and -f/--file cannot be used together"
+msgid "EXPLAIN option SERIALIZE requires ANALYZE"
+msgstr "la opción WAL de EXPLAIN requiere ANALYZE"
+
+#: commands/explain.c:303
+#, c-format
 msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together"
-msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas"
+msgstr "las opciones ANALYZE y GENERIC_PLAN de EXPLAIN no pueden usarse juntas"
 
-#: commands/extension.c:177 commands/extension.c:3009
+#: commands/extension.c:178 commands/extension.c:3031
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "no existe la extensión «%s»"
 
-#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297
-#: commands/extension.c:307
+#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298
+#: commands/extension.c:308
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nombre de extensión no válido: «%s»"
 
-#: commands/extension.c:277
+#: commands/extension.c:278
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Los nombres de extensión no deben ser vacíos."
 
-#: commands/extension.c:286
+#: commands/extension.c:287
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Los nombres de extensión no deben contener «--»."
 
-#: commands/extension.c:298
+#: commands/extension.c:299
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Los nombres de extensión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:308
+#: commands/extension.c:309
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Los nombres de extensión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341
-#: commands/extension.c:351
+#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342
+#: commands/extension.c:352
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nombre de versión de extensión no válido: «%s»"
 
-#: commands/extension.c:324
+#: commands/extension.c:325
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Los nombres de versión no deben ser vacíos."
 
-#: commands/extension.c:333
+#: commands/extension.c:334
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Los nombres de versión no deben contener «--»."
 
-#: commands/extension.c:342
+#: commands/extension.c:343
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Los nombres de versión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:352
+#: commands/extension.c:353
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Los nombres de versión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:506
-#, fuzzy, c-format
-#| msgid "extension \"%s\" does not exist"
+#: commands/extension.c:507
+#, c-format
 msgid "extension \"%s\" is not available"
-msgstr "no existe la extensión «%s»"
+msgstr "la extensión «%s» no está disponible"
 
-#: commands/extension.c:507
-#, fuzzy, c-format
-#| msgid "could not open extension control file \"%s\": %m"
+#: commands/extension.c:508
+#, c-format
 msgid "Could not open extension control file \"%s\": %m."
-msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m"
+msgstr "No se pudo abrir el archivo de control de extensión «%s»: %m."
 
-#: commands/extension.c:509
+#: commands/extension.c:510
 #, c-format
 msgid "The extension must first be installed on the system where PostgreSQL is running."
 msgstr "La extensión debe primero ser instalada en el sistema donde PostgreSQL está ejecutándose."
 
-#: commands/extension.c:513
+#: commands/extension.c:514
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m"
 
-#: commands/extension.c:536 commands/extension.c:546
+#: commands/extension.c:537 commands/extension.c:547
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "el parámetro «%s» no se puede cambiar en un archivo control secundario de extensión"
 
-#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584
-#: utils/misc/guc.c:3098
+#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585
+#: utils/misc/guc.c:3147
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
 
-#: commands/extension.c:593
+#: commands/extension.c:594
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "«%s» no es un nombre válido de codificación"
 
-#: commands/extension.c:607 commands/extension.c:622
+#: commands/extension.c:608 commands/extension.c:623
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "el parámetro «%s» debe ser una lista de nombres de extensión"
 
-#: commands/extension.c:629
+#: commands/extension.c:630
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "parámetro no reconocido «%s» en el archivo «%s»"
 
-#: commands/extension.c:638
+#: commands/extension.c:639
 #, c-format
 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:816
+#: commands/extension.c:817
 #, 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:896
+#: commands/extension.c:897
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "se ha denegado el permiso para crear la extensión «%s»"
 
-#: commands/extension.c:899
+#: commands/extension.c:900
 #, c-format
 msgid "Must have CREATE privilege on current database to create this extension."
 msgstr "Debe tener privilegio CREATE en la base de datos actual para crear esta extensión."
 
-#: commands/extension.c:900
+#: commands/extension.c:901
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Debe ser superusuario para crear esta extensión."
 
-#: commands/extension.c:904
+#: commands/extension.c:905
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "se ha denegado el permiso para actualizar la extensión «%s»"
 
-#: commands/extension.c:907
+#: commands/extension.c:908
 #, c-format
 msgid "Must have CREATE privilege on current database to update this extension."
 msgstr "Debe tener privilegio CREATE en la base de datos actual para actualizar esta extensión."
 
-#: commands/extension.c:908
+#: commands/extension.c:909
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Debe ser superusuario para actualizar esta extensión."
 
-#: commands/extension.c:1265
+#: commands/extension.c:1042
+#, c-format
+msgid "invalid character in extension owner: must not contain any of \"%s\""
+msgstr "carácter no válido en dueño de extensión: no debe contener ninguno de «%s»"
+
+#: commands/extension.c:1066 commands/extension.c:1093
+#, c-format
+msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\""
+msgstr "carácter no válido en esquema de extensión «%s»: no debe contener ninguno de «%s»"
+
+#: commands/extension.c:1288
 #, 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:1473 commands/extension.c:3067
+#: commands/extension.c:1496 commands/extension.c:3089
 #, c-format
 msgid "version to install must be specified"
 msgstr "la versión a instalar debe ser especificada"
 
-#: commands/extension.c:1510
+#: commands/extension.c:1533
 #, c-format
 msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
 msgstr "la extensión «%s» no tiene script de instalación ni ruta de actualización para la versión «%s»"
 
-#: commands/extension.c:1544
+#: commands/extension.c:1567
 #, 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:1704
+#: commands/extension.c:1727
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "detectada una dependencia cíclica entre las extensiones «%s» y «%s»"
 
-#: commands/extension.c:1709
+#: commands/extension.c:1732
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "instalando la extensión requerida «%s»"
 
-#: commands/extension.c:1732
+#: commands/extension.c:1755
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "la extensión requerida «%s» no está instalada"
 
-#: commands/extension.c:1735
+#: commands/extension.c:1758
 #, c-format
 msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too."
 msgstr "Use CREATE EXTENSION ... CASCADE para instalar además las extensiones requeridas."
 
-#: commands/extension.c:1770
+#: commands/extension.c:1793
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "la extensión «%s» ya existe, omitiendo"
 
-#: commands/extension.c:1777
+#: commands/extension.c:1800
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "la extensión «%s» ya existe"
 
-#: commands/extension.c:1788
+#: commands/extension.c:1811
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "los CREATE EXTENSION anidados no están soportados"
 
-#: commands/extension.c:1952
+#: commands/extension.c:1975
 #, 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:2427
+#: commands/extension.c:2450
 #, c-format
 msgid "%s can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "%s sólo puede invocarse desde un script SQL ejecutado por CREATE EXTENSION"
 
-#: commands/extension.c:2439
+#: commands/extension.c:2462
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "el OID %u no hace referencia a una tabla"
 
-#: commands/extension.c:2444
+#: commands/extension.c:2467
 #, 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:2790
+#: commands/extension.c:2813
 #, 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:2831 commands/extension.c:2928
+#: commands/extension.c:2854 commands/extension.c:2948
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "la extensión «%s» no soporta SET SCHEMA"
 
-#: commands/extension.c:2885
-#, fuzzy, c-format
-#| msgid "cannot drop extension \"%s\" because it is being modified"
+#: commands/extension.c:2911
+#, c-format
 msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it"
-msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
+msgstr "no se puede hacer SET SCHEMA de la extensión «%s» porque otras extensiones lo impiden"
 
-#: commands/extension.c:2887
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not a partition of relation \"%s\""
+#: commands/extension.c:2913
+#, c-format
 msgid "Extension \"%s\" requests no relocation of extension \"%s\"."
-msgstr "relación «%s» no es una partición de la relación «%s»"
+msgstr "La extensión «%s» solicita no relocalizar la extensión «%s»."
 
-#: commands/extension.c:2930
+#: commands/extension.c:2950
 #, 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:2989
+#: commands/extension.c:3011
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "los ALTER EXTENSION anidados no están soportados"
 
-#: commands/extension.c:3078
+#: commands/extension.c:3100
 #, 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:3290
+#: commands/extension.c:3311
 #, c-format
 msgid "cannot add an object of this type to an extension"
 msgstr "no se puede añadir un objeto de este tipo a una extensión"
 
-#: commands/extension.c:3356
+#: commands/extension.c:3409
 #, 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:3450
+#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725
+#, c-format
+msgid "could not find multirange type for data type %s"
+msgstr "no se pudo encontrar un tipo de multirango para el tipo de dato %s"
+
+#: commands/extension.c:3532
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "el archivo «%s» es demasiado grande"
@@ -8301,7 +8669,7 @@ msgstr "Debe ser superusuario para cambiar el dueño de un conector de datos ext
 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:291 commands/foreigncmds.c:707 foreign/foreign.c:678
+#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "no existe el conector de datos externos «%s»"
@@ -8371,7 +8739,7 @@ msgstr "no existe el mapeo de usuario «%s» para el servidor «%s»"
 msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping"
 msgstr "no existe el mapeo de usuario «%s» para el servidor «%s», omitiendo"
 
-#: commands/foreigncmds.c:1507 foreign/foreign.c:391
+#: commands/foreigncmds.c:1507 foreign/foreign.c:394
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "el conector de datos externos «%s» no tiene manejador"
@@ -8386,920 +8754,923 @@ msgstr "el conector de datos externos «%s» no soporta IMPORT FOREIGN SCHEMA"
 msgid "importing foreign table \"%s\""
 msgstr "importando la tabla foránea «%s»"
 
-#: commands/functioncmds.c:109
+#: commands/functioncmds.c:104
 #, 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:114
+#: commands/functioncmds.c:109
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "el tipo de retorno %s está inconcluso"
 
-#: commands/functioncmds.c:143 parser/parse_type.c:354
+#: commands/functioncmds.c:138 parser/parse_type.c:354
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "no se puede especificar un modificador de tipo para el tipo inconcluso «%s»"
 
-#: commands/functioncmds.c:149
+#: commands/functioncmds.c:144
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "el tipo «%s» no ha sido definido aún"
 
-#: commands/functioncmds.c:150
+#: commands/functioncmds.c:145
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creando una definición de tipo inconclusa."
 
-#: commands/functioncmds.c:249
+#: commands/functioncmds.c:244
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "las funciones SQL no pueden aceptar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:255
+#: commands/functioncmds.c:250
 #, 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:260
+#: commands/functioncmds.c:255
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "el tipo de argumento %s está inconcluso"
 
-#: commands/functioncmds.c:270
+#: commands/functioncmds.c:265
 #, c-format
 msgid "type %s does not exist"
 msgstr "no existe el tipo %s"
 
-#: commands/functioncmds.c:284
+#: commands/functioncmds.c:279
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "las funciones de agregación no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:288
+#: commands/functioncmds.c:283
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "los procedimientos no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:292
+#: commands/functioncmds.c:287
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "funciones no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:302
+#: commands/functioncmds.c:297
 #, 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:322
+#: commands/functioncmds.c:317
 #, c-format
 msgid "VARIADIC parameter must be the last parameter"
 msgstr "el parámetro VARIADIC debe ser el último parámetro"
 
-#: commands/functioncmds.c:347
+#: commands/functioncmds.c:342
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "el parámetro VARIADIC debe ser un array"
 
-#: commands/functioncmds.c:392
+#: commands/functioncmds.c:387
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "nombre de parámetro «%s» usado más de una vez"
 
-#: commands/functioncmds.c:410
+#: commands/functioncmds.c:405
 #, 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:425
+#: commands/functioncmds.c:420
 #, 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:449
+#: commands/functioncmds.c:444
 #, 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:459
+#: commands/functioncmds.c:454
 #, c-format
 msgid "procedure OUT parameters cannot appear after one with a default value"
 msgstr "los parámetros OUT no pueden aparecer después de uno que tenga valor por omisión"
 
-#: commands/functioncmds.c:601 commands/functioncmds.c:780
+#: commands/functioncmds.c:596 commands/functioncmds.c:775
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "atributo no válido en definición de procedimiento"
 
-#: commands/functioncmds.c:697
+#: commands/functioncmds.c:692
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "la función de soporte %s debe retornar el tipo %s"
 
-#: commands/functioncmds.c:708
+#: commands/functioncmds.c:703
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "debe ser superusuario para especificar una función de soporte"
 
-#: commands/functioncmds.c:829 commands/functioncmds.c:1432
+#: commands/functioncmds.c:824 commands/functioncmds.c:1427
 #, c-format
 msgid "COST must be positive"
 msgstr "COST debe ser positivo"
 
-#: commands/functioncmds.c:837 commands/functioncmds.c:1440
+#: commands/functioncmds.c:832 commands/functioncmds.c:1435
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS debe ser positivo"
 
-#: commands/functioncmds.c:866
+#: commands/functioncmds.c:861
 #, c-format
 msgid "no function body specified"
 msgstr "no se ha especificado un cuerpo para la función"
 
-#: commands/functioncmds.c:871
+#: commands/functioncmds.c:866
 #, c-format
 msgid "duplicate function body specified"
 msgstr "se ha especificado por duplicado el cuerpo para la función"
 
-#: commands/functioncmds.c:876
+#: commands/functioncmds.c:871
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
 msgstr "cuerpo de función SQL en línea solo es válido para lenguaje SQL"
 
-#: commands/functioncmds.c:918
+#: commands/functioncmds.c:913
 #, c-format
 msgid "SQL function with unquoted function body cannot have polymorphic arguments"
 msgstr "una función SQL con el cuerpo de la función fuera de comillas no puede tener argumentos polimórficos"
 
-#: commands/functioncmds.c:944 commands/functioncmds.c:963
+#: commands/functioncmds.c:939 commands/functioncmds.c:958
 #, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
 msgstr "%s aún no está soportado en una función SQL con el cuerpo fuera de comillas"
 
-#: commands/functioncmds.c:991
+#: commands/functioncmds.c:986
 #, 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:1096
+#: commands/functioncmds.c:1091
 #, c-format
 msgid "no language specified"
 msgstr "no se ha especificado el lenguaje"
 
-#: commands/functioncmds.c:1104 commands/functioncmds.c:2105
-#: commands/proclang.c:237
+#: commands/functioncmds.c:1099 commands/functioncmds.c:2104
+#: commands/proclang.c:235
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "no existe el lenguaje «%s»"
 
-#: commands/functioncmds.c:1106 commands/functioncmds.c:2107
+#: commands/functioncmds.c:1101 commands/functioncmds.c:2106
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Use CREATE EXTENSION para cargar el lenguaje en la base de datos."
 
-#: commands/functioncmds.c:1139 commands/functioncmds.c:1424
+#: commands/functioncmds.c:1134 commands/functioncmds.c:1419
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "sólo un superusuario puede definir funciones «leakproof»"
 
-#: commands/functioncmds.c:1190
+#: commands/functioncmds.c:1185
 #, 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:1203
+#: commands/functioncmds.c:1198
 #, c-format
 msgid "function result type must be specified"
 msgstr "el tipo de retorno de la función debe ser especificado"
 
-#: commands/functioncmds.c:1256 commands/functioncmds.c:1444
+#: commands/functioncmds.c:1251 commands/functioncmds.c:1439
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS no es aplicable cuando una función no retorna un conjunto"
 
-#: commands/functioncmds.c:1547
+#: commands/functioncmds.c:1546
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "el tipo de origen %s es un pseudotipo"
 
-#: commands/functioncmds.c:1553
+#: commands/functioncmds.c:1552
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "el tipo de retorno %s es un pseudotipo"
 
-#: commands/functioncmds.c:1577
+#: commands/functioncmds.c:1576
 #, 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:1582
+#: commands/functioncmds.c:1581
 #, 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:1607
+#: commands/functioncmds.c:1606
 #, 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:1613
+#: commands/functioncmds.c:1612
 #, 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:1617
+#: commands/functioncmds.c:1616
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "el segundo argumento de la función de conversión debe ser de tipo %s"
 
-#: commands/functioncmds.c:1622
+#: commands/functioncmds.c:1621
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "el tercer argumento de la función de conversión debe ser de tipo %s"
 
-#: commands/functioncmds.c:1629
+#: commands/functioncmds.c:1628
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to 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:1640
+#: commands/functioncmds.c:1639
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la función de conversión no debe ser volatile"
 
-#: commands/functioncmds.c:1645
+#: commands/functioncmds.c:1644
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "la función de conversión debe ser una función normal"
 
-#: commands/functioncmds.c:1649
+#: commands/functioncmds.c:1648
 #, 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:1675
+#: commands/functioncmds.c:1674
 #, 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:1690
+#: commands/functioncmds.c:1689
 #, 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:1705
+#: commands/functioncmds.c:1704
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "los tipos de datos compuestos no son binario-compatibles"
 
-#: commands/functioncmds.c:1711
+#: commands/functioncmds.c:1710
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "los tipos de datos enum no son binario-compatibles"
 
-#: commands/functioncmds.c:1717
+#: commands/functioncmds.c:1716
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "los tipos de datos de array no son binario-compatibles"
 
-#: commands/functioncmds.c:1734
+#: commands/functioncmds.c:1733
 #, 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:1744
+#: commands/functioncmds.c:1743
 #, 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:1777
+#: commands/functioncmds.c:1776
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "la función de transformación no debe ser volatile"
 
-#: commands/functioncmds.c:1781
+#: commands/functioncmds.c:1780
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "la función de transformación debe ser una función normal"
 
-#: commands/functioncmds.c:1785
+#: commands/functioncmds.c:1784
 #, c-format
 msgid "transform function must not return a set"
 msgstr "la función de transformación no debe retornar un conjunto"
 
-#: commands/functioncmds.c:1789
+#: commands/functioncmds.c:1788
 #, c-format
 msgid "transform function must take one argument"
 msgstr "la función de transformación debe recibir un argumento"
 
-#: commands/functioncmds.c:1793
+#: commands/functioncmds.c:1792
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "el primer argumento de la función de transformación debe ser de tipo %s"
 
-#: commands/functioncmds.c:1832
+#: commands/functioncmds.c:1831
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "el tipo de dato %s es un pseudo-tipo"
 
-#: commands/functioncmds.c:1838
+#: commands/functioncmds.c:1837
 #, c-format
 msgid "data type %s is a domain"
 msgstr "tipo de dato «%s» es un dominio"
 
-#: commands/functioncmds.c:1878
+#: commands/functioncmds.c:1877
 #, c-format
 msgid "return data type of FROM SQL function must be %s"
 msgstr "el tipo de dato de retorno de la función FROM SQL debe ser %s"
 
-#: commands/functioncmds.c:1904
+#: commands/functioncmds.c:1903
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "el tipo de dato de retorno de la función TO SQL debe ser el tipo de dato de la transformación"
 
-#: commands/functioncmds.c:1931
+#: commands/functioncmds.c:1930
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "la transformación para el tipo %s lenguaje «%s» ya existe"
 
-#: commands/functioncmds.c:2017
+#: commands/functioncmds.c:2016
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "la transformación para el tipo %s lenguaje «%s» no existe"
 
-#: commands/functioncmds.c:2041
+#: commands/functioncmds.c:2040
 #, 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:2092
+#: commands/functioncmds.c:2091
 #, c-format
 msgid "no inline code specified"
 msgstr "no se ha especificado código"
 
-#: commands/functioncmds.c:2138
+#: commands/functioncmds.c:2137
 #, 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/functioncmds.c:2233
+#: commands/functioncmds.c:2232
 #, c-format
 msgid "cannot pass more than %d argument to a procedure"
 msgid_plural "cannot pass more than %d arguments to a procedure"
 msgstr[0] "no se pueden pasar más de %d argumento a un procedimiento"
 msgstr[1] "no se pueden pasar más de %d argumentos a un procedimiento"
 
-#: commands/indexcmds.c:641
+#: commands/indexcmds.c:647
 #, c-format
 msgid "must specify at least one column"
 msgstr "debe especificar al menos una columna"
 
-#: commands/indexcmds.c:645
+#: commands/indexcmds.c:651
 #, 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:688
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
+#: commands/indexcmds.c:694
+#, c-format
 msgid "cannot create index on relation \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
+msgstr "no se puede crear índice en la relación «%s»"
 
-#: commands/indexcmds.c:714
+#: commands/indexcmds.c:720
 #, c-format
 msgid "cannot create index on partitioned table \"%s\" concurrently"
 msgstr "no se puede crear un índice en la tabla particionada «%s» concurrentemente"
 
-#: commands/indexcmds.c:719
-#, c-format
-msgid "cannot create exclusion constraints on partitioned table \"%s\""
-msgstr "no se pueden create restricciones de exclusión en la tabla particionada «%s»"
-
-#: commands/indexcmds.c:729
+#: commands/indexcmds.c:730
 #, 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:767 commands/tablecmds.c:784 commands/tablespace.c:1184
+#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178
 #, c-format
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr "no se puede especificar el tablespace por omisión para las relaciones particionadas"
 
-#: commands/indexcmds.c:799 commands/tablecmds.c:819 commands/tablecmds.c:3409
+#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576
 #, 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:832
+#: commands/indexcmds.c:833
 #, 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:853
+#: commands/indexcmds.c:854
 #, 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:858
+#: commands/indexcmds.c:859
 #, c-format
 msgid "access method \"%s\" does not support included columns"
 msgstr "el método de acceso «%s» no soporta columnas incluidas"
 
-#: commands/indexcmds.c:863
+#: commands/indexcmds.c:864
 #, 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:868
+#: commands/indexcmds.c:869
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "el método de acceso «%s» no soporta restricciones de exclusión"
 
-#: commands/indexcmds.c:995
+#: commands/indexcmds.c:998
 #, c-format
 msgid "cannot match partition key to an index using access method \"%s\""
 msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»"
 
-#: commands/indexcmds.c:1005
+#: commands/indexcmds.c:1008
 #, c-format
 msgid "unsupported %s constraint with partition key definition"
 msgstr "restricción %s no soportada con definición de llave de particionamiento"
 
-#: commands/indexcmds.c:1007
+#: commands/indexcmds.c:1010
 #, c-format
 msgid "%s constraints cannot be used when partition keys include expressions."
 msgstr "No se pueden usar restricciones %s cuando las llaves de particionamiento incluyen expresiones."
 
-#: commands/indexcmds.c:1046
+#: commands/indexcmds.c:1060
+#, fuzzy, c-format
+msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\""
+msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»"
+
+#: commands/indexcmds.c:1076
 #, c-format
 msgid "unique constraint on partitioned table must include all partitioning columns"
 msgstr "las restricciones unique en tablas particionadas deben incluir todas las columnas de particionamiento"
 
-#: commands/indexcmds.c:1047
+#: commands/indexcmds.c:1077
 #, c-format
 msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key."
 msgstr "La restricción %s en la tabla «%s» no incluye la columna «%s» que es parte de la llave de particionamiento."
 
-#: commands/indexcmds.c:1066 commands/indexcmds.c:1085
+#: commands/indexcmds.c:1096 commands/indexcmds.c:1115
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "la creación de índices en columnas de sistema no está soportada"
 
-#: commands/indexcmds.c:1314 tcop/utility.c:1525
+#: commands/indexcmds.c:1345 tcop/utility.c:1515
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "no se puede crear un índice único en la tabla particionada «%s»"
 
-#: commands/indexcmds.c:1316 tcop/utility.c:1527
+#: commands/indexcmds.c:1347 tcop/utility.c:1517
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "La tabla «%s» contiene particiones que son tablas foráneas."
 
-#: commands/indexcmds.c:1811
+#: commands/indexcmds.c:1832
 #, 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:1889 parser/parse_utilcmd.c:2513
-#: parser/parse_utilcmd.c:2648
+#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494
+#: parser/parse_utilcmd.c:2629
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1913 parser/parse_utilcmd.c:1812
+#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "las expresiones no están soportadas en columnas incluidas"
 
-#: commands/indexcmds.c:1954
+#: commands/indexcmds.c:1976
 #, 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:1969
+#: commands/indexcmds.c:1991
 #, c-format
 msgid "including column does not support a collation"
 msgstr "la columna incluida no permite un ordenamiento (collation)"
 
-#: commands/indexcmds.c:1973
+#: commands/indexcmds.c:1995
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "la columna incluida no permite una clase de operadores"
 
-#: commands/indexcmds.c:1977
+#: commands/indexcmds.c:1999
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "la columna incluida no permite las opciones ASC/DESC"
 
-#: commands/indexcmds.c:1981
+#: commands/indexcmds.c:2003
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "la columna incluida no permite las opciones NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:2022
+#: commands/indexcmds.c:2046
 #, 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:2030 commands/tablecmds.c:17497 commands/typecmds.c:807
-#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3774
-#: utils/adt/misc.c:586
+#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811
+#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918
+#: utils/adt/misc.c:630
 #, 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:2095
+#: commands/indexcmds.c:2121
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:2097
+#: commands/indexcmds.c:2123
 #, 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:2123
+#: commands/indexcmds.c:2149
 #, 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:2126
+#: commands/indexcmds.c:2152
 #, 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:2161
+#: commands/indexcmds.c:2187
 #, 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:2166
+#: commands/indexcmds.c:2192
 #, 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:2212 commands/tablecmds.c:17522
-#: commands/tablecmds.c:17528 commands/typecmds.c:2301
+#: commands/indexcmds.c:2236 commands/tablecmds.c:18115
+#: commands/tablecmds.c:18121 commands/typecmds.c:2311
 #, 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:2214
+#: commands/indexcmds.c:2238
 #, 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:2243 commands/indexcmds.c:2251
-#: commands/opclasscmds.c:205
+#: commands/indexcmds.c:2267 commands/indexcmds.c:2275
+#: commands/opclasscmds.c:204
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/indexcmds.c:2265 commands/typecmds.c:2289
+#: commands/indexcmds.c:2289 commands/typecmds.c:2299
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
 
-#: commands/indexcmds.c:2355
+#: commands/indexcmds.c:2379
 #, 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:2683
+#: commands/indexcmds.c:2707
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "opción de REINDEX «%s» no reconocida"
 
-#: commands/indexcmds.c:2910
+#: commands/indexcmds.c:2939
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr "la tabla «%s» no tiene índices que puedan ser reindexados concurrentemente"
 
-#: commands/indexcmds.c:2924
+#: commands/indexcmds.c:2953
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "la tabla «%s» no tiene índices para reindexar"
 
-#: commands/indexcmds.c:2969 commands/indexcmds.c:3484
-#: commands/indexcmds.c:3612
+#: commands/indexcmds.c:3000 commands/indexcmds.c:3511
+#: commands/indexcmds.c:3641
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "no se pueden reindexar catálogos de sistema concurrentemente"
 
-#: commands/indexcmds.c:2993
+#: commands/indexcmds.c:3024
 #, 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:3091
+#: commands/indexcmds.c:3116
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr "no se puede reindexar un catálogo de sistema concurrentemente, omitiéndolos todos"
 
-#: commands/indexcmds.c:3124
+#: commands/indexcmds.c:3149
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "no se puede mover las relaciones de sistema, omitiendo todas"
 
-#: commands/indexcmds.c:3170
+#: commands/indexcmds.c:3195
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "al reindexar tabla particionada «%s.%s»"
 
-#: commands/indexcmds.c:3173
+#: commands/indexcmds.c:3198
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "al reindexar índice particionado «%s.%s»"
 
-#: commands/indexcmds.c:3364 commands/indexcmds.c:4220
+#: commands/indexcmds.c:3391 commands/indexcmds.c:4259
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/indexcmds.c:3516 commands/indexcmds.c:3568
-#, c-format
-msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping"
-msgstr "no se puede reindexar el índice no válido «%s.%s» concurrentemente, omitiendo"
+#: commands/indexcmds.c:3543 commands/indexcmds.c:3596
+#, fuzzy, c-format
+msgid "skipping reindex of invalid index \"%s.%s\""
+msgstr "al reindexar índice particionado «%s.%s»"
 
-#: commands/indexcmds.c:3522
+#: commands/indexcmds.c:3546 commands/indexcmds.c:3599
+#, fuzzy, c-format
+msgid "Use DROP INDEX or REINDEX INDEX."
+msgstr "Use DROP INDEX para eliminar un índice."
+
+#: commands/indexcmds.c:3550
 #, c-format
 msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
 msgstr "no se puede reindexar el índice de restricción de exclusión «%s.%s» concurrentemente, omitiendo"
 
-#: commands/indexcmds.c:3677
+#: commands/indexcmds.c:3706
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "no se puede reindexar este tipo de relación concurrentemente"
 
-#: commands/indexcmds.c:3698
+#: commands/indexcmds.c:3724
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr "no se puede mover relación no compartida al tablespace «%s»"
 
-#: commands/indexcmds.c:4201 commands/indexcmds.c:4213
+#: commands/indexcmds.c:4240 commands/indexcmds.c:4252
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "el índice «%s.%s» fue reindexado"
 
-#: commands/indexcmds.c:4203 commands/indexcmds.c:4222
+#: commands/indexcmds.c:4242 commands/indexcmds.c:4261
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/lockcmds.c:93
-#, fuzzy, c-format
-#| msgid "cannot lock rows in relation \"%s\""
+#: commands/lockcmds.c:91
+#, c-format
 msgid "cannot lock relation \"%s\""
-msgstr "no se puede bloquear registros en la tabla «%s»"
+msgstr "no se puede bloquear la relación «%s»"
 
-#: commands/matview.c:194
+#: commands/matview.c:206
 #, 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:200 gram.y:18307
+#: commands/matview.c:212 gram.y:18967
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "las opciones %s y %s no pueden usarse juntas"
 
-#: commands/matview.c:257
+#: commands/matview.c:269
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "no se puede refrescar la vista materializada «%s» concurrentemente"
 
-#: commands/matview.c:260
+#: commands/matview.c:272
 #, 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/matview.c:654
+#: commands/matview.c:666
 #, c-format
 msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
 msgstr "nuevos datos para la vista materializada «%s» contiene filas duplicadas sin columnas nulas"
 
-#: commands/matview.c:656
+#: commands/matview.c:668
 #, c-format
 msgid "Row: %s"
 msgstr "Fila: %s"
 
-#: commands/opclasscmds.c:124
+#: commands/opclasscmds.c:123
 #, 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:266
 #, 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:416
+#: commands/opclasscmds.c:415
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "debe ser superusuario para crear una clase de operadores"
 
-#: commands/opclasscmds.c:493 commands/opclasscmds.c:910
-#: commands/opclasscmds.c:1056
+#: commands/opclasscmds.c:492 commands/opclasscmds.c:909
+#: commands/opclasscmds.c:1055
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "el número de operador %d es incorrecto, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:538 commands/opclasscmds.c:960
-#: commands/opclasscmds.c:1072
+#: commands/opclasscmds.c:537 commands/opclasscmds.c:959
+#: commands/opclasscmds.c:1071
 #, c-format
 msgid "invalid function number %d, must be between 1 and %d"
 msgstr "número de función %d no válido, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:567
+#: commands/opclasscmds.c:566
 #, c-format
 msgid "storage type specified more than once"
 msgstr "el tipo de almacenamiento fue especificado más de una vez"
 
-#: commands/opclasscmds.c:594
+#: commands/opclasscmds.c:593
 #, 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:610
+#: commands/opclasscmds.c:609
 #, 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:638
+#: commands/opclasscmds.c:637
 #, 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:641
+#: commands/opclasscmds.c:640
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Actualmente, «%s» es la clase de operadores por omisión."
 
-#: commands/opclasscmds.c:801
+#: commands/opclasscmds.c:800
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "debe ser superusuario para crear una familia de operadores"
 
-#: commands/opclasscmds.c:861
+#: commands/opclasscmds.c:860
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "debe ser superusuario para alterar una familia de operadores"
 
-#: commands/opclasscmds.c:919
+#: commands/opclasscmds.c:918
 #, 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:994
+#: commands/opclasscmds.c:993
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE no puede ser especificado en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1128
+#: commands/opclasscmds.c:1127
 #, 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:1154
+#: commands/opclasscmds.c:1153
 #, c-format
 msgid "index operators must be binary"
 msgstr "los operadores de índice deben ser binarios"
 
-#: commands/opclasscmds.c:1173
+#: commands/opclasscmds.c:1172
 #, 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:1184
+#: commands/opclasscmds.c:1183
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
-#: commands/opclasscmds.c:1224
+#: commands/opclasscmds.c:1223
 #, c-format
 msgid "associated data types for operator class options parsing functions must match opclass input type"
 msgstr "los tipos de dato asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir exactamente con el tipo de entrada de la clase de operadores"
 
-#: commands/opclasscmds.c:1231
+#: commands/opclasscmds.c:1230
 #, c-format
 msgid "left and right associated data types for operator class options parsing functions must match"
 msgstr "los tipos de dato izquierdo y derecho asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir"
 
-#: commands/opclasscmds.c:1239
+#: commands/opclasscmds.c:1238
 #, c-format
 msgid "invalid operator class options parsing function"
 msgstr "función de interpretación de opciones de la clase de operadores no válida"
 
-#: commands/opclasscmds.c:1240
+#: commands/opclasscmds.c:1239
 #, c-format
 msgid "Valid signature of operator class options parsing function is %s."
 msgstr "La signatura válida para la función de interpretación de opciones de una clase de operadores es '%s'."
 
-#: commands/opclasscmds.c:1259
+#: commands/opclasscmds.c:1258
 #, c-format
 msgid "btree comparison functions must have two arguments"
 msgstr "las funciones de comparación btree deben tener dos argumentos"
 
-#: commands/opclasscmds.c:1263
+#: commands/opclasscmds.c:1262
 #, c-format
 msgid "btree comparison functions must return integer"
 msgstr "las funciones de comparación btree deben retornar entero"
 
-#: commands/opclasscmds.c:1280
+#: commands/opclasscmds.c:1279
 #, c-format
 msgid "btree sort support functions must accept type \"internal\""
 msgstr "las funciones btree de soporte de ordenamiento deben aceptar tipo «internal»"
 
-#: commands/opclasscmds.c:1284
+#: commands/opclasscmds.c:1283
 #, c-format
 msgid "btree sort support functions must return void"
 msgstr "las funciones btree de soporte de ordenamiento deben retornar void"
 
-#: commands/opclasscmds.c:1295
+#: commands/opclasscmds.c:1294
 #, c-format
 msgid "btree in_range functions must have five arguments"
 msgstr "las funciones btree in_range deben tener cinco argumentos"
 
-#: commands/opclasscmds.c:1299
+#: commands/opclasscmds.c:1298
 #, c-format
 msgid "btree in_range functions must return boolean"
 msgstr "las funciones btree in_range deben retornar booleano"
 
-#: commands/opclasscmds.c:1315
+#: commands/opclasscmds.c:1314
 #, c-format
 msgid "btree equal image functions must have one argument"
 msgstr "las funciones btree de igualdad de imagen deben tener un argumento"
 
-#: commands/opclasscmds.c:1319
+#: commands/opclasscmds.c:1318
 #, c-format
 msgid "btree equal image functions must return boolean"
 msgstr "las funciones btree de igualdad de imagen deben retornar booleano"
 
-#: commands/opclasscmds.c:1332
+#: commands/opclasscmds.c:1331
 #, c-format
 msgid "btree equal image functions must not be cross-type"
 msgstr "las funciones btree de igualdad de imagen no deben ser entre distintos tipos"
 
-#: commands/opclasscmds.c:1342
+#: commands/opclasscmds.c:1341
 #, c-format
 msgid "hash function 1 must have one argument"
 msgstr "la función de hash 1 debe tener un argumento"
 
-#: commands/opclasscmds.c:1346
+#: commands/opclasscmds.c:1345
 #, c-format
 msgid "hash function 1 must return integer"
 msgstr "la función de hash 1 debe retornar integer"
 
-#: commands/opclasscmds.c:1353
+#: commands/opclasscmds.c:1352
 #, c-format
 msgid "hash function 2 must have two arguments"
 msgstr "la función de hash 2 debe tener dos argumentos"
 
-#: commands/opclasscmds.c:1357
+#: commands/opclasscmds.c:1356
 #, c-format
 msgid "hash function 2 must return bigint"
 msgstr "la función de hash 2 debe retornar bigint"
 
-#: commands/opclasscmds.c:1382
+#: commands/opclasscmds.c:1381
 #, c-format
 msgid "associated data types must be specified for index support function"
 msgstr "los tipos de datos asociados deben ser especificados para una función de soporte de índice"
 
-#: commands/opclasscmds.c:1407
+#: commands/opclasscmds.c:1406
 #, c-format
 msgid "function number %d for (%s,%s) appears more than once"
 msgstr "la función número %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1414
+#: commands/opclasscmds.c:1413
 #, 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:1460
+#: commands/opclasscmds.c:1459
 #, 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:1566
+#: commands/opclasscmds.c:1565
 #, 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:1647
+#: commands/opclasscmds.c:1646
 #, 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:1687
+#: commands/opclasscmds.c:1686
 #, 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:1718
+#: commands/opclasscmds.c:1717
 #, 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:1741
+#: commands/opclasscmds.c:1740
 #, 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»"
@@ -9309,7 +9680,7 @@ msgstr "ya existe una familia de operadores «%s» para el método de acceso «%
 msgid "SETOF type not allowed for operator argument"
 msgstr "no se permite un tipo SETOF en los argumentos de un operador"
 
-#: commands/operatorcmds.c:154 commands/operatorcmds.c:481
+#: commands/operatorcmds.c:154 commands/operatorcmds.c:554
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "el atributo de operador «%s» no es reconocido"
@@ -9349,53 +9720,70 @@ msgstr "la función de estimación de join %s tiene múltiples coincidencias"
 msgid "join estimator function %s must return type %s"
 msgstr "la función de estimación de join %s debe retornar tipo %s"
 
-#: commands/operatorcmds.c:475
+#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637
+#: utils/adt/regproc.c:509 utils/adt/regproc.c:683
+#, c-format
+msgid "operator does not exist: %s"
+msgstr "el operador no existe: %s"
+
+#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815
+#, c-format
+msgid "operator is only a shell: %s"
+msgstr "el operador está inconcluso: %s"
+
+#: commands/operatorcmds.c:548
 #, c-format
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "el atributo de operador «%s» no puede ser cambiado"
 
-#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149
-#: commands/tablecmds.c:1616 commands/tablecmds.c:2219
-#: commands/tablecmds.c:3520 commands/tablecmds.c:6369
-#: commands/tablecmds.c:9181 commands/tablecmds.c:17090
-#: commands/tablecmds.c:17125 commands/trigger.c:323 commands/trigger.c:1339
-#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275
-#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80
+#: commands/operatorcmds.c:615 commands/operatorcmds.c:622
+#: commands/operatorcmds.c:628 commands/operatorcmds.c:634
+#, fuzzy, c-format
+msgid "operator attribute \"%s\" cannot be changed if it has already been set"
+msgstr "el atributo de operador «%s» no puede ser cambiado"
+
+#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146
+#: commands/tablecmds.c:1728 commands/tablecmds.c:2328
+#: commands/tablecmds.c:3687 commands/tablecmds.c:6625
+#: commands/tablecmds.c:9657 commands/tablecmds.c:17677
+#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332
+#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268
+#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/policy.c:172
+#: commands/policy.c:169
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "ignorando los roles especificados que no son PUBLIC"
 
-#: commands/policy.c:173
+#: commands/policy.c:170
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Todos los roles son miembros del rol PUBLIC."
 
-#: commands/policy.c:606
+#: commands/policy.c:603
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK no puede ser aplicado a SELECT o DELETE"
 
-#: commands/policy.c:615 commands/policy.c:918
+#: commands/policy.c:612 commands/policy.c:915
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "sólo se permite una expresión WITH CHECK para INSERT"
 
-#: commands/policy.c:689 commands/policy.c:1141
+#: commands/policy.c:686 commands/policy.c:1138
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "la política «%s» para la tabla «%s» ya existe"
 
-#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240
+#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la política «%s» para la tabla «%s»"
 
-#: commands/policy.c:908
+#: commands/policy.c:905
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "sólo se permite una expresión USING para SELECT, DELETE"
@@ -9411,270 +9799,244 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation"
 msgstr "no se puede crear un cursor WITH HOLD dentro de una operación restringida por seguridad"
 
 #: commands/portalcmds.c:189 commands/portalcmds.c:242
-#: executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014
+#: executor/execCurrent.c:70 utils/adt/xml.c:2915 utils/adt/xml.c:3085
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
 
-#: commands/prepare.c:75
+#: commands/prepare.c:72
 #, c-format
 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:230 commands/prepare.c:235
+#: commands/prepare.c:227 commands/prepare.c:232
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "la sentencia preparada no es un SELECT"
 
-#: commands/prepare.c:295
+#: commands/prepare.c:292
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "el número de parámetros es incorrecto en la sentencia preparada «%s»"
 
-#: commands/prepare.c:297
+#: commands/prepare.c:294
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "Se esperaban %d parámetros pero se obtuvieron %d."
 
-#: commands/prepare.c:330
+#: commands/prepare.c:327
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "el parámetro $%d de tipo %s no puede ser convertido al tipo esperado %s"
 
-#: commands/prepare.c:414
+#: commands/prepare.c:411
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "la sentencia preparada «%s» ya existe"
 
-#: commands/prepare.c:453
+#: commands/prepare.c:450
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "no existe la sentencia preparada «%s»"
 
-#: commands/proclang.c:68
+#: commands/proclang.c:66
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "debe ser superusuario para crear un lenguaje procedural personalizado"
 
-#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205
-#: postmaster/postmaster.c:1303 storage/file/fd.c:3861
-#: utils/init/miscinit.c:1815
+#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108
+#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: commands/publicationcmds.c:150
-#, fuzzy, c-format
-#| msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
+#: commands/publicationcmds.c:143
+#, c-format
 msgid "unrecognized value for publication option \"%s\": \"%s\""
-msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»"
+msgstr "valor no reconocido para la opción de publicación «%s»: «%s»"
 
-#: commands/publicationcmds.c:164
+#: commands/publicationcmds.c:157
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "parámetro de publicación no reconocido: «%s»"
 
-#: commands/publicationcmds.c:205
-#, fuzzy, c-format
-#| msgid "no schema has been selected to create in"
+#: commands/publicationcmds.c:198
+#, c-format
 msgid "no schema has been selected for CURRENT_SCHEMA"
-msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
+msgstr "no se ha seleccionado ningún esquema para CURRENT_SCHEMA"
 
-#: commands/publicationcmds.c:502
-#, fuzzy
-#| msgid "System catalog modifications are currently disallowed."
+#: commands/publicationcmds.c:495
 msgid "System columns are not allowed."
-msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
+msgstr "Las columnas de sistema no son permitidas."
 
-#: commands/publicationcmds.c:509 commands/publicationcmds.c:514
-#: commands/publicationcmds.c:531
-#, fuzzy
-#| msgid "grouping operations are not allowed in %s"
+#: commands/publicationcmds.c:502 commands/publicationcmds.c:507
+#: commands/publicationcmds.c:524
 msgid "User-defined operators are not allowed."
-msgstr "no se permiten operaciones «grouping» en %s"
+msgstr "Los operadores definidos por el usuario no están permitidos."
 
-#: commands/publicationcmds.c:555
+#: commands/publicationcmds.c:548
 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed."
-msgstr ""
+msgstr "Sólo columnas, constantes, operadores built-in, tipos de datos built-in, configuraciones regionales built-in y funciones built-in inmutables son permitidas."
 
-#: commands/publicationcmds.c:567
-#, fuzzy
-#| msgid "set-returning functions are not allowed in %s"
+#: commands/publicationcmds.c:560
 msgid "User-defined types are not allowed."
-msgstr "no se permiten funciones que retornan conjuntos en %s"
+msgstr "Los tipos definidos por el usuario no están permitidos."
 
-#: commands/publicationcmds.c:570
-#, fuzzy
-#| msgid "set-returning functions are not allowed in %s"
+#: commands/publicationcmds.c:563
 msgid "User-defined or built-in mutable functions are not allowed."
-msgstr "no se permiten funciones que retornan conjuntos en %s"
+msgstr "Las funciones definidas por el usuario, o las que son mutables, no están permitidas."
 
-#: commands/publicationcmds.c:573
-#, fuzzy
-#| msgid "set-returning functions are not allowed in %s"
+#: commands/publicationcmds.c:566
 msgid "User-defined collations are not allowed."
-msgstr "no se permiten funciones que retornan conjuntos en %s"
+msgstr "Los «collations» definidos por el usuario no están permitidos."
 
-#: commands/publicationcmds.c:583
-#, fuzzy, c-format
-#| msgid "invalid publication_names syntax"
+#: commands/publicationcmds.c:576
+#, c-format
 msgid "invalid publication WHERE expression"
-msgstr "sintaxis de publication_names no válida"
+msgstr "sintaxis de cláusula WHERE de publicación no válida"
 
-#: commands/publicationcmds.c:636
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#: commands/publicationcmds.c:629
+#, c-format
 msgid "cannot use publication WHERE clause for relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede usar cláusula WHERE de la publicación para la relación «%s»"
 
-#: commands/publicationcmds.c:638
+#: commands/publicationcmds.c:631
 #, c-format
 msgid "WHERE clause cannot be used for a partitioned table when %s is false."
-msgstr ""
+msgstr "la cláusula WHERE no puede ser usada para una tabla particionada cuando %s es falso."
 
-#: commands/publicationcmds.c:709 commands/publicationcmds.c:723
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#: commands/publicationcmds.c:702 commands/publicationcmds.c:716
+#, c-format
 msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede usar lista de columnas para la relación «%s.%s» en la publicación «%s»"
 
-#: commands/publicationcmds.c:712
+#: commands/publicationcmds.c:705
 #, c-format
 msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements."
-msgstr ""
+msgstr "Las listas de columnas no pueden ser especificadas en publicaciones que contienen elementos FOR TABLES IN SCHEMA."
 
-#: commands/publicationcmds.c:726
+#: commands/publicationcmds.c:719
 #, c-format
 msgid "Column lists cannot be specified for partitioned tables when %s is false."
-msgstr ""
+msgstr "Las listas de columnas no pueden ser especificadas para tablas particionadas cuando %s es falso."
 
-#: commands/publicationcmds.c:761
+#: commands/publicationcmds.c:754
 #, c-format
 msgid "must be superuser to create FOR ALL TABLES publication"
 msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES"
 
-#: commands/publicationcmds.c:832
-#, fuzzy, c-format
-#| msgid "must be superuser to create FOR ALL TABLES publication"
+#: commands/publicationcmds.c:825
+#, c-format
 msgid "must be superuser to create FOR TABLES IN SCHEMA publication"
-msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES"
+msgstr "debe ser superusuario para crear publicaciones FOR TABLES IN SCHEMA"
 
-#: commands/publicationcmds.c:868
+#: commands/publicationcmds.c:861
 #, c-format
-msgid "wal_level is insufficient to publish logical changes"
-msgstr "wal_level es insuficiente para publicar cambios lógicos"
+msgid "\"wal_level\" is insufficient to publish logical changes"
+msgstr "«wal_level» es insuficiente para publicar cambios lógicos"
 
-#: commands/publicationcmds.c:869
-#, fuzzy, c-format
-#| msgid "Change wal_level to be logical or higher."
-msgid "Set wal_level to \"logical\" before creating subscriptions."
-msgstr "Cambie wal_level a logical o superior."
+#: commands/publicationcmds.c:862
+#, c-format
+msgid "Set \"wal_level\" to \"logical\" before creating subscriptions."
+msgstr "Cambie «wal_level» a «logical» antes de crear suscripciones."
 
-#: commands/publicationcmds.c:965 commands/publicationcmds.c:973
-#, fuzzy, c-format
-#| msgid "cannot set parameter \"%s\" within security-definer function"
+#: commands/publicationcmds.c:958 commands/publicationcmds.c:966
+#, c-format
 msgid "cannot set parameter \"%s\" to false for publication \"%s\""
-msgstr "no se puede definir el parámetro «%s» dentro una función security-definer"
+msgstr "no se puede definir el parámetro «%s» a falso para la publicación «%s»"
 
-#: commands/publicationcmds.c:968
+#: commands/publicationcmds.c:961
 #, c-format
 msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "La publicación contiene una cláusula WHERE para la tabla particionada «%s», que no está permitido cuando «%s» es falso."
 
-#: commands/publicationcmds.c:976
+#: commands/publicationcmds.c:969
 #, c-format
 msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "La publicación contiene una lista de columns para la tabla particionada «%s», que no está permitido cuando «%s» es falso."
 
-#: commands/publicationcmds.c:1299
-#, fuzzy, c-format
-#| msgid "cannot add schema \"%s\" to publication"
+#: commands/publicationcmds.c:1292
+#, c-format
 msgid "cannot add schema to publication \"%s\""
-msgstr "no se puede agregar el esquema «%s» a la partición"
+msgstr "no se puede agregar el esquema «%s» a la publicación"
 
-#: commands/publicationcmds.c:1301
+#: commands/publicationcmds.c:1294
 #, c-format
 msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication."
-msgstr ""
+msgstr "Los esquemas no pueden ser añadidos si alguna tabla que especifica una lista de columnas ya es parte de la publicación."
 
-#: commands/publicationcmds.c:1349
+#: commands/publicationcmds.c:1342
 #, c-format
 msgid "must be superuser to add or set schemas"
 msgstr "debe ser superusuario para agregar o definir esquemas"
 
-#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366
+#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "la publicación \"%s\" se define como FOR ALL TABLES"
 
-#: commands/publicationcmds.c:1360
-#, fuzzy, c-format
-#| msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
+#: commands/publicationcmds.c:1353
+#, c-format
 msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications."
-msgstr "Las tablas no se pueden agregar ni eliminar de las publicaciones FOR ALL TABLES."
+msgstr "No se pueden agregar ni eliminar esquemas de las publicaciones FOR ALL TABLES."
 
-#: commands/publicationcmds.c:1368
+#: commands/publicationcmds.c:1361
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "Las tablas no se pueden agregar ni eliminar de las publicaciones FOR ALL TABLES."
 
-#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431
-#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592
+#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424
+#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "no existe la publicación «%s»"
 
-#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657
-#, fuzzy, c-format
-#| msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
+#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650
+#, c-format
 msgid "conflicting or redundant WHERE clauses for table \"%s\""
-msgstr "declaraciones NULL/NOT NULL en conflicto o redundantes para la columna «%s»"
+msgstr "cláusulas WHERE en conflicto o redundantes para la tabla «%s»"
 
-#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669
-#, fuzzy, c-format
-#| msgid "conflicting or redundant options"
+#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662
+#, c-format
 msgid "conflicting or redundant column lists for table \"%s\""
-msgstr "opciones contradictorias o redundantes"
+msgstr "listas de columnas contradictorias o redundantes para la tabla «%s»"
 
-#: commands/publicationcmds.c:1803
-#, fuzzy, c-format
-#| msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
+#: commands/publicationcmds.c:1796
+#, c-format
 msgid "column list must not be specified in ALTER PUBLICATION ... DROP"
-msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY"
+msgstr "la lista de columnas no debe ser especificada en ALTER PUBLICATION ... DROP"
 
-#: commands/publicationcmds.c:1815
+#: commands/publicationcmds.c:1808
 #, c-format
 msgid "relation \"%s\" is not part of the publication"
 msgstr "relación «%s» no es parte de la publicación"
 
-#: commands/publicationcmds.c:1822
+#: commands/publicationcmds.c:1815
 #, c-format
 msgid "cannot use a WHERE clause when removing a table from a publication"
 msgstr "no se puede usar una cláusula WHERE cuando se elimina una tabla de una publicación"
 
-#: commands/publicationcmds.c:1882
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not part of the publication"
+#: commands/publicationcmds.c:1875
+#, c-format
 msgid "tables from schema \"%s\" are not part of the publication"
-msgstr "relación «%s» no es parte de la publicación"
+msgstr "las tablas del esquema «%s» no son parte de la publicación"
 
-#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932
+#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925
 #, c-format
 msgid "permission denied to change owner of publication \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño de la publicación «%s»"
 
-#: commands/publicationcmds.c:1927
+#: commands/publicationcmds.c:1920
 #, c-format
 msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgstr "El dueño de una publicación FOR ALL TABLES debe ser un superusuario."
 
-#: commands/publicationcmds.c:1934
-#, fuzzy, c-format
-#| msgid "The owner of a FOR ALL TABLES publication must be a superuser."
+#: commands/publicationcmds.c:1927
+#, c-format
 msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser."
-msgstr "El dueño de una publicación FOR ALL TABLES debe ser un superusuario."
+msgstr "El dueño de una publicación FOR TABLES IN SCHEMA debe ser un superusuario."
 
-#: commands/publicationcmds.c:2000
+#: commands/publicationcmds.c:1993
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "no existe la publicación con OID %u"
@@ -9715,3263 +10077,3276 @@ msgid "security labels are not supported for this type of object"
 msgstr "las etiquetas de seguirdad no están soportadas para este tipo de objeto"
 
 #: commands/seclabel.c:193
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#, c-format
 msgid "cannot set security label on relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede definir la etiqueta de seguridad en la relación «%s»"
 
-#: commands/sequence.c:754
+#: commands/sequence.c:748
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%lld)"
-msgstr ""
+msgstr "nextval: se alcanzó el valor máximo de la secuencia «%s» (%lld)"
 
-#: commands/sequence.c:773
+#: commands/sequence.c:767
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%lld)"
-msgstr ""
+msgstr "nextval: se alcanzó el valor mínimo de la secuencia «%s» (%lld)"
 
-#: commands/sequence.c:891
+#: commands/sequence.c:886
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval de la secuencia «%s» no está definido en esta sesión"
 
-#: commands/sequence.c:910 commands/sequence.c:916
+#: commands/sequence.c:905 commands/sequence.c:911
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval no está definido en esta sesión"
 
-#: commands/sequence.c:996
-#, fuzzy, c-format
-#| msgid "value %s out of bounds for option \"%s\""
+#: commands/sequence.c:991
+#, c-format
 msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)"
-msgstr "el valor %s está fuera del rango de la opción «%s»"
+msgstr "setval: el valor %lld está fuera del rango para la secuencia «%s» (%lld..%lld)"
 
-#: commands/sequence.c:1365
+#: commands/sequence.c:1354
 #, c-format
 msgid "invalid sequence option SEQUENCE NAME"
 msgstr "opción de secuencia no válida SEQUENCE NAME"
 
-#: commands/sequence.c:1391
+#: commands/sequence.c:1380
 #, c-format
 msgid "identity column type must be smallint, integer, or bigint"
 msgstr "el tipo de columna de identidad debe ser smallint, integer o bigint"
 
-#: commands/sequence.c:1392
+#: commands/sequence.c:1381
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
 msgstr "el tipo de secuencia debe ser smallint, integer o bigint"
 
-#: commands/sequence.c:1426
+#: commands/sequence.c:1415
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT no debe ser cero"
 
-#: commands/sequence.c:1474
-#, fuzzy, c-format
-#| msgid "value \"%s\" is out of range for type %s"
+#: commands/sequence.c:1463
+#, c-format
 msgid "MAXVALUE (%lld) is out of range for sequence data type %s"
-msgstr "el valor «%s» está fuera de rango para el tipo %s"
+msgstr "el MAXVALUE (%lld) está fuera de rango para el tipo de la secuencia %s"
 
-#: commands/sequence.c:1506
-#, fuzzy, c-format
-#| msgid "value \"%s\" is out of range for type %s"
+#: commands/sequence.c:1495
+#, c-format
 msgid "MINVALUE (%lld) is out of range for sequence data type %s"
-msgstr "el valor «%s» está fuera de rango para el tipo %s"
+msgstr "el MINVALUE (%lld) está fuera de rango para el tipo de la secuencia %s"
 
-#: commands/sequence.c:1514
+#: commands/sequence.c:1503
 #, c-format
 msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)"
-msgstr ""
+msgstr "MINVALUE (%lld) debe ser menor que MAXVALUE (%lld)"
 
-#: commands/sequence.c:1535
+#: commands/sequence.c:1524
 #, c-format
 msgid "START value (%lld) cannot be less than MINVALUE (%lld)"
-msgstr ""
+msgstr "el valor START (%lld) no puede ser menor que MINVALUE (%lld)"
 
-#: commands/sequence.c:1541
+#: commands/sequence.c:1530
 #, c-format
 msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)"
-msgstr ""
+msgstr "el valor START (%lld) no puede ser mayor que el MAXVALUE (%lld)"
 
-#: commands/sequence.c:1565
+#: commands/sequence.c:1554
 #, c-format
 msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)"
-msgstr ""
+msgstr "el valor RESTART (%lld) no puede ser menor que MINVALUE (%lld)"
 
-#: commands/sequence.c:1571
+#: commands/sequence.c:1560
 #, c-format
 msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)"
-msgstr ""
+msgstr "el valor RESTART (%lld) no puede ser mayor que MAXVALUE (%lld)"
 
-#: commands/sequence.c:1582
-#, fuzzy, c-format
-#| msgid "stride must be greater than zero"
+#: commands/sequence.c:1571
+#, c-format
 msgid "CACHE (%lld) must be greater than zero"
-msgstr "el intervalo de paso (stride) debe ser mayor que cero"
+msgstr "el CACHE (%lld) debe ser mayor que cero"
 
-#: commands/sequence.c:1618
+#: commands/sequence.c:1607
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "opción OWNED BY no válida"
 
-#: commands/sequence.c:1619
+#: commands/sequence.c:1608
 #, 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:1644
-#, fuzzy, c-format
-#| msgid "cannot move system relation \"%s\""
+#: commands/sequence.c:1633
+#, c-format
 msgid "sequence cannot be owned by relation \"%s\""
-msgstr "no se puede mover la relación de sistema «%s»"
+msgstr "la secuencia no puede ser poseída por la relación «%s»"
 
-#: commands/sequence.c:1652
+#: commands/sequence.c:1641
 #, 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:1656
+#: commands/sequence.c:1645
 #, 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/sequence.c:1678
+#: commands/sequence.c:1667
 #, c-format
 msgid "cannot change ownership of identity sequence"
 msgstr "no se puede cambiar el dueño de la secuencia de identidad"
 
-#: commands/sequence.c:1679 commands/tablecmds.c:13891
-#: commands/tablecmds.c:16488
+#: commands/sequence.c:1668 commands/tablecmds.c:14399
+#: commands/tablecmds.c:17093
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1886
+#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883
 #, c-format
 msgid "only a single relation is allowed in CREATE STATISTICS"
 msgstr "sólo se permite una relación en CREATE STATISTICS"
 
-#: commands/statscmds.c:136
-#, fuzzy, c-format
-#| msgid "cannot rewrite system relation \"%s\""
+#: commands/statscmds.c:133
+#, c-format
 msgid "cannot define statistics for relation \"%s\""
-msgstr "no se puede reescribir la relación de sistema «%s»"
+msgstr "no se puede definir estadísticas para la relación «%s»"
 
-#: commands/statscmds.c:190
+#: commands/statscmds.c:187
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "el objeto de estadísticas «%s» ya existe, omitiendo"
 
-#: commands/statscmds.c:198
+#: commands/statscmds.c:195
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "el objeto de estadísticas «%s» ya existe"
 
-#: commands/statscmds.c:209
+#: commands/statscmds.c:206
 #, c-format
 msgid "cannot have more than %d columns in statistics"
 msgstr "no se puede tener más de %d columnas en estadísticas"
 
-#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307
+#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "la creación de estadísticas en columnas de sistema no está soportada"
 
-#: commands/statscmds.c:257 commands/statscmds.c:280
+#: commands/statscmds.c:254 commands/statscmds.c:277
 #, c-format
 msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class"
 msgstr "la columna «%s» no puede ser usado en estadísticas porque su tipo %s no tiene una clase de operadores por omisión para btree"
 
-#: commands/statscmds.c:324
+#: commands/statscmds.c:321
 #, c-format
 msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class"
 msgstr "la expresión no puede ser usada en estadísticas multivariantes porque su tipo %s no tiene una clase de operadores por omisión para btree"
 
-#: commands/statscmds.c:345
+#: commands/statscmds.c:342
 #, c-format
 msgid "when building statistics on a single expression, statistics kinds may not be specified"
 msgstr "al crear estadísticas sobre una sola expresión, no se deben especificar tipos de estadísticas"
 
-#: commands/statscmds.c:374
+#: commands/statscmds.c:371
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "tipo de estadísticas «%s» no reconocido"
 
-#: commands/statscmds.c:403
+#: commands/statscmds.c:400
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "las estadísticas extendidas requieren al menos 2 columnas"
 
-#: commands/statscmds.c:421
+#: commands/statscmds.c:418
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "nombre de columna duplicado en definición de estadísticas"
 
-#: commands/statscmds.c:456
+#: commands/statscmds.c:453
 #, c-format
 msgid "duplicate expression in statistics definition"
 msgstr "expresión duplicada en definición de estadísticas"
 
-#: commands/statscmds.c:619 commands/tablecmds.c:8180
+#: commands/statscmds.c:628 commands/tablecmds.c:8640
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/statscmds.c:627 commands/tablecmds.c:8188
+#: commands/statscmds.c:636 commands/tablecmds.c:8648
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/statscmds.c:650
+#: commands/statscmds.c:660
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo"
 
-#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359
+#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "parámetro de suscripción no reconocido: «%s»"
 
-#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398
-#, fuzzy, c-format
-#| msgid "unrecognized section name: \"%s\""
+#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397
+#, c-format
 msgid "unrecognized origin value: \"%s\""
-msgstr "nombre de sección «%s» no reconocido"
+msgstr "valor de origen no reconocido: «%s»"
 
-#: commands/subscriptioncmds.c:350
-#, fuzzy, c-format
-#| msgid "invalid WAL location: \"%s\""
+#: commands/subscriptioncmds.c:363
+#, c-format
 msgid "invalid WAL location (LSN): %s"
-msgstr "ubicación de WAL no válida: «%s»"
+msgstr "ubicación de WAL (LSN) no válida: %s"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381
-#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410
-#: commands/subscriptioncmds.c:426
+#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394
+#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423
+#: commands/subscriptioncmds.c:439
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "%s y %s son opciones mutuamente excluyentes"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432
+#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "suscripción con %s también debe activar %s"
 
-#: commands/subscriptioncmds.c:494
-#, fuzzy, c-format
-#| msgid "could not receive list of replicated tables from the publisher: %s"
+#: commands/subscriptioncmds.c:506
+#, c-format
 msgid "could not receive list of publications from the publisher: %s"
-msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s"
+msgstr "no se pudo recibir la lista de publicaciones desde el publicador: %s"
 
-#: commands/subscriptioncmds.c:526
-#, fuzzy, c-format
-#| msgid "publication \"%s\" does not exist"
+#: commands/subscriptioncmds.c:538
+#, c-format
 msgid "publication %s does not exist on the publisher"
 msgid_plural "publications %s do not exist on the publisher"
-msgstr[0] "no existe la publicación «%s»"
-msgstr[1] "no existe la publicación «%s»"
+msgstr[0] "no existe la publicación «%s» en el “publisher”"
+msgstr[1] "no existen las publicaciones «%s» en el “publisher”"
 
-#: commands/subscriptioncmds.c:614
-#, fuzzy, c-format
-#| msgid "permission denied for subscription %s"
+#: commands/subscriptioncmds.c:626
+#, c-format
 msgid "permission denied to create subscription"
-msgstr "permiso denegado a la suscripción %s"
+msgstr "permiso denegado a crear suscripción"
 
-#: commands/subscriptioncmds.c:615
+#: commands/subscriptioncmds.c:627
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create subscriptions."
-msgstr ""
+msgstr "Sólo los roles con privilegio del rol «%s» pueden crear suscripciones."
 
-#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878
-#: replication/logical/tablesync.c:1304 replication/logical/worker.c:4616
+#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891
+#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345
+#: replication/logical/worker.c:4503
 #, c-format
 msgid "could not connect to the publisher: %s"
-msgstr "no se pudo connectar con el editor (publisher): %s"
+msgstr "no se pudo connectar con el publicador: %s"
 
-#: commands/subscriptioncmds.c:816
+#: commands/subscriptioncmds.c:829
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
-msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
+msgstr "se creó el slot de replicación «%s» en el publicador"
 
-#: commands/subscriptioncmds.c:828
-#, fuzzy, c-format
-#| msgid "subscription has no replication slot set"
+#: commands/subscriptioncmds.c:841
+#, c-format
 msgid "subscription was created, but is not connected"
-msgstr "la suscripción no tiene un slot de replicación establecido"
+msgstr "la suscripción fue creada, pero no está conectada"
 
-#: commands/subscriptioncmds.c:829
+#: commands/subscriptioncmds.c:842
 #, c-format
 msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription."
-msgstr ""
+msgstr "Para iniciar la replicacióñ, debe manualmente crear el slot de replicación, activar la suscripción, y refrescar la suscripción."
 
-#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502
-#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642
+#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590
+#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "no existe la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1152
+#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "no se puede establecer %s para la suscripción activada"
 
-#: commands/subscriptioncmds.c:1227
+#: commands/subscriptioncmds.c:1233
+#, fuzzy, c-format
+msgid "cannot set %s for a subscription that does not have a slot name"
+msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot"
+
+#: commands/subscriptioncmds.c:1279
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot"
 
-#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322
+#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1272
+#: commands/subscriptioncmds.c:1324
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336
-#, fuzzy, c-format
-#| msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
+#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388
+#, c-format
 msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled"
-msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas"
+msgstr "ALTER SUBSCRIPTION con «refresh» y «copy_data» no está permitido cuando «two_phase» está activo"
 
-#: commands/subscriptioncmds.c:1282
-#, fuzzy, c-format
-#| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
+#: commands/subscriptioncmds.c:1334
+#, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
-msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
-
-#. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1324
-#, fuzzy, c-format
-#| msgid "Use views instead."
-msgid "Use %s instead."
-msgstr "Use vistas en su lugar."
+msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION con refresh = false, o con copy_data=false, o use DROP/CREATE SUBSCRIPTION."
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1338
-#, fuzzy, c-format
-#| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
+#: commands/subscriptioncmds.c:1390
+#, c-format
 msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
-msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
+msgstr "Use %s con refresh = false, o con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1360
+#: commands/subscriptioncmds.c:1412
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1385
-#, fuzzy, c-format
-#| msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
+#: commands/subscriptioncmds.c:1437
+#, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled"
-msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas"
+msgstr "ALTER SUBSCRIPTION ... REFRESH con copy_data no está permitido cuando two_phase está activo"
 
-#: commands/subscriptioncmds.c:1386
+#: commands/subscriptioncmds.c:1438
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1421
+#: commands/subscriptioncmds.c:1473
 #, c-format
 msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
 msgstr "la ubicación de WAL a saltar (LSN %X/%X) debe ser mayor que el LSN de origen %X/%X"
 
-#: commands/subscriptioncmds.c:1506
+#: commands/subscriptioncmds.c:1594
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "no existe la suscripción «%s», omitiendo"
 
-#: commands/subscriptioncmds.c:1775
+#: commands/subscriptioncmds.c:1863
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
-msgstr "eliminando el slot de replicación «%s» en editor (publisher)"
+msgstr "eliminando el slot de replicación «%s» en publicador"
 
-#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792
+#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880
 #, c-format
 msgid "could not drop replication slot \"%s\" on publisher: %s"
-msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
+msgstr "no se pudo eliminar el slot de replicación «%s» en publicador: %s"
 
-#: commands/subscriptioncmds.c:1917
+#: commands/subscriptioncmds.c:2005
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "no existe la suscripción con OID %u"
 
-#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113
+#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
-msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s"
+msgstr "no se pudo recibir la lista de tablas replicadas desde el publicador: %s"
 
-#: commands/subscriptioncmds.c:2024
+#: commands/subscriptioncmds.c:2112
 #, c-format
 msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin"
-msgstr ""
+msgstr "la suscripción «%s» pidió copy_data con origin = NONE pero podría copiar datos que tenían un origen diferente"
 
-#: commands/subscriptioncmds.c:2026
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not part of the publication"
-msgid "Subscribed publication %s is subscribing to other publications."
-msgid_plural "Subscribed publications %s are subscribing to other publications."
-msgstr[0] "relación «%s» no es parte de la publicación"
-msgstr[1] "relación «%s» no es parte de la publicación"
+#: commands/subscriptioncmds.c:2114
+#, c-format
+msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions."
+msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions."
+msgstr[0] ""
+msgstr[1] ""
 
-#: commands/subscriptioncmds.c:2029
+#: commands/subscriptioncmds.c:2117
 #, c-format
 msgid "Verify that initial data copied from the publisher tables did not come from other origins."
-msgstr ""
+msgstr "Verifique que los datos iniciales copiados desde el publicador no vinieron de otros orígenes."
 
-#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:875
-#: replication/pgoutput/pgoutput.c:1115
-#, fuzzy, c-format
-#| msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
+#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906
+#: replication/pgoutput/pgoutput.c:1117
+#, c-format
 msgid "cannot use different column lists for table \"%s.%s\" in different publications"
-msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»"
+msgstr "no se puede usar distintas listas de columnas para la tabla «%s.%s» en distintas publicaciones"
 
-#: commands/subscriptioncmds.c:2185
+#: commands/subscriptioncmds.c:2273
 #, c-format
 msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s"
-msgstr "no se pudo conectar con el editor (publisher) al intentar eliminar el slot de replicación \"%s\": %s"
+msgstr "no se pudo conectar con el publicador al intentar eliminar el slot de replicación \"%s\": %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:2188
+#: commands/subscriptioncmds.c:2276
 #, c-format
-msgid "Use %s to disassociate the subscription from the slot."
-msgstr "Use %s para disociar la suscripción del slot."
+msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot."
+msgstr "Use %s para desactivar la suscripción, luego use %s para disociarla del slot."
 
-#: commands/subscriptioncmds.c:2218
+#: commands/subscriptioncmds.c:2307
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "nombre de publicación «%s» usado más de una vez"
 
-#: commands/subscriptioncmds.c:2262
+#: commands/subscriptioncmds.c:2351
 #, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
 msgstr "la publicación «%s» ya existe en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:2276
+#: commands/subscriptioncmds.c:2365
 #, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
 msgstr "la publicación «%s» no está en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:2287
+#: commands/subscriptioncmds.c:2376
 #, c-format
 msgid "cannot drop all the publications from a subscription"
 msgstr "no se puede eliminar todas las publicaciones de una suscripción"
 
-#: commands/subscriptioncmds.c:2344
-#, fuzzy, c-format
-#| msgid "%s requires a Boolean value"
+#: commands/subscriptioncmds.c:2433
+#, c-format
 msgid "%s requires a Boolean value or \"parallel\""
-msgstr "«%s» requiere un valor lógico (booleano)"
+msgstr "«%s» requiere un valor lógico (booleano) o “parallel”"
 
-#: commands/tablecmds.c:246 commands/tablecmds.c:288
+#: commands/tablecmds.c:255 commands/tablecmds.c:297
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "no existe la tabla «%s»"
 
-#: commands/tablecmds.c:247 commands/tablecmds.c:289
+#: commands/tablecmds.c:256 commands/tablecmds.c:298
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la tabla «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:249 commands/tablecmds.c:291
+#: commands/tablecmds.c:258 commands/tablecmds.c:300
 msgid "Use DROP TABLE to remove a table."
 msgstr "Use DROP TABLE para eliminar una tabla."
 
-#: commands/tablecmds.c:252
+#: commands/tablecmds.c:261
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "no existe la secuencia «%s»"
 
-#: commands/tablecmds.c:253
+#: commands/tablecmds.c:262
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la secuencia «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:255
+#: commands/tablecmds.c:264
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Use DROP SEQUENCE para eliminar una secuencia."
 
-#: commands/tablecmds.c:258
+#: commands/tablecmds.c:267
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "no existe la vista «%s»"
 
-#: commands/tablecmds.c:259
+#: commands/tablecmds.c:268
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vista «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:261
+#: commands/tablecmds.c:270
 msgid "Use DROP VIEW to remove a view."
 msgstr "Use DROP VIEW para eliminar una vista."
 
-#: commands/tablecmds.c:264
+#: commands/tablecmds.c:273
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "no existe la vista materializada «%s»"
 
-#: commands/tablecmds.c:265
+#: commands/tablecmds.c:274
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "la vista materializada «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:267
+#: commands/tablecmds.c:276
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
 
-#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19002
-#: parser/parse_utilcmd.c:2245
+#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648
+#: parser/parse_utilcmd.c:2226
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
 
-#: commands/tablecmds.c:271 commands/tablecmds.c:295
+#: commands/tablecmds.c:280 commands/tablecmds.c:304
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "el índice «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:273 commands/tablecmds.c:297
+#: commands/tablecmds.c:282 commands/tablecmds.c:306
 msgid "Use DROP INDEX to remove an index."
 msgstr "Use DROP INDEX para eliminar un índice."
 
-#: commands/tablecmds.c:278
+#: commands/tablecmds.c:287
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "«%s» no es un tipo"
 
-#: commands/tablecmds.c:279
+#: commands/tablecmds.c:288
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:282 commands/tablecmds.c:13730
-#: commands/tablecmds.c:16193
+#: commands/tablecmds.c:291 commands/tablecmds.c:14238
+#: commands/tablecmds.c:16798
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
 
-#: commands/tablecmds.c:283
+#: commands/tablecmds.c:292
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la tabla foránea «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:285
+#: commands/tablecmds.c:294
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:700
+#: commands/tablecmds.c:722
 #, 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:731
+#: commands/tablecmds.c:753
 #, 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:767 commands/tablecmds.c:15038
+#: commands/tablecmds.c:789 commands/tablecmds.c:15657
 #, 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:955
-#, c-format
-msgid "specifying a table access method is not supported on a partitioned table"
-msgstr "especificar un método de acceso de tablas no está soportado en tablas particionadas"
-
-#: commands/tablecmds.c:1048
+#: commands/tablecmds.c:1055
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "«%s» no está particionada"
 
-#: commands/tablecmds.c:1142
+#: commands/tablecmds.c:1149
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "no se puede particionar usando más de %d columnas"
 
-#: commands/tablecmds.c:1198
+#: commands/tablecmds.c:1205
 #, c-format
 msgid "cannot create foreign partition of partitioned table \"%s\""
 msgstr "no se puede crear una partición foránea en la tabla particionada «%s»"
 
-#: commands/tablecmds.c:1200
+#: commands/tablecmds.c:1207
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "La tabla «%s» contiene índices que son únicos."
 
-#: commands/tablecmds.c:1365
+#: commands/tablecmds.c:1326 commands/tablecmds.c:13254
+#, c-format
+msgid "too many array dimensions"
+msgstr "demasiadas dimensiones de array"
+
+#: commands/tablecmds.c:1331 parser/parse_clause.c:774
+#: parser/parse_relation.c:1912
+#, c-format
+msgid "column \"%s\" cannot be declared SETOF"
+msgstr "la columna «%s» no puede ser declarada SETOF"
+
+#: commands/tablecmds.c:1477
 #, 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:1369
+#: commands/tablecmds.c:1481
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:1473
+#: commands/tablecmds.c:1585
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "no se puede eliminar el índice particionado «%s» concurrentemente"
 
-#: commands/tablecmds.c:1761
+#: commands/tablecmds.c:1873
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "no se puede truncar ONLY una tabla particionada"
 
-#: commands/tablecmds.c:1762
+#: commands/tablecmds.c:1874
 #, c-format
 msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly."
 msgstr "No especifique la opción ONLY, o ejecute TRUNCATE ONLY en las particiones directamente."
 
-#: commands/tablecmds.c:1835
+#: commands/tablecmds.c:1947
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:2199
+#: commands/tablecmds.c:2308
 #, c-format
 msgid "cannot truncate foreign table \"%s\""
 msgstr "no se puede truncar la tabla foránea «%s»"
 
-#: commands/tablecmds.c:2256
+#: commands/tablecmds.c:2365
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:2488 commands/tablecmds.c:14935
+#: commands/tablecmds.c:2594 commands/tablecmds.c:15554
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "no se puede heredar de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:2493
+#: commands/tablecmds.c:2599
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "no se puede heredar de la partición «%s»"
 
-#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475
-#: parser/parse_utilcmd.c:2617
+#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456
+#: parser/parse_utilcmd.c:2598
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "la relación heredada «%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:2513
+#: commands/tablecmds.c:2619 commands/tablecmds.c:20412
 #, c-format
 msgid "cannot create a temporary relation as partition of permanent relation \"%s\""
 msgstr "no se puede crear una relación temporal como partición de la relación permanente «%s»"
 
-#: commands/tablecmds.c:2522 commands/tablecmds.c:14914
+#: commands/tablecmds.c:2628 commands/tablecmds.c:15533
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:2532 commands/tablecmds.c:14922
+#: commands/tablecmds.c:2638 commands/tablecmds.c:15541
 #, 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:2585
+#: commands/tablecmds.c:2779 commands/tablecmds.c:2833
+#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240
+#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710
+#: parser/parse_utilcmd.c:1818
 #, c-format
-msgid "merging multiple inherited definitions of column \"%s\""
-msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
+msgid "cannot convert whole-row table reference"
+msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
 
-#: commands/tablecmds.c:2597
+#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241
 #, c-format
-msgid "inherited column \"%s\" has a type conflict"
-msgstr "columna heredada «%s» tiene conflicto de tipos"
+msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
+msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:2599 commands/tablecmds.c:2628
-#: commands/tablecmds.c:2647 commands/tablecmds.c:2919
-#: commands/tablecmds.c:2955 commands/tablecmds.c:2971
-#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
-#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
-#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
-#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
-#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
-#: parser/parse_param.c:223
+#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284
 #, c-format
-msgid "%s versus %s"
-msgstr "%s versus %s"
+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:2612
+#: commands/tablecmds.c:2944 commands/tablecmds.c:3215
 #, c-format
-msgid "inherited column \"%s\" has a collation conflict"
-msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
+msgid "column \"%s\" inherits from generated column but specifies default"
+msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión"
 
-#: commands/tablecmds.c:2614 commands/tablecmds.c:2935
-#: commands/tablecmds.c:6849
+#: commands/tablecmds.c:2949 commands/tablecmds.c:3220
 #, c-format
-msgid "\"%s\" versus \"%s\""
-msgstr "«%s» versus «%s»"
+msgid "column \"%s\" inherits from generated column but specifies identity"
+msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad"
 
-#: commands/tablecmds.c:2626
+#: commands/tablecmds.c:2957 commands/tablecmds.c:3228
 #, c-format
-msgid "inherited column \"%s\" has a storage parameter conflict"
-msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
+msgid "child column \"%s\" specifies generation expression"
+msgstr "la columna hija «%s» especifica una expresión de generación de columna"
 
-#: commands/tablecmds.c:2645 commands/tablecmds.c:2969
+#: commands/tablecmds.c:2959 commands/tablecmds.c:3230
 #, c-format
-msgid "column \"%s\" has a compression method conflict"
-msgstr "la columna «%s» tiene conflicto de método de compresión"
+msgid "A child table column cannot be generated unless its parent column is."
+msgstr "Una columna de tabla hija no puede ser generada a menos que su columna padre lo sea."
 
-#: commands/tablecmds.c:2661
+#: commands/tablecmds.c:3005
 #, c-format
-msgid "inherited column \"%s\" has a generation conflict"
-msgstr "columna heredada «%s» tiene conflicto de generación"
+msgid "column \"%s\" inherits conflicting generation expressions"
+msgstr "la columna «%s» hereda expresiones de generación en conflicto"
 
-#: commands/tablecmds.c:2767 commands/tablecmds.c:2822
-#: commands/tablecmds.c:12456 parser/parse_utilcmd.c:1298
-#: parser/parse_utilcmd.c:1341 parser/parse_utilcmd.c:1740
-#: parser/parse_utilcmd.c:1848
+#: commands/tablecmds.c:3007
 #, c-format
-msgid "cannot convert whole-row table reference"
-msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
+msgid "To resolve the conflict, specify a generation expression explicitly."
+msgstr "Para resolver el conflicto, indique explícitamente una expresión de generación."
 
-#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299
+#: commands/tablecmds.c:3011
 #, c-format
-msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
-msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
+msgid "column \"%s\" inherits conflicting default values"
+msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342
+#: commands/tablecmds.c:3013
 #, 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»."
+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:3068
+#, 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:2901
+#: commands/tablecmds.c:3119
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2905
+#: commands/tablecmds.c:3123
 #, c-format
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "moviendo y mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2906
+#: commands/tablecmds.c:3124
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr "La columna especificada por el usuario fue movida a la posición de la columna heredada."
 
-#: commands/tablecmds.c:2917
+#: commands/tablecmds.c:3136
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2933
+#: commands/tablecmds.c:3138 commands/tablecmds.c:3172
+#: commands/tablecmds.c:3188 commands/tablecmds.c:3295
+#: commands/tablecmds.c:3328 commands/tablecmds.c:3344
+#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
+#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
+#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
+#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
+#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
+#: parser/parse_param.c:223
+#, c-format
+msgid "%s versus %s"
+msgstr "%s versus %s"
+
+#: commands/tablecmds.c:3150
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:2953
+#: commands/tablecmds.c:3152 commands/tablecmds.c:3314
+#: commands/tablecmds.c:7100
 #, c-format
-msgid "column \"%s\" has a storage parameter conflict"
-msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
+msgid "\"%s\" versus \"%s\""
+msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:2999 commands/tablecmds.c:3086
+#: commands/tablecmds.c:3170
 #, c-format
-msgid "column \"%s\" inherits from generated column but specifies default"
-msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión"
+msgid "column \"%s\" has a storage parameter conflict"
+msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:3004 commands/tablecmds.c:3091
+#: commands/tablecmds.c:3186 commands/tablecmds.c:3342
 #, c-format
-msgid "column \"%s\" inherits from generated column but specifies identity"
-msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad"
+msgid "column \"%s\" has a compression method conflict"
+msgstr "la columna «%s» tiene conflicto de método de compresión"
 
-#: commands/tablecmds.c:3012 commands/tablecmds.c:3099
+#: commands/tablecmds.c:3281
 #, c-format
-msgid "child column \"%s\" specifies generation expression"
-msgstr "la columna hija «%s» especifica una expresión de generación de columna"
-
-#: commands/tablecmds.c:3014 commands/tablecmds.c:3101
-#, fuzzy, c-format
-#| msgid "A generated column cannot reference another generated column."
-msgid "A child table column cannot be generated unless its parent column is."
-msgstr "Una columna generada no puede hacer referencia a otra columna generada."
+msgid "merging multiple inherited definitions of column \"%s\""
+msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:3147
+#: commands/tablecmds.c:3293
 #, c-format
-msgid "column \"%s\" inherits conflicting generation expressions"
-msgstr "la columna «%s» hereda expresiones de generación en conflicto"
-
-#: commands/tablecmds.c:3149
-#, fuzzy, c-format
-#| msgid "To resolve the conflict, specify a default explicitly."
-msgid "To resolve the conflict, specify a generation expression explicitly."
-msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
+msgid "inherited column \"%s\" has a type conflict"
+msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:3153
+#: commands/tablecmds.c:3312
 #, c-format
-msgid "column \"%s\" inherits conflicting default values"
-msgstr "la columna «%s» hereda valores por omisión no coincidentes"
+msgid "inherited column \"%s\" has a collation conflict"
+msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:3155
+#: commands/tablecmds.c:3326
 #, c-format
-msgid "To resolve the conflict, specify a default explicitly."
-msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
+msgid "inherited column \"%s\" has a storage parameter conflict"
+msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:3205
+#: commands/tablecmds.c:3354
 #, 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"
+msgid "inherited column \"%s\" has a generation conflict"
+msgstr "columna heredada «%s» tiene conflicto de generación"
 
-#: commands/tablecmds.c:3418
+#: commands/tablecmds.c:3585
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3488
+#: commands/tablecmds.c:3655
 #, 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:3507
-#, fuzzy, c-format
-#| msgid "cannot alter inherited column \"%s\" of relation \"%s\""
+#: commands/tablecmds.c:3674
+#, c-format
 msgid "cannot rename columns of relation \"%s\""
-msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»"
+msgstr "no se puede cambiar el nombre de columnas de la relación «%s»"
 
-#: commands/tablecmds.c:3602
+#: commands/tablecmds.c:3769
 #, 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:3634
+#: commands/tablecmds.c:3801
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:3649
+#: commands/tablecmds.c:3816
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:3801
+#: commands/tablecmds.c:3968
 #, 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:3808
+#: commands/tablecmds.c:3975
 #, 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:4105
+#: commands/tablecmds.c:4272
 #, 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:4114
+#: commands/tablecmds.c:4281
 #, 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:4581
+#: commands/tablecmds.c:4307
+#, c-format
+msgid "cannot alter temporary tables of other sessions"
+msgstr "no se pueden alterar tablas temporales de otras sesiones"
+
+#: commands/tablecmds.c:4788
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
 msgstr "no se puede modificar la partición «%s» teniendo un desprendimiento incompleto"
 
-#: commands/tablecmds.c:4774 commands/tablecmds.c:4789
+#: commands/tablecmds.c:4992 commands/tablecmds.c:5007
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "no se puede cambiar la opción de persistencia dos veces"
 
-#: commands/tablecmds.c:4810
-#, fuzzy, c-format
-#| msgid "cannot change inheritance of partitioned table"
-msgid "cannot change access method of a partitioned table"
-msgstr "no se puede cambiar la herencia de una tabla particionada"
-
-#: commands/tablecmds.c:4816
-#, fuzzy, c-format
-#| msgid "cannot have multiple SET TABLESPACE subcommands"
+#: commands/tablecmds.c:5028
+#, c-format
 msgid "cannot have multiple SET ACCESS METHOD subcommands"
-msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
+msgstr "no se pueden tener múltiples subórdenes SET ACCESS METHOD"
 
-#: commands/tablecmds.c:5537
+#: commands/tablecmds.c:5784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:5543
+#: commands/tablecmds.c:5790
 #, 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:5553
+#: commands/tablecmds.c:5802
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:6048
+#: commands/tablecmds.c:6297
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "la columna «%s» de la relación «%s» contiene valores null"
 
-#: commands/tablecmds.c:6065
+#: commands/tablecmds.c:6314
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "la restricción check «%s» de la relación «%s» es violada por alguna fila"
 
-#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388
+#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
 msgstr "la restricción de partición actualizada para la partición default «%s» sería violada por alguna fila"
 
-#: commands/tablecmds.c:6090
+#: commands/tablecmds.c:6339
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "la restricción de partición de la relación «%s» es violada por alguna fila"
 
 #. translator: %s is a group of some SQL keywords
-#: commands/tablecmds.c:6352
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not a parent of relation \"%s\""
+#: commands/tablecmds.c:6608
+#, c-format
 msgid "ALTER action %s cannot be performed on relation \"%s\""
-msgstr "relación «%s» no es un padre de la relación «%s»"
+msgstr "la acción ALTER %s no puede ser efecutada en la relación «%s»"
 
-#: commands/tablecmds.c:6607 commands/tablecmds.c:6614
+#: commands/tablecmds.c:6863 commands/tablecmds.c:6870
 #, 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:6621
+#: commands/tablecmds.c:6877
 #, 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:6628
+#: commands/tablecmds.c:6884
 #, 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:6684
+#: commands/tablecmds.c:6940
 #, 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:6686
+#: commands/tablecmds.c:6942
 #, 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:6732
+#: commands/tablecmds.c:6988
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:6759
+#: commands/tablecmds.c:7015
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:6812
+#: commands/tablecmds.c:7063
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "no se puede agregar una columna a una partición"
 
-#: commands/tablecmds.c:6841 commands/tablecmds.c:15165
+#: commands/tablecmds.c:7092 commands/tablecmds.c:15772
 #, 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:6847 commands/tablecmds.c:15172
+#: commands/tablecmds.c:7098 commands/tablecmds.c:15778
 #, 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:6865
+#: commands/tablecmds.c:7116
 #, 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:6908
+#: commands/tablecmds.c:7169
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr "no se puede agregar una columna de identidad recursivamente a una tabla que tiene tablas hijas"
 
-#: commands/tablecmds.c:7159
+#: commands/tablecmds.c:7382
 #, 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:7237
+#: commands/tablecmds.c:7460
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "la columna «%s» de la relación «%s» ya existe, omitiendo"
 
-#: commands/tablecmds.c:7244
+#: commands/tablecmds.c:7467
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:7310 commands/tablecmds.c:12094
+#: commands/tablecmds.c:7533 commands/tablecmds.c:12576
 #, c-format
 msgid "cannot remove constraint from only the partitioned table when partitions exist"
 msgstr "no se pueden eliminar restricciones sólo de la tabla particionada cuando existen particiones"
 
-#: commands/tablecmds.c:7311 commands/tablecmds.c:7628
-#: commands/tablecmds.c:8593 commands/tablecmds.c:12095
+#: commands/tablecmds.c:7534 commands/tablecmds.c:7848
+#: commands/tablecmds.c:8026 commands/tablecmds.c:8133
+#: commands/tablecmds.c:8250 commands/tablecmds.c:9069
+#: commands/tablecmds.c:12577
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "No especifique la opción ONLY."
 
-#: commands/tablecmds.c:7348 commands/tablecmds.c:7554
-#: commands/tablecmds.c:7696 commands/tablecmds.c:7810
-#: commands/tablecmds.c:7904 commands/tablecmds.c:7963
-#: commands/tablecmds.c:8082 commands/tablecmds.c:8221
-#: commands/tablecmds.c:8291 commands/tablecmds.c:8425
-#: commands/tablecmds.c:12249 commands/tablecmds.c:13753
-#: commands/tablecmds.c:16282
+#: commands/tablecmds.c:7570 commands/tablecmds.c:7774
+#: commands/tablecmds.c:7916 commands/tablecmds.c:8048
+#: commands/tablecmds.c:8177 commands/tablecmds.c:8271
+#: commands/tablecmds.c:8372 commands/tablecmds.c:8529
+#: commands/tablecmds.c:8682 commands/tablecmds.c:8763
+#: commands/tablecmds.c:8897 commands/tablecmds.c:12730
+#: commands/tablecmds.c:14261 commands/tablecmds.c:16887
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:7354 commands/tablecmds.c:7702
+#: commands/tablecmds.c:7576 commands/tablecmds.c:7922
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "la columna «%s» en la relación «%s» es una columna de identidad"
 
-#: commands/tablecmds.c:7397
+#: commands/tablecmds.c:7617
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:7402
+#: commands/tablecmds.c:7622
 #, c-format
 msgid "column \"%s\" is in index used as replica identity"
 msgstr "la columna «%s» se encuentra en un índice utilizado como identidad de réplica"
 
-#: commands/tablecmds.c:7425
+#: commands/tablecmds.c:7645
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "columna «%s» está marcada NOT NULL en la tabla padre"
 
-#: commands/tablecmds.c:7625 commands/tablecmds.c:9077
+#: commands/tablecmds.c:7845 commands/tablecmds.c:9553
 #, 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:7626
+#: commands/tablecmds.c:7846
 #, c-format
 msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
 msgstr "La columna «%s» de la relación «%s» no está previamente marcada NOT NULL."
 
-#: commands/tablecmds.c:7704
-#, c-format
-msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY en su lugar."
-
-#: commands/tablecmds.c:7709
+#: commands/tablecmds.c:7931
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "la columna «%s» en la relación «%s» es una columna generada"
 
-#: commands/tablecmds.c:7712
-#, c-format
-msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar."
+#: commands/tablecmds.c:8025
+#, fuzzy, c-format
+msgid "cannot add identity to a column of only the partitioned table"
+msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
+
+#: commands/tablecmds.c:8031
+#, fuzzy, c-format
+msgid "cannot add identity to a column of a partition"
+msgstr "no se puede agregar una columna a una partición"
 
-#: commands/tablecmds.c:7821
+#: commands/tablecmds.c:8059
 #, c-format
 msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added"
 msgstr "la columna «%s» en la relación «%s» debe ser declarada NOT NULL antes de que una identidad pueda agregarse"
 
-#: commands/tablecmds.c:7827
+#: commands/tablecmds.c:8065
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "la columna «%s» en la relación «%s» ya es una columna de identidad"
 
-#: commands/tablecmds.c:7833
+#: commands/tablecmds.c:8071
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "la columna «%s» en la relación «%s» ya tiene un valor por omisión"
 
-#: commands/tablecmds.c:7910 commands/tablecmds.c:7971
+#: commands/tablecmds.c:8132
+#, fuzzy, c-format
+msgid "cannot change identity column of only the partitioned table"
+msgstr "no se puede cambiar la herencia de una tabla particionada"
+
+#: commands/tablecmds.c:8138
+#, fuzzy, c-format
+msgid "cannot change identity column of a partition"
+msgstr "no puede cambiar la herencia de una partición"
+
+#: commands/tablecmds.c:8183 commands/tablecmds.c:8279
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "la columna «%s» en la relación «%s» no es una columna identidad"
 
-#: commands/tablecmds.c:7976
+#: commands/tablecmds.c:8249
+#, fuzzy, c-format
+msgid "cannot drop identity from a column of only the partitioned table"
+msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
+
+#: commands/tablecmds.c:8255
+#, fuzzy, c-format
+msgid "cannot drop identity from a column of a partition"
+msgstr "no se puede agregar una columna a una partición"
+
+#: commands/tablecmds.c:8284
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr "la columna «%s» de la relación «%s» no es una columna identidad, omitiendo"
 
-#: commands/tablecmds.c:8029
+#: commands/tablecmds.c:8378
+#, fuzzy, c-format
+msgid "column \"%s\" of relation \"%s\" is not a generated column"
+msgstr "la columna «%s» en la relación «%s» es una columna generada"
+
+#: commands/tablecmds.c:8476
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr "ALTER TABLE / DROP EXPRESSION se debe aplicar a las tablas hijas también"
 
-#: commands/tablecmds.c:8051
+#: commands/tablecmds.c:8498
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "no se puede eliminar la expresión de generación de una columna heredada"
 
-#: commands/tablecmds.c:8090
+#: commands/tablecmds.c:8537
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
 msgstr "la columna «%s» en la relación «%s» no es una columna generada almacenada"
 
-#: commands/tablecmds.c:8095
+#: commands/tablecmds.c:8542
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
 msgstr "la columna «%s» de la relación «%s» no es una columna generada almacenada, omitiendo"
 
-#: commands/tablecmds.c:8168
+#: commands/tablecmds.c:8620
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "no se puede referir a columnas que no son de índice por número"
 
-#: commands/tablecmds.c:8211
+#: commands/tablecmds.c:8672
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "no existe la columna número %d en la relación «%s»"
 
-#: commands/tablecmds.c:8230
+#: commands/tablecmds.c:8691
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "no se puede alterar estadísticas en la columna incluida «%s» del índice «%s»"
 
-#: commands/tablecmds.c:8235
+#: commands/tablecmds.c:8696
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr "no se puede alterar estadísticas en la columna no-de-expresión «%s» del índice «%s»"
 
-#: commands/tablecmds.c:8237
+#: commands/tablecmds.c:8698
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Altere las estadísticas en la columna de la tabla en su lugar."
 
-#: commands/tablecmds.c:8472
+#: commands/tablecmds.c:8944
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:8531
+#: commands/tablecmds.c:9007
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la columna «%s» en la relación «%s», omitiendo"
 
-#: commands/tablecmds.c:8544
+#: commands/tablecmds.c:9020
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:8554
+#: commands/tablecmds.c:9030
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:8567
+#: commands/tablecmds.c:9043
 #, c-format
 msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "no se puede eliminar la columna «%s» porque es parte de la llave de partición de la relación «%s»"
 
-#: commands/tablecmds.c:8592
+#: commands/tablecmds.c:9068
 #, c-format
 msgid "cannot drop column from only the partitioned table when partitions exist"
 msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
 
-#: commands/tablecmds.c:8797
+#: commands/tablecmds.c:9273
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX no está soportado en tablas particionadas"
 
-#: commands/tablecmds.c:8822
+#: commands/tablecmds.c:9298
 #, 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:9159
+#: commands/tablecmds.c:9635
 #, c-format
 msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/tablecmds.c:9165
+#: commands/tablecmds.c:9641
 #, c-format
 msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "no se puede agregar una llave foránea NOT VALID a la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/tablecmds.c:9168
+#: commands/tablecmds.c:9644
 #, c-format
 msgid "This feature is not yet supported on partitioned tables."
 msgstr "Esta característica no está aún soportada en tablas particionadas."
 
-#: commands/tablecmds.c:9175 commands/tablecmds.c:9631
+#: commands/tablecmds.c:9651 commands/tablecmds.c:10107
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:9198
+#: commands/tablecmds.c:9674
 #, 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:9205
+#: commands/tablecmds.c:9681
 #, 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:9211
+#: commands/tablecmds.c:9687
 #, 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:9215
+#: commands/tablecmds.c:9691
 #, 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:9279 commands/tablecmds.c:9285
+#: commands/tablecmds.c:9755 commands/tablecmds.c:9761
 #, c-format
 msgid "invalid %s action for foreign key constraint containing generated column"
 msgstr "acción %s no válida para restricción de llave foránea que contiene columnas generadas"
 
-#: commands/tablecmds.c:9301
+#: commands/tablecmds.c:9777
 #, 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:9408
+#: commands/tablecmds.c:9884
 #, 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:9410
+#: commands/tablecmds.c:9886
 #, 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:9567
+#: commands/tablecmds.c:10043
 #, c-format
 msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
 msgstr "la columna «%s» referenciada en la acción ON DELETE SET debe ser parte de la llave foránea"
 
-#: commands/tablecmds.c:9841 commands/tablecmds.c:10311
-#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920
+#: commands/tablecmds.c:10317 commands/tablecmds.c:10787
+#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "las restricciones de llave foránea no están soportadas en tablas foráneas"
 
-#: commands/tablecmds.c:10864 commands/tablecmds.c:11142
-#: commands/tablecmds.c:12051 commands/tablecmds.c:12126
+#: commands/tablecmds.c:11340 commands/tablecmds.c:11621
+#: commands/tablecmds.c:12533 commands/tablecmds.c:12607
 #, 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:10871
+#: commands/tablecmds.c:11347
 #, 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 restricción de llave foránea"
 
-#: commands/tablecmds.c:10909
+#: commands/tablecmds.c:11385
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:10912
+#: commands/tablecmds.c:11388
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr "La restricción «%s» deriva de la restricción «%s» de la relación «%s»."
 
-#: commands/tablecmds.c:10914
+#: commands/tablecmds.c:11390
 #, c-format
-msgid "You may alter the constraint it derives from, instead."
+msgid "You may alter the constraint it derives from instead."
 msgstr "En su lugar, puede modificar la restricción de la cual deriva."
 
-#: commands/tablecmds.c:11150
+#: commands/tablecmds.c:11629
 #, 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:11227
+#: commands/tablecmds.c:11706
 #, 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:11314
+#: commands/tablecmds.c:11793
 #, 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:11320
-#, fuzzy, c-format
-#| msgid "Generated columns cannot be used in COPY."
+#: commands/tablecmds.c:11799
+#, c-format
 msgid "system columns cannot be used in foreign keys"
-msgstr "Las columnas generadas no pueden usarse en COPY."
+msgstr "las columnas de sistema no pueden usarse en llaves foráneas"
 
-#: commands/tablecmds.c:11324
+#: commands/tablecmds.c:11803
 #, 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:11389
+#: commands/tablecmds.c:11868
 #, 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:11406
+#: commands/tablecmds.c:11885
 #, 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:11470
+#: commands/tablecmds.c:11953
 #, 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:11562
+#: commands/tablecmds.c:12045
 #, 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:11567
+#: commands/tablecmds.c:12050
 #, 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:12007
+#: commands/tablecmds.c:12489
 #, 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:12057
+#: commands/tablecmds.c:12539
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en la relación «%s», omitiendo"
 
-#: commands/tablecmds.c:12233
+#: commands/tablecmds.c:12714
 #, 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:12260
+#: commands/tablecmds.c:12741
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:12269
+#: commands/tablecmds.c:12750
 #, c-format
 msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "no se puede alterar la columna «%s» porque es parte de la llave de partición de la relación «%s»"
 
-#: commands/tablecmds.c:12319
+#: commands/tablecmds.c:12800
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "el resultado de la cláusula USING para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:12322
+#: commands/tablecmds.c:12803
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Puede ser necesario agregar un cast explícito."
 
-#: commands/tablecmds.c:12326
+#: commands/tablecmds.c:12807
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la columna «%s» no puede convertirse automáticamente al tipo %s"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:12329
+#: commands/tablecmds.c:12810
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Puede ser necesario especificar «USING %s::%s»."
 
-#: commands/tablecmds.c:12428
+#: commands/tablecmds.c:12909
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»"
 
-#: commands/tablecmds.c:12457
+#: commands/tablecmds.c:12938
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "La expresión USING contiene una referencia a la fila completa (whole-row)."
 
-#: commands/tablecmds.c:12468
+#: commands/tablecmds.c:12949
 #, 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:12593
+#: commands/tablecmds.c:13074
 #, 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:12631
+#: commands/tablecmds.c:13112
 #, c-format
 msgid "generation expression for column \"%s\" cannot be cast automatically to type %s"
 msgstr "la expresión de generación para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:12636
+#: commands/tablecmds.c:13117
 #, 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:12717
+#: commands/tablecmds.c:13421
 #, 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"
+msgid "cannot alter type of a column used by a function or procedure"
+msgstr "no se puede alterar el tipo de una columna usada en una función o procedimiento"
 
-#: commands/tablecmds.c:12718 commands/tablecmds.c:12737
-#: commands/tablecmds.c:12755
+#: commands/tablecmds.c:13422 commands/tablecmds.c:13437
+#: commands/tablecmds.c:13457 commands/tablecmds.c:13476
+#: commands/tablecmds.c:13535
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:12736
+#: commands/tablecmds.c:13436
+#, 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:13456
 #, 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:12754
+#: commands/tablecmds.c:13475
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "no se puede alterar el tipo de una columna usada en una definición de política"
 
-#: commands/tablecmds.c:12785
+#: commands/tablecmds.c:13506
 #, c-format
 msgid "cannot alter type of a column used by a generated column"
 msgstr "no se puede alterar el tipo de una columna usada por una columna generada"
 
-#: commands/tablecmds.c:12786
+#: commands/tablecmds.c:13507
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "La columna «%s» es usada por la columna generada «%s»."
 
-#: commands/tablecmds.c:13861 commands/tablecmds.c:13873
+#: commands/tablecmds.c:13534
+#, c-format
+msgid "cannot alter type of a column used by a publication WHERE clause"
+msgstr "no se puede alterar el tipo de una columna usada en una cláusula WHERE de publicación"
+
+#: commands/tablecmds.c:14369 commands/tablecmds.c:14381
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:13863 commands/tablecmds.c:13875
+#: commands/tablecmds.c:14371 commands/tablecmds.c:14383
 #, 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."
+msgid "Change the ownership of the index's table instead."
+msgstr "Cambie el dueño de la tabla del índice en su lugar."
 
-#: commands/tablecmds.c:13889
+#: commands/tablecmds.c:14397
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:13903 commands/tablecmds.c:17201
-#: commands/tablecmds.c:17220
+#: commands/tablecmds.c:14422
 #, c-format
-msgid "Use ALTER TYPE instead."
-msgstr "Considere usar ALTER TYPE."
-
-#: commands/tablecmds.c:13912
-#, fuzzy, c-format
-#| msgid "cannot change owner of index \"%s\""
 msgid "cannot change owner of relation \"%s\""
-msgstr "no se puede cambiar el dueño del índice «%s»"
+msgstr "no se puede cambiar el dueño de la relación «%s»"
 
-#: commands/tablecmds.c:14274
+#: commands/tablecmds.c:14889
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:14351
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#: commands/tablecmds.c:14966
+#, c-format
 msgid "cannot set options for relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede definir opciones para la relación «%s»"
 
-#: commands/tablecmds.c:14385 commands/view.c:445
+#: commands/tablecmds.c:15000 commands/view.c:440
 #, 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:14635
+#: commands/tablecmds.c:15250
 #, 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:14647
+#: commands/tablecmds.c:15262
 #, 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:14739
+#: commands/tablecmds.c:15354
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "cancelando porque el lock en la relación «%s.%s» no está disponible"
 
-#: commands/tablecmds.c:14755
+#: commands/tablecmds.c:15370
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
 
-#: commands/tablecmds.c:14873
+#: commands/tablecmds.c:15492
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:14878 commands/tablecmds.c:15396
+#: commands/tablecmds.c:15497 commands/tablecmds.c:15997
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "no puede cambiar la herencia de una partición"
 
-#: commands/tablecmds.c:14883
+#: commands/tablecmds.c:15502
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "no se puede cambiar la herencia de una tabla particionada"
 
-#: commands/tablecmds.c:14929
+#: commands/tablecmds.c:15548
 #, 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:14942
+#: commands/tablecmds.c:15561
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "no se puede heredar de una partición"
 
-#: commands/tablecmds.c:14964 commands/tablecmds.c:17841
+#: commands/tablecmds.c:15583 commands/tablecmds.c:18465
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:14965 commands/tablecmds.c:17842
+#: commands/tablecmds.c:15584 commands/tablecmds.c:18466
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:14978
+#: commands/tablecmds.c:15597
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr "el trigger «%s» impide a la tabla «%s» convertirse en hija de herencia"
 
-#: commands/tablecmds.c:14980
+#: commands/tablecmds.c:15599
 #, c-format
 msgid "ROW triggers with transition tables are not supported in inheritance hierarchies."
 msgstr "Los triggers ROW con tablas de transición no están permitidos en jerarquías de herencia."
 
-#: commands/tablecmds.c:15183
+#: commands/tablecmds.c:15788
 #, 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:15192
+#: commands/tablecmds.c:15797
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "columna «%s» en tabla hija debe ser una columna generada"
 
-#: commands/tablecmds.c:15197
-#, fuzzy, c-format
-#| msgid "column \"%s\" in child table must be a generated column"
+#: commands/tablecmds.c:15801
+#, c-format
 msgid "column \"%s\" in child table must not be a generated column"
-msgstr "columna «%s» en tabla hija debe ser una columna generada"
+msgstr "columna «%s» en tabla hija no puede ser una columna generada"
 
-#: commands/tablecmds.c:15228
+#: commands/tablecmds.c:15839
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:15316
+#: commands/tablecmds.c:15920
 #, 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:15324
+#: commands/tablecmds.c:15927
 #, 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:15335
+#: commands/tablecmds.c:15937
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID en la tabla hija «%s»"
 
-#: commands/tablecmds.c:15374
+#: commands/tablecmds.c:15975
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:15460
+#: commands/tablecmds.c:16061
 #, c-format
 msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
 msgstr "la partición «%s» ya tiene un desprendimiento pendiente en la tabla particionada «%s.%s»"
 
-#: commands/tablecmds.c:15489 commands/tablecmds.c:15537
+#: commands/tablecmds.c:16090 commands/tablecmds.c:16136
+#: parser/parse_utilcmd.c:3261
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "relación «%s» no es una partición de la relación «%s»"
 
-#: commands/tablecmds.c:15543
+#: commands/tablecmds.c:16142
 #, 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:15771
+#: commands/tablecmds.c:16369
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:15801
+#: commands/tablecmds.c:16399
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:15812
+#: commands/tablecmds.c:16410
 #, 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:15821
+#: commands/tablecmds.c:16419
 #, 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:15835
+#: commands/tablecmds.c:16433
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:15887
+#: commands/tablecmds.c:16485
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:16061
+#: commands/tablecmds.c:16659
 #, 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:16067
+#: commands/tablecmds.c:16665
 #, 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:16073
+#: commands/tablecmds.c:16671
 #, 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:16079
+#: commands/tablecmds.c:16677
 #, 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:16096
+#: commands/tablecmds.c:16694
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
 msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column %d es una columna de sistema"
 
-#: commands/tablecmds.c:16103
+#: commands/tablecmds.c:16701
 #, 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:16348
+#: commands/tablecmds.c:16953
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "no se puede cambiar el estado «logged» de la tabla «%s» porque es temporal"
 
-#: commands/tablecmds.c:16372
+#: commands/tablecmds.c:16977
 #, c-format
 msgid "cannot change table \"%s\" to unlogged because it is part of a publication"
 msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque es parte de una publicación"
 
-#: commands/tablecmds.c:16374
+#: commands/tablecmds.c:16979
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Las tablas «unlogged» no pueden replicarse."
 
-#: commands/tablecmds.c:16419
+#: commands/tablecmds.c:17024
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "no se pudo cambiar la tabla «%s» a «logged» porque hace referencia a la tabla «unlogged» «%s»"
 
-#: commands/tablecmds.c:16429
+#: commands/tablecmds.c:17034
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque hace referencia a la tabla «logged» «%s»"
 
-#: commands/tablecmds.c:16487
+#: commands/tablecmds.c:17092
 #, 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:16594
+#: commands/tablecmds.c:17197
 #, 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:17006
+#: commands/tablecmds.c:17618
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
 
-#: commands/tablecmds.c:17184
+#: commands/tablecmds.c:17771
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:17212
-#, fuzzy, c-format
-#| msgid "cannot change owner of index \"%s\""
+#: commands/tablecmds.c:17801
+#, c-format
 msgid "cannot change schema of index \"%s\""
-msgstr "no se puede cambiar el dueño del índice «%s»"
+msgstr "no se puede cambiar el esquema del índice «%s»"
 
-#: commands/tablecmds.c:17214 commands/tablecmds.c:17226
-#, fuzzy, c-format
-#| msgid "Change the ownership of the index's table, instead."
+#: commands/tablecmds.c:17803 commands/tablecmds.c:17817
+#, c-format
 msgid "Change the schema of the table instead."
-msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
+msgstr "Cambie el esquema de la tabla en su lugar."
 
-#: commands/tablecmds.c:17218
-#, fuzzy, c-format
-#| msgid "cannot convert Perl hash to non-composite type %s"
+#: commands/tablecmds.c:17807
+#, c-format
 msgid "cannot change schema of composite type \"%s\""
-msgstr "no se puede convertir un hash de Perl al tipo no compuesto %s"
+msgstr "no se puede cambiar el esquema del tipo compuesto «%s»"
 
-#: commands/tablecmds.c:17224
-#, fuzzy, c-format
-#| msgid "cannot change TOAST relation \"%s\""
+#: commands/tablecmds.c:17815
+#, c-format
 msgid "cannot change schema of TOAST table \"%s\""
-msgstr "no se puede cambiar la relación TOAST «%s»"
+msgstr "no se puede cambiar el esquema de la relación TOAST «%s»"
 
-#: commands/tablecmds.c:17256
+#: commands/tablecmds.c:17847
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "no se puede usar la estrategia de particionamiento «list» con más de una columna"
 
-#: commands/tablecmds.c:17322
+#: commands/tablecmds.c:17913
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "la columna «%s» nombrada en llave de particionamiento no existe"
 
-#: commands/tablecmds.c:17330
+#: commands/tablecmds.c:17921
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
 
-#: commands/tablecmds.c:17341 commands/tablecmds.c:17455
+#: commands/tablecmds.c:17932 commands/tablecmds.c:18022
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "no se puede usar una columna generada en llave de particionamiento"
 
-#: commands/tablecmds.c:17342 commands/tablecmds.c:17456 commands/trigger.c:663
+#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656
 #: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "La columna «%s» es una columna generada."
 
-#: commands/tablecmds.c:17418
-#, c-format
-msgid "functions in partition key expression must be marked IMMUTABLE"
-msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE"
-
-#: commands/tablecmds.c:17438
+#: commands/tablecmds.c:18005
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "las expresiones en la llave de particionamiento no pueden contener referencias a columnas de sistema"
 
-#: commands/tablecmds.c:17468
+#: commands/tablecmds.c:18052
+#, c-format
+msgid "functions in partition key expression must be marked IMMUTABLE"
+msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE"
+
+#: commands/tablecmds.c:18061
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "no se pueden usar expresiones constantes como llave de particionamiento"
 
-#: commands/tablecmds.c:17489
+#: commands/tablecmds.c:18082
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de particionamiento"
 
-#: commands/tablecmds.c:17524
+#: commands/tablecmds.c:18117
 #, c-format
 msgid "You must specify a hash operator class or define a default hash operator class for the data type."
 msgstr "Debe especificar una clase de operadores hash, o definir una clase de operadores por omisión para hash para el tipo de datos."
 
-#: commands/tablecmds.c:17530
+#: commands/tablecmds.c:18123
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr "Debe especificar una clase de operadores btree, o definir una clase de operadores por omisión para btree para el tipo de datos."
 
-#: commands/tablecmds.c:17781
+#: commands/tablecmds.c:18405
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "«%s» ya es una partición"
 
-#: commands/tablecmds.c:17787
+#: commands/tablecmds.c:18411
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "no puede adjuntar tabla tipada como partición"
 
-#: commands/tablecmds.c:17803
+#: commands/tablecmds.c:18427
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "no puede adjuntar hija de herencia como partición"
 
-#: commands/tablecmds.c:17817
+#: commands/tablecmds.c:18441
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "no puede adjuntar ancestro de herencia como partición"
 
-#: commands/tablecmds.c:17851
+#: commands/tablecmds.c:18475
 #, c-format
 msgid "cannot attach a temporary relation as partition of permanent relation \"%s\""
 msgstr "no se puede adjuntar una relación temporal como partición de la relación permanente «%s»"
 
-#: commands/tablecmds.c:17859
+#: commands/tablecmds.c:18483
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»"
 
-#: commands/tablecmds.c:17867
+#: commands/tablecmds.c:18491
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión"
 
-#: commands/tablecmds.c:17874
+#: commands/tablecmds.c:18498
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "no se adjuntar una relación temporal de otra sesión como partición"
 
-#: commands/tablecmds.c:17894
+#: commands/tablecmds.c:18518
+#, fuzzy, c-format
+msgid "table \"%s\" being attached contains an identity column \"%s\""
+msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»"
+
+#: commands/tablecmds.c:18520
+#, fuzzy, c-format
+msgid "The new partition may not contain an identity column."
+msgstr "La nueva partición sólo puede contener las columnas presentes en el padre."
+
+#: commands/tablecmds.c:18528
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "la tabla «%s» contiene la columna «%s» no encontrada en el padre «%s»"
 
-#: commands/tablecmds.c:17897
+#: commands/tablecmds.c:18531
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr "La nueva partición sólo puede contener las columnas presentes en el padre."
 
-#: commands/tablecmds.c:17909
+#: commands/tablecmds.c:18543
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "el trigger «%s» impide a la tabla «%s» devenir partición"
 
-#: commands/tablecmds.c:17911
+#: commands/tablecmds.c:18545
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions."
 msgstr "Los triggers ROW con tablas de transición no están soportados en particiones."
 
-#: commands/tablecmds.c:18090
+#: commands/tablecmds.c:18706
 #, c-format
 msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr "no se puede adjuntar la tabla foránea «%s» como partición de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:18093
+#: commands/tablecmds.c:18709
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "La tabla particionada «%s» contiene índices únicos."
 
-#: commands/tablecmds.c:18406
+#: commands/tablecmds.c:19031
 #, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
 msgstr "no se puede desprender particiones concurrentemente cuando existe una partición por omisión"
 
-#: commands/tablecmds.c:18515
+#: commands/tablecmds.c:19140
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "la tabla particionada «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:18521
+#: commands/tablecmds.c:19146
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "la partición «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:19036 commands/tablecmds.c:19056
-#: commands/tablecmds.c:19077 commands/tablecmds.c:19096
-#: commands/tablecmds.c:19138
+#: commands/tablecmds.c:19682 commands/tablecmds.c:19702
+#: commands/tablecmds.c:19723 commands/tablecmds.c:19742
+#: commands/tablecmds.c:19784
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "no se puede adjuntar el índice «%s» como partición del índice «%s»"
 
-#: commands/tablecmds.c:19039
+#: commands/tablecmds.c:19685
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "El índice «%s» ya está adjunto a otro índice."
 
-#: commands/tablecmds.c:19059
+#: commands/tablecmds.c:19705
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "El índice «%s» no es un índice en una partición de la tabla «%s»."
 
-#: commands/tablecmds.c:19080
+#: commands/tablecmds.c:19726
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Las definiciones de los índices no coinciden."
 
-#: commands/tablecmds.c:19099
+#: commands/tablecmds.c:19745
 #, c-format
 msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr "El índice «%s» pertenece a una restricción en la tabla «%s», pero no existe una restricción para el índice «%s»."
 
-#: commands/tablecmds.c:19141
+#: commands/tablecmds.c:19787
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Otro índice ya está adjunto para la partición «%s»."
 
-#: commands/tablecmds.c:19370
+#: commands/tablecmds.c:20023
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "el tipo de dato de columna %s no soporta compresión"
 
-#: commands/tablecmds.c:19377
+#: commands/tablecmds.c:20030
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "método de compresión «%s» no válido"
 
-#: commands/tablecmds.c:19403
+#: commands/tablecmds.c:20056
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:19413
+#: commands/tablecmds.c:20066
 #, 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/tablespace.c:199 commands/tablespace.c:650
+#: commands/tablecmds.c:20263
+#, fuzzy, c-format
+msgid "can not find partition for split partition row"
+msgstr "no se puede heredar de una partición"
+
+#: commands/tablecmds.c:20349
+#, fuzzy, c-format
+msgid "cannot create as partition of temporary relation of another session"
+msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión"
+
+#: commands/tablecmds.c:20420
+#, fuzzy, c-format
+msgid "cannot create a permanent relation as partition of temporary relation \"%s\""
+msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»"
+
+#: commands/tablespace.c:193 commands/tablespace.c:644
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "«%s» existe pero no es un directorio"
 
-#: commands/tablespace.c:230
+#: commands/tablespace.c:224
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "se ha denegado el permiso para crear el tablespace «%s»"
 
-#: commands/tablespace.c:232
+#: commands/tablespace.c:226
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Debe ser superusuario para crear tablespaces."
 
-#: commands/tablespace.c:248
+#: commands/tablespace.c:242
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "la ruta del tablespace no puede contener comillas simples"
 
-#: commands/tablespace.c:261
+#: commands/tablespace.c:255
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "la ubicación del tablespace debe ser una ruta absoluta"
 
-#: commands/tablespace.c:273
+#: commands/tablespace.c:267
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "la ruta «%s» del tablespace es demasiado larga"
 
-#: commands/tablespace.c:280
+#: commands/tablespace.c:274
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "la ubicación del tablespace no debe estar dentro del directorio de datos"
 
-#: commands/tablespace.c:289 commands/tablespace.c:976
+#: commands/tablespace.c:283 commands/tablespace.c:970
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:291 commands/tablespace.c:977
+#: commands/tablespace.c:285 commands/tablespace.c:971
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:310 commands/tablespace.c:998
+#: commands/tablespace.c:304 commands/tablespace.c:992
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:326
-#, fuzzy, c-format
-#| msgid "pg_type OID value not set when in binary upgrade mode"
+#: commands/tablespace.c:320
+#, c-format
 msgid "pg_tablespace OID value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
+msgstr "el valor de OID de pg_tablespace no se definió en modo de actualización binaria"
 
-#: commands/tablespace.c:431 commands/tablespace.c:959
-#: commands/tablespace.c:1048 commands/tablespace.c:1117
-#: commands/tablespace.c:1263 commands/tablespace.c:1466
+#: commands/tablespace.c:425 commands/tablespace.c:953
+#: commands/tablespace.c:1042 commands/tablespace.c:1111
+#: commands/tablespace.c:1257 commands/tablespace.c:1460
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
 
-#: commands/tablespace.c:437
+#: commands/tablespace.c:431
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, omitiendo"
 
-#: commands/tablespace.c:463
+#: commands/tablespace.c:457
 #, c-format
 msgid "tablespace \"%s\" cannot be dropped because some objects depend on it"
 msgstr "no se puede eliminar el tablespace «%s» porque otros objetos dependen de él"
 
-#: commands/tablespace.c:530
+#: commands/tablespace.c:524
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "el tablespace «%s» no está vacío"
 
-#: commands/tablespace.c:617
+#: commands/tablespace.c:611
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "no existe el directorio «%s»"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:612
 #, 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:623
+#: commands/tablespace.c:617
 #, 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:655
+#: commands/tablespace.c:649
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:833 commands/tablespace.c:919
+#: commands/tablespace.c:827 commands/tablespace.c:913
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:842 commands/tablespace.c:927
+#: commands/tablespace.c:836 commands/tablespace.c:921
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "«%s» no es un directorio o enlace simbólico"
 
-#: commands/tablespace.c:1122
+#: commands/tablespace.c:1116
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1568
+#: commands/tablespace.c:1562
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "algunos directorios para el tablespace %u no pudieron eliminarse"
 
-#: commands/tablespace.c:1570
+#: commands/tablespace.c:1564
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puede eliminar los directorios manualmente, si es necesario."
 
-#: commands/trigger.c:232 commands/trigger.c:243
+#: commands/trigger.c:225 commands/trigger.c:236
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:234 commands/trigger.c:245
+#: commands/trigger.c:227 commands/trigger.c:238
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:266
+#: commands/trigger.c:259
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "«%s» es una tabla particionada"
 
-#: commands/trigger.c:268
-#, fuzzy, c-format
-#| msgid "ROW triggers with transition tables are not supported on partitions."
+#: commands/trigger.c:261
+#, c-format
 msgid "ROW triggers with transition tables are not supported on partitioned tables."
-msgstr "Los triggers ROW con tablas de transición no están soportados en particiones."
+msgstr "Los triggers ROW con tablas de transición no están soportados en tablas particionadas."
 
-#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451
+#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:282
+#: commands/trigger.c:275
 #, 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:289
+#: commands/trigger.c:282
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444
+#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "«%s» es una tabla foránea"
 
-#: commands/trigger.c:299
+#: commands/trigger.c:292
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:311
+#: commands/trigger.c:304
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores de restricción."
 
-#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439
-#, fuzzy, c-format
-#| msgid "relation \"%s\" does not exist"
+#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432
+#, c-format
 msgid "relation \"%s\" cannot have triggers"
-msgstr "no existe la relación «%s»"
+msgstr "la relación «%s» no puede tener triggers."
 
-#: commands/trigger.c:387
+#: commands/trigger.c:380
 #, 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:395
+#: commands/trigger.c:388
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:399
+#: commands/trigger.c:392
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:403
+#: commands/trigger.c:396
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:432
+#: commands/trigger.c:425
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "dar nombre a una variable ROW en la cláusula REFERENCING no está soportado"
 
-#: commands/trigger.c:433
+#: commands/trigger.c:426
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "utilice OLD TABLE o NEW TABLE para nombrar tablas de transición."
 
-#: commands/trigger.c:446
+#: commands/trigger.c:439
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Las tablas foráneas no pueden tener tablas de transición."
 
-#: commands/trigger.c:453
+#: commands/trigger.c:446
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Las triggers en vistas no pueden tener tablas de transición."
 
-#: commands/trigger.c:469
+#: commands/trigger.c:462
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions"
 msgstr "los triggers ROW con tablas de transición no están soportados en particiones"
 
-#: commands/trigger.c:473
+#: commands/trigger.c:466
 #, c-format
 msgid "ROW triggers with transition tables are not supported on inheritance children"
 msgstr "los triggers ROW con tablas de transición no están soportados con hijas de herencia"
 
-#: commands/trigger.c:479
+#: commands/trigger.c:472
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "el nombre de la tabla de transición solo se puede especificar para un disparador AFTER"
 
-#: commands/trigger.c:484
+#: commands/trigger.c:477
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "los triggers TRUNCATE con tablas de transición no están soportados"
 
-#: commands/trigger.c:501
+#: commands/trigger.c:494
 #, c-format
 msgid "transition tables cannot be specified for triggers with more than one event"
 msgstr "las tablas de transición no pueden especificarse para triggers con más de un evento"
 
-#: commands/trigger.c:512
+#: commands/trigger.c:505
 #, c-format
 msgid "transition tables cannot be specified for triggers with column lists"
 msgstr "las tablas de transición no pueden especificarse para triggers con lista de columnas"
 
-#: commands/trigger.c:529
+#: commands/trigger.c:522
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE sólo se puede especificar para un disparador INSERT o UPDATE"
 
-#: commands/trigger.c:534
+#: commands/trigger.c:527
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:544
+#: commands/trigger.c:537
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE sólo se puede especificar para un disparador DELETE o UPDATE"
 
-#: commands/trigger.c:549
+#: commands/trigger.c:542
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:559
+#: commands/trigger.c:552
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "el nombre de OLD TABLE y el nombre de NEW TABLE no pueden ser iguales"
 
-#: commands/trigger.c:623 commands/trigger.c:636
+#: commands/trigger.c:616 commands/trigger.c:629
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "la condición WHEN de un disparador por sentencias no pueden referirse a los valores de las columnas"
 
-#: commands/trigger.c:628
+#: commands/trigger.c:621
 #, 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:641
+#: commands/trigger.c:634
 #, 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:646
+#: commands/trigger.c:639
 #, 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:654 commands/trigger.c:662
+#: commands/trigger.c:647 commands/trigger.c:655
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr "la condición WHEN del trigger BEFORE no puede hacer referencia a columnas NEW generadas"
 
-#: commands/trigger.c:655
+#: commands/trigger.c:648
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr "Se utiliza una referencia de la tupla completa, y la tabla contiene columnas generadas"
 
-#: commands/trigger.c:770 commands/trigger.c:1614
+#: commands/trigger.c:763 commands/trigger.c:1607
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:783
-#, fuzzy, c-format
-#| msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
+#: commands/trigger.c:776
+#, c-format
 msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger"
-msgstr "disparador «%s» para la relación «%s» es un disparador de restricción"
+msgstr "trigger «%s» para la relación «%s» es interno o derivado"
 
-#: commands/trigger.c:802
+#: commands/trigger.c:795
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgstr "disparador «%s» para la relación «%s» es un disparador de restricción"
 
-#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838
+#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1529
-#, fuzzy, c-format
-#| msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
+#: commands/trigger.c:1522
+#, c-format
 msgid "cannot rename trigger \"%s\" on table \"%s\""
-msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»"
+msgstr "no se puede cambiar el nombre del trigger «%s» en tabla «%s»"
 
-#: commands/trigger.c:1531
-#, fuzzy, c-format
-#| msgid "Change the ownership of the index's table, instead."
+#: commands/trigger.c:1524
+#, c-format
 msgid "Rename the trigger on the partitioned table \"%s\" instead."
-msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
+msgstr "Cambie el nombre del trigger en la tabla particionada «%s» en su lugar."
 
-#: commands/trigger.c:1631
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#: commands/trigger.c:1624
+#, c-format
 msgid "renamed trigger \"%s\" on relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "se renombró el trigger «%s» en la relación «%s»"
 
-#: commands/trigger.c:1777
+#: commands/trigger.c:1770
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
 
-#: commands/trigger.c:2386
+#: commands/trigger.c:2379
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917
-#: commands/trigger.c:3252
+#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910
+#: commands/trigger.c:3263
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2522
+#: commands/trigger.c:2515
 #, c-format
 msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported"
 msgstr "mover registros a otra partición durante un trigger BEFORE FOR EACH ROW no está soportado"
 
-#: commands/trigger.c:2523
+#: commands/trigger.c:2516
 #, c-format
 msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
 msgstr "Antes de ejecutar el trigger «%s», la fila iba a estar en la partición «%s.%s»."
 
-#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363
-#: executor/nodeModifyTable.c:2446
+#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373
+#: executor/nodeModifyTable.c:2456
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual"
 
-#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531
-#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364
-#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3077
+#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541
+#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374
+#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093
+#: executor/nodeModifyTable.c:3254
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considere usar un disparador AFTER en lugar de un disparador BEFORE para propagar cambios a otros registros."
 
-#: commands/trigger.c:3371 executor/nodeLockRows.c:228
-#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308
-#: executor/nodeModifyTable.c:1547 executor/nodeModifyTable.c:2381
-#: executor/nodeModifyTable.c:2589
+#: commands/trigger.c:3382 executor/nodeLockRows.c:228
+#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314
+#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391
+#: executor/nodeModifyTable.c:2599
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "no se pudo serializar el acceso debido a un update concurrente"
 
-#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637
-#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613
-#: executor/nodeModifyTable.c:2965
+#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647
+#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623
+#: executor/nodeModifyTable.c:3111
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "no se pudo serializar el acceso debido a un delete concurrente"
 
-#: commands/trigger.c:4555
+#: commands/trigger.c:4601
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr "no se puede ejecutar un disparador postergado dentro de una operación restringida por seguridad"
 
-#: commands/trigger.c:5738
+#: commands/trigger.c:5782
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:5761
+#: commands/trigger.c:5805
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
 
-#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635
+#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641
 #, c-format
 msgid "function %s should return type %s"
 msgstr "la función %s debería retornar el tipo %s"
 
-#: commands/tsearchcmds.c:194
+#: commands/tsearchcmds.c:200
 #, c-format
 msgid "must be superuser to create text search parsers"
 msgstr "debe ser superusuario para crear analizadores de búsqueda en texto"
 
-#: commands/tsearchcmds.c:247
+#: commands/tsearchcmds.c:253
 #, c-format
 msgid "text search parser parameter \"%s\" not recognized"
 msgstr "el parámetro de analizador de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:257
+#: commands/tsearchcmds.c:263
 #, c-format
 msgid "text search parser start method is required"
 msgstr "el método «start» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:262
+#: commands/tsearchcmds.c:268
 #, c-format
 msgid "text search parser gettoken method is required"
 msgstr "el método «gettoken» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:267
+#: commands/tsearchcmds.c:273
 #, c-format
 msgid "text search parser end method is required"
 msgstr "el método «end» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:272
+#: commands/tsearchcmds.c:278
 #, c-format
 msgid "text search parser lextypes method is required"
 msgstr "el método «lextypes» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:366
+#: commands/tsearchcmds.c:372
 #, c-format
 msgid "text search template \"%s\" does not accept options"
 msgstr "la plantilla de búsquede en texto «%s» no acepta opciones"
 
-#: commands/tsearchcmds.c:440
+#: commands/tsearchcmds.c:446
 #, c-format
 msgid "text search template is required"
 msgstr "la plantilla de búsqueda en texto es obligatoria"
 
-#: commands/tsearchcmds.c:701
+#: commands/tsearchcmds.c:707
 #, c-format
 msgid "must be superuser to create text search templates"
 msgstr "debe ser superusuario para crear una plantilla de búsqueda en texto"
 
-#: commands/tsearchcmds.c:743
+#: commands/tsearchcmds.c:749
 #, c-format
 msgid "text search template parameter \"%s\" not recognized"
 msgstr "el parámetro de la plantilla de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:753
+#: commands/tsearchcmds.c:759
 #, c-format
 msgid "text search template lexize method is required"
 msgstr "el método «lexize» de la plantilla de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:933
+#: commands/tsearchcmds.c:939
 #, c-format
 msgid "text search configuration parameter \"%s\" not recognized"
 msgstr "el parámetro de configuración de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:940
+#: commands/tsearchcmds.c:946
 #, c-format
 msgid "cannot specify both PARSER and COPY options"
 msgstr "no se puede especificar simultáneamente las opciones PARSER y COPY"
 
-#: commands/tsearchcmds.c:976
+#: commands/tsearchcmds.c:982
 #, c-format
 msgid "text search parser is required"
 msgstr "el analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:1241
+#: commands/tsearchcmds.c:1277
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "no existe el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1501
+#: commands/tsearchcmds.c:1540
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "no existe un mapeo para el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1507
+#: commands/tsearchcmds.c:1546
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr "el mapeo para el tipo de elemento «%s» no existe, omitiendo"
 
-#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785
+#: commands/tsearchcmds.c:1707 commands/tsearchcmds.c:1822
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "el formato de la lista de parámetros no es válido: «%s»"
 
-#: commands/typecmds.c:217
+#: commands/typecmds.c:221
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "debe ser superusuario para crear un tipo base"
 
-#: commands/typecmds.c:275
+#: commands/typecmds.c:279
 #, c-format
 msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE."
 msgstr "Cree el tipo como un tipo inconcluso, luego cree sus funciones de I/O, luego haga un CREATE TYPE completo."
 
-#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257
+#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "el atributo de tipo «%s» no es reconocido"
 
-#: commands/typecmds.c:382
+#: commands/typecmds.c:386
 #, 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:401
+#: commands/typecmds.c:405
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "el tipo de elemento de array no puede ser %s"
 
-#: commands/typecmds.c:433
+#: commands/typecmds.c:437
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "el alineamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:450 commands/typecmds.c:4131
+#: commands/typecmds.c:454 commands/typecmds.c:4354
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "el almacenamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:461
+#: commands/typecmds.c:465
 #, c-format
 msgid "type input function must be specified"
 msgstr "debe especificarse la función de ingreso del tipo"
 
-#: commands/typecmds.c:465
+#: commands/typecmds.c:469
 #, c-format
 msgid "type output function must be specified"
 msgstr "debe especificarse la función de salida de tipo"
 
-#: commands/typecmds.c:470
+#: commands/typecmds.c:474
 #, 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:512
+#: commands/typecmds.c:516
 #, c-format
 msgid "element type cannot be specified without a subscripting function"
 msgstr "no se puede especificar tipo de elemento sin una función de subindexación"
 
-#: commands/typecmds.c:781
+#: commands/typecmds.c:785
 #, 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:879
+#: commands/typecmds.c:883
 #, c-format
 msgid "multiple default expressions"
 msgstr "múltiples expresiones default"
 
-#: commands/typecmds.c:942 commands/typecmds.c:951
+#: commands/typecmds.c:946 commands/typecmds.c:955
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "las restricciones NULL/NOT NULL no coinciden"
 
-#: commands/typecmds.c:967
+#: commands/typecmds.c:971
 #, 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:976 commands/typecmds.c:2956
+#: commands/typecmds.c:980 commands/typecmds.c:2940
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "no se pueden poner restricciones de unicidad a un dominio"
 
-#: commands/typecmds.c:982 commands/typecmds.c:2962
+#: commands/typecmds.c:986 commands/typecmds.c:2946
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave primaria a un dominio"
 
-#: commands/typecmds.c:988 commands/typecmds.c:2968
+#: commands/typecmds.c:992 commands/typecmds.c:2952
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "las restricciones de exclusión no son posibles para los dominios"
 
-#: commands/typecmds.c:994 commands/typecmds.c:2974
+#: commands/typecmds.c:998 commands/typecmds.c:2958
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave foránea a un dominio"
 
-#: commands/typecmds.c:1003 commands/typecmds.c:2983
+#: commands/typecmds.c:1007 commands/typecmds.c:2967
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio"
 
-#: commands/typecmds.c:1317 utils/cache/typcache.c:2561
+#: commands/typecmds.c:1327 utils/cache/typcache.c:2570
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
 
-#: commands/typecmds.c:1458
+#: commands/typecmds.c:1468
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "el atributo de tipo «subtype» es obligatorio"
 
-#: commands/typecmds.c:1463
+#: commands/typecmds.c:1473
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "el subtipo de rango no puede ser %s"
 
-#: commands/typecmds.c:1482
+#: commands/typecmds.c:1492
 #, 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:1492
+#: commands/typecmds.c:1502
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr "no se puede especificar una función canónica sin antes crear un tipo inconcluso"
 
-#: commands/typecmds.c:1493
+#: commands/typecmds.c:1503
 #, c-format
 msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE."
 msgstr "Cree el tipo como un tipo inconcluso, luego cree su función de canonicalización, luego haga un CREATE TYPE completo."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1975
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "la función de entrada %s del tipo tiene múltiples coincidencias"
 
-#: commands/typecmds.c:1983
+#: commands/typecmds.c:1993
 #, 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:1999
+#: commands/typecmds.c:2009
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "la función de entrada %s no debe ser volatile"
 
-#: commands/typecmds.c:2027
+#: commands/typecmds.c:2037
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "la función de salida %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2034
+#: commands/typecmds.c:2044
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "la función de salida %s no debe ser volatile"
 
-#: commands/typecmds.c:2063
+#: commands/typecmds.c:2073
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "la función de recepción %s del tipo tiene múltiples coincidencias"
 
-#: commands/typecmds.c:2081
+#: commands/typecmds.c:2091
 #, 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:2088
+#: commands/typecmds.c:2098
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "la función «receive» %s del tipo no debe ser volatile"
 
-#: commands/typecmds.c:2116
+#: commands/typecmds.c:2126
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "la función «send» %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2123
+#: commands/typecmds.c:2133
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "la función «send» %s no debe ser volatile"
 
-#: commands/typecmds.c:2150
+#: commands/typecmds.c:2160
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "la función typmod_in %s debe retornar tipo %s"
 
-#: commands/typecmds.c:2157
+#: commands/typecmds.c:2167
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "la función de modificadores de tipo %s no debe ser volatile"
 
-#: commands/typecmds.c:2184
+#: commands/typecmds.c:2194
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "la función typmod_out %s debe retornar tipo %s"
 
-#: commands/typecmds.c:2191
+#: commands/typecmds.c:2201
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "la función de salida de modificadores de tipo %s no debe ser volatile"
 
-#: commands/typecmds.c:2218
+#: commands/typecmds.c:2228
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "la función de análisis %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2247
+#: commands/typecmds.c:2257
 #, c-format
 msgid "type subscripting function %s must return type %s"
 msgstr "la función de subindexación %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2257
+#: commands/typecmds.c:2267
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
 msgstr "los tipos definidos por el usuario no pueden usar la función de subindexación %s"
 
-#: commands/typecmds.c:2303
+#: commands/typecmds.c:2313
 #, c-format
 msgid "You must specify an operator class for the range type or define a default 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:2334
+#: commands/typecmds.c:2344
 #, 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:2340
+#: commands/typecmds.c:2350
 #, 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:2376
+#: commands/typecmds.c:2386
 #, c-format
 msgid "range subtype diff function %s must return type %s"
 msgstr "la función «diff» de subtipo, %s, debe retornar tipo %s"
 
-#: commands/typecmds.c:2383
+#: commands/typecmds.c:2393
 #, 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:2410
+#: commands/typecmds.c:2420
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2443
+#: commands/typecmds.c:2453
 #, c-format
 msgid "pg_type multirange OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de multirango de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2476
+#: commands/typecmds.c:2486
 #, c-format
 msgid "pg_type multirange array OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de arreglo de multirango de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2772
-#, 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:2885 commands/typecmds.c:3086
+#: commands/typecmds.c:2868 commands/typecmds.c:3093
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en el dominio «%s»"
 
-#: commands/typecmds.c:2889
+#: commands/typecmds.c:2872
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en el dominio «%s», omitiendo"
 
-#: commands/typecmds.c:3093
+#: commands/typecmds.c:3100
 #, 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:3194
+#: commands/typecmds.c:3180
+#, 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:3269
 #, 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:3423 commands/typecmds.c:3622 commands/typecmds.c:3703
-#: commands/typecmds.c:3889
+#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857
+#: commands/typecmds.c:4073
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s no es un dominio"
 
-#: commands/typecmds.c:3455
+#: commands/typecmds.c:3532 commands/typecmds.c:3686
 #, 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:3506
+#: commands/typecmds.c:3583
 #, 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:3634 commands/typecmds.c:3715 commands/typecmds.c:4006
+#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s es el tipo de registro de una tabla"
 
-#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008
-#, c-format
-msgid "Use ALTER TABLE instead."
-msgstr "Considere usar ALTER TABLE."
-
-#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921
+#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "no se puede alterar el tipo de array «%s»"
 
-#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923
+#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
 
-#: commands/typecmds.c:3991
+#: commands/typecmds.c:3892
+#, fuzzy, c-format
+msgid "cannot alter multirange type %s"
+msgstr "no se puede alterar el tipo de array «%s»"
+
+#: commands/typecmds.c:3895
+#, fuzzy, c-format
+msgid "You can alter type %s, which will alter the multirange type as well."
+msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
+
+#: commands/typecmds.c:4202
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un tipo llamado «%s» en el esquema «%s»"
 
-#: commands/typecmds.c:4159
+#: commands/typecmds.c:4382
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "no se puede cambiar el almacenamiento del tipo a PLAIN"
 
-#: commands/typecmds.c:4252
+#: commands/typecmds.c:4475
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "el atributo de tipo «%s» no puede ser cambiado"
 
-#: commands/typecmds.c:4270
+#: commands/typecmds.c:4493
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "debe ser superusuario para alterar un tipo"
 
-#: commands/typecmds.c:4291 commands/typecmds.c:4300
+#: commands/typecmds.c:4514 commands/typecmds.c:4523
 #, c-format
 msgid "%s is not a base type"
 msgstr "«%s» no es un tipo base"
 
-#: commands/user.c:201
+#: commands/user.c:200
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID ya no puede ser especificado"
 
-#: commands/user.c:319 commands/user.c:325 commands/user.c:331
-#: commands/user.c:337 commands/user.c:343
+#: commands/user.c:318 commands/user.c:324 commands/user.c:330
+#: commands/user.c:336 commands/user.c:342
 #, c-format
 msgid "permission denied to create role"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:320
+#: commands/user.c:319
 #, c-format
 msgid "Only roles with the %s attribute may create roles."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s pueden crear roles."
 
-#: commands/user.c:326 commands/user.c:332 commands/user.c:338
-#: commands/user.c:344
+#: commands/user.c:325 commands/user.c:331 commands/user.c:337
+#: commands/user.c:343
 #, c-format
-msgid "Only roles with the %s attribute may create roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may create roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden crear roles con el atributo %s."
 
-#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400
-#: utils/adt/acl.c:5409 utils/adt/acl.c:5415 gram.y:16727 gram.y:16773
+#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393
+#: utils/adt/acl.c:5574 utils/adt/acl.c:5580 gram.y:17355 gram.y:17401
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "el nombre de rol «%s» está reservado"
 
-#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402
+#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Los nombres de rol que empiezan con «pg_» están reservados."
 
-#: commands/user.c:378 commands/user.c:1417
+#: commands/user.c:377 commands/user.c:1410
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "el rol «%s» ya existe"
 
-#: commands/user.c:440 commands/user.c:925
+#: commands/user.c:439 commands/user.c:924
 #, c-format
 msgid "empty string is not a valid password, clearing password"
 msgstr "la cadena vacía no es una contraseña válida, limpiando la contraseña"
 
-#: commands/user.c:469
+#: commands/user.c:468
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_authid no se definió en modo de actualización binaria"
 
-#: commands/user.c:653 commands/user.c:1011
-#, fuzzy
-#| msgid "cannot alter inherited column \"%s\""
+#: commands/user.c:652 commands/user.c:1010
 msgid "Cannot alter reserved roles."
-msgstr "no se puede alterar la columna heredada «%s»"
+msgstr "No se pueden alterar roles reservados."
 
-#: commands/user.c:760 commands/user.c:766 commands/user.c:782
-#: commands/user.c:790 commands/user.c:804 commands/user.c:810
-#: commands/user.c:816 commands/user.c:825 commands/user.c:870
-#: commands/user.c:1033 commands/user.c:1044
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: commands/user.c:759 commands/user.c:765 commands/user.c:781
+#: commands/user.c:789 commands/user.c:803 commands/user.c:809
+#: commands/user.c:815 commands/user.c:824 commands/user.c:869
+#: commands/user.c:1032 commands/user.c:1043
+#, c-format
 msgid "permission denied to alter role"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para alterar el rol"
 
-#: commands/user.c:761 commands/user.c:1034
+#: commands/user.c:760 commands/user.c:1033
 #, c-format
-msgid "Only roles with the %s attribute may alter roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may alter roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden alterar roles con el atributo %s."
 
-#: commands/user.c:767 commands/user.c:805 commands/user.c:811
-#: commands/user.c:817
+#: commands/user.c:766 commands/user.c:804 commands/user.c:810
+#: commands/user.c:816
 #, c-format
 msgid "Only roles with the %s attribute may change the %s attribute."
-msgstr ""
+msgstr "Sólo roles con el atributo %s pueden cambiar el atributo %s."
 
-#: commands/user.c:783 commands/user.c:1045
+#: commands/user.c:782 commands/user.c:1044
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may alter this role."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden alterar este rol."
 
-#: commands/user.c:791
+#: commands/user.c:790
 #, c-format
 msgid "To change another role's password, the current user must have the %s attribute and the %s option on the role."
-msgstr ""
+msgstr "Para cambiar la password de otro rol, el usuario actual debe tener el atributo %s y la opción %s en el rol."
 
-#: commands/user.c:826
+#: commands/user.c:825
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may add members."
-msgstr ""
+msgstr "Sólo los roles con la opción %s en el rol «%s» pueden agregar miembros."
 
-#: commands/user.c:871
+#: commands/user.c:870
 #, c-format
-msgid "The bootstrap user must have the %s attribute."
-msgstr ""
+msgid "The bootstrap superuser must have the %s attribute."
+msgstr "El superusuario de \"bootstrap\" debe tener el atributo %s."
 
-#: commands/user.c:1076
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: commands/user.c:1075
+#, c-format
 msgid "permission denied to alter setting"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para modificar la configuración"
 
-#: commands/user.c:1077
+#: commands/user.c:1076
 #, c-format
 msgid "Only roles with the %s attribute may alter settings globally."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s pueden modificar parámetros de configuración globalmente."
 
-#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179
+#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177
 #, c-format
 msgid "permission denied to drop role"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/user.c:1102
+#: commands/user.c:1101
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on the target roles may drop roles."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s y la opción %s en los roles de destino pueden borrar roles."
 
-#: commands/user.c:1127
+#: commands/user.c:1125
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "no se puede usar un especificador especial de rol en DROP ROLE"
 
-#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836
-#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926
-#: utils/adt/acl.c:359 utils/adt/acl.c:379 utils/adt/acl.c:5264
-#: utils/adt/acl.c:5312 utils/adt/acl.c:5340 utils/adt/acl.c:5359
-#: utils/adt/regproc.c:1551 utils/init/miscinit.c:757
+#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838
+#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950
+#: utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5429
+#: utils/adt/acl.c:5477 utils/adt/acl.c:5505 utils/adt/acl.c:5524
+#: utils/adt/regproc.c:1571 utils/init/miscinit.c:762
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
 
-#: commands/user.c:1142
+#: commands/user.c:1140
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "el rol «%s» no existe, omitiendo"
 
-#: commands/user.c:1155 commands/user.c:1159
+#: commands/user.c:1153 commands/user.c:1157
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "el usuario activo no puede ser eliminado"
 
-#: commands/user.c:1163
+#: commands/user.c:1161
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "no se puede eliminar un usuario de la sesión"
 
-#: commands/user.c:1174
+#: commands/user.c:1172
 #, c-format
-msgid "Only roles with the %s attribute may drop roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may drop roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden borrar roles con el atributo %s."
 
-#: commands/user.c:1180
+#: commands/user.c:1178
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden borrar este rol."
 
-#: commands/user.c:1306
+#: commands/user.c:1299
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "no se puede eliminar el rol «%s» porque otros objetos dependen de él"
 
-#: commands/user.c:1380
+#: commands/user.c:1373
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "no se puede cambiar el nombre a un usuario de la sesión"
 
-#: commands/user.c:1384
+#: commands/user.c:1377
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "no se puede cambiar el nombre al usuario activo"
 
-#: commands/user.c:1428 commands/user.c:1438
+#: commands/user.c:1421 commands/user.c:1431
 #, c-format
 msgid "permission denied to rename role"
 msgstr "se ha denegado el permiso para cambiar el nombre al rol"
 
-#: commands/user.c:1429
+#: commands/user.c:1422
 #, c-format
-msgid "Only roles with the %s attribute may rename roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may rename roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden cambiar nombre a roles con el atributo %s."
 
-#: commands/user.c:1439
+#: commands/user.c:1432
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role."
-msgstr ""
+msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden cambiar nombre a este rol."
 
-#: commands/user.c:1461
+#: commands/user.c:1454
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "la contraseña MD5 fue borrada debido al cambio de nombre del rol"
 
-#: commands/user.c:1525 gram.y:1263
+#: commands/user.c:1518 gram.y:1297
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "opción de rol «%s» no reconocida"
 
-#: commands/user.c:1530
-#, fuzzy, c-format
-#| msgid "unrecognized value for option %s: %s"
+#: commands/user.c:1523
+#, c-format
 msgid "unrecognized value for role option \"%s\": \"%s\""
-msgstr "valor no reconocido para la opción %s: %s"
+msgstr "valor no reconocido para la opción de rol «%s»: «%s»"
 
-#: commands/user.c:1563
+#: commands/user.c:1556
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "los nombres de columna no pueden ser incluidos en GRANT/REVOKE ROLE"
 
-#: commands/user.c:1603
+#: commands/user.c:1596
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "se ha denegado el permiso para eliminar objetos"
 
-#: commands/user.c:1604
+#: commands/user.c:1597
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may drop objects owned by it."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden borrar objetos de que es dueño."
 
-#: commands/user.c:1632 commands/user.c:1643
+#: commands/user.c:1625 commands/user.c:1636
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "se ha denegado el permiso para reasignar objetos"
 
-#: commands/user.c:1633
+#: commands/user.c:1626
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden reasignar objetos de que es dueño."
 
-#: commands/user.c:1644
+#: commands/user.c:1637
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may reassign objects to it."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden reasignar objetos a él."
 
-#: commands/user.c:1740
+#: commands/user.c:1733
 #, c-format
 msgid "role \"%s\" cannot be a member of any role"
 msgstr "el rol «%s» no puede ser miembro de ningún rol"
 
-#: commands/user.c:1753
+#: commands/user.c:1746
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:1793 commands/user.c:1819
-#, fuzzy, c-format
-#| msgid "grant options cannot be granted back to your own grantor"
+#: commands/user.c:1786 commands/user.c:1812
+#, c-format
 msgid "%s option cannot be granted back to your own grantor"
-msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó"
+msgstr "la opción %s no puede ser otorgada de vuelta a quien la otorgó"
 
-#: commands/user.c:1896
-#, fuzzy, c-format
-#| msgid "role \"%s\" is a member of role \"%s\""
+#: commands/user.c:1889
+#, c-format
 msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\""
-msgstr "el rol «%s» es un miembro del rol «%s»"
+msgstr "el rol «%s» ya recibió membresía en el rol «%s» por parte del rol «%s»"
 
-#: commands/user.c:2031
-#, fuzzy, c-format
-#| msgid "role \"%s\" cannot be a member of any role"
+#: commands/user.c:2024
+#, c-format
 msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\""
-msgstr "el rol «%s» no puede ser miembro de ningún rol"
+msgstr "al rol «%s» no se le ha otorgado membresía en el rol «%s» por parte del rol «%s»"
 
-#: commands/user.c:2131
+#: commands/user.c:2124
 #, c-format
 msgid "role \"%s\" cannot have explicit members"
 msgstr "el rol «%s» no puede tener miembros explícitos"
 
-#: commands/user.c:2142 commands/user.c:2165
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/user.c:2135 commands/user.c:2158
+#, c-format
 msgid "permission denied to grant role \"%s\""
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se ha denegado el permiso para otorgar el rol «%s»"
 
-#: commands/user.c:2144
+#: commands/user.c:2137
 #, c-format
-msgid "Only roles with the %s attribute may grant roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may grant roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden otorgar roles con el atributo %s."
 
-#: commands/user.c:2149 commands/user.c:2172
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/user.c:2142 commands/user.c:2165
+#, c-format
 msgid "permission denied to revoke role \"%s\""
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se ha denegado el permiso para revocar el rol «%s»"
 
-#: commands/user.c:2151
+#: commands/user.c:2144
 #, c-format
-msgid "Only roles with the %s attribute may revoke roles with %s."
-msgstr ""
+msgid "Only roles with the %s attribute may revoke roles with the %s attribute."
+msgstr "Sólo los roles con el atributo %s pueden revocar roles con el atributo %s."
 
-#: commands/user.c:2167
+#: commands/user.c:2160
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may grant this role."
-msgstr ""
+msgstr "Sólo los roles con la opción %s en el rol «%s» pueden otorgar este rol."
 
-#: commands/user.c:2174
+#: commands/user.c:2167
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may revoke this role."
-msgstr ""
+msgstr "Sólo los roles con la opción %s en el rol «%s» pueden revocar este rol."
 
-#: commands/user.c:2254 commands/user.c:2263
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/user.c:2247 commands/user.c:2256
+#, c-format
 msgid "permission denied to grant privileges as role \"%s\""
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se ha denegado el permiso para otorgar privilegio de rol «%s»"
 
-#: commands/user.c:2256
+#: commands/user.c:2249
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may grant privileges as this role."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden otorgar privilegios como este rol."
 
-#: commands/user.c:2265
-#, fuzzy, c-format
-#| msgid "cannot use the \"%s\" option with the \"%s\" option"
+#: commands/user.c:2258
+#, c-format
 msgid "The grantor must have the %s option on role \"%s\"."
-msgstr "no se puede usar la opción «%s» junto con la opción «%s»"
+msgstr "El otorgador debe tener la opción %s en el rol «%s»."
 
-#: commands/user.c:2273
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/user.c:2266
+#, c-format
 msgid "permission denied to revoke privileges granted by role \"%s\""
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se ha denegado el permiso a revocar permisos otorgados por el rol «%s»"
 
-#: commands/user.c:2275
+#: commands/user.c:2268
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden revocar privilegios otorgados por este rol."
 
-#: commands/user.c:2498 utils/adt/acl.c:1312
+#: commands/user.c:2491 utils/adt/acl.c:1324
 #, c-format
 msgid "dependent privileges exist"
 msgstr "existen privilegios dependientes"
 
-#: commands/user.c:2499 utils/adt/acl.c:1313
+#: commands/user.c:2492 utils/adt/acl.c:1325
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Use CASCADE para revocarlos también."
 
-#: commands/vacuum.c:138
+#: commands/vacuum.c:134
 #, c-format
 msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB"
-msgstr ""
+msgstr "«vacuum_buffer_usage_limit» debe ser 0 o estar entre %d kB y %d kB"
 
-#: commands/vacuum.c:210
-#, fuzzy, c-format
-#| msgid "NUMERIC precision %d must be between 1 and %d"
+#: commands/vacuum.c:209
+#, c-format
 msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB"
-msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d"
+msgstr "la opción BUFFER_USAGE_LIMIT debe ser 0 o estar entre %d kB y %d kB"
 
-#: commands/vacuum.c:220
+#: commands/vacuum.c:219
 #, c-format
 msgid "unrecognized ANALYZE option \"%s\""
 msgstr "opción de ANALYZE «%s» no reconocida"
 
-#: commands/vacuum.c:260
+#: commands/vacuum.c:259
 #, c-format
 msgid "parallel option requires a value between 0 and %d"
 msgstr "la opción parallel requiere un valor entre 0 y %d"
 
-#: commands/vacuum.c:272
+#: commands/vacuum.c:271
 #, c-format
 msgid "parallel workers for vacuum must be between 0 and %d"
 msgstr "el número de procesos paralelos para vacuum debe estar entre 0 y %d"
 
-#: commands/vacuum.c:293
+#: commands/vacuum.c:292
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "opción de VACUUM «%s» no reconocida"
 
-#: commands/vacuum.c:319
+#: commands/vacuum.c:318
 #, c-format
 msgid "VACUUM FULL cannot be performed in parallel"
 msgstr "VACUUM FULL no puede ser ejecutado en paralelo"
 
-#: commands/vacuum.c:330
+#: commands/vacuum.c:329
 #, c-format
 msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL"
-msgstr ""
+msgstr "BUFFER_USAGE_LIMIT no puede ser especificado para VACUUM FULL"
 
-#: commands/vacuum.c:344
+#: commands/vacuum.c:343
 #, c-format
 msgid "ANALYZE option must be specified when a column list is provided"
 msgstr "la opción ANALYZE debe especificarse cuando se provee una lista de columnas"
 
-#: commands/vacuum.c:356
+#: commands/vacuum.c:355
 #, c-format
 msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL"
 msgstr "la opción DISABLE_PAGE_SKIPPING de VACUUM no puede usarse con FULL"
 
-#: commands/vacuum.c:363
+#: commands/vacuum.c:362
 #, c-format
 msgid "PROCESS_TOAST required with VACUUM FULL"
 msgstr "se requiere especificar PROCESS_TOAST al hacer VACUUM FULL"
 
-#: commands/vacuum.c:372
-#, fuzzy, c-format
-#| msgid "OLD TABLE cannot be specified multiple times"
+#: commands/vacuum.c:371
+#, c-format
 msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables"
-msgstr "OLD TABLE no se puede especificar varias veces"
+msgstr "ONLY_DATABASE_STATS no se puede especificar con una lista de tablas"
 
-#: commands/vacuum.c:381
-#, fuzzy, c-format
-#| msgid "option \"%s\" cannot be specified with other options"
+#: commands/vacuum.c:380
+#, c-format
 msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options"
-msgstr "la opción «%s» no puede ser especificada con otras opciones"
+msgstr "ONLY_DATABASE_STATS no puede ser especificada con otras opciones de VACUUM"
 
-#: commands/vacuum.c:516
+#: commands/vacuum.c:515
 #, c-format
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s no puede ejecutarse desde VACUUM o ANALYZE"
 
-#: commands/vacuum.c:736
-#, fuzzy, c-format
-#| msgid "permission denied for column %s"
+#: commands/vacuum.c:730
+#, c-format
 msgid "permission denied to vacuum \"%s\", skipping it"
-msgstr "permiso denegado a la columna %s"
+msgstr "permiso denegado a hacer vacuum a «%s», ignorando"
 
-#: commands/vacuum.c:749
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/vacuum.c:743
+#, c-format
 msgid "permission denied to analyze \"%s\", skipping it"
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se ha denegado el permiso para hacer analyze a «%s», ignorando"
 
-#: commands/vacuum.c:827 commands/vacuum.c:924
+#: commands/vacuum.c:821 commands/vacuum.c:918
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:832
+#: commands/vacuum.c:826
 #, c-format
 msgid "skipping vacuum of \"%s\" --- relation no longer exists"
 msgstr "omitiendo el vacuum de «%s» --- la relación ya no existe"
 
-#: commands/vacuum.c:848 commands/vacuum.c:929
+#: commands/vacuum.c:842 commands/vacuum.c:923
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "omitiendo analyze de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:853
+#: commands/vacuum.c:847
 #, c-format
 msgid "skipping analyze of \"%s\" --- relation no longer exists"
 msgstr "omitiendo analyze de «%s» --- la relación ya no existe"
 
-#: commands/vacuum.c:1164
+#: commands/vacuum.c:1139
 #, c-format
 msgid "cutoff for removing and freezing tuples is far in the past"
-msgstr ""
+msgstr "el punto de corte para eliminar y congelar tuplas es demasiado antiguo"
 
-#: commands/vacuum.c:1165 commands/vacuum.c:1170
+#: commands/vacuum.c:1140 commands/vacuum.c:1145
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
 "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 msgstr ""
-"Cierre transaciones abiertas pronto para impedir problemas por reciclaje de contadores.\n"
+"Cierre transaciones abiertas pronto para impedir problemas por “wraparound”.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: commands/vacuum.c:1169
+#: commands/vacuum.c:1144
 #, c-format
 msgid "cutoff for freezing multixacts is far in the past"
-msgstr ""
+msgstr "el punto de corte para congelar multixacts es demasiado antiguo"
 
-#: commands/vacuum.c:1897
+#: commands/vacuum.c:1890
 #, 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:1898
+#: commands/vacuum.c:1891
 #, 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."
+msgstr "Puede haber sufrido ya problemas de pérdida de datos por “wraparound” del contador de transacciones."
 
-#: commands/vacuum.c:2063
+#: commands/vacuum.c:2070
 #, 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/vacuum.c:2488
-#, c-format
-msgid "scanned index \"%s\" to remove %d row versions"
+#: commands/vacuum.c:2502
+#, fuzzy, c-format
+msgid "scanned index \"%s\" to remove %lld row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: commands/vacuum.c:2507
+#: commands/vacuum.c:2521
 #, 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/vacuum.c:2511
+#: commands/vacuum.c:2525
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
 "%u index pages were newly deleted.\n"
 "%u index pages are currently deleted, of which %u are currently reusable."
 msgstr ""
+"%.0f versiones de filas de índice fueron eliminadas.\n"
+"%u páginas de índice fueron recién eliminadas.\n"
+"%u páginas de índice están actualmente eliminadas, de las cuales %u son actualmente reusables."
 
-#: commands/vacuumparallel.c:677
+#: commands/vacuumparallel.c:708
 #, c-format
 msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)"
 msgstr[0] "se lanzó %d proceso asistente para «vacuum» de índices (planeados: %d)"
 msgstr[1] "se lanzaron %d procesos asistentes para «vacuum» índices (planeados: %d)"
 
-#: commands/vacuumparallel.c:683
+#: commands/vacuumparallel.c:714
 #, c-format
 msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d)"
@@ -13033,7 +13408,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL debe ser llamado antes de cualquier cons
 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:606 storage/lmgr/predicate.c:1629
+#: commands/variable.c:606 storage/lmgr/predicate.c:1680
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "no se puede utilizar el modo serializable en un hot standby"
@@ -13065,91 +13440,100 @@ msgstr "No se puede cambiar «client_encoding» ahora."
 
 #: commands/variable.c:781
 #, c-format
-msgid "cannot change client_encoding during a parallel operation"
+msgid "cannot change \"client_encoding\" during a parallel operation"
 msgstr "no se puede cambiar «client_encoding» durante una operación paralela"
 
-#: commands/variable.c:948
+#: commands/variable.c:863
+#, fuzzy, c-format
+msgid "permission will be denied to set session authorization \"%s\""
+msgstr "se ha denegado el permiso para cambiar el usuario actual"
+
+#: commands/variable.c:868
+#, fuzzy, c-format
+msgid "permission denied to set session authorization \"%s\""
+msgstr "se ha denegado el permiso para cambiar el usuario actual"
+
+#: commands/variable.c:972
 #, c-format
 msgid "permission will be denied to set role \"%s\""
 msgstr "se denegará el permiso para definir el rol «%s»"
 
-#: commands/variable.c:953
+#: commands/variable.c:977
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/variable.c:1153
+#: commands/variable.c:1177
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour no está soportado en este servidor"
 
-#: commands/variable.c:1181
+#: commands/variable.c:1205
 #, c-format
-msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
-msgstr "effective_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
+msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
+msgstr "«effective_io_concurrency» debe ser 0 en plataformas que no tienen posix_fadvise()."
 
-#: commands/variable.c:1194
+#: commands/variable.c:1218
 #, c-format
-msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
-msgstr "maintenance_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
+msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
+msgstr "«maintenance_io_concurrency» debe ser 0 en plataformas que no tienen posix_fadvise()."
 
-#: commands/variable.c:1207
+#: commands/variable.c:1231
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL no está soportado en este servidor"
 
-#: commands/view.c:84
+#: commands/view.c:79
 #, 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:279 commands/view.c:290
+#: commands/view.c:274 commands/view.c:285
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "no se pueden eliminar columnas de una vista"
 
-#: commands/view.c:295
+#: commands/view.c:290
 #, 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:298
+#: commands/view.c:293
 #, c-format
 msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead."
 msgstr "Use ALTER VIEW ... RENAME COLUMN ... para cambiar el nombre de una columna de una vista."
 
-#: commands/view.c:309
+#: commands/view.c:304
 #, 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:323
-#, fuzzy, c-format
-#| msgid "cannot change data type of view column \"%s\" from %s to %s"
+#: commands/view.c:318
+#, c-format
 msgid "cannot change collation 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"
+msgstr "no se puede cambiar el ordenamiento de la columna «%s» de la vista de «%s» a «%s»"
 
-#: commands/view.c:392
+#: commands/view.c:387
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:404
+#: commands/view.c:399
 #, 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:474
+#: commands/view.c:469
 #, 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:482
+#: commands/view.c:477
 #, 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:496
+#: commands/view.c:491
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
@@ -13185,515 +13569,509 @@ 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:280 executor/execExprInterp.c:2497
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2543
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2509
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2555
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650
-#: executor/execExprInterp.c:4229 executor/execExprInterp.c:4246
-#: executor/execExprInterp.c:4345 executor/nodeModifyTable.c:197
-#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225
-#: executor/nodeModifyTable.c:233
+#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655
+#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851
+#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203
+#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231
+#: executor/nodeModifyTable.c:239
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "el tipo de registro de la tabla no coincide con el tipo de registro de la consulta"
 
-#: executor/execExpr.c:638 executor/nodeModifyTable.c:198
+#: executor/execExpr.c:643 executor/nodeModifyTable.c:204
 #, c-format
 msgid "Query has too many columns."
 msgstr "La consulta tiene demasiadas columnas."
 
-#: executor/execExpr.c:645 executor/nodeModifyTable.c:226
+#: executor/execExpr.c:650 executor/nodeModifyTable.c:232
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "La consulta entrega un valor para una columna eliminada en la posición %d."
 
-#: executor/execExpr.c:651 executor/execExprInterp.c:4247
-#: executor/nodeModifyTable.c:209
+#: executor/execExpr.c:656 executor/execExprInterp.c:4852
+#: executor/nodeModifyTable.c:215
 #, 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/execExpr.c:1099 parser/parse_agg.c:827
+#: executor/execExpr.c:1104 parser/parse_agg.c:840
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
 
-#: executor/execExpr.c:1618
+#: executor/execExpr.c:1641
 #, c-format
 msgid "target type is not an array"
 msgstr "el tipo de destino no es un array"
 
-#: executor/execExpr.c:1958
+#: executor/execExpr.c:1981
 #, 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/execExpr.c:2587 executor/execSRF.c:719 parser/parse_func.c:138
-#: parser/parse_func.c:655 parser/parse_func.c:1032
+#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138
+#: parser/parse_func.c:655 parser/parse_func.c:1033
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 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/execExpr.c:2614 executor/execSRF.c:739 executor/functions.c:1066
-#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068
+#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
 
-#: executor/execExpr.c:3020 parser/parse_node.c:277 parser/parse_node.c:327
+#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr "no se puede poner subíndices al tipo %s porque no soporta subíndices"
 
-#: executor/execExpr.c:3148 executor/execExpr.c:3170
+#: executor/execExpr.c:3204 executor/execExpr.c:3226
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "el tipo %s no soporta asignación subindexada"
 
-#: executor/execExprInterp.c:1962
+#: executor/execExprInterp.c:2007
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "El atributo %d de tipo %s ha sido eliminado"
 
-#: executor/execExprInterp.c:1968
+#: executor/execExprInterp.c:2013
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "el atributo %d del tipo %s tiene tipo erróneo"
 
-#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3103
-#: executor/execExprInterp.c:3149
+#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214
+#: executor/execExprInterp.c:3260
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s."
 
-#: executor/execExprInterp.c:2049 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1743
-#: utils/cache/typcache.c:1902 utils/cache/typcache.c:2049
-#: utils/fmgr/funcapi.c:561
+#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752
+#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058
+#: utils/fmgr/funcapi.c:569
 #, c-format
 msgid "type %s is not composite"
 msgstr "el tipo %s no es compuesto"
 
-#: executor/execExprInterp.c:2587
+#: executor/execExprInterp.c:2698
 #, 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/execExprInterp.c:2800
+#: executor/execExprInterp.c:2911
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "no se puede mezclar arrays incompatibles"
 
-#: executor/execExprInterp.c:2801
+#: executor/execExprInterp.c:2912
 #, 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/execExprInterp.c:2822 utils/adt/arrayfuncs.c:265
-#: utils/adt/arrayfuncs.c:575 utils/adt/arrayfuncs.c:1329
-#: utils/adt/arrayfuncs.c:3483 utils/adt/arrayfuncs.c:5567
-#: utils/adt/arrayfuncs.c:6084 utils/adt/arraysubs.c:150
+#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593
+#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
 
-#: executor/execExprInterp.c:2842 executor/execExprInterp.c:2877
+#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988
 #, 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/execExprInterp.c:2854 utils/adt/array_expanded.c:274
-#: utils/adt/arrayfuncs.c:959 utils/adt/arrayfuncs.c:1568
-#: utils/adt/arrayfuncs.c:3285 utils/adt/arrayfuncs.c:3513
-#: utils/adt/arrayfuncs.c:6176 utils/adt/arrayfuncs.c:6517
-#: utils/adt/arrayutils.c:104 utils/adt/arrayutils.c:113
-#: utils/adt/arrayutils.c:120
+#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274
+#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494
+#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533
+#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356
+#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634
+#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949
+#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305
+#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546
+#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92
+#: utils/adt/arrayutils.c:99
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "el tamaño del array excede el máximo permitido (%d)"
 
-#: executor/execExprInterp.c:3102 executor/execExprInterp.c:3148
+#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "el atributo %d tiene tipo erróneo"
 
-#: executor/execExprInterp.c:3730 utils/adt/domains.c:155
+#: executor/execExprInterp.c:3845 utils/adt/domains.c:158
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "el dominio %s no permite valores null"
 
-#: executor/execExprInterp.c:3745 utils/adt/domains.c:193
+#: executor/execExprInterp.c:3860 utils/adt/domains.c:196
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "el valor para el dominio %s viola la restricción «check» «%s»"
 
-#: executor/execExprInterp.c:4230
+#: executor/execExprInterp.c:4434
+#, c-format
+msgid "no SQL/JSON item found for specified path of column \"%s\""
+msgstr "ningún ítem SQL/JSON fue encontrado para la ruta especificada de la columna «%s»"
+
+#: executor/execExprInterp.c:4439
+#, c-format
+msgid "no SQL/JSON item found for specified path"
+msgstr "ningún ítem SQL/JSON fue encontrado para la ruta especificada"
+
+#: executor/execExprInterp.c:4637
+#, c-format
+msgid "could not coerce ON ERROR expression (%s) to the RETURNING type"
+msgstr "no se pudo convertir la expresión ON ERROR (%s) al tipo RETURNING"
+
+#: executor/execExprInterp.c:4643
+#, c-format
+msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type"
+msgstr "no se pudo convertir la expresión ON EMPTY (%s) al tipo RETURNING"
+
+#: executor/execExprInterp.c:4835
 #, 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/execExprInterp.c:4346 executor/execSRF.c:978
+#: executor/execExprInterp.c:4951 executor/execSRF.c:977
 #, 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/execIndexing.c:588
+#: executor/execIndexing.c:593
 #, c-format
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
 msgstr "ON CONFLICT no soporta las restricciones únicas o de exclusión postergables como árbitros"
 
-#: executor/execIndexing.c:865
+#: executor/execIndexing.c:870
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "no se pudo crear la restricción de exclusión «%s»"
 
-#: executor/execIndexing.c:868
+#: executor/execIndexing.c:873
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La llave %s está en conflicto con la llave %s."
 
-#: executor/execIndexing.c:870
+#: executor/execIndexing.c:875
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Existe un conflicto de llave."
 
-#: executor/execIndexing.c:876
+#: executor/execIndexing.c:881
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "llave en conflicto viola la restricción de exclusión «%s»"
 
-#: executor/execIndexing.c:879
+#: executor/execIndexing.c:884
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La llave %s está en conflicto con la llave existente %s."
 
-#: executor/execIndexing.c:881
+#: executor/execIndexing.c:886
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "La llave está en conflicto con una llave existente."
 
-#: executor/execMain.c:1030
+#: executor/execMain.c:1041
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:1036
+#: executor/execMain.c:1047
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:1054 rewrite/rewriteHandler.c:3078
-#: rewrite/rewriteHandler.c:3965
-#, c-format
-msgid "cannot insert into view \"%s\""
-msgstr "no se puede insertar en la vista «%s»"
-
-#: executor/execMain.c:1056 rewrite/rewriteHandler.c:3081
-#: rewrite/rewriteHandler.c:3968
-#, 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 posibilitar las inserciones en la vista, provea un disparador INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD."
-
-#: executor/execMain.c:1062 rewrite/rewriteHandler.c:3086
-#: rewrite/rewriteHandler.c:3973
-#, c-format
-msgid "cannot update view \"%s\""
-msgstr "no se puede actualizar la vista «%s»"
-
-#: executor/execMain.c:1064 rewrite/rewriteHandler.c:3089
-#: rewrite/rewriteHandler.c:3976
-#, c-format
-msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
-msgstr "Para posibilitar las actualizaciones en la vista, provea un disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD."
-
-#: executor/execMain.c:1070 rewrite/rewriteHandler.c:3094
-#: rewrite/rewriteHandler.c:3981
-#, c-format
-msgid "cannot delete from view \"%s\""
-msgstr "no se puede eliminar de la vista «%s»"
-
-#: executor/execMain.c:1072 rewrite/rewriteHandler.c:3097
-#: rewrite/rewriteHandler.c:3984
-#, 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 posibilitar las eliminaciones en la vista, provea un disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD."
-
-#: executor/execMain.c:1083
+#: executor/execMain.c:1066
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "no se puede cambiar la vista materializada «%s»"
 
-#: executor/execMain.c:1095
+#: executor/execMain.c:1078
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
-#: executor/execMain.c:1101
+#: executor/execMain.c:1084
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabla foránea «%s» no permite inserciones"
 
-#: executor/execMain.c:1108
+#: executor/execMain.c:1091
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execMain.c:1114
+#: executor/execMain.c:1097
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabla foránea «%s» no permite actualizaciones"
 
-#: executor/execMain.c:1121
+#: executor/execMain.c:1104
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:1127
+#: executor/execMain.c:1110
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:1138
+#: executor/execMain.c:1121
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1165
+#: executor/execMain.c:1148
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1172
+#: executor/execMain.c:1155
 #, 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:1179
+#: executor/execMain.c:1162
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1187
+#: executor/execMain.c:1170
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "no se puede bloquear registros en la vista materializada «%s»"
 
-#: executor/execMain.c:1196 executor/execMain.c:2699
+#: executor/execMain.c:1179 executor/execMain.c:2684
 #: executor/nodeLockRows.c:135
 #, 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:1202
+#: executor/execMain.c:1185
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1913
+#: executor/execMain.c:1898
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "el nuevo registro para la relación «%s» viola la restricción de partición"
 
-#: executor/execMain.c:1915 executor/execMain.c:1999 executor/execMain.c:2050
-#: executor/execMain.c:2160
+#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035
+#: executor/execMain.c:2145
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1996
+#: executor/execMain.c:1981
 #, c-format
 msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
 msgstr "el valor nulo en la columna «%s» de la relación «%s» viola la restricción de no nulo"
 
-#: executor/execMain.c:2048
+#: executor/execMain.c:2033
 #, 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/execMain.c:2158
+#: executor/execMain.c:2143
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "el nuevo registro para la vista «%s» viola la opción check"
 
-#: executor/execMain.c:2168
+#: executor/execMain.c:2153
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros «%s» para la tabla «%s»"
 
-#: executor/execMain.c:2173
+#: executor/execMain.c:2158
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros para la tabla «%s»"
 
-#: executor/execMain.c:2181
-#, fuzzy, c-format
-#| msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
+#: executor/execMain.c:2166
+#, c-format
 msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
-msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»"
+msgstr "el registro destino viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2186
-#, fuzzy, c-format
-#| msgid "new row violates row-level security policy (USING expression) for table \"%s\""
+#: executor/execMain.c:2171
+#, c-format
 msgid "target row violates row-level security policy (USING expression) for table \"%s\""
-msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»"
+msgstr "el registro destino viola la política de seguridad de registros (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2193
+#: executor/execMain.c:2178
 #, c-format
 msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2198
+#: executor/execMain.c:2183
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»"
 
-#: executor/execPartition.c:330
+#: executor/execPartition.c:327
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "no se encontró una partición de «%s» para el registro"
 
-#: executor/execPartition.c:333
+#: executor/execPartition.c:330
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "La llave de particionamiento de la fila que falla contiene %s."
 
-#: executor/execReplication.c:240 executor/execReplication.c:424
+#: executor/execReplication.c:272 executor/execReplication.c:456
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying"
 msgstr "el registro a ser bloqueado ya fue movido a otra partición debido a un update concurrente, reintentando"
 
-#: executor/execReplication.c:244 executor/execReplication.c:428
+#: executor/execReplication.c:276 executor/execReplication.c:460
 #, c-format
 msgid "concurrent update, retrying"
 msgstr "actualización simultánea, reintentando"
 
-#: executor/execReplication.c:250 executor/execReplication.c:434
+#: executor/execReplication.c:282 executor/execReplication.c:466
 #, c-format
 msgid "concurrent delete, retrying"
 msgstr "eliminacón concurrente, reintentando"
 
-#: executor/execReplication.c:320 parser/parse_cte.c:308
-#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348
-#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832
-#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397
-#: utils/adt/rowtypes.c:1230
+#: executor/execReplication.c:352 parser/parse_cte.c:302
+#: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334
+#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852
+#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426
+#: utils/adt/rowtypes.c:1220
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "no se pudo identificar un operador de igualdad para el tipo %s"
 
-#: executor/execReplication.c:651 executor/execReplication.c:657
-#, fuzzy, c-format
-#| msgid "cannot update foreign table \"%s\""
+#: executor/execReplication.c:683 executor/execReplication.c:689
+#, c-format
 msgid "cannot update table \"%s\""
-msgstr "no se puede actualizar la tabla foránea «%s»"
+msgstr "no se puede actualizar la tabla «%s»"
 
-#: executor/execReplication.c:653 executor/execReplication.c:665
+#: executor/execReplication.c:685 executor/execReplication.c:697
 #, c-format
 msgid "Column used in the publication WHERE expression is not part of the replica identity."
 msgstr "La columna usada en la expresión WHERE de la publicación no es parte de la identidad de replicación."
 
-#: executor/execReplication.c:659 executor/execReplication.c:671
+#: executor/execReplication.c:691 executor/execReplication.c:703
 #, c-format
 msgid "Column list used by the publication does not cover the replica identity."
 msgstr "La lista de columnas usada por la publicación no incluye la identidad de replicación."
 
-#: executor/execReplication.c:663 executor/execReplication.c:669
-#, fuzzy, c-format
-#| msgid "cannot delete from foreign table \"%s\""
+#: executor/execReplication.c:695 executor/execReplication.c:701
+#, c-format
 msgid "cannot delete from table \"%s\""
-msgstr "no se puede eliminar desde la tabla foránea «%s»"
+msgstr "no se puede eliminar desde la tabla «%s»"
 
-#: executor/execReplication.c:689
+#: executor/execReplication.c:721
 #, c-format
 msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates"
 msgstr "no se puede actualizar la tabla «%s» porque no tiene identidad de replicación y publica updates"
 
-#: executor/execReplication.c:691
+#: executor/execReplication.c:723
 #, c-format
 msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Para habilitar la actualización de la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE."
 
-#: executor/execReplication.c:695
+#: executor/execReplication.c:727
 #, c-format
 msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes"
 msgstr "no se puede eliminar de la tabla «%s» porque no tiene una identidad de replicación y publica deletes"
 
-#: executor/execReplication.c:697
+#: executor/execReplication.c:729
 #, c-format
 msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "para habilitar la eliminación en la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE."
 
-#: executor/execReplication.c:713
+#: executor/execReplication.c:745
 #, c-format
 msgid "cannot use relation \"%s.%s\" as logical replication target"
 msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica"
 
-#: executor/execSRF.c:316
+#: executor/execSRF.c:315
 #, 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/execSRF.c:366
+#: executor/execSRF.c:365
 #, c-format
 msgid "table-function protocol for value-per-call mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de valor por llamada"
 
-#: executor/execSRF.c:374 executor/execSRF.c:668
+#: executor/execSRF.c:373 executor/execSRF.c:667
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de materialización"
 
-#: executor/execSRF.c:381 executor/execSRF.c:686
+#: executor/execSRF.c:380 executor/execSRF.c:685
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "modo de retorno de la función tabular no es reconocido: %d"
 
-#: executor/execSRF.c:895
+#: executor/execSRF.c:894
 #, 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/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977
+#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "la fila de retorno especificada en la consulta no coincide con fila de retorno de la función"
 
-#: executor/execSRF.c:952
+#: executor/execSRF.c:951
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 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/execSRF.c:968
+#: executor/execSRF.c:967
 #, 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/execTuples.c:146 executor/execTuples.c:353
-#: executor/execTuples.c:521 executor/execTuples.c:713
+#: executor/execTuples.c:147 executor/execTuples.c:368
+#: executor/execTuples.c:563 executor/execTuples.c:772
 #, c-format
 msgid "cannot retrieve a system column in this context"
 msgstr "no se puede obtener una columna de sistema en este contexto"
 
-#: executor/execUtils.c:744
+#: executor/execTuples.c:163 executor/execTuples.c:580
+#, c-format
+msgid "don't have transaction information for this type of tuple"
+msgstr "no se tiene información de transacción para este tipo de tupla"
+
+#: executor/execTuples.c:390 executor/execTuples.c:794
+#, c-format
+msgid "don't have a storage tuple in this context"
+msgstr ""
+
+#: executor/execUtils.c:713
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "la vista materializada «%s» no ha sido poblada"
 
-#: executor/execUtils.c:746
+#: executor/execUtils.c:715
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Use la orden REFRESH MATERIALIZED VIEW."
@@ -13703,111 +14081,111 @@ msgstr "Use la orden REFRESH MATERIALIZED VIEW."
 msgid "could not determine actual type of argument declared %s"
 msgstr "no se pudo determinar el tipo de argumento declarado %s"
 
-#: executor/functions.c:512
+#: executor/functions.c:513
 #, c-format
 msgid "cannot COPY to/from client in an SQL function"
 msgstr "no se puede ejecutar COPY desde/a un cliente en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:518
+#: executor/functions.c:519
 #, c-format
 msgid "%s is not allowed in an SQL function"
 msgstr "%s no está permitido en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635
+#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649
 #, 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:1450
+#: executor/functions.c:1452
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1476
+#: executor/functions.c:1478
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1561
+#: executor/functions.c:1563
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "no está permitido invocar procedimientos con argumentos de salida en funciones SQL"
 
-#: executor/functions.c:1694 executor/functions.c:1732
-#: executor/functions.c:1746 executor/functions.c:1836
-#: executor/functions.c:1869 executor/functions.c:1883
+#: executor/functions.c:1698 executor/functions.c:1736
+#: executor/functions.c:1750 executor/functions.c:1845
+#: executor/functions.c:1878 executor/functions.c:1892
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "el tipo de retorno de función declarada para retornar %s no concuerda"
 
-#: executor/functions.c:1696
+#: executor/functions.c:1700
 #, 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."
+msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING."
+msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE/MERGE RETURNING."
 
-#: executor/functions.c:1734
+#: executor/functions.c:1738
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1748
+#: executor/functions.c:1752
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1838
+#: executor/functions.c:1847
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1871
+#: executor/functions.c:1880
 #, 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:1885
+#: executor/functions.c:1894
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1913
+#: executor/functions.c:1922
 #, 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:3937 executor/nodeWindowAgg.c:2993
+#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "la función de agregación %u necesita tener tipos de entrada y transición compatibles"
 
-#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697
+#: executor/nodeAgg.c:3966 parser/parse_agg.c:682 parser/parse_agg.c:710
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/nodeCustom.c:154 executor/nodeCustom.c:165
+#: executor/nodeCustom.c:144 executor/nodeCustom.c:155
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "el scan personalizado «%s» no soporta MarkPos"
 
-#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173
+#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161
 #, c-format
 msgid "could not rewind hash-join temporary file"
 msgstr "no se puede rebobinar el archivo temporal del hash-join"
 
-#: executor/nodeIndexonlyscan.c:238
+#: executor/nodeIndexonlyscan.c:239
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: executor/nodeLimit.c:374
+#: executor/nodeLimit.c:373
 #, c-format
 msgid "OFFSET must not be negative"
 msgstr "OFFSET no debe ser negativo"
 
-#: executor/nodeLimit.c:400
+#: executor/nodeLimit.c:399
 #, c-format
 msgid "LIMIT must not be negative"
 msgstr "LIMIT no debe ser negativo"
@@ -13822,76 +14200,74 @@ msgstr "RIGHT JOIN sólo está soportado con condiciones que se pueden usar con
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join"
 
-#: executor/nodeModifyTable.c:234
+#: executor/nodeModifyTable.c:240
 #, c-format
 msgid "Query has too few columns."
 msgstr "La consulta tiene muy pocas columnas."
 
-#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604
+#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614
 #, c-format
 msgid "tuple to be deleted was already modified by an operation triggered by the current command"
 msgstr "el registro a ser eliminado ya fue modificado por una operación disparada por la orden actual"
 
-#: executor/nodeModifyTable.c:1758
+#: executor/nodeModifyTable.c:1769
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "especificación ON UPDATE no válida"
 
-#: executor/nodeModifyTable.c:1759
+#: executor/nodeModifyTable.c:1770
 #, c-format
 msgid "The result tuple would appear in a different partition than the original tuple."
 msgstr "La tupla de resultado aparecería en una partición diferente que la tupla original."
 
-#: executor/nodeModifyTable.c:2217
+#: executor/nodeModifyTable.c:2226
 #, c-format
 msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key"
 msgstr "no se puede mover una tupla entre particiones cuando un ancestro no-raíz de la partición de origen es referenciada directamente en una llave foránea"
 
-#: executor/nodeModifyTable.c:2218
+#: executor/nodeModifyTable.c:2227
 #, c-format
 msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"."
-msgstr ""
+msgstr "Una llave foránea apunta al ancestro «%s» pero no al ancestro raíz «%s»."
 
-#: executor/nodeModifyTable.c:2221
-#, fuzzy, c-format
-#| msgid "cannot insert into foreign table \"%s\""
+#: executor/nodeModifyTable.c:2230
+#, c-format
 msgid "Consider defining the foreign key on table \"%s\"."
-msgstr "no se puede insertar en la tabla foránea «%s»"
+msgstr "Considere definir una llave foránea en la tabla «%s»."
 
 #. translator: %s is a SQL command name
-#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2954
+#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099
+#: executor/nodeModifyTable.c:3260
 #, c-format
 msgid "%s command cannot affect row a second time"
-msgstr ""
+msgstr "la orden %s no puede afectar una fila por segunda vez"
 
-#: executor/nodeModifyTable.c:2569
+#: executor/nodeModifyTable.c:2579
 #, c-format
 msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
 msgstr "Asegúrese de que ningún registro propuesto para inserción dentro de la misma orden tenga valores duplicados restringidos."
 
-#: executor/nodeModifyTable.c:2956
+#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253
+#, c-format
+msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command"
+msgstr "la tupla a ser actualizada o borrada ya fue modificada por una operación disparada por la orden actual"
+
+#: executor/nodeModifyTable.c:3101 executor/nodeModifyTable.c:3262
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
 msgstr "Asegúrese que no más de un registro de origen coincide con cada registro de destino."
 
-#: executor/nodeModifyTable.c:3037
-#, fuzzy, c-format
-#| msgid "tuple to be locked was already moved to another partition due to concurrent update"
-msgid "tuple to be deleted was already moved to another partition due to concurrent update"
-msgstr "el registro a ser bloqueado ya fue movido a otra partición por un update concurrente"
-
-#: executor/nodeModifyTable.c:3076
-#, fuzzy, c-format
-#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
-msgid "tuple to be updated or deleted 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"
+#: executor/nodeModifyTable.c:3170
+#, c-format
+msgid "tuple to be merged was already moved to another partition due to concurrent update"
+msgstr "la tupla a ser mezclada ya fue movida a otra partición por un update concurrente"
 
-#: executor/nodeSamplescan.c:260
+#: executor/nodeSamplescan.c:244
 #, c-format
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "el parámetro TABLESAMPLE no puede ser null"
 
-#: executor/nodeSamplescan.c:272
+#: executor/nodeSamplescan.c:256
 #, c-format
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null"
@@ -13902,7 +14278,7 @@ msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null"
 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/nodeTableFuncscan.c:375
+#: executor/nodeTableFuncscan.c:370
 #, c-format
 msgid "namespace URI must not be null"
 msgstr "la URI del espacio de nombres no debe ser null"
@@ -13912,17 +14288,17 @@ msgstr "la URI del espacio de nombres no debe ser null"
 msgid "row filter expression must not be null"
 msgstr "la expresión filtro de filas no debe ser null"
 
-#: executor/nodeTableFuncscan.c:415
+#: executor/nodeTableFuncscan.c:416
 #, c-format
 msgid "column filter expression must not be null"
 msgstr "la expresión filtro de columnas no debe ser null"
 
-#: executor/nodeTableFuncscan.c:416
+#: executor/nodeTableFuncscan.c:417
 #, c-format
 msgid "Filter for column \"%s\" is null."
 msgstr "El filtro para la columna «%s» es null."
 
-#: executor/nodeTableFuncscan.c:506
+#: executor/nodeTableFuncscan.c:507
 #, c-format
 msgid "null is not allowed in column \"%s\""
 msgstr "null no está permitido en la columna «%s»"
@@ -13952,84 +14328,84 @@ msgstr "la posición final del marco no debe ser null"
 msgid "frame ending offset must not be negative"
 msgstr "la posición final del marco no debe ser negativa"
 
-#: executor/nodeWindowAgg.c:2909
+#: executor/nodeWindowAgg.c:2892
 #, c-format
 msgid "aggregate function %s does not support use as a window function"
 msgstr "la función de agregación %s no permite ser usada como función ventana"
 
-#: executor/spi.c:242 executor/spi.c:342
+#: executor/spi.c:241 executor/spi.c:341
 #, c-format
 msgid "invalid transaction termination"
 msgstr "terminación de transacción no válida"
 
-#: executor/spi.c:257
+#: executor/spi.c:256
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "no se puede comprometer mientras hay una subtransacción activa"
 
-#: executor/spi.c:348
+#: executor/spi.c:347
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "no se puede hacer rollback mientras hay una subtransacción activa"
 
-#: executor/spi.c:472
+#: executor/spi.c:471
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:473 executor/spi.c:533
+#: executor/spi.c:472 executor/spi.c:532
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Revise llamadas a «SPI_finish» faltantes."
 
-#: executor/spi.c:532
+#: executor/spi.c:531
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1600
+#: executor/spi.c:1599
 #, 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:1610
+#: executor/spi.c:1609
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1716
+#: executor/spi.c:1715
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado"
 
-#: executor/spi.c:1717 parser/analyze.c:2874
+#: executor/spi.c:1716 parser/analyze.c:2928
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2474
+#: executor/spi.c:2488
 #, c-format
 msgid "empty query does not return tuples"
 msgstr "la consulta vacía no retorna tuplas"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:2548
+#: executor/spi.c:2562
 #, c-format
 msgid "%s query does not return tuples"
 msgstr "la consulta «%s» no retorna tuplas"
 
-#: executor/spi.c:2963
+#: executor/spi.c:2979
 #, c-format
 msgid "SQL expression \"%s\""
 msgstr "expresión SQL «%s»"
 
-#: executor/spi.c:2968
+#: executor/spi.c:2984
 #, c-format
 msgid "PL/pgSQL assignment \"%s\""
 msgstr "asignación PL/pgSQL «%s»"
 
-#: executor/spi.c:2971
+#: executor/spi.c:2987
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
@@ -14039,35 +14415,28 @@ msgstr "sentencia SQL: «%s»"
 msgid "could not send tuple to shared-memory queue"
 msgstr "no se pudo enviar la tupla a la cola en memoria compartida"
 
-#: foreign/foreign.c:222
+#: foreign/foreign.c:224
 #, c-format
-msgid "user mapping not found for \"%s\""
-msgstr "no se encontró un mapeo para el usuario «%s»"
+msgid "user mapping not found for user \"%s\", server \"%s\""
+msgstr "no se encontró un mapeo para el usuario «%s», servidor «%s»"
 
-#: foreign/foreign.c:647 storage/file/fd.c:3881
+#: foreign/foreign.c:650
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "el nombre de opción «%s» no es válido"
 
-#: foreign/foreign.c:649
-#, fuzzy, c-format
-#| msgid "Perhaps you meant to reference the column \"%s.%s\"."
+#: foreign/foreign.c:652
+#, c-format
 msgid "Perhaps you meant the option \"%s\"."
-msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»."
-
-#: foreign/foreign.c:651
-#, fuzzy, c-format
-#| msgid "There are no old transactions anymore."
-msgid "There are no valid options in this context."
-msgstr "Ya no hay transacciones antiguas en ejecución."
+msgstr "Quizás se refiere a la opción «%s»."
 
-#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415
+#: foreign/foreign.c:654
 #, c-format
-msgid "could not access file \"%s\": %m"
-msgstr "no se pudo acceder al archivo «%s»: %m"
+msgid "There are no valid options in this context."
+msgstr "No hay opciones válidas en este contexto."
 
-#: lib/dshash.c:254 utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736
-#: utils/mmgr/dsa.c:817
+#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730
+#: utils/mmgr/dsa.c:811
 #, c-format
 msgid "Failed on DSA request of size %zu."
 msgstr "Falla en petición DSA de tamaño %zu."
@@ -14077,708 +14446,700 @@ msgstr "Falla en petición DSA de tamaño %zu."
 msgid "expected SASL response, got message type %d"
 msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d"
 
-#: libpq/auth-scram.c:270
+#: libpq/auth-scram.c:263
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "cliente eligió un mecanismo de autentificación SASL no válido"
 
-#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554
+#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547
 #, c-format
 msgid "invalid SCRAM secret for user \"%s\""
 msgstr "el secreto SCRAM para el usuario «%s» no es válido"
 
-#: libpq/auth-scram.c:305
+#: libpq/auth-scram.c:298
 #, c-format
 msgid "User \"%s\" does not have a valid SCRAM secret."
 msgstr "El usuario «%s» no tiene un secreto SCRAM válido."
 
-#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744
-#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870
-#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995
-#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039
-#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386
-#: libpq/auth-scram.c:1394
+#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737
+#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863
+#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988
+#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032
+#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379
+#: libpq/auth-scram.c:1387
 #, c-format
 msgid "malformed SCRAM message"
 msgstr "mensaje SCRAM mal formado"
 
-#: libpq/auth-scram.c:386
+#: libpq/auth-scram.c:379
 #, c-format
 msgid "The message is empty."
 msgstr "El mensaje está vacío."
 
-#: libpq/auth-scram.c:391
+#: libpq/auth-scram.c:384
 #, c-format
 msgid "Message length does not match input length."
 msgstr "El largo del mensaje no coincide con el largo de entrada."
 
-#: libpq/auth-scram.c:423
+#: libpq/auth-scram.c:416
 #, c-format
 msgid "invalid SCRAM response"
 msgstr "respuesta SCRAM no válida"
 
-#: libpq/auth-scram.c:424
+#: libpq/auth-scram.c:417
 #, c-format
 msgid "Nonce does not match."
 msgstr "El «nonce» no coincide."
 
-#: libpq/auth-scram.c:500
+#: libpq/auth-scram.c:493
 #, c-format
 msgid "could not generate random salt"
 msgstr "no se pudo generar una sal aleatoria"
 
-#: libpq/auth-scram.c:745
+#: libpq/auth-scram.c:738
 #, c-format
 msgid "Expected attribute \"%c\" but found \"%s\"."
 msgstr "Se esperaba un atributo «%c» pero se encontró «%s»."
 
-#: libpq/auth-scram.c:753 libpq/auth-scram.c:881
+#: libpq/auth-scram.c:746 libpq/auth-scram.c:874
 #, c-format
 msgid "Expected character \"=\" for attribute \"%c\"."
 msgstr "Se esperaba el carácter «=» para el atributo «%c»."
 
-#: libpq/auth-scram.c:858
+#: libpq/auth-scram.c:851
 #, c-format
 msgid "Attribute expected, but found end of string."
 msgstr "Se esperaba un atributo, se encontró el fin de la cadena."
 
-#: libpq/auth-scram.c:871
+#: libpq/auth-scram.c:864
 #, c-format
 msgid "Attribute expected, but found invalid character \"%s\"."
 msgstr "Se esperaba un atributo, se encontró el carácter no válido «%s»."
 
-#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011
+#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004
 #, c-format
 msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data."
 msgstr "El cliente seleccionó SCRAM-SHA-256-PLUS, pero el mensaje SCRAM no incluye los datos de enlazado (binding) del canal."
 
-#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026
+#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019
 #, c-format
 msgid "Comma expected, but found character \"%s\"."
 msgstr "Se esperaba una coma, se encontró el carácter «%s»."
 
-#: libpq/auth-scram.c:1017
+#: libpq/auth-scram.c:1010
 #, c-format
 msgid "SCRAM channel binding negotiation error"
 msgstr "error de negociación de enlazado (binding) de canal SCRAM"
 
-#: libpq/auth-scram.c:1018
+#: libpq/auth-scram.c:1011
 #, c-format
 msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
 msgstr "El cliente soporta enlazado (binding) de canal SCRAM, pero piensa que el servidor no. Sin embargo, este servidor sí soporta enlazado de canal."
 
-#: libpq/auth-scram.c:1040
+#: libpq/auth-scram.c:1033
 #, c-format
 msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
 msgstr "El cliente seleccionó SCRAM-SHA-256 sin enlazado de canal, pero el mensaje SCRAM incluye datos de enlazado de canal."
 
-#: libpq/auth-scram.c:1051
+#: libpq/auth-scram.c:1044
 #, c-format
 msgid "unsupported SCRAM channel-binding type \"%s\""
 msgstr "tipo de enlazado de canal SCRAM «%s» no soportado"
 
-#: libpq/auth-scram.c:1058
+#: libpq/auth-scram.c:1051
 #, c-format
 msgid "Unexpected channel-binding flag \"%s\"."
 msgstr "Indicador de enlazado de canal «%s» inesperado."
 
-#: libpq/auth-scram.c:1068
+#: libpq/auth-scram.c:1061
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
 msgstr "el cliente usa identidad de autorización, pero no está soportada"
 
-#: libpq/auth-scram.c:1073
+#: libpq/auth-scram.c:1066
 #, c-format
 msgid "Unexpected attribute \"%s\" in client-first-message."
 msgstr "Atributo inesperado \"%s\" en client-first-message."
 
-#: libpq/auth-scram.c:1089
+#: libpq/auth-scram.c:1082
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "el cliente requiere una extensión SCRAM no soportada"
 
-#: libpq/auth-scram.c:1103
+#: libpq/auth-scram.c:1096
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
 msgstr "caracteres no imprimibles en el «nonce» SCRAM"
 
-#: libpq/auth-scram.c:1234
+#: libpq/auth-scram.c:1227
 #, c-format
 msgid "could not generate random nonce"
 msgstr "no se pudo generar un «nonce» aleatorio"
 
-#: libpq/auth-scram.c:1244
+#: libpq/auth-scram.c:1237
 #, c-format
 msgid "could not encode random nonce"
 msgstr "no se pudo codificar un «nonce» aleatorio"
 
-#: libpq/auth-scram.c:1350
+#: libpq/auth-scram.c:1343
 #, c-format
 msgid "SCRAM channel binding check failed"
 msgstr "la verificación de enlazado (binding) de canal SCRAM falló"
 
-#: libpq/auth-scram.c:1368
+#: libpq/auth-scram.c:1361
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
 msgstr "atributo de enlazado de canal SCRAM inesperado en client-final-message"
 
-#: libpq/auth-scram.c:1387
+#: libpq/auth-scram.c:1380
 #, c-format
 msgid "Malformed proof in client-final-message."
 msgstr "Prueba (proof) mal formada en client-final-message."
 
-#: libpq/auth-scram.c:1395
+#: libpq/auth-scram.c:1388
 #, c-format
 msgid "Garbage found at the end of client-final-message."
 msgstr "Basura encontrada al final de client-final-message."
 
-#: libpq/auth.c:271
+#: libpq/auth.c:269
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: libpq/auth.c:274
+#: libpq/auth.c:272
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: libpq/auth.c:277
+#: libpq/auth.c:275
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: libpq/auth.c:280
+#: libpq/auth.c:278
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: libpq/auth.c:285
+#: libpq/auth.c:283
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "la autentificación password falló para el usuario «%s»"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:288
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:291
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: libpq/auth.c:296
+#: libpq/auth.c:294
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: libpq/auth.c:299
+#: libpq/auth.c:297
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "la autentificación BSD falló para el usuario «%s»"
 
-#: libpq/auth.c:302
+#: libpq/auth.c:300
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: libpq/auth.c:305
+#: libpq/auth.c:303
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: libpq/auth.c:308
+#: libpq/auth.c:306
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: libpq/auth.c:311
+#: libpq/auth.c:309
 #, 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"
 
-#: libpq/auth.c:315
-#, fuzzy, c-format
-#| msgid "reconnection failed: %s"
-msgid "Connection matched %s line %d: \"%s\""
-msgstr "falló la reconexión: %s"
+#: libpq/auth.c:313
+#, c-format
+msgid "Connection matched file \"%s\" line %d: \"%s\""
+msgstr "La conexión coincidió con el archivo «%s» línea %d: «%s»"
 
-#: libpq/auth.c:359
+#: libpq/auth.c:357
 #, c-format
 msgid "authentication identifier set more than once"
 msgstr "identificador de autentificación establecido más de una vez"
 
-#: libpq/auth.c:360
+#: libpq/auth.c:358
 #, c-format
 msgid "previous identifier: \"%s\"; new identifier: \"%s\""
 msgstr "identificador anterior: «%s»; nuevo identificador: «%s»"
 
-#: libpq/auth.c:370
+#: libpq/auth.c:368
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
 msgstr "conexión autenticada: identidad=«%s» método=%s (%s:%d)"
 
-#: libpq/auth.c:410
+#: libpq/auth.c:408
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr "los certificados de cliente sólo pueden verificarse si un almacén de certificado raíz está disponible"
 
-#: libpq/auth.c:421
+#: libpq/auth.c:419
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "la conexión requiere un certificado de cliente válido"
 
-#: libpq/auth.c:452 libpq/auth.c:498
+#: libpq/auth.c:450 libpq/auth.c:496
 msgid "GSS encryption"
 msgstr "cifrado GSS"
 
-#: libpq/auth.c:455 libpq/auth.c:501
+#: libpq/auth.c:453 libpq/auth.c:499
 msgid "SSL encryption"
 msgstr "cifrado SSL"
 
-#: libpq/auth.c:457 libpq/auth.c:503
+#: libpq/auth.c:455 libpq/auth.c:501
 msgid "no encryption"
 msgstr "sin cifrado"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:463
+#: libpq/auth.c:461
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:470
+#: libpq/auth.c:468
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:508
+#: libpq/auth.c:506
 #, 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:511
+#: libpq/auth.c:509
 #, 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:514
+#: libpq/auth.c:512
 #, 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:517
+#: libpq/auth.c:515
 #, c-format
 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."
 
-#: libpq/auth.c:522
+#: libpq/auth.c:520
 #, c-format
 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."
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:530
+#: libpq/auth.c:528
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%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"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:538
+#: libpq/auth.c:536
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:711
+#: libpq/auth.c:656
+#, c-format
+msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)"
+msgstr "conexión autenticada: usuario=«%s» método=%s (%s:%d)"
+
+#: libpq/auth.c:725
 #, 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:732
+#: libpq/auth.c:746
 #, c-format
 msgid "invalid password packet size"
 msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: libpq/auth.c:750
+#: libpq/auth.c:764
 #, c-format
 msgid "empty password returned by client"
 msgstr "el cliente retornó una contraseña vacía"
 
-#: libpq/auth.c:879 libpq/hba.c:1749
-#, 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:885
+#: libpq/auth.c:892
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "no se pudo generar una sal MD5 aleatoria"
 
-#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540
+#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540
 #, c-format
 msgid "could not set environment: %m"
 msgstr "no se pudo establecer el ambiente: %m"
 
-#: libpq/auth.c:975
+#: libpq/auth.c:982
 #, 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:1041
+#: libpq/auth.c:1048
 msgid "accepting GSS security context failed"
 msgstr "falló la aceptación del contexto de seguridad GSS"
 
-#: libpq/auth.c:1082
+#: libpq/auth.c:1089
 msgid "retrieving GSS user name failed"
 msgstr "falló la obtención del nombre de usuario GSS"
 
-#: libpq/auth.c:1228
+#: libpq/auth.c:1235
 msgid "could not acquire SSPI credentials"
 msgstr "no se pudo obtener las credenciales SSPI"
 
-#: libpq/auth.c:1253
+#: libpq/auth.c:1260
 #, 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:1331
+#: libpq/auth.c:1338
 msgid "could not accept SSPI security context"
 msgstr "no se pudo aceptar un contexto SSPI"
 
-#: libpq/auth.c:1372
+#: libpq/auth.c:1379
 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:1508 libpq/auth.c:1527
+#: libpq/auth.c:1515 libpq/auth.c:1534
 #, c-format
 msgid "could not translate name"
 msgstr "no se pudo traducir el nombre"
 
-#: libpq/auth.c:1540
+#: libpq/auth.c:1547
 #, c-format
 msgid "realm name too long"
 msgstr "nombre de «realm» demasiado largo"
 
-#: libpq/auth.c:1555
+#: libpq/auth.c:1562
 #, c-format
 msgid "translated account name too long"
 msgstr "nombre de cuenta traducido demasiado largo"
 
-#: libpq/auth.c:1734
+#: libpq/auth.c:1741
 #, 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:1749
+#: libpq/auth.c:1756
 #, 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:1761
+#: libpq/auth.c:1768
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "no se pudo conectar al servidor Ident en dirección «%s», port %s: %m"
 
-#: libpq/auth.c:1783
+#: libpq/auth.c:1790
 #, 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:1800
+#: libpq/auth.c:1807
 #, 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:1810
+#: libpq/auth.c:1817
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: libpq/auth.c:1863
+#: libpq/auth.c:1870
 #, 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:1867
+#: libpq/auth.c:1874
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "no se pudo recibir credenciales: %m"
 
-#: libpq/auth.c:1879
+#: libpq/auth.c:1886
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "no se pudo encontrar el ID del usuario local %ld: %s"
 
-#: libpq/auth.c:1981
+#: libpq/auth.c:1988
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: libpq/auth.c:1992
+#: libpq/auth.c:1999
 #, c-format
 msgid "unsupported PAM conversation %d/\"%s\""
 msgstr "conversación PAM no soportada: %d/«%s»"
 
-#: libpq/auth.c:2049
+#: libpq/auth.c:2056
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "no se pudo crear autenticador PAM: %s"
 
-#: libpq/auth.c:2060
+#: libpq/auth.c:2067
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: libpq/auth.c:2092
+#: libpq/auth.c:2099
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) falló: %s"
 
-#: libpq/auth.c:2104
+#: libpq/auth.c:2111
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: libpq/auth.c:2117
+#: libpq/auth.c:2124
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate falló: %s"
 
-#: libpq/auth.c:2130
+#: libpq/auth.c:2137
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt falló: %s"
 
-#: libpq/auth.c:2141
+#: libpq/auth.c:2148
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: libpq/auth.c:2221
+#: libpq/auth.c:2228
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: libpq/auth.c:2258
+#: libpq/auth.c:2265
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "no se pudo extraer el nombre de dominio de ldapbasedn"
 
-#: libpq/auth.c:2266
+#: libpq/auth.c:2273
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "la autentificación LDAP no pudo encontrar registros DNS SRV para «%s»"
 
-#: libpq/auth.c:2268
+#: libpq/auth.c:2275
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Defina un nombre de servidor LDAP explícitamente."
 
-#: libpq/auth.c:2320
+#: libpq/auth.c:2327
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "no se pudo inicializar LDAP: %s"
 
-#: libpq/auth.c:2330
+#: libpq/auth.c:2337
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "ldaps no está soportado con esta biblioteca LDAP"
 
-#: libpq/auth.c:2338
+#: libpq/auth.c:2345
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "no se pudo inicializar LDAP: %m"
 
-#: libpq/auth.c:2348
+#: libpq/auth.c:2355
 #, 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:2364
+#: libpq/auth.c:2371
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#: libpq/auth.c:2441
+#: libpq/auth.c:2448
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "servidor LDAP no especificado, y no hay ldapbasedn"
 
-#: libpq/auth.c:2448
+#: libpq/auth.c:2455
 #, c-format
 msgid "LDAP server not specified"
 msgstr "servidor LDAP no especificado"
 
-#: libpq/auth.c:2510
+#: libpq/auth.c:2517
 #, 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:2527
+#: libpq/auth.c:2534
 #, 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:2557
+#: libpq/auth.c:2564
 #, 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:2573
+#: libpq/auth.c:2580
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/auth.c:2574
+#: libpq/auth.c:2581
 #, 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:2578
+#: libpq/auth.c:2585
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/auth.c:2579
+#: libpq/auth.c:2586
 #, 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:2599
+#: libpq/auth.c:2606
 #, 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:2620
-#, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\""
-msgstr "no se pudo desconectar (unbind) después de buscar al usuario «%s» en el servidor «%s»"
-
-#: libpq/auth.c:2651
+#: libpq/auth.c:2633
 #, 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:2683
+#: libpq/auth.c:2665
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "Diagnóstico LDAP: %s"
 
-#: libpq/auth.c:2721
+#: libpq/auth.c:2703
 #, 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:2742
+#: libpq/auth.c:2724
 #, c-format
 msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN"
 msgstr "la autentificación por certificado falló para el usuario «%s»: no se pudo obtener el DN del sujeto"
 
-#: libpq/auth.c:2765
+#: libpq/auth.c:2747
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch"
 msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de DN"
 
-#: libpq/auth.c:2770
+#: libpq/auth.c:2752
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
 msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de CN"
 
-#: libpq/auth.c:2872
+#: libpq/auth.c:2854
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "servidor RADIUS no especificado"
 
-#: libpq/auth.c:2879
+#: libpq/auth.c:2861
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "secreto RADIUS no especificado"
 
-#: libpq/auth.c:2893
+#: libpq/auth.c:2875
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than %d characters"
 msgstr "la autentificación RADIUS no soporta contraseñas más largas de %d caracteres"
 
-#: libpq/auth.c:2995 libpq/hba.c:2391
+#: libpq/auth.c:2977 libpq/hba.c:2352
 #, 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:3009
+#: libpq/auth.c:2991
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/auth.c:3046
-#, fuzzy, c-format
-#| msgid "could not encrypt password: %s"
+#: libpq/auth.c:3028
+#, c-format
 msgid "could not perform MD5 encryption of password: %s"
-msgstr "no se pudo cifrar contraseña: %s"
+msgstr "no se pudo efectuar cifrado MD5 de contraseña: %s"
 
-#: libpq/auth.c:3073
+#: libpq/auth.c:3055
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/auth.c:3089
+#: libpq/auth.c:3071
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/auth.c:3099
+#: libpq/auth.c:3081
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/auth.c:3133 libpq/auth.c:3159
+#: libpq/auth.c:3115 libpq/auth.c:3141
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "se agotó el tiempo de espera de la respuesta RADIUS desde %s"
 
-#: libpq/auth.c:3152
+#: libpq/auth.c:3134
 #, 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:3182
+#: libpq/auth.c:3164
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/auth.c:3190
+#: libpq/auth.c:3172
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "la respuesta RADIUS desde %s fue enviada desde el port incorrecto: %d"
 
-#: libpq/auth.c:3198
+#: libpq/auth.c:3180
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "la respuesta RADIUS desde %s es demasiado corta: %d"
 
-#: libpq/auth.c:3205
+#: libpq/auth.c:3187
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "la respuesta RADIUS desde %ss tiene largo corrupto: %d (largo real %d)"
 
-#: libpq/auth.c:3213
+#: libpq/auth.c:3195
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "la respuesta RADIUS desde %s es a una petición diferente: %d (debería ser %d)"
 
-#: libpq/auth.c:3238
-#, fuzzy, c-format
-#| msgid "could not send feedback packet: %s"
+#: libpq/auth.c:3220
+#, c-format
 msgid "could not perform MD5 encryption of received packet: %s"
-msgstr "no se pudo enviar el paquete de retroalimentación: %s"
+msgstr "no se pudo efectuar cifrado MD5 del paquete recibido: %s"
 
-#: libpq/auth.c:3248
+#: libpq/auth.c:3230
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "la respuesta RADIUS desde %s tiene firma MD5 incorrecta"
 
-#: libpq/auth.c:3266
+#: libpq/auth.c:3248
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "la respuesta RADIUS desde %s tiene código no válido (%d) para el usuario «%s»"
@@ -14835,64 +15196,51 @@ msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 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-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294
-#: utils/adt/genfile.c:315
+#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "el tamaño solicitado no puede ser negativo"
 
-#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:299
-#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508
-#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809
-#, c-format
-msgid "permission denied for large object %u"
-msgstr "permiso denegado al objeto grande %u"
-
-#: libpq/be-secure-common.c:71
-#, c-format
-msgid "could not read from command \"%s\": %m"
-msgstr "no se pudo leer desde la orden «%s»: %m"
-
-#: libpq/be-secure-common.c:91
+#: libpq/be-secure-common.c:94
 #, c-format
 msgid "command \"%s\" failed"
 msgstr "la orden «%s» falló"
 
-#: libpq/be-secure-common.c:119
+#: libpq/be-secure-common.c:123
 #, 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-common.c:129
+#: libpq/be-secure-common.c:133
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "el archivo de llave privada «%s» no es un archivo regular"
 
-#: libpq/be-secure-common.c:155
+#: libpq/be-secure-common.c:159
 #, c-format
 msgid "private key file \"%s\" must be owned by the database user or root"
 msgstr "el archivo de llave privada «%s» debe ser de propiedad del usuario de base de datos o root"
 
-#: libpq/be-secure-common.c:165
+#: libpq/be-secure-common.c:169
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "el archivo de la llave privada «%s» tiene acceso para el grupo u otros"
 
-#: libpq/be-secure-common.c:167
+#: libpq/be-secure-common.c:171
 #, c-format
 msgid "File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root."
 msgstr "El archivo debe tener permisos u=rw (0600) o menos si es de propiedad del usuario de base deatos, o permisos u=rw,g=r (0640) o menos si es de root."
 
-#: libpq/be-secure-gssapi.c:204
+#: libpq/be-secure-gssapi.c:201
 msgid "GSSAPI wrap error"
 msgstr "error de «wrap» de GSSAPI"
 
-#: libpq/be-secure-gssapi.c:211
+#: libpq/be-secure-gssapi.c:208
 #, c-format
 msgid "outgoing GSSAPI message would not use confidentiality"
 msgstr "mensaje saliente GSSAPI no proveería confidencialidad"
 
-#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:634
+#: libpq/be-secure-gssapi.c:215 libpq/be-secure-gssapi.c:634
 #, c-format
 msgid "server tried to send oversize GSSAPI packet (%zu > %zu)"
 msgstr "el servidor intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)"
@@ -14924,819 +15272,810 @@ msgstr "no se pudo aceptar un contexto de seguridad GSSAPI"
 msgid "GSSAPI size check error"
 msgstr "error de verificación de tamaño GSSAPI"
 
-#: libpq/be-secure-openssl.c:125
+#: libpq/be-secure-openssl.c:131
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "no se pudo crear un contexto SSL: %s"
 
-#: libpq/be-secure-openssl.c:151
+#: libpq/be-secure-openssl.c:157
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de certificado de servidor «%s»: %s"
 
-#: libpq/be-secure-openssl.c:171
+#: libpq/be-secure-openssl.c:177
 #, c-format
 msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase"
 msgstr "el archivo de clave privada \"%s\" no se puede volver a cargar porque requiere una contraseña"
 
-#: libpq/be-secure-openssl.c:176
+#: libpq/be-secure-openssl.c:182
 #, 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-openssl.c:185
+#: libpq/be-secure-openssl.c:191
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "falló la revisión de la llave privada: %s"
 
 #. translator: first %s is a GUC option name, second %s is its value
-#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227
 #, c-format
 msgid "\"%s\" setting \"%s\" not supported by this build"
 msgstr "el valor «%2$s» para la opción «%1$s» no está soportado en este servidor"
 
-#: libpq/be-secure-openssl.c:208
+#: libpq/be-secure-openssl.c:214
 #, c-format
 msgid "could not set minimum SSL protocol version"
 msgstr "no se pudo definir la versión mínima de protocolo SSL"
 
-#: libpq/be-secure-openssl.c:231
+#: libpq/be-secure-openssl.c:237
 #, c-format
 msgid "could not set maximum SSL protocol version"
 msgstr "no se pudo definir la versión máxima de protocolo SSL"
 
-#: libpq/be-secure-openssl.c:247
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "could not set SSL protocol version range"
 msgstr "no se pudo definir el rango de versión de protocolo SSL"
 
-#: libpq/be-secure-openssl.c:248
+#: libpq/be-secure-openssl.c:254
 #, c-format
 msgid "\"%s\" cannot be higher than \"%s\""
 msgstr "«%s» no puede ser más alto que «%s»"
 
-#: libpq/be-secure-openssl.c:285
+#: libpq/be-secure-openssl.c:308
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
 msgstr "no se pudo establecer la lista de cifrado (no hay cifradores disponibles)"
 
-#: libpq/be-secure-openssl.c:305
+#: libpq/be-secure-openssl.c:328
 #, 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-openssl.c:354
+#: libpq/be-secure-openssl.c:377
 #, 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-openssl.c:362
+#: libpq/be-secure-openssl.c:385
 #, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
 msgstr "no se pudo cargar el directorio de lista de revocación de certificados SSL «%s»: %s"
 
-#: libpq/be-secure-openssl.c:370
+#: libpq/be-secure-openssl.c:393
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s"
 msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s» o directorio «%s»: %s"
 
-#: libpq/be-secure-openssl.c:428
+#: libpq/be-secure-openssl.c:451
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr "no se pudo inicializar la conexión SSL: el contexto SSL no está instalado"
 
-#: libpq/be-secure-openssl.c:439
+#: libpq/be-secure-openssl.c:465
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "no se pudo inicializar la conexión SSL: %s"
 
-#: libpq/be-secure-openssl.c:447
+#: libpq/be-secure-openssl.c:473
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "no se definir un socket SSL: %s"
 
-#: libpq/be-secure-openssl.c:502
+#: libpq/be-secure-openssl.c:529
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "no se pudo aceptar una conexión SSL: %m"
 
-#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561
+#: libpq/be-secure-openssl.c:533 libpq/be-secure-openssl.c:590
 #, 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-openssl.c:545
+#: libpq/be-secure-openssl.c:574
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "no se pudo aceptar una conexión SSL: %s"
 
-#: libpq/be-secure-openssl.c:549
+#: libpq/be-secure-openssl.c:578
 #, c-format
 msgid "This may indicate that the client does not support any SSL protocol version between %s and %s."
 msgstr "Esto puede indicar que el cliente no soporta ninguna versión del protocolo SSL entre %s y %s."
 
-#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:746
-#: libpq/be-secure-openssl.c:810
+#: libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:810
+#: libpq/be-secure-openssl.c:880
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "código de error SSL no reconocido: %d"
 
-#: libpq/be-secure-openssl.c:612
+#: libpq/be-secure-openssl.c:623
+#, c-format
+msgid "received SSL connection request with unexpected ALPN protocol"
+msgstr "recibido una solicitud de conexión SSL con protocolo ALPN inesperado"
+
+#: libpq/be-secure-openssl.c:667
 #, 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-openssl.c:652
+#: libpq/be-secure-openssl.c:713
 #, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
 msgstr "el elemento de nombre distinguido en el certificado SSL contiene un carácter null"
 
-#: libpq/be-secure-openssl.c:735 libpq/be-secure-openssl.c:794
+#: libpq/be-secure-openssl.c:799 libpq/be-secure-openssl.c:864
 #, c-format
 msgid "SSL error: %s"
 msgstr "error de SSL: %s"
 
-#: libpq/be-secure-openssl.c:976
+#: libpq/be-secure-openssl.c:1039
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de parámetros DH «%s»: %m"
 
-#: libpq/be-secure-openssl.c:988
+#: libpq/be-secure-openssl.c:1051
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "no se pudo cargar el archivo de parámetros DH: %s"
 
-#: libpq/be-secure-openssl.c:998
+#: libpq/be-secure-openssl.c:1061
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "parámetros DH no válidos: %s"
 
-#: libpq/be-secure-openssl.c:1007
+#: libpq/be-secure-openssl.c:1070
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "parámetros DH no válidos: p no es primo"
 
-#: libpq/be-secure-openssl.c:1016
+#: libpq/be-secure-openssl.c:1079
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
 msgstr "parámetros DH no válidos: no hay generador apropiado o primo seguro"
 
-#: libpq/be-secure-openssl.c:1152
-#, fuzzy, c-format
-#| msgid "certificate authentication failed for user \"%s\""
+#: libpq/be-secure-openssl.c:1215
+#, c-format
 msgid "Client certificate verification failed at depth %d: %s."
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+msgstr "La autentificación por certificado de cliente falló en la profundidad %d: %s."
 
-#: libpq/be-secure-openssl.c:1189
+#: libpq/be-secure-openssl.c:1252
 #, c-format
 msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"."
-msgstr ""
+msgstr "Datos del certificado fallido (sin verificar): sujeto «%s», número de serie %s, emisor «%s»."
 
-#: libpq/be-secure-openssl.c:1190
+#: libpq/be-secure-openssl.c:1253
 msgid "unknown"
 msgstr "desconocido"
 
-#: libpq/be-secure-openssl.c:1281
+#: libpq/be-secure-openssl.c:1390
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: no se pudo cargar los parámetros DH"
 
-#: libpq/be-secure-openssl.c:1289
+#: libpq/be-secure-openssl.c:1398
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: no se pudo definir los parámetros DH: %s"
 
-#: libpq/be-secure-openssl.c:1316
+#: libpq/be-secure-openssl.c:1425
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: nombre de curva no reconocida: %s"
 
-#: libpq/be-secure-openssl.c:1325
+#: libpq/be-secure-openssl.c:1434
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: no se pudo crear la llave"
 
-#: libpq/be-secure-openssl.c:1353
+#: libpq/be-secure-openssl.c:1462
 msgid "no SSL error reported"
 msgstr "código de error SSL no reportado"
 
-#: libpq/be-secure-openssl.c:1357
+#: libpq/be-secure-openssl.c:1480
 #, c-format
 msgid "SSL error code %lu"
 msgstr "código de error SSL %lu"
 
-#: libpq/be-secure-openssl.c:1516
+#: libpq/be-secure-openssl.c:1637
 #, c-format
 msgid "could not create BIO"
 msgstr "no se pudo crear BIO"
 
-#: libpq/be-secure-openssl.c:1526
+#: libpq/be-secure-openssl.c:1647
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
 msgstr "no se pudo obtener NID para objeto ASN1_OBJECT"
 
-#: libpq/be-secure-openssl.c:1534
+#: libpq/be-secure-openssl.c:1655
 #, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
 msgstr "no se pudo convertir NID %d en una estructura ASN1_OBJECT"
 
-#: libpq/be-secure.c:207 libpq/be-secure.c:303
-#, c-format
-msgid "terminating connection due to unexpected postmaster exit"
-msgstr "terminando la conexión debido al término inesperado de postmaster"
-
-#: libpq/crypt.c:49
+#: libpq/crypt.c:48
 #, c-format
 msgid "Role \"%s\" does not exist."
 msgstr "No existe el rol «%s»."
 
-#: libpq/crypt.c:59
+#: libpq/crypt.c:58
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "El usuario «%s» no tiene una contraseña asignada."
 
-#: libpq/crypt.c:77
+#: libpq/crypt.c:76
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "El usuario «%s» tiene contraseña expirada."
 
-#: libpq/crypt.c:183
+#: libpq/crypt.c:182
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
 msgstr "El usuario \"%s\" tiene una contraseña que no se puede usar con la autentificación MD5."
 
-#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266
+#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "La contraseña no coincide para el usuario «%s»."
 
-#: libpq/crypt.c:285
+#: libpq/crypt.c:284
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
 msgstr "La contraseña del usuario \"%s\" está en un formato no reconocido."
 
-#: libpq/hba.c:234
-#, c-format
-msgid "authentication file token too long, skipping: \"%s\""
-msgstr "una palabra en el archivo de autentificación es demasiado larga, omitiendo: «%s»"
-
-#: libpq/hba.c:357
+#: libpq/hba.c:327
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "la expresión regular «%s» no es válida: %s"
 
-#: libpq/hba.c:359 libpq/hba.c:688 libpq/hba.c:1272 libpq/hba.c:1292
-#: libpq/hba.c:1315 libpq/hba.c:1328 libpq/hba.c:1381 libpq/hba.c:1409
-#: libpq/hba.c:1417 libpq/hba.c:1429 libpq/hba.c:1450 libpq/hba.c:1463
-#: libpq/hba.c:1488 libpq/hba.c:1515 libpq/hba.c:1527 libpq/hba.c:1586
-#: libpq/hba.c:1606 libpq/hba.c:1620 libpq/hba.c:1640 libpq/hba.c:1651
-#: libpq/hba.c:1666 libpq/hba.c:1685 libpq/hba.c:1701 libpq/hba.c:1713
-#: libpq/hba.c:1750 libpq/hba.c:1791 libpq/hba.c:1804 libpq/hba.c:1826
-#: libpq/hba.c:1838 libpq/hba.c:1856 libpq/hba.c:1906 libpq/hba.c:1950
-#: libpq/hba.c:1961 libpq/hba.c:1977 libpq/hba.c:1994 libpq/hba.c:2005
-#: libpq/hba.c:2024 libpq/hba.c:2040 libpq/hba.c:2056 libpq/hba.c:2115
-#: libpq/hba.c:2132 libpq/hba.c:2145 libpq/hba.c:2157 libpq/hba.c:2176
-#: libpq/hba.c:2262 libpq/hba.c:2280 libpq/hba.c:2374 libpq/hba.c:2393
-#: libpq/hba.c:2422 libpq/hba.c:2435 libpq/hba.c:2458 libpq/hba.c:2480
-#: libpq/hba.c:2494 tsearch/ts_locale.c:243
+#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265
+#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382
+#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436
+#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559
+#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624
+#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686
+#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799
+#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922
+#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985
+#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093
+#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223
+#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383
+#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455
+#: tsearch/ts_locale.c:241
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "línea %d del archivo de configuración «%s»"
 
-#: libpq/hba.c:484
-#, fuzzy, c-format
-#| msgid "skipping missing configuration file \"%s\""
+#: libpq/hba.c:457
+#, c-format
 msgid "skipping missing authentication file \"%s\""
-msgstr "omitiendo el archivo de configuración faltante «%s»"
+msgstr "omitiendo el archivo de autentificación faltante «%s»"
 
-#: libpq/hba.c:636
-#, fuzzy, c-format
-#| msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
+#: libpq/hba.c:609
+#, c-format
 msgid "could not open file \"%s\": maximum nesting depth exceeded"
-msgstr "no se pudo abrir el archivo de configuración «%s»: nivel de anidamiento máximo excedido"
+msgstr "no se pudo abrir el archivo «%s»: nivel de anidamiento máximo excedido"
 
-#: libpq/hba.c:1243
+#: libpq/hba.c:1216
 #, c-format
 msgid "error enumerating network interfaces: %m"
 msgstr "error al enumerar interfaces de red: %m"
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:1270
+#: libpq/hba.c:1243
 #, 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:1290
+#: libpq/hba.c:1263
 #, 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:1314
-#, fuzzy, c-format
-#| msgid "missing \"%s\" at end of SQL expression"
+#: libpq/hba.c:1287
+#, c-format
 msgid "missing entry at end of line"
-msgstr "falta «%s» al final de la expresión SQL"
+msgstr "falta una entrada al final de la línea"
 
-#: libpq/hba.c:1327
+#: libpq/hba.c:1300
 #, c-format
 msgid "multiple values in ident field"
 msgstr "múltiples valores en campo «ident»"
 
-#: libpq/hba.c:1379
+#: libpq/hba.c:1352
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "múltiples valores especificados para tipo de conexión"
 
-#: libpq/hba.c:1380
+#: libpq/hba.c:1353
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Especifique exactamente un tipo de conexión por línea."
 
-#: libpq/hba.c:1407
+#: libpq/hba.c:1380
 #, c-format
 msgid "hostssl record cannot match because SSL is disabled"
 msgstr "el registro hostssl no puede coincidir porque SSL está deshabilitado"
 
-#: libpq/hba.c:1408
+#: libpq/hba.c:1381
 #, c-format
-msgid "Set ssl = on in postgresql.conf."
+msgid "Set \"ssl = on\" in postgresql.conf."
 msgstr "Defina «ssl = on» en postgresql.conf."
 
-#: libpq/hba.c:1416
+#: libpq/hba.c:1389
 #, c-format
 msgid "hostssl record cannot match because SSL is not supported by this build"
 msgstr "el registro hostssl no puede coincidir porque SSL no está soportado en esta instalación"
 
-#: libpq/hba.c:1428
+#: libpq/hba.c:1401
 #, c-format
 msgid "hostgssenc record cannot match because GSSAPI is not supported by this build"
 msgstr "el registro hostgssenc no puede coincidir porque GSSAPI no está soportado en esta instalación"
 
-#: libpq/hba.c:1448
+#: libpq/hba.c:1421
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "tipo de conexión «%s» no válido"
 
-#: libpq/hba.c:1462
+#: libpq/hba.c:1435
 #, 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:1487
+#: libpq/hba.c:1460
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "fin de línea antes de especificación de rol"
 
-#: libpq/hba.c:1514
+#: libpq/hba.c:1487
 #, 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:1525
+#: libpq/hba.c:1498
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "múltiples valores especificados para la dirección de anfitrión"
 
-#: libpq/hba.c:1526
+#: libpq/hba.c:1499
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Especifique un rango de direcciones por línea."
 
-#: libpq/hba.c:1584
+#: libpq/hba.c:1557
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "dirección IP «%s» no válida: %s"
 
-#: libpq/hba.c:1604
+#: libpq/hba.c:1577
 #, 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:1618
+#: libpq/hba.c:1591
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "máscara CIDR no válida en dirección «%s»"
 
-#: libpq/hba.c:1638
+#: libpq/hba.c:1611
 #, 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:1639
+#: libpq/hba.c:1612
 #, 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:1650
+#: libpq/hba.c:1623
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "múltiples valores especificados para la máscara de red"
 
-#: libpq/hba.c:1664
+#: libpq/hba.c:1637
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "máscara IP «%s» no válida: %s"
 
-#: libpq/hba.c:1684
+#: libpq/hba.c:1657
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "La dirección y máscara IP no coinciden"
 
-#: libpq/hba.c:1700
+#: libpq/hba.c:1673
 #, 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:1711
+#: libpq/hba.c:1684
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: libpq/hba.c:1712
+#: libpq/hba.c:1685
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Especifique exactamente un tipo de autentificación por línea."
 
-#: libpq/hba.c:1789
+#: libpq/hba.c:1750
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "método de autentificación «%s» no válido"
 
-#: libpq/hba.c:1802
+#: libpq/hba.c:1763
 #, 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:1825
+#: libpq/hba.c:1786
 #, 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:1837
+#: libpq/hba.c:1798
 #, 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:1855
+#: libpq/hba.c:1816
 #, 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:1905
+#: libpq/hba.c:1866
 #, 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:1949
+#: libpq/hba.c:1910
 #, c-format
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix"
 msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter o ldapurl junto con ldapprefix"
 
-#: libpq/hba.c:1960
+#: libpq/hba.c:1921
 #, 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:1976
+#: libpq/hba.c:1937
 #, c-format
 msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
 msgstr "no se puede usar ldapsearchattribute junto con ldapsearchfilter"
 
-#: libpq/hba.c:1993
+#: libpq/hba.c:1954
 #, c-format
 msgid "list of RADIUS servers cannot be empty"
 msgstr "la lista de servidores RADIUS no puede ser vacía"
 
-#: libpq/hba.c:2004
+#: libpq/hba.c:1965
 #, c-format
 msgid "list of RADIUS secrets cannot be empty"
 msgstr "la lista de secretos RADIUS no puede ser vacía"
 
-#: libpq/hba.c:2021
+#: libpq/hba.c:1982
 #, c-format
 msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "el número de secretos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
-#: libpq/hba.c:2037
+#: libpq/hba.c:1998
 #, c-format
 msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "el número de puertos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
-#: libpq/hba.c:2053
+#: libpq/hba.c:2014
 #, c-format
 msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "el número de identificadores RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
-#: libpq/hba.c:2105
+#: libpq/hba.c:2066
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi y cert"
 
-#: libpq/hba.c:2114
+#: libpq/hba.c:2075
 #, 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:2131
+#: libpq/hba.c:2092
 #, c-format
 msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication"
 msgstr "clientcert solo acepta «verify-full» cuando se emplea autentificación «cert»"
 
-#: libpq/hba.c:2144
+#: libpq/hba.c:2105
 #, c-format
 msgid "invalid value for clientcert: \"%s\""
 msgstr "valor no válido para el parámetro clientcert: «%s»"
 
-#: libpq/hba.c:2156
+#: libpq/hba.c:2117
 #, c-format
 msgid "clientname can only be configured for \"hostssl\" rows"
 msgstr "clientname solo puede ser configurado en líneas «hostssl»"
 
-#: libpq/hba.c:2175
+#: libpq/hba.c:2136
 #, c-format
 msgid "invalid value for clientname: \"%s\""
 msgstr "valor no válido para el parámetro clientname: «%s»"
 
-#: libpq/hba.c:2208
+#: libpq/hba.c:2169
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
 
-#: libpq/hba.c:2219
+#: libpq/hba.c:2180
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "esquema de URL LDAP no soportado: %s"
 
-#: libpq/hba.c:2243
+#: libpq/hba.c:2204
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "las URLs LDAP no está soportado en esta plataforma"
 
-#: libpq/hba.c:2261
+#: libpq/hba.c:2222
 #, c-format
 msgid "invalid ldapscheme value: \"%s\""
 msgstr "valor ldapscheme no válido: «%s»"
 
-#: libpq/hba.c:2279
+#: libpq/hba.c:2240
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "número de puerto LDAP no válido: «%s»"
 
-#: libpq/hba.c:2325 libpq/hba.c:2332
+#: libpq/hba.c:2286 libpq/hba.c:2293
 msgid "gssapi and sspi"
 msgstr "gssapi y sspi"
 
-#: libpq/hba.c:2341 libpq/hba.c:2350
+#: libpq/hba.c:2302 libpq/hba.c:2311
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:2372
+#: libpq/hba.c:2333
 #, c-format
 msgid "could not parse RADIUS server list \"%s\""
 msgstr "no se pudo interpretar la lista de servidores RADIUS «%s»"
 
-#: libpq/hba.c:2420
+#: libpq/hba.c:2381
 #, c-format
 msgid "could not parse RADIUS port list \"%s\""
 msgstr "no se pudo interpretar la lista de port RADIUS «%s»"
 
-#: libpq/hba.c:2434
+#: libpq/hba.c:2395
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "número de puerto RADIUS no válido: «%s»"
 
-#: libpq/hba.c:2456
+#: libpq/hba.c:2417
 #, c-format
 msgid "could not parse RADIUS secret list \"%s\""
 msgstr "no se pudo interpretar la lista de secretos RADIUS «%s»"
 
-#: libpq/hba.c:2478
+#: libpq/hba.c:2439
 #, c-format
 msgid "could not parse RADIUS identifiers list \"%s\""
 msgstr "no se pudo interpretar la lista de identificadores RADIUS «%s»"
 
-#: libpq/hba.c:2492
+#: libpq/hba.c:2453
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nombre de opción de autentificación desconocido: «%s»"
 
-#: libpq/hba.c:2684
+#: libpq/hba.c:2645
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "el archivo de configuración «%s» no contiene líneas"
 
-#: libpq/hba.c:2838
+#: libpq/hba.c:2798
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "la coincidencia de expresión regular para «%s» falló: %s"
 
-#: libpq/hba.c:2862
+#: libpq/hba.c:2822
 #, 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:2965
+#: libpq/hba.c:2925
 #, 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:2985
+#: libpq/hba.c:2945
 #, 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/pqcomm.c:200
+#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259
+#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733
+#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855
+#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930
+#, c-format
+msgid "%s(%s) failed: %m"
+msgstr "%s(%s) falló: %m"
+
+#: libpq/pqcomm.c:296
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
 
-#: libpq/pqcomm.c:361
+#: libpq/pqcomm.c:456
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "la ruta al socket de dominio Unix «%s» es demasiado larga (máximo %d bytes)"
 
-#: libpq/pqcomm.c:381
+#: libpq/pqcomm.c:476
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "no se pudo traducir el nombre de host «%s», servicio «%s» a dirección: %s"
 
-#: libpq/pqcomm.c:385
+#: libpq/pqcomm.c:480
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
 
-#: libpq/pqcomm.c:412
+#: libpq/pqcomm.c:502
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "no se pudo enlazar a todas las direcciones pedidas: MAXLISTEN (%d) fue excedido"
 
-#: libpq/pqcomm.c:421
+#: libpq/pqcomm.c:511
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:424
+#: libpq/pqcomm.c:514
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:427
+#: libpq/pqcomm.c:517
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:431
+#: libpq/pqcomm.c:521
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "la familia de direcciones %d no reconocida"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:455
+#: libpq/pqcomm.c:545
 #, c-format
 msgid "could not create %s socket for address \"%s\": %m"
 msgstr "no se pudo crear el socket %s de escucha para la dirección «%s»: %m"
 
 #. translator: third %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:481 libpq/pqcomm.c:499
+#: libpq/pqcomm.c:574 libpq/pqcomm.c:592
 #, c-format
 msgid "%s(%s) failed for %s address \"%s\": %m"
 msgstr "%s(%s) falló para la dirección %s «%s»: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:522
+#: libpq/pqcomm.c:615
 #, c-format
 msgid "could not bind %s address \"%s\": %m"
 msgstr "no se pudo enlazar a la dirección %s «%s»: %m"
 
-#: libpq/pqcomm.c:526
+#: libpq/pqcomm.c:619
 #, c-format
 msgid "Is another postmaster already running on port %d?"
 msgstr "¿Hay otro postmaster en ejecución en el puerto %d?"
 
-#: libpq/pqcomm.c:528
+#: libpq/pqcomm.c:621
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr "¿Hay otro postmaster en ejecución en el puerto %d? Si no, aguarde unos segundos y reintente."
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:557
+#: libpq/pqcomm.c:650
 #, c-format
 msgid "could not listen on %s address \"%s\": %m"
 msgstr "no se pudo escuchar en la dirección %s «%s»: %m"
 
-#: libpq/pqcomm.c:565
+#: libpq/pqcomm.c:658
 #, c-format
 msgid "listening on Unix socket \"%s\""
 msgstr "escuchando en el socket Unix «%s»"
 
 #. translator: first %s is IPv4 or IPv6
-#: libpq/pqcomm.c:570
+#: libpq/pqcomm.c:663
 #, c-format
 msgid "listening on %s address \"%s\", port %d"
 msgstr "escuchando en la dirección %s «%s», port %d"
 
-#: libpq/pqcomm.c:659
+#: libpq/pqcomm.c:753
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "no existe el grupo «%s»"
 
-#: libpq/pqcomm.c:669
+#: libpq/pqcomm.c:763
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "no se pudo definir el grupo del archivo «%s»: %m"
 
-#: libpq/pqcomm.c:680
+#: libpq/pqcomm.c:774
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "no se pudo definir los permisos del archivo «%s»: %m"
 
-#: libpq/pqcomm.c:708
+#: libpq/pqcomm.c:803
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "no se pudo aceptar una nueva conexión: %m"
 
-#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799
-#: libpq/pqcomm.c:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709
-#: libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831
-#: libpq/pqcomm.c:1867 libpq/pqcomm.c:1906
-#, c-format
-msgid "%s(%s) failed: %m"
-msgstr "%s(%s) falló: %m"
-
-#: libpq/pqcomm.c:903
+#: libpq/pqcomm.c:885
 #, c-format
 msgid "there is no client connection"
 msgstr "no hay conexión de cliente"
 
-#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050
+#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "no se pudo recibir datos del cliente: %m"
 
-#: libpq/pqcomm.c:1155 tcop/postgres.c:4403
+#: libpq/pqcomm.c:1149 tcop/postgres.c:4445
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "terminando la conexión por pérdida de sincronía del protocolo"
 
-#: libpq/pqcomm.c:1221
+#: libpq/pqcomm.c:1215
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
 
-#: libpq/pqcomm.c:1231
+#: libpq/pqcomm.c:1225
 #, c-format
 msgid "invalid message length"
 msgstr "el largo de mensaje no es válido"
 
-#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266
+#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260
 #, c-format
 msgid "incomplete message from client"
 msgstr "mensaje incompleto del cliente"
 
-#: libpq/pqcomm.c:1377
+#: libpq/pqcomm.c:1401
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "no se pudo enviar datos al cliente: %m"
 
-#: libpq/pqcomm.c:1592
+#: libpq/pqcomm.c:1616
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "%s(%s) falló: código de error %d"
 
-#: libpq/pqcomm.c:1681
+#: libpq/pqcomm.c:1705
 #, c-format
 msgid "setting the keepalive idle time is not supported"
 msgstr "establecer el tiempo de inactividad para keepalive no está soportado"
 
-#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915
+#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939
 #, c-format
 msgid "%s(%s) not supported"
 msgstr "%s(%s) no está soportado"
 
-#: libpq/pqformat.c:407
+#: libpq/pqformat.c:404
 #, c-format
 msgid "no data left in message"
 msgstr "no hay datos restantes en el mensaje"
 
-#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557
-#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506
-#: utils/adt/rowtypes.c:615
+#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554
+#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481
+#: utils/adt/rowtypes.c:613
 #, c-format
 msgid "insufficient data left in message"
 msgstr "los datos restantes del mensaje son insuficientes"
 
-#: libpq/pqformat.c:598 libpq/pqformat.c:627
+#: libpq/pqformat.c:595 libpq/pqformat.c:624
 #, c-format
 msgid "invalid string in message"
 msgstr "cadena no válida en el mensaje"
 
-#: libpq/pqformat.c:643
+#: libpq/pqformat.c:640
 #, c-format
 msgid "invalid message format"
 msgstr "formato de mensaje no válido"
 
-#: main/main.c:235
+#: main/main.c:234
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup falló: %d\n"
 
-#: main/main.c:329
+#: main/main.c:322
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -15745,7 +16084,7 @@ msgstr ""
 "%s es el servidor PostgreSQL.\n"
 "\n"
 
-#: main/main.c:330
+#: main/main.c:323
 #, c-format
 msgid ""
 "Usage:\n"
@@ -15756,110 +16095,109 @@ msgstr ""
 "  %s [OPCION]...\n"
 "\n"
 
-#: main/main.c:331
+#: main/main.c:324
 #, c-format
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
-#: main/main.c:332
+#: main/main.c:325
 #, 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:333
+#: main/main.c:326
 #, 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:334
+#: main/main.c:327
 #, 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:335
+#: main/main.c:328
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5          nivel de depuración\n"
 
-#: main/main.c:336
+#: main/main.c:329
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D DATADIR      directorio de bases de datos\n"
 
-#: main/main.c:337
+#: main/main.c:330
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
 
-#: main/main.c:338
+#: main/main.c:331
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F              desactivar fsync\n"
 
-#: main/main.c:339
+#: main/main.c:332
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h NOMBRE       nombre de host o dirección IP en que escuchar\n"
 
-#: main/main.c:340
-#, fuzzy, c-format
-#| msgid "  -l                 enable SSL connections\n"
+#: main/main.c:333
+#, c-format
 msgid "  -i                 enable TCP/IP connections (deprecated)\n"
-msgstr "  -l              activar conexiones SSL\n"
+msgstr "  -i              activar conexiones TCP/IP (obsoleto)\n"
 
-#: main/main.c:341
+#: main/main.c:334
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
 
-#: main/main.c:343
+#: main/main.c:336
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l              activar conexiones SSL\n"
 
-#: main/main.c:345
+#: main/main.c:338
 #, 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:346
+#: main/main.c:339
 #, 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:347
+#: main/main.c:340
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s              mostrar estadísticas después de cada consulta\n"
 
-#: main/main.c:348
+#: main/main.c:341
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S WORK-MEM     definir cantidad de memoria para ordenamientos (en kB)\n"
 
-#: main/main.c:349
+#: main/main.c:342
 #, 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:350
+#: main/main.c:343
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
 
-#: main/main.c:351
+#: main/main.c:344
 #, 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:352
+#: main/main.c:345
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
 
-#: main/main.c:354
+#: main/main.c:347
 #, c-format
 msgid ""
 "\n"
@@ -15868,38 +16206,37 @@ msgstr ""
 "\n"
 "Opciones de desarrollador:\n"
 
-#: main/main.c:355
+#: main/main.c:348
 #, c-format
 msgid "  -f s|i|o|b|t|n|m|h forbid use of some plan types\n"
-msgstr ""
+msgstr "  -f s|i|o|b|t|n|m|h impedir el uso de algunos tipos de planes\n"
 
-#: main/main.c:356
+#: main/main.c:349
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
 
-#: main/main.c:357
+#: main/main.c:350
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P              desactivar índices de sistema\n"
 
-#: main/main.c:358
+#: main/main.c:351
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex     mostrar tiempos después de cada consulta\n"
 
-#: main/main.c:359
-#, fuzzy, c-format
-#| msgid "  -P                 disable system indexes\n"
+#: main/main.c:352
+#, c-format
 msgid "  -T                 send SIGABRT to all backend processes if one dies\n"
-msgstr "  -P              desactivar índices de sistema\n"
+msgstr "  -T              enviar SIGABRT a todos los procesos backend si uno muere\n"
 
-#: main/main.c:360
+#: main/main.c:353
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W NÚM          espera NÚM segundos para permitir acoplar un depurador\n"
 
-#: main/main.c:362
+#: main/main.c:355
 #, c-format
 msgid ""
 "\n"
@@ -15908,37 +16245,37 @@ msgstr ""
 "\n"
 "Opciones para modo mono-usuario:\n"
 
-#: main/main.c:363
+#: main/main.c:356
 #, 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:364
+#: main/main.c:357
 #, 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:365
+#: main/main.c:358
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5          nivel de depuración\n"
 
-#: main/main.c:366
+#: main/main.c:359
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E              mostrar las consultas antes de su ejecución\n"
 
-#: main/main.c:367
+#: main/main.c:360
 #, 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:368 main/main.c:374
+#: main/main.c:361 main/main.c:367
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r ARCHIVO      enviar salida estándar y de error a ARCHIVO\n"
 
-#: main/main.c:370
+#: main/main.c:363
 #, c-format
 msgid ""
 "\n"
@@ -15947,23 +16284,22 @@ msgstr ""
 "\n"
 "Opciones para modo de inicio (bootstrapping):\n"
 
-#: main/main.c:371
+#: main/main.c:364
 #, 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:372
-#, fuzzy, c-format
-#| msgid "  --single           selects single-user mode (must be first argument)\n"
+#: main/main.c:365
+#, c-format
 msgid "  --check            selects check mode (must be first argument)\n"
-msgstr "  --single        selecciona modo mono-usuario (debe ser el primer argumento)\n"
+msgstr "  --check         selecciona modo de verificación (debe ser el primer argumento)\n"
 
-#: main/main.c:373
+#: main/main.c:366
 #, 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:376
+#: main/main.c:369
 #, c-format
 msgid ""
 "\n"
@@ -15980,12 +16316,12 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: main/main.c:380
+#: main/main.c:373
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: main/main.c:391
+#: main/main.c:384
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -15999,12 +16335,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:408
+#: main/main.c:401
 #, 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:415
+#: main/main.c:408
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -16029,21 +16365,15 @@ msgstr "el tipo de nodo extensible «%s» ya existe"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods «%s» no fue registrado"
 
-#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335
+#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "la relación «%s» no tiene un tipo compuesto"
 
-#: nodes/makefuncs.c:878
-#, fuzzy, c-format
-#| msgid "unrecognized encoding: \"%s\""
-msgid "unrecognized JSON encoding: %s"
-msgstr "no se reconoce la codificación: «%s»"
-
-#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567
+#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567
 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752
-#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883
-#: utils/fmgr/funcapi.c:661
+#: parser/parse_expr.c:2111 parser/parse_func.c:710 parser/parse_oper.c:869
+#: utils/fmgr/funcapi.c:669
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s"
@@ -16058,938 +16388,936 @@ msgstr "portal «%s» con parámetros: %s"
 msgid "unnamed portal with parameters: %s"
 msgstr "portal sin nombre con parámetros: %s"
 
-#: optimizer/path/joinrels.c:973
+#: optimizer/path/joinrels.c:972
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
 msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join o hash join"
 
-#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182
-#: parser/parse_merge.c:189
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
+#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203
+#: rewrite/rewriteHandler.c:1695
+#, c-format
 msgid "cannot execute MERGE on relation \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
+msgstr "no se puede ejecutar MERGE en la relación «%s»"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1392
+#: optimizer/plan/initsplan.c:1407
 #, 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:1359 parser/analyze.c:1723 parser/analyze.c:1980
-#: parser/analyze.c:3193
+#: optimizer/plan/planner.c:1380 parser/analyze.c:1771 parser/analyze.c:2029
+#: parser/analyze.c:3247
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:2080 optimizer/plan/planner.c:4038
+#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4107
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "no se pudo implementar GROUP BY"
 
-#: optimizer/plan/planner.c:2081 optimizer/plan/planner.c:4039
-#: optimizer/plan/planner.c:4679 optimizer/prep/prepunion.c:1053
+#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4108
+#: optimizer/plan/planner.c:4789 optimizer/prep/prepunion.c:1320
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Algunos de los tipos sólo soportan hashing, mientras que otros sólo soportan ordenamiento."
 
-#: optimizer/plan/planner.c:4678
+#: optimizer/plan/planner.c:4788
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "no se pudo implementar DISTINCT"
 
-#: optimizer/plan/planner.c:6017
+#: optimizer/plan/planner.c:6133
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "No se pudo implementar PARTITION BY de ventana"
 
-#: optimizer/plan/planner.c:6018
+#: optimizer/plan/planner.c:6134
 #, 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:6022
+#: optimizer/plan/planner.c:6138
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "no se pudo implementar ORDER BY de ventana"
 
-#: optimizer/plan/planner.c:6023
+#: optimizer/plan/planner.c:6139
 #, 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/prep/prepunion.c:516
+#: optimizer/prep/prepunion.c:467
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "no se pudo implementar UNION recursivo"
 
-#: optimizer/prep/prepunion.c:517
+#: optimizer/prep/prepunion.c:468
 #, 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:1052
+#: optimizer/prep/prepunion.c:1319
 #, c-format
 msgid "could not implement %s"
 msgstr "no se pudo implementar %s"
 
-#: optimizer/util/clauses.c:4869
+#: optimizer/util/clauses.c:4951
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "función SQL «%s», durante expansión en línea"
 
-#: optimizer/util/plancat.c:154
+#: optimizer/util/plancat.c:152
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "no se puede acceder a tablas temporales o «unlogged» durante la recuperación"
 
-#: optimizer/util/plancat.c:726
+#: optimizer/util/plancat.c:756
 #, c-format
 msgid "whole row unique index inference specifications are not supported"
 msgstr "no están soportadas las especificaciones de inferencia de índice único de registro completo"
 
-#: optimizer/util/plancat.c:743
+#: optimizer/util/plancat.c:773
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "la restricción en la cláusula ON CONFLICT no tiene un índice asociado"
 
-#: optimizer/util/plancat.c:793
+#: optimizer/util/plancat.c:823
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE no está soportado con restricciones de exclusión"
 
-#: optimizer/util/plancat.c:898
+#: optimizer/util/plancat.c:933
 #, c-format
 msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
 msgstr "no hay restricción única o de exclusión que coincida con la especificación ON CONFLICT"
 
-#: parser/analyze.c:788 parser/analyze.c:1502
+#: parser/analyze.c:824 parser/analyze.c:1550
 #, 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:990
+#: parser/analyze.c:1027
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT tiene más expresiones que columnas de destino"
 
-#: parser/analyze.c:1008
+#: parser/analyze.c:1045
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT tiene más columnas de destino que expresiones"
 
-#: parser/analyze.c:1012
+#: parser/analyze.c:1049
 #, 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:1309 parser/analyze.c:1696
+#: parser/analyze.c:1357 parser/analyze.c:1744
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO no está permitido aquí"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1625 parser/analyze.c:3425
+#: parser/analyze.c:1673 parser/analyze.c:3479
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s no puede ser aplicado a VALUES"
 
-#: parser/analyze.c:1862
+#: parser/analyze.c:1911
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
 
-#: parser/analyze.c:1863
+#: parser/analyze.c:1912
 #, 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:1864
+#: parser/analyze.c:1913
 #, 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:1970
+#: parser/analyze.c:2019
 #, 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:2042
+#: parser/analyze.c:2091
 #, 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:2129
+#: parser/analyze.c:2178
 #, 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:2535
 #, c-format
+msgid "SET target columns cannot be qualified with the relation name."
+msgstr "Las columnas de destino SET no pueden ser calificadas con el nombre de relación."
+
+#: parser/analyze.c:2589
+#, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING debe tener al menos una columna"
 
-#: parser/analyze.c:2638
+#: parser/analyze.c:2692
 #, c-format
 msgid "assignment source returned %d column"
 msgid_plural "assignment source returned %d columns"
 msgstr[0] "fuente de asignación retornó %d columna"
 msgstr[1] "fuente de asignación retornó %d columnas"
 
-#: parser/analyze.c:2699
+#: parser/analyze.c:2753
 #, c-format
 msgid "variable \"%s\" is of type %s but expression is of type %s"
 msgstr "la variable «%s» es de tipo %s pero la expresión es de tipo %s"
 
 #. translator: %s is a SQL keyword
-#: parser/analyze.c:2824 parser/analyze.c:2832
+#: parser/analyze.c:2878 parser/analyze.c:2886
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "no se puede especificar %s junto con %s"
 
-#: parser/analyze.c:2852
+#: parser/analyze.c:2906
 #, 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:2860
+#: parser/analyze.c:2914
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
 
-#: parser/analyze.c:2863
+#: parser/analyze.c:2917
 #, 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:2871
+#: parser/analyze.c:2925
 #, 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:2882
+#: parser/analyze.c:2936
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s no es válido"
 
-#: parser/analyze.c:2885
+#: parser/analyze.c:2939
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Los cursores insensitivos deben ser READ ONLY."
 
-#: parser/analyze.c:2979
+#: parser/analyze.c:3033
 #, 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:2989
+#: parser/analyze.c:3043
 #, 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:2999
+#: parser/analyze.c:3053
 #, 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:3011
+#: parser/analyze.c:3065
 #, 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:3200
+#: parser/analyze.c:3254
 #, 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:3207
+#: parser/analyze.c:3261
 #, 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:3214
+#: parser/analyze.c:3268
 #, 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:3221
+#: parser/analyze.c:3275
 #, 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:3228
+#: parser/analyze.c:3282
 #, 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:3235
+#: parser/analyze.c:3289
 #, 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:3334
+#: parser/analyze.c:3388
 #, 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:3398
+#: parser/analyze.c:3452
 #, 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:3407
+#: parser/analyze.c:3461
 #, 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:3416
+#: parser/analyze.c:3470
 #, c-format
 msgid "%s cannot be applied to a table function"
 msgstr "%s no puede ser aplicado a una función de tabla"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3434
+#: parser/analyze.c:3488
 #, 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:3443
+#: parser/analyze.c:3497
 #, c-format
 msgid "%s cannot be applied to a named tuplestore"
 msgstr "%s no puede ser aplicado a un «tuplestore» con nombre"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3463
+#: parser/analyze.c:3517
 #, 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:221 parser/parse_oper.c:227
+#: parser/parse_agg.c:210 parser/parse_oper.c:215
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "no se pudo identificar un operador de ordenamiento para el tipo %s"
 
-#: parser/parse_agg.c:223
+#: parser/parse_agg.c:212
 #, 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:258
+#: parser/parse_agg.c:270
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "GROUPING debe tener menos de 32 argumentos"
 
-#: parser/parse_agg.c:361
+#: parser/parse_agg.c:373
 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:363
+#: parser/parse_agg.c:375
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "no se permiten las operaciones «grouping» en condiciones JOIN"
 
-#: parser/parse_agg.c:375
+#: parser/parse_agg.c:387
 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:377
+#: parser/parse_agg.c:389
 msgid "grouping operations are not allowed in FROM clause of their own query level"
 msgstr "las operaciones «grouping» no están permitidas en la cláusula FROM de su mismo nivel de consulta"
 
-#: parser/parse_agg.c:382
+#: parser/parse_agg.c:394
 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:384
+#: parser/parse_agg.c:396
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "no se permiten operaciones «grouping» en funciones en FROM"
 
-#: parser/parse_agg.c:392
+#: parser/parse_agg.c:404
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "no se permiten funciones de agregación en expresiones de políticas"
 
-#: parser/parse_agg.c:394
+#: parser/parse_agg.c:406
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de políticas"
 
-#: parser/parse_agg.c:411
+#: parser/parse_agg.c:423
 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:413
+#: parser/parse_agg.c:425
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "no se permiten operaciones «grouping» en RANGE de ventana deslizante"
 
-#: parser/parse_agg.c:418
+#: parser/parse_agg.c:430
 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:420
+#: parser/parse_agg.c:432
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "no se permiten operaciones «grouping» en ROWS de ventana deslizante"
 
-#: parser/parse_agg.c:425
+#: parser/parse_agg.c:437
 msgid "aggregate functions are not allowed in window GROUPS"
 msgstr "no se permiten funciones de agregación en GROUPS de ventana deslizante"
 
-#: parser/parse_agg.c:427
+#: parser/parse_agg.c:439
 msgid "grouping operations are not allowed in window GROUPS"
 msgstr "no se permiten operaciones «grouping» en GROUPS de ventana deslizante"
 
-#: parser/parse_agg.c:440
-#, fuzzy
-#| msgid "aggregate functions are not allowed in trigger WHEN conditions"
+#: parser/parse_agg.c:452
 msgid "aggregate functions are not allowed in MERGE WHEN conditions"
-msgstr "no se permiten funciones de agregación en condición WHEN de un disparador"
+msgstr "no se permiten funciones de agregación en condiciones MERGE WHEN"
 
-#: parser/parse_agg.c:442
-#, fuzzy
-#| msgid "grouping operations are not allowed in trigger WHEN conditions"
+#: parser/parse_agg.c:454
 msgid "grouping operations are not allowed in MERGE WHEN conditions"
-msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador"
+msgstr "no se permiten operaciones «grouping» en condiciones MERGE WHEN"
 
-#: parser/parse_agg.c:468
+#: parser/parse_agg.c:481
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "no se permiten funciones de agregación en restricciones «check»"
 
-#: parser/parse_agg.c:470
+#: parser/parse_agg.c:483
 msgid "grouping operations are not allowed in check constraints"
 msgstr "no se permiten operaciones «grouping» en restricciones «check»"
 
-#: parser/parse_agg.c:477
+#: parser/parse_agg.c:490
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
 
-#: parser/parse_agg.c:479
+#: parser/parse_agg.c:492
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones DEFAULT"
 
-#: parser/parse_agg.c:484
+#: parser/parse_agg.c:497
 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:486
+#: parser/parse_agg.c:499
 msgid "grouping operations are not allowed in index expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de índice"
 
-#: parser/parse_agg.c:491
+#: parser/parse_agg.c:504
 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:493
+#: parser/parse_agg.c:506
 msgid "grouping operations are not allowed in index predicates"
 msgstr "no se permiten operaciones «grouping» en predicados de índice"
 
-#: parser/parse_agg.c:498
+#: parser/parse_agg.c:511
 msgid "aggregate functions are not allowed in statistics expressions"
 msgstr "no se permiten funciones de agregación en expresiones de estadísticas"
 
-#: parser/parse_agg.c:500
+#: parser/parse_agg.c:513
 msgid "grouping operations are not allowed in statistics expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de estadísticas"
 
-#: parser/parse_agg.c:505
+#: parser/parse_agg.c:518
 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:507
+#: parser/parse_agg.c:520
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de transformación"
 
-#: parser/parse_agg.c:512
+#: parser/parse_agg.c:525
 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:514
+#: parser/parse_agg.c:527
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "no se permiten operaciones «grouping» en parámetros a EXECUTE"
 
-#: parser/parse_agg.c:519
+#: parser/parse_agg.c:532
 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"
 
-#: parser/parse_agg.c:521
+#: parser/parse_agg.c:534
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador"
 
-#: parser/parse_agg.c:526
+#: parser/parse_agg.c:539
 msgid "aggregate functions are not allowed in partition bound"
 msgstr "no se permiten funciones de agregación en borde de partición"
 
-#: parser/parse_agg.c:528
+#: parser/parse_agg.c:541
 msgid "grouping operations are not allowed in partition bound"
 msgstr "no se permiten operaciones «grouping» en borde de partición"
 
-#: parser/parse_agg.c:533
+#: parser/parse_agg.c:546
 msgid "aggregate functions are not allowed in partition key expressions"
 msgstr "no se permiten funciones de agregación en una expresión de llave de particionamiento"
 
-#: parser/parse_agg.c:535
+#: parser/parse_agg.c:548
 msgid "grouping operations are not allowed in partition key expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de llave de particionamiento"
 
-#: parser/parse_agg.c:541
+#: parser/parse_agg.c:554
 msgid "aggregate functions are not allowed in column generation expressions"
 msgstr "no se permiten funciones de agregación en expresiones de generación de columna"
 
-#: parser/parse_agg.c:543
+#: parser/parse_agg.c:556
 msgid "grouping operations are not allowed in column generation expressions"
 msgstr "no se permiten operaciones «grouping» en expresiones de generación de columna"
 
-#: parser/parse_agg.c:549
+#: parser/parse_agg.c:562
 msgid "aggregate functions are not allowed in CALL arguments"
 msgstr "no se permiten funciones de agregación en argumentos de CALL"
 
-#: parser/parse_agg.c:551
+#: parser/parse_agg.c:564
 msgid "grouping operations are not allowed in CALL arguments"
 msgstr "no se permiten operaciones «grouping» en argumentos de CALL"
 
-#: parser/parse_agg.c:557
+#: parser/parse_agg.c:570
 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions"
 msgstr "no se permiten funciones de agregación en las condiciones WHERE de COPY FROM"
 
-#: parser/parse_agg.c:559
+#: parser/parse_agg.c:572
 msgid "grouping operations are not allowed in COPY FROM WHERE conditions"
 msgstr "no se permiten las operaciones «grouping» en condiciones WHERE de COPY FROM"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:586 parser/parse_clause.c:1955
+#: parser/parse_agg.c:599 parser/parse_clause.c:1962
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "no se permiten funciones de agregación en %s"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:589
+#: parser/parse_agg.c:602
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "no se permiten operaciones «grouping» en %s"
 
-#: parser/parse_agg.c:690
+#: parser/parse_agg.c:703
 #, 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:768
+#: parser/parse_agg.c:781
 #, c-format
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones que retornan conjuntos"
 
-#: parser/parse_agg.c:769 parser/parse_expr.c:1700 parser/parse_expr.c:2182
-#: parser/parse_func.c:884
+#: parser/parse_agg.c:782 parser/parse_expr.c:1761 parser/parse_expr.c:2244
+#: parser/parse_func.c:885
 #, c-format
 msgid "You might be able to move the set-returning function into a LATERAL FROM item."
 msgstr "Puede intentar mover la función que retorna conjuntos a un elemento LATERAL FROM."
 
-#: parser/parse_agg.c:774
+#: parser/parse_agg.c:787
 #, 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:853
+#: parser/parse_agg.c:866
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
 
-#: parser/parse_agg.c:860
+#: parser/parse_agg.c:873
 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:866
+#: parser/parse_agg.c:879
 msgid "window functions are not allowed in policy expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas"
 
-#: parser/parse_agg.c:879
+#: parser/parse_agg.c:892
 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:890
-#, fuzzy
-#| msgid "window functions are not allowed in trigger WHEN conditions"
+#: parser/parse_agg.c:903
 msgid "window functions are not allowed in MERGE WHEN conditions"
-msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
+msgstr "no se permiten funciones de ventana deslizante en condiciones MERGE WHEN"
 
-#: parser/parse_agg.c:914
+#: parser/parse_agg.c:928
 msgid "window functions are not allowed in check constraints"
 msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
 
-#: parser/parse_agg.c:918
+#: parser/parse_agg.c:932
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
 
-#: parser/parse_agg.c:921
+#: parser/parse_agg.c:935
 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:924
+#: parser/parse_agg.c:938
 msgid "window functions are not allowed in statistics expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de estadísticas"
 
-#: parser/parse_agg.c:927
+#: parser/parse_agg.c:941
 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:930
+#: parser/parse_agg.c:944
 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:933
+#: parser/parse_agg.c:947
 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:936
+#: parser/parse_agg.c:950
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
 
-#: parser/parse_agg.c:939
+#: parser/parse_agg.c:953
 msgid "window functions are not allowed in partition bound"
 msgstr "no se permiten funciones de ventana deslizante en borde de partición"
 
-#: parser/parse_agg.c:942
+#: parser/parse_agg.c:956
 msgid "window functions are not allowed in partition key expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de llave de particionamiento"
 
-#: parser/parse_agg.c:945
+#: parser/parse_agg.c:959
 msgid "window functions are not allowed in CALL arguments"
 msgstr "no se permiten funciones de ventana deslizante en argumentos de CALL"
 
-#: parser/parse_agg.c:948
+#: parser/parse_agg.c:962
 msgid "window functions are not allowed in COPY FROM WHERE conditions"
 msgstr "no se permiten funciones de ventana deslizante en las condiciones WHERE de COPY FROM"
 
-#: parser/parse_agg.c:951
+#: parser/parse_agg.c:965
 msgid "window functions are not allowed in column generation expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de generación de columna"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:974 parser/parse_clause.c:1964
+#: parser/parse_agg.c:988 parser/parse_clause.c:1971
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "no se permiten funciones de ventana deslizante en %s"
 
-#: parser/parse_agg.c:1008 parser/parse_clause.c:2797
+#: parser/parse_agg.c:1022 parser/parse_clause.c:2804
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "la ventana «%s» no existe"
 
-#: parser/parse_agg.c:1096
+#: parser/parse_agg.c:1110
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)"
 
-#: parser/parse_agg.c:1236
+#: parser/parse_agg.c:1250
 #, 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:1429
+#: parser/parse_agg.c:1443
 #, 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:1432
+#: parser/parse_agg.c:1446
 #, 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:1437
+#: parser/parse_agg.c:1451
 #, 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_agg.c:1601
+#: parser/parse_agg.c:1615
 #, c-format
 msgid "arguments to GROUPING must be grouping expressions of the associated query level"
 msgstr "los argumentos de GROUPING deben ser expresiones agrupantes del nivel de consulta asociado"
 
-#: parser/parse_clause.c:195
+#: parser/parse_clause.c:193
 #, c-format
 msgid "relation \"%s\" cannot be the target of a modifying statement"
 msgstr "relación «%s» no puede ser destino de una sentencia modificadora"
 
-#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552
+#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553
 #, c-format
 msgid "set-returning functions must appear at top level of FROM"
 msgstr "las funciones que retornan conjuntos deben aparecer en el nivel más externo del FROM"
 
-#: parser/parse_clause.c:611
+#: parser/parse_clause.c:609
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr "no se permiten múltiples definiciones de columnas para la misma función"
 
-#: parser/parse_clause.c:644
+#: parser/parse_clause.c:642
 #, 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:645
+#: parser/parse_clause.c:643
 #, 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:651
+#: parser/parse_clause.c:649
 #, 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:652
+#: parser/parse_clause.c:650
 #, 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:659
+#: parser/parse_clause.c:657
 #, 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:660
+#: parser/parse_clause.c:658
 #, 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:760
+#: parser/parse_clause.c:762
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "sólo se permite una columna FOR ORDINALITY"
 
-#: parser/parse_clause.c:821
+#: parser/parse_clause.c:823
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "el nombre de columna «%s» no es único"
 
-#: parser/parse_clause.c:863
+#: parser/parse_clause.c:865
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "el espacio de nombres «%s» no es único"
 
-#: parser/parse_clause.c:873
+#: parser/parse_clause.c:875
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "sólo se permite un espacio de nombres predeterminado"
 
-#: parser/parse_clause.c:933
+#: parser/parse_clause.c:935
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "no existe el método de tablesample «%s»"
 
-#: parser/parse_clause.c:955
+#: parser/parse_clause.c:957
 #, c-format
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
 msgstr[0] "el método de tablesample «%s» requiere %d argumento, no %d"
 msgstr[1] "el método de tablesample «%s» requiere %d argumentos, no %d"
 
-#: parser/parse_clause.c:989
+#: parser/parse_clause.c:991
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "el método de tablesample «%s» no soporta la opción REPEATABLE"
 
-#: parser/parse_clause.c:1138
+#: parser/parse_clause.c:1144
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr "la cláusula TABLESAMPLE sólo puede aplicarse a tablas y vistas materializadas"
 
-#: parser/parse_clause.c:1325
+#: parser/parse_clause.c:1331
 #, 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:1340
+#: parser/parse_clause.c:1346
 #, 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:1349
+#: parser/parse_clause.c:1355
 #, 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:1364
+#: parser/parse_clause.c:1370
 #, 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:1373
+#: parser/parse_clause.c:1379
 #, 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:1900
+#: parser/parse_clause.c:1907
 #, c-format
 msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
 msgstr "la cantidad de registros no puede ser NULL en la cláusula FETCH FIRST ... WITH TIES"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1925
+#: parser/parse_clause.c:1932
 #, 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:2090
+#: parser/parse_clause.c:2097
 #, 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:2118
+#: parser/parse_clause.c:2125
 #, 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:2140
+#: parser/parse_clause.c:2147
 #, 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:2579
+#: parser/parse_clause.c:2586
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE está limitado a 12 elementos"
 
-#: parser/parse_clause.c:2785
+#: parser/parse_clause.c:2792
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "la ventana «%s» ya está definida"
 
-#: parser/parse_clause.c:2846
+#: parser/parse_clause.c:2853
 #, 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:2858
+#: parser/parse_clause.c:2865
 #, 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:2888 parser/parse_clause.c:2894
+#: parser/parse_clause.c:2895 parser/parse_clause.c:2901
 #, 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:2896
+#: parser/parse_clause.c:2903
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Omita el uso de paréntesis en esta cláusula OVER."
 
-#: parser/parse_clause.c:2916
+#: parser/parse_clause.c:2923
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"
 msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING requiere exactamente una columna ORDER BY"
 
-#: parser/parse_clause.c:2939
+#: parser/parse_clause.c:2946
 #, c-format
 msgid "GROUPS mode requires an ORDER BY clause"
 msgstr "el modo GROUPS requiere una cláusula ORDER BY"
 
-#: parser/parse_clause.c:3010
+#: parser/parse_clause.c:3016
 #, 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:3011
+#: parser/parse_clause.c:3017
 #, 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:3043
+#: parser/parse_clause.c:3049
 #, 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:3044
+#: parser/parse_clause.c:3050
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT debe tener al menos una columna"
 
-#: parser/parse_clause.c:3110 parser/parse_clause.c:3142
+#: parser/parse_clause.c:3116 parser/parse_clause.c:3148
 #, 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:3220
+#: parser/parse_clause.c:3226
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC no están permitidos en cláusulas ON CONFLICT"
 
-#: parser/parse_clause.c:3226
+#: parser/parse_clause.c:3232
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST no están permitidos en cláusulas ON CONFLICT"
 
-#: parser/parse_clause.c:3305
+#: parser/parse_clause.c:3311
 #, c-format
 msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr "ON CONFLICT DO UPDATE requiere una especificación de inferencia o nombre de restricción"
 
-#: parser/parse_clause.c:3306
+#: parser/parse_clause.c:3312
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Por ejemplo, ON CONFLICT (nombre_de_columna)."
 
-#: parser/parse_clause.c:3317
+#: parser/parse_clause.c:3323
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT no está soportado con tablas que son catálogos de sistema"
 
-#: parser/parse_clause.c:3325
+#: parser/parse_clause.c:3331
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr "ON CONFLICT no está soportado en la tabla «%s» usada como catálogo de sistema"
 
-#: parser/parse_clause.c:3456
+#: parser/parse_clause.c:3462
 #, 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:3458
+#: parser/parse_clause.c:3464
 #, 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_clause.c:3769
+#: parser/parse_clause.c:3775
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s"
 msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING no está soportado para la columna de tipo %s"
 
-#: parser/parse_clause.c:3775
+#: parser/parse_clause.c:3781
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s"
 msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING no está soportado para la columna de tipo %s y tipo de desplazamiento %s"
 
-#: parser/parse_clause.c:3778
+#: parser/parse_clause.c:3784
 #, c-format
 msgid "Cast the offset value to an appropriate type."
 msgstr "Convierta el valor de desplazamiento a un tipo apropiado."
 
-#: parser/parse_clause.c:3783
+#: parser/parse_clause.c:3789
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s"
 msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING tiene múltiples interpretaciones para la columna de tipo %s y tipo de desplazamiento %s"
 
-#: parser/parse_clause.c:3786
+#: parser/parse_clause.c:3792
 #, c-format
 msgid "Cast the offset value to the exact intended type."
 msgstr "Convierta el valor de desplazamiento al tipo deseado exacto."
 
 #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
-#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3516
-#: parser/parse_target.c:985
+#: parser/parse_expr.c:2145 parser/parse_expr.c:2753 parser/parse_expr.c:3402
+#: parser/parse_expr.c:3631 parser/parse_target.c:998
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "no se puede convertir el tipo %s a %s"
@@ -17048,19 +17376,19 @@ msgid "arguments declared \"%s\" are not all alike"
 msgstr "los argumentos declarados «%s» no son de tipos compatibles"
 
 #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362
-#: utils/fmgr/funcapi.c:592
+#: utils/fmgr/funcapi.c:600
 #, c-format
 msgid "argument declared %s is not an array but type %s"
 msgstr "el argumento declarado %s no es un array sino de tipo %s"
 
 #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432
-#: utils/fmgr/funcapi.c:606
+#: utils/fmgr/funcapi.c:614
 #, c-format
 msgid "argument declared %s is not a range type but type %s"
 msgstr "el argumento declarado %s no es un tipo de rango sino tipo %s"
 
 #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396
-#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:624 utils/fmgr/funcapi.c:689
+#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697
 #, c-format
 msgid "argument declared %s is not a multirange type but type %s"
 msgstr "el argumento declarado %s no es un tipo de multirango sino tipo %s"
@@ -17184,442 +17512,567 @@ msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de
 msgid "recursive reference to query \"%s\" must not appear within EXCEPT"
 msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de EXCEPT"
 
-#: parser/parse_cte.c:133
-#, fuzzy, c-format
-#| msgid "\"EEEE\" not supported for input"
-msgid "MERGE not supported in WITH query"
-msgstr "«EEEE» no está soportado en la entrada"
-
-#: parser/parse_cte.c:143
+#: parser/parse_cte.c:136
 #, c-format
 msgid "WITH query name \"%s\" specified more than once"
 msgstr "el nombre de consulta WITH «%s» fue especificado más de una vez"
 
-#: parser/parse_cte.c:314
+#: parser/parse_cte.c:308
 #, c-format
 msgid "could not identify an inequality operator for type %s"
 msgstr "no se pudo identificar un operador de desigualdad para el tipo %s"
 
-#: parser/parse_cte.c:341
+#: parser/parse_cte.c:335
 #, c-format
 msgid "WITH clause containing a data-modifying statement must be at the top level"
 msgstr "la cláusula WITH que contiene las sentencias que modifican datos debe estar en el nivel más externo"
 
-#: parser/parse_cte.c:390
+#: parser/parse_cte.c:384
 #, c-format
 msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall"
 msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene tipo %3$s en el término no recursivo, pero %4$s en general"
 
-#: parser/parse_cte.c:396
+#: parser/parse_cte.c:390
 #, c-format
 msgid "Cast the output of the non-recursive term to the correct type."
 msgstr "Aplique una conversión de tipo a la salida del término no recursivo al tipo correcto."
 
-#: parser/parse_cte.c:401
+#: parser/parse_cte.c:395
 #, c-format
 msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall"
 msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene ordenamiento (collation) %3$s en el término no recursivo, pero %4$s en general"
 
-#: parser/parse_cte.c:405
+#: parser/parse_cte.c:399
 #, c-format
 msgid "Use the COLLATE clause to set the collation of the non-recursive term."
 msgstr "Use la clásula COLLATE para definir el ordenamiento del término no-recursivo."
 
-#: parser/parse_cte.c:426
+#: parser/parse_cte.c:420
 #, c-format
 msgid "WITH query is not recursive"
 msgstr "la consulta WITH no es recursiva"
 
-#: parser/parse_cte.c:457
+#: parser/parse_cte.c:451
 #, c-format
 msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT"
 msgstr "con una cláusula SEARCH o CYCLE, el lado izquierdo de UNION debe ser un SELECT"
 
-#: parser/parse_cte.c:462
+#: parser/parse_cte.c:456
 #, c-format
 msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT"
 msgstr "con una cláusula SEARCH o CYCLE, el lado derecho de UNION debe ser un SELECT"
 
-#: parser/parse_cte.c:477
+#: parser/parse_cte.c:471
 #, c-format
 msgid "search column \"%s\" not in WITH query column list"
 msgstr "columna de búsqueda «%s» no se encuentra en la lista de columnas de la consulta WITH"
 
-#: parser/parse_cte.c:484
+#: parser/parse_cte.c:478
 #, c-format
 msgid "search column \"%s\" specified more than once"
 msgstr "columna de búsqueda «%s» fue especificada más de una vez"
 
-#: parser/parse_cte.c:493
+#: parser/parse_cte.c:487
 #, c-format
 msgid "search sequence column name \"%s\" already used in WITH query column list"
 msgstr "el nombre para la columna de secuencia de búsqueda «%s» ya ha sido utilizado en la lista de columnas de la consulta WITH"
 
-#: parser/parse_cte.c:510
+#: parser/parse_cte.c:504
 #, c-format
 msgid "cycle column \"%s\" not in WITH query column list"
 msgstr "la columna de ciclo «%s» no se encuentra en la lista de columnas de la consulta WITH"
 
-#: parser/parse_cte.c:517
+#: parser/parse_cte.c:511
 #, c-format
 msgid "cycle column \"%s\" specified more than once"
 msgstr "columna de ciclo «%s» fue especificada más de una vez"
 
-#: parser/parse_cte.c:526
+#: parser/parse_cte.c:520
 #, c-format
 msgid "cycle mark column name \"%s\" already used in WITH query column list"
 msgstr "el nombre para la columna de marca de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH"
 
-#: parser/parse_cte.c:533
+#: parser/parse_cte.c:527
 #, c-format
 msgid "cycle path column name \"%s\" already used in WITH query column list"
 msgstr "el nombre para la columna de ruta de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH"
 
-#: parser/parse_cte.c:541
+#: parser/parse_cte.c:535
 #, c-format
 msgid "cycle mark column name and cycle path column name are the same"
 msgstr "el nombre para la columna de marca de ciclo es igual que el nombre para la columna de ruta de ciclo"
 
-#: parser/parse_cte.c:551
+#: parser/parse_cte.c:545
 #, c-format
 msgid "search sequence column name and cycle mark column name are the same"
 msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de marca de ciclo"
 
-#: parser/parse_cte.c:558
+#: parser/parse_cte.c:552
 #, c-format
 msgid "search sequence column name and cycle path column name are the same"
 msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de ruta de ciclo"
 
-#: parser/parse_cte.c:642
+#: parser/parse_cte.c:636
 #, c-format
 msgid "WITH query \"%s\" has %d columns available but %d columns specified"
 msgstr "la consulta WITH «%s» tiene %d columnas disponibles pero se especificaron %d"
 
-#: parser/parse_cte.c:822
+#: parser/parse_cte.c:816
 #, c-format
 msgid "mutual recursion between WITH items is not implemented"
 msgstr "la recursión mutua entre elementos de WITH no está implementada"
 
-#: parser/parse_cte.c:874
+#: parser/parse_cte.c:868
 #, c-format
 msgid "recursive query \"%s\" must not contain data-modifying statements"
 msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos"
 
-#: parser/parse_cte.c:882
+#: parser/parse_cte.c:876
 #, c-format
 msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term"
 msgstr "la consulta recursiva «%s» no tiene la forma término-no-recursivo UNION [ALL] término-recursivo"
 
-#: parser/parse_cte.c:926
+#: parser/parse_cte.c:911
 #, c-format
 msgid "ORDER BY in a recursive query is not implemented"
 msgstr "ORDER BY no está implementado en una consulta recursiva"
 
-#: parser/parse_cte.c:932
+#: parser/parse_cte.c:917
 #, c-format
 msgid "OFFSET in a recursive query is not implemented"
 msgstr "OFFSET no está implementado en una consulta recursiva"
 
-#: parser/parse_cte.c:938
+#: parser/parse_cte.c:923
 #, c-format
 msgid "LIMIT in a recursive query is not implemented"
 msgstr "LIMIT no está implementado en una consulta recursiva"
 
-#: parser/parse_cte.c:944
+#: parser/parse_cte.c:929
 #, c-format
 msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
 msgstr "FOR UPDATE/SHARE no está implementado&nb